source: mainline/kernel/arch/ppc32/_link.ld.in@ 28f660d

lfn serial ticket/834-toolchain-update topic/msim-upgrade topic/simplify-dev-export
Last change on this file since 28f660d was 1ac3a52, checked in by Jakub Jermar <jakub@…>, 16 years ago

The kernel symbol table must be always 8-byte aligned.

  • Property mode set to 100644
File size: 1.1 KB
RevLine 
[6bc4dbd]1/** PPC32 linker script
[c723d7a1]2 *
[edc89bd0]3 * umapped section:
[34259b9]4 * kernel text
5 * kernel data
[edc89bd0]6 * mapped section:
[34259b9]7 * kernel text
8 * kernel data
[c723d7a1]9 *
[f761f1eb]10 */
11
[45d6add]12#include <arch/boot/boot.h>
13#include <arch/mm/page.h>
[6bc4dbd]14
[f761f1eb]15ENTRY(kernel_image_start)
[33472fa]16OUTPUT_FORMAT("elf32-powerpc")
[9055bd1]17OUTPUT_ARCH("powerpc:common")
[f761f1eb]18
19SECTIONS {
[edc89bd0]20 .unmapped 0: AT (0) {
21 unmapped_ktext_start = .;
22 *(K_UNMAPPED_TEXT_START);
23 unmapped_ktext_end = .;
24
25 unmapped_kdata_start = .;
26 *(K_UNMAPPED_DATA_START);
27 unmapped_kdata_start = .;
28 }
29
[34259b9]30 .mapped PA2KA(BOOT_OFFSET): AT (BOOT_OFFSET) {
[76cec1e]31 ktext_start = .;
[edc89bd0]32 *(K_TEXT_START);
[76cec1e]33 *(.text);
[c723d7a1]34 ktext_end = .;
35
36 kdata_start = .;
[edc89bd0]37 *(K_DATA_START);
[efa9b73]38 *(.rodata);
39 *(.rodata.*);
[34259b9]40 *(.data); /* initialized data */
[efa9b73]41 *(.sdata);
[393f631]42 *(.sdata2);
[efa9b73]43 *(.sbss);
[470c468]44 hardcoded_ktext_size = .;
[34259b9]45 LONG(ktext_end - ktext_start);
[470c468]46 hardcoded_kdata_size = .;
47 LONG(kdata_end - kdata_start);
48 hardcoded_load_address = .;
[45d6add]49 LONG(PA2KA(BOOT_OFFSET));
[34259b9]50 *(.bss); /* uninitialized static variables */
51 *(COMMON); /* global variables */
52
[1ac3a52]53 . = ALIGN(8);
[8b786b6]54 symbol_table = .;
[34259b9]55 *(symtab.*); /* Symbol table, must be LAST symbol!*/
56
[76cec1e]57 kdata_end = .;
58 }
[f761f1eb]59}
Note: See TracBrowser for help on using the repository browser.