Patches from lvaro Lopes <alvieboy@alvie.com> to fix usage
[zpugcc.git] / toolchain / gcc / libgloss / i386 / cygmon.ld
blobe3f567174461f2936f4296c8d3fe3f87a146701d
1 STARTUP(cygmon-crt0.o)
2 ENTRY(__start)
3 GROUP(-lcygmon -lc -lcygmon -lgcc)
4 SEARCH_DIR(.)
5 __DYNAMIC  =  0;
7 /*
8  * Allocate the stack to be at the top of memory, since the stack
9  * grows down
10  */
11 PROVIDE (__stack = 0x500000);
14  * Initalize some symbols to be zero so we can reference them in the
15  * crt0 without core dumping. These functions are all optional, but
16  * we do this so we can have our crt0 always use them if they exist. 
17  * This is so BSPs work better when using the crt0 installed with gcc.
18  * We have to initalize them twice, so we multiple object file
19  * formats, as some prepend an underscore.
20  */
21 PROVIDE (hardware_init_hook = 0);
22 PROVIDE (software_init_hook = 0);
23 PROVIDE (__mem_start = 0x100000);
24 PROVIDE (___mem_start = 0x100000);
25 SECTIONS
26 {       
27   . = 0x100000;
28   .text : {
29      _ftext = . ;
30     *(.init)
31      eprol  =  .;
32     *(.text)
33     PROVIDE (__runtime_reloc_start = .);
34     *(.rel.sdata)
35     PROVIDE (__runtime_reloc_stop = .);
36     *(.fini)
37      __CTOR_LIST__ = .;
38     CONSTRUCTORS
39     LONG(-1)
40     *(.ctors)
41     LONG(0)
42     __CTOR_END__ = .;
43     __DTOR_LIST__ = .;
44     LONG(-1)
45     *(.dtors)
46      LONG(0)
47     __DTOR_END__ = .;
48     PROVIDE(_etext  =  .);
49     PROVIDE(__etext  =  .);
50   }
51   . = .;
52   .rdata : {
53     *(.rdata)
54   }
55   .rodata : {
56     *(.rodata)
57   }
58   .eh_frame :
59   {
60     PROVIDE (__EH_FRAME_BEGIN__ = .);
61     *(.eh_frame)
62     PROVIDE (__EH_FRAME_END__ = .);
63   }
64   _fdata = ALIGN(16);
65   .data : {
66     *(.data)
67     *(.gcc_except_table)
68     *(.gcc_exc)
69   }
70   . = ALIGN(8);
71   _gp = . + 0x8000;
72   __global = . + 0x8000;
73   .lit8 : {
74     *(.lit8)
75   }
76   .lit4 : {
77     *(.lit4)
78   }
79   .sdata : {
80     *(.sdata)
81   }
82   . = ALIGN(4);
83    PROVIDE(_edata  =  .);
84    PROVIDE(__edata  =  .);
85    fbss = .;
86    _fbss = .;
87   .sbss : {
88     PROVIDE(__bss_start = .);
89     *(.sbss)
90     *(.scommon)
91   }
92   .bss : {
93     *(.bss)
94     *(COMMON)
95     PROVIDE(__bss_end = .);
96   }
97   PROVIDE(_end = .);
98   PROVIDE(__end = .);