Count R_X86_64_RELATIVE64 as reloc_class_relative

bfd/

	* elf64-x86-64.c (elf_x86_64_reloc_type_class): Handle
	R_X86_64_RELATIVE64.

ld/testsuite/

	* ld-x86-64/pr13082-1a.d: Check RELACOUNT.
	* ld-x86-64/pr13082-1b.d: Likewise.
This commit is contained in:
H.J. Lu 2012-05-10 17:15:19 +00:00
parent 64ea88dcd7
commit 1da80baa66
5 changed files with 21 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_reloc_type_class): Handle
R_X86_64_RELATIVE64.
2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
* elf64-x86-64.c (elf_x86_64_relocate_section): Check addend

View File

@ -4524,6 +4524,7 @@ elf_x86_64_reloc_type_class (const Elf_Internal_Rela *rela)
switch ((int) ELF32_R_TYPE (rela->r_info))
{
case R_X86_64_RELATIVE:
case R_X86_64_RELATIVE64:
return reloc_class_relative;
case R_X86_64_JUMP_SLOT:
return reloc_class_plt;

View File

@ -1,3 +1,8 @@
2012-05-10 H.J. Lu <hongjiu.lu@intel.com>
* ld-x86-64/pr13082-1a.d: Check RELACOUNT.
* ld-x86-64/pr13082-1b.d: Likewise.
2012-05-09 H.J. Lu <hongjiu.lu@intel.com>
* ld-x86-64/ilp32-11.d: New file.

View File

@ -2,8 +2,12 @@
#name: PR ld/13082-1 (a)
#as: --x32
#ld: -shared -melf32_x86_64
#readelf: -r --wide
#readelf: -d -r --wide
Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries:
#...
0x[0-9a-f]+ +\(RELACOUNT\) +1
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+

View File

@ -2,8 +2,12 @@
#name: PR ld/13082-1 (b)
#as: --x32
#ld: -pie -melf32_x86_64
#readelf: -r --wide
#readelf: -d -r --wide
Dynamic section at offset 0x[0-9a-f]+ contains [0-9]+ entries:
#...
0x[0-9a-f]+ +\(RELACOUNT\) +1
#...
Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Symbol's Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ +R_X86_64_RELATIVE64 +[0-9a-f]+