added concrete implementations of putc(), getc(), getchar() and gets()
[tangerine.git] / tools / collect-aros / ldscript.h
blobe609c16958485ef3ebf4e8c58140701a3c09cd2b
1 const static char LDSCRIPT_PART1[] =
2 "/*\n"
3 " Script for final linking of AROS executables.\n"
4 "\n"
5 " NOTE: This file is the result of a rearrangement of the built-in ld script.\n"
6 " It's AROS-specific, in that it does constructors/destructors collecting\n"
7 " and doesn't care about some sections that are not used by AROS at the moment\n"
8 " or will never be.\n"
9 "\n"
10 " It *should* be general enough to be used on many architectures.\n"
11 "*/\n"
12 "\n"
13 "FORCE_COMMON_ALLOCATION\n" \
14 "\n" \
15 "SECTIONS\n"
16 "{\n"
17 " .text 0 :\n"
18 " {\n"
19 " *(.aros.startup)\n"
20 " *(.text)\n"
21 " *(.text.*)\n"
22 " *(.stub)\n"
23 " /* .gnu.warning sections are handled specially by elf32.em. */\n"
24 " *(.gnu.warning)\n"
25 " *(.gnu.linkonce.t.*)\n"
26 " } =0x90909090\n"
27 "\n"
28 " .rodata 0 :\n"
29 " {\n"
30 " *(.rodata)\n"
31 " *(.rodata.*)\n"
32 " *(.gnu.linkonce.r.*)\n"
33 " }\n"
34 " .rodata1 0 : { *(.rodata1) }\n"
35 "\n"
36 " /*\n"
37 " Used only on PPC.\n"
38 "\n"
39 " NOTE: these should go one after the other one, so some tricks\n"
40 " must be used in the ELF loader to satisfy that requirement\n"
41 " */\n"
42 " .sdata2 0 : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }\n"
43 " .sbss2 0 : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }\n"
44 "\n"
45 " .data 0 :\n"
46 " {\n"
47 " *(.data)\n"
48 " *(.data.*)\n"
49 " *(.gnu.linkonce.d.*)\n"
50 " . = ALIGN(0x10);\n";
53 static const char LDSCRIPT_PART2[] =
54 " }\n"
55 " .data1 0 : { *(.data1) }\n"
56 " .eh_frame 0 : { KEEP (*(.eh_frame)) }\n"
57 " .gcc_except_table 0 : { *(.gcc_except_table) }\n"
58 "\n"
59 " /* We want the small data sections together, so single-instruction offsets\n"
60 " can access them all, and initialized data all before uninitialized, so\n"
61 " we can shorten the on-disk segment size. */\n"
62 " .sdata 0 :\n"
63 " {\n"
64 " *(.sdata)\n"
65 " *(.sdata.*)\n"
66 " *(.gnu.linkonce.s.*)\n"
67 " }\n"
68 "\n"
69 " .sbss 0 :\n"
70 " {\n"
71 " *(.sbss)\n"
72 " *(.sbss.*)\n"
73 " *(.gnu.linkonce.sb.*)\n"
74 " *(.scommon)\n"
75 " }\n"
76 "\n"
77 " .bss 0 :\n"
78 " {\n"
79 " *(.bss)\n"
80 " *(.bss.*)\n"
81 " *(.gnu.linkonce.b.*)\n"
82 " *(COMMON)\n"
83 " }\n"
84 " /DISCARD/ : { *(.note.GNU-stack) }\n";
86 static const char LDSCRIPT_PART3[] =
87 "}\n";