From: Felix Fietkau Date: Sat, 2 Aug 2014 18:50:55 +0000 (+0000) Subject: kernel: when using --gc-sections, add --sort-section=name to get a more stable sortin... X-Git-Tag: reboot~6333 X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=fe295cd1788c9cc97bf4766a34e81ce11341347f;p=openwrt%2Fopenwrt.git kernel: when using --gc-sections, add --sort-section=name to get a more stable sorting order Signed-off-by: Felix Fietkau SVN-Revision: 41951 --- 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 diff --git a/target/linux/generic/patches-3.13/220-gc_sections.patch b/target/linux/generic/patches-3.13/220-gc_sections.patch index f94eb99228..c105c40b80 100644 --- a/target/linux/generic/patches-3.13/220-gc_sections.patch +++ b/target/linux/generic/patches-3.13/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 @@ -409,7 +409,7 @@ Signed-off-by: Gabor Juhos LDFLAGS_vmlinux += --be8 LDFLAGS_MODULE += --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.13/302-mips_no_branch_likely.patch b/target/linux/generic/patches-3.13/302-mips_no_branch_likely.patch index 44c6b04fcf..19adcb800b 100644 --- a/target/linux/generic/patches-3.13/302-mips_no_branch_likely.patch +++ b/target/linux/generic/patches-3.13/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.13/305-mips_module_reloc.patch b/target/linux/generic/patches-3.13/305-mips_module_reloc.patch index 41cf80671b..2e92916f97 100644 --- a/target/linux/generic/patches-3.13/305-mips_module_reloc.patch +++ b/target/linux/generic/patches-3.13/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 diff --git a/target/linux/generic/patches-3.14/220-gc_sections.patch b/target/linux/generic/patches-3.14/220-gc_sections.patch index f94eb99228..c105c40b80 100644 --- a/target/linux/generic/patches-3.14/220-gc_sections.patch +++ b/target/linux/generic/patches-3.14/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 @@ -409,7 +409,7 @@ Signed-off-by: Gabor Juhos LDFLAGS_vmlinux += --be8 LDFLAGS_MODULE += --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.14/302-mips_no_branch_likely.patch b/target/linux/generic/patches-3.14/302-mips_no_branch_likely.patch index 44c6b04fcf..19adcb800b 100644 --- a/target/linux/generic/patches-3.14/302-mips_no_branch_likely.patch +++ b/target/linux/generic/patches-3.14/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.14/305-mips_module_reloc.patch b/target/linux/generic/patches-3.14/305-mips_module_reloc.patch index 41cf80671b..2e92916f97 100644 --- a/target/linux/generic/patches-3.14/305-mips_module_reloc.patch +++ b/target/linux/generic/patches-3.14/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 diff --git a/target/linux/generic/patches-3.8/220-gc_sections.patch b/target/linux/generic/patches-3.8/220-gc_sections.patch index 66312952d6..998403fce8 100644 --- a/target/linux/generic/patches-3.8/220-gc_sections.patch +++ b/target/linux/generic/patches-3.8/220-gc_sections.patch @@ -5,7 +5,7 @@ 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 @@ -378,7 +378,7 @@ 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.8/302-mips_no_branch_likely.patch b/target/linux/generic/patches-3.8/302-mips_no_branch_likely.patch index 44c6b04fcf..19adcb800b 100644 --- a/target/linux/generic/patches-3.8/302-mips_no_branch_likely.patch +++ b/target/linux/generic/patches-3.8/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.8/305-mips_module_reloc.patch b/target/linux/generic/patches-3.8/305-mips_module_reloc.patch index 98d4c1d8a4..31be9d92b3 100644 --- a/target/linux/generic/patches-3.8/305-mips_module_reloc.patch +++ b/target/linux/generic/patches-3.8/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 diff --git a/target/linux/generic/patches-3.9/220-gc_sections.patch b/target/linux/generic/patches-3.9/220-gc_sections.patch index 4150d7ceaa..952851b879 100644 --- a/target/linux/generic/patches-3.9/220-gc_sections.patch +++ b/target/linux/generic/patches-3.9/220-gc_sections.patch @@ -5,7 +5,7 @@ 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 @@ -411,7 +411,7 @@ 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.9/302-mips_no_branch_likely.patch b/target/linux/generic/patches-3.9/302-mips_no_branch_likely.patch index 44c6b04fcf..19adcb800b 100644 --- a/target/linux/generic/patches-3.9/302-mips_no_branch_likely.patch +++ b/target/linux/generic/patches-3.9/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.9/305-mips_module_reloc.patch b/target/linux/generic/patches-3.9/305-mips_module_reloc.patch index 5d2f1e2521..1793e1fb22 100644 --- a/target/linux/generic/patches-3.9/305-mips_module_reloc.patch +++ b/target/linux/generic/patches-3.9/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