Re: [PATCH] arm: Build with -fno-dwarf2-cfi-asm

From: Mikael Pettersson
Date: Sat Jul 10 2010 - 09:02:27 EST


Michal Marek writes:
> Commit d0679c7 restricted this workaround to powerpc only, but it turns
> out that ARM needs it as well. Fixes
> https://bugzilla.kernel.org/show_bug.cgi?id=16310 .
>
> Reported-and-Tested-by: Robert Nelson <robertcnelson@xxxxxxxxx>
> Signed-off-by: Michal Marek <mmarek@xxxxxxx>
> ---
> arch/arm/Makefile | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/arch/arm/Makefile b/arch/arm/Makefile
> index 64ba313..862d4ba 100644
> --- a/arch/arm/Makefile
> +++ b/arch/arm/Makefile
> @@ -21,6 +21,11 @@ GZFLAGS :=-9
> # Explicitly specifiy 32-bit ARM ISA since toolchain default can be -mthumb:
> KBUILD_CFLAGS +=$(call cc-option,-marm,)
>
> +# FIXME: the module load should be taught about the additional relocs
> +# generated by this.
> +# revert to pre-gcc-4.4 behaviour of .eh_frame
> +KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)

Appears related to gcc PR40521, which should be fixed in gcc-4.4.3,
though it may have been re-broken in gcc-4.5.0 for in a corner case
<http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40521#c24> that may or
may not apply to the kernel. There's also a related binutils issue.

The above fix seems appropriate, but the FIXME comment seems wrong:
this is about getting the right kind of exception unwind tables in
the entire kernel, not just relocs in modules.

The comment should just say:
# Never generate .eh_frame:

So for the fix without the comment part:

Acked-by: Mikael Pettersson <mikpe@xxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/