Reorganize the kernel binary to support loading a non-stripped kernel.
This commit is contained in:
parent
3b0d7ca64c
commit
2695dcf2b0
@ -10,6 +10,30 @@ SECTIONS
|
|||||||
PROVIDE (__executable_start = SEGMENT_START("text-segment",
|
PROVIDE (__executable_start = SEGMENT_START("text-segment",
|
||||||
0xFFFF800000400000));
|
0xFFFF800000400000));
|
||||||
. = SEGMENT_START("text-segment", 0xFFFF800000400000) + SIZEOF_HEADERS;
|
. = SEGMENT_START("text-segment", 0xFFFF800000400000) + SIZEOF_HEADERS;
|
||||||
|
.text :
|
||||||
|
{
|
||||||
|
*(.text .stub .text.* .gnu.linkonce.t.*)
|
||||||
|
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
||||||
|
*(.text.exit .text.exit.*)
|
||||||
|
*(.text.startup .text.startup.*)
|
||||||
|
*(.text.hot .text.hot.*)
|
||||||
|
/* .gnu.warning sections are handled specially by elf32.em. */
|
||||||
|
*(.gnu.warning)
|
||||||
|
}
|
||||||
|
.plt : { *(.plt) *(.iplt) }
|
||||||
|
.init :
|
||||||
|
{
|
||||||
|
KEEP (*(.init))
|
||||||
|
}
|
||||||
|
.fini :
|
||||||
|
{
|
||||||
|
KEEP (*(.fini))
|
||||||
|
}
|
||||||
|
PROVIDE (__etext = .);
|
||||||
|
PROVIDE (_etext = .);
|
||||||
|
PROVIDE (etext = .);
|
||||||
|
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
|
||||||
|
.rodata1 : { *(.rodata1) }
|
||||||
.interp : { *(.interp) }
|
.interp : { *(.interp) }
|
||||||
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
.note.gnu.build-id : { *(.note.gnu.build-id) }
|
||||||
.hash : { *(.hash) }
|
.hash : { *(.hash) }
|
||||||
@ -42,30 +66,6 @@ SECTIONS
|
|||||||
*(.rela.iplt)
|
*(.rela.iplt)
|
||||||
PROVIDE_HIDDEN (__rela_iplt_end = .);
|
PROVIDE_HIDDEN (__rela_iplt_end = .);
|
||||||
}
|
}
|
||||||
.init :
|
|
||||||
{
|
|
||||||
KEEP (*(.init))
|
|
||||||
}
|
|
||||||
.plt : { *(.plt) *(.iplt) }
|
|
||||||
.text :
|
|
||||||
{
|
|
||||||
*(.text .stub .text.* .gnu.linkonce.t.*)
|
|
||||||
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
|
||||||
*(.text.exit .text.exit.*)
|
|
||||||
*(.text.startup .text.startup.*)
|
|
||||||
*(.text.hot .text.hot.*)
|
|
||||||
/* .gnu.warning sections are handled specially by elf32.em. */
|
|
||||||
*(.gnu.warning)
|
|
||||||
}
|
|
||||||
.fini :
|
|
||||||
{
|
|
||||||
KEEP (*(.fini))
|
|
||||||
}
|
|
||||||
PROVIDE (__etext = .);
|
|
||||||
PROVIDE (_etext = .);
|
|
||||||
PROVIDE (etext = .);
|
|
||||||
.rodata : { *(.rodata .rodata.* .gnu.linkonce.r.*) }
|
|
||||||
.rodata1 : { *(.rodata1) }
|
|
||||||
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
.eh_frame_hdr : { *(.eh_frame_hdr) }
|
||||||
.eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
.eh_frame : ONLY_IF_RO { KEEP (*(.eh_frame)) }
|
||||||
.gcc_except_table : ONLY_IF_RO { *(.gcc_except_table
|
.gcc_except_table : ONLY_IF_RO { *(.gcc_except_table
|
||||||
|
Loading…
Reference in New Issue
Block a user