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>

SVN-Revision: 35447
This commit is contained in:
Gabor Juhos 2013-02-02 09:30:47 +00:00
parent 31af0dc186
commit 668e529220
2 changed files with 2 additions and 2 deletions

View file

@ -115,7 +115,7 @@
BRANCH_PROFILE() \ BRANCH_PROFILE() \
- TRACE_PRINTKS() - TRACE_PRINTKS()
+ TRACE_PRINTKS() \ + TRACE_PRINTKS() \
+ *(.data.*) + *(.data.[a-zA-Z_]*)
/* /*
* Data section helpers * Data section helpers

View file

@ -115,7 +115,7 @@
BRANCH_PROFILE() \ BRANCH_PROFILE() \
- TRACE_PRINTKS() - TRACE_PRINTKS()
+ TRACE_PRINTKS() \ + TRACE_PRINTKS() \
+ *(.data.*) + *(.data.[a-zA-Z_]*)
/* /*
* Data section helpers * Data section helpers