source: mainline/uspace/lib/c/arch/ppc32/_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: 1.2 KB
Line 
1STARTUP(LIBC_PATH/arch/UARCH/src/entry.o)
2ENTRY(__entry)
3
4PHDRS {
5#ifdef LOADER
6 interp PT_INTERP;
7 text PT_LOAD FILEHDR PHDRS FLAGS(5);
8#else
9 text PT_LOAD FLAGS(5);
10#endif
11 data PT_LOAD FLAGS(6);
12 debug PT_NOTE;
13}
14
15SECTIONS {
16#ifdef LOADER
17 . = 0x70001000 + SIZEOF_HEADERS;
18
19 .interp : {
20 *(.interp);
21 } :interp :text
22#else
23 . = 0x1000 + SIZEOF_HEADERS;
24#endif
25
26 .init : {
27 *(.init);
28 } :text
29
30 .text : {
31 *(.text .text.*);
32 *(.rodata .rodata.*);
33 } :text
34
35 . = . + 0x1000;
36
37 .data : {
38 *(.data);
39 *(.sdata);
40 } :data
41
42 .tdata : {
43 _tdata_start = .;
44 *(.tdata);
45 _tdata_end = .;
46 _tbss_start = .;
47 *(.tbss);
48 _tbss_end = .;
49 } :data
50
51 _tls_alignment = ALIGNOF(.tdata);
52
53 .bss : {
54 *(.sbss);
55 *(COMMON);
56 *(.bss);
57 } :data
58
59#ifdef CONFIG_LINE_DEBUG
60 .comment 0 : { *(.comment); } :debug
61 .debug_abbrev 0 : { *(.debug_abbrev); } :debug
62 .debug_aranges 0 : { *(.debug_aranges); } :debug
63 .debug_info 0 : { *(.debug_info); } :debug
64 .debug_line 0 : { *(.debug_line); } :debug
65 .debug_loc 0 : { *(.debug_loc); } :debug
66 .debug_pubnames 0 : { *(.debug_pubnames); } :debug
67 .debug_pubtypes 0 : { *(.debug_pubtypes); } :debug
68 .debug_ranges 0 : { *(.debug_ranges); } :debug
69 .debug_str 0 : { *(.debug_str); } :debug
70#endif
71
72 /DISCARD/ : {
73 *(*);
74 }
75}
Note: See TracBrowser for help on using the repository browser.