summaryrefslogtreecommitdiff
path: root/target/linux/generic
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-02-02 09:30:47 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2013-02-02 09:30:47 +0000
commit6beeb8df069644b2d468c97369c24f8ec9439325 (patch)
tree8d892ee9a8ea4f452c659291d43fb716e9deb41f /target/linux/generic
parent7051a330a9e2b3890b8465c7ed2b1d3fd78ae501 (diff)
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
Diffstat (limited to 'target/linux/generic')
-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