This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] Remove some custom sections from RISC-V's default linker scripts
- From: Palmer Dabbelt <palmer at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 9 Jan 2017 17:21:29 -0000
- Subject: [binutils-gdb] Remove some custom sections from RISC-V's default linker scripts
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=6ec11ab97ab47ec4a22118e5b1c77df567796002
commit 6ec11ab97ab47ec4a22118e5b1c77df567796002
Author: Palmer Dabbelt <palmer@dabbelt.com>
Date: Thu Dec 29 17:29:53 2016 -0800
Remove some custom sections from RISC-V's default linker scripts
This was added so compressed loads could have smaller offsets for
accessing the data section, but the result was that writable sections
ended up in INITIAL_READONLY_SECTIONS. This is a bad idea. The fix is
to just remove this micro-optimization.
Thanks to Alan Morda for finding the problem!
ld/ChangeLog
2017-01-09 Palmer Dabbelt <palmer@dabbelt.com>
Kito Cheng <kito.cheng@gmail.com>
* emulparams/elf32lriscv-defs.sh (INITIAL_READONLY_SECTIONS):
Removed.
(SDATA_START_SYMBOLS): Likewise.
Diff:
---
gas/ChangeLog | 7 +++++++
ld/emulparams/elf32lriscv-defs.sh | 12 ------------
2 files changed, 7 insertions(+), 12 deletions(-)
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 2d72b78..88f68a1 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,10 @@
+2017-01-09 Palmer Dabbelt <palmer@dabbelt.com>
+ Kito Cheng <kito.cheng@gmail.com>
+
+ * emulparams/elf32lriscv-defs.sh (INITIAL_READONLY_SECTIONS):
+ Removed.
+ (SDATA_START_SYMBOLS): Likewise.
+
2017-01-09 Nick Clifton <nickc@redhat.com>
* po/sv.po: New Swedish translation.
diff --git a/ld/emulparams/elf32lriscv-defs.sh b/ld/emulparams/elf32lriscv-defs.sh
index 0e4b723..0eba0d1 100644
--- a/ld/emulparams/elf32lriscv-defs.sh
+++ b/ld/emulparams/elf32lriscv-defs.sh
@@ -26,17 +26,5 @@ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
SDATA_START_SYMBOLS="_gp = . + 0x800;
*(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)"
-# Place the data section before text section. This enables more compact
-# global variable access for RVC code via linker relaxation.
-INITIAL_READONLY_SECTIONS="
- .data : { *(.data) *(.data.*) *(.gnu.linkonce.d.*) }
- .rodata : { *(.rodata) *(.rodata.*) *(.gnu.linkonce.r.*) }
- .srodata : { ${SDATA_START_SYMBOLS} }
- .sdata : { *(.sdata .sdata.* .gnu.linkonce.s.*) }
- .sbss : { *(.dynsbss) *(.sbss .sbss.* .gnu.linkonce.sb.*) }
- .bss : { *(.dynbss) *(.bss .bss.* .gnu.linkonce.b.*) *(COMMON) }
- . = ALIGN(${SEGMENT_SIZE}) + (. & (${MAXPAGESIZE} - 1));"
INITIAL_READONLY_SECTIONS=".interp : { *(.interp) } ${CREATE_PIE-${INITIAL_READONLY_SECTIONS}}"
INITIAL_READONLY_SECTIONS="${RELOCATING+${CREATE_SHLIB-${INITIAL_READONLY_SECTIONS}}}"
-
-SDATA_START_SYMBOLS="${CREATE_PIE+${SDATA_START_SYMBOLS}}"