old-cross-binutils/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.nd
Richard Sandiford c5d6fa4495 bfd/
* elfxx-mips.c (mips_use_local_got_p): New function.
	(mips_elf_count_got_symbols, mips_elf_calculate_relocation): Use it.
	(_bfd_mips_elf_check_relocs): Set pointer_equality_needed for
	GOT and absolute references.

ld/testsuite/
	* ld-mips-elf/pic-and-nonpic-6-n32.ad,
	ld-mips-elf/pic-and-nonpic-6-n32.dd,
	ld-mips-elf/pic-and-nonpic-6-n32.gd,
	ld-mips-elf/pic-and-nonpic-6-n32.nd,
	ld-mips-elf/pic-and-nonpic-6-n32.rd,
	ld-mips-elf/pic-and-nonpic-6-n64.ad,
	ld-mips-elf/pic-and-nonpic-6-n64.dd,
	ld-mips-elf/pic-and-nonpic-6-n64.gd,
	ld-mips-elf/pic-and-nonpic-6-n64.nd,
	ld-mips-elf/pic-and-nonpic-6-n64.rd,
	ld-mips-elf/pic-and-nonpic-6-o32.ad,
	ld-mips-elf/pic-and-nonpic-6-o32.dd,
	ld-mips-elf/pic-and-nonpic-6-o32.gd,
	ld-mips-elf/pic-and-nonpic-6-o32.nd,
	ld-mips-elf/pic-and-nonpic-6-o32.rd: Fix symbol value of extf4.
	No longer expect extf3, extf4 and extd2 to be in the global GOT.
2013-10-13 10:03:22 +00:00

40 lines
1.3 KiB
Text

Symbol table '\.dynsym' contains .*:
#
# extf4 is referenced by a JAL and .word. The former requires a PLT entry
# and the latter requires pointer equality, which means a symbol value is
# needed.
#...
.*: 0+43060 +0 +FUNC +GLOBAL +DEFAULT \[MIPS PLT\] +UND +extf4
#
# extf5 is called but does not have its address taken. It needs a PLT
# but no symbol value should be set.
#...
.*: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf5
#
# extd2 is referenced by %got, .word and %hi/%lo. The last pair forces
# a copy reloc.
#
.*: 0+a2000 +24 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +extd2
#
# extf3 is referenced by a JAL and a GOT CALL reloc. The JAL forces a PLT
# that the GOT CALL reloc will also use, but pointer equality isn't needed
# and so no symbol value should be set.
#
.*: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf3
#
# extd3 is referenced by .word and %hi/%lo. The latter pair forces
# a copy reloc.
#...
.*: 0+a2018 +28 +OBJECT +GLOBAL +DEFAULT +[0-9]+ +extd3
#
# The index on the next line should correspond to MIPS_GOTSYM,
# and the remaining symbols should have the same order as the
# GOT layout given in the *.dd dump.
#
*8: 0+ +0 +FUNC +GLOBAL +DEFAULT +UND +extf2
*9: 0+440a0 +0 +FUNC +GLOBAL +DEFAULT +UND +extf1
*10: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd1
*11: 0+ +0 +OBJECT +GLOBAL +DEFAULT +UND +extd4
#pass