mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-26 22:07:58 +08:00
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.
This commit is contained in:
@ -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>
|
2017-01-09 Nick Clifton <nickc@redhat.com>
|
||||||
|
|
||||||
* po/sv.po: New Swedish translation.
|
* po/sv.po: New Swedish translation.
|
||||||
|
@ -26,17 +26,5 @@ COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
|
|||||||
SDATA_START_SYMBOLS="_gp = . + 0x800;
|
SDATA_START_SYMBOLS="_gp = . + 0x800;
|
||||||
*(.srodata.cst16) *(.srodata.cst8) *(.srodata.cst4) *(.srodata.cst2) *(.srodata .srodata.*)"
|
*(.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=".interp : { *(.interp) } ${CREATE_PIE-${INITIAL_READONLY_SECTIONS}}"
|
||||||
INITIAL_READONLY_SECTIONS="${RELOCATING+${CREATE_SHLIB-${INITIAL_READONLY_SECTIONS}}}"
|
INITIAL_READONLY_SECTIONS="${RELOCATING+${CREATE_SHLIB-${INITIAL_READONLY_SECTIONS}}}"
|
||||||
|
|
||||||
SDATA_START_SYMBOLS="${CREATE_PIE+${SDATA_START_SYMBOLS}}"
|
|
||||||
|
Reference in New Issue
Block a user