kernel: remove support for kernel 4.19
[openwrt/staging/dedeckeh.git] / target / linux / generic / hack-4.19 / 220-gc_sections.patch
diff --git a/target/linux/generic/hack-4.19/220-gc_sections.patch b/target/linux/generic/hack-4.19/220-gc_sections.patch
deleted file mode 100644 (file)
index 36deac4..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-From e3d8676f5722b7622685581e06e8f53e6138e3ab Mon Sep 17 00:00:00 2001
-From: Felix Fietkau <nbd@nbd.name>
-Date: Sat, 15 Jul 2017 23:42:36 +0200
-Subject: 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@nbd.name>
-Signed-off-by: Jonas Gorski <jogo@openwrt.org>
-Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
----
- Makefile                          | 10 +++----
- arch/arm/Kconfig                  |  1 +
- arch/arm/boot/compressed/Makefile |  1 +
- arch/arm/kernel/vmlinux.lds.S     | 26 ++++++++--------
- arch/mips/Kconfig                 |  1 +
- arch/mips/kernel/vmlinux.lds.S    |  4 +--
- include/asm-generic/vmlinux.lds.h | 63 ++++++++++++++++++++-------------------
- 7 files changed, 55 insertions(+), 51 deletions(-)
-
---- a/Makefile
-+++ b/Makefile
-@@ -294,6 +294,11 @@ else
- scripts/Kbuild.include: ;
- include scripts/Kbuild.include
-+ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
-+KBUILD_CFLAGS_KERNEL += -ffunction-sections -fdata-sections
-+LDFLAGS_vmlinux += --gc-sections
-+endif
-+
- # Read KERNELRELEASE from include/config/kernel.release (if it exists)
- KERNELRELEASE = $(shell cat include/config/kernel.release 2> /dev/null)
- KERNELVERSION = $(VERSION)$(if $(PATCHLEVEL),.$(PATCHLEVEL)$(if $(SUBLEVEL),.$(SUBLEVEL)))$(EXTRAVERSION)
-@@ -772,11 +777,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
- KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
- endif
--ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
--KBUILD_CFLAGS_KERNEL += -ffunction-sections -fdata-sections
--LDFLAGS_vmlinux += --gc-sections
--endif
--
- # arch Makefile may override CC so keep this after arch Makefile is included
- NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
---- a/arch/arm/Kconfig
-+++ b/arch/arm/Kconfig
-@@ -98,6 +98,7 @@ config ARM
-       select HAVE_UID16
-       select HAVE_VIRT_CPU_ACCOUNTING_GEN
-       select IRQ_FORCED_THREADING
-+      select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
-       select MODULES_USE_ELF_REL
-       select NEED_DMA_MAP_STATE
-       select NO_BOOTMEM
---- a/arch/arm/boot/compressed/Makefile
-+++ b/arch/arm/boot/compressed/Makefile
-@@ -106,6 +106,7 @@ ifeq ($(CONFIG_FUNCTION_TRACER),y)
- ORIG_CFLAGS := $(KBUILD_CFLAGS)
- KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
- endif
-+KBUILD_CFLAGS_KERNEL := $(patsubst -f%-sections,,$(KBUILD_CFLAGS_KERNEL))
- # -fstack-protector-strong triggers protection checks in this code,
- # but it is being used too early to link to meaningful stack_chk logic.
---- a/arch/arm/kernel/vmlinux.lds.S
-+++ b/arch/arm/kernel/vmlinux.lds.S
-@@ -100,24 +100,24 @@ SECTIONS
-       }
-       .init.arch.info : {
-               __arch_info_begin = .;
--              *(.arch.info.init)
-+              KEEP(*(.arch.info.init))
-               __arch_info_end = .;
-       }
-       .init.tagtable : {
-               __tagtable_begin = .;
--              *(.taglist.init)
-+              KEEP(*(.taglist.init))
-               __tagtable_end = .;
-       }
- #ifdef CONFIG_SMP_ON_UP
-       .init.smpalt : {
-               __smpalt_begin = .;
--              *(.alt.smp.init)
-+              KEEP(*(.alt.smp.init))
-               __smpalt_end = .;
-       }
- #endif
-       .init.pv_table : {
-               __pv_table_begin = .;
--              *(.pv_table)
-+              KEEP(*(.pv_table))
-               __pv_table_end = .;
-       }
---- a/arch/arm/kernel/vmlinux.lds.h
-+++ b/arch/arm/kernel/vmlinux.lds.h
-@@ -22,13 +22,13 @@
- #define ARM_MMU_DISCARD(x)
- #else
- #define ARM_MMU_KEEP(x)
--#define ARM_MMU_DISCARD(x)    x
-+#define ARM_MMU_DISCARD(x)    KEEP(x)
- #endif
- #define PROC_INFO                                                     \
-               . = ALIGN(4);                                           \
-               __proc_info_begin = .;                                  \
--              *(.proc.info.init)                                      \
-+              KEEP(*(.proc.info.init))                                \
-               __proc_info_end = .;
- #define HYPERVISOR_TEXT                                                       \
-@@ -39,11 +39,11 @@
- #define IDMAP_TEXT                                                    \
-               ALIGN_FUNCTION();                                       \
-               __idmap_text_start = .;                                 \
--              *(.idmap.text)                                          \
-+              KEEP(*(.idmap.text))                                    \
-               __idmap_text_end = .;                                   \
-               . = ALIGN(PAGE_SIZE);                                   \
-               __hyp_idmap_text_start = .;                             \
--              *(.hyp.idmap.text)                                      \
-+              KEEP(*(.hyp.idmap.text))                                \
-               __hyp_idmap_text_end = .;
- #define ARM_DISCARD                                                   \
-@@ -86,12 +86,12 @@
-       . = ALIGN(8);                                                   \
-       .ARM.unwind_idx : {                                             \
-               __start_unwind_idx = .;                                 \
--              *(.ARM.exidx*)                                          \
-+              KEEP(*(.ARM.exidx*))                                    \
-               __stop_unwind_idx = .;                                  \
-       }                                                               \
-       .ARM.unwind_tab : {                                             \
-               __start_unwind_tab = .;                                 \
--              *(.ARM.extab*)                                          \
-+              KEEP(*(.ARM.extab*))                                    \
-               __stop_unwind_tab = .;                                  \
-       }
-@@ -102,14 +102,14 @@
- #define ARM_VECTORS                                                   \
-       __vectors_start = .;                                            \
-       .vectors 0xffff0000 : AT(__vectors_start) {                     \
--              *(.vectors)                                             \
-+              KEEP(*(.vectors))                                       \
-       }                                                               \
-       . = __vectors_start + SIZEOF(.vectors);                         \
-       __vectors_end = .;                                              \
-                                                                       \
-       __stubs_start = .;                                              \
-       .stubs ADDR(.vectors) + 0x1000 : AT(__stubs_start) {            \
--              *(.stubs)                                               \
-+              KEEP(*(.stubs))                                         \
-       }                                                               \
-       . = __stubs_start + SIZEOF(.stubs);                             \
-       __stubs_end = .;                                                \
---- a/arch/mips/Kconfig
-+++ b/arch/mips/Kconfig
-@@ -43,6 +43,7 @@ config MIPS
-       select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
-       select HAVE_CBPF_JIT if (!64BIT && !CPU_MICROMIPS)
-       select HAVE_EBPF_JIT if (64BIT && !CPU_MICROMIPS)
-+      select HAVE_LD_DEAD_CODE_DATA_ELIMINATION
-       select HAVE_CONTEXT_TRACKING
-       select HAVE_COPY_THREAD_TLS
-       select HAVE_C_RECORDMCOUNT
---- a/arch/mips/kernel/vmlinux.lds.S
-+++ b/arch/mips/kernel/vmlinux.lds.S
-@@ -72,7 +72,7 @@ SECTIONS
-       /* Exception table for data bus errors */
-       __dbe_table : {
-               __start___dbe_table = .;
--              *(__dbe_table)
-+              KEEP(*(__dbe_table))
-               __stop___dbe_table = .;
-       }
-@@ -123,7 +123,7 @@ SECTIONS
-       . = ALIGN(4);
-       .mips.machines.init : AT(ADDR(.mips.machines.init) - LOAD_OFFSET) {
-               __mips_machines_start = .;
--              *(.mips.machines.init)
-+              KEEP(*(.mips.machines.init))
-               __mips_machines_end = .;
-       }