| #include <asm-generic/vmlinux.lds.h> | 
 |  | 
 | OUTPUT_FORMAT(CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT, CONFIG_OUTPUT_FORMAT) | 
 |  | 
 | #undef i386 | 
 |  | 
 | #include <asm/cache.h> | 
 | #include <asm/page_types.h> | 
 |  | 
 | #ifdef CONFIG_X86_64 | 
 | OUTPUT_ARCH(i386:x86-64) | 
 | ENTRY(startup_64) | 
 | #else | 
 | OUTPUT_ARCH(i386) | 
 | ENTRY(startup_32) | 
 | #endif | 
 |  | 
 | SECTIONS | 
 | { | 
 | 	/* Be careful parts of head_64.S assume startup_32 is at | 
 | 	 * address 0. | 
 | 	 */ | 
 | 	. = 0; | 
 | 	.head.text : { | 
 | 		_head = . ; | 
 | 		HEAD_TEXT | 
 | 		_ehead = . ; | 
 | 	} | 
 | 	.rodata..compressed : { | 
 | 		*(.rodata..compressed) | 
 | 	} | 
 | 	.text :	{ | 
 | 		_text = .; 	/* Text */ | 
 | 		*(.text) | 
 | 		*(.text.*) | 
 | 		_etext = . ; | 
 | 	} | 
 | 	.rodata : { | 
 | 		_rodata = . ; | 
 | 		*(.rodata)	 /* read-only data */ | 
 | 		*(.rodata.*) | 
 | 		_erodata = . ; | 
 | 	} | 
 | 	.got : { | 
 | 		_got = .; | 
 | 		KEEP(*(.got.plt)) | 
 | 		KEEP(*(.got)) | 
 | 		_egot = .; | 
 | 	} | 
 | 	.data :	{ | 
 | 		_data = . ; | 
 | 		*(.data) | 
 | 		*(.data.*) | 
 | 		_edata = . ; | 
 | 	} | 
 | 	. = ALIGN(L1_CACHE_BYTES); | 
 | 	.bss : { | 
 | 		_bss = . ; | 
 | 		*(.bss) | 
 | 		*(.bss.*) | 
 | 		*(COMMON) | 
 | 		. = ALIGN(8);	/* For convenience during zeroing */ | 
 | 		_ebss = .; | 
 | 	} | 
 | #ifdef CONFIG_X86_64 | 
 |        . = ALIGN(PAGE_SIZE); | 
 |        .pgtable : { | 
 | 		_pgtable = . ; | 
 | 		*(.pgtable) | 
 | 		_epgtable = . ; | 
 | 	} | 
 | #endif | 
 | 	_end = .; | 
 | } |