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

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since be1b1e68 was f233840, checked in by Martin Decky <martin@…>, 8 years ago

suppress dynamic linker warnings

  • Property mode set to 100644
File size: 2.1 KB
RevLine 
[729f774f]1#ifndef SHLIB
[1b1164e8]2STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
[3eddaff]3ENTRY(__entry)
[729f774f]4#endif
[3eddaff]5
[d03e156]6PHDRS {
[54146a0]7#if defined(LOADER) || defined(DLEXE)
[c53d906]8 interp PT_INTERP;
9 text PT_LOAD FILEHDR PHDRS FLAGS(5);
10#else
[f563126]11 text PT_LOAD FLAGS(5);
[c53d906]12#endif
[a3aa1e1]13 data PT_LOAD FLAGS(6);
[6adb775f]14 tls PT_TLS;
[729f774f]15#if defined(SHLIB) || defined(DLEXE)
16 dynamic PT_DYNAMIC;
17#endif
[1e00216]18 debug PT_NOTE;
[d03e156]19}
20
[3eddaff]21SECTIONS {
[729f774f]22#ifdef LOADER
[c53d906]23 . = 0x70001000 + SIZEOF_HEADERS;
24#else
[1cc2974]25 . = 0x1000 + SIZEOF_HEADERS;
[c53d906]26#endif
[e1c0260]27
[1cc2974]28 .init : {
[a3aa1e1]29 *(.init);
30 } :text
[f563126]31
[a3aa1e1]32 .text : {
[c81e5e0]33 *(.text .text.*);
34 *(.rodata .rodata.*);
[a3aa1e1]35 } :text
[9bcdbc5]36
[729f774f]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
[f563126]56
[729f774f]57 .dynstr : {
58 *(.dynstr);
59 } :text
[54146a0]60
61 .hash : {
62 *(.hash);
63 } :text
[729f774f]64#endif
[0783634]65
66#if defined(LOADER) || defined(DLEXE)
67 .interp : {
68 *(.interp);
69 } :interp :text
70#endif
71
[1cc2974]72 . = . + 0x1000;
[f563126]73
[729f774f]74#if defined(SHLIB) || defined(DLEXE)
75 .dynamic : {
76 *(.dynamic);
77 } :data :dynamic
78#endif
79
[1cc2974]80 .data : {
[a3aa1e1]81 *(.data);
82 } :data
[f563126]83
[729f774f]84#if defined(SHLIB) || defined(DLEXE)
85 .data.rel : {
[9bcdbc5]86 *(.data.rel .data.rel.*);
[729f774f]87 } :data
[9bcdbc5]88
[729f774f]89 .got : {
[9bcdbc5]90 *(.got);
[729f774f]91 } :data
[9bcdbc5]92
[729f774f]93 .got.plt : {
[9bcdbc5]94 *(.got.plt);
[729f774f]95 } :data
96#endif
97
[c4c5de5]98 .tdata : {
99 _tdata_start = .;
100 *(.tdata);
[f563126]101 *(.gnu.linkonce.tb.*);
[c4c5de5]102 _tdata_end = .;
[6adb775f]103 } :data :tls
104 .tbss : {
[c4c5de5]105 _tbss_start = .;
106 *(.tbss);
107 _tbss_end = .;
[6adb775f]108 } :data :tls
[f563126]109
[0a981e3]110 _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
[f563126]111
[a3aa1e1]112 .bss : {
[54146a0]113 *(.dynbss);
[f563126]114 *(COMMON);
115 *(.bss);
[a3aa1e1]116 } :data
[d03e156]117
[1e00216]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
[d03e156]131 /DISCARD/ : {
[a3aa1e1]132 *(*);
[d03e156]133 }
[3eddaff]134}
Note: See TracBrowser for help on using the repository browser.