diff mbox series

[meta-oe] turbostat: Add band-aid to build from 6.10+ kernel

Message ID 20240809233131.3339913-1-raj.khem@gmail.com
State New
Headers show
Series [meta-oe] turbostat: Add band-aid to build from 6.10+ kernel | expand

Commit Message

Khem Raj Aug. 9, 2024, 11:31 p.m. UTC
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Bruce Ashfield <bruce.ashfield@gmail.com>
---
 .../recipes-kernel/turbostat/turbostat_3.4.bb  | 18 +++++++++++++++++-
 1 file changed, 17 insertions(+), 1 deletion(-)

Comments

Bruce Ashfield Aug. 10, 2024, 1:39 p.m. UTC | #1
On Fri, Aug 9, 2024 at 7:31 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> Cc: Bruce Ashfield <bruce.ashfield@gmail.com>

I'll add turbostat to my list of packages to test on kernel /
libc-headers upgrades!

Bruce

> ---
>  .../recipes-kernel/turbostat/turbostat_3.4.bb  | 18 +++++++++++++++++-
>  1 file changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> index 4770fae50e..cfe3bb9682 100644
> --- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> +++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
> @@ -33,7 +33,7 @@ do_populate_lic[depends] = "${PN}:do_configure"
>
>
>  EXTRA_OEMAKE = '\
> -                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
> +                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}'  \
>                 '
>
>  # If we build under STAGING_KERNEL_DIR, source will not be put
> @@ -52,12 +52,21 @@ do_configure:prepend() {
>                 cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
>                 cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
>         fi
> +       if [ -f "${STAGING_KERNEL_DIR}/tools/include/linux/build_bug.h" ]; then
> +               cp -r ${STAGING_KERNEL_DIR}/tools/include/linux/build_bug.h ${S}
> +       fi
> +       cp -r ${STAGING_KERNEL_DIR}/tools/include/linux/compiler.h ${S}
> +       cp -r ${STAGING_KERNEL_DIR}/tools/include/linux/compiler_types.h ${S}
> +       cp -r ${STAGING_KERNEL_DIR}/tools/include/linux/compiler-gcc.h ${S}
>         cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
>  }
>
>
>  do_compile() {
>         sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
> +       sed -i 's#<linux/compiler.h>#"compiler.h"#' build_bug.h
> +       sed -i 's#<linux/compiler_types.h>#"compiler_types.h"#' compiler.h
> +       sed -i 's#<linux/compiler-gcc.h>#"compiler-gcc.h"#' compiler_types.h
>         'TMPCHECK='grep "<vdso/const.h>" bits.h'' || true
>         if [ -n $TMPCHECK ]; then
>                 sed -i 's#<vdso/const.h>#"const.h"#' bits.h
> @@ -66,8 +75,15 @@ do_compile() {
>                 sed -i 's#<linux/const.h>#"const.h"#' bits.h
>                 sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
>         fi
> +       echo '#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))' >> msr-index.h
> +       echo "#define BIT(x) (1 << (x))" > bits.h
> +       echo "#define BIT_ULL(nr) (1ULL << (nr))" >> bits.h
> +       echo "#define GENMASK(h, l) (((~0UL) << (l)) & (~0UL >> (sizeof(long) * 8 - 1 - (h))))" >> bits.h
> +       echo "#define GENMASK_ULL(h, l) (((~0ULL) << (l)) & (~0ULL >> (sizeof(long long) * 8 - 1 - (h))))" >> bits.h
> +
>         sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
>         sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
> +       sed -i 's#BUILD_BUG_HEADER#"build_bug.h"#' turbostat.c
>         sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
>         oe_runmake STAGING_KERNEL_DIR=${STAGING_KERNEL_DIR}
>  }
diff mbox series

Patch

diff --git a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
index 4770fae50e..cfe3bb9682 100644
--- a/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
+++ b/meta-oe/recipes-kernel/turbostat/turbostat_3.4.bb
@@ -33,7 +33,7 @@  do_populate_lic[depends] = "${PN}:do_configure"
 
 
 EXTRA_OEMAKE = '\
-                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}' \
+                CC="${CC}" 'CFLAGS=-Wall ${LDFLAGS}'  \
                '
 
 # If we build under STAGING_KERNEL_DIR, source will not be put
@@ -52,12 +52,21 @@  do_configure:prepend() {
 		cp -r ${STAGING_KERNEL_DIR}/include/linux/bits.h ${S}
 		cp -r ${STAGING_KERNEL_DIR}/include/linux/const.h ${S}
 	fi
+	if [ -f "${STAGING_KERNEL_DIR}/tools/include/linux/build_bug.h" ]; then
+		cp -r ${STAGING_KERNEL_DIR}/tools/include/linux/build_bug.h ${S}
+	fi
+	cp -r ${STAGING_KERNEL_DIR}/tools/include/linux/compiler.h ${S}
+	cp -r ${STAGING_KERNEL_DIR}/tools/include/linux/compiler_types.h ${S}
+	cp -r ${STAGING_KERNEL_DIR}/tools/include/linux/compiler-gcc.h ${S}
 	cp -r ${STAGING_KERNEL_DIR}/tools/power/x86/turbostat/* ${S}
 }
 
 
 do_compile() {
 	sed -i 's#<linux/bits.h>#"bits.h"#' msr-index.h
+	sed -i 's#<linux/compiler.h>#"compiler.h"#' build_bug.h
+	sed -i 's#<linux/compiler_types.h>#"compiler_types.h"#' compiler.h
+	sed -i 's#<linux/compiler-gcc.h>#"compiler-gcc.h"#' compiler_types.h
 	'TMPCHECK='grep "<vdso/const.h>" bits.h'' || true
 	if [ -n $TMPCHECK ]; then
 		sed -i 's#<vdso/const.h>#"const.h"#' bits.h
@@ -66,8 +75,15 @@  do_compile() {
 		sed -i 's#<linux/const.h>#"const.h"#' bits.h
 		sed -i -e 's#<uapi/linux/const.h>#<linux/const.h>#' -e 's#_LINUX_CONST_H#_LINUX_CONST_H_KERNEL#' const.h
 	fi
+	echo '#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))' >> msr-index.h
+	echo "#define BIT(x) (1 << (x))" > bits.h
+	echo "#define BIT_ULL(nr) (1ULL << (nr))" >> bits.h
+	echo "#define GENMASK(h, l) (((~0UL) << (l)) & (~0UL >> (sizeof(long) * 8 - 1 - (h))))" >> bits.h
+	echo "#define GENMASK_ULL(h, l) (((~0ULL) << (l)) & (~0ULL >> (sizeof(long long) * 8 - 1 - (h))))" >> bits.h
+
 	sed -i 's#MSRHEADER#"msr-index.h"#' turbostat.c
 	sed -i 's#INTEL_FAMILY_HEADER#"intel-family.h"#' turbostat.c
+	sed -i 's#BUILD_BUG_HEADER#"build_bug.h"#' turbostat.c
 	sed -i 's#\$(CC) \$(CFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#\$(CC) \$(CFLAGS) \$(LDFLAGS) \$< -o \$(BUILD_OUTPUT)/\$@#' Makefile
 	oe_runmake STAGING_KERNEL_DIR=${STAGING_KERNEL_DIR}
 }