From 57e96a08618e98e45c84d63da0db560b5c0930d9 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Fri, 4 Sep 2009 06:54:12 +0000 Subject: [PATCH] * elf32-spu.c (spu_elf_relocate_section): Correct 2009-07-24 logic. --- bfd/ChangeLog | 4 ++++ bfd/elf32-spu.c | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 954edf3..8a26fa4 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,7 @@ +2009-09-04 Alan Modra + + * elf32-spu.c (spu_elf_relocate_section): Correct 2009-07-24 logic. + 2009-09-04 Jie Zhang * elf32-bfin.c (elf32_bfinfdpic_create_dynamic_sections): Always diff --git a/bfd/elf32-spu.c b/bfd/elf32-spu.c index 16f9450..13d3a53 100644 --- a/bfd/elf32-spu.c +++ b/bfd/elf32-spu.c @@ -4906,8 +4906,9 @@ spu_elf_relocate_section (bfd *output_bfd, continue; /* Change "a rt,ra,rb" to "ai rt,ra,0". */ - if (r_type == R_SPU_ADD_PIC && h != NULL - && (h->def_regular || ELF_COMMON_DEF_P (h))) + if (r_type == R_SPU_ADD_PIC + && h != NULL + && !(h->def_regular || ELF_COMMON_DEF_P (h))) { bfd_byte *loc = contents + rel->r_offset; loc[0] = 0x1c; -- 2.7.4