spider:~# ls -l /lib64/libc*
-rwxr-xr-x 1 root root 1286104 2007-07-30 22:42 /lib64/libc-2.3.6.so
-rw-r--r-- 1 root root 190712 2007-07-30 22:42 /lib64/libcidn-2.3.6.so
lrwxrwxrwx 1 root root 16 2007-08-20 13:57 /lib64/libcidn.so.1 ->
libcidn-2.3.6.so
-rw-r--r-- 1 root root 22656 2007-07-30 22:42 /lib64/libcrypt-2.3.6.so
lrwxrwxrwx 1 root root 17 2007-08-20 13:57 /lib64/libcrypt.so.1 ->
libcrypt-2.3.6.so
lrwxrwxrwx 1 root root 13 2007-08-20 13:57 /lib64/libc.so.6 ->
libc-2.3.6.so
i tried both the etch version and the stock version of openssl 0.9.8e
and got exactly the same error
thanks for looking into that :-)
Florian
Darryl Miles wrote:
Darryl Miles wrote:
Florian Schnabel wrote:
spider:/opt/openssl-0.9.8e-etch/apps# gcc -DMONOLITH -I..
-I../include -DOPENSSL_THREADS -D_REENTRANT \
> -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -O3 -Wall \
> -DMD32_REG_T=int -DMD5_ASM -c -o s_server.o s_server.s
s_server.s: Assembler messages:
s_server.s:437: Error: Incorrect register `%rax' used with `l' suffix
s_server.s:445: Error: Incorrect register `%rbx' used with `l' suffix
s_server.s:465: Error: Incorrect register `%rdx' used with `l' suffix
s_server.s:466: Error: Incorrect register `%rbx' used with `l' suffix
spider:/opt/openssl-0.9.8e-etch/apps#
as you can see this gives the errors i had
what do you want me to make available online ?
the log ?
The s_server.s file that was created, the one now reporting the errors.
#APP
btsl %rax,8240(%rsp,%rbx,8)
#NO_APP
The signification of the "#APP" and "#NO_APP" around the affected lines
are the start and end demarcation of inline __asm__ instructions so the
bug here is with something (other than GCC) for using inappropriate
inline assembler.
Looking at the function its possible the FD_ZERO() and FD_SET() macros
are the cause which makes the real error here in the header files of
your glibc version.
Which version of glibc do you have installed "ls -l /lib64/libc*"
Also are you using the stock version of OpenSSL 0.9.8e or some "etch"
version which has been patched?
Affected function is sv_body() in s_server.c:
#APP
btsl %rax,8240(%rsp,%rbx,8) ;; LINE 437
#NO_APP
#APP
btsl %rbx,8240(%rsp,%rbp,8) ;; LINE 445
#NO_APP
#APP
btl %rdx,8240(%rsp,%rax,8) ; setcb %al ;; LINE 465
btl %rbx,8240(%rsp,%rbp,8) ; setcb %dl ;; LINE 466
#NO_APP
If you simply remove the "l" suffix to each of the instructions GAS will
automatically select the correct data width instruction based on the
arguments given. This way you do not have to write different macros for
x86_64 and i386 in cases where they would work.
I can't say if the above code is correct or not when the "l" suffix is
removed, someone needs to audit that situation and report to the list.
Darryl
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager [EMAIL PROTECTED]
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List openssl-users@openssl.org
Automated List Manager [EMAIL PROTECTED]