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: binutils-2.11 ld testsuite problems + PATCH


"H . J . Lu" wrote:
...
 
> That is it. I don't know if it is normal for SCO. It seems that
> SCO puts all the libraries used by linker in /usr/ccs/lib. Your
> SCO patch is wrong. Your SCO looks more like svsv4. You should
> check if you can use i[3456]86-*-sysv4* or i[3456]86-*-solaris*
> in configure.host for your SCO. If not, you should copy and modify
> the i[3456]86-*-sysv4* entry for your SCO.
> 
> H.J.


Bad patch?  Roger that.


Ok.  I deleted everything and started from a fresh CVS co.

I made a new patch using exactly the i[3456]86-*-sysv4*
test case, but adding in the elif check for gcc and 
attached it.

Then,

  gpatch < sco.lc.patch
  ./configure --enable-shared
  gmake
  gmake check

I found all the -lc problems gone.  Thanks!



But there are 4 testsuite problems left.  I attached
the ld.log file.

The -verbose output from each one of the four
remaining failed tests are attached as four
seperate files named after the test that failed.

Thanks again for working with SCO's peculiarities
on this,

         Matthew
Test Run By matthew on Tue May  8 23:15:49 2001
Native configuration is i586-sco-sysv5uw7.1.1

		=== ld tests ===

Schedule of variations:
    unix

Running target unix
Using /usr/local/share/dejagnu/baseboards/unix.exp as board description file for target.
Using /usr/local/share/dejagnu/config/unix.exp as generic interface file for target.
Using /home/matthew/Uber/CVS/binutils/ld/testsuite/config/default.exp as tool-and-target-specific interface file.
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-bootstrap/bootstrap.exp ...
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386 -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 eelf_i386.o 
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386  -o tmpdir/ld1 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o  tmpdir/ld-partial.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
tmpdir/ld1 -m elf_i386  -o tmpdir/ld2 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o  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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
tmpdir/ld2 -m elf_i386  -o tmpdir/ld3 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o  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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
cmp tmpdir/ld2 tmpdir/ld3
PASS: bootstrap
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386 -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 eelf_i386.o 
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386  -o tmpdir/ld1 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o  tmpdir/ld-partial.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
/home/matthew/Uber/CVS/binutils/ld/../binutils/strip-new tmpdir/ld1
tmpdir/ld1 -m elf_i386  -o tmpdir/ld2 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o  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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
tmpdir/ld2 -m elf_i386  -o tmpdir/ld3 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o  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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
cmp tmpdir/ld2 tmpdir/ld3
PASS: bootstrap with strip
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386 -o tmpdir/ld-partial.o -r --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 eelf_i386.o 
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386  -o tmpdir/ld1 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o --static tmpdir/ld-partial.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
tmpdir/ld1 -m elf_i386  -o tmpdir/ld2 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
tmpdir/ld2 -m elf_i386  -o tmpdir/ld3 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
cmp tmpdir/ld2 tmpdir/ld3
PASS: bootstrap with --static
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386 -o tmpdir/ld-partial.o -r --traditional-format 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 eelf_i386.o 
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386  -o tmpdir/ld1 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o --traditional-format tmpdir/ld-partial.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
tmpdir/ld1 -m elf_i386  -o tmpdir/ld2 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o --traditional-format 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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
tmpdir/ld2 -m elf_i386  -o tmpdir/ld3 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o --traditional-format 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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
cmp tmpdir/ld2 tmpdir/ld3
PASS: bootstrap with --traditional-format
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386 -o tmpdir/ld-partial.o -r --no-keep-memory 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 eelf_i386.o 
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386  -o tmpdir/ld1 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o --no-keep-memory tmpdir/ld-partial.o ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
tmpdir/ld1 -m elf_i386  -o tmpdir/ld2 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o --no-keep-memory 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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
tmpdir/ld2 -m elf_i386  -o tmpdir/ld3 /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o --no-keep-memory 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 eelf_i386.o  ../bfd/.libs/libbfd.a ../libiberty/libiberty.a ./../intl/libintl.a  -lc /usr/ccs/lib/crtn.o
cmp tmpdir/ld2 tmpdir/ld3
PASS: bootstrap with --no-keep-memory
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-bootstrap/bootstrap.exp completed in 18 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest.exp ...
c++ -L/home/matthew/Uber/CVS/binutils/ld -g -O2 -fgnu-linker -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-foo.cc -o tmpdir/cdtest-foo.o
c++ -L/home/matthew/Uber/CVS/binutils/ld -g -O2 -fgnu-linker -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc -o tmpdir/cdtest-bar.o
c++ -L/home/matthew/Uber/CVS/binutils/ld -g -O2 -fgnu-linker -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc -o tmpdir/cdtest-main.o
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386  -o tmpdir/cdtest /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o tmpdir/cdtest-foo.o tmpdir/cdtest-bar.o tmpdir/cdtest-main.o  -lc /usr/ccs/lib/crtn.o
tmpdir/cdtest-foo.o: In function `Foo::~Foo(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-foo.cc:87: undefined reference to `__builtin_delete'
tmpdir/cdtest-bar.o: In function `f(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:10: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:10: undefined reference to `terminate(void)'
tmpdir/cdtest-bar.o: In function `g(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `terminate(void)'
tmpdir/cdtest-main.o: In function `main':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:32: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:35: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `terminate(void)'
FAIL: cdtest
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386 -o tmpdir/cdtest.o -r -Ur tmpdir/cdtest-foo.o tmpdir/cdtest-bar.o tmpdir/cdtest-main.o
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386  -o tmpdir/cdtest /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o tmpdir/cdtest.o  -lc /usr/ccs/lib/crtn.o
tmpdir/cdtest.o: In function `Foo::~Foo(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-foo.cc:87: undefined reference to `__builtin_delete'
tmpdir/cdtest.o: In function `f(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:10: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:10: undefined reference to `terminate(void)'
tmpdir/cdtest.o: In function `g(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `terminate(void)'
tmpdir/cdtest.o: In function `main':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:32: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:35: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `terminate(void)'
FAIL: cdtest with -Ur
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest.exp completed in 1 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-checks/checks.exp ...
/home/matthew/Uber/CVS/binutils/ld/../gas/as-new   -o tmpdir/asm.o /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-checks/asm.s
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/asm.x --check-sections tmpdir/asm.o
PASS: check sections 1
PASS: check sections 2
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-checks/checks.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-elfvers/vers.exp ...
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-elfvers/vers.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-elfvsb/elfvsb.exp ...
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-elfvsb/elfvsb.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-empic/empic.exp ...
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-empic/empic.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/crossref.exp ...
gcc -L/home/matthew/Uber/CVS/binutils/ld -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/cross1.c -o tmpdir/cross1.o
gcc -L/home/matthew/Uber/CVS/binutils/ld -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/cross2.c -o tmpdir/cross2.o
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/cross1 -T /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/cross1.t tmpdir/cross1.o tmpdir/cross2.o
tmpdir/cross1.o: In function `func':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/cross1.c:5: prohibited cross reference from .text to `foo' in .data
PASS: NOCROSSREFS 1
gcc -L/home/matthew/Uber/CVS/binutils/ld -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/cross3.c -o tmpdir/cross3.o
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/cross2 -T /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/cross2.t tmpdir/cross3.o
tmpdir/cross3.o: In function `foo':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/cross3.c:6: prohibited cross reference from .text to `i' in .data
PASS: NOCROSSREFS 2
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/crossref.exp completed in 1 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/defined.exp ...
/home/matthew/Uber/CVS/binutils/ld/../gas/as-new   -o tmpdir/def.o /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/defined.s
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/def -T /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/defined.t tmpdir/def.o
/home/matthew/Uber/CVS/binutils/ld/../binutils/nm-new  tmpdir/def >tmpdir/nm.out
PASS: DEFINED (PRMS 5699)
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/defined.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/phdrs.exp ...
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/phdrs.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/script.exp ...
/home/matthew/Uber/CVS/binutils/ld/../gas/as-new   -o tmpdir/script.o /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/script.s
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/script  -T /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/script.t tmpdir/script.o
/home/matthew/Uber/CVS/binutils/ld/../binutils/nm-new  tmpdir/script >tmpdir/nm.out
PASS: script
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/script  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/scriptm.t
/home/matthew/Uber/CVS/binutils/ld/../binutils/nm-new  tmpdir/script >tmpdir/nm.out
PASS: MRI script
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/script.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/sizeof.exp ...
/home/matthew/Uber/CVS/binutils/ld/../gas/as-new   -o tmpdir/sizeof.o /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/sizeof.s
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/sizeof -T /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/sizeof.t tmpdir/sizeof.o
/home/matthew/Uber/CVS/binutils/ld/../binutils/nm-new  tmpdir/sizeof >tmpdir/nm.out
PASS: SIZEOF
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/sizeof.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/weak.exp ...
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-scripts/weak.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective/selective.exp ...
gcc -L/home/matthew/Uber/CVS/binutils/ld -w -O -ffunction-sections -fdata-sections -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective/1.c -o tmpdir/1.o
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/1.x --gc-sections -Bstatic  tmpdir/1.o
/home/matthew/Uber/CVS/binutils/ld/../binutils/nm-new  tmpdir/1.x >tmpdir/nm.out
selective1: dropme1 == 0x0804807c
FAIL: selective1
gcc -L/home/matthew/Uber/CVS/binutils/ld -w -O -ffunction-sections -fdata-sections -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective/2.c -o tmpdir/2.o
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/2.x --gc-sections -Bstatic  tmpdir/2.o
/home/matthew/Uber/CVS/binutils/ld/../binutils/nm-new  tmpdir/2.x >tmpdir/nm.out
selective2: foo == 0x08048084
FAIL: selective2
gcc -L/home/matthew/Uber/CVS/binutils/ld -w -O -ffunction-sections -fdata-sections -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective/2.c -o tmpdir/2.o
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/2.x --gc-sections -Bstatic -u foo tmpdir/2.o
/home/matthew/Uber/CVS/binutils/ld/../binutils/nm-new  tmpdir/2.x >tmpdir/nm.out
PASS: selective3
gcc -L/home/matthew/Uber/CVS/binutils/ld -w -O -ffunction-sections -fdata-sections -fvtable-gc -fno-exceptions -fno-rtti -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective/3.cc -o tmpdir/3.o
UX:as: ERROR: /var/tmp/ccMR266T.s:111:unknown directive: .vtable_entry
UX:as: ERROR: /var/tmp/ccMR266T.s:171:unknown directive: .vtable_inherit
UX:as: ERROR: /var/tmp/ccMR266T.s:188:unknown directive: .vtable_inherit
ERROR: /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective/3.cc: compilation failed
UNRESOLVED: selective4
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-selective/selective.exp completed in 1 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-sh/sh.exp ...
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-sh/sh.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-shared/shared.exp ...
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-shared/shared.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-srec/srec.exp ...
gcc -L/home/matthew/Uber/CVS/binutils/ld -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-srec -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-srec/sr1.c -o tmpdir/sr1.o
gcc -L/home/matthew/Uber/CVS/binutils/ld -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-srec -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-srec/sr2.c -o tmpdir/sr2.o
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/sr1  -Ttext 0x1000 tmpdir/sr1.o tmpdir/sr2.o
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/sr2.sr  -Ttext 0x1000 --oformat srec tmpdir/sr1.o tmpdir/sr2.o
/home/matthew/Uber/CVS/binutils/ld/../binutils/objcopy -O srec tmpdir/sr1 tmpdir/sr1.sr
PASS: S-records
c++ -L/home/matthew/Uber/CVS/binutils/ld -g -O2 -fgnu-linker -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-srec -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-srec/sr3.cc -o tmpdir/sr3.o
UX:as: WARNING: /var/tmp/cc2y0gk5.s:161:name already bound as global: __throw
ERROR: /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-srec/sr3.cc: compilation failed
UNRESOLVED: S-records with constructors
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-srec/srec.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-undefined/undefined.exp ...
gcc -L/home/matthew/Uber/CVS/binutils/ld -g -B/home/matthew/Uber/CVS/binutils/ld/tmpdir/gas/ -I/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-undefined -g -O2  -c /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-undefined/undefined.c -o tmpdir/undefined.o
/home/matthew/Uber/CVS/binutils/ld/ld-new -e start  -o tmpdir/undefined tmpdir/undefined.o
lt-ld-new: warning: cannot find entry symbol start; defaulting to 08048074
tmpdir/undefined.o: In function `function':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-undefined/undefined.c:9: undefined reference to `this_function_is_not_defined'
PASS: undefined
PASS: undefined function
PASS: undefined line
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-undefined/undefined.exp completed in 1 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-undefined/weak-undef.exp ...
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-undefined/weak-undef.exp completed in 0 seconds
Running /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-versados/versados.exp ...
testcase /home/matthew/Uber/CVS/binutils/ld/testsuite/ld-versados/versados.exp completed in 0 seconds

		=== ld Summary ===

# of expected passes		18
# of unexpected failures	4
# of unresolved testcases	2
/home/matthew/Uber/CVS/binutils/ld/ld-new 2.11.90

runtest completed at Tue May  8 23:16:11 2001
--- ld/configure.host.orig	Tue May  8 23:02:48 2001
+++ ld/configure.host	Tue May  8 23:15:21 2001
@@ -55,6 +55,12 @@
   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; else ${CC} -print-file-name=crtend.o; fi`'
   ;;
 
+i[3456]86-*-sysv5uw7*)
+  HOSTING_CRT0='/usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; elif [ "${CC}" = gcc ]; then ${CC} -print-file-name=crtbegin.o; fi`'
+  HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; elif [ "${CC}" = gcc ]; then ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; elif [ "${CC}" = gcc ]; then ${CC} -print-file-name=crtend.o; fi` /usr/ccs/lib/crtn.o'
+  NATIVE_LIB_DIRS=/usr/ccs/lib
+  ;;
+
 i[3456]86-*-sysv*)
   HOSTING_CRT0='/lib/crt1.o `if [ -f ../gcc/crtbegin.o ]; then echo ../gcc/crtbegin.o; fi`'
   HOSTING_LIBS='`if [ -f ../gcc/libgcc.a ] ; then echo ../gcc/libgcc.a ; else ${CC} -print-libgcc-file-name; fi` -lc `if [ -f ../gcc/crtend.o ]; then echo ../gcc/crtend.o; fi` /lib/crtn.o'
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386  -o tmpdir/cdtest /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o tmpdir/cdtest-foo.o tmpdir/cdtest-bar.o tmpdir/cdtest-main.o  -lc /usr/ccs/lib/crtn.o -verbose > fail.cdtest.log 2>&1
tmpdir/cdtest-foo.o: In function `Foo::~Foo(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-foo.cc:87: undefined reference to `__builtin_delete'
tmpdir/cdtest-bar.o: In function `f(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:10: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:10: undefined reference to `terminate(void)'
tmpdir/cdtest-bar.o: In function `g(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `terminate(void)'
tmpdir/cdtest-main.o: In function `main':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:32: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:35: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `terminate(void)'
GNU ld version 2.11.90 (with BFD 2.11.90)
  Supported emulations:
   elf_i386
using internal linker script:
==================================================
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/ccs/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/i586-sco-sysv5uw7.1.1/lib);
/* Do we need any of these for elf?
   __DYNAMIC = 0;    */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = 0x08048000 + SIZEOF_HEADERS;
  .interp     : { *(.interp) 	}
  .hash          : { *(.hash)		}
  .dynsym        : { *(.dynsym)		}
  .dynstr        : { *(.dynstr)		}
  .gnu.version   : { *(.gnu.version)	}
  .gnu.version_d   : { *(.gnu.version_d)	}
  .gnu.version_r   : { *(.gnu.version_r)	}
  .rel.init      : { *(.rel.init)	}
  .rela.init     : { *(.rela.init)	}
  .rel.text      :
    {
      *(.rel.text)
      *(.rel.text.*)
      *(.rel.gnu.linkonce.t.*)
    }
  .rela.text     :
    {
      *(.rela.text)
      *(.rela.text.*)
      *(.rela.gnu.linkonce.t.*)
    }
  .rel.fini      : { *(.rel.fini)	}
  .rela.fini     : { *(.rela.fini)	}
  .rel.rodata    :
    {
      *(.rel.rodata)
      *(.rel.rodata.*)
      *(.rel.gnu.linkonce.r.*)
    }
  .rela.rodata   :
    {
      *(.rela.rodata)
      *(.rela.rodata.*)
      *(.rela.gnu.linkonce.r.*)
    }
  .rel.data      :
    {
      *(.rel.data)
      *(.rel.data.*)
      *(.rel.gnu.linkonce.d.*)
    }
  .rela.data     :
    {
      *(.rela.data)
      *(.rela.data.*)
      *(.rela.gnu.linkonce.d.*)
    }
  .rel.ctors     : { *(.rel.ctors)	}
  .rela.ctors    : { *(.rela.ctors)	}
  .rel.dtors     : { *(.rel.dtors)	}
  .rela.dtors    : { *(.rela.dtors)	}
  .rel.got       : { *(.rel.got)		}
  .rela.got      : { *(.rela.got)		}
  .rel.sdata     :
    {
      *(.rel.sdata)
      *(.rel.sdata.*)
      *(.rel.gnu.linkonce.s.*)
    }
  .rela.sdata     :
    {
      *(.rela.sdata)
      *(.rela.sdata.*)
      *(.rela.gnu.linkonce.s.*)
    }
  .rel.sbss      :
    { 
      *(.rel.sbss)
      *(.rel.sbss.*)
      *(.rel.gnu.linkonce.sb.*)
    }
  .rela.sbss     :
    {
      *(.rela.sbss)
      *(.rela.sbss.*)
      *(.rel.gnu.linkonce.sb.*)
    }
  .rel.sdata2    : 
    { 
      *(.rel.sdata2)
      *(.rel.sdata2.*)
      *(.rel.gnu.linkonce.s2.*)
    }
  .rela.sdata2   : 
    {
      *(.rela.sdata2)
      *(.rela.sdata2.*)
      *(.rela.gnu.linkonce.s2.*)
    }
  .rel.sbss2     : 
    { 
      *(.rel.sbss2)	
      *(.rel.sbss2.*)
      *(.rel.gnu.linkonce.sb2.*)
    }
  .rela.sbss2    : 
    { 
      *(.rela.sbss2)	
      *(.rela.sbss2.*)
      *(.rela.gnu.linkonce.sb2.*)
    }
  .rel.bss       : 
    { 
      *(.rel.bss)
      *(.rel.bss.*)
      *(.rel.gnu.linkonce.b.*)
    }
  .rela.bss      : 
    { 
      *(.rela.bss)
      *(.rela.bss.*)
      *(.rela.gnu.linkonce.b.*)
    }
  .rel.plt       : { *(.rel.plt)		}
  .rela.plt      : { *(.rela.plt)		}
  .init          : 
  { 
    KEEP (*(.init))
  } =0x9090
  .plt      : { *(.plt)	}
  .text      :
  {
    *(.text)
    *(.text.*)
    *(.stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
    *(.gnu.linkonce.t.*)
  } =0x9090
  .fini      :
  {
    KEEP (*(.fini))
  } =0x9090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata   : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) }
  .rodata1   : { *(.rodata1) }
  .sdata2   : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }
  .sbss2   : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN(0x1000) + (. & (0x1000 - 1));
  .data    :
  {
    *(.data)
    *(.data.*)
    *(.gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1   : { *(.data1) }
  .eh_frame : { KEEP (*(.eh_frame)) }
  .gcc_except_table : { *(.gcc_except_table) }
  .ctors   : 
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    /* We don't want to include the .ctor section from
       from the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
   .dtors         :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .got		  : { *(.got.plt) *(.got) }
  .dynamic       : { *(.dynamic) }
  /* We want the small data sections together, so single-instruction offsets
     can access them all, and initialized data all before uninitialized, so
     we can shorten the on-disk segment size.  */
  .sdata     : 
  {
    *(.sdata) 
    *(.sdata.*)
    *(.gnu.linkonce.s.*)
  }
  _edata = .;
  PROVIDE (edata = .);
  __bss_start = .;
  .sbss      :
  {
    PROVIDE (__sbss_start = .);
    PROVIDE (___sbss_start = .);
    *(.dynsbss)
    *(.sbss)
    *(.sbss.*)
    *(.gnu.linkonce.sb.*)
    *(.scommon)
    PROVIDE (__sbss_end = .);
    PROVIDE (___sbss_end = .);
  }
  .bss       :
  {
   *(.dynbss)
   *(.bss)
   *(.bss.*)
   *(.gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.  */
   . = ALIGN(32 / 8);
  }
  . = ALIGN(32 / 8);
  _end = .;
  PROVIDE (end = .);
  /* Stabs debugging sections.  */
  .stab 0 : { *(.stab) }
  .stabstr 0 : { *(.stabstr) }
  .stab.excl 0 : { *(.stab.excl) }
  .stab.exclstr 0 : { *(.stab.exclstr) }
  .stab.index 0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment 0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* These must appear regardless of  .  */
}


==================================================
attempt to open /usr/ccs/lib/crt1.o succeeded
/usr/ccs/lib/crt1.o
attempt to open /usr/ccs/lib/crti.o succeeded
/usr/ccs/lib/crti.o
attempt to open /usr/ccs/lib/values-Xa.o succeeded
/usr/ccs/lib/values-Xa.o
attempt to open tmpdir/cdtest-foo.o succeeded
tmpdir/cdtest-foo.o
attempt to open tmpdir/cdtest-bar.o succeeded
tmpdir/cdtest-bar.o
attempt to open tmpdir/cdtest-main.o succeeded
tmpdir/cdtest-main.o
attempt to open /usr/local/i586-sco-sysv5uw7.1.1/lib/libc.so failed
attempt to open /usr/local/i586-sco-sysv5uw7.1.1/lib/libc.a failed
attempt to open /lib/libc.so failed
attempt to open /lib/libc.a failed
attempt to open /usr/lib/libc.so failed
attempt to open /usr/lib/libc.a failed
attempt to open /usr/ccs/lib/libc.so succeeded
(/usr/ccs/lib/libc.so)sh_data.n
(/usr/ccs/lib/libc.so)libc.so.1
attempt to open /usr/ccs/lib/crtn.o succeeded
/usr/ccs/lib/crtn.o
/home/matthew/Uber/CVS/binutils/ld/ld-new -m elf_i386  -o tmpdir/cdtest /usr/ccs/lib/crt1.o /usr/ccs/lib/crti.o /usr/ccs/lib/values-Xa.o tmpdir/cdtest.o  -lc /usr/ccs/lib/crtn.o -verbose > ld-cdtest-ur.log 2>&1
tmpdir/cdtest.o: In function `Foo::~Foo(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-foo.cc:87: undefined reference to `__builtin_delete'
tmpdir/cdtest.o: In function `f(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:10: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:10: undefined reference to `terminate(void)'
tmpdir/cdtest.o: In function `g(void)':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-bar.cc:16: undefined reference to `terminate(void)'
tmpdir/cdtest.o: In function `main':
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:32: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:35: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__eprintf'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `__throw'
/home/matthew/Uber/CVS/binutils/ld/testsuite/ld-cdtest/cdtest-main.cc:37: undefined reference to `terminate(void)'
GNU ld version 2.11.90 (with BFD 2.11.90)
  Supported emulations:
   elf_i386
using internal linker script:
==================================================
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/ccs/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/i586-sco-sysv5uw7.1.1/lib);
/* Do we need any of these for elf?
   __DYNAMIC = 0;    */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = 0x08048000 + SIZEOF_HEADERS;
  .interp     : { *(.interp) 	}
  .hash          : { *(.hash)		}
  .dynsym        : { *(.dynsym)		}
  .dynstr        : { *(.dynstr)		}
  .gnu.version   : { *(.gnu.version)	}
  .gnu.version_d   : { *(.gnu.version_d)	}
  .gnu.version_r   : { *(.gnu.version_r)	}
  .rel.init      : { *(.rel.init)	}
  .rela.init     : { *(.rela.init)	}
  .rel.text      :
    {
      *(.rel.text)
      *(.rel.text.*)
      *(.rel.gnu.linkonce.t.*)
    }
  .rela.text     :
    {
      *(.rela.text)
      *(.rela.text.*)
      *(.rela.gnu.linkonce.t.*)
    }
  .rel.fini      : { *(.rel.fini)	}
  .rela.fini     : { *(.rela.fini)	}
  .rel.rodata    :
    {
      *(.rel.rodata)
      *(.rel.rodata.*)
      *(.rel.gnu.linkonce.r.*)
    }
  .rela.rodata   :
    {
      *(.rela.rodata)
      *(.rela.rodata.*)
      *(.rela.gnu.linkonce.r.*)
    }
  .rel.data      :
    {
      *(.rel.data)
      *(.rel.data.*)
      *(.rel.gnu.linkonce.d.*)
    }
  .rela.data     :
    {
      *(.rela.data)
      *(.rela.data.*)
      *(.rela.gnu.linkonce.d.*)
    }
  .rel.ctors     : { *(.rel.ctors)	}
  .rela.ctors    : { *(.rela.ctors)	}
  .rel.dtors     : { *(.rel.dtors)	}
  .rela.dtors    : { *(.rela.dtors)	}
  .rel.got       : { *(.rel.got)		}
  .rela.got      : { *(.rela.got)		}
  .rel.sdata     :
    {
      *(.rel.sdata)
      *(.rel.sdata.*)
      *(.rel.gnu.linkonce.s.*)
    }
  .rela.sdata     :
    {
      *(.rela.sdata)
      *(.rela.sdata.*)
      *(.rela.gnu.linkonce.s.*)
    }
  .rel.sbss      :
    { 
      *(.rel.sbss)
      *(.rel.sbss.*)
      *(.rel.gnu.linkonce.sb.*)
    }
  .rela.sbss     :
    {
      *(.rela.sbss)
      *(.rela.sbss.*)
      *(.rel.gnu.linkonce.sb.*)
    }
  .rel.sdata2    : 
    { 
      *(.rel.sdata2)
      *(.rel.sdata2.*)
      *(.rel.gnu.linkonce.s2.*)
    }
  .rela.sdata2   : 
    {
      *(.rela.sdata2)
      *(.rela.sdata2.*)
      *(.rela.gnu.linkonce.s2.*)
    }
  .rel.sbss2     : 
    { 
      *(.rel.sbss2)	
      *(.rel.sbss2.*)
      *(.rel.gnu.linkonce.sb2.*)
    }
  .rela.sbss2    : 
    { 
      *(.rela.sbss2)	
      *(.rela.sbss2.*)
      *(.rela.gnu.linkonce.sb2.*)
    }
  .rel.bss       : 
    { 
      *(.rel.bss)
      *(.rel.bss.*)
      *(.rel.gnu.linkonce.b.*)
    }
  .rela.bss      : 
    { 
      *(.rela.bss)
      *(.rela.bss.*)
      *(.rela.gnu.linkonce.b.*)
    }
  .rel.plt       : { *(.rel.plt)		}
  .rela.plt      : { *(.rela.plt)		}
  .init          : 
  { 
    KEEP (*(.init))
  } =0x9090
  .plt      : { *(.plt)	}
  .text      :
  {
    *(.text)
    *(.text.*)
    *(.stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
    *(.gnu.linkonce.t.*)
  } =0x9090
  .fini      :
  {
    KEEP (*(.fini))
  } =0x9090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata   : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) }
  .rodata1   : { *(.rodata1) }
  .sdata2   : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }
  .sbss2   : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN(0x1000) + (. & (0x1000 - 1));
  .data    :
  {
    *(.data)
    *(.data.*)
    *(.gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1   : { *(.data1) }
  .eh_frame : { KEEP (*(.eh_frame)) }
  .gcc_except_table : { *(.gcc_except_table) }
  .ctors   : 
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    /* We don't want to include the .ctor section from
       from the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
   .dtors         :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .got		  : { *(.got.plt) *(.got) }
  .dynamic       : { *(.dynamic) }
  /* We want the small data sections together, so single-instruction offsets
     can access them all, and initialized data all before uninitialized, so
     we can shorten the on-disk segment size.  */
  .sdata     : 
  {
    *(.sdata) 
    *(.sdata.*)
    *(.gnu.linkonce.s.*)
  }
  _edata = .;
  PROVIDE (edata = .);
  __bss_start = .;
  .sbss      :
  {
    PROVIDE (__sbss_start = .);
    PROVIDE (___sbss_start = .);
    *(.dynsbss)
    *(.sbss)
    *(.sbss.*)
    *(.gnu.linkonce.sb.*)
    *(.scommon)
    PROVIDE (__sbss_end = .);
    PROVIDE (___sbss_end = .);
  }
  .bss       :
  {
   *(.dynbss)
   *(.bss)
   *(.bss.*)
   *(.gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.  */
   . = ALIGN(32 / 8);
  }
  . = ALIGN(32 / 8);
  _end = .;
  PROVIDE (end = .);
  /* Stabs debugging sections.  */
  .stab 0 : { *(.stab) }
  .stabstr 0 : { *(.stabstr) }
  .stab.excl 0 : { *(.stab.excl) }
  .stab.exclstr 0 : { *(.stab.exclstr) }
  .stab.index 0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment 0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* These must appear regardless of  .  */
}


==================================================
attempt to open /usr/ccs/lib/crt1.o succeeded
/usr/ccs/lib/crt1.o
attempt to open /usr/ccs/lib/crti.o succeeded
/usr/ccs/lib/crti.o
attempt to open /usr/ccs/lib/values-Xa.o succeeded
/usr/ccs/lib/values-Xa.o
attempt to open tmpdir/cdtest.o succeeded
tmpdir/cdtest.o
attempt to open /usr/local/i586-sco-sysv5uw7.1.1/lib/libc.so failed
attempt to open /usr/local/i586-sco-sysv5uw7.1.1/lib/libc.a failed
attempt to open /lib/libc.so failed
attempt to open /lib/libc.a failed
attempt to open /usr/lib/libc.so failed
attempt to open /usr/lib/libc.a failed
attempt to open /usr/ccs/lib/libc.so succeeded
(/usr/ccs/lib/libc.so)sh_data.n
(/usr/ccs/lib/libc.so)libc.so.1
attempt to open /usr/ccs/lib/crtn.o succeeded
/usr/ccs/lib/crtn.o
/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/1.x --gc-sections -Bstatic  tmpdir/1.o -verbose
GNU ld version 2.11.90 (with BFD 2.11.90)
  Supported emulations:
   elf_i386
using internal linker script:
==================================================
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/ccs/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/i586-sco-sysv5uw7.1.1/lib);
/* Do we need any of these for elf?
   __DYNAMIC = 0;    */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = 0x08048000 + SIZEOF_HEADERS;
  .interp     : { *(.interp) 	}
  .hash          : { *(.hash)		}
  .dynsym        : { *(.dynsym)		}
  .dynstr        : { *(.dynstr)		}
  .gnu.version   : { *(.gnu.version)	}
  .gnu.version_d   : { *(.gnu.version_d)	}
  .gnu.version_r   : { *(.gnu.version_r)	}
  .rel.init      : { *(.rel.init)	}
  .rela.init     : { *(.rela.init)	}
  .rel.text      :
    {
      *(.rel.text)
      *(.rel.text.*)
      *(.rel.gnu.linkonce.t.*)
    }
  .rela.text     :
    {
      *(.rela.text)
      *(.rela.text.*)
      *(.rela.gnu.linkonce.t.*)
    }
  .rel.fini      : { *(.rel.fini)	}
  .rela.fini     : { *(.rela.fini)	}
  .rel.rodata    :
    {
      *(.rel.rodata)
      *(.rel.rodata.*)
      *(.rel.gnu.linkonce.r.*)
    }
  .rela.rodata   :
    {
      *(.rela.rodata)
      *(.rela.rodata.*)
      *(.rela.gnu.linkonce.r.*)
    }
  .rel.data      :
    {
      *(.rel.data)
      *(.rel.data.*)
      *(.rel.gnu.linkonce.d.*)
    }
  .rela.data     :
    {
      *(.rela.data)
      *(.rela.data.*)
      *(.rela.gnu.linkonce.d.*)
    }
  .rel.ctors     : { *(.rel.ctors)	}
  .rela.ctors    : { *(.rela.ctors)	}
  .rel.dtors     : { *(.rel.dtors)	}
  .rela.dtors    : { *(.rela.dtors)	}
  .rel.got       : { *(.rel.got)		}
  .rela.got      : { *(.rela.got)		}
  .rel.sdata     :
    {
      *(.rel.sdata)
      *(.rel.sdata.*)
      *(.rel.gnu.linkonce.s.*)
    }
  .rela.sdata     :
    {
      *(.rela.sdata)
      *(.rela.sdata.*)
      *(.rela.gnu.linkonce.s.*)
    }
  .rel.sbss      :
    { 
      *(.rel.sbss)
      *(.rel.sbss.*)
      *(.rel.gnu.linkonce.sb.*)
    }
  .rela.sbss     :
    {
      *(.rela.sbss)
      *(.rela.sbss.*)
      *(.rel.gnu.linkonce.sb.*)
    }
  .rel.sdata2    : 
    { 
      *(.rel.sdata2)
      *(.rel.sdata2.*)
      *(.rel.gnu.linkonce.s2.*)
    }
  .rela.sdata2   : 
    {
      *(.rela.sdata2)
      *(.rela.sdata2.*)
      *(.rela.gnu.linkonce.s2.*)
    }
  .rel.sbss2     : 
    { 
      *(.rel.sbss2)	
      *(.rel.sbss2.*)
      *(.rel.gnu.linkonce.sb2.*)
    }
  .rela.sbss2    : 
    { 
      *(.rela.sbss2)	
      *(.rela.sbss2.*)
      *(.rela.gnu.linkonce.sb2.*)
    }
  .rel.bss       : 
    { 
      *(.rel.bss)
      *(.rel.bss.*)
      *(.rel.gnu.linkonce.b.*)
    }
  .rela.bss      : 
    { 
      *(.rela.bss)
      *(.rela.bss.*)
      *(.rela.gnu.linkonce.b.*)
    }
  .rel.plt       : { *(.rel.plt)		}
  .rela.plt      : { *(.rela.plt)		}
  .init          : 
  { 
    KEEP (*(.init))
  } =0x9090
  .plt      : { *(.plt)	}
  .text      :
  {
    *(.text)
    *(.text.*)
    *(.stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
    *(.gnu.linkonce.t.*)
  } =0x9090
  .fini      :
  {
    KEEP (*(.fini))
  } =0x9090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata   : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) }
  .rodata1   : { *(.rodata1) }
  .sdata2   : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }
  .sbss2   : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN(0x1000) + (. & (0x1000 - 1));
  .data    :
  {
    *(.data)
    *(.data.*)
    *(.gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1   : { *(.data1) }
  .eh_frame : { KEEP (*(.eh_frame)) }
  .gcc_except_table : { *(.gcc_except_table) }
  .ctors   : 
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    /* We don't want to include the .ctor section from
       from the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
   .dtors         :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .got		  : { *(.got.plt) *(.got) }
  .dynamic       : { *(.dynamic) }
  /* We want the small data sections together, so single-instruction offsets
     can access them all, and initialized data all before uninitialized, so
     we can shorten the on-disk segment size.  */
  .sdata     : 
  {
    *(.sdata) 
    *(.sdata.*)
    *(.gnu.linkonce.s.*)
  }
  _edata = .;
  PROVIDE (edata = .);
  __bss_start = .;
  .sbss      :
  {
    PROVIDE (__sbss_start = .);
    PROVIDE (___sbss_start = .);
    *(.dynsbss)
    *(.sbss)
    *(.sbss.*)
    *(.gnu.linkonce.sb.*)
    *(.scommon)
    PROVIDE (__sbss_end = .);
    PROVIDE (___sbss_end = .);
  }
  .bss       :
  {
   *(.dynbss)
   *(.bss)
   *(.bss.*)
   *(.gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.  */
   . = ALIGN(32 / 8);
  }
  . = ALIGN(32 / 8);
  _end = .;
  PROVIDE (end = .);
  /* Stabs debugging sections.  */
  .stab 0 : { *(.stab) }
  .stabstr 0 : { *(.stabstr) }
  .stab.excl 0 : { *(.stab.excl) }
  .stab.exclstr 0 : { *(.stab.exclstr) }
  .stab.index 0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment 0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* These must appear regardless of  .  */
}


==================================================
attempt to open tmpdir/1.o succeeded
tmpdir/1.o













/home/matthew/Uber/CVS/binutils/ld/../binutils/nm-new  tmpdir/1.x >tmpdir/nm.out





cat tmpdir/nm.out

00000000 A 
08049084 ? __FRAME_BEGIN__
080490d8 A __bss_start
080490d8 A _edata
080490d8 A _end
08048074 T _start
0804807c T dropme1






selective1: dropme1 == 0x0804807c
FAIL: selective1


/home/matthew/Uber/CVS/binutils/ld/ld-new  -o tmpdir/2.x --gc-sections -Bstatic  tmpdir/2.o -verbose
GNU ld version 2.11.90 (with BFD 2.11.90)
  Supported emulations:
   elf_i386
using internal linker script:
==================================================
OUTPUT_FORMAT("elf32-i386", "elf32-i386",
	      "elf32-i386")
OUTPUT_ARCH(i386)
ENTRY(_start)
SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/ccs/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/i586-sco-sysv5uw7.1.1/lib);
/* Do we need any of these for elf?
   __DYNAMIC = 0;    */
SECTIONS
{
  /* Read-only sections, merged into text segment: */
  . = 0x08048000 + SIZEOF_HEADERS;
  .interp     : { *(.interp) 	}
  .hash          : { *(.hash)		}
  .dynsym        : { *(.dynsym)		}
  .dynstr        : { *(.dynstr)		}
  .gnu.version   : { *(.gnu.version)	}
  .gnu.version_d   : { *(.gnu.version_d)	}
  .gnu.version_r   : { *(.gnu.version_r)	}
  .rel.init      : { *(.rel.init)	}
  .rela.init     : { *(.rela.init)	}
  .rel.text      :
    {
      *(.rel.text)
      *(.rel.text.*)
      *(.rel.gnu.linkonce.t.*)
    }
  .rela.text     :
    {
      *(.rela.text)
      *(.rela.text.*)
      *(.rela.gnu.linkonce.t.*)
    }
  .rel.fini      : { *(.rel.fini)	}
  .rela.fini     : { *(.rela.fini)	}
  .rel.rodata    :
    {
      *(.rel.rodata)
      *(.rel.rodata.*)
      *(.rel.gnu.linkonce.r.*)
    }
  .rela.rodata   :
    {
      *(.rela.rodata)
      *(.rela.rodata.*)
      *(.rela.gnu.linkonce.r.*)
    }
  .rel.data      :
    {
      *(.rel.data)
      *(.rel.data.*)
      *(.rel.gnu.linkonce.d.*)
    }
  .rela.data     :
    {
      *(.rela.data)
      *(.rela.data.*)
      *(.rela.gnu.linkonce.d.*)
    }
  .rel.ctors     : { *(.rel.ctors)	}
  .rela.ctors    : { *(.rela.ctors)	}
  .rel.dtors     : { *(.rel.dtors)	}
  .rela.dtors    : { *(.rela.dtors)	}
  .rel.got       : { *(.rel.got)		}
  .rela.got      : { *(.rela.got)		}
  .rel.sdata     :
    {
      *(.rel.sdata)
      *(.rel.sdata.*)
      *(.rel.gnu.linkonce.s.*)
    }
  .rela.sdata     :
    {
      *(.rela.sdata)
      *(.rela.sdata.*)
      *(.rela.gnu.linkonce.s.*)
    }
  .rel.sbss      :
    { 
      *(.rel.sbss)
      *(.rel.sbss.*)
      *(.rel.gnu.linkonce.sb.*)
    }
  .rela.sbss     :
    {
      *(.rela.sbss)
      *(.rela.sbss.*)
      *(.rel.gnu.linkonce.sb.*)
    }
  .rel.sdata2    : 
    { 
      *(.rel.sdata2)
      *(.rel.sdata2.*)
      *(.rel.gnu.linkonce.s2.*)
    }
  .rela.sdata2   : 
    {
      *(.rela.sdata2)
      *(.rela.sdata2.*)
      *(.rela.gnu.linkonce.s2.*)
    }
  .rel.sbss2     : 
    { 
      *(.rel.sbss2)	
      *(.rel.sbss2.*)
      *(.rel.gnu.linkonce.sb2.*)
    }
  .rela.sbss2    : 
    { 
      *(.rela.sbss2)	
      *(.rela.sbss2.*)
      *(.rela.gnu.linkonce.sb2.*)
    }
  .rel.bss       : 
    { 
      *(.rel.bss)
      *(.rel.bss.*)
      *(.rel.gnu.linkonce.b.*)
    }
  .rela.bss      : 
    { 
      *(.rela.bss)
      *(.rela.bss.*)
      *(.rela.gnu.linkonce.b.*)
    }
  .rel.plt       : { *(.rel.plt)		}
  .rela.plt      : { *(.rela.plt)		}
  .init          : 
  { 
    KEEP (*(.init))
  } =0x9090
  .plt      : { *(.plt)	}
  .text      :
  {
    *(.text)
    *(.text.*)
    *(.stub)
    /* .gnu.warning sections are handled specially by elf32.em.  */
    *(.gnu.warning)
    *(.gnu.linkonce.t.*)
  } =0x9090
  .fini      :
  {
    KEEP (*(.fini))
  } =0x9090
  PROVIDE (__etext = .);
  PROVIDE (_etext = .);
  PROVIDE (etext = .);
  .rodata   : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) }
  .rodata1   : { *(.rodata1) }
  .sdata2   : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }
  .sbss2   : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }
  /* Adjust the address for the data segment.  We want to adjust up to
     the same address within the page on the next page up.  */
  . = ALIGN(0x1000) + (. & (0x1000 - 1));
  .data    :
  {
    *(.data)
    *(.data.*)
    *(.gnu.linkonce.d.*)
    SORT(CONSTRUCTORS)
  }
  .data1   : { *(.data1) }
  .eh_frame : { KEEP (*(.eh_frame)) }
  .gcc_except_table : { *(.gcc_except_table) }
  .ctors   : 
  {
    /* gcc uses crtbegin.o to find the start of
       the constructors, so we make sure it is
       first.  Because this is a wildcard, it
       doesn't matter if the user does not
       actually link against crtbegin.o; the
       linker won't look for a file to match a
       wildcard.  The wildcard also means that it
       doesn't matter which directory crtbegin.o
       is in.  */
    KEEP (*crtbegin.o(.ctors))
    /* We don't want to include the .ctor section from
       from the crtend.o file until after the sorted ctors.
       The .ctor section from the crtend file contains the
       end of ctors marker and it must be last */
    KEEP (*(EXCLUDE_FILE (*crtend.o ) .ctors))
    KEEP (*(SORT(.ctors.*)))
    KEEP (*(.ctors))
  }
   .dtors         :
  {
    KEEP (*crtbegin.o(.dtors))
    KEEP (*(EXCLUDE_FILE (*crtend.o ) .dtors))
    KEEP (*(SORT(.dtors.*)))
    KEEP (*(.dtors))
  }
  .got		  : { *(.got.plt) *(.got) }
  .dynamic       : { *(.dynamic) }
  /* We want the small data sections together, so single-instruction offsets
     can access them all, and initialized data all before uninitialized, so
     we can shorten the on-disk segment size.  */
  .sdata     : 
  {
    *(.sdata) 
    *(.sdata.*)
    *(.gnu.linkonce.s.*)
  }
  _edata = .;
  PROVIDE (edata = .);
  __bss_start = .;
  .sbss      :
  {
    PROVIDE (__sbss_start = .);
    PROVIDE (___sbss_start = .);
    *(.dynsbss)
    *(.sbss)
    *(.sbss.*)
    *(.gnu.linkonce.sb.*)
    *(.scommon)
    PROVIDE (__sbss_end = .);
    PROVIDE (___sbss_end = .);
  }
  .bss       :
  {
   *(.dynbss)
   *(.bss)
   *(.bss.*)
   *(.gnu.linkonce.b.*)
   *(COMMON)
   /* Align here to ensure that the .bss section occupies space up to
      _end.  Align after .bss to ensure correct alignment even if the
      .bss section disappears because there are no input sections.  */
   . = ALIGN(32 / 8);
  }
  . = ALIGN(32 / 8);
  _end = .;
  PROVIDE (end = .);
  /* Stabs debugging sections.  */
  .stab 0 : { *(.stab) }
  .stabstr 0 : { *(.stabstr) }
  .stab.excl 0 : { *(.stab.excl) }
  .stab.exclstr 0 : { *(.stab.exclstr) }
  .stab.index 0 : { *(.stab.index) }
  .stab.indexstr 0 : { *(.stab.indexstr) }
  .comment 0 : { *(.comment) }
  /* DWARF debug sections.
     Symbols in the DWARF debugging sections are relative to the beginning
     of the section so we begin them at 0.  */
  /* DWARF 1 */
  .debug          0 : { *(.debug) }
  .line           0 : { *(.line) }
  /* GNU DWARF 1 extensions */
  .debug_srcinfo  0 : { *(.debug_srcinfo) }
  .debug_sfnames  0 : { *(.debug_sfnames) }
  /* DWARF 1.1 and DWARF 2 */
  .debug_aranges  0 : { *(.debug_aranges) }
  .debug_pubnames 0 : { *(.debug_pubnames) }
  /* DWARF 2 */
  .debug_info     0 : { *(.debug_info) *(.gnu.linkonce.wi.*) }
  .debug_abbrev   0 : { *(.debug_abbrev) }
  .debug_line     0 : { *(.debug_line) }
  .debug_frame    0 : { *(.debug_frame) }
  .debug_str      0 : { *(.debug_str) }
  .debug_loc      0 : { *(.debug_loc) }
  .debug_macinfo  0 : { *(.debug_macinfo) }
  /* SGI/MIPS DWARF 2 extensions */
  .debug_weaknames 0 : { *(.debug_weaknames) }
  .debug_funcnames 0 : { *(.debug_funcnames) }
  .debug_typenames 0 : { *(.debug_typenames) }
  .debug_varnames  0 : { *(.debug_varnames) }
  /* These must appear regardless of  .  */
}


==================================================
attempt to open tmpdir/2.o succeeded
tmpdir/2.o









/home/matthew/Uber/CVS/binutils/ld/../binutils/nm-new  tmpdir/2.x >tmpdir/nm.out





cat tmpdir/nm.out

0804909c ? __FRAME_BEGIN__
08049110 A __bss_start
08049110 A _edata
08049110 A _end
08048074 ? _init
0804807c T _start
08048084 T foo
08049098 d x.9


selective2: foo == 0x08048084
FAIL: selective2



That's all for that one, and I think, the last FAIL.
Thanks,
Matt



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