[openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
14 messages Options
Reply | Threaded
Open this post in threaded view
|

[openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Rich Salz via RT

Hello!

I've found a SEGFAULT using FreeBSD 4.8-RELEASE #0: Thu Apr  3 10:53:38
GMT 2003 in bntest.

Build is configured with
./Configure -ggdb BSD-x86-elf shared zlib

make report:
=========================
OpenSSL self-test report:

OpenSSL version:  0.9.8-beta7-dev
Last change:      Correct naming of the 'chil' and '4758cca' ENGINEs.
Thi...
Options:          -ggdb enable-shared enable-zlib no-gmp no-krb5 no-mdc2
no-rc5 no-zlib-dynamic
OS (uname):       FreeBSD ibex.lan.cryptocom.ru 4.8-RELEASE FreeBSD
4.8-RELEASE #0: Thu Apr  3 10:53:38 GMT 2003
[hidden email]:/usr/obj/usr/src/sys/GENERIC  i386
OS (config):      i386-pc-freebsd4.8
Target (default): BSD-x86-elf
Target:           BSD-x86-elf
Compiler:         Using builtin specs.
gcc version 2.95.4 20020320 [FreeBSD]

Failure!
[...]
==========================
Test output is:

Starting big number library test, could take a while...
test BN_add
test BN_sub
test BN_lshift1
test BN_lshift (fixed)
test BN_lshift
test BN_rshift1
test BN_rshift
test BN_sqr
Segmentation fault (core dumped)
*** Error code 139
==========================
Backtrace is:

(gdb) bt
#0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
#1  0x0806038c in ?? ()
#2  0x28133009 in bn_sqr_normal (r=0x282966c4, a=0x24, n=37, tmp=0x28132c51)
    at bn_sqr.c:182
#3  0x28132c51 in BN_sqr (r=0x805578c, a=0x28066000, ctx=0x28132abc)
    at bn_sqr.c:132
#4  0x0804b58f in test_sqr (bp=0x80610c0, ctx=0x8061080) at bntest.c:691
#5  0x08049d14 in main (argc=671421537, argv=0xbfbffb24) at bntest.c:215

Thank you!

--
SY, Dmitry Belyavsky (ICQ UIN 11116575)

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Dmitry Belyavsky
Hello!

Sorry, I've forgotten to mention I use 20050627 snapshot and
./config -g shared zlib works fine.

On Mon, 4 Jul 2005, Dmitry Belyavsky via RT wrote:

> I've found a SEGFAULT using FreeBSD 4.8-RELEASE #0: Thu Apr  3 10:53:38
> GMT 2003 in bntest.
>
> Build is configured with
> ./Configure -ggdb BSD-x86-elf shared zlib
>
> make report:
> =========================
> OpenSSL self-test report:
>
> OpenSSL version:  0.9.8-beta7-dev
> Last change:      Correct naming of the 'chil' and '4758cca' ENGINEs.
> Thi...
> Options:          -ggdb enable-shared enable-zlib no-gmp no-krb5 no-mdc2
> no-rc5 no-zlib-dynamic
> OS (uname):       FreeBSD ibex.lan.cryptocom.ru 4.8-RELEASE FreeBSD
> 4.8-RELEASE #0: Thu Apr  3 10:53:38 GMT 2003
> [hidden email]:/usr/obj/usr/src/sys/GENERIC  i386
> OS (config):      i386-pc-freebsd4.8
> Target (default): BSD-x86-elf
> Target:           BSD-x86-elf
> Compiler:         Using builtin specs.
> gcc version 2.95.4 20020320 [FreeBSD]
>
> Failure!
> [...]
> ==========================
> Test output is:
>
> Starting big number library test, could take a while...
> test BN_add
> test BN_sub
> test BN_lshift1
> test BN_lshift (fixed)
> test BN_lshift
> test BN_rshift1
> test BN_rshift
> test BN_sqr
> Segmentation fault (core dumped)
> *** Error code 139
> ==========================
> Backtrace is:
>
> (gdb) bt
> #0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
> #1  0x0806038c in ?? ()
> #2  0x28133009 in bn_sqr_normal (r=0x282966c4, a=0x24, n=37, tmp=0x28132c51)
>     at bn_sqr.c:182
> #3  0x28132c51 in BN_sqr (r=0x805578c, a=0x28066000, ctx=0x28132abc)
>     at bn_sqr.c:132
> #4  0x0804b58f in test_sqr (bp=0x80610c0, ctx=0x8061080) at bntest.c:691
> #5  0x08049d14 in main (argc=671421537, argv=0xbfbffb24) at bntest.c:215

Thank you!

--
SY, Dmitry Belyavsky (ICQ UIN 11116575)

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Rich Salz via RT
In reply to this post by Rich Salz via RT

> Sorry, I've forgotten to mention I use 20050627 snapshot and
> ./config -g shared zlib works fine.

Run ./config -t. Does it suggest any extra flags to ./Configure, such as
386? If it does, then I'd recommend to pass it down to ./Configure when
latter is invoked manually.

>>I've found a SEGFAULT using FreeBSD 4.8-RELEASE #0: Thu Apr  3 10:53:38
>>GMT 2003 in bntest.
>>
>>Build is configured with
>>./Configure -ggdb BSD-x86-elf shared zlib

If above doesn't help, then what you're effectively saying is that -g
works, while -ggdb doesn't. How does it make an OpenSSL problem:-)

>>test BN_sqr
>>Segmentation fault (core dumped)
>>*** Error code 139
>>==========================
>>Backtrace is:
>>
>>(gdb) bt
>>#0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8

Disassemble at this point. If offending instruction is an SSE2
instruction, such as paddq, then no-sse2 [as alternative to 386, see
even ./INSTALL] is the answer. And if so, then "segmentation fault" is
misleading, it should be "illegal instruction." And how come sha512t
didn't fail? It's executed earlier in 'make test', which is why it [and
not BN_sqr] is listed in FAQ... Send disassemble along with info
registers output... A.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Rich Salz via RT
In reply to this post by Rich Salz via RT

Hello!

On Mon, 4 Jul 2005, Andy Polyakov via RT wrote:

>
> > Sorry, I've forgotten to mention I use 20050627 snapshot and
> > ./config -g shared zlib works fine.
>
> Run ./config -t. Does it suggest any extra flags to ./Configure, such as
> 386? If it does, then I'd recommend to pass it down to ./Configure when
> latter is invoked manually.

Thank you, it helps.


--
SY, Dmitry Belyavsky (ICQ UIN 11116575)

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Dmitry Belyavsky
In reply to this post by Rich Salz via RT
Hello!

On Mon, 4 Jul 2005, Andy Polyakov via RT wrote:

>
> > Sorry, I've forgotten to mention I use 20050627 snapshot and
> > ./config -g shared zlib works fine.
>
> Run ./config -t. Does it suggest any extra flags to ./Configure, such as
> 386? If it does, then I'd recommend to pass it down to ./Configure when
> latter is invoked manually.

Thank you, it helps.


--
SY, Dmitry Belyavsky (ICQ UIN 11116575)

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Rich Salz via RT
In reply to this post by Rich Salz via RT

>>>Sorry, I've forgotten to mention I use 20050627 snapshot and
>>>./config -g shared zlib works fine.
>>
>>Run ./config -t. Does it suggest any extra flags to ./Configure, such as
>>386? If it does, then I'd recommend to pass it down to ./Configure when
>>latter is invoked manually.
>
> Thank you, it helps.

Yet I find it a bit too puzzling... After I've replied I came to realize
that no-sse2/386 shouldn't actually affect the referred test
procedure... Indeed, even though there're SSE2 instructions present in
bn_mul_add_words, they operate on mmx registers and therefore don't
actually require kernel support. Kernel support required for SSE2
instructions operating on 128-bit xmm registers, but not on 64-bit mmx
ones, and therefore if CPUID said SSE2 is available, then
bn_mul_add_words should have worked... So if you can have time I'd still
appreciate if you could collect and send over disassemble output in the
vicinity of segmentation fault, as well as info registers... Once again,
this is optional. A.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

RE: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Ted Mittelstaedt
In reply to this post by Rich Salz via RT
Hi All,

  I just checked this against my own FreeBSD 4.8 system and got the exact
same segfault.  This was with SNAP-20050704  I'll try FreeBSD 4.11 next.

Ted

>-----Original Message-----
>From: [hidden email]
>[mailto:[hidden email]]On Behalf Of Dmitry Belyavsky via
>RT
>Sent: Monday, July 04, 2005 1:30 AM
>Cc: [hidden email]
>Subject: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0
>
>
>
>Hello!
>
>I've found a SEGFAULT using FreeBSD 4.8-RELEASE #0: Thu Apr  3 10:53:38
>GMT 2003 in bntest.
>
>Build is configured with
>./Configure -ggdb BSD-x86-elf shared zlib
>
>make report:
>=========================
>OpenSSL self-test report:
>
>OpenSSL version:  0.9.8-beta7-dev
>Last change:      Correct naming of the 'chil' and '4758cca' ENGINEs.
>Thi...
>Options:          -ggdb enable-shared enable-zlib no-gmp no-krb5 no-mdc2
>no-rc5 no-zlib-dynamic
>OS (uname):       FreeBSD ibex.lan.cryptocom.ru 4.8-RELEASE FreeBSD
>4.8-RELEASE #0: Thu Apr  3 10:53:38 GMT 2003
>[hidden email]:/usr/obj/usr/src/sys/GENERIC  i386
>OS (config):      i386-pc-freebsd4.8
>Target (default): BSD-x86-elf
>Target:           BSD-x86-elf
>Compiler:         Using builtin specs.
>gcc version 2.95.4 20020320 [FreeBSD]
>
>Failure!
>[...]
>==========================
>Test output is:
>
>Starting big number library test, could take a while...
>test BN_add
>test BN_sub
>test BN_lshift1
>test BN_lshift (fixed)
>test BN_lshift
>test BN_rshift1
>test BN_rshift
>test BN_sqr
>Segmentation fault (core dumped)
>*** Error code 139
>==========================
>Backtrace is:
>
>(gdb) bt
>#0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
>#1  0x0806038c in ?? ()
>#2  0x28133009 in bn_sqr_normal (r=0x282966c4, a=0x24, n=37,
>tmp=0x28132c51)
>    at bn_sqr.c:182
>#3  0x28132c51 in BN_sqr (r=0x805578c, a=0x28066000, ctx=0x28132abc)
>    at bn_sqr.c:132
>#4  0x0804b58f in test_sqr (bp=0x80610c0, ctx=0x8061080) at bntest.c:691
>#5  0x08049d14 in main (argc=671421537, argv=0xbfbffb24) at bntest.c:215
>
>Thank you!
>
>--
>SY, Dmitry Belyavsky (ICQ UIN 11116575)
>
>______________________________________________________________________
>OpenSSL Project                                 http://www.openssl.org
>Development Mailing List                       [hidden email]
>Automated List Manager                           [hidden email]
>

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

RE: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Ted Mittelstaedt
In reply to this post by Rich Salz via RT
Hi Andy,

  I get the same problem on FreeBSD 4.11 with the release version of
OpenSSL 0.9.8

  Build line is:
# ./Configure -ggdb BSD-x86-elf shared zlib
Configuring for BSD-x86-elf
    no-gmp          [default]  OPENSSL_NO_GMP (skip dir)
    no-krb5         [krb5-flavor not specified] OPENSSL_NO_KRB5
    no-mdc2         [default]  OPENSSL_NO_MDC2 (skip dir)
    no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
    no-zlib-dynamic [default]
IsMK1MF=0
CC            =gcc
CFLAG








=-fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THREADS -pthread -D_THREAD_SAFE -D_
REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -ggdb -DL_ENDIAN -DTERMIOS -O3 -fomi
t-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2 -DS
HA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM
EX_LIBS       = -lz
CPUID_OBJ     =x86cpuid-elf.o
BN_ASM        =bn86-elf.o co86-elf.o
DES_ENC       =dx86-elf.o yx86-elf.o
AES_ASM_OBJ   =ax86-elf.o
BF_ENC        =bx86-elf.o
CAST_ENC      =c_enc.o
RC4_ENC       =rx86-elf.o
RC5_ENC       =r586-elf.o
MD5_OBJ_ASM   =mx86-elf.o
SHA1_OBJ_ASM  =sx86-elf.o s512sse2-elf.o
RMD160_OBJ_ASM=rm86-elf.o
PROCESSOR     =
RANLIB        =/usr/bin/ranlib
ARFLAGS       =
PERL          =/usr/bin/perl5
THIRTY_TWO_BIT mode
DES_PTR used
DES_RISC1 used
DES_UNROLL used
BN_LLONG mode
RC4_INDEX mode
RC4_CHUNK is undefined
e_os2.h => include/openssl/e_os2.h
making links in crypto...
crypto.h => ../include/openssl/crypto.h


make
make test

.
.
.
starting big number library test, could take a while...
test BN_add
test BN_sub
test BN_lshift1
test BN_lshift (fixed)
test BN_lshift
test BN_rshift1
test BN_rshift
test BN_sqr
Bus error (core dumped)
*** Error code 138

Stop in /root/openssl-0.9.8/test.
*** Error code 1


Now, this may not matter but there are some compiler errors, here:

making all in crypto/pqueue...
gcc -I.. -I../.. -I../../include -fPIC -DOPENSSL_PIC -DZLIB -DOPENSSL_THR
EADS -pthread -D_THREAD_SAFE -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -ggd
b -DL_ENDIAN -DTERMIOS -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PA
RT_WORDS -DOPENSSL_IA32_SSE2 -DSHA1_ASM -DMD5_ASM -DRMD160_ASM -DAES_ASM
-c pqueue.c
ar  r ../../libcrypto.a pqueue.o
/usr/bin/ranlib ../../libcrypto.a || echo Never mind.
if [ -n "libcrypto.so.0.9.8 libssl.so.0.9.8" ]; then  (cd ..; make
libcrypto.so.0.9.8);  fi
libcrypto.a(cryptlib.o): In function `OPENSSL_showfatal':
/root/openssl-0.9.8/crypto/cryptlib.c:754: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/cryptlib.c:754: undefined reference to
`vfprintf'
libcrypto.a(cryptlib.o): In function `CRYPTO_thread_id':
/root/openssl-0.9.8/crypto/cryptlib.c:440: undefined reference to
`getpid'
libcrypto.a(cryptlib.o): In function `OpenSSLDie':
/root/openssl-0.9.8/crypto/cryptlib.c:765: undefined reference to `abort'
libcrypto.a(cryptlib.o): In function `OPENSSL_cpuid_setup':
/root/openssl-0.9.8/crypto/cryptlib.c:559: undefined reference to
`getenv'
/root/openssl-0.9.8/crypto/cryptlib.c:560: undefined reference to
`strtoul'
libcrypto.a(cryptlib.o): In function `OPENSSL_stderr':
/root/openssl-0.9.8/crypto/cryptlib.c:768: undefined reference to
`__stderrp'
libcrypto.a(mem.o): In function `CRYPTO_realloc_clean':
/root/openssl-0.9.8/crypto/mem.c:356: undefined reference to `memcpy'
libcrypto.a(mem.o): In function `CRYPTO_realloc':
/root/openssl-0.9.8/crypto/mem.c:321: undefined reference to `malloc'
/root/openssl-0.9.8/crypto/mem.c:321: undefined reference to `realloc'
/root/openssl-0.9.8/crypto/mem.c:321: undefined reference to `free'
/root/openssl-0.9.8/crypto/mem.c:324: undefined reference to `malloc'
/root/openssl-0.9.8/crypto/mem.c:296: undefined reference to `free'
libcrypto.a(mem_clr.o): In function `OPENSSL_cleanse':
/root/openssl-0.9.8/crypto/mem_clr.c:73: undefined reference to `memchr'
libcrypto.a(mem_dbg.o): In function `CRYPTO_dbg_malloc':
/root/openssl-0.9.8/crypto/mem_dbg.c:473: undefined reference to `time'
libcrypto.a(mem_dbg.o): In function `print_leak':
/root/openssl-0.9.8/crypto/mem_dbg.c:615: undefined reference to
`localtime'
/root/openssl-0.9.8/crypto/mem_dbg.c:653: undefined reference to `memset'
/root/openssl-0.9.8/crypto/mem_dbg.c:661: undefined reference to `memcpy'
libcrypto.a(tmdiff.o): In function `ms_time_get':
/root/openssl-0.9.8/crypto/tmdiff.c:175: undefined reference to `times'
libcrypto.a(tmdiff.o): In function `ms_time_diff':
/root/openssl-0.9.8/crypto/tmdiff.c:196: undefined reference to `sysconf'
libcrypto.a(tmdiff.o): In function `ms_time_cmp':
/root/openssl-0.9.8/crypto/tmdiff.c:235: undefined reference to `sysconf'
libcrypto.a(uid.o): In function `OPENSSL_issetugid':
/root/openssl-0.9.8/crypto/uid.c:65: undefined reference to `issetugid'
libcrypto.a(o_time.o): In function `OPENSSL_gmtime':
/root/openssl-0.9.8/crypto/o_time.c:79: undefined reference to `gmtime_r'
libcrypto.a(o_str.o): In function `OPENSSL_strcasecmp':
/root/openssl-0.9.8/crypto/o_str.c:93: undefined reference to
`strcasecmp'
libcrypto.a(o_str.o): In function `OPENSSL_strncasecmp':
/root/openssl-0.9.8/crypto/o_str.c:85: undefined reference to
`strncasecmp'
libcrypto.a(o_dir.o): In function `OPENSSL_DIR_read':
/root/openssl-0.9.8/crypto/LPdir_unix.c:71: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/LPdir_unix.c:75: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/LPdir_unix.c:78: undefined reference to
`malloc'
/root/openssl-0.9.8/crypto/LPdir_unix.c:81: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/LPdir_unix.c:86: undefined reference to
`opendir'
/root/openssl-0.9.8/crypto/LPdir_unix.c:89: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/LPdir_unix.c:90: undefined reference to `free'
/root/openssl-0.9.8/crypto/LPdir_unix.c:92: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/LPdir_unix.c:97: undefined reference to
`readdir'
/root/openssl-0.9.8/crypto/LPdir_unix.c:103: undefined reference to
`strncpy'
libcrypto.a(o_dir.o): In function `OPENSSL_DIR_end':
/root/openssl-0.9.8/crypto/LPdir_unix.c:112: undefined reference to
`closedir'
/root/openssl-0.9.8/crypto/LPdir_unix.c:114: undefined reference to
`free'
/root/openssl-0.9.8/crypto/LPdir_unix.c:125: undefined reference to
`__error'
libcrypto.a(o_names.o): In function `OBJ_NAME_new_index':
/root/openssl-0.9.8/crypto/objects/o_names.c:90: undefined reference to
`strcmp'
libcrypto.a(o_names.o): In function `OBJ_NAME_do_all_sorted':
/root/openssl-0.9.8/crypto/objects/o_names.c:320: undefined reference to
`qsort'
libcrypto.a(o_names.o): In function `obj_name_cmp':
/root/openssl-0.9.8/crypto/objects/o_names.c:127: undefined reference to
`strcmp'
libcrypto.a(o_names.o): In function `do_all_sorted_cmp':
/root/openssl-0.9.8/crypto/objects/o_names.c:306: undefined reference to
`strcmp'
libcrypto.a(obj_dat.o): In function `add_cmp':
/root/openssl-0.9.8/crypto/objects/obj_dat.c:172: undefined reference to
`strcmp'
libcrypto.a(obj_dat.o): In function `OBJ_create_objects':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(obj_dat.o): In function `OBJ_create_objects':
/root/openssl-0.9.8/crypto/objects/obj_dat.c:628: undefined reference to
`_DefaultRuneLocale'
libcrypto.a(obj_dat.o): In function `OBJ_create_objects':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(obj_dat.o): In function `sn_cmp':
/root/openssl-0.9.8/crypto/objects/obj_dat.c:102: undefined reference to
`strcmp'
libcrypto.a(obj_dat.o): In function `ln_cmp':
/root/openssl-0.9.8/crypto/objects/obj_dat.c:108: undefined reference to
`strcmp'
libcrypto.a(obj_lib.o): In function `OBJ_dup':
/root/openssl-0.9.8/crypto/objects/obj_lib.c:85: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/objects/obj_lib.c:94: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/objects/obj_lib.c:104: undefined reference to
`memcpy'
libcrypto.a(md2_dgst.o): In function `MD2_Update':
/root/openssl-0.9.8/crypto/md2/md2_dgst.c:148: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/md2/md2_dgst.c:139: undefined reference to
`memcpy'
libcrypto.a(md2_dgst.o):/root/openssl-0.9.8/crypto/md2/md2_dgst.c:162:
more undefined references to `memcpy' follow
libcrypto.a(sha512.o): In function `SHA512_Final':
/root/openssl-0.9.8/crypto/sha/sha512.c:102: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/sha/sha512.c:105: undefined reference to
`memset'
libcrypto.a(sha512.o): In function `SHA512_Update':
/root/openssl-0.9.8/crypto/sha/sha512.c:194: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/sha/sha512.c:198: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/sha/sha512.c:221: undefined reference to
`memcpy'
libcrypto.a(hmac.o): In function `HMAC_Init_ex':
/root/openssl-0.9.8/crypto/hmac/hmac.c:93: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/hmac/hmac.c:97: undefined reference to
`memset'
libcrypto.a(cfb64ede.o): In function `DES_ede3_cfb_encrypt':
/root/openssl-0.9.8/crypto/des/cfb64ede.c:193: undefined reference to
`memmove'
/root/openssl-0.9.8/crypto/des/cfb64ede.c:231: undefined reference to
`memmove'
libcrypto.a(enc_read.o): In function `DES_enc_read':
/root/openssl-0.9.8/crypto/des/enc_read.c:127: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/des/enc_read.c:136: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/des/enc_read.c:150: undefined reference to
`read'
/root/openssl-0.9.8/crypto/des/enc_read.c:152: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/des/enc_read.c:172: undefined reference to
`read'
/root/openssl-0.9.8/crypto/des/enc_read.c:174: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/des/enc_read.c:187: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/des/enc_read.c:214: undefined reference to
`memcpy'
libcrypto.a(enc_writ.o): In function `DES_enc_write':
/root/openssl-0.9.8/crypto/des/enc_writ.c:132: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/des/enc_writ.c:156: undefined reference to
`write'
/root/openssl-0.9.8/crypto/des/enc_writ.c:160: undefined reference to
`__error'
libcrypto.a(aes_cfb.o): In function `AES_cfb1_encrypt':
/root/openssl-0.9.8/crypto/aes/aes_cfb.c:204: undefined reference to
`memset'
libcrypto.a(bn_exp.o): In function `BN_mod_exp_mont_consttime':
/root/openssl-0.9.8/crypto/bn/bn_exp.c:632: undefined reference to
`memset'
libcrypto.a(bn_lib.o): In function `BN_clear':
/root/openssl-0.9.8/crypto/bn/bn_lib.c:571: undefined reference to
`memset'
libcrypto.a(bn_ctx.o): In function `BN_STACK_push':
/root/openssl-0.9.8/crypto/bn/bn_ctx.c:341: undefined reference to
`memcpy'
libcrypto.a(bn_mul.o): In function `bn_mul_recursive':
/root/openssl-0.9.8/crypto/bn/bn_mul.c:425: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/bn/bn_mul.c:497: undefined reference to
`memset'
libcrypto.a(bn_mul.o): In function `bn_mul_part_recursive':
/root/openssl-0.9.8/crypto/bn/bn_mul.c:618: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/bn/bn_mul.c:642: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/bn/bn_mul.c:647: undefined reference to
`memset'
libcrypto.a(bn_print.o): In function `BN_hex2bn':
/root/openssl-0.9.8/crypto/bn/bn_print.c:183: undefined reference to
`_DefaultRuneLocale'
libcrypto.a(bn_print.o): In function `BN_dec2bn':
/root/openssl-0.9.8/crypto/bn/bn_print.c:249: undefined reference to
`_DefaultRuneLocale'
libcrypto.a(bn_rand.o): In function `bnrand':
/root/openssl-0.9.8/crypto/bn/bn_rand.c:142: undefined reference to
`time'
libcrypto.a(bn_shift.o): In function `BN_lshift':
/root/openssl-0.9.8/crypto/bn/bn_shift.c:159: undefined reference to
`memset'
libcrypto.a(bn_sqr.o): In function `bn_sqr_recursive':
/root/openssl-0.9.8/crypto/bn/bn_sqr.c:254: undefined reference to
`memset'
libcrypto.a(ec_lib.o): In function `EC_GROUP_copy':
/root/openssl-0.9.8/crypto/ec/ec_lib.c:233: undefined reference to
`memcpy'
libcrypto.a(ec_lib.o): In function `EC_GROUP_set_seed':
/root/openssl-0.9.8/crypto/ec/ec_lib.c:388: undefined reference to
`memcpy'
libcrypto.a(ec_mult.o): In function `ec_wNAF_mul':
/root/openssl-0.9.8/crypto/ec/ec_mult.c:544: undefined reference to
`memcpy'
libcrypto.a(ec_asn1.o): In function `ec_asn1_parameters2group':
/root/openssl-0.9.8/crypto/ec/ec_asn1.c:881: undefined reference to
`memcpy'
libcrypto.a(rsa_lib.o): In function `RSA_memory_lock':
/root/openssl-0.9.8/crypto/rsa/rsa_lib.c:452: undefined reference to
`memcpy'
libcrypto.a(rsa_sign.o): In function `RSA_verify':
/root/openssl-0.9.8/crypto/rsa/rsa_sign.c:205: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/rsa/rsa_sign.c:205: undefined reference to
`fprintf'
libcrypto.a(rsa_pk1.o): In function `RSA_padding_check_PKCS1_type_1':
/root/openssl-0.9.8/crypto/rsa/rsa_pk1.c:138: undefined reference to
`memcpy'
libcrypto.a(rsa_pk1.o): In function `RSA_padding_add_PKCS1_type_1':
/root/openssl-0.9.8/crypto/rsa/rsa_pk1.c:84: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/rsa/rsa_pk1.c:87: undefined reference to
`memcpy'
libcrypto.a(rsa_pk1.o): In function `RSA_padding_add_PKCS1_type_2':
/root/openssl-0.9.8/crypto/rsa/rsa_pk1.c:177: undefined reference to
`memcpy'
libcrypto.a(rsa_pk1.o): In function `RSA_padding_check_PKCS1_type_2':
/root/openssl-0.9.8/crypto/rsa/rsa_pk1.c:220: undefined reference to
`memcpy'
libcrypto.a(rsa_ssl.o): In function `RSA_padding_check_SSLv23':
/root/openssl-0.9.8/crypto/rsa/rsa_ssl.c:150: undefined reference to
`memcpy'
libcrypto.a(rsa_ssl.o): In function `RSA_padding_add_SSLv23':
/root/openssl-0.9.8/crypto/rsa/rsa_ssl.c:97: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/rsa/rsa_ssl.c:101: undefined reference to
`memcpy'
libcrypto.a(rsa_none.o): In function `RSA_padding_add_none':
/root/openssl-0.9.8/crypto/rsa/rsa_none.c:80: undefined reference to
`memcpy'
libcrypto.a(rsa_none.o): In function `RSA_padding_check_none':
/root/openssl-0.9.8/crypto/rsa/rsa_none.c:94: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/rsa/rsa_none.c:95: undefined reference to
`memcpy'
libcrypto.a(rsa_oaep.o): In function `RSA_padding_add_PKCS1_OAEP':
/root/openssl-0.9.8/crypto/rsa/rsa_oaep.c:67: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/rsa/rsa_oaep.c:70: undefined reference to
`memcpy'
libcrypto.a(rsa_oaep.o): In function `RSA_padding_check_PKCS1_OAEP':
/root/openssl-0.9.8/crypto/rsa/rsa_oaep.c:159: undefined reference to
`memcpy'
libcrypto.a(rsa_oaep.o): In function `PKCS1_MGF1':
/root/openssl-0.9.8/crypto/rsa/rsa_oaep.c:201: undefined reference to
`memcpy'
libcrypto.a(rsa_x931.o): In function `RSA_padding_add_X931':
/root/openssl-0.9.8/crypto/rsa/rsa_x931.c:94: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/rsa/rsa_x931.c:99: undefined reference to
`memcpy'
libcrypto.a(rsa_x931.o): In function `RSA_padding_check_X931':
/root/openssl-0.9.8/crypto/rsa/rsa_x931.c:151: undefined reference to
`memcpy'
libcrypto.a(dsa_gen.o): In function `dsa_builtin_paramgen':
/root/openssl-0.9.8/crypto/dsa/dsa_gen.c:126: undefined reference to
`memcpy'
libcrypto.a(ech_ossl.o): In function `ecdh_compute_key':
/root/openssl-0.9.8/crypto/ecdh/ech_ossl.c:182: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/ecdh/ech_ossl.c:203: undefined reference to
`memcpy'
libcrypto.a(dso_dlfcn.o): In function `dlfcn_load':
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:159: undefined reference to
`dlopen'
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:163: undefined reference to
`dlerror'
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:179: undefined reference to
`dlclose'
libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_var':
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:227: undefined reference to
`dlsym'
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:231: undefined reference to
`dlerror'
libcrypto.a(dso_dlfcn.o): In function `dlfcn_bind_func':
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:258: undefined reference to
`dlsym'
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:262: undefined reference to
`dlerror'
libcrypto.a(dso_dlfcn.o): In function `dlfcn_merger':
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:302: undefined reference to
`strcpy'
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:328: undefined reference to
`strcpy'
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:330: undefined reference to
`strcpy'
libcrypto.a(dso_dlfcn.o): In function `dlfcn_name_converter':
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:342: undefined reference to
`strstr'
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:365: undefined reference to
`sprintf'
libcrypto.a(dso_dlfcn.o): In function `dlfcn_unload':
/root/openssl-0.9.8/crypto/dso/dso_dlfcn.c:203: undefined reference to
`dlclose'
libcrypto.a(eng_list.o): In function `engine_list_add':
/root/openssl-0.9.8/crypto/engine/eng_list.c:110: undefined reference to
`strcmp'
libcrypto.a(eng_list.o): In function `ENGINE_by_id':
/root/openssl-0.9.8/crypto/engine/eng_list.c:362: undefined reference to
`strcmp'
/root/openssl-0.9.8/crypto/engine/eng_list.c:400: undefined reference to
`getenv'
libcrypto.a(eng_ctrl.o): In function `int_ctrl_helper':
/root/openssl-0.9.8/crypto/engine/eng_ctrl.c:76: undefined reference to
`strcmp'
libcrypto.a(eng_ctrl.o): In function `ENGINE_ctrl_cmd_string':
/root/openssl-0.9.8/crypto/engine/eng_ctrl.c:377: undefined reference to
`strtol'
libcrypto.a(eng_fat.o): In function `int_def_cb':
/root/openssl-0.9.8/crypto/engine/eng_fat.c:100: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/engine/eng_fat.c:102: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/engine/eng_fat.c:104: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/engine/eng_fat.c:106: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/engine/eng_fat.c:108: undefined reference to
`strncmp'
libcrypto.a(eng_fat.o):/root/openssl-0.9.8/crypto/engine/eng_fat.c:110:
more undefined references to `strncmp' follow
libcrypto.a(eng_openssl.o): In function `openssl_load_privkey':
/root/openssl-0.9.8/crypto/engine/eng_openssl.c:368: undefined reference
to `__stderrp'
/root/openssl-0.9.8/crypto/engine/eng_openssl.c:368: undefined reference
to `fprintf'
libcrypto.a(eng_openssl.o): In function `test_rc4_init_key':
/root/openssl-0.9.8/crypto/engine/eng_openssl.c:227: undefined reference
to `__stderrp'
/root/openssl-0.9.8/crypto/engine/eng_openssl.c:227: undefined reference
to `fprintf'
/root/openssl-0.9.8/crypto/engine/eng_openssl.c:229: undefined reference
to `memcpy'
libcrypto.a(eng_cnf.o): In function `int_engine_configure':
/root/openssl-0.9.8/crypto/engine/eng_cnf.c:69: undefined reference to
`strchr'
/root/openssl-0.9.8/crypto/engine/eng_cnf.c:69: undefined reference to
`strchr'
libcrypto.a(eng_padlock.o): In function `bind_engine':
/root/openssl-0.9.8/crypto/engine/eng_padlock.c:222: undefined reference
to `strcmp'
libcrypto.a(buffer.o): In function `BUF_MEM_grow':
/root/openssl-0.9.8/crypto/buffer/buffer.c:104: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/buffer/buffer.c:122: undefined reference to
`memset'
libcrypto.a(buffer.o): In function `BUF_MEM_grow_clean':
/root/openssl-0.9.8/crypto/buffer/buffer.c:135: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/buffer/buffer.c:141: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/buffer/buffer.c:159: undefined reference to
`memset'
libcrypto.a(buffer.o):/root/openssl-0.9.8/crypto/buffer/buffer.c:86: more
undefined references to `memset' follow
libcrypto.a(buffer.o): In function `BUF_memdup':
/root/openssl-0.9.8/crypto/buffer/buffer.c:199: undefined reference to
`memcpy'
libcrypto.a(bio_cb.o): In function `BIO_debug_callback':
/root/openssl-0.9.8/crypto/bio/bio_cb.c:136: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/bio/bio_cb.c:136: undefined reference to
`fputs'
libcrypto.a(bss_mem.o): In function `mem_gets':
/root/openssl-0.9.8/crypto/bio/bss_mem.c:154: undefined reference to
`memcpy'
libcrypto.a(bss_mem.o): In function `mem_write':
/root/openssl-0.9.8/crypto/bio/bss_mem.c:195: undefined reference to
`memcpy'
libcrypto.a(bss_mem.o): In function `mem_read':
/root/openssl-0.9.8/crypto/bio/bss_mem.c:154: undefined reference to
`memcpy'
libcrypto.a(bss_mem.o): In function `mem_puts':
/root/openssl-0.9.8/crypto/bio/bss_mem.c:195: undefined reference to
`memcpy'
libcrypto.a(bss_mem.o): In function `mem_ctrl':
/root/openssl-0.9.8/crypto/bio/bss_mem.c:221: undefined reference to
`memset'
libcrypto.a(bss_fd.o): In function `fd_ctrl':
/root/openssl-0.9.8/crypto/bio/bss_fd.c:182: undefined reference to
`lseek'
/root/openssl-0.9.8/crypto/bio/bss_fd.c:128: undefined reference to
`close'
libcrypto.a(bss_fd.o): In function `BIO_fd_should_retry':
/root/openssl-0.9.8/crypto/bio/bss_fd.c:236: undefined reference to
`__error'
libcrypto.a(bss_fd.o): In function `fd_write':
/root/openssl-0.9.8/crypto/bio/bss_fd.c:157: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_fd.c:158: undefined reference to
`write'
libcrypto.a(bss_fd.o): In function `fd_read':
/root/openssl-0.9.8/crypto/bio/bss_fd.c:142: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_fd.c:143: undefined reference to
`read'
libcrypto.a(bss_fd.o): In function `fd_puts':
/root/openssl-0.9.8/crypto/bio/bss_fd.c:157: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_fd.c:158: undefined reference to
`write'
libcrypto.a(bss_fd.o): In function `fd_free':
/root/openssl-0.9.8/crypto/bio/bss_fd.c:128: undefined reference to
`close'
libcrypto.a(bss_file.o): In function `BIO_new_file':
/root/openssl-0.9.8/crypto/bio/bss_file.c:120: undefined reference to
`fopen'
/root/openssl-0.9.8/crypto/bio/bss_file.c:122: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_file.c:124: undefined reference to
`__error'
libcrypto.a(bss_file.o): In function `file_ctrl':
/root/openssl-0.9.8/crypto/bio/bss_file.c:237: undefined reference to
`fseek'
/root/openssl-0.9.8/crypto/bio/bss_file.c:243: undefined reference to
`feof'
/root/openssl-0.9.8/crypto/bio/bss_file.c:250: undefined reference to
`ftell'
/root/openssl-0.9.8/crypto/bio/bss_file.c:174: undefined reference to
`fclose'
/root/openssl-0.9.8/crypto/bio/bss_file.c:174: undefined reference to
`fclose'
/root/openssl-0.9.8/crypto/bio/bss_file.c:346: undefined reference to
`fopen'
/root/openssl-0.9.8/crypto/bio/bss_file.c:349: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_file.c:377: undefined reference to
`fflush'
libcrypto.a(bss_file.o): In function `file_write':
/root/openssl-0.9.8/crypto/bio/bss_file.c:212: undefined reference to
`fwrite'
libcrypto.a(bss_file.o): In function `file_read':
/root/openssl-0.9.8/crypto/bio/bss_file.c:192: undefined reference to
`fread'
/root/openssl-0.9.8/crypto/bio/bss_file.c:193: undefined reference to
`ferror'
/root/openssl-0.9.8/crypto/bio/bss_file.c:195: undefined reference to
`__error'
libcrypto.a(bss_file.o): In function `file_puts':
/root/openssl-0.9.8/crypto/bio/bss_file.c:212: undefined reference to
`fwrite'
libcrypto.a(bss_file.o): In function `file_gets':
/root/openssl-0.9.8/crypto/bio/bss_file.c:399: undefined reference to
`fgets'
libcrypto.a(bss_file.o): In function `file_free':
/root/openssl-0.9.8/crypto/bio/bss_file.c:174: undefined reference to
`fclose'
libcrypto.a(bss_sock.o): In function `BIO_sock_should_retry':
/root/openssl-0.9.8/crypto/bio/bss_sock.c:233: undefined reference to
`__error'
libcrypto.a(bss_sock.o): In function `sock_write':
/root/openssl-0.9.8/crypto/bio/bss_sock.c:154: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_sock.c:155: undefined reference to
`write'
libcrypto.a(bss_sock.o): In function `sock_read':
/root/openssl-0.9.8/crypto/bio/bss_sock.c:138: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_sock.c:139: undefined reference to
`read'
libcrypto.a(bss_sock.o): In function `sock_puts':
/root/openssl-0.9.8/crypto/bio/bss_sock.c:154: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_sock.c:155: undefined reference to
`write'
libcrypto.a(bss_sock.o): In function `sock_ctrl':
/root/openssl-0.9.8/crypto/bio/bss_sock.c:124: undefined reference to
`shutdown'
/root/openssl-0.9.8/crypto/bio/bss_sock.c:124: undefined reference to
`close'
libcrypto.a(bss_sock.o): In function `sock_free':
/root/openssl-0.9.8/crypto/bio/bss_sock.c:124: undefined reference to
`shutdown'
/root/openssl-0.9.8/crypto/bio/bss_sock.c:124: undefined reference to
`close'
libcrypto.a(bss_conn.o): In function `conn_state':
/root/openssl-0.9.8/crypto/bio/bss_conn.c:212: undefined reference to
`socket'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:215: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:241: undefined reference to
`setsockopt'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:244: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:255: undefined reference to
`connect'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:269: undefined reference to
`__error'
libcrypto.a(bss_conn.o): In function `conn_ctrl':
/root/openssl-0.9.8/crypto/bio/bss_conn.c:378: undefined reference to
`shutdown'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:379: undefined reference to
`close'
libcrypto.a(bss_conn.o): In function `conn_write':
/root/openssl-0.9.8/crypto/bio/bss_conn.c:441: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:442: undefined reference to
`write'
libcrypto.a(bss_conn.o): In function `conn_read':
/root/openssl-0.9.8/crypto/bio/bss_conn.c:417: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:418: undefined reference to
`read'
libcrypto.a(bss_conn.o): In function `conn_puts':
/root/openssl-0.9.8/crypto/bio/bss_conn.c:441: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:442: undefined reference to
`write'
libcrypto.a(bss_conn.o): In function `conn_free':
/root/openssl-0.9.8/crypto/bio/bss_conn.c:378: undefined reference to
`shutdown'
/root/openssl-0.9.8/crypto/bio/bss_conn.c:379: undefined reference to
`close'
libcrypto.a(bf_buff.o): In function `buffer_read':
/root/openssl-0.9.8/crypto/bio/bf_buff.c:149: undefined reference to
`memcpy'
libcrypto.a(bf_buff.o): In function `buffer_write':
/root/openssl-0.9.8/crypto/bio/bf_buff.c:212: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/bio/bf_buff.c:222: undefined reference to
`memcpy'
libcrypto.a(bf_buff.o): In function `buffer_ctrl':
/root/openssl-0.9.8/crypto/bio/bf_buff.c:328: undefined reference to
`memcpy'
libcrypto.a(b_print.o): In function `_dopr':
/usr/include/ctype.h:159: undefined reference to `_DefaultRuneLocale'
/usr/include/ctype.h:159: undefined reference to `_DefaultRuneLocale'
libcrypto.a(b_print.o): In function `doapr_outch':
/root/openssl-0.9.8/crypto/bio/b_print.c:744: undefined reference to
`memcpy'
libcrypto.a(b_dump.o): In function `BIO_dump_indent_cb':
/root/openssl-0.9.8/crypto/bio/b_dump.c:98: undefined reference to
`memset'
libcrypto.a(b_dump.o): In function `write_fp':
/root/openssl-0.9.8/crypto/bio/b_dump.c:163: undefined reference to
`fwrite'
libcrypto.a(b_sock.o): In function `BIO_get_port':
/root/openssl-0.9.8/crypto/bio/b_sock.c:172: undefined reference to
`atoi'
/root/openssl-0.9.8/crypto/bio/b_sock.c:181: undefined reference to
`getservbyname'
/root/openssl-0.9.8/crypto/bio/b_sock.c:211: undefined reference to
`__error'
libcrypto.a(b_sock.o): In function `BIO_get_accept_socket':
/root/openssl-0.9.8/crypto/bio/b_sock.c:639: undefined reference to
`socket'
/root/openssl-0.9.8/crypto/bio/b_sock.c:642: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/b_sock.c:653: undefined reference to
`setsockopt'
/root/openssl-0.9.8/crypto/bio/b_sock.c:657: undefined reference to
`bind'
/root/openssl-0.9.8/crypto/bio/b_sock.c:660: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/b_sock.c:667: undefined reference to
`socket'
/root/openssl-0.9.8/crypto/bio/b_sock.c:671: undefined reference to
`connect'
/root/openssl-0.9.8/crypto/bio/b_sock.c:673: undefined reference to
`close'
/root/openssl-0.9.8/crypto/bio/b_sock.c:677: undefined reference to
`close'
/root/openssl-0.9.8/crypto/bio/b_sock.c:690: undefined reference to
`listen'
/root/openssl-0.9.8/crypto/bio/b_sock.c:692: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/b_sock.c:702: undefined reference to
`close'
libcrypto.a(b_sock.o): In function `BIO_accept':
/root/openssl-0.9.8/crypto/bio/b_sock.c:724: undefined reference to
`accept'
/root/openssl-0.9.8/crypto/bio/b_sock.c:728: undefined reference to
`__error'
libcrypto.a(b_sock.o): In function `BIO_gethostbyname':
/root/openssl-0.9.8/crypto/bio/b_sock.c:363: undefined reference to
`gethostbyname'
libcrypto.a(b_sock.o): In function `BIO_sock_error':
/root/openssl-0.9.8/crypto/bio/b_sock.c:231: undefined reference to
`getsockopt'
libcrypto.a(b_sock.o): In function `BIO_socket_ioctl':
/root/openssl-0.9.8/crypto/bio/b_sock.c:536: undefined reference to
`ioctl'
/root/openssl-0.9.8/crypto/bio/b_sock.c:539: undefined reference to
`__error'
libcrypto.a(b_sock.o): In function `BIO_socket_nbio':
/root/openssl-0.9.8/crypto/bio/b_sock.c:536: undefined reference to
`ioctl'
/root/openssl-0.9.8/crypto/bio/b_sock.c:539: undefined reference to
`__error'
libcrypto.a(bss_acpt.o): In function `acpt_state':
/root/openssl-0.9.8/crypto/bio/bss_acpt.c:223: undefined reference to
`close'
/root/openssl-0.9.8/crypto/bio/bss_acpt.c:285: undefined reference to
`close'
libcrypto.a(bss_acpt.o): In function `acpt_ctrl':
/root/openssl-0.9.8/crypto/bio/bss_acpt.c:175: undefined reference to
`shutdown'
/root/openssl-0.9.8/crypto/bio/bss_acpt.c:176: undefined reference to
`close'
libcrypto.a(bss_acpt.o): In function `acpt_free':
/root/openssl-0.9.8/crypto/bio/bss_acpt.c:175: undefined reference to
`shutdown'
/root/openssl-0.9.8/crypto/bio/bss_acpt.c:176: undefined reference to
`close'
libcrypto.a(bss_log.o): In function `slg_puts':
/root/openssl-0.9.8/crypto/bio/bss_log.c:211: undefined reference to
`strncpy'
/root/openssl-0.9.8/crypto/bio/bss_log.c:215: undefined reference to
`strncmp'
libcrypto.a(bss_log.o): In function `slg_write':
/root/openssl-0.9.8/crypto/bio/bss_log.c:211: undefined reference to
`strncpy'
/root/openssl-0.9.8/crypto/bio/bss_log.c:215: undefined reference to
`strncmp'
libcrypto.a(bss_log.o): In function `xopenlog':
/root/openssl-0.9.8/crypto/bio/bss_log.c:386: undefined reference to
`openlog'
libcrypto.a(bss_log.o): In function `xsyslog':
/root/openssl-0.9.8/crypto/bio/bss_log.c:392: undefined reference to
`syslog'
libcrypto.a(bss_log.o): In function `xcloselog':
/root/openssl-0.9.8/crypto/bio/bss_log.c:397: undefined reference to
`closelog'
libcrypto.a(bss_bio.o): In function `bio_read':
/root/openssl-0.9.8/crypto/bio/bss_bio.c:248: undefined reference to
`memcpy'
libcrypto.a(bss_bio.o): In function `bio_write':
/root/openssl-0.9.8/crypto/bio/bss_bio.c:411: undefined reference to
`memcpy'
libcrypto.a(bss_dgram.o): In function `dgram_ctrl':
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:161: undefined reference to
`shutdown'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:161: undefined reference to
`close'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:309: undefined reference to
`getsockopt'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:345: undefined reference to
`setsockopt'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:355: undefined reference to
`setsockopt'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:360: undefined reference to
`getsockopt'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:362: undefined reference to
`perror'
libcrypto.a(bss_dgram.o): In function `dgram_write':
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:208: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:211: undefined reference to
`send'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:213: undefined reference to
`sendto'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:221: undefined reference to
`__error'
libcrypto.a(bss_dgram.o): In function `dgram_read':
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:179: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:180: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:186: undefined reference to
`recvfrom'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:197: undefined reference to
`__error'
libcrypto.a(bss_dgram.o): In function `dgram_puts':
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:208: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:211: undefined reference to
`send'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:213: undefined reference to
`sendto'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:221: undefined reference to
`__error'
libcrypto.a(bss_dgram.o): In function `dgram_clear':
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:161: undefined reference to
`shutdown'
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:161: undefined reference to
`close'
libcrypto.a(bss_dgram.o): In function `BIO_dgram_should_retry':
/root/openssl-0.9.8/crypto/bio/bss_dgram.c:408: undefined reference to
`__error'
libcrypto.a(stack.o): In function `sk_zero':
/root/openssl-0.9.8/crypto/stack/stack.c:279: undefined reference to
`memset'
libcrypto.a(stack.o): In function `sk_dup':
/root/openssl-0.9.8/crypto/stack/stack.c:104: undefined reference to
`memcpy'
libcrypto.a(stack.o): In function `sk_sort':
/root/openssl-0.9.8/crypto/stack/stack.c:331: undefined reference to
`qsort'
libcrypto.a(lhash.o): In function `lh_new':
/root/openssl-0.9.8/crypto/lhash/lhash.c:125: undefined reference to
`strcmp'
libcrypto.a(md_rand.o): In function `ssleay_rand_bytes':
/root/openssl-0.9.8/crypto/rand/md_rand.c:331: undefined reference to
`getpid'
libcrypto.a(randfile.o): In function `RAND_load_file':
/root/openssl-0.9.8/crypto/rand/randfile.c:105: undefined reference to
`stat'
/root/openssl-0.9.8/crypto/rand/randfile.c:111: undefined reference to
`fopen'
/root/openssl-0.9.8/crypto/rand/randfile.c:120: undefined reference to
`setvbuf'
/root/openssl-0.9.8/crypto/rand/randfile.c:129: undefined reference to
`fread'
/root/openssl-0.9.8/crypto/rand/randfile.c:140: undefined reference to
`fclose'
libcrypto.a(randfile.o): In function `RAND_write_file':
/root/openssl-0.9.8/crypto/rand/randfile.c:154: undefined reference to
`stat'
/root/openssl-0.9.8/crypto/rand/randfile.c:180: undefined reference to
`fopen'
/root/openssl-0.9.8/crypto/rand/randfile.c:184: undefined reference to
`chmod'
/root/openssl-0.9.8/crypto/rand/randfile.c:193: undefined reference to
`fwrite'
/root/openssl-0.9.8/crypto/rand/randfile.c:222: undefined reference to
`fclose'
libcrypto.a(randfile.o): In function `RAND_file_name':
/root/openssl-0.9.8/crypto/rand/randfile.c:237: undefined reference to
`getenv'
/root/openssl-0.9.8/crypto/rand/randfile.c:246: undefined reference to
`getenv'
libcrypto.a(rand_egd.o): In function `RAND_query_egd_bytes':
/root/openssl-0.9.8/crypto/rand/rand_egd.c:151: undefined reference to
`socket'
/root/openssl-0.9.8/crypto/rand/rand_egd.c:156: undefined reference to
`connect'
/root/openssl-0.9.8/crypto/rand/rand_egd.c:160: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/rand/rand_egd.c:194: undefined reference to
`write'
/root/openssl-0.9.8/crypto/rand/rand_egd.c:199: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/rand/rand_egd.c:218: undefined reference to
`read'
/root/openssl-0.9.8/crypto/rand/rand_egd.c:225: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/rand/rand_egd.c:250: undefined reference to
`read'
/root/openssl-0.9.8/crypto/rand/rand_egd.c:257: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/rand/rand_egd.c:279: undefined reference to
`close'
libcrypto.a(rand_unix.o): In function `RAND_poll':
/root/openssl-0.9.8/crypto/rand/rand_unix.c:150: undefined reference to
`getpid'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:173: undefined reference to
`open'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:194: undefined reference to
`fstat'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:205: undefined reference to
`bzero'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:209: undefined reference to
`select'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:213: undefined reference to
`read'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:228: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:228: undefined reference to
`__error'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:230: undefined reference to
`close'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:261: undefined reference to
`getuid'
/root/openssl-0.9.8/crypto/rand/rand_unix.c:264: undefined reference to
`time'
libcrypto.a(err.o): In function `build_SYS_str_reasons':
/root/openssl-0.9.8/crypto/err/err.c:563: undefined reference to
`strerror'
/root/openssl-0.9.8/crypto/err/err.c:566: undefined reference to
`strncpy'
libcrypto.a(err.o): In function `ERR_error_string_n':
/root/openssl-0.9.8/crypto/err/err.c:855: undefined reference to `strchr'
libcrypto.a(encode.o): In function `EVP_EncodeUpdate':
/root/openssl-0.9.8/crypto/evp/encode.c:142: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/encode.c:149: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/encode.c:170: undefined reference to
`memcpy'
libcrypto.a(digest.o): In function `EVP_MD_CTX_copy_ex':
/root/openssl-0.9.8/crypto/evp/digest.c:279: undefined reference to
`memcpy'
libcrypto.a(digest.o): In function `EVP_DigestFinal_ex':
/root/openssl-0.9.8/crypto/evp/digest.c:239: undefined reference to
`memset'
libcrypto.a(digest.o): In function `EVP_Digest':
/root/openssl-0.9.8/crypto/evp/digest.c:239: undefined reference to
`memset'
libcrypto.a(evp_enc.o): In function `EVP_CipherInit_ex':
/root/openssl-0.9.8/crypto/evp/evp_enc.c:205: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/evp_enc.c:206: undefined reference to
`memcpy'
libcrypto.a(evp_enc.o): In function `EVP_EncryptUpdate':
/root/openssl-0.9.8/crypto/evp/evp_enc.c:296: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/evp_enc.c:304: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/evp_enc.c:323: undefined reference to
`memcpy'
libcrypto.a(evp_enc.o):/root/openssl-0.9.8/crypto/evp/evp_enc.c:391: more
undefined references to `memcpy' follow
libcrypto.a(evp_key.o): In function `EVP_set_pw_prompt':
/root/openssl-0.9.8/crypto/evp/evp_key.c:75: undefined reference to
`strncpy'
libcrypto.a(bio_b64.o): In function `b64_read':
/root/openssl-0.9.8/crypto/evp/bio_b64.c:169: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/bio_b64.c:316: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/bio_b64.c:349: undefined reference to
`memcpy'
libcrypto.a(bio_b64.o): In function `b64_write':
/root/openssl-0.9.8/crypto/evp/bio_b64.c:428: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/bio_b64.c:412: undefined reference to
`memcpy'
libcrypto.a(bio_enc.o):/root/openssl-0.9.8/crypto/evp/bio_enc.c:158: more
undefined references to `memcpy' follow
libcrypto.a(bio_ok.o): In function `ok_read':
/root/openssl-0.9.8/crypto/evp/bio_ok.c:246: undefined reference to
`memmove'
libcrypto.a(bio_ok.o): In function `ok_write':
/root/openssl-0.9.8/crypto/evp/bio_ok.c:328: undefined reference to
`memcpy'
libcrypto.a(bio_ok.o): In function `sig_out':
/root/openssl-0.9.8/crypto/evp/bio_ok.c:473: undefined reference to
`memcpy'
libcrypto.a(bio_ok.o): In function `sig_in':
/root/openssl-0.9.8/crypto/evp/bio_ok.c:497: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/bio_ok.c:510: undefined reference to
`memmove'
libcrypto.a(p5_crpt.o): In function `PKCS5_PBE_keyivgen':
/root/openssl-0.9.8/crypto/evp/p5_crpt.c:145: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/evp/p5_crpt.c:147: undefined reference to
`memcpy'
libcrypto.a(p5_crpt2.o): In function `PKCS5_PBKDF2_HMAC_SHA1':
/root/openssl-0.9.8/crypto/evp/p5_crpt2.c:107: undefined reference to
`memcpy'
libcrypto.a(a_object.o): In function `c2i_ASN1_OBJECT':
/root/openssl-0.9.8/crypto/asn1/a_object.c:247: undefined reference to
`memcpy'
libcrypto.a(a_object.o): In function `i2d_ASN1_OBJECT':
/root/openssl-0.9.8/crypto/asn1/a_object.c:77: undefined reference to
`memcpy'
libcrypto.a(a_bitstr.o):/root/openssl-0.9.8/crypto/asn1/a_bitstr.c:109:
more undefined references to `memcpy' follow
libcrypto.a(a_bitstr.o): In function `ASN1_BIT_STRING_set_bit':
/root/openssl-0.9.8/crypto/asn1/a_bitstr.c:203: undefined reference to
`memset'
libcrypto.a(a_int.o): In function `i2c_ASN1_INTEGER':
/root/openssl-0.9.8/crypto/asn1/a_int.c:153: undefined reference to
`memcpy'
libcrypto.a(a_int.o): In function `c2i_ASN1_INTEGER':
/root/openssl-0.9.8/crypto/asn1/a_int.c:249: undefined reference to
`memcpy'
libcrypto.a(a_int.o): In function `d2i_ASN1_UINTEGER':
/root/openssl-0.9.8/crypto/asn1/a_int.c:319: undefined reference to
`memcpy'
libcrypto.a(a_set.o): In function `i2d_ASN1_SET':
/root/openssl-0.9.8/crypto/asn1/a_set.c:142: undefined reference to
`qsort'
/root/openssl-0.9.8/crypto/asn1/a_set.c:153: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/asn1/a_set.c:158: undefined reference to
`memcpy'
libcrypto.a(a_mbstr.o): In function `is_printable':
/root/openssl-0.9.8/crypto/asn1/a_mbstr.c:392: undefined reference to
`strchr'
libcrypto.a(a_strex.o): In function `send_fp_chars':
/root/openssl-0.9.8/crypto/asn1/a_strex.c:102: undefined reference to
`fwrite'
libcrypto.a(x_name.o): In function `x509_name_ex_d2i':
/root/openssl-0.9.8/crypto/asn1/x_name.c:181: undefined reference to
`memcpy'
libcrypto.a(x_name.o): In function `x509_name_ex_i2d':
/root/openssl-0.9.8/crypto/asn1/x_name.c:214: undefined reference to
`memcpy'
libcrypto.a(t_pkey.o): In function `print_bin':
/root/openssl-0.9.8/crypto/asn1/t_pkey.c:616: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/asn1/t_pkey.c:629: undefined reference to
`memset'
libcrypto.a(t_bitst.o): In function `ASN1_BIT_STRING_num_asc':
/root/openssl-0.9.8/crypto/asn1/t_bitst.c:98: undefined reference to
`strcmp'
/root/openssl-0.9.8/crypto/asn1/t_bitst.c:98: undefined reference to
`strcmp'
libcrypto.a(tasn_new.o): In function `asn1_item_ex_combine_new':
/root/openssl-0.9.8/crypto/asn1/tasn_new.c:166: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/asn1/tasn_new.c:194: undefined reference to
`memset'
libcrypto.a(tasn_enc.o): In function `asn1_set_seq_out':
/root/openssl-0.9.8/crypto/asn1/tasn_enc.c:482: undefined reference to
`qsort'
/root/openssl-0.9.8/crypto/asn1/tasn_enc.c:487: undefined reference to
`memcpy'
libcrypto.a(tasn_enc.o): In function `asn1_ex_i2c':
/root/openssl-0.9.8/crypto/asn1/tasn_enc.c:684: undefined reference to
`memcpy'
libcrypto.a(tasn_dec.o): In function `collect_data':
/root/openssl-0.9.8/crypto/asn1/tasn_dec.c:1194: undefined reference to
`memcpy'
libcrypto.a(tasn_utl.o): In function `asn1_enc_restore':
/root/openssl-0.9.8/crypto/asn1/tasn_utl.c:194: undefined reference to
`memcpy'
libcrypto.a(tasn_utl.o): In function `asn1_enc_save':
/root/openssl-0.9.8/crypto/asn1/tasn_utl.c:178: undefined reference to
`memcpy'
libcrypto.a(n_pkey.o): In function `d2i_RSA_NET':
/root/openssl-0.9.8/crypto/asn1/n_pkey.c:256: undefined reference to
`strncmp'
libcrypto.a(x_pkey.o): In function `d2i_X509_PKEY':
/root/openssl-0.9.8/crypto/asn1/x_pkey.c:99: undefined reference to
`memcpy'
libcrypto.a(asn1_gen.o): In function `ASN1_generate_v3':
/root/openssl-0.9.8/crypto/asn1/asn1_gen.c:252: undefined reference to
`memcpy'
libcrypto.a(asn1_gen.o): In function `asn1_cb':
/root/openssl-0.9.8/crypto/asn1/asn1_gen.c:357: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/asn1/asn1_gen.c:359: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/asn1/asn1_gen.c:361: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/asn1/asn1_gen.c:363: undefined reference to
`strncmp'
libcrypto.a(asn1_gen.o): In function `parse_tagging':
/root/openssl-0.9.8/crypto/asn1/asn1_gen.c:385: undefined reference to
`strtoul'
libcrypto.a(asn1_gen.o): In function `bitstr_cb':
/root/openssl-0.9.8/crypto/asn1/asn1_gen.c:831: undefined reference to
`strtoul'
libcrypto.a(asn1_gen.o): In function `asn1_str2tag':
/root/openssl-0.9.8/crypto/asn1/asn1_gen.c:617: undefined reference to
`strncmp'
libcrypto.a(asn1_lib.o): In function `ASN1_STRING_set':
/root/openssl-0.9.8/crypto/asn1/asn1_lib.c:389: undefined reference to
`memcpy'
libcrypto.a(a_bytes.o): In function `d2i_ASN1_type_bytes':
/root/openssl-0.9.8/crypto/asn1/a_bytes.c:110: undefined reference to
`memcpy'
libcrypto.a(a_bytes.o): In function `d2i_ASN1_bytes':
/root/openssl-0.9.8/crypto/asn1/a_bytes.c:222: undefined reference to
`memcpy'
libcrypto.a(a_bytes.o): In function `asn1_collate_primitive':
/root/openssl-0.9.8/crypto/asn1/a_bytes.c:295: undefined reference to
`memcpy'
libcrypto.a(a_bytes.o): In function `i2d_ASN1_bytes':
/root/openssl-0.9.8/crypto/asn1/a_bytes.c:151: undefined reference to
`memcpy'
libcrypto.a(a_strnid.o): In function `ASN1_STRING_set_default_mask_asc':
/root/openssl-0.9.8/crypto/asn1/a_strnid.c:103: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/asn1/a_strnid.c:105: undefined reference to
`strtoul'
libcrypto.a(evp_asn1.o): In function `ASN1_TYPE_get_int_octetstring':
/root/openssl-0.9.8/crypto/asn1/evp_asn1.c:179: undefined reference to
`memcpy'
libcrypto.a(evp_asn1.o): In function `ASN1_TYPE_get_octetstring':
/root/openssl-0.9.8/crypto/asn1/evp_asn1.c:92: undefined reference to
`memcpy'
libcrypto.a(p5_pbe.o): In function `PKCS5_pbe_set':
/root/openssl-0.9.8/crypto/asn1/p5_pbe.c:99: undefined reference to
`memcpy'
libcrypto.a(p5_pbev2.o): In function `PKCS5_pbe2_set':
/root/openssl-0.9.8/crypto/asn1/p5_pbev2.c:138: undefined reference to
`memcpy'
libcrypto.a(asn_moid.o): In function `do_create':
/root/openssl-0.9.8/crypto/asn1/asn_moid.c:116: undefined reference to
`strrchr'
libcrypto.a(asn_moid.o): In function `do_create':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(asn_moid.o): In function `do_create':
/root/openssl-0.9.8/crypto/asn1/asn_moid.c:151: undefined reference to
`memcpy'
libcrypto.a(pem_seal.o): In function `PEM_SealInit':
/root/openssl-0.9.8/crypto/pem/pem_seal.c:110: undefined reference to
`memcpy'
libcrypto.a(pem_lib.o): In function `check_pem':
/root/openssl-0.9.8/crypto/pem/pem_lib.c:182: undefined reference to
`strcmp'
libcrypto.a(pem_lib.o): In function `PEM_ASN1_write_bio':
/root/openssl-0.9.8/crypto/pem/pem_lib.c:92: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:106: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:112: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:112: undefined reference to
`fprintf'
libcrypto.a(pem_lib.o): In function `PEM_do_header':
/root/openssl-0.9.8/crypto/pem/pem_lib.c:92: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:112: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:112: undefined reference to
`fprintf'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:106: undefined reference to
`memset'
libcrypto.a(pem_lib.o): In function `PEM_get_EVP_CIPHER_INFO':
/root/openssl-0.9.8/crypto/pem/pem_lib.c:442: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:447: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:454: undefined reference to
`strncmp'
libcrypto.a(pem_lib.o): In function `PEM_read_bio':
/root/openssl-0.9.8/crypto/pem/pem_lib.c:651: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:655: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:662: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:682: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:687: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:707: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:715: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:739: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:739: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:739: undefined reference to
`strncmp'
libcrypto.a(pem_lib.o): In function `PEM_def_callback':
/root/openssl-0.9.8/crypto/pem/pem_lib.c:92: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:106: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:112: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/pem/pem_lib.c:112: undefined reference to
`fprintf'
libcrypto.a(x509_cmp.o): In function `nocase_spacenorm_cmp':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:173: undefined reference to `___tolower'
/usr/include/ctype.h:173: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:173: undefined reference to `___tolower'
/usr/include/ctype.h:173: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(x509_cmp.o): In function `X509_NAME_cmp':
/usr/include/ctype.h:173: undefined reference to `___tolower'
/usr/include/ctype.h:173: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:173: undefined reference to `___tolower'
/usr/include/ctype.h:173: undefined reference to `_CurrentRuneLocale'
libcrypto.a(x509_obj.o): In function `X509_NAME_oneline':
/root/openssl-0.9.8/crypto/x509/x509_obj.c:96: undefined reference to
`strncpy'
/root/openssl-0.9.8/crypto/x509/x509_obj.c:174: undefined reference to
`memcpy'
libcrypto.a(x509_vfy.o): In function `check_chain_extensions':
/root/openssl-0.9.8/crypto/x509/x509_vfy.c:409: undefined reference to
`getenv'
libcrypto.a(x509_vfy.o): In function `X509_cmp_time':
/root/openssl-0.9.8/crypto/x509/x509_vfy.c:1108: undefined reference to
`strcmp'
libcrypto.a(x509_vfy.o): In function `X509_time_adj':
/root/openssl-0.9.8/crypto/x509/x509_vfy.c:1126: undefined reference to
`time'
libcrypto.a(x509name.o): In function `X509_NAME_get_text_by_OBJ':
/root/openssl-0.9.8/crypto/x509/x509name.c:87: undefined reference to
`memcpy'
libcrypto.a(by_file.o): In function `by_file_ctrl':
/root/openssl-0.9.8/crypto/x509/by_file.c:103: undefined reference to
`getenv'
libcrypto.a(by_dir.o): In function `add_cert_dir':
/root/openssl-0.9.8/crypto/x509/by_dir.c:201: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/x509/by_dir.c:215: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/x509/by_dir.c:217: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/x509/by_dir.c:229: undefined reference to
`strncpy'
libcrypto.a(by_dir.o): In function `get_cert_by_subject':
/root/openssl-0.9.8/crypto/x509/by_dir.c:337: undefined reference to
`stat'
libcrypto.a(by_dir.o): In function `dir_ctrl':
/root/openssl-0.9.8/crypto/x509/by_dir.c:126: undefined reference to
`getenv'
libcrypto.a(x509_vpm.o): In function `table_cmp':
/root/openssl-0.9.8/crypto/x509/x509_vpm.c:342: undefined reference to
`strcmp'
libcrypto.a(x509_vpm.o): In function `param_cmp':
/root/openssl-0.9.8/crypto/x509/x509_vpm.c:348: undefined reference to
`strcmp'
libcrypto.a(v3_bitst.o): In function `v2i_ASN1_BIT_STRING':
/root/openssl-0.9.8/crypto/x509v3/v3_bitst.c:119: undefined reference to
`strcmp'
/root/openssl-0.9.8/crypto/x509v3/v3_bitst.c:119: undefined reference to
`strcmp'
libcrypto.a(v3_conf.o): In function `v3_check_generic':
/root/openssl-0.9.8/crypto/x509v3/v3_conf.c:241: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/x509v3/v3_conf.c:246: undefined reference to
`strncmp'
libcrypto.a(v3_conf.o): In function `v3_check_generic':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(v3_conf.o): In function `v3_check_critical':
/root/openssl-0.9.8/crypto/x509v3/v3_conf.c:229: undefined reference to
`strncmp'
libcrypto.a(v3_conf.o): In function `v3_check_critical':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(v3_ia5.o): In function `i2s_ASN1_IA5STRING':
/root/openssl-0.9.8/crypto/x509v3/v3_ia5.c:89: undefined reference to
`memcpy'
libcrypto.a(v3_utl.o): In function `strip_spaces':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(v3_utl.o): In function `string_to_hex':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:173: undefined reference to `___tolower'
/usr/include/ctype.h:173: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:173: undefined reference to `___tolower'
/usr/include/ctype.h:173: undefined reference to `_CurrentRuneLocale'
libcrypto.a(v3_utl.o): In function `a2i_IPADDRESS_NC':
/root/openssl-0.9.8/crypto/x509v3/v3_utl.c:579: undefined reference to
`strchr'
libcrypto.a(v3_utl.o): In function `ipv6_from_asc':
/root/openssl-0.9.8/crypto/x509v3/v3_utl.c:718: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/x509v3/v3_utl.c:721: undefined reference to
`memset'
/root/openssl-0.9.8/crypto/x509v3/v3_utl.c:724: undefined reference to
`memcpy'
libcrypto.a(v3_utl.o): In function `ipv6_cb':
/root/openssl-0.9.8/crypto/x509v3/v3_utl.c:639: undefined reference to
`sscanf'
libcrypto.a(v3_utl.o): In function `name_cmp':
/root/openssl-0.9.8/crypto/x509v3/v3_utl.c:456: undefined reference to
`strncmp'
libcrypto.a(v3_utl.o): In function `a2i_ipadd':
/root/openssl-0.9.8/crypto/x509v3/v3_utl.c:622: undefined reference to
`strchr'
libcrypto.a(v3_utl.o): In function `ipv4_from_asc':
/root/openssl-0.9.8/crypto/x509v3/v3_utl.c:639: undefined reference to
`sscanf'
libcrypto.a(v3_utl.o): In function `sk_strcmp':
/root/openssl-0.9.8/crypto/x509v3/v3_utl.c:464: undefined reference to
`strcmp'
libcrypto.a(v3_alt.o): In function `i2v_GENERAL_NAME':
/root/openssl-0.9.8/crypto/x509v3/v3_alt.c:150: undefined reference to
`strcat'
/root/openssl-0.9.8/crypto/x509v3/v3_alt.c:152: undefined reference to
`strcat'
libcrypto.a(v3_alt.o): In function `do_othername':
/root/openssl-0.9.8/crypto/x509v3/v3_alt.c:537: undefined reference to
`strchr'
/root/openssl-0.9.8/crypto/x509v3/v3_alt.c:549: undefined reference to
`strncpy'
libcrypto.a(v3_purp.o): In function `X509_PURPOSE_get_by_sname':
/root/openssl-0.9.8/crypto/x509v3/v3_purp.c:152: undefined reference to
`strcmp'
libcrypto.a(v3_info.o): In function `v2i_AUTHORITY_INFO_ACCESS':
/root/openssl-0.9.8/crypto/x509v3/v3_info.c:154: undefined reference to
`strchr'
/root/openssl-0.9.8/crypto/x509v3/v3_info.c:168: undefined reference to
`strncpy'
libcrypto.a(v3_ocsp.o): In function `i2d_ocsp_nonce':
/root/openssl-0.9.8/crypto/x509v3/v3_ocsp.c:205: undefined reference to
`memcpy'
libcrypto.a(v3_ncons.o): In function `v2i_NAME_CONSTRAINTS':
/root/openssl-0.9.8/crypto/x509v3/v3_ncons.c:116: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/x509v3/v3_ncons.c:121: undefined reference to
`strncmp'
libcrypto.a(v3_pci.o): In function `process_pci_value':
/root/openssl-0.9.8/crypto/x509v3/v3_pci.c:126: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/x509v3/v3_pci.c:138: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/x509v3/v3_pci.c:144: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/x509v3/v3_pci.c:167: undefined reference to
`memcpy'
/root/openssl-0.9.8/crypto/x509v3/v3_pci.c:180: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/x509v3/v3_pci.c:188: undefined reference to
`memcpy'
libcrypto.a(pcy_tree.o): In function `tree_init':
/root/openssl-0.9.8/crypto/x509v3/pcy_tree.c:169: undefined reference to
`memset'
libcrypto.a(conf_api.o): In function `_CONF_new_section':
/root/openssl-0.9.8/crypto/conf/conf_api.c:291: undefined reference to
`memcpy'
libcrypto.a(conf_api.o): In function `_CONF_get_string':
/root/openssl-0.9.8/crypto/conf/conf_api.c:148: undefined reference to
`getenv'
/root/openssl-0.9.8/crypto/conf/conf_api.c:161: undefined reference to
`getenv'
libcrypto.a(conf_api.o): In function `cmp_conf':
/root/openssl-0.9.8/crypto/conf/conf_api.c:261: undefined reference to
`strcmp'
/root/openssl-0.9.8/crypto/conf/conf_api.c:267: undefined reference to
`strcmp'
libcrypto.a(conf_def.o): In function `def_load_bio':
/root/openssl-0.9.8/crypto/conf/conf_def.c:398: undefined reference to
`strcmp'
libcrypto.a(conf_mod.o): In function `CONF_get1_default_config_file':
/root/openssl-0.9.8/crypto/conf/conf_mod.c:550: undefined reference to
`getenv'
libcrypto.a(conf_mod.o): In function `CONF_parse_list':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(conf_mod.o): In function `CONF_parse_list':
/root/openssl-0.9.8/crypto/conf/conf_mod.c:593: undefined reference to
`strchr'
libcrypto.a(conf_mod.o): In function `CONF_parse_list':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(conf_mod.o): In function `module_find':
/root/openssl-0.9.8/crypto/conf/conf_mod.c:327: undefined reference to
`strrchr'
/root/openssl-0.9.8/crypto/conf/conf_mod.c:337: undefined reference to
`strncmp'
libcrypto.a(conf_sap.o): In function `OPENSSL_config':
/root/openssl-0.9.8/crypto/conf/conf_sap.c:96: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/conf/conf_sap.c:102: undefined reference to
`exit'
libcrypto.a(txt_db.o): In function `TXT_DB_read':
/root/openssl-0.9.8/crypto/txt_db/txt_db.c:159: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/txt_db/txt_db.c:159: undefined reference to
`fprintf'
/root/openssl-0.9.8/crypto/txt_db/txt_db.c:180: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/txt_db/txt_db.c:180: undefined reference to
`fprintf'
/root/openssl-0.9.8/crypto/txt_db/txt_db.c:168: undefined reference to
`__stderrp'
/root/openssl-0.9.8/crypto/txt_db/txt_db.c:168: undefined reference to
`fprintf'
libcrypto.a(pk7_mime.o): In function `mime_parse_hdr':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(pk7_mime.o): In function `mime_hdr_new':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:173: undefined reference to `___tolower'
/usr/include/ctype.h:173: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:173: undefined reference to `___tolower'
/usr/include/ctype.h:173: undefined reference to `_CurrentRuneLocale'
libcrypto.a(pk7_mime.o): In function `mime_hdr_addparam':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
/usr/include/ctype.h:173: undefined reference to `___tolower'
/usr/include/ctype.h:173: undefined reference to `_CurrentRuneLocale'
libcrypto.a(pk7_mime.o): In function `strip_start':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(pk7_mime.o): In function `strip_end':
/usr/include/ctype.h:152: undefined reference to `___runetype'
/usr/include/ctype.h:152: undefined reference to `_CurrentRuneLocale'
libcrypto.a(pk7_mime.o): In function `mime_hdr_cmp':
/root/openssl-0.9.8/crypto/pkcs7/pk7_mime.c:692: undefined reference to
`strcmp'
libcrypto.a(pk7_mime.o): In function `mime_param_cmp':
/root/openssl-0.9.8/crypto/pkcs7/pk7_mime.c:698: undefined reference to
`strcmp'
libcrypto.a(pk7_mime.o): In function `mime_bound_check':
/root/openssl-0.9.8/crypto/pkcs7/pk7_mime.c:750: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pkcs7/pk7_mime.c:750: undefined reference to
`strncmp'
/root/openssl-0.9.8/crypto/pkcs7/pk7_mime.c:751: undefined referen
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Rich Salz via RT
In reply to this post by Rich Salz via RT

Hello!

On Tue, 5 Jul 2005, Andy Polyakov via RT wrote:

>
> >>>Sorry, I've forgotten to mention I use 20050627 snapshot and
> >>>./config -g shared zlib works fine.

> Yet I find it a bit too puzzling... After I've replied I came to realize
> that no-sse2/386 shouldn't actually affect the referred test
> procedure... Indeed, even though there're SSE2 instructions present in
> bn_mul_add_words, they operate on mmx registers and therefore don't
> actually require kernel support. Kernel support required for SSE2
> instructions operating on 128-bit xmm registers, but not on 64-bit mmx
> ones, and therefore if CPUID said SSE2 is available, then
> bn_mul_add_words should have worked... So if you can have time I'd still
> appreciate if you could collect and send over disassemble output in the
> vicinity of segmentation fault, as well as info registers... Once again,
> this is optional. A.

(gdb) bt
#0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
#1  0x0806038c in ?? ()
#2  0x28133009 in bn_sqr_normal (r=0x282966c4, a=0x24, n=37, tmp=0x28132c51)
    at bn_sqr.c:182
#3  0x28132c51 in BN_sqr (r=0x805578c, a=0x28066000, ctx=0x28132abc)
    at bn_sqr.c:132
#4  0x0804b58f in test_sqr (bp=0x80610c0, ctx=0x8061080) at bntest.c:691
#5  0x08049d14 in main (argc=671507456, argv=0xbfbffb4c) at bntest.c:215
(gdb) info r
eax            0x30281d48       807935304
ecx            0x8      8
edx            0x8061248        134615624
ebx            0x8061248        134615624
esp            0xbfbff870       0xbfbff870
ebp            0x89890000       0x89890000
esi            0x0      0
edi            0x806038c        134611852
eip            0x281330a1       0x281330a1
eflags         0x206    518
cs             0x1f     31
ss             0x2f     47
ds             0x2f     47
es             0x2f     47
fs             0x2f     47
gs             0x2f     47
(gdb) disassemble
Dump of assembler code for function bn_mul_add_words:
0x28133070 <bn_mul_add_words+0>:        push   %ebp
0x28133071 <bn_mul_add_words+1>:        push   %ebx
0x28133072 <bn_mul_add_words+2>:        push   %esi
0x28133073 <bn_mul_add_words+3>:        push   %edi
0x28133074 <bn_mul_add_words+4>:        xor    %esi,%esi
0x28133076 <bn_mul_add_words+6>:        mov    0x14(%esp,1),%edi
0x2813307a <bn_mul_add_words+10>:       mov    0x1c(%esp,1),%ecx
0x2813307e <bn_mul_add_words+14>:       mov    0x18(%esp,1),%ebx
0x28133082 <bn_mul_add_words+18>:       and    $0xfffffff8,%ecx
0x28133085 <bn_mul_add_words+21>:       mov    0x20(%esp,1),%ebp
0x28133089 <bn_mul_add_words+25>:       push   %ecx
0x2813308a <bn_mul_add_words+26>:       je     0x28133259 <bn_mul_add_words+489>
0x28133090 <bn_mul_add_words+32>:       call   0x28133095 <bn_mul_add_words+37>
0x28133095 <bn_mul_add_words+37>:       pop    %eax
0x28133096 <bn_mul_add_words+38>:       add    $0x163630,%eax
0x2813309b <bn_mul_add_words+43>:       mov    0x2cc(%eax),%eax
0x281330a1 <bn_mul_add_words+49>:       btl    $0x1a,(%eax)
0x281330a5 <bn_mul_add_words+53>:       jae    0x2813318f <bn_mul_add_words+287>
0x281330ab <bn_mul_add_words+59>:       movd   %ebp,%mm0
0x281330ae <bn_mul_add_words+62>:       pxor   %mm1,%mm1
0x281330b1 <bn_mul_add_words+65>:       movd   (%edi),%mm3
0x281330b4 <bn_mul_add_words+68>:       paddq  %mm3,%mm1
0x281330b7 <bn_mul_add_words+71>:       movd   (%ebx),%mm2
0x281330ba <bn_mul_add_words+74>:       pmuludq %mm0,%mm2
0x281330bd <bn_mul_add_words+77>:       movd   0x4(%ebx),%mm4
0x281330c1 <bn_mul_add_words+81>:       pmuludq %mm0,%mm4
0x281330c4 <bn_mul_add_words+84>:       movd   0x8(%ebx),%mm6
0x281330c8 <bn_mul_add_words+88>:       pmuludq %mm0,%mm6
0x281330cb <bn_mul_add_words+91>:       movd   0xc(%ebx),%mm7
0x281330cf <bn_mul_add_words+95>:       pmuludq %mm0,%mm7
0x281330d2 <bn_mul_add_words+98>:       paddq  %mm2,%mm1
0x281330d5 <bn_mul_add_words+101>:      movd   0x4(%edi),%mm3
0x281330d9 <bn_mul_add_words+105>:      paddq  %mm4,%mm3
0x281330dc <bn_mul_add_words+108>:      movd   0x8(%edi),%mm5
0x281330e0 <bn_mul_add_words+112>:      paddq  %mm6,%mm5
0x281330e3 <bn_mul_add_words+115>:      movd   0xc(%edi),%mm4
0x281330e7 <bn_mul_add_words+119>:      paddq  %mm4,%mm7
0x281330ea <bn_mul_add_words+122>:      movd   %mm1,(%edi)
0x281330ed <bn_mul_add_words+125>:      movd   0x10(%ebx),%mm2
0x281330f1 <bn_mul_add_words+129>:      pmuludq %mm0,%mm2
0x281330f4 <bn_mul_add_words+132>:      psrlq  $0x20,%mm1
0x281330f8 <bn_mul_add_words+136>:      movd   0x14(%ebx),%mm4
0x281330fc <bn_mul_add_words+140>:      pmuludq %mm0,%mm4
0x281330ff <bn_mul_add_words+143>:      paddq  %mm3,%mm1
0x28133102 <bn_mul_add_words+146>:      movd   0x18(%ebx),%mm6
0x28133106 <bn_mul_add_words+150>:      pmuludq %mm0,%mm6
0x28133109 <bn_mul_add_words+153>:      movd   %mm1,0x4(%edi)
0x2813310d <bn_mul_add_words+157>:      psrlq  $0x20,%mm1
0x28133111 <bn_mul_add_words+161>:      movd   0x1c(%ebx),%mm3
0x28133115 <bn_mul_add_words+165>:      add    $0x20,%ebx
0x28133118 <bn_mul_add_words+168>:      pmuludq %mm0,%mm3
0x2813311b <bn_mul_add_words+171>:      paddq  %mm5,%mm1
0x2813311e <bn_mul_add_words+174>:      movd   0x10(%edi),%mm5
0x28133122 <bn_mul_add_words+178>:      paddq  %mm5,%mm2
0x28133125 <bn_mul_add_words+181>:      movd   %mm1,0x8(%edi)
0x28133129 <bn_mul_add_words+185>:      psrlq  $0x20,%mm1
0x2813312d <bn_mul_add_words+189>:      paddq  %mm7,%mm1
0x28133130 <bn_mul_add_words+192>:      movd   0x14(%edi),%mm5
0x28133134 <bn_mul_add_words+196>:      paddq  %mm5,%mm4
0x28133137 <bn_mul_add_words+199>:      movd   %mm1,0xc(%edi)
0x2813313b <bn_mul_add_words+203>:      psrlq  $0x20,%mm1
0x2813313f <bn_mul_add_words+207>:      paddq  %mm2,%mm1
0x28133142 <bn_mul_add_words+210>:      movd   0x18(%edi),%mm5
0x28133146 <bn_mul_add_words+214>:      paddq  %mm5,%mm6
0x28133149 <bn_mul_add_words+217>:      movd   %mm1,0x10(%edi)
0x2813314d <bn_mul_add_words+221>:      psrlq  $0x20,%mm1
0x28133151 <bn_mul_add_words+225>:      paddq  %mm4,%mm1
0x28133154 <bn_mul_add_words+228>:      movd   0x1c(%edi),%mm5
0x28133158 <bn_mul_add_words+232>:      paddq  %mm5,%mm3
0x2813315b <bn_mul_add_words+235>:      movd   %mm1,0x14(%edi)
0x2813315f <bn_mul_add_words+239>:      psrlq  $0x20,%mm1
0x28133163 <bn_mul_add_words+243>:      paddq  %mm6,%mm1
0x28133166 <bn_mul_add_words+246>:      movd   %mm1,0x18(%edi)
0x2813316a <bn_mul_add_words+250>:      psrlq  $0x20,%mm1
0x2813316e <bn_mul_add_words+254>:      paddq  %mm3,%mm1
0x28133171 <bn_mul_add_words+257>:      movd   %mm1,0x1c(%edi)
0x28133175 <bn_mul_add_words+261>:      add    $0x20,%edi
0x28133178 <bn_mul_add_words+264>:      psrlq  $0x20,%mm1
0x2813317c <bn_mul_add_words+268>:      sub    $0x8,%ecx
0x2813317f <bn_mul_add_words+271>:      jne    0x281330b1 <bn_mul_add_words+65>
0x28133185 <bn_mul_add_words+277>:      movd   %mm1,%esi
0x28133188 <bn_mul_add_words+280>:      emms
0x2813318a <bn_mul_add_words+282>:      jmp    0x28133259 <bn_mul_add_words+489>
0x2813318f <bn_mul_add_words+287>:      mov    %ecx,(%esp,1)
0x28133192 <bn_mul_add_words+290>:      mov    (%ebx),%eax
0x28133194 <bn_mul_add_words+292>:      mul    %ebp
0x28133196 <bn_mul_add_words+294>:      add    %esi,%eax
0x28133198 <bn_mul_add_words+296>:      mov    (%edi),%esi
0x2813319a <bn_mul_add_words+298>:      adc    $0x0,%edx
0x2813319d <bn_mul_add_words+301>:      add    %esi,%eax
0x2813319f <bn_mul_add_words+303>:      adc    $0x0,%edx
0x281331a2 <bn_mul_add_words+306>:      mov    %eax,(%edi)
0x281331a4 <bn_mul_add_words+308>:      mov    %edx,%esi
0x281331a6 <bn_mul_add_words+310>:      mov    0x4(%ebx),%eax
0x281331a9 <bn_mul_add_words+313>:      mul    %ebp
0x281331ab <bn_mul_add_words+315>:      add    %esi,%eax
0x281331ad <bn_mul_add_words+317>:      mov    0x4(%edi),%esi
0x281331b0 <bn_mul_add_words+320>:      adc    $0x0,%edx
0x281331b3 <bn_mul_add_words+323>:      add    %esi,%eax
0x281331b5 <bn_mul_add_words+325>:      adc    $0x0,%edx
0x281331b8 <bn_mul_add_words+328>:      mov    %eax,0x4(%edi)
0x281331bb <bn_mul_add_words+331>:      mov    %edx,%esi
0x281331bd <bn_mul_add_words+333>:      mov    0x8(%ebx),%eax
0x281331c0 <bn_mul_add_words+336>:      mul    %ebp
0x281331c2 <bn_mul_add_words+338>:      add    %esi,%eax
0x281331c4 <bn_mul_add_words+340>:      mov    0x8(%edi),%esi
0x281331c7 <bn_mul_add_words+343>:      adc    $0x0,%edx
0x281331ca <bn_mul_add_words+346>:      add    %esi,%eax
0x281331cc <bn_mul_add_words+348>:      adc    $0x0,%edx
0x281331cf <bn_mul_add_words+351>:      mov    %eax,0x8(%edi)
0x281331d2 <bn_mul_add_words+354>:      mov    %edx,%esi
0x281331d4 <bn_mul_add_words+356>:      mov    0xc(%ebx),%eax
0x281331d7 <bn_mul_add_words+359>:      mul    %ebp
0x281331d9 <bn_mul_add_words+361>:      add    %esi,%eax
0x281331db <bn_mul_add_words+363>:      mov    0xc(%edi),%esi
0x281331de <bn_mul_add_words+366>:      adc    $0x0,%edx
0x281331e1 <bn_mul_add_words+369>:      add    %esi,%eax
0x281331e3 <bn_mul_add_words+371>:      adc    $0x0,%edx
0x281331e6 <bn_mul_add_words+374>:      mov    %eax,0xc(%edi)
0x281331e9 <bn_mul_add_words+377>:      mov    %edx,%esi
0x281331eb <bn_mul_add_words+379>:      mov    0x10(%ebx),%eax
0x281331ee <bn_mul_add_words+382>:      mul    %ebp
0x281331f0 <bn_mul_add_words+384>:      add    %esi,%eax
0x281331f2 <bn_mul_add_words+386>:      mov    0x10(%edi),%esi
0x281331f5 <bn_mul_add_words+389>:      adc    $0x0,%edx
0x281331f8 <bn_mul_add_words+392>:      add    %esi,%eax
0x281331fa <bn_mul_add_words+394>:      adc    $0x0,%edx
0x281331fd <bn_mul_add_words+397>:      mov    %eax,0x10(%edi)
0x28133200 <bn_mul_add_words+400>:      mov    %edx,%esi
0x28133202 <bn_mul_add_words+402>:      mov    0x14(%ebx),%eax
0x28133205 <bn_mul_add_words+405>:      mul    %ebp
0x28133207 <bn_mul_add_words+407>:      add    %esi,%eax
0x28133209 <bn_mul_add_words+409>:      mov    0x14(%edi),%esi
0x2813320c <bn_mul_add_words+412>:      adc    $0x0,%edx
0x2813320f <bn_mul_add_words+415>:      add    %esi,%eax
0x28133211 <bn_mul_add_words+417>:      adc    $0x0,%edx
0x28133214 <bn_mul_add_words+420>:      mov    %eax,0x14(%edi)
0x28133217 <bn_mul_add_words+423>:      mov    %edx,%esi
0x28133219 <bn_mul_add_words+425>:      mov    0x18(%ebx),%eax
0x2813321c <bn_mul_add_words+428>:      mul    %ebp
0x2813321e <bn_mul_add_words+430>:      add    %esi,%eax
0x28133220 <bn_mul_add_words+432>:      mov    0x18(%edi),%esi
0x28133223 <bn_mul_add_words+435>:      adc    $0x0,%edx
0x28133226 <bn_mul_add_words+438>:      add    %esi,%eax
0x28133228 <bn_mul_add_words+440>:      adc    $0x0,%edx
0x2813322b <bn_mul_add_words+443>:      mov    %eax,0x18(%edi)
0x2813322e <bn_mul_add_words+446>:      mov    %edx,%esi
0x28133230 <bn_mul_add_words+448>:      mov    0x1c(%ebx),%eax
0x28133233 <bn_mul_add_words+451>:      mul    %ebp
0x28133235 <bn_mul_add_words+453>:      add    %esi,%eax
0x28133237 <bn_mul_add_words+455>:      mov    0x1c(%edi),%esi
0x2813323a <bn_mul_add_words+458>:      adc    $0x0,%edx
0x2813323d <bn_mul_add_words+461>:      add    %esi,%eax
0x2813323f <bn_mul_add_words+463>:      adc    $0x0,%edx
0x28133242 <bn_mul_add_words+466>:      mov    %eax,0x1c(%edi)
0x28133245 <bn_mul_add_words+469>:      mov    %edx,%esi
0x28133247 <bn_mul_add_words+471>:      mov    (%esp,1),%ecx
0x2813324a <bn_mul_add_words+474>:      add    $0x20,%ebx
0x2813324d <bn_mul_add_words+477>:      add    $0x20,%edi
0x28133250 <bn_mul_add_words+480>:      sub    $0x8,%ecx
0x28133253 <bn_mul_add_words+483>:      jne    0x2813318f <bn_mul_add_words+287>
0x28133259 <bn_mul_add_words+489>:      mov    0x20(%esp,1),%ecx
0x2813325d <bn_mul_add_words+493>:      and    $0x7,%ecx
0x28133260 <bn_mul_add_words+496>:      jne    0x28133270 <bn_mul_add_words+512>
0x28133262 <bn_mul_add_words+498>:      jmp    0x28133324 <bn_mul_add_words+692>
0x28133267 <bn_mul_add_words+503>:      mov    %esi,%esi
0x28133269 <bn_mul_add_words+505>:      lea    0x0(%edi,1),%edi
0x28133270 <bn_mul_add_words+512>:      mov    (%ebx),%eax
0x28133272 <bn_mul_add_words+514>:      mul    %ebp
0x28133274 <bn_mul_add_words+516>:      add    %esi,%eax
0x28133276 <bn_mul_add_words+518>:      mov    (%edi),%esi
0x28133278 <bn_mul_add_words+520>:      adc    $0x0,%edx
0x2813327b <bn_mul_add_words+523>:      add    %esi,%eax
0x2813327d <bn_mul_add_words+525>:      adc    $0x0,%edx
0x28133280 <bn_mul_add_words+528>:      dec    %ecx
0x28133281 <bn_mul_add_words+529>:      mov    %eax,(%edi)
0x28133283 <bn_mul_add_words+531>:      mov    %edx,%esi
0x28133285 <bn_mul_add_words+533>:      je     0x28133324 <bn_mul_add_words+692>
0x2813328b <bn_mul_add_words+539>:      mov    0x4(%ebx),%eax
0x2813328e <bn_mul_add_words+542>:      mul    %ebp
0x28133290 <bn_mul_add_words+544>:      add    %esi,%eax
0x28133292 <bn_mul_add_words+546>:      mov    0x4(%edi),%esi
0x28133295 <bn_mul_add_words+549>:      adc    $0x0,%edx
0x28133298 <bn_mul_add_words+552>:      add    %esi,%eax
0x2813329a <bn_mul_add_words+554>:      adc    $0x0,%edx
0x2813329d <bn_mul_add_words+557>:      dec    %ecx
0x2813329e <bn_mul_add_words+558>:      mov    %eax,0x4(%edi)
0x281332a1 <bn_mul_add_words+561>:      mov    %edx,%esi
0x281332a3 <bn_mul_add_words+563>:      je     0x28133324 <bn_mul_add_words+692>
0x281332a5 <bn_mul_add_words+565>:      mov    0x8(%ebx),%eax
0x281332a8 <bn_mul_add_words+568>:      mul    %ebp
0x281332aa <bn_mul_add_words+570>:      add    %esi,%eax
0x281332ac <bn_mul_add_words+572>:      mov    0x8(%edi),%esi
0x281332af <bn_mul_add_words+575>:      adc    $0x0,%edx
0x281332b2 <bn_mul_add_words+578>:      add    %esi,%eax
0x281332b4 <bn_mul_add_words+580>:      adc    $0x0,%edx
0x281332b7 <bn_mul_add_words+583>:      dec    %ecx
0x281332b8 <bn_mul_add_words+584>:      mov    %eax,0x8(%edi)
0x281332bb <bn_mul_add_words+587>:      mov    %edx,%esi
0x281332bd <bn_mul_add_words+589>:      je     0x28133324 <bn_mul_add_words+692>
0x281332bf <bn_mul_add_words+591>:      mov    0xc(%ebx),%eax
0x281332c2 <bn_mul_add_words+594>:      mul    %ebp
0x281332c4 <bn_mul_add_words+596>:      add    %esi,%eax
0x281332c6 <bn_mul_add_words+598>:      mov    0xc(%edi),%esi
0x281332c9 <bn_mul_add_words+601>:      adc    $0x0,%edx
0x281332cc <bn_mul_add_words+604>:      add    %esi,%eax
0x281332ce <bn_mul_add_words+606>:      adc    $0x0,%edx
0x281332d1 <bn_mul_add_words+609>:      dec    %ecx
0x281332d2 <bn_mul_add_words+610>:      mov    %eax,0xc(%edi)
0x281332d5 <bn_mul_add_words+613>:      mov    %edx,%esi
0x281332d7 <bn_mul_add_words+615>:      je     0x28133324 <bn_mul_add_words+692>
0x281332d9 <bn_mul_add_words+617>:      mov    0x10(%ebx),%eax
0x281332dc <bn_mul_add_words+620>:      mul    %ebp
0x281332de <bn_mul_add_words+622>:      add    %esi,%eax
0x281332e0 <bn_mul_add_words+624>:      mov    0x10(%edi),%esi
0x281332e3 <bn_mul_add_words+627>:      adc    $0x0,%edx
0x281332e6 <bn_mul_add_words+630>:      add    %esi,%eax
0x281332e8 <bn_mul_add_words+632>:      adc    $0x0,%edx
0x281332eb <bn_mul_add_words+635>:      dec    %ecx
0x281332ec <bn_mul_add_words+636>:      mov    %eax,0x10(%edi)
0x281332ef <bn_mul_add_words+639>:      mov    %edx,%esi
0x281332f1 <bn_mul_add_words+641>:      je     0x28133324 <bn_mul_add_words+692>
0x281332f3 <bn_mul_add_words+643>:      mov    0x14(%ebx),%eax
0x281332f6 <bn_mul_add_words+646>:      mul    %ebp
0x281332f8 <bn_mul_add_words+648>:      add    %esi,%eax
0x281332fa <bn_mul_add_words+650>:      mov    0x14(%edi),%esi
0x281332fd <bn_mul_add_words+653>:      adc    $0x0,%edx
0x28133300 <bn_mul_add_words+656>:      add    %esi,%eax
0x28133302 <bn_mul_add_words+658>:      adc    $0x0,%edx
0x28133305 <bn_mul_add_words+661>:      dec    %ecx
0x28133306 <bn_mul_add_words+662>:      mov    %eax,0x14(%edi)
0x28133309 <bn_mul_add_words+665>:      mov    %edx,%esi
0x2813330b <bn_mul_add_words+667>:      je     0x28133324 <bn_mul_add_words+692>
0x2813330d <bn_mul_add_words+669>:      mov    0x18(%ebx),%eax
0x28133310 <bn_mul_add_words+672>:      mul    %ebp
0x28133312 <bn_mul_add_words+674>:      add    %esi,%eax
0x28133314 <bn_mul_add_words+676>:      mov    0x18(%edi),%esi
0x28133317 <bn_mul_add_words+679>:      adc    $0x0,%edx
0x2813331a <bn_mul_add_words+682>:      add    %esi,%eax
0x2813331c <bn_mul_add_words+684>:      adc    $0x0,%edx
0x2813331f <bn_mul_add_words+687>:      mov    %eax,0x18(%edi)
0x28133322 <bn_mul_add_words+690>:      mov    %edx,%esi
0x28133324 <bn_mul_add_words+692>:      mov    %esi,%eax
0x28133326 <bn_mul_add_words+694>:      pop    %ecx
0x28133327 <bn_mul_add_words+695>:      pop    %edi
0x28133328 <bn_mul_add_words+696>:      pop    %esi
0x28133329 <bn_mul_add_words+697>:      pop    %ebx
0x2813332a <bn_mul_add_words+698>:      pop    %ebp
0x2813332b <bn_mul_add_words+699>:      ret
0x2813332c <bn_mul_add_words+700>:      lea    0x0(%esi,1),%esi
End of assembler dump.

Thank you!

--
SY, Dmitry Belyavsky (ICQ UIN 11116575)

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Dmitry Belyavsky
In reply to this post by Rich Salz via RT
Hello!

On Tue, 5 Jul 2005, Andy Polyakov via RT wrote:

>
> >>>Sorry, I've forgotten to mention I use 20050627 snapshot and
> >>>./config -g shared zlib works fine.

> Yet I find it a bit too puzzling... After I've replied I came to realize
> that no-sse2/386 shouldn't actually affect the referred test
> procedure... Indeed, even though there're SSE2 instructions present in
> bn_mul_add_words, they operate on mmx registers and therefore don't
> actually require kernel support. Kernel support required for SSE2
> instructions operating on 128-bit xmm registers, but not on 64-bit mmx
> ones, and therefore if CPUID said SSE2 is available, then
> bn_mul_add_words should have worked... So if you can have time I'd still
> appreciate if you could collect and send over disassemble output in the
> vicinity of segmentation fault, as well as info registers... Once again,
> this is optional. A.

(gdb) bt
#0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
#1  0x0806038c in ?? ()
#2  0x28133009 in bn_sqr_normal (r=0x282966c4, a=0x24, n=37, tmp=0x28132c51)
    at bn_sqr.c:182
#3  0x28132c51 in BN_sqr (r=0x805578c, a=0x28066000, ctx=0x28132abc)
    at bn_sqr.c:132
#4  0x0804b58f in test_sqr (bp=0x80610c0, ctx=0x8061080) at bntest.c:691
#5  0x08049d14 in main (argc=671507456, argv=0xbfbffb4c) at bntest.c:215
(gdb) info r
eax            0x30281d48       807935304
ecx            0x8      8
edx            0x8061248        134615624
ebx            0x8061248        134615624
esp            0xbfbff870       0xbfbff870
ebp            0x89890000       0x89890000
esi            0x0      0
edi            0x806038c        134611852
eip            0x281330a1       0x281330a1
eflags         0x206    518
cs             0x1f     31
ss             0x2f     47
ds             0x2f     47
es             0x2f     47
fs             0x2f     47
gs             0x2f     47
(gdb) disassemble
Dump of assembler code for function bn_mul_add_words:
0x28133070 <bn_mul_add_words+0>:        push   %ebp
0x28133071 <bn_mul_add_words+1>:        push   %ebx
0x28133072 <bn_mul_add_words+2>:        push   %esi
0x28133073 <bn_mul_add_words+3>:        push   %edi
0x28133074 <bn_mul_add_words+4>:        xor    %esi,%esi
0x28133076 <bn_mul_add_words+6>:        mov    0x14(%esp,1),%edi
0x2813307a <bn_mul_add_words+10>:       mov    0x1c(%esp,1),%ecx
0x2813307e <bn_mul_add_words+14>:       mov    0x18(%esp,1),%ebx
0x28133082 <bn_mul_add_words+18>:       and    $0xfffffff8,%ecx
0x28133085 <bn_mul_add_words+21>:       mov    0x20(%esp,1),%ebp
0x28133089 <bn_mul_add_words+25>:       push   %ecx
0x2813308a <bn_mul_add_words+26>:       je     0x28133259 <bn_mul_add_words+489>
0x28133090 <bn_mul_add_words+32>:       call   0x28133095 <bn_mul_add_words+37>
0x28133095 <bn_mul_add_words+37>:       pop    %eax
0x28133096 <bn_mul_add_words+38>:       add    $0x163630,%eax
0x2813309b <bn_mul_add_words+43>:       mov    0x2cc(%eax),%eax
0x281330a1 <bn_mul_add_words+49>:       btl    $0x1a,(%eax)
0x281330a5 <bn_mul_add_words+53>:       jae    0x2813318f <bn_mul_add_words+287>
0x281330ab <bn_mul_add_words+59>:       movd   %ebp,%mm0
0x281330ae <bn_mul_add_words+62>:       pxor   %mm1,%mm1
0x281330b1 <bn_mul_add_words+65>:       movd   (%edi),%mm3
0x281330b4 <bn_mul_add_words+68>:       paddq  %mm3,%mm1
0x281330b7 <bn_mul_add_words+71>:       movd   (%ebx),%mm2
0x281330ba <bn_mul_add_words+74>:       pmuludq %mm0,%mm2
0x281330bd <bn_mul_add_words+77>:       movd   0x4(%ebx),%mm4
0x281330c1 <bn_mul_add_words+81>:       pmuludq %mm0,%mm4
0x281330c4 <bn_mul_add_words+84>:       movd   0x8(%ebx),%mm6
0x281330c8 <bn_mul_add_words+88>:       pmuludq %mm0,%mm6
0x281330cb <bn_mul_add_words+91>:       movd   0xc(%ebx),%mm7
0x281330cf <bn_mul_add_words+95>:       pmuludq %mm0,%mm7
0x281330d2 <bn_mul_add_words+98>:       paddq  %mm2,%mm1
0x281330d5 <bn_mul_add_words+101>:      movd   0x4(%edi),%mm3
0x281330d9 <bn_mul_add_words+105>:      paddq  %mm4,%mm3
0x281330dc <bn_mul_add_words+108>:      movd   0x8(%edi),%mm5
0x281330e0 <bn_mul_add_words+112>:      paddq  %mm6,%mm5
0x281330e3 <bn_mul_add_words+115>:      movd   0xc(%edi),%mm4
0x281330e7 <bn_mul_add_words+119>:      paddq  %mm4,%mm7
0x281330ea <bn_mul_add_words+122>:      movd   %mm1,(%edi)
0x281330ed <bn_mul_add_words+125>:      movd   0x10(%ebx),%mm2
0x281330f1 <bn_mul_add_words+129>:      pmuludq %mm0,%mm2
0x281330f4 <bn_mul_add_words+132>:      psrlq  $0x20,%mm1
0x281330f8 <bn_mul_add_words+136>:      movd   0x14(%ebx),%mm4
0x281330fc <bn_mul_add_words+140>:      pmuludq %mm0,%mm4
0x281330ff <bn_mul_add_words+143>:      paddq  %mm3,%mm1
0x28133102 <bn_mul_add_words+146>:      movd   0x18(%ebx),%mm6
0x28133106 <bn_mul_add_words+150>:      pmuludq %mm0,%mm6
0x28133109 <bn_mul_add_words+153>:      movd   %mm1,0x4(%edi)
0x2813310d <bn_mul_add_words+157>:      psrlq  $0x20,%mm1
0x28133111 <bn_mul_add_words+161>:      movd   0x1c(%ebx),%mm3
0x28133115 <bn_mul_add_words+165>:      add    $0x20,%ebx
0x28133118 <bn_mul_add_words+168>:      pmuludq %mm0,%mm3
0x2813311b <bn_mul_add_words+171>:      paddq  %mm5,%mm1
0x2813311e <bn_mul_add_words+174>:      movd   0x10(%edi),%mm5
0x28133122 <bn_mul_add_words+178>:      paddq  %mm5,%mm2
0x28133125 <bn_mul_add_words+181>:      movd   %mm1,0x8(%edi)
0x28133129 <bn_mul_add_words+185>:      psrlq  $0x20,%mm1
0x2813312d <bn_mul_add_words+189>:      paddq  %mm7,%mm1
0x28133130 <bn_mul_add_words+192>:      movd   0x14(%edi),%mm5
0x28133134 <bn_mul_add_words+196>:      paddq  %mm5,%mm4
0x28133137 <bn_mul_add_words+199>:      movd   %mm1,0xc(%edi)
0x2813313b <bn_mul_add_words+203>:      psrlq  $0x20,%mm1
0x2813313f <bn_mul_add_words+207>:      paddq  %mm2,%mm1
0x28133142 <bn_mul_add_words+210>:      movd   0x18(%edi),%mm5
0x28133146 <bn_mul_add_words+214>:      paddq  %mm5,%mm6
0x28133149 <bn_mul_add_words+217>:      movd   %mm1,0x10(%edi)
0x2813314d <bn_mul_add_words+221>:      psrlq  $0x20,%mm1
0x28133151 <bn_mul_add_words+225>:      paddq  %mm4,%mm1
0x28133154 <bn_mul_add_words+228>:      movd   0x1c(%edi),%mm5
0x28133158 <bn_mul_add_words+232>:      paddq  %mm5,%mm3
0x2813315b <bn_mul_add_words+235>:      movd   %mm1,0x14(%edi)
0x2813315f <bn_mul_add_words+239>:      psrlq  $0x20,%mm1
0x28133163 <bn_mul_add_words+243>:      paddq  %mm6,%mm1
0x28133166 <bn_mul_add_words+246>:      movd   %mm1,0x18(%edi)
0x2813316a <bn_mul_add_words+250>:      psrlq  $0x20,%mm1
0x2813316e <bn_mul_add_words+254>:      paddq  %mm3,%mm1
0x28133171 <bn_mul_add_words+257>:      movd   %mm1,0x1c(%edi)
0x28133175 <bn_mul_add_words+261>:      add    $0x20,%edi
0x28133178 <bn_mul_add_words+264>:      psrlq  $0x20,%mm1
0x2813317c <bn_mul_add_words+268>:      sub    $0x8,%ecx
0x2813317f <bn_mul_add_words+271>:      jne    0x281330b1 <bn_mul_add_words+65>
0x28133185 <bn_mul_add_words+277>:      movd   %mm1,%esi
0x28133188 <bn_mul_add_words+280>:      emms
0x2813318a <bn_mul_add_words+282>:      jmp    0x28133259 <bn_mul_add_words+489>
0x2813318f <bn_mul_add_words+287>:      mov    %ecx,(%esp,1)
0x28133192 <bn_mul_add_words+290>:      mov    (%ebx),%eax
0x28133194 <bn_mul_add_words+292>:      mul    %ebp
0x28133196 <bn_mul_add_words+294>:      add    %esi,%eax
0x28133198 <bn_mul_add_words+296>:      mov    (%edi),%esi
0x2813319a <bn_mul_add_words+298>:      adc    $0x0,%edx
0x2813319d <bn_mul_add_words+301>:      add    %esi,%eax
0x2813319f <bn_mul_add_words+303>:      adc    $0x0,%edx
0x281331a2 <bn_mul_add_words+306>:      mov    %eax,(%edi)
0x281331a4 <bn_mul_add_words+308>:      mov    %edx,%esi
0x281331a6 <bn_mul_add_words+310>:      mov    0x4(%ebx),%eax
0x281331a9 <bn_mul_add_words+313>:      mul    %ebp
0x281331ab <bn_mul_add_words+315>:      add    %esi,%eax
0x281331ad <bn_mul_add_words+317>:      mov    0x4(%edi),%esi
0x281331b0 <bn_mul_add_words+320>:      adc    $0x0,%edx
0x281331b3 <bn_mul_add_words+323>:      add    %esi,%eax
0x281331b5 <bn_mul_add_words+325>:      adc    $0x0,%edx
0x281331b8 <bn_mul_add_words+328>:      mov    %eax,0x4(%edi)
0x281331bb <bn_mul_add_words+331>:      mov    %edx,%esi
0x281331bd <bn_mul_add_words+333>:      mov    0x8(%ebx),%eax
0x281331c0 <bn_mul_add_words+336>:      mul    %ebp
0x281331c2 <bn_mul_add_words+338>:      add    %esi,%eax
0x281331c4 <bn_mul_add_words+340>:      mov    0x8(%edi),%esi
0x281331c7 <bn_mul_add_words+343>:      adc    $0x0,%edx
0x281331ca <bn_mul_add_words+346>:      add    %esi,%eax
0x281331cc <bn_mul_add_words+348>:      adc    $0x0,%edx
0x281331cf <bn_mul_add_words+351>:      mov    %eax,0x8(%edi)
0x281331d2 <bn_mul_add_words+354>:      mov    %edx,%esi
0x281331d4 <bn_mul_add_words+356>:      mov    0xc(%ebx),%eax
0x281331d7 <bn_mul_add_words+359>:      mul    %ebp
0x281331d9 <bn_mul_add_words+361>:      add    %esi,%eax
0x281331db <bn_mul_add_words+363>:      mov    0xc(%edi),%esi
0x281331de <bn_mul_add_words+366>:      adc    $0x0,%edx
0x281331e1 <bn_mul_add_words+369>:      add    %esi,%eax
0x281331e3 <bn_mul_add_words+371>:      adc    $0x0,%edx
0x281331e6 <bn_mul_add_words+374>:      mov    %eax,0xc(%edi)
0x281331e9 <bn_mul_add_words+377>:      mov    %edx,%esi
0x281331eb <bn_mul_add_words+379>:      mov    0x10(%ebx),%eax
0x281331ee <bn_mul_add_words+382>:      mul    %ebp
0x281331f0 <bn_mul_add_words+384>:      add    %esi,%eax
0x281331f2 <bn_mul_add_words+386>:      mov    0x10(%edi),%esi
0x281331f5 <bn_mul_add_words+389>:      adc    $0x0,%edx
0x281331f8 <bn_mul_add_words+392>:      add    %esi,%eax
0x281331fa <bn_mul_add_words+394>:      adc    $0x0,%edx
0x281331fd <bn_mul_add_words+397>:      mov    %eax,0x10(%edi)
0x28133200 <bn_mul_add_words+400>:      mov    %edx,%esi
0x28133202 <bn_mul_add_words+402>:      mov    0x14(%ebx),%eax
0x28133205 <bn_mul_add_words+405>:      mul    %ebp
0x28133207 <bn_mul_add_words+407>:      add    %esi,%eax
0x28133209 <bn_mul_add_words+409>:      mov    0x14(%edi),%esi
0x2813320c <bn_mul_add_words+412>:      adc    $0x0,%edx
0x2813320f <bn_mul_add_words+415>:      add    %esi,%eax
0x28133211 <bn_mul_add_words+417>:      adc    $0x0,%edx
0x28133214 <bn_mul_add_words+420>:      mov    %eax,0x14(%edi)
0x28133217 <bn_mul_add_words+423>:      mov    %edx,%esi
0x28133219 <bn_mul_add_words+425>:      mov    0x18(%ebx),%eax
0x2813321c <bn_mul_add_words+428>:      mul    %ebp
0x2813321e <bn_mul_add_words+430>:      add    %esi,%eax
0x28133220 <bn_mul_add_words+432>:      mov    0x18(%edi),%esi
0x28133223 <bn_mul_add_words+435>:      adc    $0x0,%edx
0x28133226 <bn_mul_add_words+438>:      add    %esi,%eax
0x28133228 <bn_mul_add_words+440>:      adc    $0x0,%edx
0x2813322b <bn_mul_add_words+443>:      mov    %eax,0x18(%edi)
0x2813322e <bn_mul_add_words+446>:      mov    %edx,%esi
0x28133230 <bn_mul_add_words+448>:      mov    0x1c(%ebx),%eax
0x28133233 <bn_mul_add_words+451>:      mul    %ebp
0x28133235 <bn_mul_add_words+453>:      add    %esi,%eax
0x28133237 <bn_mul_add_words+455>:      mov    0x1c(%edi),%esi
0x2813323a <bn_mul_add_words+458>:      adc    $0x0,%edx
0x2813323d <bn_mul_add_words+461>:      add    %esi,%eax
0x2813323f <bn_mul_add_words+463>:      adc    $0x0,%edx
0x28133242 <bn_mul_add_words+466>:      mov    %eax,0x1c(%edi)
0x28133245 <bn_mul_add_words+469>:      mov    %edx,%esi
0x28133247 <bn_mul_add_words+471>:      mov    (%esp,1),%ecx
0x2813324a <bn_mul_add_words+474>:      add    $0x20,%ebx
0x2813324d <bn_mul_add_words+477>:      add    $0x20,%edi
0x28133250 <bn_mul_add_words+480>:      sub    $0x8,%ecx
0x28133253 <bn_mul_add_words+483>:      jne    0x2813318f <bn_mul_add_words+287>
0x28133259 <bn_mul_add_words+489>:      mov    0x20(%esp,1),%ecx
0x2813325d <bn_mul_add_words+493>:      and    $0x7,%ecx
0x28133260 <bn_mul_add_words+496>:      jne    0x28133270 <bn_mul_add_words+512>
0x28133262 <bn_mul_add_words+498>:      jmp    0x28133324 <bn_mul_add_words+692>
0x28133267 <bn_mul_add_words+503>:      mov    %esi,%esi
0x28133269 <bn_mul_add_words+505>:      lea    0x0(%edi,1),%edi
0x28133270 <bn_mul_add_words+512>:      mov    (%ebx),%eax
0x28133272 <bn_mul_add_words+514>:      mul    %ebp
0x28133274 <bn_mul_add_words+516>:      add    %esi,%eax
0x28133276 <bn_mul_add_words+518>:      mov    (%edi),%esi
0x28133278 <bn_mul_add_words+520>:      adc    $0x0,%edx
0x2813327b <bn_mul_add_words+523>:      add    %esi,%eax
0x2813327d <bn_mul_add_words+525>:      adc    $0x0,%edx
0x28133280 <bn_mul_add_words+528>:      dec    %ecx
0x28133281 <bn_mul_add_words+529>:      mov    %eax,(%edi)
0x28133283 <bn_mul_add_words+531>:      mov    %edx,%esi
0x28133285 <bn_mul_add_words+533>:      je     0x28133324 <bn_mul_add_words+692>
0x2813328b <bn_mul_add_words+539>:      mov    0x4(%ebx),%eax
0x2813328e <bn_mul_add_words+542>:      mul    %ebp
0x28133290 <bn_mul_add_words+544>:      add    %esi,%eax
0x28133292 <bn_mul_add_words+546>:      mov    0x4(%edi),%esi
0x28133295 <bn_mul_add_words+549>:      adc    $0x0,%edx
0x28133298 <bn_mul_add_words+552>:      add    %esi,%eax
0x2813329a <bn_mul_add_words+554>:      adc    $0x0,%edx
0x2813329d <bn_mul_add_words+557>:      dec    %ecx
0x2813329e <bn_mul_add_words+558>:      mov    %eax,0x4(%edi)
0x281332a1 <bn_mul_add_words+561>:      mov    %edx,%esi
0x281332a3 <bn_mul_add_words+563>:      je     0x28133324 <bn_mul_add_words+692>
0x281332a5 <bn_mul_add_words+565>:      mov    0x8(%ebx),%eax
0x281332a8 <bn_mul_add_words+568>:      mul    %ebp
0x281332aa <bn_mul_add_words+570>:      add    %esi,%eax
0x281332ac <bn_mul_add_words+572>:      mov    0x8(%edi),%esi
0x281332af <bn_mul_add_words+575>:      adc    $0x0,%edx
0x281332b2 <bn_mul_add_words+578>:      add    %esi,%eax
0x281332b4 <bn_mul_add_words+580>:      adc    $0x0,%edx
0x281332b7 <bn_mul_add_words+583>:      dec    %ecx
0x281332b8 <bn_mul_add_words+584>:      mov    %eax,0x8(%edi)
0x281332bb <bn_mul_add_words+587>:      mov    %edx,%esi
0x281332bd <bn_mul_add_words+589>:      je     0x28133324 <bn_mul_add_words+692>
0x281332bf <bn_mul_add_words+591>:      mov    0xc(%ebx),%eax
0x281332c2 <bn_mul_add_words+594>:      mul    %ebp
0x281332c4 <bn_mul_add_words+596>:      add    %esi,%eax
0x281332c6 <bn_mul_add_words+598>:      mov    0xc(%edi),%esi
0x281332c9 <bn_mul_add_words+601>:      adc    $0x0,%edx
0x281332cc <bn_mul_add_words+604>:      add    %esi,%eax
0x281332ce <bn_mul_add_words+606>:      adc    $0x0,%edx
0x281332d1 <bn_mul_add_words+609>:      dec    %ecx
0x281332d2 <bn_mul_add_words+610>:      mov    %eax,0xc(%edi)
0x281332d5 <bn_mul_add_words+613>:      mov    %edx,%esi
0x281332d7 <bn_mul_add_words+615>:      je     0x28133324 <bn_mul_add_words+692>
0x281332d9 <bn_mul_add_words+617>:      mov    0x10(%ebx),%eax
0x281332dc <bn_mul_add_words+620>:      mul    %ebp
0x281332de <bn_mul_add_words+622>:      add    %esi,%eax
0x281332e0 <bn_mul_add_words+624>:      mov    0x10(%edi),%esi
0x281332e3 <bn_mul_add_words+627>:      adc    $0x0,%edx
0x281332e6 <bn_mul_add_words+630>:      add    %esi,%eax
0x281332e8 <bn_mul_add_words+632>:      adc    $0x0,%edx
0x281332eb <bn_mul_add_words+635>:      dec    %ecx
0x281332ec <bn_mul_add_words+636>:      mov    %eax,0x10(%edi)
0x281332ef <bn_mul_add_words+639>:      mov    %edx,%esi
0x281332f1 <bn_mul_add_words+641>:      je     0x28133324 <bn_mul_add_words+692>
0x281332f3 <bn_mul_add_words+643>:      mov    0x14(%ebx),%eax
0x281332f6 <bn_mul_add_words+646>:      mul    %ebp
0x281332f8 <bn_mul_add_words+648>:      add    %esi,%eax
0x281332fa <bn_mul_add_words+650>:      mov    0x14(%edi),%esi
0x281332fd <bn_mul_add_words+653>:      adc    $0x0,%edx
0x28133300 <bn_mul_add_words+656>:      add    %esi,%eax
0x28133302 <bn_mul_add_words+658>:      adc    $0x0,%edx
0x28133305 <bn_mul_add_words+661>:      dec    %ecx
0x28133306 <bn_mul_add_words+662>:      mov    %eax,0x14(%edi)
0x28133309 <bn_mul_add_words+665>:      mov    %edx,%esi
0x2813330b <bn_mul_add_words+667>:      je     0x28133324 <bn_mul_add_words+692>
0x2813330d <bn_mul_add_words+669>:      mov    0x18(%ebx),%eax
0x28133310 <bn_mul_add_words+672>:      mul    %ebp
0x28133312 <bn_mul_add_words+674>:      add    %esi,%eax
0x28133314 <bn_mul_add_words+676>:      mov    0x18(%edi),%esi
0x28133317 <bn_mul_add_words+679>:      adc    $0x0,%edx
0x2813331a <bn_mul_add_words+682>:      add    %esi,%eax
0x2813331c <bn_mul_add_words+684>:      adc    $0x0,%edx
0x2813331f <bn_mul_add_words+687>:      mov    %eax,0x18(%edi)
0x28133322 <bn_mul_add_words+690>:      mov    %edx,%esi
0x28133324 <bn_mul_add_words+692>:      mov    %esi,%eax
0x28133326 <bn_mul_add_words+694>:      pop    %ecx
0x28133327 <bn_mul_add_words+695>:      pop    %edi
0x28133328 <bn_mul_add_words+696>:      pop    %esi
0x28133329 <bn_mul_add_words+697>:      pop    %ebx
0x2813332a <bn_mul_add_words+698>:      pop    %ebp
0x2813332b <bn_mul_add_words+699>:      ret
0x2813332c <bn_mul_add_words+700>:      lea    0x0(%esi,1),%esi
End of assembler dump.

Thank you!

--
SY, Dmitry Belyavsky (ICQ UIN 11116575)

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Rich Salz via RT
In reply to this post by Rich Salz via RT

>>>>>Sorry, I've forgotten to mention I use 20050627 snapshot and
>>>>>./config -g shared zlib works fine.
>
>
>>Yet I find it a bit too puzzling... After I've replied I came to realize
>>that no-sse2/386 shouldn't actually affect the referred test
>>procedure... Indeed, even though there're SSE2 instructions present in
>>bn_mul_add_words, they operate on mmx registers and therefore don't
>>actually require kernel support. Kernel support required for SSE2
>>instructions operating on 128-bit xmm registers, but not on 64-bit mmx
>>ones, and therefore if CPUID said SSE2 is available, then
>>bn_mul_add_words should have worked... So if you can have time I'd still
>>appreciate if you could collect and send over disassemble output in the
>>vicinity of segmentation fault, as well as info registers... Once again,
>>this is optional. A.
>
>
> (gdb) bt
> #0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
> (gdb) info r
> eax            0x30281d48       807935304
> (gdb) disassemble
> Dump of assembler code for function bn_mul_add_words:
> 0x28133090 <bn_mul_add_words+32>:       call   0x28133095 <bn_mul_add_words+37>
> 0x28133095 <bn_mul_add_words+37>:       pop    %eax
> 0x28133096 <bn_mul_add_words+38>:       add    $0x163630,%eax
> 0x2813309b <bn_mul_add_words+43>:       mov    0x2cc(%eax),%eax
> 0x281330a1 <bn_mul_add_words+49>:       btl    $0x1a,(%eax)

btl? This most likely indicates bug in binutils or run-time linker, as
it's ld, which is solely responsible for constants above btl and
run-time linker is responsible for value found at 0x2cc(%eax) location.
So that 386/no-sse2 doesn't really have everyting to do with SSE2
instruction per se, it simply excludes the above snippet and thus avoid
bug condition. It might be possible to avoid the bug in OpenSSL [is it
really important?]. Binutils upgrade might help [is it an option?]. Or
simply avoid -ggdb... A.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Rich Salz via RT
In reply to this post by Rich Salz via RT

Hello!

On Thu, 7 Jul 2005, Andy Polyakov via RT wrote:

>
> >>>>>Sorry, I've forgotten to mention I use 20050627 snapshot and
> >>>>>./config -g shared zlib works fine.
> >
> >
> >>Yet I find it a bit too puzzling... After I've replied I came to realize
> >>that no-sse2/386 shouldn't actually affect the referred test
> >>procedure... Indeed, even though there're SSE2 instructions present in
> >>bn_mul_add_words, they operate on mmx registers and therefore don't
> >>actually require kernel support. Kernel support required for SSE2
> >>instructions operating on 128-bit xmm registers, but not on 64-bit mmx
> >>ones, and therefore if CPUID said SSE2 is available, then
> >>bn_mul_add_words should have worked... So if you can have time I'd still
> >>appreciate if you could collect and send over disassemble output in the
> >>vicinity of segmentation fault, as well as info registers... Once again,
> >>this is optional. A.
> >
> >
> > (gdb) bt
> > #0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
> > (gdb) info r
> > eax            0x30281d48       807935304
> > (gdb) disassemble
> > Dump of assembler code for function bn_mul_add_words:
> > 0x28133090 <bn_mul_add_words+32>:       call   0x28133095 <bn_mul_add_words+37>
> > 0x28133095 <bn_mul_add_words+37>:       pop    %eax
> > 0x28133096 <bn_mul_add_words+38>:       add    $0x163630,%eax
> > 0x2813309b <bn_mul_add_words+43>:       mov    0x2cc(%eax),%eax
> > 0x281330a1 <bn_mul_add_words+49>:       btl    $0x1a,(%eax)
>
> btl? This most likely indicates bug in binutils or run-time linker, as
> it's ld, which is solely responsible for constants above btl and
> run-time linker is responsible for value found at 0x2cc(%eax) location.

How can I check it?

> So that 386/no-sse2 doesn't really have everyting to do with SSE2
> instruction per se, it simply excludes the above snippet and thus avoid
> bug condition. It might be possible to avoid the bug in OpenSSL [is it
> really important?]. Binutils upgrade might help [is it an option?]. Or
> simply avoid -ggdb... A.

It's all possible and bug is not critical for us.

But it happens without -ggdb too.

Thank you!

--
SY, Dmitry Belyavsky (ICQ UIN 11116575)

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Dmitry Belyavsky
In reply to this post by Rich Salz via RT
Hello!

On Thu, 7 Jul 2005, Andy Polyakov via RT wrote:

>
> >>>>>Sorry, I've forgotten to mention I use 20050627 snapshot and
> >>>>>./config -g shared zlib works fine.
> >
> >
> >>Yet I find it a bit too puzzling... After I've replied I came to realize
> >>that no-sse2/386 shouldn't actually affect the referred test
> >>procedure... Indeed, even though there're SSE2 instructions present in
> >>bn_mul_add_words, they operate on mmx registers and therefore don't
> >>actually require kernel support. Kernel support required for SSE2
> >>instructions operating on 128-bit xmm registers, but not on 64-bit mmx
> >>ones, and therefore if CPUID said SSE2 is available, then
> >>bn_mul_add_words should have worked... So if you can have time I'd still
> >>appreciate if you could collect and send over disassemble output in the
> >>vicinity of segmentation fault, as well as info registers... Once again,
> >>this is optional. A.
> >
> >
> > (gdb) bt
> > #0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
> > (gdb) info r
> > eax            0x30281d48       807935304
> > (gdb) disassemble
> > Dump of assembler code for function bn_mul_add_words:
> > 0x28133090 <bn_mul_add_words+32>:       call   0x28133095 <bn_mul_add_words+37>
> > 0x28133095 <bn_mul_add_words+37>:       pop    %eax
> > 0x28133096 <bn_mul_add_words+38>:       add    $0x163630,%eax
> > 0x2813309b <bn_mul_add_words+43>:       mov    0x2cc(%eax),%eax
> > 0x281330a1 <bn_mul_add_words+49>:       btl    $0x1a,(%eax)
>
> btl? This most likely indicates bug in binutils or run-time linker, as
> it's ld, which is solely responsible for constants above btl and
> run-time linker is responsible for value found at 0x2cc(%eax) location.

How can I check it?

> So that 386/no-sse2 doesn't really have everyting to do with SSE2
> instruction per se, it simply excludes the above snippet and thus avoid
> bug condition. It might be possible to avoid the bug in OpenSSL [is it
> really important?]. Binutils upgrade might help [is it an option?]. Or
> simply avoid -ggdb... A.

It's all possible and bug is not critical for us.

But it happens without -ggdb too.

Thank you!

--
SY, Dmitry Belyavsky (ICQ UIN 11116575)

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]
Reply | Threaded
Open this post in threaded view
|

Re: [openssl.org #1146] [BUG] Segfault on FreeBSD 4.8-RELEASE #0

Rich Salz via RT
In reply to this post by Rich Salz via RT

>>>(gdb) bt
>>>#0  0x281330a1 in bn_mul_add_words () from ./libcrypto.so.0.9.8
>>>(gdb) info r
>>>eax            0x30281d48       807935304
>>>(gdb) disassemble
>>>Dump of assembler code for function bn_mul_add_words:
>>>0x28133090 <bn_mul_add_words+32>:       call   0x28133095 <bn_mul_add_words+37>
>>>0x28133095 <bn_mul_add_words+37>:       pop    %eax
>>>0x28133096 <bn_mul_add_words+38>:       add    $0x163630,%eax
>>>0x2813309b <bn_mul_add_words+43>:       mov    0x2cc(%eax),%eax
>>>0x281330a1 <bn_mul_add_words+49>:       btl    $0x1a,(%eax)
>>
>>btl? This most likely indicates bug in binutils or run-time linker, as
>>it's ld, which is solely responsible for constants above btl and
>>run-time linker is responsible for value found at 0x2cc(%eax) location.
>
> How can I check it?

Check what? Is it ld or run-time linker? I don't know... Though note the
constant added to %eax [3rd line]. It's added to the address of *above*
instruction, pop %eax to be specific, to produce the address of
GLOBAL_OFFSET_TABLE. Now, given the address of pop instructions and
constant value the address would end with ... 5, right? I find it very
hard to beleive that the table in question would be unaligned. Meaning
that run-time linker is unlikely one to blaim. ld is likely to be buggy.
Though it also might be bug in assembler, which records wrong bias into
.o file, which is then processed by linker... What do you see there if
you objdump -d crypto/bn/bn86-elf.o? You should see 'add $2,%eax' in .o
which is not yet linked.... But both ld and as are part of binutils, so
just try newer binutils... A.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [hidden email]
Automated List Manager                           [hidden email]