Build with -fno-dwarf2-cfi-asm
diff mbox

Message ID 20090323192549.GA19208@bombadil.infradead.org
State New, archived
Headers show

Commit Message

kyle mcmartin March 23, 2009, 7:25 p.m. UTC
From: Kyle McMartin <kyle@redhat.com>

With a sufficiently new compiler and binutils, code which wasn't
previously generating .eh_frame sections has begun to. Certain architectures
(powerpc, in this case) may generate unexpected relocation formats in
response to this, preventing modules from loading.

While the new relocation types should probably be handled, revert to
the previous behaviour with regards to generation of .eh_frame sections.

(This was reported against Fedora, which appears to be the only distro
doing any building against gcc-4.4 at present: RH bz#486545.)

Signed-off-by: Kyle McMartin <kyle@redhat.com>
Cc: roland@redhat.com
Cc: aoliva@redhat.com
Cc: sam@ravnborg.org
---

As near as I can tell, the only case previously was for the vdso images,
which are explicitly built with -fasynchronous-unwind-tables, and
annotated with cfi directives.

Everyone else either unwinds their stack manually, or has a custom
unwind format like parisc or ia64.

Hopefully this is a somewhat better description than the last time.

cheers, Kyle

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Patch
diff mbox

diff --git a/Makefile b/Makefile
index a2c2efe..057230a 100644
--- a/Makefile
+++ b/Makefile
@@ -569,6 +569,9 @@  KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,)
 # disable invalid "can't wrap" optimzations for signed / pointers
 KBUILD_CFLAGS	+= $(call cc-option,-fwrapv)
 
+# revert to pre-gcc-4.4 behaviour of .eh_frame
+KBUILD_CFLAGS	+= $(call cc-option,-fno-dwarf2-cfi-asm)
+
 # Add user supplied CPPFLAGS, AFLAGS and CFLAGS as the last assignments
 # But warn user when we do so
 warn-assign = \