generic: fix gc_sections patch
authorGabor Juhos <juhosg@openwrt.org>
Sat, 2 Feb 2013 09:30:47 +0000 (09:30 +0000)
committerGabor Juhos <juhosg@openwrt.org>
Sat, 2 Feb 2013 09:30:47 +0000 (09:30 +0000)
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

target/linux/generic/patches-3.7/220-gc_sections.patch
target/linux/generic/patches-3.8/220-gc_sections.patch

index 8a52a1eec8bfe1734a1b3505715c1e74f14b197c..bdafdfe9c608dc9882bab692132172e5972ecc8d 100644 (file)
        BRANCH_PROFILE()                                                \
 -      TRACE_PRINTKS()
 +      TRACE_PRINTKS()                                                 \
-+      *(.data.*)
++      *(.data.[a-zA-Z_]*)
  
  /*
   * Data section helpers
index 19c0f159231f0fb7eb42a986318f9a458c398482..0edba227576fd29b97f88d068096d249b2b1661d 100644 (file)
        BRANCH_PROFILE()                                                \
 -      TRACE_PRINTKS()
 +      TRACE_PRINTKS()                                                 \
-+      *(.data.*)
++      *(.data.[a-zA-Z_]*)
  
  /*
   * Data section helpers