|
@@ -38,6 +38,7 @@ SECTIONS
|
|
*(.gcc_except_table .gcc_except_table.*)
|
|
*(.gcc_except_table .gcc_except_table.*)
|
|
*(.gnu_extab*)
|
|
*(.gnu_extab*)
|
|
*(.exception_ranges*)
|
|
*(.exception_ranges*)
|
|
|
|
+ *(.text.exit .text.exit.*)
|
|
*crtbegin.o(*)
|
|
*crtbegin.o(*)
|
|
*crt0.o(*)
|
|
*crt0.o(*)
|
|
}
|
|
}
|
|
@@ -96,15 +97,21 @@ SECTIONS
|
|
|
|
|
|
__global_pointer$ = 0;
|
|
__global_pointer$ = 0;
|
|
|
|
|
|
- .text : ALIGN(4) {
|
|
|
|
- PROVIDE(___text = .);
|
|
|
|
|
|
+ PROVIDE(___text = .);
|
|
|
|
+
|
|
|
|
+ .init : ALIGN(4) {
|
|
KEEP (*(SORT_NONE(.init)))
|
|
KEEP (*(SORT_NONE(.init)))
|
|
- *(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
|
|
|
- *(.text.exit .text.exit.*)
|
|
|
|
- *(.text.startup .text.startup.*)
|
|
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .text.hot : ALIGN(4) {
|
|
*(.text.hot .text.hot.*)
|
|
*(.text.hot .text.hot.*)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ .text : ALIGN(4) {
|
|
|
|
+ *(.text.startup .text.startup.*)
|
|
*(SORT(.text.sorted.*))
|
|
*(SORT(.text.sorted.*))
|
|
*(.text .stub .text.* .gnu.linkonce.t.*)
|
|
*(.text .stub .text.* .gnu.linkonce.t.*)
|
|
|
|
+ *(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
|
/* .gnu.warning sections are handled specially by elf.em. */
|
|
/* .gnu.warning sections are handled specially by elf.em. */
|
|
*(.gnu.warning)
|
|
*(.gnu.warning)
|
|
}
|
|
}
|
|
@@ -176,8 +183,13 @@ SECTIONS
|
|
__dram_bss_end = .;
|
|
__dram_bss_end = .;
|
|
__dram_bss_len = __dram_bss_end - __dram_bss_start;
|
|
__dram_bss_len = __dram_bss_end - __dram_bss_start;
|
|
|
|
|
|
|
|
+ /* Like BSS except no need to clear on boot */
|
|
|
|
+ .dram.noinit (NOLOAD) : ALIGN(8) {
|
|
|
|
+ *(.dram.noinit*)
|
|
|
|
+ }
|
|
|
|
+
|
|
/* No need to zero the heap */
|
|
/* No need to zero the heap */
|
|
- .heap (NOLOAD) : ALIGN(8) {
|
|
|
|
|
|
+ .heap (NOLOAD) : ALIGN(16) {
|
|
*(.heap)
|
|
*(.heap)
|
|
} >DRAM
|
|
} >DRAM
|
|
|
|
|