This is the mail archive of the binutils@sources.redhat.com 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]

Re: Increased testsuite failues in binutils-2.11.1 using gcc-3.01


David Ronis wrote:
> 
> Manfred Hollstein writes:
>  >
>  > David Ronis wrote:
>  > >
>  > > OK, I've upgraded to 2.11.2; most but not all of the failures have gone. The ones that remain are:
>  > >
>  > > Running /home/ronis/binutils-2.11.2/ld/testsuite/ld-cdtest/cdtest.exp ...
>  > > FAIL: cdtest
>  > > FAIL: cdtest with -Ur
>  > >
>  > > Running /home/ronis/binutils-2.11.2/ld/testsuite/ld-selective/selective.exp ...
>  > > FAIL: selective4
>  > > XPASS: selective6
>  > >
>  > > and
>  > >
>  > > Running /home/ronis/binutils-2.11.2/ld/testsuite/ld-srec/srec.exp ...
>  > > FAIL: S-records with constructors
>  >
>  > How did you configure and build binutils? Ie. which CFLAGS were
>  > you using? What is in ld/testsuite/ld.log for the failing tests?
>  >
> 
> I've tried several combinations of compiler/build flags with the same
> results (at least for 2.11.1).  For what I just reported, I'd used
> gcc-3.0.1, ran configure as
> 
>           ./configure --prefix=/usr
> 
> and had CFLAGS set to agressively optimize, i.e.,
> 
> CXXFLAGS = CFLAGS = -O3 -march=i686 -ffast-math -funroll-loops
>        -fomit-frame-pointer -fforce -mem -fforce-addr -malign-jumps=3
>        -malign-loops=3 -malign-functions=3 -mpreferred-stack-boundary=3
> 
> (at least with 2.11.1 this gives the same testsuite results as the
> default options, but it's easy enough to rerun with the default
> options for 2.11.2).
> 
> ld.log shows the following:
> 
> /home/ronis/binutils-2.11.2/ld/ld-new -m elf_i386  -o tmpdir/cdtest -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crt1.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/crtbegin.o tmpdir/cdtest-foo.o tmpdir/cdtest-bar.o tmpdir/cdtest-main.o  /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/libgcc.a -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../.. -lc /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/libgcc.a /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/crtend.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crtn.o
> tmpdir/cdtest-bar.o: In function `__FRAME_BEGIN__':
> tmpdir/cdtest-bar.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
> tmpdir/cdtest-main.o: In function `__FRAME_BEGIN__':
> tmpdir/cdtest-main.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
> FAIL: cdtest

This symbol is defined in libstdc++, but it is not specified on the
command line; the linker testsuite has to be updated.

> 
> /home/ronis/binutils-2.11.2/ld/ld-new -m elf_i386  -o tmpdir/cdtest -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crt1.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crti.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/crtbegin.o tmpdir/cdtest.o  /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/libgcc.a -L/usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../.. -lc /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/libgcc.a /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/crtend.o /usr/lib/gcc-lib/i686-pc-linux-gnu/3.0.1/../../../crtn.o
> tmpdir/cdtest.o: In function `__FRAME_BEGIN__':
> tmpdir/cdtest.o(.eh_frame+0x12): undefined reference to `__gxx_personality_v0'
> tmpdir/cdtest.o(.eh_frame+0x1de): undefined reference to `__gxx_personality_v0'
> FAIL: cdtest with -Ur

Likewise.

> 
> /usr/bin/gcc -L/home/ronis/binutils-2.11.2/ld -w -O -ffunction-sections -fdata-sections -fvtable-gc -fno-exceptions -fno-rtti -B/home/ronis/binutils-2.11.2/ld/tmpdir/gas/ -I/home/ronis/binutils-2.11.2/ld/testsuite/ld-selective -O3 -march=i686 -ffast-math -funroll-loops -fomit-frame-pointer -fforce-mem -fforce-addr -malign-jumps=3 -malign-loops=3 -malign-functions=3 -mpreferred-stack-boundary=3  -c /home/ronis/binutils-2.11.2/ld/testsuite/ld-selective/3.cc -o tmpdir/3.o
> /home/ronis/binutils-2.11.2/ld/ld-new  -o tmpdir/3.x --gc-sections -Bstatic  tmpdir/3.o
> /home/ronis/binutils-2.11.2/ld/../binutils/nm-new  tmpdir/3.x >tmpdir/nm.out
> selective4: missing foo__1A
> FAIL: selective4

-O3 is enabling -finline-functions, which is causing foo__1A to be
missing as a global symbol; I'm not sure if this is expected behaviour,
though, ie. if the testsuite is wrong again.

> 
> David

HTH, cheers.

l8er
manfred


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