X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fparisc%2Fkernel%2Fvmlinux.lds.S;h=e5fac3e08c7a0485fc24fd11de34a6497e6f3eb0;hb=f7f1b0f1e2fbadeab12d24236000e778aa9b1ead;hp=e5d5aeef96e5232ec42fe4ad990c774e54838ef1;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/arch/parisc/kernel/vmlinux.lds.S b/arch/parisc/kernel/vmlinux.lds.S index e5d5aeef9..e5fac3e08 100644 --- a/arch/parisc/kernel/vmlinux.lds.S +++ b/arch/parisc/kernel/vmlinux.lds.S @@ -26,9 +26,10 @@ #include /* needed for the processor specific cache alignment size */ #include +#include /* ld script to make hppa Linux kernel */ -#ifndef CONFIG_PARISC64 +#ifndef CONFIG_64BIT OUTPUT_FORMAT("elf32-hppa-linux") OUTPUT_ARCH(hppa) #else @@ -37,7 +38,7 @@ OUTPUT_ARCH(hppa:hppa2.0w) #endif ENTRY(_stext) -#ifndef CONFIG_PARISC64 +#ifndef CONFIG_64BIT jiffies = jiffies_64 + 4; #else jiffies = jiffies_64; @@ -45,13 +46,18 @@ jiffies = jiffies_64; SECTIONS { - . = 0x10100000; + . = KERNEL_BINARY_TEXT_START; _text = .; /* Text and read-only data */ .text ALIGN(16) : { - *(.text*) + *(.text) SCHED_TEXT - *(.PARISC.unwind) + LOCK_TEXT + *(.text.do_softirq) + *(.text.sys_exit) + *(.text.do_sigaltstack) + *(.text.do_fork) + *(.text.*) *(.fixup) *(.lock.text) /* out-of-line lock text */ *(.gnu.warning) @@ -72,8 +78,15 @@ SECTIONS __ex_table : { *(__ex_table) } __stop___ex_table = .; + __start___unwind = .; /* unwind info */ + .PARISC.unwind : { *(.PARISC.unwind) } + __stop___unwind = .; + .data : { /* Data */ *(.data) + *(.data.vm0.pmd) + *(.data.vm0.pgd) + *(.data.vm0.pte) CONSTRUCTORS } @@ -88,6 +101,10 @@ SECTIONS . = ALIGN(L1_CACHE_BYTES); .data.cacheline_aligned : { *(.data.cacheline_aligned) } + /* PA-RISC locks requires 16-byte alignment */ + . = ALIGN(16); + .data.lock_aligned : { *(.data.lock_aligned) } + _edata = .; /* End of data section */ . = ALIGN(16384); /* init_task */ @@ -98,7 +115,7 @@ SECTIONS . = ALIGN(16384); init_istack : { *(init_istack) } -#ifdef CONFIG_PARISC64 +#ifdef CONFIG_64BIT . = ALIGN(16); /* Linkage tables */ .opd : { *(.opd) } PROVIDE (__gp = .); .plt : { *(.plt) } @@ -117,9 +134,6 @@ SECTIONS __setup_start = .; .init.setup : { *(.init.setup) } __setup_end = .; - __start___param = .; - __param : { *(__param) } - __stop___param = .; __initcall_start = .; .initcall.init : { *(.initcall1.init) @@ -169,7 +183,7 @@ SECTIONS /* Sections to be discarded */ /DISCARD/ : { *(.exitcall.exit) -#ifdef CONFIG_PARISC64 +#ifdef CONFIG_64BIT /* temporary hack until binutils is fixed to not emit these for static binaries */ *(.interp)