3 /* Uncomment this if you want srecords. This is needed for a.out
4 * if you plan to use GDB.
8 GROUP(-lmvme135 -lc -lgcc)
12 * Setup the memory map of the Motorola MVME135 Board
13 * stack grows down from high memory.
15 * The memory map look like this:
16 * +--------------------+ <- low memory
19 * | ctor list | the ctor and dtor lists are for
20 * | dtor list | C++ support
21 * +--------------------+
22 * | .data | initialized data goes here
24 * +--------------------+
26 * | __bss_start | start of bss, cleared by crt0
27 * | _end | start of heap, used by sbrk()
28 * +--------------------+
32 * | __stack | top of stack
33 * +--------------------+
38 ram (rwx) : ORIGIN = 0x5000, LENGTH = 1M
42 * Allocate the stack to be at the top of memory, since the stack
46 PROVIDE (__stack = 1M - 8);
49 * Initalize some symbols to be zero so we can reference them in the
50 * crt0 without core dumping. These functions are all optional, but
51 * we do this so we can have our crt0 always use them if they exist.
52 * This is so BSPs work better when using the crt0 installed gcc.
53 * We have to initalize them twice, so we cover a.out (which prepends
54 * an underscore) and coff object file formats.
56 PROVIDE (hardware_init_hook = 0);
57 PROVIDE (_hardware_init_hook = 0);
58 PROVIDE (software_init_hook = 0);
59 PROVIDE (_software_init_hook = 0);
61 * stick everything in ram (of course)
71 LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2)
77 LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2)
85 __INIT_SECTION__ = . ;
86 LONG (0x4e560000) /* linkw %fp,#0 */
88 SHORT (0x4e5e) /* unlk %fp */
89 SHORT (0x4e75) /* rts */
91 __FINI_SECTION__ = . ;
92 LONG (0x4e560000) /* linkw %fp,#0 */
94 SHORT (0x4e5e) /* unlk %fp */
95 SHORT (0x4e75) /* rts */
124 .stabstr 0 (NOLOAD) :