aboutsummaryrefslogtreecommitdiff
path: root/bfd
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2010-12-17 04:17:00 +0000
committerDJ Delorie <dj@redhat.com>2010-12-17 04:17:00 +0000
commite8ef21bff548e7b307b7079d349f42187914d4b1 (patch)
treeaab0bbebed6f76d1435f4dbc834152fd1b199ff8 /bfd
parentaeacb1880cc80f8d599ed11c09067b324f4926ca (diff)
downloadgdb-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/ChangeLog8
-rw-r--r--bfd/bfd-in2.h2
-rw-r--r--bfd/elf32-rx.c2
-rw-r--r--bfd/libbfd.h2
-rw-r--r--bfd/reloc.c4
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