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 |
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 --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} }
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(-)