Florian Schnabel wrote:
i tried both the etch version and the stock version of openssl 0.9.8e and got exactly the same error

comment out your FD_ZERO(), FD_SET() and FD_ISSET() macros from the file s_server.c this will confirm the problem is with glibc, then please file a bug report with debian.

Maybe a:

find /usr/include /usr/local/include -type f -name "*.[hH]" -exec egrep -H "(FD_ZERO|FD_SET|FD_ISSET)" {} \;

Will give you are starting point of what to track down, maybe there is a #ifdef option to disable using inline assembler. Looking at my x86_64 system /usr/include/bits/select.h it has a C implementation of the macros from glibc 2.3.6.


#define __FD_ZERO(s) \
do { \ unsigned int __i; \ fd_set *__arr = (s); \ for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \ __FDS_BITS (__arr)[__i] = 0; \
  } while (0)
#define __FD_SET(d, s)     (__FDS_BITS (s)[__FDELT(d)] |= __FDMASK(d))
#define __FD_CLR(d, s)     (__FDS_BITS (s)[__FDELT(d)] &= ~__FDMASK(d))
#define __FD_ISSET(d, s)   ((__FDS_BITS (s)[__FDELT(d)] & __FDMASK(d)) != 0)


But my i386 system using glibc 2.3.3 has BOTH an inline assembler version selected when "defined __GNUC__ && __GNUC__ >= 2" so I guess your quickest fix is to disable them maybe by appending "&& 0" to the #if rule.

Please file a bug report with debian!


Darryl
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to