source: mainline/uspace/lib/c/arch/ia64/_link.ld.in@ 6e3b052d

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

improve loader .interp fix

  • suppress the assembler warning by setting @progbits on the .interp section
  • suppress the linker warning by putting the .interp section additionally into the "text" segment
  • use the same ATSIGN convetion as the kernel makefiles use (for consistency)
  • Property mode set to 100644
File size: 1015 bytes
Line 
1STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
2ENTRY(__entry)
3
4PHDRS {
5#ifdef LOADER
6 interp PT_INTERP;
7 text PT_LOAD FLAGS(5);
8#else
9 text PT_LOAD FLAGS(5);
10#endif
11 data PT_LOAD FLAGS(6);
12}
13
14SECTIONS {
15#ifdef LOADER
16 . = 0x800000000 + SIZEOF_HEADERS;
17
18 .interp : {
19 *(.interp);
20 } :interp :text
21#else
22 . = 0x4000 + SIZEOF_HEADERS;
23#endif
24
25 /*
26 * XXX This is just a work around. Problem: .init section does not
27 * have the proper alignment.
28 */
29 . = ALIGN(., 16);
30
31 .init : {
32 *(.init);
33 } :text
34
35 .text : {
36 *(.text .text.*);
37 *(.rodata .rodata.*);
38 } :text
39
40 . = . + 0x4000;
41
42 .got : {
43 /* Tell the linker where we expect GP to point. */
44 __gp = .;
45 *(.got .got.*);
46 } :data
47
48 .data : {
49 *(.opd);
50 *(.data .data.*);
51 *(.sdata);
52 } :data
53
54 .tdata : {
55 _tdata_start = .;
56 *(.tdata);
57 _tdata_end = .;
58 _tbss_start = .;
59 *(.tbss);
60 _tbss_end = .;
61 } :data
62
63 _tls_alignment = ALIGNOF(.tdata);
64
65 .bss : {
66 *(.sbss);
67 *(.scommon);
68 *(COMMON);
69 *(.bss);
70 } :data
71
72 /DISCARD/ : {
73 *(*);
74 }
75}
Note: See TracBrowser for help on using the repository browser.