aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@gmail.com>2020-12-13 15:20:10 -0800
committerCary Coutant <ccoutant@gmail.com>2020-12-13 15:28:36 -0800
commit387a56a5435500ba2d2eac3fe76de1f400381cbe (patch)
tree04e13470335aa419b4e8a8201c3019e9de65ddf4
parentf12650bff1a591357c26e0ef6d7be0323f76fdb8 (diff)
downloadgdb-387a56a5435500ba2d2eac3fe76de1f400381cbe.zip
gdb-387a56a5435500ba2d2eac3fe76de1f400381cbe.tar.gz
gdb-387a56a5435500ba2d2eac3fe76de1f400381cbe.tar.bz2
Fix incremental tests using gcc 9, which adds Gnu properties sections.
During an incremental link, we should simply ignore the Gnu properties sections. We were not handling them properly -- failing to process the properties from the base file. While that could be fixed, the property sections are meant for deployed binaries, and incremental linking is for development, so keeping the properties sections just adds to the likelihood of forcing a full link sooner. gold/ PR gold/23539 * object.cc (Sized_relobj_file::layout_gnu_property_section): Ignore Gnu properties during incremental links.
-rw-r--r--gold/ChangeLog6
-rw-r--r--gold/object.cc4
2 files changed, 10 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog
index bfb7a70..0f052cc 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,5 +1,11 @@
2020-12-13 Cary Coutant <ccoutant@gmail.com>
+ PR gold/23539
+ * object.cc (Sized_relobj_file::layout_gnu_property_section): Ignore
+ Gnu properties during incremental links.
+
+2020-12-13 Cary Coutant <ccoutant@gmail.com>
+
PR gold/24123
* layout.cc (Layout::init_fixed_output_section): Mask out flags that
should be ignored when matching sections.
diff --git a/gold/object.cc b/gold/object.cc
index c0d0f02..23ce206 100644
--- a/gold/object.cc
+++ b/gold/object.cc
@@ -1304,6 +1304,10 @@ Sized_relobj_file<size, big_endian>::layout_gnu_property_section(
Layout* layout,
unsigned int shndx)
{
+ // We ignore Gnu property sections on incremental links.
+ if (parameters->incremental())
+ return;
+
section_size_type contents_len;
const unsigned char* pcontents = this->section_contents(shndx,
&contents_len,