From: Felix Fietkau Date: Wed, 6 Aug 2014 10:30:17 +0000 (+0000) Subject: kernel: when using --gc-sections, add --sort-section=name to get a more stable sortin... X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fsvn-archive%2Farchive.git;a=commitdiff_plain;hb=7c77d752431b0543c7fd50b13358912609648d01 kernel: when using --gc-sections, add --sort-section=name to get a more stable sorting order Signed-off-by: Felix Fietkau Backport of r41951 SVN-Revision: 42009 --- diff --git a/target/linux/generic/patches-3.10/220-gc_sections.patch b/target/linux/generic/patches-3.10/220-gc_sections.patch index cc40d8e5ff..22f85ba74f 100644 --- a/target/linux/generic/patches-3.10/220-gc_sections.patch +++ b/target/linux/generic/patches-3.10/220-gc_sections.patch @@ -1,6 +1,6 @@ From: Felix Fietkau -use -ffunction-sections, -fdata-sections and --gc-sections +use -ffunction-sections, -fdata-sections and --gc-sections --sort-section=name In combination with kernel symbol export stripping this significantly reduces the kernel image size. Used on both ARM and MIPS architectures. @@ -17,7 +17,7 @@ Signed-off-by: Gabor Juhos 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 ++LDFLAGS_vmlinux += -G 0 -static -n -nostdlib --gc-sections --sort-section=name KBUILD_AFLAGS_MODULE += -mlong-calls KBUILD_CFLAGS_MODULE += -mlong-calls @@ -423,7 +423,7 @@ Signed-off-by: Gabor Juhos ifeq ($(CONFIG_CPU_ENDIAN_BE8),y) LDFLAGS_vmlinux += --be8 endif -+LDFLAGS_vmlinux += --gc-sections ++LDFLAGS_vmlinux += --gc-sections --sort-section=name OBJCOPYFLAGS :=-O binary -R .comment -S GZFLAGS :=-9 diff --git a/target/linux/generic/patches-3.10/302-mips_no_branch_likely.patch b/target/linux/generic/patches-3.10/302-mips_no_branch_likely.patch index 44c6b04fcf..19adcb800b 100644 --- a/target/linux/generic/patches-3.10/302-mips_no_branch_likely.patch +++ b/target/linux/generic/patches-3.10/302-mips_no_branch_likely.patch @@ -7,5 +7,5 @@ -cflags-y += -G 0 -mno-abicalls -fno-pic -pipe +cflags-y += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely cflags-y += -msoft-float - LDFLAGS_vmlinux += -G 0 -static -n -nostdlib --gc-sections + LDFLAGS_vmlinux += -G 0 -static -n -nostdlib --gc-sections --sort-section=name KBUILD_AFLAGS_MODULE += -mlong-calls diff --git a/target/linux/generic/patches-3.10/305-mips_module_reloc.patch b/target/linux/generic/patches-3.10/305-mips_module_reloc.patch index d8cd0e59cf..0566eef161 100644 --- a/target/linux/generic/patches-3.10/305-mips_module_reloc.patch +++ b/target/linux/generic/patches-3.10/305-mips_module_reloc.patch @@ -3,7 +3,7 @@ @@ -90,8 +90,13 @@ all-$(CONFIG_SYS_SUPPORTS_ZBOOT)+= vmlin cflags-y += -G 0 -mno-abicalls -fno-pic -pipe -mno-branch-likely cflags-y += -msoft-float - LDFLAGS_vmlinux += -G 0 -static -n -nostdlib --gc-sections + LDFLAGS_vmlinux += -G 0 -static -n -nostdlib --gc-sections --sort-section=name +ifdef CONFIG_64BIT KBUILD_AFLAGS_MODULE += -mlong-calls KBUILD_CFLAGS_MODULE += -mlong-calls