* elf32-sh.c (sh_elf_create_dynamic_sections): Don't create .rela
authorAlan Modra <amodra@gmail.com>
Fri, 29 Jun 2012 07:37:50 +0000 (07:37 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 29 Jun 2012 07:37:50 +0000 (07:37 +0000)
section for bss type sections, except for .rela.bss.
* elf-m10300.c (_bfd_mn10300_elf_create_dynamic_sections): Likewise.
* elf32-cr16.c (_bfd_cr16_elf_create_dynamic_sections): Likewise.
* elf32-lm32.c (lm32_elf_create_dynamic_sections): Likewise.
* elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
* elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.

bfd/ChangeLog
bfd/elf-m10300.c
bfd/elf32-cr16.c
bfd/elf32-lm32.c
bfd/elf32-m32r.c
bfd/elf32-sh.c
bfd/elf64-sh64.c

index 26bcbd53c0e622812c18880d971a2ec869db1a4b..9ace5e60c4d2a2209d5c976afbb21cb95e7262ab 100644 (file)
@@ -1,3 +1,13 @@
+2012-06-29  Alan Modra  <amodra@gmail.com>
+
+       * elf32-sh.c (sh_elf_create_dynamic_sections): Don't create .rela
+       section for bss type sections, except for .rela.bss.
+       * elf-m10300.c (_bfd_mn10300_elf_create_dynamic_sections): Likewise.
+       * elf32-cr16.c (_bfd_cr16_elf_create_dynamic_sections): Likewise.
+       * elf32-lm32.c (lm32_elf_create_dynamic_sections): Likewise.
+       * elf32-m32r.c (m32r_elf_create_dynamic_sections): Likewise.
+       * elf64-sh64.c (sh64_elf64_create_dynamic_sections): Likewise.
+
 2012-06-28  Roland McGrath  <mcgrathr@google.com>
 
        * elf32-arm.c (elf32_arm_populate_plt_entry): Use int32_t for
index 8b5afa56d7d0254233d411278c068d3c94ebc830..ef3233ac93491aabc31300f45a28cfc8857e4093 100644 (file)
@@ -4843,32 +4843,6 @@ _bfd_mn10300_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
   if (! _bfd_mn10300_elf_create_got_section (abfd, info))
     return FALSE;
 
-  {
-    const char * secname;
-    char *       relname;
-    flagword     secflags;
-    asection *   sec;
-
-    for (sec = abfd->sections; sec; sec = sec->next)
-      {
-       secflags = bfd_get_section_flags (abfd, sec);
-       if ((secflags & (SEC_DATA | SEC_LINKER_CREATED))
-           || ((secflags & SEC_HAS_CONTENTS) != SEC_HAS_CONTENTS))
-         continue;
-
-       secname = bfd_get_section_name (abfd, sec);
-       relname = bfd_malloc (strlen (secname) + 6);
-       strcpy (relname, ".rela");
-       strcat (relname, secname);
-
-       s = bfd_make_section_with_flags (abfd, relname,
-                                        flags | SEC_READONLY);
-       if (s == NULL
-           || ! bfd_set_section_alignment (abfd, s, ptralign))
-         return FALSE;
-      }
-  }
-
   if (bed->want_dynbss)
     {
       /* The .dynbss section is a place to put symbols which are defined
index 56d1c542789bfed35c683d242481d73729ea72a3..9d1106e2ccba6ba5e0f504b67251161df1d26c9f 100644 (file)
@@ -2289,32 +2289,6 @@ _bfd_cr16_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
   if (! _bfd_cr16_elf_create_got_section (abfd, info))
     return FALSE;
 
-  {
-    const char * secname;
-    char *       relname;
-    flagword     secflags;
-    asection *   sec;
-
-    for (sec = abfd->sections; sec; sec = sec->next)
-      {
-        secflags = bfd_get_section_flags (abfd, sec);
-        if ((secflags & (SEC_DATA | SEC_LINKER_CREATED))
-            || ((secflags & SEC_HAS_CONTENTS) != SEC_HAS_CONTENTS))
-          continue;
-
-        secname = bfd_get_section_name (abfd, sec);
-        relname = (char *) bfd_malloc (strlen (secname) + 6);
-        strcpy (relname, ".rela");
-        strcat (relname, secname);
-
-        s = bfd_make_section_with_flags (abfd, relname,
-                                         flags | SEC_READONLY);
-        if (s == NULL
-            || ! bfd_set_section_alignment (abfd, s, ptralign))
-          return FALSE;
-      }
-  }
-
   if (bed->want_dynbss)
     {
       /* The .dynbss section is a place to put symbols which are defined
index b2211a302e47120da37f2ed75a7cda476f4d7954..461dbb83e7c8096c39fa0b2e212a5a6c4dffeffb 100644 (file)
@@ -2523,32 +2523,6 @@ lm32_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
       && ! create_got_section (abfd, info))
     return FALSE;
 
-  {
-    const char *secname;
-    char *relname;
-    flagword secflags;
-    asection *sec;
-
-    for (sec = abfd->sections; sec; sec = sec->next)
-      {
-        secflags = bfd_get_section_flags (abfd, sec);
-        if ((secflags & (SEC_DATA | SEC_LINKER_CREATED))
-            || ((secflags & SEC_HAS_CONTENTS) != SEC_HAS_CONTENTS))
-          continue;
-        secname = bfd_get_section_name (abfd, sec);
-        relname = bfd_malloc ((bfd_size_type) strlen (secname) + 6);
-        strcpy (relname, ".rela");
-        strcat (relname, secname);
-        if (bfd_get_section_by_name (abfd, secname))
-          continue;
-        s = bfd_make_section_with_flags (abfd, relname,
-                                        flags | SEC_READONLY);
-        if (s == NULL
-            || ! bfd_set_section_alignment (abfd, s, ptralign))
-          return FALSE;
-      }
-  }
-
   if (bed->want_dynbss)
     {
       /* The .dynbss section is a place to put symbols which are defined
index 730b3f56bff195da5155eab911d47bbd2b00e7d6..275daebc743a8e75bc3576e2dd3afd1fb30bce68 100644 (file)
@@ -1701,32 +1701,6 @@ m32r_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
       && ! create_got_section (abfd, info))
     return FALSE;
 
-  {
-    const char *secname;
-    char *relname;
-    flagword secflags;
-    asection *sec;
-
-    for (sec = abfd->sections; sec; sec = sec->next)
-      {
-        secflags = bfd_get_section_flags (abfd, sec);
-        if ((secflags & (SEC_DATA | SEC_LINKER_CREATED))
-            || ((secflags & SEC_HAS_CONTENTS) != SEC_HAS_CONTENTS))
-          continue;
-        secname = bfd_get_section_name (abfd, sec);
-        relname = bfd_malloc ((bfd_size_type) strlen (secname) + 6);
-        strcpy (relname, ".rela");
-        strcat (relname, secname);
-        if (bfd_get_section_by_name (abfd, secname))
-          continue;
-        s = bfd_make_section_with_flags (abfd, relname,
-                                        flags | SEC_READONLY);
-        if (s == NULL
-            || ! bfd_set_section_alignment (abfd, s, ptralign))
-          return FALSE;
-      }
-  }
-
   if (bed->want_dynbss)
     {
       /* The .dynbss section is a place to put symbols which are defined
index c7a8b2b69850924b61aa3a6b60af14fc542af8c5..c33995a818a191145c91e12f79e697639938ae87 100644 (file)
@@ -2749,32 +2749,6 @@ sh_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
       && !create_got_section (abfd, info))
     return FALSE;
 
-  {
-    const char *secname;
-    char *relname;
-    flagword secflags;
-    asection *sec;
-
-    for (sec = abfd->sections; sec; sec = sec->next)
-      {
-       secflags = bfd_get_section_flags (abfd, sec);
-       if ((secflags & (SEC_DATA | SEC_LINKER_CREATED))
-           || ((secflags & SEC_HAS_CONTENTS) != SEC_HAS_CONTENTS))
-         continue;
-       secname = bfd_get_section_name (abfd, sec);
-       relname = (char *) bfd_malloc ((bfd_size_type) strlen (secname) + 6);
-       strcpy (relname, ".rela");
-       strcat (relname, secname);
-       if (bfd_get_section_by_name (abfd, secname))
-         continue;
-       s = bfd_make_section_with_flags (abfd, relname,
-                                        flags | SEC_READONLY);
-       if (s == NULL
-           || ! bfd_set_section_alignment (abfd, s, ptralign))
-         return FALSE;
-      }
-  }
-
   if (bed->want_dynbss)
     {
       /* The .dynbss section is a place to put symbols which are defined
index e041bdae418f78cf7cdb19e265f3c85a8623046f..c314efd3ce868cc5eb6c1a166e960ad5e9479bf4 100644 (file)
@@ -3196,30 +3196,6 @@ sh64_elf64_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
   if (! _bfd_elf_create_got_section (abfd, info))
     return FALSE;
 
-  {
-    const char *secname;
-    char *relname;
-    flagword secflags;
-    asection *sec;
-
-    for (sec = abfd->sections; sec; sec = sec->next)
-      {
-       secflags = bfd_get_section_flags (abfd, sec);
-       if ((secflags & (SEC_DATA | SEC_LINKER_CREATED))
-           || ((secflags & SEC_HAS_CONTENTS) != SEC_HAS_CONTENTS))
-         continue;
-       secname = bfd_get_section_name (abfd, sec);
-       relname = (char *) bfd_malloc (strlen (secname) + 6);
-       strcpy (relname, ".rela");
-       strcat (relname, secname);
-       s = bfd_make_section_with_flags (abfd, relname,
-                                        flags | SEC_READONLY);
-       if (s == NULL
-           || ! bfd_set_section_alignment (abfd, s, ptralign))
-         return FALSE;
-      }
-  }
-
   if (bed->want_dynbss)
     {
       /* The .dynbss section is a place to put symbols which are defined