/branches/dynload/uspace/app/dload/arch/ppc32/_link.ld.in |
---|
0,0 → 1,87 |
STARTUP(LIBC_PREFIX/arch/ARCH/src/entry.o) |
ENTRY(__entry) |
PHDRS { |
text PT_LOAD FLAGS(5); |
data PT_LOAD FLAGS(6); |
} |
SECTIONS { |
. = 0x40001000; |
.init : { |
*(.init); |
} :text |
.text : { |
*(.text); |
*(.rodata*); |
} :text |
.rel.plt : { |
*(.rel.plt); |
} |
/* |
*.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt |
* without alignment gap or DT_REL will be broken |
*/ |
.rel.dyn : { |
*(.rel.*); |
} :text |
.dynamic : { |
*(.dynamic); |
} :text |
.dynsym : { |
*(.dynsym); |
} :text |
.dynstr : { |
*(.dynstr); |
} :text |
/* data segment */ |
. = ALIGN(0x1000); |
.data : { |
*(.data); |
*(.sdata); |
} :data |
.dynamic : { |
*(.dynamic); |
} :text |
.dynsym : { |
*(.dynsym); |
} :text |
.dynstr : { |
*(.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 : { |
*(.plt); |
} :data |
. = ALIGN(0x1000); |
_heap = .; |
} |