diff options
author | Paul Brook <paul@codesourcery.com> | 2004-08-06 16:18:11 +0000 |
---|---|---|
committer | Paul Brook <paul@codesourcery.com> | 2004-08-06 16:18:11 +0000 |
commit | db6579d415fafa3833828f9528bc8d9525da3cd8 (patch) | |
tree | f0dc04dc5845967aab1b2f08fefbf2fc853c2007 /gas | |
parent | deaa6723d2a35d46bc95cd4d7b295596893a158c (diff) | |
download | gdb-db6579d415fafa3833828f9528bc8d9525da3cd8.zip gdb-db6579d415fafa3833828f9528bc8d9525da3cd8.tar.gz gdb-db6579d415fafa3833828f9528bc8d9525da3cd8.tar.bz2 |
bfd/
* elfarm-nabi.c (elf32_arm_howto_table): Add new EABI relocations.
(elf32_arm_reloc_map): Add BFD_RELOC_ARM_RELABS32,
BFD_RELOC_ARM_ROSEGREL32 and BFD_RELOC_ARM_SBREL32.
* reloc.c: Add BFD_RELOC_ARM_RELABS32, BFD_RELOC_ARM_ROSEGREL32
and BFD_RELOC_ARM_SBREL32.
* bfd-in2.h, bbfd.h: Regenerate.
gas/
* config/tc-arm.c (md_apply_fix3, tc_gen_reloc, arm_parse_reloc):
Handle new relocations.
* include/elf/arm.h (elf_arm_reloc_type): Add new EABI relocations.
gas/testsuite/
* gas/arm/pic.s,d: Test RELABS and SBREL relocations.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-arm.c | 8 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/pic.d | 2 | ||||
-rw-r--r-- | gas/testsuite/gas/arm/pic.s | 2 |
5 files changed, 22 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index f221a15..4361aa3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2004-08-06 Paul Brook <paul@codesourcery.com> + + * config/tc-arm.c (md_apply_fix3, tc_gen_reloc, arm_parse_reloc): + Handle new relocations. + * include/elf/arm.h (elf_arm_reloc_type): Add new EABI relocations. + 2004-08-05 Bob Wilson <bob.wilson@acm.org> * write.c (relax_segment): Use was_address instead of address when diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c index 96cf3ca..f7eeca7 100644 --- a/gas/config/tc-arm.c +++ b/gas/config/tc-arm.c @@ -12487,6 +12487,9 @@ md_apply_fix3 (fixP, valP, seg) case BFD_RELOC_RVA: case BFD_RELOC_32: + case BFD_RELOC_ARM_RELABS32: + case BFD_RELOC_ARM_ROSEGREL32: + case BFD_RELOC_ARM_SBREL32: if (fixP->fx_done || fixP->fx_pcrel) md_number_to_chars (buf, value, 4); #ifdef OBJ_ELF @@ -12774,6 +12777,9 @@ tc_gen_reloc (section, fixp) case BFD_RELOC_ARM_GOT32: case BFD_RELOC_ARM_GOTOFF: case BFD_RELOC_ARM_PLT32: + case BFD_RELOC_ARM_RELABS32: + case BFD_RELOC_ARM_ROSEGREL32: + case BFD_RELOC_ARM_SBREL32: code = fixp->fx_r_type; break; #endif @@ -14132,6 +14138,8 @@ arm_parse_reloc () /* ScottB: Jan 30, 1998 - Added support for parsing "var(PLT)" branch instructions generated by GCC for PLT relocs. */ MAP ("(plt)", BFD_RELOC_ARM_PLT32), + MAP ("(relabs)", BFD_RELOC_ARM_RELABS32), + MAP ("(sbrel)", BFD_RELOC_ARM_SBREL32), { NULL, 0, BFD_RELOC_UNUSED } #undef MAP }; diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index f0679eb..f91cf6d 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-08-06 Paul Brook <paul@codesourcery.com> + + * gas/arm/pic.s,d: Test RELABS and SBREL relocations. + 2004-08-05 Nitin Yewale <nitiny@kpitcummins.com> * h8300/h8300.exp: Addition of new test case to check rx diff --git a/gas/testsuite/gas/arm/pic.d b/gas/testsuite/gas/arm/pic.d index 6c4a043..bd69d1b 100644 --- a/gas/testsuite/gas/arm/pic.d +++ b/gas/testsuite/gas/arm/pic.d @@ -15,3 +15,5 @@ Disassembly of section .text: c: R_ARM_GOT32 sym 10: R_ARM_GOTOFF sym 14: R_ARM_GOTPC _GLOBAL_OFFSET_TABLE_ + 18: R_ARM_RELABS32 foo2 + 1c: R_ARM_SBREL32 foo3 diff --git a/gas/testsuite/gas/arm/pic.s b/gas/testsuite/gas/arm/pic.s index f538908..8d0842c 100644 --- a/gas/testsuite/gas/arm/pic.s +++ b/gas/testsuite/gas/arm/pic.s @@ -9,3 +9,5 @@ .word sym(GOTOFF) 1: .word _GLOBAL_OFFSET_TABLE_ - 1b + .word foo2(RELABS) + .word foo3(SBREL) |