aboutsummaryrefslogtreecommitdiff
path: root/ld/emulparams
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 /ld/emulparams
parentefc67f64c94bddd81f1d9dc00390d3790bfd80bd (diff)
downloadgdb-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.sh2
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