* elf32-cris.c (cris_elf_check_relocs) <plt accounting for
authorHans-Peter Nilsson <hp@axis.com>
Thu, 1 Dec 2011 02:51:14 +0000 (02:51 +0000)
committerHans-Peter Nilsson <hp@axis.com>
Thu, 1 Dec 2011 02:51:14 +0000 (02:51 +0000)
R_CRIS_8, R_CRIS_16, and R_CRIS_32>: Move early break for
non-SEC_ALLOC sections before GOT and PLT accounting.

bfd/ChangeLog
bfd/elf32-cris.c

index c1a6f0d436f676c2f3bd61a38db8a3cb159ba95d..78b1a958d42a646a39a0df474217501fc2bf0083 100644 (file)
@@ -1,3 +1,9 @@
+2011-12-01  Hans-Peter Nilsson  <hp@axis.com>
+
+       * elf32-cris.c (cris_elf_check_relocs) <plt accounting for
+       R_CRIS_8, R_CRIS_16, and R_CRIS_32>: Move early break for
+       non-SEC_ALLOC sections before GOT and PLT accounting.
+
 2011-11-29  Andrew Pinski  <apinski@cavium.com>
 
        * archures.c (bfd_mach_mips_octeonp): New macro.
index 033d1c8b7919bc238077f9d435adfe61256389bb..563e2c075e6ba43d326ffc0760944cc0c6c402a6 100644 (file)
@@ -3583,6 +3583,12 @@ cris_elf_check_relocs (bfd *abfd,
                 sec,
                 cris_elf_howto_table[r_type].name);
            }
+
+         /* We don't need to handle relocs into sections not going into
+            the "real" output.  */
+         if ((sec->flags & SEC_ALLOC) == 0)
+           break;
+
          if (h != NULL)
            {
              h->non_got_ref = 1;
@@ -3612,11 +3618,6 @@ cris_elf_check_relocs (bfd *abfd,
          if (! info->shared)
            break;
 
-         /* We don't need to handle relocs into sections not going into
-            the "real" output.  */
-         if ((sec->flags & SEC_ALLOC) == 0)
-           break;
-
          /* We may need to create a reloc section in the dynobj and made room
             for this reloc.  */
          if (sreloc == NULL)