aboutsummaryrefslogtreecommitdiff
path: root/ld/ChangeLog
diff options
context:
space:
mode:
authorMaciej W. Rozycki <macro@mips.com>2018-09-14 20:22:56 +0100
committerMaciej W. Rozycki <macro@linux-mips.org>2018-09-14 20:22:56 +0100
commit6057dc97e4df5ca9692ddd948798eaa543c74cc7 (patch)
tree4ac5b59f61ba9a6cb89a0aca6b5a344e24de2550 /ld/ChangeLog
parenta000f8817b32eadd4aeadf9185634350a59e6649 (diff)
downloadgdb-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/ChangeLog10
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