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

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.