1,3c1,4
< /* $FreeBSD: head/sys/conf/ldscript.powerpc 55825 2000-01-11 15:35:16Z peter $ */
< OUTPUT_FORMAT("elf64-alpha", "elf64-alpha", "elf64-alpha")
< OUTPUT_ARCH(alpha)
---
> /* $FreeBSD: head/sys/conf/ldscript.powerpc 78388 2001-06-17 09:39:44Z benno $ */
>
> OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc")
> OUTPUT_ARCH(powerpc)
6c7,9
< kernel_text = 0xfffffc0000300000;
---
> /* Do we need any of these for elf?
> __DYNAMIC = 0; */
> PROVIDE (__stack = 0);
10c13
< . = 0xfffffc0000300000 + SIZEOF_HEADERS;
---
> . = 0x00100000 + SIZEOF_HEADERS;
18,19d20
< .rel.text :
< { *(.rel.text) *(.rel.gnu.linkonce.t*) }
22,23d22
< .rel.data :
< { *(.rel.data) *(.rel.gnu.linkonce.d*) }
26,27d24
< .rel.rodata :
< { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
30d26
< .rel.got : { *(.rel.got) }
32c28,29
< .rel.ctors : { *(.rel.ctors) }
---
> .rela.got1 : { *(.rela.got1) }
> .rela.got2 : { *(.rela.got2) }
34d30
< .rel.dtors : { *(.rel.dtors) }
36d31
< .rel.init : { *(.rel.init) }
38d32
< .rel.fini : { *(.rel.fini) }
40d33
< .rel.bss : { *(.rel.bss) }
42d34
< .rel.plt : { *(.rel.plt) }
44c36,39
< .init : { *(.init) } =0x47ff041f
---
> .rela.sdata : { *(.rela.sdata) }
> .rela.sbss : { *(.rela.sbss) }
> .rela.sdata2 : { *(.rela.sdata2) }
> .rela.sbss2 : { *(.rela.sbss2) }
48d42
< *(.stub)
52c46
< } =0x47ff041f
---
> } =0
55c49,50
< .fini : { *(.fini) } =0x47ff041f
---
> .init : { *(.init) } =0
> .fini : { *(.fini) } =0
58c53,54
< .reginfo : { *(.reginfo) }
---
> .sdata2 : { *(.sdata2) }
> .sbss2 : { *(.sbss2) }
69,79c65,85
< .ctors :
< {
< *(.ctors)
< }
< .dtors :
< {
< *(.dtors)
< }
< .plt : { *(.plt) }
< .got : { *(.got.plt) *(.got) }
< .dynamic : { *(.dynamic) }
---
> .got1 : { *(.got1) }
> .dynamic : { *(.dynamic) }
> /* Put .ctors and .dtors next to the .got2 section, so that the pointers
> get relocated with -mrelocatable. Also put in the .fixup pointers.
> The current compiler no longer needs this, but keep it around for 2.7.2 */
> PROVIDE (_GOT2_START_ = .);
> .got2 : { *(.got2) }
> PROVIDE (__CTOR_LIST__ = .);
> .ctors : { *(.ctors) }
> PROVIDE (__CTOR_END__ = .);
> PROVIDE (__DTOR_LIST__ = .);
> .dtors : { *(.dtors) }
> PROVIDE (__DTOR_END__ = .);
> PROVIDE (_FIXUP_START_ = .);
> .fixup : { *(.fixup) }
> PROVIDE (_FIXUP_END_ = .);
> PROVIDE (_GOT2_END_ = .);
> PROVIDE (_GOT_START_ = .);
> .got : { *(.got) }
> .got.plt : { *(.got.plt) }
> PROVIDE (_GOT_END_ = .);
86,87c92,100
< __bss_start = .;
< .sbss : { *(.sbss) *(.scommon) }
---
> .sbss :
> {
> PROVIDE (__sbss_start = .);
> *(.sbss)
> *(.scommon)
> *(.dynsbss)
> PROVIDE (__sbss_end = .);
> }
> .plt : { *(.plt) }
89a103
> PROVIDE (__bss_start = .);
94d107
< . = ALIGN(64 / 8);
100,104d112
< .stab.excl 0 : { *(.stab.excl) }
< .stab.exclstr 0 : { *(.stab.exclstr) }
< .stab.index 0 : { *(.stab.index) }
< .stab.indexstr 0 : { *(.stab.indexstr) }
< .comment 0 : { *(.comment) }
< /* $FreeBSD: head/sys/conf/ldscript.powerpc 55825 2000-01-11 15:35:16Z peter $ */
< OUTPUT_FORMAT("elf64-alpha", "elf64-alpha", "elf64-alpha")
< OUTPUT_ARCH(alpha)
---
> /* $FreeBSD: head/sys/conf/ldscript.powerpc 78388 2001-06-17 09:39:44Z benno $ */
>
> OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc")
> OUTPUT_ARCH(powerpc)
6c7,9
< kernel_text = 0xfffffc0000300000;
---
> /* Do we need any of these for elf?
> __DYNAMIC = 0; */
> PROVIDE (__stack = 0);
10c13
< . = 0xfffffc0000300000 + SIZEOF_HEADERS;
---
> . = 0x00100000 + SIZEOF_HEADERS;
18,19d20
< .rel.text :
< { *(.rel.text) *(.rel.gnu.linkonce.t*) }
22,23d22
< .rel.data :
< { *(.rel.data) *(.rel.gnu.linkonce.d*) }
26,27d24
< .rel.rodata :
< { *(.rel.rodata) *(.rel.gnu.linkonce.r*) }
30d26
< .rel.got : { *(.rel.got) }
32c28,29
< .rel.ctors : { *(.rel.ctors) }
---
> .rela.got1 : { *(.rela.got1) }
> .rela.got2 : { *(.rela.got2) }
34d30
< .rel.dtors : { *(.rel.dtors) }
36d31
< .rel.init : { *(.rel.init) }
38d32
< .rel.fini : { *(.rel.fini) }
40d33
< .rel.bss : { *(.rel.bss) }
42d34
< .rel.plt : { *(.rel.plt) }
44c36,39
< .init : { *(.init) } =0x47ff041f
---
> .rela.sdata : { *(.rela.sdata) }
> .rela.sbss : { *(.rela.sbss) }
> .rela.sdata2 : { *(.rela.sdata2) }
> .rela.sbss2 : { *(.rela.sbss2) }
48d42
< *(.stub)
52c46
< } =0x47ff041f
---
> } =0
55c49,50
< .fini : { *(.fini) } =0x47ff041f
---
> .init : { *(.init) } =0
> .fini : { *(.fini) } =0
58c53,54
< .reginfo : { *(.reginfo) }
---
> .sdata2 : { *(.sdata2) }
> .sbss2 : { *(.sbss2) }
69,79c65,85
< .ctors :
< {
< *(.ctors)
< }
< .dtors :
< {
< *(.dtors)
< }
< .plt : { *(.plt) }
< .got : { *(.got.plt) *(.got) }
< .dynamic : { *(.dynamic) }
---
> .got1 : { *(.got1) }
> .dynamic : { *(.dynamic) }
> /* Put .ctors and .dtors next to the .got2 section, so that the pointers
> get relocated with -mrelocatable. Also put in the .fixup pointers.
> The current compiler no longer needs this, but keep it around for 2.7.2 */
> PROVIDE (_GOT2_START_ = .);
> .got2 : { *(.got2) }
> PROVIDE (__CTOR_LIST__ = .);
> .ctors : { *(.ctors) }
> PROVIDE (__CTOR_END__ = .);
> PROVIDE (__DTOR_LIST__ = .);
> .dtors : { *(.dtors) }
> PROVIDE (__DTOR_END__ = .);
> PROVIDE (_FIXUP_START_ = .);
> .fixup : { *(.fixup) }
> PROVIDE (_FIXUP_END_ = .);
> PROVIDE (_GOT2_END_ = .);
> PROVIDE (_GOT_START_ = .);
> .got : { *(.got) }
> .got.plt : { *(.got.plt) }
> PROVIDE (_GOT_END_ = .);
86,87c92,100
< __bss_start = .;
< .sbss : { *(.sbss) *(.scommon) }
---
> .sbss :
> {
> PROVIDE (__sbss_start = .);
> *(.sbss)
> *(.scommon)
> *(.dynsbss)
> PROVIDE (__sbss_end = .);
> }
> .plt : { *(.plt) }
89a103
> PROVIDE (__bss_start = .);
94d107
< . = ALIGN(64 / 8);
100,104d112
< .stab.excl 0 : { *(.stab.excl) }
< .stab.exclstr 0 : { *(.stab.exclstr) }
< .stab.index 0 : { *(.stab.index) }
< .stab.indexstr 0 : { *(.stab.indexstr) }
< .comment 0 : { *(.comment) }