[ARC] Fix/improve small data support.
authorClaudiu Zissulescu <claziss@synopsys.com>
Fri, 8 Jul 2016 09:55:49 +0000 (11:55 +0200)
committerClaudiu Zissulescu <claziss@synopsys.com>
Thu, 14 Jul 2016 08:08:57 +0000 (10:08 +0200)
commitfa1c0170176a5e4820f43824cffe80ffc4e7a717
tree2e32657a3199223084212b5464a66b2b25d7a6c4
parentefc67f64c94bddd81f1d9dc00390d3790bfd80bd
[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.
include/ChangeLog
include/elf/arc-reloc.def
ld/ChangeLog
ld/emulparams/arcelf.sh
ld/testsuite/ld-arc/arc.exp
ld/testsuite/ld-arc/sda-relocs.dd [new file with mode: 0644]
ld/testsuite/ld-arc/sda-relocs.ld [new file with mode: 0644]
ld/testsuite/ld-arc/sda-relocs.rd [new file with mode: 0644]
ld/testsuite/ld-arc/sda-relocs.s [new file with mode: 0644]