source: mainline/uspace/lib/c/arch/mips64/_link.ld.in@ e1c0260

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since e1c0260 was e1c0260, checked in by Martin Decky <martin@…>, 13 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: 918 bytes
Line 
1OUTPUT_FORMAT(elf64-tradlittlemips)
2STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
3ENTRY(__entry)
4
5PHDRS {
6#ifdef LOADER
7 interp PT_INTERP;
8 text PT_LOAD FILEHDR PHDRS FLAGS(5);
9#else
10 text PT_LOAD FLAGS(5);
11#endif
12 data PT_LOAD FLAGS(6);
13}
14
15SECTIONS {
16#ifdef LOADER
17 . = 0x70004000 + SIZEOF_HEADERS;
18
19 .interp : {
20 *(.interp);
21 } :interp :text
22#else
23 . = 0x4000 + SIZEOF_HEADERS;
24#endif
25
26 .init : {
27 *(.init);
28 } :text
29
30 .text : {
31 *(.text .text.*);
32 *(.rodata .rodata.*);
33 } :text
34
35 . = . + 0x4000;
36
37 .data : {
38 *(.data);
39 *(.data.rel*);
40 } :data
41
42 .got : {
43 _gp = .;
44 *(.got);
45 } :data
46
47 .tdata : {
48 _tdata_start = .;
49 *(.tdata);
50 _tdata_end = .;
51 } :data
52
53 .tbss : {
54 _tbss_start = .;
55 *(.tbss);
56 _tbss_end = .;
57 } :data
58
59 _tls_alignment = MAX(ALIGNOF(.tdata), ALIGNOF(.tbss));
60
61 .sbss : {
62 *(.scommon);
63 *(.sbss);
64 }
65
66 .bss : {
67 *(.bss);
68 *(COMMON);
69 } :data
70
71 /DISCARD/ : {
72 *(*);
73 }
74}
Note: See TracBrowser for help on using the repository browser.