binutils-gdb/ld/testsuite/ld-cris/libdso-1c.d
H.J. Lu c679ec98a1 cris: Don't generate unnecessary dynamic tags
Dynamic tags, DT_JMPREL, PLTREL and PLTRELSZ, are needed only if there
are relocation entries for PLT.  Don't generate them if there are no
relocation entries for PLT.

bfd/

	PR ld/26083
	* elf32-cris.c (elf_cris_size_dynamic_sections): Call
	_bfd_elf_add_dynamic_tags.

ld/

	PR ld/26083
	* testsuite/ld-cris/libdso-15b.d: Updated.
	* testsuite/ld-cris/libdso-1c.d: Likewise.
	* testsuite/ld-cris/libdso-1d.d: Likewise.
	* testsuite/ld-cris/libdso-15c.d: New file.
2020-06-24 04:00:31 -07:00

36 lines
1.2 KiB
Makefile

#source: expdref1.s
#as: --pic --no-underscore --em=criself -I$srcdir/$subdir
#ld: --shared -m crislinux --hash-style=sysv
#ld_after_inputfiles: tmpdir/libdso-1b.so
#objdump: -s -T
# A DSO linked to another DSO that has two versioned symbols, to which
# this DSO refers with two relocs each, a GOT and a PLT reference.
# There was a bug such that GOT markups were lost, resulting in wrong
# offsets into the GOT, with a tell-tale sign being one or more
# R_CRIS_NONE relocs. There should be two GOT relocs here, one each
# for the symbols.
.*: file format elf32-cris
DYNAMIC SYMBOL TABLE:
#...
0+[ ]+DF \*UND\* 0+[ ]+TST2[ ]+expobj
0+[ ]+DF \*UND\* 0+[ ]+TST2[ ]+expfn
#...
Contents of section .rela.dyn:
0140 50220000 0a020000 00000000 54220000 .*
0150 0a030000 00000000 .*
Contents of section .plt:
0158 fce17e7e 0401307a 08013009 00000000 .*
0168 00000000 6f0d0c00 00003009 3f7e0000 .*
0178 00002ffe ecffffff 6f0d1000 00003009 .*
0188 3f7e0000 00002ffe ecffffff .*
Contents of section .text:
0194 6fae0c00 00006fae ccffffff 6fae1000 .*
01a4 00006fae d4ffffff .*
#...
Contents of section .got:
2244 ac210000 00000000 00000000 00000000 .*
2254 00000000 .*