[meta-ti] [PATCH] linux-3.0: Fix perf compile failure with eglibc 2.15

Denys Dmytriyenko denis at denix.org
Wed Jan 18 09:43:40 PST 2012


On Wed, Jan 18, 2012 at 09:27:19AM -0800, Khem Raj wrote:
> There is a conflict with eglibc headers since
> new headers added the defines that compiler.h
> was redefining without undefining them
> 
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
>  ...Undef-before-redefining-__attribute_const.patch |   28 ++++++++++++++++++++
>  ...Undef-before-redefining-__attribute_const.patch |   28 ++++++++++++++++++++
>  recipes-kernel/linux/linux-3.0/patch.sh            |    2 +-
>  recipes-kernel/linux/linux_3.0.bb                  |    4 ++-
>  4 files changed, 60 insertions(+), 2 deletions(-)
>  create mode 100644 recipes-kernel/linux/linux-3.0/0001-compiler.h-Undef-before-redefining-__attribute_const.patch
>  create mode 100644 recipes-kernel/linux/linux-3.0/misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch

Khem,

Do we need 2 copies of the patch - one in linux-3.0 and one in linux-3.0/misc? 
I see the first copy is not being used...

Also, does it need to be submitted upstream? Should there be an 
Upstream-Status field?

-- 
Denys


> diff --git a/recipes-kernel/linux/linux-3.0/0001-compiler.h-Undef-before-redefining-__attribute_const.patch b/recipes-kernel/linux/linux-3.0/0001-compiler.h-Undef-before-redefining-__attribute_const.patch
> new file mode 100644
> index 0000000..92fe004
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-3.0/0001-compiler.h-Undef-before-redefining-__attribute_const.patch
> @@ -0,0 +1,28 @@
> +From 6f92ab6de9d8daeb575949bbbcbc7bcdcebc60af Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem at gmail.com>
> +Date: Thu, 5 Jan 2012 11:42:35 -0800
> +Subject: [PATCH] compiler.h: Undef before redefining __attribute_const__
> +
> +This is required to avoid warnings like
> +util/include/linux/compiler.h:8:0: error: "__attribute_const__" redefined [-Werror]
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +---
> + tools/perf/util/include/linux/compiler.h |    4 +++-
> + 1 files changed, 3 insertions(+), 1 deletions(-)
> +
> +--- a/tools/perf/util/include/linux/compiler.h
> ++++ b/tools/perf/util/include/linux/compiler.h
> +@@ -4,9 +4,11 @@
> + #ifndef __always_inline
> + #define __always_inline	inline
> + #endif
> ++#undef __user
> + #define __user
> ++#undef __attribute_const__
> + #define __attribute_const__
> +-
> ++#undef __used
> + #define __used		__attribute__((__unused__))
> + 
> + #endif
> diff --git a/recipes-kernel/linux/linux-3.0/misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch b/recipes-kernel/linux/linux-3.0/misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch
> new file mode 100644
> index 0000000..92fe004
> --- /dev/null
> +++ b/recipes-kernel/linux/linux-3.0/misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch
> @@ -0,0 +1,28 @@
> +From 6f92ab6de9d8daeb575949bbbcbc7bcdcebc60af Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem at gmail.com>
> +Date: Thu, 5 Jan 2012 11:42:35 -0800
> +Subject: [PATCH] compiler.h: Undef before redefining __attribute_const__
> +
> +This is required to avoid warnings like
> +util/include/linux/compiler.h:8:0: error: "__attribute_const__" redefined [-Werror]
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +---
> + tools/perf/util/include/linux/compiler.h |    4 +++-
> + 1 files changed, 3 insertions(+), 1 deletions(-)
> +
> +--- a/tools/perf/util/include/linux/compiler.h
> ++++ b/tools/perf/util/include/linux/compiler.h
> +@@ -4,9 +4,11 @@
> + #ifndef __always_inline
> + #define __always_inline	inline
> + #endif
> ++#undef __user
> + #define __user
> ++#undef __attribute_const__
> + #define __attribute_const__
> +-
> ++#undef __used
> + #define __used		__attribute__((__unused__))
> + 
> + #endif
> diff --git a/recipes-kernel/linux/linux-3.0/patch.sh b/recipes-kernel/linux/linux-3.0/patch.sh
> index 885db09..dc19a9e 100755
> --- a/recipes-kernel/linux/linux-3.0/patch.sh
> +++ b/recipes-kernel/linux/linux-3.0/patch.sh
> @@ -13,7 +13,7 @@ git reset --hard ${TAG}
>  rm export -rf
>  
>  previous=${TAG}
> -PATCHSET="pm-wip/voltdm pm-wip/cpufreq beagle madc sakoman sgx ulcd omap4"
> +PATCHSET="pm-wip/voltdm pm-wip/cpufreq beagle madc sakoman sgx ulcd omap4 misc"
>  
>  # apply patches
>  for patchset in ${PATCHSET} ; do
> diff --git a/recipes-kernel/linux/linux_3.0.bb b/recipes-kernel/linux/linux_3.0.bb
> index 2796304..70ca7cc 100644
> --- a/recipes-kernel/linux/linux_3.0.bb
> +++ b/recipes-kernel/linux/linux_3.0.bb
> @@ -10,7 +10,7 @@ PV = "3.0.17"
>  SRCREV_pn-${PN} = "e9d23be2708477feeaec78e707c80441520c1ef6"
>  
>  # The main PR is now using MACHINE_KERNEL_PR, for omap3 see conf/machine/include/omap3.inc
> -MACHINE_KERNEL_PR_append = "a"
> +MACHINE_KERNEL_PR_append = "b"
>  
>  FILESPATH =. "${FILE_DIRNAME}/linux-3.0:${FILE_DIRNAME}/linux-3.0/${MACHINE}:"
>  
> @@ -221,6 +221,8 @@ SRC_URI += "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.gi
>              \
>              file://omap4/0001-OMAP-Fix-linking-error-in-twl-common.c-for-OMAP2-3-4.patch \
>              \
> +            file://misc/0001-compiler.h-Undef-before-redefining-__attribute_const.patch \
> +            \
>              file://defconfig"
>  
>  SRC_URI_append_beagleboard = " file://logo_linux_clut224.ppm \
> -- 
> 1.7.8.3
> 
> _______________________________________________
> meta-ti mailing list
> meta-ti at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-ti
> 



More information about the meta-ti mailing list