diff options
author | Cary Coutant <ccoutant@gmail.com> | 2018-04-24 21:57:37 -0700 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2018-04-24 22:13:56 -0700 |
commit | 651d16203867f8013a0f78a2f2e24df8c02d1377 (patch) | |
tree | 80412e416cf3ffc70a81030fb558eae8f233dda0 /gold/ChangeLog | |
parent | 2ac93be706418f3b2aebeb22159a328023faed52 (diff) | |
download | gdb-651d16203867f8013a0f78a2f2e24df8c02d1377.zip gdb-651d16203867f8013a0f78a2f2e24df8c02d1377.tar.gz gdb-651d16203867f8013a0f78a2f2e24df8c02d1377.tar.bz2 |
Fix bug with relocation addends and merge sections with --icf.
During --icf processing, gold was incorrectly processing the relocation
addend for references to items in a merge section. PC-relative references
and other forms of reference with a biased base address require a
non-section local symbol, where the addend is purely the bias.
gold/
PR gold/20642
PR gold/22820
* gc.h (gc_process_relocs): Flag STT_SECTION symbols in symvec.
* icf.cc (get_section_contents): For merge sections, ignore the
addend for relocations against non-section symbols.
Diffstat (limited to 'gold/ChangeLog')
-rw-r--r-- | gold/ChangeLog | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gold/ChangeLog b/gold/ChangeLog index e38262e..26ccad1 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,13 @@ 2018-04-24 Cary Coutant <ccoutant@gmail.com> + PR gold/20642 + PR gold/22820 + * gc.h (gc_process_relocs): Flag STT_SECTION symbols in symvec. + * icf.cc (get_section_contents): For merge sections, ignore the + addend for relocations against non-section symbols. + +2018-04-24 Cary Coutant <ccoutant@gmail.com> + PR gold/16504 * dynobj.cc (Versions::symbol_section_contents): Don't set VERSYM_HIDDEN flag for undefined symbols. |