I noticed that the OOB check fails with TIMEOUT in 7.8 on my linux box. It produces SEMIWORKING in 7.6, so something is different in the configure script, although the test itself is identical.
The log doesn't say much. Here's from 7.8:
configure:70034: checking how well OOB handling works configure:70366: /home/mast/Pike/no-changes-7.8/build/linux-x86_64/smartlink gcc -o conftest -g -O3 -pipe -ggdb3 -m64 -I/home/mast/Pike/no-changes-7.8/build/linux-x86_64/bundles/include -I/usr/local/include -I/home/mast/Pike/no-changes-7.8/src -I/home/mast/Pike/no-changes-7.8/build/linux-x86_64 -L/home/mast/Pike/no-changes-7.8/build/linux-x86_64/bundles/lib64 -L/home/mast/Pike/no-changes-7.8/build/linux-x86_64/bundles/lib/64 -L/home/mast/Pike/no-changes-7.8/build/linux-x86_64/bundles/lib/. -L/usr/local/lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4 -R/usr/lib/gcc/x86_64-linux-gnu/4.4 conftest.c -ldl -lrt -lnsl -lm -lpthread -lcrypt >&5 conftest.c: In function 'my_socketpair': conftest.c:362: warning: incompatible implicit declaration of built-in function 'memset' conftest.c: In function 'ping': conftest.c:527: warning: incompatible implicit declaration of built-in function 'exit' conftest.c:535: warning: incompatible implicit declaration of built-in function 'exit' conftest.c: In function 'pong': conftest.c:552: warning: incompatible implicit declaration of built-in function 'exit' conftest.c: In function 'pang': conftest.c:570: warning: incompatible implicit declaration of built-in function 'exit' conftest.c: In function 'main': conftest.c:591: warning: incompatible implicit declaration of built-in function 'exit' configure:70366: $? = 0 configure:70366: ./conftest my_socketpair: succeeded configure:70366: $? = 0 configure:70381: result: TIMEOUT
Compared to 7.6:
configure:50000: checking how well OOB handling works configure:50342: /home/mast/Pike/frozen/build/linux-x86_64/smartlink gcc -o conftest -g -O2 -pipe -Wa,--execstack -I/home/mast/Pike/frozen/build/linux-x86_64/bundles/include -I/usr/local/include -I/home/mast/Pike/frozen/src -I/home/mast/Pike/frozen/build/linux-x86_64 -L/home/mast/Pike/frozen/build/linux-x86_64/bundles/lib -z execstack -R/usr/local/lib -L/usr/local/lib -R/usr/X11R6/lib -L/usr/X11R6/lib -R/usr/lib/gcc/x86_64-linux-gnu/4.4 -L/usr/lib/gcc/x86_64-linux-gnu/4.4 conftest.c -ldl -lrt -lnsl -lm -lpthread -lcrypt >&5 conftest.c: In function 'my_socketpair': conftest.c:333: warning: incompatible implicit declaration of built-in function 'memset' conftest.c: In function 'ping': conftest.c:498: warning: incompatible implicit declaration of built-in function 'exit' conftest.c:506: warning: incompatible implicit declaration of built-in function 'exit' conftest.c: In function 'pong': conftest.c:523: warning: incompatible implicit declaration of built-in function 'exit' conftest.c: In function 'pang': conftest.c:541: warning: incompatible implicit declaration of built-in function 'exit' conftest.c: In function 'main': conftest.c:562: warning: incompatible implicit declaration of built-in function 'exit' configure:50345: $? = 0 configure:50351: ./conftest my_socketpair: succeeded configure:50354: $? = 0 configure:50375: result: SEMIWORKING
I've tried changing the compiler flags to match 7.6 (-O2 instead of -O3 etc), but it doesn't change anything. What could the problem be?
My guess is that the set of detected operating system features differs between the two. Try comparing the output from running just the preprocessor.
The difference is not between 7.6 and 7.8. I don't know what it is though; it doesn't seem just random either.
pike-devel@lists.lysator.liu.se