diff options
-rw-r--r-- | bfd/ChangeLog | 6 | ||||
-rw-r--r-- | bfd/elf32-vax.c | 15 |
2 files changed, 13 insertions, 8 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 60e3fb9515..766bd2dc79 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,5 +1,11 @@ 2012-05-19 Maciej W. Rozycki <macro@linux-mips.org> + * elf32-vax.c (elf_vax_relocate_section) + <R_VAX_8, R_VAX_16, R_VAX_32>: Use section flags rather than + its name as the check for text sections. + +2012-05-19 Maciej W. Rozycki <macro@linux-mips.org> + * elf64-mips.c (mips_elf64_be_swap_reloc_out): Also make sure the third reloc offset is the same as the first. diff --git a/bfd/elf32-vax.c b/bfd/elf32-vax.c index d55cdc5ef6..735f2231f6 100644 --- a/bfd/elf32-vax.c +++ b/bfd/elf32-vax.c @@ -1691,14 +1691,13 @@ elf_vax_relocate_section (bfd *output_bfd, } } - if (!strcmp (bfd_get_section_name (input_bfd, input_section), - ".text") != 0 || - (info->shared - && ELF32_R_TYPE(outrel.r_info) != R_VAX_32 - && ELF32_R_TYPE(outrel.r_info) != R_VAX_RELATIVE - && ELF32_R_TYPE(outrel.r_info) != R_VAX_COPY - && ELF32_R_TYPE(outrel.r_info) != R_VAX_JMP_SLOT - && ELF32_R_TYPE(outrel.r_info) != R_VAX_GLOB_DAT)) + if ((input_section->flags & SEC_CODE) != 0 + || (info->shared + && ELF32_R_TYPE (outrel.r_info) != R_VAX_32 + && ELF32_R_TYPE (outrel.r_info) != R_VAX_RELATIVE + && ELF32_R_TYPE (outrel.r_info) != R_VAX_COPY + && ELF32_R_TYPE (outrel.r_info) != R_VAX_JMP_SLOT + && ELF32_R_TYPE (outrel.r_info) != R_VAX_GLOB_DAT)) { if (h != NULL) (*_bfd_error_handler) |