From: "Martin Jansa" <Martin.Jansa@gmail.com>
To: meta-virtualization@lists.yoctoproject.org
Cc: Martin Jansa <Martin.Jansa@gmail.com>
Subject: [meta-virtualization][PATCH] xvisor: fix build with gcc-10
Date: Fri, 6 Nov 2020 15:05:19 +0100 [thread overview]
Message-ID: <20201106140519.765558-1-Martin.Jansa@gmail.com> (raw)
* 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
next reply other threads:[~2020-11-06 14:05 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-11-06 14:05 Martin Jansa [this message]
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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201106140519.765558-1-Martin.Jansa@gmail.com \
--to=martin.jansa@gmail.com \
--cc=meta-virtualization@lists.yoctoproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.