All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-virtualization][PATCH] xvisor: fix build with gcc-10
@ 2020-11-06 14:05 Martin Jansa
  2020-11-06 14:09 ` [meta-virtualization][PATCH] xvisor: skip QA checks ldflags and textrel Martin Jansa
  2020-11-06 17:25 ` [meta-virtualization][PATCH] xvisor: fix build with gcc-10 Alistair Francis
  0 siblings, 2 replies; 5+ messages in thread
From: Martin Jansa @ 2020-11-06 14:05 UTC (permalink / raw)
  To: meta-virtualization; +Cc: Martin Jansa

* with gcc-10 (which doesn't include -fcommon by default) it fails like this:
  aarch64-oe-linux-ld: error: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/mmc.o: multiple definition of 'sdio_func_type'
  aarch64-oe-linux-ld: error: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/sdio_bus.o: multiple definition of 'sdio_func_type'
  aarch64-oe-linux-ld: error: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/sdio_io.o: multiple definition of 'sdio_func_type'
  aarch64-oe-linux-ld: error: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/sdio.o: multiple definition of 'sdio_func_type'
  aarch64-oe-linux-ld: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/core.o: previous definition here

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 ...-Allow-Xvisor-to-compile-with-gcc-10.patch | 55 +++++++++++++++++++
 recipes-extended/xvisor/xvisor_git.bb         |  5 +-
 2 files changed, 58 insertions(+), 2 deletions(-)
 create mode 100644 recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch

diff --git a/recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch b/recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch
new file mode 100644
index 0000000..221a314
--- /dev/null
+++ b/recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch
@@ -0,0 +1,55 @@
+From 417184cc41cfd33ae7b4c11c8396e0f47f43e2ba Mon Sep 17 00:00:00 2001
+From: Jean-Christophe Dubois <jcd@tribudubois.net>
+Date: Fri, 8 May 2020 15:17:36 +0200
+Subject: [PATCH] EMULATORS: Allow Xvisor to compile with gcc 10.
+
+With gcc 10 because some header files do not declare some variable
+definition as extern, the variable get duplicated in all files
+using it.
+
+This patch allow xvisor to compile with the latest gcc.
+
+Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
+Reviewed-by: Anup Patel <anup@brainfault.org>
+---
+ drivers/mmc/core/core.h    |  2 +-
+ emulators/display/drawfn.h | 10 +++++-----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h
+index d75d135a..e2ca3141 100644
+--- a/drivers/mmc/core/core.h
++++ b/drivers/mmc/core/core.h
+@@ -64,7 +64,7 @@ int mmc_go_idle(struct mmc_host *host);
+  * Note: Must be called with host->lock held.
+  */
+ extern struct vmm_bus sdio_bus_type;
+-struct vmm_device_type sdio_func_type;
++extern struct vmm_device_type sdio_func_type;
+ 
+ int __sdio_attach(struct mmc_host *host);
+ 
+diff --git a/emulators/display/drawfn.h b/emulators/display/drawfn.h
+index f9163cff..385deaf6 100644
+--- a/emulators/display/drawfn.h
++++ b/emulators/display/drawfn.h
+@@ -69,14 +69,14 @@ typedef void (*drawfn)(struct vmm_surface *,
+ 				 DRAWFN_ORDER_MAX * \
+ 				 DRAWFN_FORMAT_MAX)
+ 
+-drawfn drawfn_surface_fntable_8[DRAWFN_FNTABLE_SIZE];
++extern drawfn drawfn_surface_fntable_8[DRAWFN_FNTABLE_SIZE];
+ 
+-drawfn drawfn_surface_fntable_15[DRAWFN_FNTABLE_SIZE];
++extern drawfn drawfn_surface_fntable_15[DRAWFN_FNTABLE_SIZE];
+ 
+-drawfn drawfn_surface_fntable_16[DRAWFN_FNTABLE_SIZE];
++extern drawfn drawfn_surface_fntable_16[DRAWFN_FNTABLE_SIZE];
+ 
+-drawfn drawfn_surface_fntable_24[DRAWFN_FNTABLE_SIZE];
++extern drawfn drawfn_surface_fntable_24[DRAWFN_FNTABLE_SIZE];
+ 
+-drawfn drawfn_surface_fntable_32[DRAWFN_FNTABLE_SIZE];
++extern drawfn drawfn_surface_fntable_32[DRAWFN_FNTABLE_SIZE];
+ 
+ #endif
diff --git a/recipes-extended/xvisor/xvisor_git.bb b/recipes-extended/xvisor/xvisor_git.bb
index 64b0f22..50323d7 100644
--- a/recipes-extended/xvisor/xvisor_git.bb
+++ b/recipes-extended/xvisor/xvisor_git.bb
@@ -11,8 +11,9 @@ inherit autotools-brokensep
 # This version support the RISC-V v0.5.0 Hypervisor extensions
 SRCREV = "b3dac5b1f61f23f21dc59b3880897cff78f3b618"
 SRC_URI = "git://github.com/avpatel/xvisor-next.git \
-           file://0001-TESTS-Don-t-specify-mabi-or-march-for-RISC-V.patch \
-          "
+    file://0001-TESTS-Don-t-specify-mabi-or-march-for-RISC-V.patch \
+    file://0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch \
+"
 
 S = "${WORKDIR}/git"
 
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [meta-virtualization][PATCH] xvisor: skip QA checks ldflags and textrel
@ 2020-11-06 14:09 ` Martin Jansa
  2020-11-06 17:26   ` Alistair Francis
  2020-11-10  4:04   ` Bruce Ashfield
  0 siblings, 2 replies; 5+ messages in thread
From: Martin Jansa @ 2020-11-06 14:09 UTC (permalink / raw)
  To: meta-virtualization; +Cc: Martin Jansa

* feel free to fix it properly, I don't use xvisor at all
  it just shown these 2 errors in my aarch64 world builds
  and this recipe needs more love than just these 2 issues
  like setting PV to something better than "git"

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
 recipes-extended/xvisor/xvisor_git.bb | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/recipes-extended/xvisor/xvisor_git.bb b/recipes-extended/xvisor/xvisor_git.bb
index 50323d7..831c943 100644
--- a/recipes-extended/xvisor/xvisor_git.bb
+++ b/recipes-extended/xvisor/xvisor_git.bb
@@ -49,3 +49,7 @@ FILES_${PN} += "/*.dtb"
 
 COMPATIBLE_HOST = "(aarch64|riscv64|riscv32).*"
 INHIBIT_PACKAGE_STRIP = "1"
+
+# ERROR: xvisor-git-r0 do_package_qa: QA Issue: File /vmm.elf in package xvisor doesn't have GNU_HASH (didn't pass LDFLAGS?) [ldflags]
+# ERROR: xvisor-git-r0 do_package_qa: QA Issue: xvisor: ELF binary /vmm.elf has relocations in .text [textrel]
+INSANE_SKIP_${PN} += "ldflags textrel"
-- 
2.27.0


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [meta-virtualization][PATCH] xvisor: fix build with gcc-10
  2020-11-06 14:05 [meta-virtualization][PATCH] xvisor: fix build with gcc-10 Martin Jansa
  2020-11-06 14:09 ` [meta-virtualization][PATCH] xvisor: skip QA checks ldflags and textrel Martin Jansa
@ 2020-11-06 17:25 ` Alistair Francis
  1 sibling, 0 replies; 5+ messages in thread
From: Alistair Francis @ 2020-11-06 17:25 UTC (permalink / raw)
  To: Martin Jansa; +Cc: meta-virtualization

On Fri, Nov 6, 2020 at 6:05 AM Martin Jansa <Martin.Jansa@gmail.com> wrote:
>
> * with gcc-10 (which doesn't include -fcommon by default) it fails like this:
>   aarch64-oe-linux-ld: error: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/mmc.o: multiple definition of 'sdio_func_type'
>   aarch64-oe-linux-ld: error: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/sdio_bus.o: multiple definition of 'sdio_func_type'
>   aarch64-oe-linux-ld: error: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/sdio_io.o: multiple definition of 'sdio_func_type'
>   aarch64-oe-linux-ld: error: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/sdio.o: multiple definition of 'sdio_func_type'
>   aarch64-oe-linux-ld: TOPDIR/BUILD/work/raspberrypi3_64-oe-linux/xvisor/git-r0/git/build/drivers/mmc/core/core.o: previous definition here
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Alistair

> ---
>  ...-Allow-Xvisor-to-compile-with-gcc-10.patch | 55 +++++++++++++++++++
>  recipes-extended/xvisor/xvisor_git.bb         |  5 +-
>  2 files changed, 58 insertions(+), 2 deletions(-)
>  create mode 100644 recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch
>
> diff --git a/recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch b/recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch
> new file mode 100644
> index 0000000..221a314
> --- /dev/null
> +++ b/recipes-extended/xvisor/files/0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch
> @@ -0,0 +1,55 @@
> +From 417184cc41cfd33ae7b4c11c8396e0f47f43e2ba Mon Sep 17 00:00:00 2001
> +From: Jean-Christophe Dubois <jcd@tribudubois.net>
> +Date: Fri, 8 May 2020 15:17:36 +0200
> +Subject: [PATCH] EMULATORS: Allow Xvisor to compile with gcc 10.
> +
> +With gcc 10 because some header files do not declare some variable
> +definition as extern, the variable get duplicated in all files
> +using it.
> +
> +This patch allow xvisor to compile with the latest gcc.
> +
> +Signed-off-by: Jean-Christophe Dubois <jcd@tribudubois.net>
> +Reviewed-by: Anup Patel <anup@brainfault.org>
> +---
> + drivers/mmc/core/core.h    |  2 +-
> + emulators/display/drawfn.h | 10 +++++-----
> + 2 files changed, 6 insertions(+), 6 deletions(-)
> +
> +diff --git a/drivers/mmc/core/core.h b/drivers/mmc/core/core.h
> +index d75d135a..e2ca3141 100644
> +--- a/drivers/mmc/core/core.h
> ++++ b/drivers/mmc/core/core.h
> +@@ -64,7 +64,7 @@ int mmc_go_idle(struct mmc_host *host);
> +  * Note: Must be called with host->lock held.
> +  */
> + extern struct vmm_bus sdio_bus_type;
> +-struct vmm_device_type sdio_func_type;
> ++extern struct vmm_device_type sdio_func_type;
> +
> + int __sdio_attach(struct mmc_host *host);
> +
> +diff --git a/emulators/display/drawfn.h b/emulators/display/drawfn.h
> +index f9163cff..385deaf6 100644
> +--- a/emulators/display/drawfn.h
> ++++ b/emulators/display/drawfn.h
> +@@ -69,14 +69,14 @@ typedef void (*drawfn)(struct vmm_surface *,
> +                                DRAWFN_ORDER_MAX * \
> +                                DRAWFN_FORMAT_MAX)
> +
> +-drawfn drawfn_surface_fntable_8[DRAWFN_FNTABLE_SIZE];
> ++extern drawfn drawfn_surface_fntable_8[DRAWFN_FNTABLE_SIZE];
> +
> +-drawfn drawfn_surface_fntable_15[DRAWFN_FNTABLE_SIZE];
> ++extern drawfn drawfn_surface_fntable_15[DRAWFN_FNTABLE_SIZE];
> +
> +-drawfn drawfn_surface_fntable_16[DRAWFN_FNTABLE_SIZE];
> ++extern drawfn drawfn_surface_fntable_16[DRAWFN_FNTABLE_SIZE];
> +
> +-drawfn drawfn_surface_fntable_24[DRAWFN_FNTABLE_SIZE];
> ++extern drawfn drawfn_surface_fntable_24[DRAWFN_FNTABLE_SIZE];
> +
> +-drawfn drawfn_surface_fntable_32[DRAWFN_FNTABLE_SIZE];
> ++extern drawfn drawfn_surface_fntable_32[DRAWFN_FNTABLE_SIZE];
> +
> + #endif
> diff --git a/recipes-extended/xvisor/xvisor_git.bb b/recipes-extended/xvisor/xvisor_git.bb
> index 64b0f22..50323d7 100644
> --- a/recipes-extended/xvisor/xvisor_git.bb
> +++ b/recipes-extended/xvisor/xvisor_git.bb
> @@ -11,8 +11,9 @@ inherit autotools-brokensep
>  # This version support the RISC-V v0.5.0 Hypervisor extensions
>  SRCREV = "b3dac5b1f61f23f21dc59b3880897cff78f3b618"
>  SRC_URI = "git://github.com/avpatel/xvisor-next.git \
> -           file://0001-TESTS-Don-t-specify-mabi-or-march-for-RISC-V.patch \
> -          "
> +    file://0001-TESTS-Don-t-specify-mabi-or-march-for-RISC-V.patch \
> +    file://0001-EMULATORS-Allow-Xvisor-to-compile-with-gcc-10.patch \
> +"
>
>  S = "${WORKDIR}/git"
>
> --
> 2.27.0
>
>
> 
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [meta-virtualization][PATCH] xvisor: skip QA checks ldflags and textrel
  2020-11-06 14:09 ` [meta-virtualization][PATCH] xvisor: skip QA checks ldflags and textrel Martin Jansa
@ 2020-11-06 17:26   ` Alistair Francis
  2020-11-10  4:04   ` Bruce Ashfield
  1 sibling, 0 replies; 5+ messages in thread
From: Alistair Francis @ 2020-11-06 17:26 UTC (permalink / raw)
  To: Martin Jansa; +Cc: meta-virtualization

On Fri, Nov 6, 2020 at 6:09 AM Martin Jansa <Martin.Jansa@gmail.com> wrote:
>
> * feel free to fix it properly, I don't use xvisor at all
>   it just shown these 2 errors in my aarch64 world builds
>   and this recipe needs more love than just these 2 issues
>   like setting PV to something better than "git"
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>

Reviewed-by: Alistair Francis <alistair.francis@wdc.com>

Just FYI when the next QEMU release happens I'll update Xvisor. At
that time I can try and cleanup the recipe a bit more to improve some
of these errors.

Alistair

> ---
>  recipes-extended/xvisor/xvisor_git.bb | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/recipes-extended/xvisor/xvisor_git.bb b/recipes-extended/xvisor/xvisor_git.bb
> index 50323d7..831c943 100644
> --- a/recipes-extended/xvisor/xvisor_git.bb
> +++ b/recipes-extended/xvisor/xvisor_git.bb
> @@ -49,3 +49,7 @@ FILES_${PN} += "/*.dtb"
>
>  COMPATIBLE_HOST = "(aarch64|riscv64|riscv32).*"
>  INHIBIT_PACKAGE_STRIP = "1"
> +
> +# ERROR: xvisor-git-r0 do_package_qa: QA Issue: File /vmm.elf in package xvisor doesn't have GNU_HASH (didn't pass LDFLAGS?) [ldflags]
> +# ERROR: xvisor-git-r0 do_package_qa: QA Issue: xvisor: ELF binary /vmm.elf has relocations in .text [textrel]
> +INSANE_SKIP_${PN} += "ldflags textrel"
> --
> 2.27.0
>
>
> 
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [meta-virtualization][PATCH] xvisor: skip QA checks ldflags and textrel
  2020-11-06 14:09 ` [meta-virtualization][PATCH] xvisor: skip QA checks ldflags and textrel Martin Jansa
  2020-11-06 17:26   ` Alistair Francis
@ 2020-11-10  4:04   ` Bruce Ashfield
  1 sibling, 0 replies; 5+ messages in thread
From: Bruce Ashfield @ 2020-11-10  4:04 UTC (permalink / raw)
  To: Martin Jansa; +Cc: meta-virtualization

Merged.

Bruce

In message: [meta-virtualization][PATCH] xvisor: skip QA checks ldflags and textrel
on 06/11/2020 Martin Jansa wrote:

> * feel free to fix it properly, I don't use xvisor at all
>   it just shown these 2 errors in my aarch64 world builds
>   and this recipe needs more love than just these 2 issues
>   like setting PV to something better than "git"
> 
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
>  recipes-extended/xvisor/xvisor_git.bb | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/recipes-extended/xvisor/xvisor_git.bb b/recipes-extended/xvisor/xvisor_git.bb
> index 50323d7..831c943 100644
> --- a/recipes-extended/xvisor/xvisor_git.bb
> +++ b/recipes-extended/xvisor/xvisor_git.bb
> @@ -49,3 +49,7 @@ FILES_${PN} += "/*.dtb"
>  
>  COMPATIBLE_HOST = "(aarch64|riscv64|riscv32).*"
>  INHIBIT_PACKAGE_STRIP = "1"
> +
> +# ERROR: xvisor-git-r0 do_package_qa: QA Issue: File /vmm.elf in package xvisor doesn't have GNU_HASH (didn't pass LDFLAGS?) [ldflags]
> +# ERROR: xvisor-git-r0 do_package_qa: QA Issue: xvisor: ELF binary /vmm.elf has relocations in .text [textrel]
> +INSANE_SKIP_${PN} += "ldflags textrel"
> -- 
> 2.27.0
> 

> 
> 
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-11-10  4:04 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-06 14:05 [meta-virtualization][PATCH] xvisor: fix build with gcc-10 Martin Jansa
2020-11-06 14:09 ` [meta-virtualization][PATCH] xvisor: skip QA checks ldflags and textrel Martin Jansa
2020-11-06 17:26   ` Alistair Francis
2020-11-10  4:04   ` Bruce Ashfield
2020-11-06 17:25 ` [meta-virtualization][PATCH] xvisor: fix build with gcc-10 Alistair Francis

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.