Fix a linker script issue I introduced.
[helenos.git] / uspace / lib / c / arch / ia64 / _link.ld.in
blobfec5b2ff107f4eb661b37cf62544cff24ebdebe2
1 STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
2 ENTRY(_start)
4 PHDRS {
5         text PT_LOAD FILEHDR PHDRS FLAGS(5);
6         data PT_LOAD FLAGS(6);
7         tls PT_TLS;
10 SECTIONS {
11 #ifdef SHLIB
12         . = SEGMENT_START("text-segment", 0);
13 #else
14         . = SEGMENT_START("text-segment", 0x400000);
15         PROVIDE (__executable_start = .);
16 #endif
17         . = . + SIZEOF_HEADERS;
19         /* Workaround proper alignment of the .init section */
20         . = ALIGN(., 16);
22         .init : {
23                 *(.init);
24         } :text
26         .text : {
27                 *(.text .text.*);
28                 *(.rodata .rodata.*);
29         } :text
31         . = . + 0x4000;
33         .got : {
34                 /* Tell the linker where we expect GP to point. */
35                 __gp = .;
36                 *(.got .got.*);
37         } :data
39         .data : {
40                 *(.opd);
41                 *(.data .data.*);
42                 *(.sdata);
43         } :data
45         .tdata : {
46                 *(.tdata);
47                 *(.tdata.*);
48                 *(.gnu.linkonce.td.*);
49         } :data :tls
51         .tbss : {
52                 *(.tbss);
53                 *(.tbss.*);
54                 *(.gnu.linkonce.tb.*);
55         } :data :tls
57         .bss : {
58                 *(.sbss);
59                 *(.scommon);
60                 *(COMMON);
61                 *(.bss);
62         } :data
64         _end = .;
66         /DISCARD/ : {
67                 *(*);
68         }