ramips: fix cd-poll sd card remove randomly
[openwrt/openwrt.git] / target / linux / generic / patches-3.18 / 220-gc_sections.patch
index 105d1e7691058018a6d2d29838cf29526ce56dcb..d872949f8d0379595f9fe39c5c80e0d7874cc778 100644 (file)
@@ -1,11 +1,11 @@
-From: Felix Fietkau <nbd@openwrt.org>
+From: Felix Fietkau <nbd@nbd.name>
 
-use -ffunction-sections, -fdata-sections and --gc-sections --sort-section=name
+use -ffunction-sections, -fdata-sections and --gc-sections
 
 In combination with kernel symbol export stripping this significantly reduces
 the kernel image size. Used on both ARM and MIPS architectures.
 
-Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
 Signed-off-by: Jonas Gorski <jogo@openwrt.org>
 Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
 ---
@@ -17,7 +17,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  cflags-y                      += -G 0 -mno-abicalls -fno-pic -pipe
  cflags-y                      += -msoft-float
 -LDFLAGS_vmlinux                       += -G 0 -static -n -nostdlib
-+LDFLAGS_vmlinux                       += -G 0 -static -n -nostdlib --gc-sections --sort-section=name
++LDFLAGS_vmlinux                       += -G 0 -static -n -nostdlib --gc-sections
  KBUILD_AFLAGS_MODULE          += -mlong-calls
  KBUILD_CFLAGS_MODULE          += -mlong-calls
  
@@ -77,6 +77,15 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
                                VMLINUX_SYMBOL(__stop_branch_profile) = .;
  #else
  #define BRANCH_PROFILE()
+@@ -114,7 +114,7 @@
+ #ifdef CONFIG_KPROBES
+ #define KPROBE_BLACKLIST()    . = ALIGN(8);                                 \
+                               VMLINUX_SYMBOL(__start_kprobe_blacklist) = .; \
+-                              *(_kprobe_blacklist)                          \
++                              KEEP(*(_kprobe_blacklist))                    \
+                               VMLINUX_SYMBOL(__stop_kprobe_blacklist) = .;
+ #else
+ #define KPROBE_BLACKLIST()
 @@ -123,7 +123,7 @@
  #ifdef CONFIG_EVENT_TRACING
  #define FTRACE_EVENTS()       . = ALIGN(8);                                   \
@@ -328,6 +337,15 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
                *(COMMON)                                               \
        }
  
+@@ -592,7 +593,7 @@
+       . = ALIGN(8);                                                   \
+       __bug_table : AT(ADDR(__bug_table) - LOAD_OFFSET) {             \
+               VMLINUX_SYMBOL(__start___bug_table) = .;                \
+-              *(__bug_table)                                          \
++              KEEP(*(__bug_table))                                    \
+               VMLINUX_SYMBOL(__stop___bug_table) = .;                 \
+       }
+ #else
 @@ -604,7 +605,7 @@
        . = ALIGN(4);                                                   \
        .tracedata : AT(ADDR(.tracedata) - LOAD_OFFSET) {               \
@@ -391,7 +409,7 @@ Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
  LDFLAGS_vmlinux       += --be8
  LDFLAGS_MODULE        += --be8
  endif
-+LDFLAGS_vmlinux += --gc-sections --sort-section=name
++LDFLAGS_vmlinux += --gc-sections
  
  OBJCOPYFLAGS  :=-O binary -R .comment -S
  GZFLAGS               :=-9