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

	* config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Don't check
	BFD_RELOC_386_GOT32.

gas/testsuite/

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

	* gas/i386/i386.exp: Run localpic.

	* gas/i386/localpic.d: New.
	* gas/i386/localpic.s: Likewise.
This commit is contained in:
H.J. Lu 2009-09-24 03:23:52 +00:00
parent 107601c847
commit 2a86604a47
6 changed files with 26 additions and 4 deletions

View File

@ -1,3 +1,8 @@
2009-09-23 H.J. Lu <hongjiu.lu@intel.com>
* config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Don't check
BFD_RELOC_386_GOT32.
2009-09-23 Sterling Augustine <sterling@jaw.hq.tensilica.com>
* config/tc-xtensa.c (md_apply_fix): Remove check for constant with

View File

@ -149,14 +149,12 @@ extern int tc_i386_fix_adjustable (struct fix *);
/* This expression evaluates to true if the relocation is for a local
object for which we still want to do the relocation at runtime.
False if we are willing to perform this relocation while building
the .o file. GOTOFF does not need to be checked here because it is
not pcrel. I am not sure if some of the others are ever used with
pcrel, but it is easier to be safe than sorry. */
the .o file. GOTOFF and GOT32 do not need to be checked here because
they are not pcrel. .*/
#define TC_FORCE_RELOCATION_LOCAL(FIX) \
(!(FIX)->fx_pcrel \
|| (FIX)->fx_r_type == BFD_RELOC_386_PLT32 \
|| (FIX)->fx_r_type == BFD_RELOC_386_GOT32 \
|| (FIX)->fx_r_type == BFD_RELOC_386_GOTPC \
|| TC_FORCE_RELOCATION (FIX))

View File

@ -1,3 +1,10 @@
2009-09-23 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run localpic.
* gas/i386/localpic.d: New.
* gas/i386/localpic.s: Likewise.
2009-09-23 Alan Modra <amodra@bigpond.net.au>
* gas/arm/thumbver.d: Tolerate some whitespace differences.

View File

@ -192,6 +192,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]]
run_list_test "inval-equ-2" "-al"
run_dump_test "ifunc"
run_list_test "l1om-inval" "-march=l1om --32"
run_dump_test "localpic"
}
# This is a PE specific test.

View File

@ -0,0 +1,6 @@
#readelf: -r
#name: i386 local PIC
Relocation section '.rel.text' at offset 0x[0-9a-f]+ contains 1 entries:
Offset Info Type Sym.Value Sym. Name
[0-9a-f]+ +[0-9a-f]+ R_386_GOT32 +[0-9a-f]+ +foo

View File

@ -0,0 +1,5 @@
.data
foo:
.long 0
.text
movl foo@GOT(%ecx), %eax