0,0 → 1,86 |
ENTRY(__entry) |
|
PHDRS { |
text PT_LOAD FLAGS(5); |
data PT_LOAD FLAGS(6); |
} |
|
SECTIONS { |
. = 0x1000; |
|
.init ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.init); |
} :text |
.text : { |
*(.text); |
*(.rodata*); |
} :text |
|
.rel.plt ALIGN(0x1000) : { |
*(.rel.plt); |
} |
/* |
*.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt |
* without alignment gap or DT_REL will be broken |
*/ |
.rel.dyn : { |
*(.rel.*); |
} :text |
|
.dynamic ALIGN(0x1000) : { |
*(.dynamic); |
} :text |
|
.dynsym ALIGN(0x1000) : { |
*(.dynsym); |
} :text |
|
.dynstr ALIGN(0x1000) : { |
*(.dynstr); |
} :text |
|
/* data segment */ |
. = ALIGN(0x1000); |
|
.data ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.data); |
*(.sdata); |
} :data |
|
.dynamic ALIGN(0x1000) : { |
*(.dynamic); |
} :text |
|
.dynsym ALIGN(0x1000) : { |
*(.dynsym); |
} :text |
|
.dynstr ALIGN(0x1000) : { |
*(.dynstr); |
} :text |
|
.tdata : { |
_tdata_start = .; |
*(.tdata); |
_tdata_end = .; |
} :data |
.tbss : { |
_tbss_start = .; |
*(.tbss); |
_tbss_end = .; |
} :data |
_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); |
.bss : { |
*(.sbss); |
*(COMMON); |
*(.bss); |
} :data |
|
/* On ppc32 the plt section is uninitialized and must be here! */ |
.plt ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.plt); |
} :data |
|
. = ALIGN(0x1000); |
_heap = .; |
} |