Confirmed. These fix my build as well.

I've merged them to master.

Thanks for the help on these, most appreciated.

Bruce

On Tue, Nov 30, 2021 at 11:47 AM Martin Jansa <[email protected]> wrote:
>
> * undo the unnecessary and incomplete changes from 
> 0001-vm-support-fix-build-for-kernel-s-5.4.patch
>   because with 5.15 it was still failing with:
>   ERROR: modpost: missing MODULE_LICENSE() in 
> uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/uxenhc.o
>
>   fix it properly in 
> 0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch
>
> Signed-off-by: Martin Jansa <[email protected]>
> ---
>  ...m-support-fix-build-for-kernel-s-5.4.patch | 13 -----
>  ...LE-not-working-on-module-build-comma.patch | 56 +++++++++++++++++++
>  .../uxen/uxen-guest-tools_4.1.8.bb            |  1 +
>  3 files changed, 57 insertions(+), 13 deletions(-)
>  create mode 100644 
> recipes-extended/uxen/uxen-guest-tools/0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch
>
> diff --git 
> a/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch
>  
> b/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch
> index a3325ce..287170c 100644
> --- 
> a/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch
> +++ 
> b/recipes-extended/uxen/uxen-guest-tools/0001-vm-support-fix-build-for-kernel-s-5.4.patch
> @@ -34,19 +34,6 @@ index 0b9ef3f..04957a8 100644
>           if (!uxen_hcbase) {
>               ret = -ENOMEM;
>               goto out;
> -@@ -149,8 +154,11 @@ static void __exit uxen_hypercall_exit(void)
> - {
> - }
> -
> -+
> -+#define KBUILD_MODFILE "uxenhc"
> -+
> - module_init(uxen_hypercall_init);
> - module_exit(uxen_hypercall_exit);
> -+MODULE_LICENSE("GPL");
> - MODULE_AUTHOR("[email protected]");
> - MODULE_DESCRIPTION("uXen hypercall support");
> --MODULE_LICENSE("GPL");
>  diff --git a/v4vvsock/v4v_vsock.c b/v4vvsock/v4v_vsock.c
>  index 8d80d7d..cd7e8ce 100644
>  --- a/v4vvsock/v4v_vsock.c
> diff --git 
> a/recipes-extended/uxen/uxen-guest-tools/0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch
>  
> b/recipes-extended/uxen/uxen-guest-tools/0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch
> new file mode 100644
> index 0000000..60018f0
> --- /dev/null
> +++ 
> b/recipes-extended/uxen/uxen-guest-tools/0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch
> @@ -0,0 +1,56 @@
> +From 732791cb353289e37448d84503a7d62ca156f29f Mon Sep 17 00:00:00 2001
> +From: Martin Jansa <[email protected]>
> +Date: Tue, 30 Nov 2021 16:33:14 +0000
> +Subject: [PATCH] uxenhc: fix -DMODULE not working on module build command 
> line
> +
> +* ATTOXEN_API_INC isn't defined anywhere in our OE builds, so the command 
> line ends like this:
> +
> +  x86_64-oe-linux-gcc  -fuse-ld=bfd 
> -fmacro-prefix-map=/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0=/usr/src/debug/uxen-guest-tools/4.1.8-r0
>                       
> -fdebug-prefix-map=/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0=/usr/src/debug/uxen-guest-tools/4.1.8-r0
>                       
> -fdebug-prefix-map=/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/recipe-sysroot=
>                       
> -fdebug-prefix-map=/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/recipe-sysroot-native=
>   -fdebug-prefix-map=/OE/work-shared/qemux86-64/kernel-source=/usr/src/kernel 
> -Wp,-MMD,/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/.hypercall.o.d
>  
> -I/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/include/
>  
> -I/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/include/uxen
>  
> -I/OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/include/uxen/xen
>  -I/OE/work-shared/qemux86-64/kernel-source/arch/x86/include 
> -I./arch/x86/include/generated 
> -I/OE/work-shared/qemux86-64/kernel-source/include -I./include 
> -I/OE/work-shared/qemux86-64/kernel-source/arch/x86/include/uapi 
> -I./arch/x86/include/generated/uapi 
> -I/OE/work-shared/qemux86-64/kernel-source/include/uapi 
> -I./include/generated/uapi -include 
> /OE/work-shared/qemux86-64/kernel-source/include/linux/compiler-version.h 
> -include /OE/work-shared/qemux86-64/kernel-source/include/linux/kconfig.h 
> -include 
> /OE/work-shared/qemux86-64/kernel-source/include/linux/compiler_types.h 
> -D__KERNEL__ -fmacro-prefix-map=/OE/work-shared/qemux86-64/kernel-source/= 
> -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing 
> -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration 
> -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 
> -mno-sse -mno-mmx -mno-sse2 -mno-3dnow -mno-avx -fcf-protection=none -m64 
> -falign-jumps=1 -falign-loops=1 -mno-80387 -mno-fp-ret-in-387 
> -mpreferred-stack-boundary=3 -mskip-rax-setup -march=core2 -mno-red-zone 
> -mcmodel=kernel -Wno-sign-compare -fno-asynchronous-unwind-tables 
> -mindirect-branch=thunk-extern -mindirect-branch-register -fno-jump-tables 
> -fno-delete-null-pointer-checks -Wno-frame-address -Wno-format-truncation 
> -Wno-format-overflow -Wno-address-of-packed-member -O2 
> -fno-allow-store-data-races -Wframe-larger-than=2048 -fstack-protector-strong 
> -Wimplicit-fallthrough=5 -Wno-main -Wno-unused-but-set-variable 
> -Wno-unused-const-variable -fno-omit-frame-pointer 
> -fno-optimize-sibling-calls -fno-stack-clash-protection -pg -mrecord-mcount 
> -mfentry -DCC_USING_FENTRY -Wdeclaration-after-statement -Wvla 
> -Wno-pointer-sign -Wno-stringop-truncation -Wno-zero-length-bounds 
> -Wno-array-bounds -Wno-stringop-overflow -Wno-restrict 
> -Wno-maybe-uninitialized -fno-strict-overflow -fno-stack-check 
> -fconserve-stack -Werror=date-time -Werror=incompatible-pointer-types 
> -Werror=designated-init -Wno-packed-not-aligned -DLX_TARGET_STANDARDVM -g 
> -Wall -I  -DMODULE  -DKBUILD_BASENAME='"hypercall"' 
> -DKBUILD_MODNAME='"uxenhc"' -D__KBUILD_MODNAME=kmod_uxenhc -c -o 
> /OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/hypercall.o
>  
> /OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/hypercall.c
> +
> +  the important part is "-I  -DMODULE" which breaks include/linux/module.h 
> behavior:
> +
> +  /*
> +   * MODULE_FILE is used for generating modules.builtin
> +   * So, make it no-op when this is being built as a module
> +   */
> +  #ifdef MODULE
> +  #define MODULE_FILE
> +  #else
> +  #define MODULE_FILE     MODULE_INFO(file, KBUILD_MODFILE);
> +  #endif
> +
> +  resulting in:
> +
> +  In file included from 
> /OE/work-shared/qemux86-64/kernel-source/include/linux/module.h:22,
> +                   from 
> /OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/hypercall.c:3:
> +  /OE/work-shared/qemux86-64/kernel-source/include/linux/module.h:183:43: 
> error: expected ',' or ';' before 'KBUILD_MODFILE'
> +    183 | #define MODULE_FILE     MODULE_INFO(file, KBUILD_MODFILE);
> +        |                                           ^~~~~~~~~~~~~~
> +  
> /OE/work-shared/qemux86-64/kernel-source/include/linux/moduleparam.h:26:61: 
> note: in definition of macro '__MODULE_INFO'
> +     26 |                 = __MODULE_INFO_PREFIX __stringify(tag) "=" info
> +        |                                                             ^~~~
> +  /OE/work-shared/qemux86-64/kernel-source/include/linux/module.h:183:25: 
> note: in expansion of macro 'MODULE_INFO'
> +    183 | #define MODULE_FILE     MODULE_INFO(file, KBUILD_MODFILE);
> +        |                         ^~~~~~~~~~~
> +  /OE/work-shared/qemux86-64/kernel-source/include/linux/module.h:230:34: 
> note: in expansion of macro 'MODULE_FILE'
> +    230 | #define MODULE_LICENSE(_license) MODULE_FILE MODULE_INFO(license, 
> _license)
> +        |                                  ^~~~~~~~~~~
> +  
> /OE/work/qemux86_64-oe-linux/uxen-guest-tools/4.1.8-r0/uxen-4.1.8-72a4af9/vm-support/linux/uxenhc/hypercall.c:161:1:
>  note: in expansion of macro 'MODULE_LICENSE'
> +    161 | MODULE_LICENSE("GPL");
> +        | ^~~~~~~~~~~~~~
> +
> +Signed-off-by: Martin Jansa <[email protected]>
> +---
> + uxenhc/Kbuild | 1 -
> + 1 file changed, 1 deletion(-)
> +
> +diff --git a/uxenhc/Kbuild b/uxenhc/Kbuild
> +index e418096..ef1b145 100644
> +--- a/uxenhc/Kbuild
> ++++ b/uxenhc/Kbuild
> +@@ -1,4 +1,3 @@
> + obj-m += uxenhc.o
> +
> + uxenhc-y := hypercall.o
> +-CFLAGS_hypercall.o := -I$(ATTOXEN_API_INC)
> +\ No newline at end of file
> diff --git a/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb 
> b/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb
> index 841c71a..529efdb 100644
> --- a/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb
> +++ b/recipes-extended/uxen/uxen-guest-tools_4.1.8.bb
> @@ -12,6 +12,7 @@ SRC_URI = " \
>      file://0001-vm-support-fix-build-for-kernel-s-5.4.patch \
>      file://0002-vm-support-fix-build-for-kernel-s-5.15.patch \
>      file://0003-vm-support-fix-build-for-kernel-s-5.14.patch \
> +    file://0004-uxenhc-fix-DMODULE-not-working-on-module-build-comma.patch \
>  "
>
>  SRC_URI[uxen.sha384sum] = 
> "be2233bc6506a23350d76c03ac28ea7ea381e1dc6ed5ce996e8ac71e6a3316fcaa2ed070c622618bd226f43a4d6db5d4"
> --
> 2.32.0
>
>
> 
>


-- 
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#6932): 
https://lists.yoctoproject.org/g/meta-virtualization/message/6932
Mute This Topic: https://lists.yoctoproject.org/mt/87406760/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-virtualization/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to