diff options
author | Nick Clifton <nickc@redhat.com> | 2010-03-18 11:22:46 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2010-03-18 11:22:46 +0000 |
commit | b43420e6cdbc2b1ae000f4671470d208ac7241a9 (patch) | |
tree | 461a0ff104afd4e004535bc1f70ce12c0ed688f1 /bfd | |
parent | 17299ac7f6d12ac5286a490e43c0cdb75abc0f21 (diff) | |
download | gdb-b43420e6cdbc2b1ae000f4671470d208ac7241a9.zip gdb-b43420e6cdbc2b1ae000f4671470d208ac7241a9.tar.gz gdb-b43420e6cdbc2b1ae000f4671470d208ac7241a9.tar.bz2 |
bfd/
2010-03-15 Wei Guozhi <carrot@google.com>
PR gas/11323
* bfd-in2.h (enum bfd_reloc_code_real): New BFD_RELOC_GOT_PREL type.
* elf32-arm.c (elf32_arm_reloc_map): BFD_RELOC_GOT_PREL to
R_ARM_GOT_PREL map.
* libbfd.h (bfd_reloc_code_real_names): BFD_RELOC_GOT_PREL name.
* reloc.c (comments): Document the new relocation.
gas/
2010-03-15 Wei Guozhi <carrot@google.com>
PR gas/11323
* config/tc-arm.c (reloc_names): New relocation names.
(md_apply_fix): New case for BFD_RELOC_ARM_GOT_PREL.
(tc_gen_reloc): New case for BFD_RELOC_ARM_GOT_PREL.
* doc/c-arm.texi (ARM-Relocations): Document the new relocation.
gas/testsuite
2010-03-15 Wei Guozhi <carrot@google.com>
PR gas/11323
* gas/arm/got_prel.s: New test case.
* gas/arm/got_prel.d: Likewise.
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 9 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 1 | ||||
-rw-r--r-- | bfd/elf32-arm.c | 1 | ||||
-rw-r--r-- | bfd/libbfd.h | 1 | ||||
-rw-r--r-- | bfd/reloc.c | 2 |
5 files changed, 14 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0172fdf..d8af13c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,12 @@ +2010-03-18 Wei Guozhi <carrot@google.com> + + PR gas/11323 + * elf32-arm.c (elf32_arm_reloc_map): Map BFD_RELOC_ARM_GOT_PREL to + R_ARM_GOT_PREL. + * reloc.c (BFD_RELOC_ARM_GOT_PREL): New ARM relocation. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + 2010-03-17 H.J. Lu <hongjiu.lu@intel.com> * reloc.c (BFD_RELOC_SPU_PIC18): Removed. diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index c90ac2d..31af74f 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -3114,6 +3114,7 @@ pc-relative or some form of GOT-indirect relocation. */ BFD_RELOC_ARM_RELATIVE, BFD_RELOC_ARM_GOTOFF, BFD_RELOC_ARM_GOTPC, + BFD_RELOC_ARM_GOT_PREL, /* ARM thread-local storage relocations. */ BFD_RELOC_ARM_TLS_GD32, diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index eede7ec..6bd29f6 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -1721,6 +1721,7 @@ static const struct elf32_arm_reloc_map elf32_arm_reloc_map[] = {BFD_RELOC_ARM_RELATIVE, R_ARM_RELATIVE}, {BFD_RELOC_ARM_GOTOFF, R_ARM_GOTOFF32}, {BFD_RELOC_ARM_GOTPC, R_ARM_GOTPC}, + {BFD_RELOC_ARM_GOT_PREL, R_ARM_GOT_PREL}, {BFD_RELOC_ARM_GOT32, R_ARM_GOT32}, {BFD_RELOC_ARM_PLT32, R_ARM_PLT32}, {BFD_RELOC_ARM_TARGET1, R_ARM_TARGET1}, diff --git a/bfd/libbfd.h b/bfd/libbfd.h index fa9d187..65cfccf 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -1330,6 +1330,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_ARM_RELATIVE", "BFD_RELOC_ARM_GOTOFF", "BFD_RELOC_ARM_GOTPC", + "BFD_RELOC_ARM_GOT_PREL", "BFD_RELOC_ARM_TLS_GD32", "BFD_RELOC_ARM_TLS_LDO32", "BFD_RELOC_ARM_TLS_LDM32", diff --git a/bfd/reloc.c b/bfd/reloc.c index 1974851..cacd0de 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -2936,6 +2936,8 @@ ENUMX BFD_RELOC_ARM_GOTOFF ENUMX BFD_RELOC_ARM_GOTPC +ENUMX + BFD_RELOC_ARM_GOT_PREL ENUMDOC Relocations for setting up GOTs and PLTs for shared libraries. |