diff options
author | Cary Coutant <ccoutant@gmail.com> | 2015-06-03 20:30:11 -0700 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2015-06-03 20:30:11 -0700 |
commit | 8086551f52df808681fa09ca00dfb91e67d8d2ff (patch) | |
tree | 495eb3d4047371bf419af67f46c65762ca3fd635 /install-sh | |
parent | 374082dfab280123f5a54a23b1c1b2cb893b4d2b (diff) | |
download | gdb-8086551f52df808681fa09ca00dfb91e67d8d2ff.zip gdb-8086551f52df808681fa09ca00dfb91e67d8d2ff.tar.gz gdb-8086551f52df808681fa09ca00dfb91e67d8d2ff.tar.bz2 |
Fix SIZEOF_HEADERS in gold.
Gold undercounts the number of program headers it's going to add when
initially evaluating the SIZEOF_HEADERS expression. As a result, scripts
that use it end up skipping a page unnecessarily when the starting address
is too low. The undercounting is because it doesn't count the PT_INTERP
segment.
Then, when finalizing symbols, gold overcounts the program headers: all
segments have already been created, but we still count the headers we
expected to add from the script.
This patch fixes both problems.
gold/
* script-sections.cc (Script_sections::Script_sections): Initialize
segments_created_.
(Script_sections::create_note_and_tls_segments): Set flag when
segments are created.
(Script_sections::expected_segment_count): Count PT_INTERP.
(Script_sections::attach_sections_using_phdrs_clause): Set flag when
segments are created.
* script-sections.h (Script_sections::segments_created_): New data
member.
Diffstat (limited to 'install-sh')
0 files changed, 0 insertions, 0 deletions