1
2MEMORY
3{
4    codearea : origin = 0x02000000, length = 0x0E000000
5    dataarea : origin = 0x10000000, length = 0xB0000000	// maximum virtual size (to start of r/o area)
6    dynlarea : origin = 0xC0000000, length = 0x08000000 // dynamic loader info
7}
8
9OPTION("-append")
10
11SECTIONS
12{
13    .syscall    ALIGN(0x20)  :   > codearea
14    .text	    ALIGN(0x20)  :   > codearea
15
16    .fexports   ALIGN(0x20)  :   > dynlarea
17    .dexports   ALIGN(0x20)  :   > dynlarea
18
19    .sdata2     ALIGN(0x20)  :   > dataarea    // ROM SDA BASE (r2)
20                                               // custom ROM SDA sections should go here
21
22    .rodata     ALIGN(0x20)  :   > dataarea
23    .secinfo    ALIGN(0x20)  :   > dataarea
24    .data       ALIGN(0x20)  :   > dataarea
25    .module_id  ALIGN(0x20)  :   > dataarea
26    .bss        ALIGN(0x40)  : { *(.bss2) }  > dataarea
27    .ipc_smem	ALIGN(0x20)  :   > dataarea    // Special section for shared memory
28    .sdabase    ALIGN(0x20)  :   > dataarea    // RAM SDA BASE (r13)
29    .sdata      ALIGN(0x20)  :   > dataarea    // SDA sections must be in this order
30                                               // custom RAM SDA sections should go here
31    .sbss       ALIGN(0x20)  :   > dataarea    // SDA sections must be in this order
32                                               // custom RAM ZSDA zersions should go here
33    .thrdata    ALIGN(0x20)  :   > dataarea    // default initialized TLS sections must be in this order
34                                               // user defined initialized TLS sections should go here
35    .thrbss     ALIGN(0x20)  :   > dataarea    // default uninitialized TLS sections must be in this order
36                                               // user defined uninitialized TLS sections should go here
37
38    // this should be the last line
39    .appended   ALIGN(0x20)  :   > codearea    // import sections
40}
41
42