mirror of https://github.com/YosysHQ/picorv32.git
91 lines
3.2 KiB
Diff
91 lines
3.2 KiB
Diff
--- <(riscv32-unknown-elf-ld -z nocombreloc -verbose)
|
|
+++ riscv.ld
|
|
@@ -1,9 +1,3 @@
|
|
-GNU ld (GNU Binutils) 2.28.0.20170322
|
|
- Supported emulations:
|
|
- elf32lriscv
|
|
- elf64lriscv
|
|
-using internal linker script:
|
|
-==================================================
|
|
/* Default linker script, for normal executables */
|
|
/* Copyright (C) 2014-2017 Free Software Foundation, Inc.
|
|
Copying and distribution of this script, with or without modification,
|
|
@@ -13,62 +7,26 @@
|
|
"elf32-littleriscv")
|
|
OUTPUT_ARCH(riscv)
|
|
ENTRY(_start)
|
|
-SEARCH_DIR("/opt/riscv32i/riscv32-unknown-elf/lib");
|
|
SECTIONS
|
|
{
|
|
- /* Read-only sections, merged into text segment: */
|
|
- PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x10000)); . = SEGMENT_START("text-segment", 0x10000) + SIZEOF_HEADERS;
|
|
- .interp : { *(.interp) }
|
|
- .note.gnu.build-id : { *(.note.gnu.build-id) }
|
|
- .hash : { *(.hash) }
|
|
- .gnu.hash : { *(.gnu.hash) }
|
|
- .dynsym : { *(.dynsym) }
|
|
- .dynstr : { *(.dynstr) }
|
|
- .gnu.version : { *(.gnu.version) }
|
|
- .gnu.version_d : { *(.gnu.version_d) }
|
|
- .gnu.version_r : { *(.gnu.version_r) }
|
|
- .rela.init : { *(.rela.init) }
|
|
- .rela.text : { *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*) }
|
|
- .rela.fini : { *(.rela.fini) }
|
|
- .rela.rodata : { *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*) }
|
|
- .rela.data.rel.ro : { *(.rela.data.rel.ro .rela.data.rel.ro.* .rela.gnu.linkonce.d.rel.ro.*) }
|
|
- .rela.data : { *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*) }
|
|
- .rela.tdata : { *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*) }
|
|
- .rela.tbss : { *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*) }
|
|
- .rela.ctors : { *(.rela.ctors) }
|
|
- .rela.dtors : { *(.rela.dtors) }
|
|
- .rela.got : { *(.rela.got) }
|
|
- .rela.sdata : { *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*) }
|
|
- .rela.sbss : { *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*) }
|
|
- .rela.sdata2 : { *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*) }
|
|
- .rela.sbss2 : { *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*) }
|
|
- .rela.bss : { *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*) }
|
|
- .rela.iplt :
|
|
- {
|
|
- PROVIDE_HIDDEN (__rela_iplt_start = .);
|
|
- *(.rela.iplt)
|
|
- PROVIDE_HIDDEN (__rela_iplt_end = .);
|
|
- }
|
|
- .rela.plt :
|
|
- {
|
|
- *(.rela.plt)
|
|
- }
|
|
- .init :
|
|
- {
|
|
- KEEP (*(SORT_NONE(.init)))
|
|
- }
|
|
- .plt : { *(.plt) }
|
|
- .iplt : { *(.iplt) }
|
|
+ . = 0x00010000;
|
|
.text :
|
|
{
|
|
+ *(.text)
|
|
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
|
*(.text.exit .text.exit.*)
|
|
*(.text.startup .text.startup.*)
|
|
*(.text.hot .text.hot.*)
|
|
- *(.text .stub .text.* .gnu.linkonce.t.*)
|
|
+ *(.stub .text.* .gnu.linkonce.t.*)
|
|
/* .gnu.warning sections are handled specially by elf32.em. */
|
|
*(.gnu.warning)
|
|
}
|
|
+ .init :
|
|
+ {
|
|
+ KEEP (*(SORT_NONE(.init)))
|
|
+ }
|
|
+ .plt : { *(.plt) }
|
|
+ .iplt : { *(.iplt) }
|
|
.fini :
|
|
{
|
|
KEEP (*(SORT_NONE(.fini)))
|
|
@@ -240,5 +198,3 @@
|
|
/DISCARD/ : { *(.note.GNU-stack) *(.gnu_debuglink) *(.gnu.lto_*) }
|
|
}
|
|
|
|
-
|
|
-==================================================
|