From 9b8c34de26ad5c4220e903d6ffbc66c1d3d27a80 Mon Sep 17 00:00:00 2001
From: nbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Date: Sun, 9 Aug 2009 20:51:04 +0000
Subject: arm: when linking the kernel, move the section discards after the
 other sections to fix discarding unused symbol exports

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@17204 3c298f89-4303-0410-b956-a3cf2f4a3e73
---
 .../patches-2.6.28/027-module_exports.patch        | 37 ++++++++++++++++++++++
 1 file changed, 37 insertions(+)

(limited to 'target/linux')

diff --git a/target/linux/generic-2.6/patches-2.6.28/027-module_exports.patch b/target/linux/generic-2.6/patches-2.6.28/027-module_exports.patch
index 014f47dab..e931ec9d9 100644
--- a/target/linux/generic-2.6/patches-2.6.28/027-module_exports.patch
+++ b/target/linux/generic-2.6/patches-2.6.28/027-module_exports.patch
@@ -152,3 +152,40 @@
  	. = ALIGN(PAGE_SIZE);
  	_end = . ;
  	PROVIDE32 (end = .);
+--- a/arch/arm/kernel/vmlinux.lds.S
++++ b/arch/arm/kernel/vmlinux.lds.S
+@@ -76,16 +76,6 @@ SECTIONS
+ #endif
+ 	}
+ 
+-	/DISCARD/ : {			/* Exit code and data		*/
+-		EXIT_TEXT
+-		EXIT_DATA
+-		*(.exitcall.exit)
+-#ifndef CONFIG_MMU
+-		*(.fixup)
+-		*(__ex_table)
+-#endif
+-	}
+-
+ 	.text : {			/* Real text segment		*/
+ 		_text = .;		/* Text and read-only data	*/
+ 			__exception_text_start = .;
+@@ -173,6 +163,17 @@ SECTIONS
+ 		*(COMMON)
+ 		_end = .;
+ 	}
++
++	/DISCARD/ : {			/* Exit code and data		*/
++		EXIT_TEXT
++		EXIT_DATA
++		*(.exitcall.exit)
++#ifndef CONFIG_MMU
++		*(.fixup)
++		*(__ex_table)
++#endif
++	}
++
+ 					/* Stabs debugging sections.	*/
+ 	.stab 0 : { *(.stab) }
+ 	.stabstr 0 : { *(.stabstr) }
-- 
cgit v1.2.3