Adding a patch fixing ARM trouble on the recent linux 2.6.35

svn path=/nixpkgs/branches/stdenv-updates/; revision=24158
This commit is contained in:
Lluís Batlle i Rossell 2010-10-07 22:10:28 +00:00
parent fa4ef6621a
commit bf6f39fb7c
3 changed files with 70 additions and 1 deletions

View file

@ -198,6 +198,11 @@ in
patch = ./dell-rfkill.patch;
};
sheevaplug_modules_2_6_35 =
{ name = "sheevaplug_modules-2.6.35";
patch = ./sheevaplug_modules-2.6.35.patch;
};
guruplug_defconfig =
{
# Default configuration for the GuruPlug. From

View file

@ -0,0 +1,63 @@
http://www.mail-archive.com/armedslack@lists.armedslack.org/msg00212.html
From d0679c730395d0bde9a46939e7ba255b4ba7dd7c Mon Sep 17 00:00:00 2001
From: Andi Kleen <andi@firstfloor.org>
Date: Tue, 2 Feb 2010 14:40:02 -0800
Subject: [PATCH] kbuild: move -fno-dwarf2-cfi-asm to powerpc only
Better dwarf2 unwind information is a good thing, it allows better
debugging with kgdb and crash and helps systemtap.
Commit 003086497f07f7f1e67c0c295e261740f822b377 ("Build with
-fno-dwarf2-cfi-asm") disabled some CFI information globally to work
around a module loader bug on powerpc.
But this disables the better unwind tables for all architectures, not just
powerpc. Move the workaround to powerpc and also add a suitable comment
that's it really a workaround.
This improves dwarf2 unwind tables on x86 at least.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Cc: Kyle McMartin <kyle@mcmartin.ca>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
---
Makefile | 3 ---
arch/powerpc/Makefile | 5 +++++
2 files changed, 5 insertions(+), 3 deletions(-)
diff --git a/Makefile b/Makefile
index 03053c6..2e74a68 100644
--- a/Makefile
+++ b/Makefile
@@ -579,6 +579,9 @@ KBUILD_CFLAGS += $(call cc-option,-Wno-pointer-sign,)
# disable invalid "can't wrap" optimizations for signed / pointers
KBUILD_CFLAGS += $(call cc-option,-fno-strict-overflow)
+# revert to pre-gcc-4.4 behaviour of .eh_frame
+KBUILD_CFLAGS += $(call cc-option,-fno-dwarf2-cfi-asm)
+
# conserve stack if available
KBUILD_CFLAGS += $(call cc-option,-fconserve-stack)
diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index 1a54a3b..42dcd3f 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -112,11 +112,6 @@ KBUILD_CFLAGS += $(call cc-option,-mspe=no)
# kernel considerably.
KBUILD_CFLAGS += $(call cc-option,-funit-at-a-time)
-# 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)
-
# Never use string load/store instructions as they are
# often slow when they are implemented at all
KBUILD_CFLAGS += -mno-string
--
1.7.3.1

View file

@ -4661,7 +4661,8 @@ let
[ #kernelPatches.fbcondecor_2_6_35
kernelPatches.sec_perm_2_6_24
kernelPatches.aufs2_2_6_35
];
] ++ lib.optional (platform.kernelArch == "arm")
kernelPatches.sheevaplug_modules_2_6_35;
};
linux_nanonote_jz_2_6_34 = makeOverridable