diff options
author | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-02 09:30:47 +0000 |
---|---|---|
committer | juhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2013-02-02 09:30:47 +0000 |
commit | 6beeb8df069644b2d468c97369c24f8ec9439325 (patch) | |
tree | 8d892ee9a8ea4f452c659291d43fb716e9deb41f /target/linux/generic | |
parent | 7051a330a9e2b3890b8465c7ed2b1d3fd78ae501 (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.patch | 2 | ||||
-rw-r--r-- | target/linux/generic/patches-3.8/220-gc_sections.patch | 2 |
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 |