15,22 → 15,32 |
*(.text); |
*(.text.*); |
*(.rodata*); |
*(.rel.dyn); |
} :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 |
|
.plt ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.plt); |
} :text |
|
.dynamic ALIGN(0x1000) : SUBALIGN(0x1000) { |
.dynamic ALIGN(0x1000) : { |
*(.dynamic); |
} :text |
|
.dynsym ALIGN(0x1000) : SUBALIGN(0x1000) { |
.dynsym ALIGN(0x1000) : { |
*(.dynsym); |
} :text |
|
.dynstr ALIGN(0x1000) : SUBALIGN(0x1000) { |
.dynstr ALIGN(0x1000) : { |
*(.dynstr); |
} :text |
|
37,6 → 47,23 |
.data ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.data); |
} :data |
|
.data.rel ALIGN(0x1000) : { |
*(.data.rel); |
} :data |
|
.got ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.got); |
} :data |
.got.plt ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.got.plt); |
} :data |
|
.bss : { |
*(COMMON); |
*(.bss); |
} :data |
|
.tdata : { |
_tdata_start = .; |
*(.tdata); |
48,19 → 75,6 |
_tbss_end = .; |
} :data |
_tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss)); |
.bss : { |
*(COMMON); |
*(.bss); |
} :data |
.got ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.got); |
} :data |
.data.rel ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.data.rel); |
} :data |
.got.plt ALIGN(0x1000) : SUBALIGN(0x1000) { |
*(.got.plt); |
} :data |
|
. = ALIGN(0x1000); |
_heap = .; |