On Mon, Jul 01, 2002 at 04:18:47PM +0200, Gerald Pfeifer wrote:
[ I'm now also Cc:ing this to the Wine developers, thus the full-quote. In fact, all non-GLIBC platforms seem to be affected by this bug! ]
Based on your pointer, I believe I found the problem. In aclocal.m4 we have:
AC_DEFUN([WINE_CHECK_ERRNO], [AC_CACHE_CHECK([for reentrant libc: $1],[wine_cv_libc_r_$1], [AC_TRY_RUN([int myerrno = 0; char buf[256]; int *$1(){return &myerrno;} main(){connect(0,buf,255); exit(!myerrno);}], wine_cv_libc_r_$1=yes, wine_cv_libc_r_$1=no, wine_cv_libc_r_$1=yes)]) AS_IF([test "$wine_cv_libc_r_$1" = "yes"],[$2],[$3])])
which, in configure, becomes:
int myerrno = 0; char buf256; int *__error(){return &myerrno;} main(){connect(0,buf,255); exit(!myerrno);}
That is, instead of an array of 256 characters, we have one character, and the invocation of connect() is definitely incorrect.
Could someone more familiar with autoconf please have a look at this?
The [256] is evaluated and replaced by 256 by m4. So this is not a glibc, but an autoconf problem.
What is the autoconf version used there?
Ciao, Marcus