diff options
author | Maciej W. Rozycki <macro@mips.com> | 2018-09-14 20:22:56 +0100 |
---|---|---|
committer | Maciej W. Rozycki <macro@linux-mips.org> | 2018-09-14 20:22:56 +0100 |
commit | 6057dc97e4df5ca9692ddd948798eaa543c74cc7 (patch) | |
tree | 4ac5b59f61ba9a6cb89a0aca6b5a344e24de2550 /ld/ChangeLog | |
parent | a000f8817b32eadd4aeadf9185634350a59e6649 (diff) | |
download | gdb-6057dc97e4df5ca9692ddd948798eaa543c74cc7.zip gdb-6057dc97e4df5ca9692ddd948798eaa543c74cc7.tar.gz gdb-6057dc97e4df5ca9692ddd948798eaa543c74cc7.tar.bz2 |
LD: Always make a SEGMENT_START expression section-relative
Fix an issue with the SEGMENT_START builtin function where its result is
absolute when taken from the default supplied, and section-relative when
taken from a `-T' command-line override. This is against documentation,
inconsistent and unexpected, and with PIE executables gives an incorrect
result with the `__executable_start' symbol.
Make the result of SEGMENT_START always section-relative then.
ld/
* ldexp.c (fold_binary): Always make the result of SEGMENT_START
section-relative.
* testsuite/ld-scripts/segment-start.d: New test.
* testsuite/ld-scripts/segment-start.ld: New test linker script.
* testsuite/ld-scripts/segment-start.s: New test source.
* testsuite/ld-scripts/script.exp: Run the new test.
Diffstat (limited to 'ld/ChangeLog')
-rw-r--r-- | ld/ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index bda269c..528ba3c 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,13 @@ +2018-09-14 Maciej W. Rozycki <macro@mips.com> + Maciej W. Rozycki <macro@linux-mips.org> + + * ldexp.c (fold_binary): Always make the result of SEGMENT_START + section-relative. + * testsuite/ld-scripts/segment-start.d: New test. + * testsuite/ld-scripts/segment-start.ld: New test linker script. + * testsuite/ld-scripts/segment-start.s: New test source. + * testsuite/ld-scripts/script.exp: Run the new test. + 2018-09-14 Maciej W. Rozycki <macro@linux-mips.org> * ldexp.c (fold_binary): Check that `config.maxpagesize' is |