| #include "config.h" |
| |
| #ifdef CPU_ARM |
| ENTRY(start) |
| STARTUP(crt0.o) |
| OUTPUT_FORMAT(elf32-littlearm) |
| #else |
| ENTRY(_start) |
| OUTPUT_FORMAT(elf32-sh) |
| #endif |
| |
| #ifdef IRIVER_IFP7XX_SERIES |
| MEMORY |
| { |
| IRAM : ORIGIN = 0, LENGTH = 0x10000 |
| DRAM : ORIGIN = 0xc00000, LENGTH = 0x6000 |
| DRAM_API : ORIGIN = 0xc06000, LENGTH = 0x100 |
| } |
| |
| SECTIONS |
| { |
| .text : |
| { |
| *(.init*) |
| *(.text) |
| *(.text*) |
| *(.rodata) |
| *(.rodata*) |
| *(.glue_7) |
| *(.glue_7t) |
| } >DRAM |
| |
| .gdbapi : |
| { |
| *(.gdbapi) |
| } >DRAM_API |
| |
| .data : |
| { |
| *(.data) |
| } >DRAM |
| |
| .vectors : |
| { |
| _vectorsstart = .; |
| *(.vectors) |
| _vectorsend = .; |
| } >IRAM AT>DRAM |
| _vectorscopy = LOADADDR(.vectors); |
| |
| .stack (NOLOAD) : |
| { |
| stackbegin = .; |
| . += 0x400; |
| _stub_stack = .; |
| . += 0x200; |
| stackend = .; |
| } >DRAM |
| |
| .bss (NOLOAD) : |
| { |
| _edata = .; |
| *(.bss) |
| _end = .; |
| } >DRAM |
| } |
| #else |
| |
| SECTIONS |
| { |
| .vectors 0x09000000 : |
| { |
| *(.vectors); |
| . = ALIGN(0x200); |
| start.o(.text) |
| *(.rodata) |
| } |
| |
| .text : |
| { |
| *(.text) |
| } |
| |
| .bss : |
| { |
| _stack = . + 0x1000; |
| _stub_stack = _stack + 0x1000; |
| } |
| |
| .pad 0x0900C800 : |
| { |
| LONG(0); |
| } |
| } |
| |
| #endif |