HACK
[asbestos.git] / stage1 / stage1.ld
blob27cccedf757def46c76479b969ceefe46e0e499b
1 /*  stage1.ld - AsbestOS stage1 linker script
3 Copyright (C) 2010-2011  Hector Martin "marcan" <hector@marcansoft.com>
5 This code is licensed to you under the terms of the GNU GPL, version 2;
6 see file COPYING or http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt
7 */
9 OUTPUT_FORMAT("elf64-powerpc")
10 OUTPUT_ARCH(powerpc:common64)
12 __base = 0x80000000007ff000;
14 __stage2 = 0x8000000000700000;
16 ENTRY(_start)
18 PHDRS {
19         stage1          PT_LOAD FLAGS(7);
22 SECTIONS {
23         . = __base;
24         __self_start = .;
26         .start : { *(.start) } :stage1 = 0
28         . = ALIGN(32);
29         .text : {
30                 *(.text)
31                 *(.text.*)
32         }
33         .rodata : {
34                 *(.rodata)
35                 *(.rodata.*)
36         }
37         .data : {
38                 *(.data)
39                 *(.data.*)
40                 *(.sdata)
41                 *(.sdata.*)
42         }
43         .bss : {
44                 *(.sbss)
45                 *(.sbss.*)
46                 *(COMMON)
47                 *(.bss)
48                 *(.bss.*)
49                 LONG(0)
50         }
52         . = ALIGN(32);
53         __toc = . + 0x8000;
54         .toc : {
55                 *(.toc)
56                 *(.toc.*)
57         }
58         .opd : {
59                 *(.opd)
60                 *(.opd.*)
61         }
63         __self_end = .;
66 __lv2toc                        = 0x800000000033e720;
68 _usbRegisterDriver      = 0x80000000000d22d8;
69 _usbGetDescriptor       = 0x80000000000d2998;
70 _usbOpenEndpoint        = 0x80000000000d29c4;
71 _usbControlTransfer     = 0x80000000000d292c;
72 _printf                         = 0x800000000028a654;