0
|
1 /* os.ls */
|
|
2 OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
|
|
3 OUTPUT_ARCH(i386)
|
|
4 ENTRY(asmhead)
|
|
5
|
|
6 SECTIONS {
|
|
7 .head 0x0 : {
|
|
8 LONG(64 * 1024) /* 0 : size(stack+.data+heap) */
|
|
9 LONG(0x69726148) /* 4 : "Hari" */
|
|
10 LONG(0) /* 8 : mmarea*/
|
|
11 LONG(0x310000) /* 12 : stack初期値 & .data転送先 */
|
|
12 LONG(SIZEOF(.data)) /* 16 : size of .data */
|
|
13 LONG(LOADADDR(.data)) /* 20 : size of .data */
|
|
14 LONG(0xE9000000) /* 24 : E9000000 */
|
|
15 LONG(HariMain - 0x20) /* 28 : entry - 0x20 */
|
|
16 LONG(0) /* 32 : heap領域開始アドレス */
|
|
17 }
|
|
18
|
|
19 . = 0xd18d;
|
|
20
|
|
21 .text : {*(.text)}
|
|
22
|
|
23 .data 0x310000 : AT ( ADDR(.text) + SIZEOF(.text) ) {
|
|
24 *(.data)
|
|
25 *(.rodata*)
|
|
26 *(.bss)
|
|
27 }
|
|
28
|
|
29 /DISCARD/ : { *(.eh_frame) }
|
|
30 }
|