]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Oct 2012 05:26:17 +0000 (22:26 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Oct 2012 05:26:17 +0000 (22:26 -0700)
added patches:
arch-tile-avoid-generating-.eh_frame-information-in-modules.patch

queue-3.0/arch-tile-avoid-generating-.eh_frame-information-in-modules.patch [new file with mode: 0644]
queue-3.0/series [new file with mode: 0644]

diff --git a/queue-3.0/arch-tile-avoid-generating-.eh_frame-information-in-modules.patch b/queue-3.0/arch-tile-avoid-generating-.eh_frame-information-in-modules.patch
new file mode 100644 (file)
index 0000000..65d9b6f
--- /dev/null
@@ -0,0 +1,37 @@
+From 627072b06c362bbe7dc256f618aaa63351f0cfe6 Mon Sep 17 00:00:00 2001
+From: Chris Metcalf <cmetcalf@tilera.com>
+Date: Fri, 19 Oct 2012 11:43:11 -0400
+Subject: arch/tile: avoid generating .eh_frame information in modules
+
+From: Chris Metcalf <cmetcalf@tilera.com>
+
+commit 627072b06c362bbe7dc256f618aaa63351f0cfe6 upstream.
+
+The tile tool chain uses the .eh_frame information for backtracing.
+The vmlinux build drops any .eh_frame sections at link time, but when
+present in kernel modules, it causes a module load failure due to the
+presence of unsupported pc-relative relocations.  When compiling to
+use compiler feedback support, the compiler by default omits .eh_frame
+information, so we don't see this problem.  But when not using feedback,
+we need to explicitly suppress the .eh_frame.
+
+Signed-off-by: Chris Metcalf <cmetcalf@tilera.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ arch/tile/Makefile |    4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/arch/tile/Makefile
++++ b/arch/tile/Makefile
+@@ -26,6 +26,10 @@ $(error Set TILERA_ROOT or CROSS_COMPILE
+   endif
+ endif
++# The tile compiler may emit .eh_frame information for backtracing.
++# In kernel modules, this causes load failures due to unsupported relocations.
++KBUILD_CFLAGS   += -fno-asynchronous-unwind-tables
++
+ ifneq ($(CONFIG_DEBUG_EXTRA_FLAGS),"")
+ KBUILD_CFLAGS   += $(CONFIG_DEBUG_EXTRA_FLAGS)
+ endif
diff --git a/queue-3.0/series b/queue-3.0/series
new file mode 100644 (file)
index 0000000..5b48990
--- /dev/null
@@ -0,0 +1 @@
+arch-tile-avoid-generating-.eh_frame-information-in-modules.patch