From c47320c3a065db35280f4380e4e3232b6286b56c Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Mon, 2 Aug 2010 13:52:49 +0000 Subject: [PATCH] * readelf.c (apply_relocations): D30V is really REL. --- binutils/ChangeLog | 4 ++++ binutils/readelf.c | 8 ++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index ae598c14d6a..f9902ab2ff9 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2010-08-02 Alan Modra + + * readelf.c (apply_relocations): D30V is really REL. + 2010-07-23 Naveen.H.S Ina Pandit diff --git a/binutils/readelf.c b/binutils/readelf.c index c2bb10de2f0..614f761e94e 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) -- 2.30.2