OSDN Git Service

2008-07-21 H.J. Lu <hongjiu.lu@intel.com>
authorH.J. Lu <hjl@lucon.org>
Mon, 21 Jul 2008 14:36:07 +0000 (14:36 +0000)
committerH.J. Lu <hjl@lucon.org>
Mon, 21 Jul 2008 14:36:07 +0000 (14:36 +0000)
PR ld/6747
* elf32-frv.c (elf32_frv_relocate_section): Revert the change
for PR ld/6446 checked in by accident on May 21, 2008.

bfd/ChangeLog
bfd/elf32-frv.c

index 2e677da..c2e14fb 100644 (file)
@@ -1,3 +1,9 @@
+2008-07-21  H.J. Lu  <hongjiu.lu@intel.com>
+
+       PR ld/6747
+       * elf32-frv.c (elf32_frv_relocate_section): Revert the change
+       for PR ld/6446 checked in by accident on May 21, 2008.
+
 2008-07-21  Nick Clifton  <nickc@redhat.com>
 
        * coff-sh.c (bfd_pe_print_pdata): Define to NULL for non
index fab71ad..aad8253 100644 (file)
@@ -2728,14 +2728,7 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
     check_segment[2];
   int silence_segment_error = !(info->shared || info->pie);
   unsigned long insn;
-  static bfd_boolean ef_frv_pic_flag_set = FALSE;
 
-  if (! ef_frv_pic_flag_set && IS_FDPIC (output_bfd))
-    {
-      elf_elfheader (output_bfd)->e_flags |= EF_FRV_PIC;
-      ef_frv_pic_flag_set = TRUE;
-    }
-  
   symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr;
   sym_hashes = elf_sym_hashes (input_bfd);
   relend     = relocs + input_section->reloc_count;
@@ -3992,9 +3985,7 @@ elf32_frv_relocate_section (output_bfd, info, input_bfd, input_section,
            }
          if (!silence_segment_error && (info->shared || info->pie))
            return FALSE;
-         /* PR 6446: EF_FRV_PIC should be cleared if
-            there are any inter-segment relocations.  */
-         elf_elfheader (output_bfd)->e_flags &= ~ EF_FRV_PIC;
+         elf_elfheader (output_bfd)->e_flags |= EF_FRV_PIC;
        }
 
       switch (r_type)