x86: convert compressed loader to use __HEAD and HEAD_TEXT macros.
This has the consequence of changing the section name use for head code from ".text.head" to ".head.text". Linus suggested that we merge the ".text.head" section with ".text" (presumably while preserving the fact that the head code starts at 0). When I tried this it caused the kernel to not boot. Signed-off-by: Tim Abbott <tabbott@ksplice.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
This commit is contained in:
Родитель
d223246ef7
Коммит
1dc818c1c5
|
@ -23,13 +23,14 @@
|
|||
*/
|
||||
.text
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/page_types.h>
|
||||
#include <asm/boot.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
|
||||
.section ".text.head","ax",@progbits
|
||||
__HEAD
|
||||
ENTRY(startup_32)
|
||||
cld
|
||||
/*
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
.code32
|
||||
.text
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <asm/segment.h>
|
||||
#include <asm/pgtable_types.h>
|
||||
|
@ -33,7 +34,7 @@
|
|||
#include <asm/processor-flags.h>
|
||||
#include <asm/asm-offsets.h>
|
||||
|
||||
.section ".text.head"
|
||||
__HEAD
|
||||
.code32
|
||||
ENTRY(startup_32)
|
||||
cld
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
#include <asm-generic/vmlinux.lds.h>
|
||||
|
||||
OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT)
|
||||
|
||||
#undef i386
|
||||
|
@ -18,9 +20,9 @@ SECTIONS
|
|||
* address 0.
|
||||
*/
|
||||
. = 0;
|
||||
.text.head : {
|
||||
.head.text : {
|
||||
_head = . ;
|
||||
*(.text.head)
|
||||
HEAD_TEXT
|
||||
_ehead = . ;
|
||||
}
|
||||
.rodata.compressed : {
|
||||
|
|
Загрузка…
Ссылка в новой задаче