diff options
author | Paul Brook <paul@codesourcery.com> | 2006-12-01 16:42:26 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2006-12-01 16:42:26 +0000 |
commit | f0291e4c153abd12f729d9314338775bfc614f03 (patch) | |
tree | ba8c330ee0e3dca36ea743a405ba12759256e1e1 /gas/config | |
parent | 945c025aafa9f4f36cdc5bb2f1dad083fa34a6d2 (diff) | |
download | gdb-f0291e4c153abd12f729d9314338775bfc614f03.zip gdb-f0291e4c153abd12f729d9314338775bfc614f03.tar.gz gdb-f0291e4c153abd12f729d9314338775bfc614f03.tar.bz2 |
2006-12-01 Paul Brook <paul@codesourcery.com>
gas/
* config/tc-arm.c (arm_force_relocation): Return 1 for relocs against
function symbols.
gas/testsuite/
* gas/arm/thumbrel.s: New test.
* gas/arm/thumbrel.d: New test.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-arm.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 8ea3ad1..a7859dc 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -18962,6 +18962,12 @@ arm_force_relocation (struct fix * fixp) || fixp->fx_r_type == BFD_RELOC_ARM_LDR_PC_G0) return 1; + /* Always generate relocations against function symbols. */ + if (fixp->fx_r_type == BFD_RELOC_32 + && fixp->fx_addsy + && (symbol_get_bfdsym (fixp->fx_addsy)->flags & BSF_FUNCTION)) + return 1; + return generic_force_reloc (fixp); } |