77 lines
1.9 KiB
Text
77 lines
1.9 KiB
Text
PHDRS
|
|
{
|
|
rodata PT_LOAD FILEHDR PHDRS FLAGS (4);
|
|
text PT_LOAD FLAGS (1);
|
|
btext PT_LOAD FLAGS (0x08000005);
|
|
data PT_LOAD;
|
|
random PT_OPENBSD_RANDOMIZE;
|
|
syscalls PT_OPENBSD_SYSCALLS;
|
|
relro PT_GNU_RELRO;
|
|
dynamic PT_DYNAMIC;
|
|
note PT_NOTE;
|
|
}
|
|
|
|
SECTIONS
|
|
{
|
|
. = 0 + SIZEOF_HEADERS;
|
|
/* RODATA */
|
|
.gnu.hash : { *(.gnu.hash) } :rodata
|
|
.dynsym : { *(.dynsym) } :rodata
|
|
.dynstr : { *(.dynstr) } :rodata
|
|
.rodata : { *(.rodata .rodata.*) } :rodata
|
|
.eh_frame : { *(.eh_frame) } :rodata
|
|
|
|
/* TEXT */
|
|
. = ALIGN(0x1000);
|
|
.boot.text :
|
|
{
|
|
. = ALIGN(0x1000);
|
|
boot_text_start = .;
|
|
*(.boot.text)
|
|
. = ALIGN(0x1000);
|
|
boot_text_end = .;
|
|
} :btext =0xcccccccc
|
|
.text : { *(.text .text.*) } :text =0xcccccccc
|
|
|
|
/* RELRO DATA */
|
|
. = DATA_SEGMENT_ALIGN (0x1000, 0x1000);
|
|
.openbsd.randomdata :
|
|
{
|
|
*(.openbsd.randomdata .openbsd.randomdata.*)
|
|
} :data :relro :random
|
|
.openbsd.syscalls :
|
|
{
|
|
*(.openbsd.syscalls .openbsd.syscalls.*)
|
|
} :syscalls
|
|
|
|
.data.rel.ro : { *(.data.rel.ro.local*) *(.data.rel.ro*) } :data :relro
|
|
.dynamic : { *(.dynamic) } :data :relro :dynamic
|
|
.got : { *(.got.plt) *(.got) } :data :relro
|
|
. = DATA_SEGMENT_RELRO_END (0, .);
|
|
|
|
/* BOOTDATA */
|
|
. = ALIGN(0x1000);
|
|
boot_data_start = .;
|
|
.rela.dyn :
|
|
{
|
|
*(.rela.text .rela.text.*)
|
|
*(.rela.rodata .rela.rodata.*)
|
|
*(.rela.data .rela.data.*)
|
|
*(.rela.got)
|
|
*(.rela.bss .rela.bss.*)
|
|
} :data
|
|
/* XXX .rela.plt is unused but cannot delete: ld.bfd zeros DT_RELASZ then! */
|
|
.rela.plt : { *(.rela.plt) } :data
|
|
.note : { *(.note.openbsd.*) } :data :note
|
|
.hash : { *(.hash) } :data
|
|
.boot.data : { *(.boot.data .boot.data.*) } :data
|
|
boot_data_end = .;
|
|
|
|
/* DATA */
|
|
. = ALIGN(0x1000);
|
|
.data : { *(.data .data.*) } :data
|
|
.bss : { *(.dynbss) *(.bss .bss.*) *(COMMON) } :data
|
|
. = DATA_SEGMENT_END (.);
|
|
|
|
/DISCARD/ : { *(.note.GNU-stack) }
|
|
}
|