Import of openhackware-0.4.1
[openhackware.git] / src / main.ld
blob9b6e8c48d9dcf64e0edcb79ada1f969fd2e003e1
1 /*
2  * Open Hack'Ware BIOS main.
3  * 
4  *   Copyright (C) 2004-2005 Jocelyn Mayer (l_indien@magic.fr)
5  *   
6  *   This program is free software; you can redistribute it and/or
7  *   modify it under the terms of the GNU General Public License V2
8  *   as published by the Free Software Foundation
9  *
10  *   This program is distributed in the hope that it will be useful,
11  *   but WITHOUT ANY WARRANTY; without even the implied warranty of
12  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  *   GNU General Public License for more details.
14  *
15  *   You should have received a copy of the GNU General Public License
16  *   along with this program; if not, write to the Free Software
17  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  */
20 OUTPUT_ARCH(powerpc)
22 MEMORY
24         start (rwx) : ORIGIN = 0x05800000, LENGTH = 0x00000400
25         bios (rwx)  : ORIGIN = 0x05800400, LENGTH = 0x0007FC00
26         ram  (rw)   : ORIGIN = 0x06000000, LENGTH = 0x00200000
29 SECTIONS
31         .start    : { *(.start)   } > start
32         . = ALIGN(4) ;
33         .text     : { *(.text)    } > bios
34         . = ALIGN(4) ;
35         .OpenFirmware : { *(.OpenFirmware) } > bios
36         . = ALIGN(4) ;
37         _data_start = . ;
38         .data     : { *(.data)    } > bios
39         _data_end = . ;
40         . = ALIGN(4) ;
41         _OF_vars_start = . ;
42         .OpenFirmware_vars : { *(.OpenFirmware_vars) } > bios
43         _OF_vars_end = . ;
44         . = ALIGN(4) ;
45         _sdata_start = . ;
46         .sdata    : { *(.sdata)   } > bios
47         . = ALIGN(4) ;
48         .sdata2   : { *(.sdata2)  } > bios
49         _sdata_end = . ;
50         . = ALIGN(4) ;
51         _ro_start = . ;
52         .rodata    : { *(.rodata) } > bios
53         _ro_end = . ;
54         . = ALIGN(4) ;
55         _RTAS_start = .;
56         .RTAS     : { *(.RTAS)    } > bios
57         _RTAS_end = .;
58         . = ALIGN(4) ;
59         _RTAS_data_start = .;
60         .RTAS_vars : { *(.RTAS_vars) } > bios
61         . = ALIGN(4) ;
62         _RTAS_data_end = .;
63         _bss_start = . ;
64         .sbss     : {
65           *(.sbss) *(.scommon)
66         } > bios
67         . = ALIGN(4) ;
68         .bss      : { *(.bss) *(COMMON) } > bios
69         _bss_end = . ;
70         . = ALIGN(4) ;
71         _ram_start = . ;
72         .ram      : {
73           *(.ram)
74         } > ram
75         /DISCARD/ : { *(.stab)    }
76         /DISCARD/ : { *(.stabstr) }
77         /DISCARD/ : { *(.comment) }
78         /DISCARD/ : { *(.note)    }