mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05: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 */
 |