[PATCH] Eliminate the .eh_frame sections from the aarch64 vmlinux and kernel modules

Ard Biesheuvel ard.biesheuvel at linaro.org
Thu Jan 21 23:41:10 PST 2016


On 22 January 2016 at 04:56, William Cohen <wcohen at redhat.com> wrote:
> By default the aarch64 gcc generates .eh_frame sections.  Unlike
> .debug_frame sections, the .eh_frame sections are loaded into memory
> when the associated code is loaded.  On an example kernel being built
> with this default the .eh_frame section in vmlinux used an extra 1.7MB
> of memory.  The x86 disables the creation of the .eh_frame section.
> The aarch64 should probably do the same to save some memory.
>

With my GCC-4.9.3 Linaro toolchain, I am not getting .eh_frame
sections only .debug_frame sections. The patch still makes sense imo,
but it appears to be redundant in some cases, and it would be useful
to figure out why. Which toolchain have you tested this with?


> Signed-off-by: William Cohen <wcohen at redhat.com>
> ---
>  arch/arm64/Makefile | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
> index cd822d8..094a137 100644
> --- a/arch/arm64/Makefile
> +++ b/arch/arm64/Makefile
> @@ -27,6 +27,7 @@ $(warning LSE atomics not supported by binutils)
>  endif
>
>  KBUILD_CFLAGS  += -mgeneral-regs-only $(lseinstr)
> +KBUILD_CFLAGS  += -fno-asynchronous-unwind-tables
>  KBUILD_AFLAGS  += $(lseinstr)
>
>  ifeq ($(CONFIG_CPU_BIG_ENDIAN), y)
> --
> 2.5.0
>
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the linux-arm-kernel mailing list