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 /ld/emulparams | |
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 'ld/emulparams')
-rw-r--r-- | ld/emulparams/arcelf.sh | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/ld/emulparams/arcelf.sh b/ld/emulparams/arcelf.sh index 7777f9b..9b52e2c 100644 --- a/ld/emulparams/arcelf.sh +++ b/ld/emulparams/arcelf.sh @@ -15,7 +15,7 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ARCH=arc MACHINE= ENTRY=__start -SDATA_START_SYMBOLS='__SDATA_BEGIN__ = .;' +SDATA_START_SYMBOLS='__SDATA_BEGIN__ = . + 0x100;' OTHER_SECTIONS="/DISCARD/ : { *(.__arc_profile_*) }" EMBEDDED=yes |