]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Refactor section_group[] representation.
authorMarcus Shawcroft <marcus.shawcroft@arm.com>
Sat, 28 Feb 2015 00:17:22 +0000 (00:17 +0000)
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>
Wed, 23 Aug 2017 20:37:13 +0000 (17:37 -0300)
Change the behaviour of section_group[] such that .stub_sec points to
the stub section attached to the indexed section rather than the stub
section attached to the link_section pointed to be the index section.

This provides a mechanism to get to the stub section following any
input section.  While still allowing the section grouping mechanism to
find the section group stub section associated with an input section
by first following the link_sec pointer.

bfd/ChangeLog
bfd/elfnn-aarch64.c

index de425a68328ddf5e0b898d6b2c0326abdc07c5a8..506c4dbdd182a31fd82817faa3c44db6cf1bfb20 100644 (file)
@@ -1,3 +1,8 @@
+2015-03-24  Marcus Shawcroft  <marcus.shawcroft@arm.com>
+
+       * elfnn-aarch64.c (_bfd_aarch64_create_or_find_stub_sec): Adjust
+       update of section_group[].stub_sec.
+
 2015-03-24  Marcus Shawcroft  <marcus.shawcroft@arm.com>
 
        * elfnn-aarch64.c (struct aarch64_erratum_835769_fix) Remove.
index e3c9134403419bbc00f3be7a6d867e9c37b51af3..8d58ad57d7003279189e9481d7cd88e7a729fbfe 100644 (file)
@@ -2327,21 +2327,12 @@ _bfd_aarch64_create_or_find_stub_sec (asection *section,
 
   link_sec = htab->stub_group[section->id].link_sec;
   BFD_ASSERT (link_sec != NULL);
-  stub_sec = htab->stub_group[section->id].stub_sec;
-
+  stub_sec = htab->stub_group[link_sec->id].stub_sec;
   if (stub_sec == NULL)
     {
-      stub_sec = htab->stub_group[link_sec->id].stub_sec;
-      if (stub_sec == NULL)
-       {
-         stub_sec = _bfd_aarch64_create_stub_section (link_sec, htab);
-         if (stub_sec == NULL)
-           return NULL;
-         htab->stub_group[link_sec->id].stub_sec = stub_sec;
-       }
-      htab->stub_group[section->id].stub_sec = stub_sec;
+      stub_sec = _bfd_aarch64_create_stub_section (link_sec, htab);
+      htab->stub_group[link_sec->id].stub_sec = stub_sec;
     }
-
   return stub_sec;
 }