mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	The various x86 linker scripts use the three-argument linker script command variant OUTPUT_FORMAT(DEFAULT, BIG, LITTLE) which specifies three object file formats when the -EL and -EB linker command line options are used. When -EB is specified, OUTPUT_FORMAT issues the BIG object file format, when -EL, LITTLE, respectively, and when neither is specified, DEFAULT. However, those -E[LB] options are not used by arch/x86/ so switch to the simple OUTPUT_FORMAT(BFDNAME) macro variant. No functional changes. Signed-off-by: Borislav Petkov <bp@suse.de> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: x86@kernel.org Link: https://lkml.kernel.org/r/20190109181531.27513-1-bp@alien8.de
		
			
				
	
	
		
			76 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
/* SPDX-License-Identifier: GPL-2.0 */
 | 
						|
#include <asm-generic/vmlinux.lds.h>
 | 
						|
 | 
						|
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
 | 
						|
	. = ALIGN(PAGE_SIZE);	/* keep ZO size page aligned */
 | 
						|
	_end = .;
 | 
						|
}
 |