/branches/dynload/uspace/lib/libc/shared/arch/mips32/_link.ld.in |
---|
0,0 → 1,104 |
STARTUP(LIBC_PREFIX/arch/ARCH/src/entry.o) |
ENTRY(__entry) |
PHDRS { |
interp PT_INTERP; |
text PT_LOAD FLAGS(5); |
data PT_LOAD FLAGS(6); |
dynamic PT_DYNAMIC; |
} |
SECTIONS { |
. = 0x4000 + SIZEOF_HEADERS; |
.interp : { |
*(.interp); |
} :text :interp |
/* Align on word boundary -- instructions will follow. */ |
. = ALIGN(4); |
.init : { |
*(.init); |
} :text |
.text : { |
*(.text); |
*(.rodata*); |
*(.MIPS.stubs); |
} :text |
.hash : { |
*(.hash); |
} : text |
.reginfo : { |
*(.reginfo); |
} : text |
.rel.plt : { |
*(.rel.plt); |
} : text |
/* |
*.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt |
* without alignment gap or DT_REL will be broken |
*/ |
.rel.dyn : { |
*(.rel.*); |
} :text |
.plt : { |
*(.plt); |
} : text |
.dynsym : { |
*(.dynsym); |
} : text |
.dynstr : { |
*(.dynstr); |
} : text |
. = . + 0x4000; |
.dynamic : { |
*(.dynamic); |
} :data :dynamic |
.data : { |
*(.data); |
*(.data.rel*); |
} :data |
.got : { |
_gp = .; |
*(.got); |
} :data |
/* |
.tdata : { |
_tdata_start = .; |
*(.tdata); |
_tdata_end = .; |
} :data |
.tbss : { |
_tbss_start = .; |
*(.tbss); |
_tbss_end = .; |
} :data |
_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); |
*/ |
.sbss : { |
*(.scommon); |
*(.sbss); |
} |
.bss : { |
*(.bss); |
*(COMMON); |
} :data |
. = ALIGN(0x4000); |
_heap = .; |
/* /DISCARD/ : { |
*(*); |
}*/ |
} |
/branches/dynload/uspace/lib/libc/shared/arch/mips32/_lib.ld.in |
---|
0,0 → 1,95 |
ENTRY(__entry) |
PHDRS { |
text PT_LOAD FLAGS(5); |
data PT_LOAD FLAGS(6); |
dynamic PT_DYNAMIC; |
} |
SECTIONS { |
. = 0x4000 + SIZEOF_HEADERS; |
.init : { |
*(.init); |
} :text |
.text : { |
*(.text); |
*(.rodata*); |
*(.MIPS.stubs); |
} :text |
.hash : { |
*(.hash); |
} : text |
.reginfo : { |
*(.reginfo); |
} : text |
.rel.plt : { |
*(.rel.plt); |
} : text |
/* |
*.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt |
* without alignment gap or DT_REL will be broken |
*/ |
.rel.dyn : { |
*(.rel.*); |
} :text |
.plt : { |
*(.plt); |
} : text |
.dynsym : { |
*(.dynsym); |
} : text |
.dynstr : { |
*(.dynstr); |
} : text |
. = . + 0x4000; |
.dynamic : { |
*(.dynamic); |
} :data :dynamic |
.data : { |
*(.data); |
*(.data.rel*); |
} :data |
.got : { |
_gp = .; |
*(.got); |
} :data |
.tdata : { |
_tdata_start = .; |
*(.tdata); |
_tdata_end = .; |
} :data |
.tbss : { |
_tbss_start = .; |
*(.tbss); |
_tbss_end = .; |
} :data |
_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); |
.sbss : { |
*(.scommon); |
*(.sbss); |
} |
.bss : { |
*(.bss); |
*(COMMON); |
} :data |
. = ALIGN(0x4000); |
_heap = .; |
/* /DISCARD/ : { |
*(*); |
}*/ |
} |