source: mainline/uspace/lib/c/arch/ia32/_link.ld.in@ 1b20da0

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 1b20da0 was eca820c, checked in by jzr <zarevucky.jiri@…>, 8 years ago

Revert change to the way startup file is referenced.

The path is not actually referenced in the output object itself.
It is only visible in the map generated by the linker, which
does not matter for reproducibility. Also, it would be infeasible
to provide reproducible map files with a proper HelenOS-targeted
toolchain. Coastline breakage begone!

  • Property mode set to 100644
File size: 2.1 KB
Line 
1#ifndef SHLIB
2STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
3ENTRY(__entry)
4#endif
5
6PHDRS {
7#if defined(LOADER) || defined(DLEXE)
8 interp PT_INTERP;
9 text PT_LOAD FILEHDR PHDRS FLAGS(5);
10#else
11 text PT_LOAD FLAGS(5);
12#endif
13 data PT_LOAD FLAGS(6);
14 tls PT_TLS;
15#if defined(SHLIB) || defined(DLEXE)
16 dynamic PT_DYNAMIC;
17#endif
18 debug PT_NOTE;
19}
20
21SECTIONS {
22#ifdef LOADER
23 . = 0x70001000 + SIZEOF_HEADERS;
24#else
25 . = 0x1000 + SIZEOF_HEADERS;
26#endif
27
28 .init : {
29 *(.init);
30 } :text
31
32 .text : {
33 *(.text .text.*);
34 *(.rodata .rodata.*);
35 } :text
36
37#if defined(SHLIB) || defined(DLEXE)
38 .rel.plt : {
39 *(.rel.plt);
40 }
41 /*
42 *.rel.dyn MUST FOLLOW IMMEDIATELY after .rel.plt
43 * without alignment gap or DT_REL will be broken
44 */
45 .rel.dyn : {
46 *(.rel.*);
47 } :text
48
49 .plt : {
50 *(.plt);
51 } :text
52
53 .dynsym : {
54 *(.dynsym);
55 } :text
56
57 .dynstr : {
58 *(.dynstr);
59 } :text
60
61 .hash : {
62 *(.hash);
63 } :text
64#endif
65
66#if defined(LOADER) || defined(DLEXE)
67 .interp : {
68 *(.interp);
69 } :interp :text
70#endif
71
72 . = . + 0x1000;
73
74#if defined(SHLIB) || defined(DLEXE)
75 .dynamic : {
76 *(.dynamic);
77 } :data :dynamic
78#endif
79
80 .data : {
81 *(.data);
82 } :data
83
84#if defined(SHLIB) || defined(DLEXE)
85 .data.rel : {
86 *(.data.rel .data.rel.*);
87 } :data
88
89 .got : {
90 *(.got);
91 } :data
92
93 .got.plt : {
94 *(.got.plt);
95 } :data
96#endif
97
98 .tdata : {
99 _tdata_start = .;
100 *(.tdata);
101 *(.gnu.linkonce.tb.*);
102 _tdata_end = .;
103 } :data :tls
104 .tbss : {
105 _tbss_start = .;
106 *(.tbss);
107 _tbss_end = .;
108 } :data :tls
109
110 _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
111
112 .bss : {
113 *(.dynbss);
114 *(COMMON);
115 *(.bss);
116 } :data
117
118#ifdef CONFIG_LINE_DEBUG
119 .comment 0 : { *(.comment); } :debug
120 .debug_abbrev 0 : { *(.debug_abbrev); } :debug
121 .debug_aranges 0 : { *(.debug_aranges); } :debug
122 .debug_info 0 : { *(.debug_info); } :debug
123 .debug_line 0 : { *(.debug_line); } :debug
124 .debug_loc 0 : { *(.debug_loc); } :debug
125 .debug_pubnames 0 : { *(.debug_pubnames); } :debug
126 .debug_pubtypes 0 : { *(.debug_pubtypes); } :debug
127 .debug_ranges 0 : { *(.debug_ranges); } :debug
128 .debug_str 0 : { *(.debug_str); } :debug
129#endif
130
131 /DISCARD/ : {
132 *(*);
133 }
134}
Note: See TracBrowser for help on using the repository browser.