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]

Regressions with "PATCH: PR ld/13177: garbage collector retains zombie references to external libraries"


> Date: Wed, 14 Sep 2011 12:14:38 -0700
> From: "H.J. Lu" <hongjiu.lu@intel.com>

> 2011-09-14  H.J. Lu  <hongjiu.lu@intel.com>
> 
> 	PR ld/13177
> 	* elflink.c (elf_gc_sweep_symbol): Also hide symbols without PLT
> 	nor GOT references.
> 
> ld/testsuite/
> 
> 2011-09-14  H.J. Lu  <hongjiu.lu@intel.com>
> 
> 	PR ld/13177
> 	* ld-elf/pr13177.d: New.
> 	* ld-elf/pr13177.s: Likewise.

Caused regressions for cris-elf and cris-axis-linux-gnu:

cris-elf:
Running /tmp/hpautotest-binutils/bsrc/src/ld/testsuite/ld-cris/cris.exp ...
FAIL: ld-cris/pic-gc-72

ld.log:
Executing on host: sh -c {/tmp/hpautotest-binutils/cris-axis-elf/ld/../binutils/objdump  -s -t -R -p -T tmpdir/dump > tmpdir/dump.out 2>ld.tmp}  /dev/null  (timeout = 300)
exited abnormally with 0, output:BFD: tmpdir/dump(.rela.dyn): relocation 0 has invalid symbol index 16777215

...
Running /tmp/hpautotest-binutils/bsrc/src/ld/testsuite/ld-elf/elf.exp ...
FAIL: ld-elf/pr12975

ld.log:
./ld-new  -L/tmp/hpautotest-binutils/bsrc/src/ld/testsuite/ld-elf  --gc-sections -shared -version-script pr12975.t -o tmpdir/dump tmpdir/dump0.o 
Executing on host: sh -c {./ld-new  -L/tmp/hpautotest-binutils/bsrc/src/ld/testsuite/ld-elf  --gc-sections -shared -version-script pr12975.t -o tmpdir/dump tmpdir/dump0.o  2>&1}  /dev/null ld.tmp (timeout = 300)
./ld-new: -shared not supported

Your test wrongly assumes that all ELF target support -shared or
at least don't complain.  Other tests don't fall for that.

FAIL: ld-elf/pr13177

Same here.

cris-axis-linux-gnu:
Running /tmp/hpautotest-binutils/bsrc/src/ld/testsuite/ld-cris/cris.exp ...
FAIL: ld-cris/pic-gc-72
ld.log says the same as for cris-elf for this FAIL.

Running /tmp/hpautotest-binutils/bsrc/src/ld/testsuite/ld-elf/elf.exp ...
FAIL: ld-elf/pr13177

ld.log:
./ld-new  -L/tmp/hpautotest-binutils/bsrc/src/ld/testsuite/ld-elf  --gc-sections -shared -o tmpdir/dump tmpdir/dump0.o 
Executing on host: sh -c {./ld-new  -L/tmp/hpautotest-binutils/bsrc/src/ld/testsuite/ld-elf  --gc-sections -shared -o tmpdir/dump tmpdir/dump0.o  2>&1}  /dev/null ld.tmp (timeout = 300)
./ld-new: tmpdir/dump0.o, section .text.opt_out:
  relocation R_CRIS_32 should not be used in a shared object; recompile with -fPIC
succeeded with: <./ld-new: tmpdir/dump0.o, section .text.opt_out:
  relocation R_CRIS_32 should not be used in a shared object; recompile with -fPIC>, expected: <>
./ld-new: tmpdir/dump0.o, section .text.opt_out:
  relocation R_CRIS_32 should not be used in a shared object; recompile with -fPIC
succeeded with: <./ld-new: tmpdir/dump0.o, section .text.opt_out:
  relocation R_CRIS_32 should not be used in a shared object; recompile with -fPIC>, expected: <>

Looks like the test emits an absolute address in .text in a
shared library, a no-no.  Try using .data instead or something.
Don't x86_64 and sh err too?

brgds, H-P


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