1 const static char LDSCRIPT_PART1
[] =
3 " Script for final linking of AROS executables.\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"
10 " It *should* be general enough to be used on many architectures.\n"
13 "FORCE_COMMON_ALLOCATION\n" \
27 " /* .gnu.warning sections are handled specially by elf32.em. */\n"
29 " *(.gnu.linkonce.t.*)\n"
36 " *(.gnu.linkonce.r.*)\n"
37 " . = ALIGN(0x10);\n";
40 static const char LDSCRIPT_PART2
[] =
42 " .rodata1 0 : { *(.rodata1) }\n"
45 " Used only on PPC.\n"
47 " NOTE: these should go one after the other one, so some tricks\n"
48 " must be used in the ELF loader to satisfy that requirement\n"
50 " .sdata2 0 : { *(.sdata2) *(.sdata2.*) *(.gnu.linkonce.s2.*) }\n"
51 " .sbss2 0 : { *(.sbss2) *(.sbss2.*) *(.gnu.linkonce.sb2.*) }\n"
57 " *(.gnu.linkonce.d.*)\n"
59 " .data1 0 : { *(.data1) }\n"
60 " /* ARM-specific exception stuff */\n"
61 " .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) }\n"
62 " PROVIDE(__exidx_start = .);\n"
63 " .ARM.exidx : { *(.ARM.exidx* .gnu.linkonce.armexidx.*) }\n"
64 " PROVIDE(__exidx_end = .);\n"
67 " PROVIDE(__eh_frame_start = .);\n"
68 " KEEP (*(.eh_frame))\n";
70 static const char LDSCRIPT_PART3
[] =
72 " .gcc_except_table 0 : { *(.gcc_except_table) }\n"
74 " /* We want the small data sections together, so single-instruction offsets\n"
75 " can access them all, and initialized data all before uninitialized, so\n"
76 " we can shorten the on-disk segment size. */\n"
81 " *(.gnu.linkonce.s.*)\n"
88 " *(.gnu.linkonce.sb.*)\n"
96 " *(.gnu.linkonce.b.*)\n"
99 " /DISCARD/ : { *(.note.GNU-stack) }\n";
101 static const char LDSCRIPT_PART4
[] =