From: Bob D. <bob...@te...> - 2004-11-10 06:48:53
|
On Tue, 2004-11-09 at 23:52 +0100, Gwenole Beauchesne wrote: > Hi, >=20 > I have uploaded a new snapshot of current Basilisk II CVS tree with JIT= =20 > here: > <http://gwenole.beauchesne.online.fr/basilisk2/> >=20 > What's new since snapshot 2003/03/14: > - Port JIT compiler to x86-64 platforms (AMD64, EM64T) > - Add audio and video support through SDL, but prefer X11 video > - Add ethernet support through the Linux TUN/TAP device driver >=20 > Bye, > Gwenol=C3=A9. Experiences on a freshly installed FC3 x86_64: After CVS update, running ./autogen.sh shows the following problem in the configure script: 1) checking linux/if.h usability... no checking linux/if.h presence... yes configure: WARNING: linux/if.h: present but cannot be compiled configure: WARNING: linux/if.h: check for missing prerequisite headers? configure: WARNING: linux/if.h: see the Autoconf documentation configure: WARNING: linux/if.h: section "Present But Cannot Be Compiled" configure: WARNING: linux/if.h: proceeding with the preprocessor's result configure: WARNING: linux/if.h: in the future, the compiler will take precedence configure: WARNING: ## ------------------------------------------- ## configure: WARNING: ## Report this to Chr...@un... ## configure: WARNING: ## ------------------------------------------- ## [Looking in config.log I find:In file included from conftest.c:142: /usr/include/linux/if.h:86: error: field `ifru_addr' has incomplete type /usr/include/linux/if.h:87: error: field `ifru_dstaddr' has incomplete type /usr/include/linux/if.h:88: error: field `ifru_broadaddr' has incomplete type /usr/include/linux/if.h:89: error: field `ifru_netmask' has incomplete type /usr/include/linux/if.h:90: error: field `ifru_hwaddr' has incomplete type Seems this header on its own doesn't know type 'struct sockaddr', hence it should include <sys/socket.h> in its test The following small patch fixes this: --- configure.ac 8 Nov 2004 21:07:07 -0000 1.34 +++ configure.ac 10 Nov 2004 06:45:38 -0000 @@ -265,7 +265,9 @@ AC_HEADER_STDC AC_CHECK_HEADERS(unistd.h fcntl.h sys/types.h sys/time.h sys/mman.h mach/mach.h) AC_CHECK_HEADERS(readline.h history.h readline/readline.h readline/history.h) -AC_CHECK_HEADERS(linux/if.h linux/if_tun.h net/if.h net/if_tun.h) +AC_CHECK_HEADERS(sys/socket.h) +AC_CHECK_HEADERS(linux/if.h,[],[],[#include <sys/socket.h>]) +AC_CHECK_HEADERS(linux/if_tun.h net/if.h net/if_tun.h) AC_CHECK_HEADERS(AvailabilityMacros.h) dnl Checks for typedefs, structures, and compiler characteristics. ] Trying to compile the nojit version works without any hitches, and it runs a MacOS 8.0 image which I had previously created without apparent problems. Trying to compile after ./configure --with-jit-compiler results in a problem: g++ -I../include -I. -I../uae_cpu -DHAVE_CONFIG_H -DOS_linux - DDIRECT_ADDRESSING -DUNALIGNED_PROFITABLE -DX86_64_ASSEMBLY - DOPTIMIZED_FLAGS -DUSE_JIT -DUSE_JIT_FPU -DFPU_IEEE -D_REENTRANT - DDATADIR=3D\"/usr/local/share/BasiliskII\" -O2 -I/usr/X11R6/include - I/usr/include/gtk-1.2 -I/usr/include/glib-1.2 -I/usr/lib64/glib/include -I/usr/X11R6/include -fno-merge-constants -fno-gcse-sm - c ../uae_cpu/compiler/compemu_support.cpp -o obj/compemu_support.o In file included from ../uae_cpu/compiler/compemu_support.cpp:753: ../uae_cpu/compiler/codegen_x86.cpp: In function `void raw_call (uint32)': ../uae_cpu/compiler/codegen_x86.cpp:3043: warning: cast from pointer to integer of different size ../uae_cpu/compiler/codegen_x86.cpp: In function `void raw_jmp(uint32)': ../uae_cpu/compiler/codegen_x86.cpp:3053: warning: cast from pointer to integer of different size /tmp/ccmQvYdd.s: Assembler messages: /tmp/ccmQvYdd.s:40547: Error: suffix or operands invalid for `push' /tmp/ccmQvYdd.s:40547: Error: suffix or operands invalid for `pop' make: *** [obj/compemu_support.o] Error 1 This one will take a bit more time for me to try and understand. Sincerely, Bob Deblier |