]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Don't assert at ldwrite.c:212
authorAlan Modra <amodra@gmail.com>
Wed, 29 Jul 2020 08:00:15 +0000 (17:30 +0930)
committerAlan Modra <amodra@gmail.com>
Fri, 29 Jan 2021 22:44:00 +0000 (09:14 +1030)
When excluding SHF_LINK_ORDER sections that happen to have SEC_KEEP
set, we need to set SEC_EXCLUDE here to avoid a problem later.

* ldelf.c (ldelf_before_place_orphans): Set SEC_EXCLUDE for
discarded sections.

(cherry picked from commit 5987401fcbc9933808fa0d84d1b01c93356c39a1)

ld/ChangeLog
ld/ldelf.c

index d8abc62717c85129fad5bdb06067ff2d7708a796..e9374b463355e12f1294f4f535cce209dbef87fb 100644 (file)
@@ -1,3 +1,10 @@
+2021-01-30  Alan Modra  <amodra@gmail.com>
+
+       Apply from master
+       2020-07-29  Alan Modra  <amodra@gmail.com>
+       * ldelf.c (ldelf_before_place_orphans): Set SEC_EXCLUDE for
+       discarded sections.
+
 2021-01-01  Alan Modra  <amodra@gmail.com>
 
        Apply from master
index 831d032fe568f618277e8308eee1fc5b9f18ab76..bcac331ff56d808390f2b86bc546cdcf1e5e95d0 100644 (file)
@@ -2192,6 +2192,7 @@ ldelf_before_place_orphans (void)
              if (discarded_section (linked_to_sec))
                {
                  isec->output_section = bfd_abs_section_ptr;
+                 isec->flags |= SEC_EXCLUDE;
                  break;
                }
          }