2009-09-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/10677
	* config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Return true
	for BFD_RELOC_X86_64_GOTPCREL.

gas/testsuite/

2009-09-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/10677
	* gas/i386/i386.exp: Run x86-64-localpic.

	* gas/i386/x86-64-localpic.d: New.
	* gas/i386/x86-64-localpic.s: Likewise.
This commit is contained in:
H.J. Lu
2009-09-24 14:36:48 +00:00
parent 3bccaff786
commit f5d9e8160d
6 changed files with 32 additions and 8 deletions

View File

@ -1,3 +1,9 @@
2009-09-24 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10677
* config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Return true
for BFD_RELOC_X86_64_GOTPCREL.
2009-09-23 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Don't check

View File

@ -156,6 +156,7 @@ extern int tc_i386_fix_adjustable (struct fix *);
(!(FIX)->fx_pcrel \
|| (FIX)->fx_r_type == BFD_RELOC_386_PLT32 \
|| (FIX)->fx_r_type == BFD_RELOC_386_GOTPC \
|| (FIX)->fx_r_type == BFD_RELOC_X86_64_GOTPCREL \
|| TC_FORCE_RELOCATION (FIX))
extern int i386_parse_name (char *, expressionS *, char *);

View File

@ -1,3 +1,11 @@
2009-09-24 H.J. Lu <hongjiu.lu@intel.com>
PR gas/10677
* gas/i386/i386.exp: Run x86-64-localpic.
* gas/i386/x86-64-localpic.d: New.
* gas/i386/x86-64-localpic.s: Likewise.
2009-09-23 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/localpic.d: Updated.

View File

@ -338,21 +338,17 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t
run_dump_test "rex"
}
# For ELF targets verify that @unwind works.
if { ([istarget "*-*-elf*"] || [istarget "*-*-linux*"]
|| [istarget "*-*-solaris2.*"])
&& ![istarget *-*-linux*aout*]
&& ![istarget *-*-linux*oldld*] } then {
run_dump_test "x86-64-unwind"
}
# ELF specific tests
if [is_elf_format] then {
# Verify that @unwind works.
run_dump_test "x86-64-unwind"
run_dump_test "reloc64"
run_list_test "reloc64" "--defsym _bad_=1"
run_dump_test "mixed-mode-reloc64"
run_dump_test "x86-64-ifunc"
run_dump_test "l1om"
run_dump_test "x86-64-localpic"
}
set ASFLAGS "$old_ASFLAGS"

View File

@ -0,0 +1,9 @@
#readelf: -rs
#name: x86-64 local PIC
Relocation section '.rela.text' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym. Value Sym. Name \+ Addend
[0-9a-f]+ +[0-9a-f]+ R_X86_64_GOTPCREL +[0-9a-f]+ +foo - 4
#...
+[0-9]+: +[0-9a-f]+ +[0-9a-f]+ +NOTYPE +LOCAL +DEFAULT +[0-9]+ +foo
#pass

View File

@ -0,0 +1,4 @@
.text
foo:
.quad 0
movq foo@GOTPCREL(%rip), %rax