On Mon, 26 Jul 2004, Alexander Gottwald wrote: > Christopher Faylor wrote: > > I've made a new version of binutils available for installation. > > This version is a refresh from CVS on sources.redhat.com. > > With the new binutils I get these errors when compiling xorg-x11 > > Bitmap.o(.data+0x298):Bitmap.c: variable '_XtStrings' can't be > auto-imported. Please read the documentation for ld's > --enable-auto-import for details. > > DLL build commandline: > gcc -shared -Wl,--out-implib=libXt-6.dll.a -Wl,--enable-auto-import, > --enable-runtime-pseudo-reloc --def Xt.def -Wl,--exclude-libs,ALL > -o cygXt-6.dll ActionHook.o Alloc.o ArgList.o [...] > ResConfig.o -L../../exports/lib -lSM -lICE -lX11 > > Exe build commandline: > gcc -o bitmap.exe -O2 -fno-strength-reduce -Wall -Wpointer-arith > -L../../exports/lib BitEdit.o CutPaste.o Graphics.o ReqMach.o Bitmap.o > Dialog.o Handlers.o -lXaw -lXmu -lXt -lSM -lICE -lXpm -lXext -lX11 > -L/usr/X11R6/lib -Wl,--enable-auto-import
Work around: Use --enable-runtime-pseudo-reloc here as well. It appears that this binutils release has left out the following Cygwin local patch which was present in past releases: diff -ruwp ./emultempl/pe.em ../../binutils-20040312-1/ld/emultempl/pe.em --- ./emultempl/pe.em 2004-07-15 08:05:12.001000000 -0500 +++ ../../binutils-20040312-1/ld/emultempl/pe.em 2004-02-13 14:31:29.001000000 -0600 @@ -135,7 +129,7 @@ gld_${EMULATION_NAME}_before_parse (void config.dynamic_link = TRUE; config.has_shared = 1; link_info.pei386_auto_import = -1; - link_info.pei386_runtime_pseudo_reloc = FALSE; + link_info.pei386_runtime_pseudo_reloc = -1; #if (PE_DEF_SUBSYSTEM == 9) || (PE_DEF_SUBSYSTEM == 2) #if defined TARGET_IS_mipspe || defined TARGET_IS_armpe @@ -338,14 +329,12 @@ gld_${EMULATION_NAME}_list_options (FILE fprintf (file, _(" --disable-auto-import Do not auto-import DATA items from DLLs\n")); fprintf (file, _(" --enable-runtime-pseudo-reloc Work around auto-import limitations by\n\ adding pseudo-relocations resolved at\n\ - runtime.\n")); + runtime. (default)\n")); diff -ruwp ./ldmain.c ../../binutils-20040312-1/ld/ldmain.c --- ./ldmain.c 2004-07-24 23:28:21.001000000 -0500 +++ ../../binutils-20040312-1/ld/ldmain.c 2004-02-14 20:25:17.001000000 -0600 @@ -328,7 +317,7 @@ main (int argc, char **argv) link_info.init_function = "_init"; link_info.fini_function = "_fini"; link_info.pei386_auto_import = -1; - link_info.pei386_runtime_pseudo_reloc = FALSE; + link_info.pei386_runtime_pseudo_reloc = -1; link_info.spare_dynamic_tags = 5; link_info.flags = 0; link_info.flags_1 = 0; Note that oddly enough, the usage change says the default is the opposite of reality. > switching back to binutils-20040312-1 solved this. > > I'm using a crosscompiled version of binutils-20040725-1 on linux > at home where I did not notice these symptoms. -- Brian Ford Senior Realtime Software Engineer VITAL - Visual Simulation Systems FlightSafety International the best safety device in any aircraft is a well-trained pilot... -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/