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]

Reply via email to