diff options
author | Cary Coutant <ccoutant@gmail.com> | 2020-12-13 15:20:10 -0800 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2020-12-13 15:28:36 -0800 |
commit | 387a56a5435500ba2d2eac3fe76de1f400381cbe (patch) | |
tree | 04e13470335aa419b4e8a8201c3019e9de65ddf4 | |
parent | f12650bff1a591357c26e0ef6d7be0323f76fdb8 (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | gold/object.cc | 4 |
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, |