aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-02-02 09:30:47 +0000
committerGabor Juhos <juhosg@openwrt.org>2013-02-02 09:30:47 +0000
commit4587efbaab4c454c287cba86234d497c1b0cd028 (patch)
tree8d892ee9a8ea4f452c659291d43fb716e9deb41f
parent45fd50fa0e8ada501c94fdcc7fe770602e2b796c (diff)
downloadupstream-4587efbaab4c454c287cba86234d497c1b0cd028.tar.gz
upstream-4587efbaab4c454c287cba86234d497c1b0cd028.tar.bz2
upstream-4587efbaab4c454c287cba86234d497c1b0cd028.zip
generic: fix gc_sections patch
Due to the patch, essential '.data..*' sections are merged into the '.data' section: --- vmlinux.good.sect 2013-02-01 23:49:16.000000000 +0100 +++ vmlinux.bad.sect 2013-02-01 23:49:02.000000000 +0100 @@ -1,5 +1,5 @@ -vmlinux.good: file format elf32-powerpc +vmlinux.bad: file format elf32-powerpc Sections: Idx Name Size VMA LMA File off Algn @@ -53,43 +53,35 @@ CONTENTS, ALLOC, LOAD, READONLY, DATA 24 .machine.desc 00000460 c04e1000 004e1000 004f1000 2**2 CONTENTS, ALLOC, LOAD, DATA - 25 .data 0000f6a0 c04e2000 004e2000 004f2000 2**12 + 25 .data 0001635c c04e2000 004e2000 004f2000 2**12 CONTENTS, ALLOC, LOAD, DATA - 26 .data..init_task 00002000 c04f2000 004f2000 00502000 2**3 - CONTENTS, ALLOC, LOAD, DATA - 27 .data..page_aligned 00002000 c04f4000 004f4000 00504000 2**12 - CONTENTS, ALLOC, LOAD, DATA - 28 .data..cacheline_aligned 00000c00 c04f6000 004f6000 00506000 2**5 - CONTENTS, ALLOC, LOAD, DATA - 29 .data..read_mostly 000015e0 c04f6c00 004f6c00 00506c00 2**3 - CONTENTS, ALLOC, LOAD, DATA - 30 .sbss 000002e0 c04f9000 004f9000 005081e0 2**3 + 26 .sbss 000002e0 c04fa000 004fa000 0050835c 2**3 <...> This causes boot hang on powerpc. Modify the patch to ensure that the kernel specific '.data..*' sections remain separate. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35447 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rw-r--r--target/linux/generic/patches-3.7/220-gc_sections.patch2
-rw-r--r--target/linux/generic/patches-3.8/220-gc_sections.patch2
2 files changed, 2 insertions, 2 deletions
diff --git a/target/linux/generic/patches-3.7/220-gc_sections.patch b/target/linux/generic/patches-3.7/220-gc_sections.patch
index 8a52a1eec8..bdafdfe9c6 100644
--- a/target/linux/generic/patches-3.7/220-gc_sections.patch
+++ b/target/linux/generic/patches-3.7/220-gc_sections.patch
@@ -115,7 +115,7 @@
BRANCH_PROFILE() \
- TRACE_PRINTKS()
+ TRACE_PRINTKS() \
-+ *(.data.*)
++ *(.data.[a-zA-Z_]*)
/*
* Data section helpers
diff --git a/target/linux/generic/patches-3.8/220-gc_sections.patch b/target/linux/generic/patches-3.8/220-gc_sections.patch
index 19c0f15923..0edba22757 100644
--- a/target/linux/generic/patches-3.8/220-gc_sections.patch
+++ b/target/linux/generic/patches-3.8/220-gc_sections.patch
@@ -115,7 +115,7 @@
BRANCH_PROFILE() \
- TRACE_PRINTKS()
+ TRACE_PRINTKS() \
-+ *(.data.*)
++ *(.data.[a-zA-Z_]*)
/*
* Data section helpers