18fd2446cSderaadtPHDRS 28fd2446cSderaadt{ 38fd2446cSderaadt rodata PT_LOAD FILEHDR PHDRS FLAGS (4); 4c284c86cSderaadt text PT_LOAD FLAGS (1); 58fd2446cSderaadt btext PT_LOAD FLAGS (0x08000005); 68fd2446cSderaadt data PT_LOAD; 78fd2446cSderaadt random PT_OPENBSD_RANDOMIZE; 883762a71Sderaadt syscalls PT_OPENBSD_SYSCALLS; 98fd2446cSderaadt relro PT_GNU_RELRO; 108fd2446cSderaadt dynamic PT_DYNAMIC; 118fd2446cSderaadt note PT_NOTE; 128fd2446cSderaadt} 138fd2446cSderaadt 148fd2446cSderaadtSECTIONS 158fd2446cSderaadt{ 168fd2446cSderaadt /* RODATA */ 178fd2446cSderaadt . = 0 + SIZEOF_HEADERS; 188fd2446cSderaadt .dynsym : { *(.dynsym) } :rodata 198fd2446cSderaadt .gnu.hash : { *(.gnu.hash) } :rodata 208fd2446cSderaadt .dynstr : { *(.dynstr) } :rodata 218fd2446cSderaadt .rodata : { *(.rodata .rodata.*) } :rodata 228fd2446cSderaadt .eh_frame : { *(.eh_frame) } :rodata 238fd2446cSderaadt 248fd2446cSderaadt /* TEXT */ 258fd2446cSderaadt . = ALIGN(0x10000); 268fd2446cSderaadt .boot.text : 278fd2446cSderaadt { 288fd2446cSderaadt . = ALIGN(0x2000); 298fd2446cSderaadt boot_text_start = .; 308fd2446cSderaadt . = ALIGN(0x2000); 318fd2446cSderaadt *(.boot.text) 328fd2446cSderaadt boot_text_end = .; 338fd2446cSderaadt } :btext 34*805b87eaSderaadt . = ALIGN(0x2000); 35*805b87eaSderaadt .text : { *(.text .text.*) } :text 368fd2446cSderaadt 378fd2446cSderaadt /* RELRO DATA */ 388fd2446cSderaadt . = DATA_SEGMENT_ALIGN (0x10000, 0x2000); 398fd2446cSderaadt .openbsd.randomdata : 408fd2446cSderaadt { 418fd2446cSderaadt *(.openbsd.randomdata .openbsd.randomdata.*) 428fd2446cSderaadt } :data :relro :random 4383762a71Sderaadt .openbsd.syscalls : 4483762a71Sderaadt { 4583762a71Sderaadt *(.openbsd.syscalls .openbsd.syscalls.*) 4683762a71Sderaadt } :syscalls 478fd2446cSderaadt .data.rel.ro : { *(.data.rel.ro.local*) *(.data.rel.ro*) } :data :relro 488fd2446cSderaadt .dynamic : { *(.dynamic) } :data :relro :dynamic 498fd2446cSderaadt .got : { *(.got.plt) *(.got) } :data :relro 508fd2446cSderaadt . = DATA_SEGMENT_RELRO_END (0, .); 518fd2446cSderaadt 528fd2446cSderaadt /* BOOTDATA */ 538fd2446cSderaadt . = ALIGN(0x2000); 548fd2446cSderaadt boot_data_start = .; 558fd2446cSderaadt .rela.dyn : 568fd2446cSderaadt { 578fd2446cSderaadt *(.rela.text .rela.text.*) 588fd2446cSderaadt *(.rela.rodata .rela.rodata.*) 598fd2446cSderaadt *(.rela.data .rela.data.*) 608fd2446cSderaadt *(.rela.got) 618fd2446cSderaadt *(.rela.bss .rela.bss.*) 628fd2446cSderaadt } :data 638fd2446cSderaadt/* XXX .rela.plt is unused but cannot delete: ld.bfd zeros DT_RELASZ then! */ 648fd2446cSderaadt .rela.plt : { *(.rela.plt) } :data 658fd2446cSderaadt .hash : { *(.hash) } :data 668fd2446cSderaadt .note : { *(.note.openbsd.*) } :data :note 678fd2446cSderaadt .boot.data : { *(.boot.data .boot.data.*) } :data 688fd2446cSderaadt boot_data_end = .; 698fd2446cSderaadt 708fd2446cSderaadt /* DATA */ 718fd2446cSderaadt . = ALIGN(0x2000); 728fd2446cSderaadt .data : { *(.data .data.*) } :data 738fd2446cSderaadt .bss : { *(.dynbss) *(.bss .bss.*) *(COMMON) } :data 748fd2446cSderaadt . = DATA_SEGMENT_END (.); 758fd2446cSderaadt 768fd2446cSderaadt /DISCARD/ : { *(.note.GNU-stack) } 778fd2446cSderaadt} 78