summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--recipes/kexecboot/linux-kexecboot/use-noclone-attribute-for-naked.patch53
-rw-r--r--recipes/kexecboot/linux-kexecboot_git.bb5
-rw-r--r--recipes/linux/linux/use-noclone-attribute-for-naked.patch53
-rw-r--r--recipes/linux/linux_git.bb3
4 files changed, 3 insertions, 111 deletions
diff --git a/recipes/kexecboot/linux-kexecboot/use-noclone-attribute-for-naked.patch b/recipes/kexecboot/linux-kexecboot/use-noclone-attribute-for-naked.patch
deleted file mode 100644
index 72bf4a1e0a..0000000000
--- a/recipes/kexecboot/linux-kexecboot/use-noclone-attribute-for-naked.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-https://patchwork.kernel.org/patch/104260/
-
-This patch add noinline and noclone attributes to naked functions.
-GCC 4.5 has new optimization -fipa-ira which is enabled at -Os and -O2
-this option will clone the functions and that can change the standard
-calling convention but the naked functions expect that and use
-arguments as in standard calling convention. Therefore the naked
-functions should not be marked non inline and noclone.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: linux-2.6.34/include/linux/compiler-gcc4.h
-===================================================================
---- linux-2.6.34.orig/include/linux/compiler-gcc4.h 2010-05-29 17:18:55.338127623 -0700
-+++ linux-2.6.34/include/linux/compiler-gcc4.h 2010-05-29 17:32:33.910657021 -0700
-@@ -48,6 +48,10 @@
- * unreleased. Really, we need to have autoconf for the kernel.
- */
- #define unreachable() __builtin_unreachable()
-+
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone __attribute__((__noclone__))
-+
- #endif
-
- #endif
-Index: linux-2.6.34/include/linux/compiler-gcc.h
-===================================================================
---- linux-2.6.34.orig/include/linux/compiler-gcc.h 2010-05-29 17:28:28.238113095 -0700
-+++ linux-2.6.34/include/linux/compiler-gcc.h 2010-05-29 17:31:58.938153321 -0700
-@@ -58,8 +58,12 @@
- * naked functions because then mcount is called without stack and frame pointer
- * being set up and there is no chance to restore the lr register to the value
- * before mcount was called.
-+ *
-+ * The asm() bodies of naked functions often depend on standard calling conventions,
-+ * therefore they must be noinline and noclone. GCC 4.[56] currently fail to enforce
-+ * this, so we must do so ourselves. See GCC PR44290.
- */
--#define __naked __attribute__((naked)) notrace
-+#define __naked __attribute__((naked)) noinline __noclone notrace
-
- #define __noreturn __attribute__((noreturn))
-
-@@ -85,3 +89,8 @@
- #define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
- #define gcc_header(x) _gcc_header(x)
- #include gcc_header(__GNUC__)
-+
-+#if !defined(__noclone)
-+#define __noclone /* not needed */
-+#endif
-+
diff --git a/recipes/kexecboot/linux-kexecboot_git.bb b/recipes/kexecboot/linux-kexecboot_git.bb
index e2259bf543..a5e48336ac 100644
--- a/recipes/kexecboot/linux-kexecboot_git.bb
+++ b/recipes/kexecboot/linux-kexecboot_git.bb
@@ -1,12 +1,11 @@
require linux-kexecboot.inc
KERNEL_RELEASE = "2.6.35-rc3"
-SRCREV = "5904b3b81d25166e5e39b9727645bb47937618e3"
+SRCREV = "980019d74e4b2428362b36a0506519d6d9460800"
PV = "${KERNEL_RELEASE}+gitr${SRCPV}"
SRC_URI += "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;branch=master \
- file://use-noclone-attribute-for-naked.patch;status=pending \
- file://defconfig"
+ file://defconfig"
S = "${WORKDIR}/git"
diff --git a/recipes/linux/linux/use-noclone-attribute-for-naked.patch b/recipes/linux/linux/use-noclone-attribute-for-naked.patch
deleted file mode 100644
index 72bf4a1e0a..0000000000
--- a/recipes/linux/linux/use-noclone-attribute-for-naked.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-https://patchwork.kernel.org/patch/104260/
-
-This patch add noinline and noclone attributes to naked functions.
-GCC 4.5 has new optimization -fipa-ira which is enabled at -Os and -O2
-this option will clone the functions and that can change the standard
-calling convention but the naked functions expect that and use
-arguments as in standard calling convention. Therefore the naked
-functions should not be marked non inline and noclone.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-
-Index: linux-2.6.34/include/linux/compiler-gcc4.h
-===================================================================
---- linux-2.6.34.orig/include/linux/compiler-gcc4.h 2010-05-29 17:18:55.338127623 -0700
-+++ linux-2.6.34/include/linux/compiler-gcc4.h 2010-05-29 17:32:33.910657021 -0700
-@@ -48,6 +48,10 @@
- * unreleased. Really, we need to have autoconf for the kernel.
- */
- #define unreachable() __builtin_unreachable()
-+
-+/* Mark a function definition as prohibited from being cloned. */
-+#define __noclone __attribute__((__noclone__))
-+
- #endif
-
- #endif
-Index: linux-2.6.34/include/linux/compiler-gcc.h
-===================================================================
---- linux-2.6.34.orig/include/linux/compiler-gcc.h 2010-05-29 17:28:28.238113095 -0700
-+++ linux-2.6.34/include/linux/compiler-gcc.h 2010-05-29 17:31:58.938153321 -0700
-@@ -58,8 +58,12 @@
- * naked functions because then mcount is called without stack and frame pointer
- * being set up and there is no chance to restore the lr register to the value
- * before mcount was called.
-+ *
-+ * The asm() bodies of naked functions often depend on standard calling conventions,
-+ * therefore they must be noinline and noclone. GCC 4.[56] currently fail to enforce
-+ * this, so we must do so ourselves. See GCC PR44290.
- */
--#define __naked __attribute__((naked)) notrace
-+#define __naked __attribute__((naked)) noinline __noclone notrace
-
- #define __noreturn __attribute__((noreturn))
-
-@@ -85,3 +89,8 @@
- #define _gcc_header(x) __gcc_header(linux/compiler-gcc##x.h)
- #define gcc_header(x) _gcc_header(x)
- #include gcc_header(__GNUC__)
-+
-+#if !defined(__noclone)
-+#define __noclone /* not needed */
-+#endif
-+
diff --git a/recipes/linux/linux_git.bb b/recipes/linux/linux_git.bb
index c242ef1b2b..2598bc6ccb 100644
--- a/recipes/linux/linux_git.bb
+++ b/recipes/linux/linux_git.bb
@@ -1,11 +1,10 @@
require linux.inc
KERNEL_RELEASE = "2.6.35-rc3"
-SRCREV = "5904b3b81d25166e5e39b9727645bb47937618e3"
+SRCREV = "980019d74e4b2428362b36a0506519d6d9460800"
PV = "${KERNEL_RELEASE}+gitr${SRCPV}"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;branch=master \
- file://use-noclone-attribute-for-naked.patch;status=pending \
file://defconfig"
S = "${WORKDIR}/git"