| OUTPUT_FORMAT(elf32-powerpc) |
| OUTPUT_ARCH(powerpc:common) |
| |
| /* Initial load address |
| */ |
| BASE_ADDR = 0xfff00000; |
| |
| /* As NVRAM is at 0xfff04000, the .text needs to be after that |
| */ |
| TEXT_ADDR = 0xfff08000; |
| |
| /* Hard reset vector address |
| */ |
| HRESET_ADDR = 0xfffffffc; |
| |
| CSTACK_SIZE = 32768; /* client stack size */ |
| |
| SECTIONS |
| { |
| . = BASE_ADDR; |
| |
| _start = BASE_ADDR + 0x0100; |
| .text.vectors ALIGN(4096): { |
| *(.text.vectors) |
| } |
| |
| . = TEXT_ADDR; |
| /* Normal sections */ |
| .text ALIGN(4096): { |
| *(.text) |
| *(.text.*) |
| } |
| |
| .rodata ALIGN(4096): { |
| _rodata = .; |
| *(.rodata) |
| *(.rodata.*) |
| *(.note.ELFBoot) |
| } |
| .data ALIGN(4096): { |
| _data = .; |
| *(.data) |
| *(.data.*) |
| _edata = .; |
| } |
| |
| .bss ALIGN(4096): { |
| _bss = .; |
| *(.sbss) |
| *(.sbss.*) |
| *(.bss) |
| *(.bss.*) |
| *(COMMON) |
| _ebss = .; |
| } |
| |
| . = HRESET_ADDR; |
| |
| .romentry : { *(.romentry) } |
| |
| . = ALIGN(4096); |
| _end = .; |
| |
| /* We discard .note sections other than .note.ELFBoot, |
| * because some versions of GCC generates useless ones. */ |
| |
| /DISCARD/ : { *(.comment*) *(.note.*) } |
| } |