aboutsummaryrefslogtreecommitdiff
path: root/include/elf
diff options
context:
space:
mode:
authorClaudiu Zissulescu <claziss@synopsys.com>2016-07-08 11:55:49 +0200
committerClaudiu Zissulescu <claziss@synopsys.com>2016-07-14 10:08:57 +0200
commitfa1c0170176a5e4820f43824cffe80ffc4e7a717 (patch)
tree2e32657a3199223084212b5464a66b2b25d7a6c4 /include/elf
parentefc67f64c94bddd81f1d9dc00390d3790bfd80bd (diff)
downloadfsf-binutils-gdb-fa1c0170176a5e4820f43824cffe80ffc4e7a717.zip
fsf-binutils-gdb-fa1c0170176a5e4820f43824cffe80ffc4e7a717.tar.gz
fsf-binutils-gdb-fa1c0170176a5e4820f43824cffe80ffc4e7a717.tar.bz2
[ARC] Fix/improve small data support.
The R_ARC_SDA32 is wrongly described as a ME relocation, fix it. Offset the __SDATA_BEGIN__ to take advantage of the signed 9-bit field of the load/store instructions. include/ 2016-07-08 Claudiu Zissulescu <claziss@synopsys.com> * elf/arc-reloc.def (ARC_SDA32): Don't use ME transformation. ld/ 2016-07-08 Claudiu Zissulescu <claziss@synopsys.com> * emulparams/arcelf.sh (SDATA_START_SYMBOLS): Add offset. * testsuite/ld-arc/sda-relocs.dd: New file. * testsuite/ld-arc/sda-relocs.ld: Likewise. * testsuite/ld-arc/sda-relocs.rd: Likewise. * testsuite/ld-arc/sda-relocs.s: Likewise. * testsuite/ld-arc/arc.exp: Add SDA tests.
Diffstat (limited to 'include/elf')
-rw-r--r--include/elf/arc-reloc.def2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/elf/arc-reloc.def b/include/elf/arc-reloc.def
index a995056..17c2429 100644
--- a/include/elf/arc-reloc.def
+++ b/include/elf/arc-reloc.def
@@ -139,7 +139,7 @@ ARC_RELOC_HOWTO(ARC_SDA32, 18, \
32, \
replace_word32, \
signed, \
- ( ME ( ( ( S + A ) - _SDA_BASE_ ) ) ))
+ ( ( ( S + A ) - _SDA_BASE_ ) ))
ARC_RELOC_HOWTO(ARC_SDA_LDST, 19, \
2, \