mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-25 13:27:26 +08:00
[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.
This commit is contained in:
@ -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, \
|
||||
|
Reference in New Issue
Block a user