aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2010-08-02 13:52:49 +0000
committerAlan Modra <amodra@gmail.com>2010-08-02 13:52:49 +0000
commitc47320c3a065db35280f4380e4e3232b6286b56c (patch)
tree69fe326156262b30edc8af1aa183819323daf8a3
parent88a4108bde4d02cccd632048b45458e84bc8b40b (diff)
downloadfsf-binutils-gdb-c47320c3a065db35280f4380e4e3232b6286b56c.zip
fsf-binutils-gdb-c47320c3a065db35280f4380e4e3232b6286b56c.tar.gz
fsf-binutils-gdb-c47320c3a065db35280f4380e4e3232b6286b56c.tar.bz2
* readelf.c (apply_relocations): D30V is really REL.
-rw-r--r--binutils/ChangeLog4
-rw-r--r--binutils/readelf.c8
2 files changed, 10 insertions, 2 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index ae598c1..f9902ab 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,7 @@
+2010-08-02 Alan Modra <amodra@gmail.com>
+
+ * readelf.c (apply_relocations): D30V is really REL.
+
2010-07-23 Naveen.H.S <naveen.S@kpitcummins.com>
Ina Pandit <ina.pandit@kpitcummins.com>
diff --git a/binutils/readelf.c b/binutils/readelf.c
index c2bb10d..614f761 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -9657,13 +9657,17 @@ apply_relocations (void * file,
addend = 0;
if (is_rela)
addend += rp->r_addend;
- /* R_XTENSA_32 and R_PJ_DATA_DIR32 are partial_inplace. */
+ /* R_XTENSA_32, R_PJ_DATA_DIR32 and R_D30V_32_NORMAL are
+ partial_inplace. */
if (!is_rela
|| (elf_header.e_machine == EM_XTENSA
&& reloc_type == 1)
|| ((elf_header.e_machine == EM_PJ
|| elf_header.e_machine == EM_PJ_OLD)
- && reloc_type == 1))
+ && reloc_type == 1)
+ || ((elf_header.e_machine == EM_D30V
+ || elf_header.e_machine == EM_CYGNUS_D30V)
+ && reloc_type == 12))
addend += byte_get (rloc, reloc_size);
if (is_32bit_pcrel_reloc (reloc_type)