mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			84 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| From 4aded085fa0057a9a1e1dcec631f950307360c1f Mon Sep 17 00:00:00 2001
 | |
| From: Wu Zhangjin <wuzhangjin@gmail.com>
 | |
| Date: Tue, 11 Jan 2011 13:46:19 +0000
 | |
| Subject: MIPS: Fix compiling failure of relocate_kernel.S
 | |
| 
 | |
| The following errors is fixed with the help of <asm/asm_nosec.h>. for
 | |
| this file need to put different symbols in the same section, the
 | |
| original LEAF, NESTED and EXPORT (without explicit section indication)
 | |
| must be used, <asm/asm_nosec.h> does it.
 | |
| 
 | |
| arch/mips/kernel/relocate_kernel.S: Assembler messages:
 | |
| arch/mips/kernel/relocate_kernel.S:162: Error: operation combines symbols in different segments
 | |
| 
 | |
| Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
 | |
| ---
 | |
| (limited to 'arch/mips/kernel')
 | |
| 
 | |
| --- a/arch/mips/kernel/relocate_kernel.S
 | |
| +++ b/arch/mips/kernel/relocate_kernel.S
 | |
| @@ -7,6 +7,7 @@
 | |
|   */
 | |
|  
 | |
|  #include <asm/asm.h>
 | |
| +#include <asm/asm_nosec.h>
 | |
|  #include <asm/asmmacro.h>
 | |
|  #include <asm/regdef.h>
 | |
|  #include <asm/page.h>
 | |
| --- /dev/null
 | |
| +++ b/arch/mips/include/asm/asm_nosec.h
 | |
| @@ -0,0 +1,53 @@
 | |
| +/*
 | |
| + * This file is subject to the terms and conditions of the GNU General Public
 | |
| + * License.  See the file "COPYING" in the main directory of this archive
 | |
| + * for more details.
 | |
| + *
 | |
| + * Copyright (C) 1995, 1996, 1997, 1999, 2001 by Ralf Baechle
 | |
| + * Copyright (C) 1999 by Silicon Graphics, Inc.
 | |
| + * Copyright (C) 2001 MIPS Technologies, Inc.
 | |
| + * Copyright (C) 2002  Maciej W. Rozycki
 | |
| + * Copyright (C) 2010  Wu Zhangjin <wuzhangjin@gmail.com>
 | |
| + *
 | |
| + * Derive from <asm/asm.h>
 | |
| + *
 | |
| + * Override the macros without -ffunction-sections and -fdata-sections support.
 | |
| + * If several functions or data must be put in the same section, please include
 | |
| + * this header file after the <asm/asm.h> to override the generic definition.
 | |
| + */
 | |
| +
 | |
| +#ifndef __ASM_ASM_NOSEC_H
 | |
| +#define __ASM_ASM_NOSEC_H
 | |
| +
 | |
| +#undef LEAF
 | |
| +#undef NESTED
 | |
| +#undef EXPORT
 | |
| +
 | |
| +/*
 | |
| + * LEAF - declare leaf routine
 | |
| + */
 | |
| +#define	LEAF(symbol)                                    \
 | |
| +		.globl	symbol;                         \
 | |
| +		.align	2;                              \
 | |
| +		.type	symbol, @function;              \
 | |
| +		.ent	symbol, 0;                      \
 | |
| +symbol:		.frame	sp, 0, ra
 | |
| +
 | |
| +/*
 | |
| + * NESTED - declare nested routine entry point
 | |
| + */
 | |
| +#define	NESTED(symbol, framesize, rpc)                  \
 | |
| +		.globl	symbol;                         \
 | |
| +		.align	2;                              \
 | |
| +		.type	symbol, @function;              \
 | |
| +		.ent	symbol, 0;                       \
 | |
| +symbol:		.frame	sp, framesize, rpc
 | |
| +
 | |
| +/*
 | |
| + * EXPORT - export definition of symbol
 | |
| + */
 | |
| +#define EXPORT(symbol)					\
 | |
| +		.globl	symbol;                         \
 | |
| +symbol:
 | |
| +
 | |
| +#endif /* __ASM_ASM_NOSEC_H */
 |