1OUTPUT_ARCH(powerpc:common64) 2SEARCH_DIR(/lib); SEARCH_DIR(/usr/lib); SEARCH_DIR(/usr/local/lib); SEARCH_DIR(/usr/local/powerpc-any-elf/lib); 3/* Do we need any of these for elf? 4 __DYNAMIC = 0; */ 5SECTIONS 6{ 7 /* Read-only sections, merged into text segment: */ 8 . = + SIZEOF_HEADERS; 9 .interp : { *(.interp) } 10 .hash : { *(.hash) } 11 .dynsym : { *(.dynsym) } 12 .dynstr : { *(.dynstr) } 13 .rel.text : { *(.rel.text) } 14 .rela.text : { *(.rela.text) } 15 .rel.data : { *(.rel.data) } 16 .rela.data : { *(.rela.data) } 17 .rel.rodata : { *(.rel.rodata) } 18 .rela.rodata : { *(.rela.rodata) } 19 .rel.got : { *(.rel.got) } 20 .rela.got : { *(.rela.got) } 21 .rel.ctors : { *(.rel.ctors) } 22 .rela.ctors : { *(.rela.ctors) } 23 .rel.dtors : { *(.rel.dtors) } 24 .rela.dtors : { *(.rela.dtors) } 25 .rel.bss : { *(.rel.bss) } 26 .rela.bss : { *(.rela.bss) } 27 .rel.plt : { *(.rel.plt) } 28 .rela.plt : { *(.rela.plt) } 29/* .init : { *(.init) } =0*/ 30 .plt : { *(.plt) } 31 .text : 32 { 33 *(.text) 34 *(.fixup) 35 *(.got1) 36 } 37 . = ALIGN(4096); 38 _etext = .; 39 PROVIDE (etext = .); 40 .rodata : 41 { 42 *(.rodata) 43 *(.rodata1) 44 } 45 .fini : { *(.fini) } =0 46 .ctors : { *(.ctors) } 47 .dtors : { *(.dtors) } 48 /* Read-write section, merged into data segment: */ 49 . = (. + 0x0FFF) & 0xFFFFFFFFFFFFF000; 50 .data : 51 { 52 *(.data) 53 *(.data1) 54 *(.sdata) 55 *(.sdata2) 56 *(.got.plt) *(.got) 57 *(.dynamic) 58 CONSTRUCTORS 59 } 60 . = ALIGN(4096); 61 _edata = .; 62 PROVIDE (edata = .); 63 64 .fixup : { *(.fixup) } 65 __start___ex_table = .; 66 __ex_table : { *(__ex_table) } 67 __stop___ex_table = .; 68 69 __start___ksymtab = .; /* Kernel symbol table */ 70 __ksymtab : { *(__ksymtab) } 71 __stop___ksymtab = .; 72 __start___kallsyms = .; /* All kernel symbols */ 73 __kallsyms : { *(__kallsyms) } 74 __stop___kallsyms = .; 75 76 . = ALIGN(16); 77 __start___ftr_fixup = .; 78 __ftr_fixup : { *(__ftr_fixup) } 79 __stop___ftr_fixup = .; 80 81 . = ALIGN(4096); 82 .data.page_aligned : { *(.data.page_aligned) } 83 84 . = ALIGN(128); 85 .data.cacheline_aligned : { *(.data.cacheline_aligned) } 86 87 . = ALIGN(4096); 88 __init_begin = .; 89 .text.init : { *(.text.init) } 90 .data.init : { 91 *(.data.init); 92 __vtop_table_begin = .; 93 *(.vtop_fixup); 94 __vtop_table_end = .; 95 __ptov_table_begin = .; 96 *(.ptov_fixup); 97 __ptov_table_end = .; 98 } 99 . = ALIGN(16); 100 __setup_start = .; 101 .setup.init : { *(.setup.init) } 102 __setup_end = .; 103 __initcall_start = .; 104 .initcall.init : { *(.initcall.init) } 105 __initcall_end = .; 106 107 108 . = ALIGN(4096); 109 __init_end = .; 110 111 __chrp_begin = .; 112 .text.chrp : { *(.text.chrp) } 113 .data.chrp : { *(.data.chrp) } 114 . = ALIGN(4096); 115 __chrp_end = .; 116 117 . = ALIGN(4096); 118 __openfirmware_begin = .; 119 .text.openfirmware : { *(.text.openfirmware) } 120 .data.openfirmware : { *(.data.openfirmware) } 121 . = ALIGN(4096); 122 __openfirmware_end = .; 123 124 __toc_start = .; 125 .toc : 126 { 127 *(.toc) 128 } 129 . = ALIGN(4096); 130 __toc_end = .; 131 132 __bss_start = .; 133 .bss : 134 { 135 *(.sbss) *(.scommon) 136 *(.dynbss) 137 *(.bss) 138 *(COMMON) 139 } 140 141 . = ALIGN(4096); 142 _end = . ; 143 PROVIDE (end = .); 144} 145