This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix LD test FAIL: bootstrap with --static on Cygwin


Alan Modra wrote:
> On Sat, Mar 14, 2009 at 04:29:23AM +0000, Dave Korn wrote:
>>   On Cygwin, statically linking against -lintl means you have to explicitly
>> add -liconv.
> 
> You did link against -liconv!  Unfortunately in the wrong order,
> though.
> 
>> Executing on host: sh -c {/gnu/binutils/obj1908-i686-pc-cygwin/ld/ld-new -m
>> i386pe  -o tmpdir/ld1 /lib/crt0.o --static -liconv tmpdir/ld-partial.o
> 
> Hmm, how did you manage to get -liconv here?
> 

  Oops, sorry for the confusion.  I cut and pasted a log line from an earlier
attempt where I had experimented with adding -liconv directly to $flags after
the "--static" option rather than introduce the new $extralibs variable.

  Here's what it looks like from a clean tree, verbatim from ld.log:


PASS: bootstrap with strip
/usr/build/obj-binutils/ld/ld-new -m i386pe -o tmpdir/ld-partial.o -r
ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o
ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o ei386pe.o deffilep.o pe-dll.o
Executing on host: sh -c {/usr/build/obj-binutils/ld/ld-new -m i386pe -o
tmpdir/ld-partial.o -r  ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o
ldmain.o ldwrite.o ldexp.o  ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o
ei386pe.o deffilep.o pe-dll.o 2>&1}  /dev/null ld.tmp (timeout = 300)
spawn [open ...]
/usr/build/obj-binutils/ld/ld-new -m i386pe  -o tmpdir/ld1 /lib/crt0.o
--static tmpdir/ld-partial.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a
-lintl -lz  --start-group /usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc_eh.a -lc --end-group -lcygwin
-L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
Executing on host: sh -c {/usr/build/obj-binutils/ld/ld-new -m i386pe  -o
tmpdir/ld1 /lib/crt0.o --static tmpdir/ld-partial.o ../bfd/.libs/libbfd.a
../libiberty/libiberty.a -lintl -lz  --start-group
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc_eh.a -lc --end-group -lcygwin
-L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a 2>&1}  /dev/null ld.tmp (timeout = 300)
spawn [open ...]
/usr/lib/libintl.a(dcigettext.o):dcigettext.c:(.text+0x764): undefined
reference to `libiconv'
/usr/lib/libintl.a(dcigettext.o):dcigettext.c:(.text+0x933): undefined
reference to `libiconv_open'
/usr/lib/libintl.a(dcigettext.o):dcigettext.c:(.text+0xaca): undefined
reference to `libiconv_open'
/usr/lib/libintl.a(relocatable.o):relocatable.c:(.text+0x57): undefined
reference to `libiconv_set_relocation_prefix'
/usr/lib/libintl.a(dcigettext.o):dcigettext.c:(.text+0x764): undefined
reference to `libiconv'
/usr/lib/libintl.a(dcigettext.o):dcigettext.c:(.text+0x933): undefined
reference to `libiconv_open'
/usr/lib/libintl.a(dcigettext.o):dcigettext.c:(.text+0xaca): undefined
reference to `libiconv_open'
/usr/lib/libintl.a(relocatable.o):relocatable.c:(.text+0x57): undefined
reference to `libiconv_set_relocation_prefix'
FAIL: bootstrap with --static



  And here's after applying my patch:




PASS: bootstrap with strip
/usr/build/obj-binutils/ld/ld-new -m i386pe -o tmpdir/ld-partial.o -r
ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o
ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o ei386pe.o deffilep.o pe-dll.o
Executing on host: sh -c {/usr/build/obj-binutils/ld/ld-new -m i386pe -o
tmpdir/ld-partial.o -r  ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o
ldmain.o ldwrite.o ldexp.o  ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o
ei386pe.o deffilep.o pe-dll.o 2>&1}  /dev/null ld.tmp (timeout = 300)
spawn [open ...]
/usr/build/obj-binutils/ld/ld-new -m i386pe  -o tmpdir/ld1 /lib/crt0.o
--static tmpdir/ld-partial.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a
-lintl -liconv -lz  --start-group /usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc_eh.a -lc --end-group -lcygwin
-L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
Executing on host: sh -c {/usr/build/obj-binutils/ld/ld-new -m i386pe  -o
tmpdir/ld1 /lib/crt0.o --static tmpdir/ld-partial.o ../bfd/.libs/libbfd.a
../libiberty/libiberty.a -lintl -liconv -lz  --start-group
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc_eh.a -lc --end-group -lcygwin
-L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a 2>&1}  /dev/null ld.tmp (timeout = 300)
spawn [open ...]
tmpdir/ld1 -m i386pe  -o tmpdir/ld2 /lib/crt0.o --static ldgram.o ldlex.o
lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o  ldemul.o ldver.o
ldmisc.o ldfile.o ldcref.o ei386pe.o deffilep.o pe-dll.o ../bfd/.libs/libbfd.a
../libiberty/libiberty.a -lintl -liconv -lz  --start-group
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc_eh.a -lc --end-group -lcygwin
-L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
Executing on host: sh -c {tmpdir/ld1 -m i386pe  -o tmpdir/ld2 /lib/crt0.o
--static ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o
ldexp.o  ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o ei386pe.o deffilep.o
pe-dll.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a -lintl -liconv -lz
--start-group /usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc_eh.a -lc --end-group -lcygwin
-L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a 2>&1}  /dev/null ld.tmp (timeout = 300)
spawn [open ...]
tmpdir/ld2 -m i386pe  -o tmpdir/ld3 /lib/crt0.o --static ldgram.o ldlex.o
lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o ldexp.o  ldemul.o ldver.o
ldmisc.o ldfile.o ldcref.o ei386pe.o deffilep.o pe-dll.o ../bfd/.libs/libbfd.a
../libiberty/libiberty.a -lintl -liconv -lz  --start-group
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc_eh.a -lc --end-group -lcygwin
-L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
Executing on host: sh -c {tmpdir/ld2 -m i386pe  -o tmpdir/ld3 /lib/crt0.o
--static ldgram.o ldlex.o lexsup.o ldlang.o mri.o ldctor.o ldmain.o ldwrite.o
ldexp.o  ldemul.o ldver.o ldmisc.o ldfile.o ldcref.o ei386pe.o deffilep.o
pe-dll.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a -lintl -liconv -lz
--start-group /usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc_eh.a -lc --end-group -lcygwin
-L/usr/lib/w32api -luser32 -lkernel32 -ladvapi32 -lshell32
/usr/lib/gcc/i686-pc-cygwin/4.3.2/libgcc.a 2>&1}  /dev/null ld.tmp (timeout = 300)
spawn [open ...]
compare (tail of) tmpdir/ld2 tmpdir/ld3
PASS: bootstrap with --static


    cheers,
      DaveK


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]