diff options
author | Claudiu Zissulescu <claziss@synopsys.com> | 2016-07-08 11:55:49 +0200 |
---|---|---|
committer | Claudiu Zissulescu <claziss@synopsys.com> | 2016-07-14 10:08:57 +0200 |
commit | fa1c0170176a5e4820f43824cffe80ffc4e7a717 (patch) | |
tree | 2e32657a3199223084212b5464a66b2b25d7a6c4 /include/elf | |
parent | efc67f64c94bddd81f1d9dc00390d3790bfd80bd (diff) | |
download | gdb-fa1c0170176a5e4820f43824cffe80ffc4e7a717.zip gdb-fa1c0170176a5e4820f43824cffe80ffc4e7a717.tar.gz 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.def | 2 |
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, \ |