From 4587efbaab4c454c287cba86234d497c1b0cd028 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Sat, 2 Feb 2013 09:30:47 +0000 Subject: [PATCH] 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35447 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/generic/patches-3.7/220-gc_sections.patch | 2 +- 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 -- 2.11.0