mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 15:32:33 +00:00
eca9950f63
Based on 3.3-rc2 SVN-Revision: 29986
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 */
|