debuggers.hg
changeset 12665:aa08fbbf1243
[LINUX] kexec: Backport fix for overlapping program headers in x86_64 linker script.
This allows a native kernel built from the xen tree to be used as a
crash kernel on x86_64.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
This allows a native kernel built from the xen tree to be used as a
crash kernel on x86_64.
Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
author | Ian Campbell <ian.campbell@xensource.com> |
---|---|
date | Thu Nov 30 12:38:51 2006 +0000 (2006-11-30) |
parents | a1a04c48da6c |
children | b19922790440 |
files | patches/linux-2.6.16.33/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch patches/linux-2.6.16.33/series |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/patches/linux-2.6.16.33/git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch Thu Nov 30 12:38:51 2006 +0000 1.3 @@ -0,0 +1,47 @@ 1.4 +commit dbaab49f92ff6ae6255762a948375e4036cbdbd2 1.5 +Author: Vivek Goyal <vgoyal@in.ibm.com> 1.6 +Date: Sat Oct 21 18:37:03 2006 +0200 1.7 + 1.8 + [PATCH] x86-64: Overlapping program headers in physical addr space fix 1.9 + 1.10 + o A recent change to vmlinux.ld.S file broke kexec as now resulting vmlinux 1.11 + program headers are overlapping in physical address space. 1.12 + 1.13 + o Now all the vsyscall related sections are placed after data and after 1.14 + that mostly init data sections are placed. To avoid physical overlap 1.15 + among phdrs, there are three possible solutions. 1.16 + - Place vsyscall sections also in data phdrs instead of user 1.17 + - move vsyscal sections after init data in bss. 1.18 + - create another phdrs say data.init and move all the sections 1.19 + after vsyscall into this new phdr. 1.20 + 1.21 + o This patch implements the third solution. 1.22 + 1.23 + Signed-off-by: Vivek Goyal <vgoyal@in.ibm.com> 1.24 + Signed-off-by: Andi Kleen <ak@suse.de> 1.25 + Cc: Magnus Damm <magnus@valinux.co.jp> 1.26 + Cc: Andi Kleen <ak@suse.de> 1.27 + Cc: "Eric W. Biederman" <ebiederm@xmission.com> 1.28 + Signed-off-by: Andrew Morton <akpm@osdl.org> 1.29 + 1.30 +diff --git a/arch/x86_64/kernel/vmlinux.lds.S b/arch/x86_64/kernel/vmlinux.lds.S 1.31 +index b9df2ab..1283614 100644 1.32 +--- a/arch/x86_64/kernel/vmlinux.lds.S 1.33 ++++ b/arch/x86_64/kernel/vmlinux.lds.S 1.34 +@@ -17,6 +17,7 @@ PHDRS { 1.35 + text PT_LOAD FLAGS(5); /* R_E */ 1.36 + data PT_LOAD FLAGS(7); /* RWE */ 1.37 + user PT_LOAD FLAGS(7); /* RWE */ 1.38 ++ data.init PT_LOAD FLAGS(7); /* RWE */ 1.39 + note PT_NOTE FLAGS(4); /* R__ */ 1.40 + } 1.41 + SECTIONS 1.42 +@@ -131,7 +132,7 @@ SECTIONS 1.43 + . = ALIGN(8192); /* init_task */ 1.44 + .data.init_task : AT(ADDR(.data.init_task) - LOAD_OFFSET) { 1.45 + *(.data.init_task) 1.46 +- } :data 1.47 ++ }:data.init 1.48 + 1.49 + . = ALIGN(4096); 1.50 + .data.page_aligned : AT(ADDR(.data.page_aligned) - LOAD_OFFSET) {
2.1 --- a/patches/linux-2.6.16.33/series Thu Nov 30 12:38:51 2006 +0000 2.2 +++ b/patches/linux-2.6.16.33/series Thu Nov 30 12:38:51 2006 +0000 2.3 @@ -31,6 +31,7 @@ xen-hotplug.patch 2.4 xenoprof-generic.patch 2.5 x86-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch 2.6 x86_64-put-note-sections-into-a-pt_note-segment-in-vmlinux.patch 2.7 +git-dbaab49f92ff6ae6255762a948375e4036cbdbd2.patch 2.8 x86-elfnote-as-preprocessor-macro.patch 2.9 vsnprintf.patch 2.10 kasprintf.patch