diff options
author | DJ Delorie <dj@redhat.com> | 2010-12-17 04:17:00 +0000 |
---|---|---|
committer | DJ Delorie <dj@redhat.com> | 2010-12-17 04:17:00 +0000 |
commit | e8ef21bff548e7b307b7079d349f42187914d4b1 (patch) | |
tree | aab0bbebed6f76d1435f4dbc834152fd1b199ff8 /bfd | |
parent | aeacb1880cc80f8d599ed11c09067b324f4926ca (diff) | |
download | gdb-e8ef21bff548e7b307b7079d349f42187914d4b1.zip gdb-e8ef21bff548e7b307b7079d349f42187914d4b1.tar.gz gdb-e8ef21bff548e7b307b7079d349f42187914d4b1.tar.bz2 |
* reloc.c (BFD_RELOC_RX_ABS16_REV): Add.
(BFD_RELOC_RX_ABS32_REV): Add.
* bfd-in2.h: Regenerate.
* libbfd.h: Regenerate.
* elf32-rx.c (rx_reloc_map): Add them.
* config/tc-rx.c (rx_validate_fix_sub): Permit subtraction in more
cases.
(tc_gen_reloc): Fix handling of subtraction (esp wrt endianness).
Diffstat (limited to 'bfd')
-rw-r--r-- | bfd/ChangeLog | 8 | ||||
-rw-r--r-- | bfd/bfd-in2.h | 2 | ||||
-rw-r--r-- | bfd/elf32-rx.c | 2 | ||||
-rw-r--r-- | bfd/libbfd.h | 2 | ||||
-rw-r--r-- | bfd/reloc.c | 4 |
5 files changed, 18 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index fcf2843..39524f6 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,11 @@ +2010-12-16 DJ Delorie <dj@redhat.com> + + * reloc.c (BFD_RELOC_RX_ABS16_REV): Add. + (BFD_RELOC_RX_ABS32_REV): Add. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + * elf32-rx.c (rx_reloc_map): Add them. + 2010-12-15 H.J. Lu <hongjiu.lu@intel.com> * elf.c (_bfd_elf_new_section_hook): Special handling for diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index e7805b6..7cf593b 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -3991,7 +3991,9 @@ instructions */ BFD_RELOC_RX_OP_SUBTRACT, BFD_RELOC_RX_ABS8, BFD_RELOC_RX_ABS16, + BFD_RELOC_RX_ABS16_REV, BFD_RELOC_RX_ABS32, + BFD_RELOC_RX_ABS32_REV, BFD_RELOC_RX_ABS16U, BFD_RELOC_RX_ABS16UW, BFD_RELOC_RX_ABS16UL, diff --git a/bfd/elf32-rx.c b/bfd/elf32-rx.c index d7e15a0..ac587ef 100644 --- a/bfd/elf32-rx.c +++ b/bfd/elf32-rx.c @@ -250,7 +250,9 @@ static const struct rx_reloc_map rx_reloc_map [] = { BFD_RELOC_RX_OP_SUBTRACT, R_RX_OPsub }, { BFD_RELOC_RX_ABS8, R_RX_ABS8 }, { BFD_RELOC_RX_ABS16, R_RX_ABS16 }, + { BFD_RELOC_RX_ABS16_REV, R_RX_ABS16_REV }, { BFD_RELOC_RX_ABS32, R_RX_ABS32 }, + { BFD_RELOC_RX_ABS32_REV, R_RX_ABS32_REV }, { BFD_RELOC_RX_ABS16UL, R_RX_ABS16UL }, { BFD_RELOC_RX_ABS16UW, R_RX_ABS16UW }, { BFD_RELOC_RX_ABS16U, R_RX_ABS16U } diff --git a/bfd/libbfd.h b/bfd/libbfd.h index e706ce4..5687082 100644 --- a/bfd/libbfd.h +++ b/bfd/libbfd.h @@ -1802,7 +1802,9 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@", "BFD_RELOC_RX_OP_SUBTRACT", "BFD_RELOC_RX_ABS8", "BFD_RELOC_RX_ABS16", + "BFD_RELOC_RX_ABS16_REV", "BFD_RELOC_RX_ABS32", + "BFD_RELOC_RX_ABS32_REV", "BFD_RELOC_RX_ABS16U", "BFD_RELOC_RX_ABS16UW", "BFD_RELOC_RX_ABS16UL", diff --git a/bfd/reloc.c b/bfd/reloc.c index 5a428a2..6d4eb85 100644 --- a/bfd/reloc.c +++ b/bfd/reloc.c @@ -4262,8 +4262,12 @@ ENUMX ENUMX BFD_RELOC_RX_ABS16 ENUMX + BFD_RELOC_RX_ABS16_REV +ENUMX BFD_RELOC_RX_ABS32 ENUMX + BFD_RELOC_RX_ABS32_REV +ENUMX BFD_RELOC_RX_ABS16U ENUMX BFD_RELOC_RX_ABS16UW |