From nobody Fri Mar 29 08:44:50 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) client-ip=192.237.175.120; envelope-from=xen-devel-bounces@lists.xenproject.org; helo=lists.xenproject.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org ARC-Seal: i=1; a=rsa-sha256; t=1592374169; cv=none; d=zohomail.com; s=zohoarc; b=YdYtHBJNeTCphfciVJpIRYmjymfnDdMMOhcbxVYe5Fy4KRDt4jLqa5NPrMzEPmLs2dzyiTKWMk68bNsAGOv/Lqtf3LyKFQTfvdK6mri7xF9xY0MrEPqkghffTWnckQ/5oZXy+2rsZ6J+ncK9vRr3AiCj1YUyfSv+9irU7vYiclg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1592374169; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=BPYpE9GksVEBqAS0fZJlKXX9acwPilfaAPWjwRABGJo=; b=b2ndCYI4RWb7P7+Hc8ynh3h52sU8H5whv+7N9bkLsDpyMpjDy5ZlrqNJeZ3ce5QAKL6cyeI8jFCporc1cTx/QZSpbVa6Uo2FxTvYrcgB+xHWPxXeQSsqiEp7O4xI785H92YJM7dsYmTP621Hn+JGc2xw4jLLtAW4vA23xasrJkM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.xenproject.org designates 192.237.175.120 as permitted sender) smtp.mailfrom=xen-devel-bounces@lists.xenproject.org Return-Path: Received: from lists.xenproject.org (lists.xenproject.org [192.237.175.120]) by mx.zohomail.com with SMTPS id 1592374169027124.11879843269719; Tue, 16 Jun 2020 23:09:29 -0700 (PDT) Received: from localhost ([127.0.0.1] helo=lists.xenproject.org) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jlRFu-0006W1-9e; Wed, 17 Jun 2020 06:09:02 +0000 Received: from us1-rack-iad1.inumbo.com ([172.99.69.81]) by lists.xenproject.org with esmtp (Exim 4.92) (envelope-from ) id 1jlRFs-0006Vu-9j for xen-devel@lists.xenproject.org; Wed, 17 Jun 2020 06:09:01 +0000 Received: from mo4-p00-ob.smtp.rzone.de (unknown [85.215.255.20]) by us1-rack-iad1.inumbo.com (Halon) with ESMTPS id 078b6d8e-b061-11ea-b7bb-bc764e2007e4; Wed, 17 Jun 2020 06:08:58 +0000 (UTC) Received: from sender by smtp.strato.de (RZmta 46.10.4 DYNA|AUTH) with ESMTPSA id 0013a0w5H68mGuq (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256 bits)) (Client did not present a certificate); Wed, 17 Jun 2020 08:08:48 +0200 (CEST) X-Inumbo-ID: 078b6d8e-b061-11ea-b7bb-bc764e2007e4 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1592374137; s=strato-dkim-0002; d=aepfle.de; h=Message-Id:Date:Subject:Cc:To:From:X-RZG-CLASS-ID:X-RZG-AUTH:From: Subject:Sender; bh=BPYpE9GksVEBqAS0fZJlKXX9acwPilfaAPWjwRABGJo=; b=AC8gwV4pgt0HB3V79wmnnfRHrfvykVtFBM01ZZ48yWKy3zEX2Y3AJOc5s0DsR0NiJr z9pua3jb9FeX86x560sQWZ88IsTmhBa7xnYu01LHtdknR8phrdgPx0PgPvSZMFVTBts5 dktq/NvXhkmvVo7G1SmlZWGmiXDmRpsVdEROT//fEXpsEn96r982t5+hPU0NgixKa77E vGTzeOwKN+XM5DBOGhUu/CfDwMkgWD0HeRNpCmWjtRLYKWluE2uFbu1UQEdcn5JJOYLo ugMcZiXRQov+lWGi6JzEdxxRMuAFcjqnpxzdnM30avl638xPNm1WJwx4t8TOCp2Biuy9 xRvQ== X-RZG-AUTH: ":P2EQZWCpfu+qG7CngxMFH1J+3q8wa/QXkBR9MXjAuzBW/OdlBZQ4AHSS3GpKjw==" X-RZG-CLASS-ID: mo00 From: Olaf Hering To: xen-devel@lists.xenproject.org Subject: [PATCH v1] stubdom/vtpm: add extern to function declarations Date: Wed, 17 Jun 2020 08:08:41 +0200 Message-Id: <20200617060841.7241-1-olaf@aepfle.de> X-Mailer: git-send-email 2.26.2 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-BeenThere: xen-devel@lists.xenproject.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Xen developer discussion List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Cc: Samuel Thibault , Olaf Hering , Ian Jackson , Wei Liu Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" Code compiled with gcc10 will not link properly due to multiple definition = of the same function. Signed-off-by: Olaf Hering Acked-by: Samuel Thibault Reviewed-by: Ian Jackson Reviewed-by: Jason Andryuk --- stubdom/Makefile | 1 + stubdom/vtpm_extern.patch | 48 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 stubdom/vtpm_extern.patch diff --git a/stubdom/Makefile b/stubdom/Makefile index 12aa211ac3..af8cde41b9 100644 --- a/stubdom/Makefile +++ b/stubdom/Makefile @@ -231,6 +231,7 @@ tpm_emulator-$(XEN_TARGET_ARCH): tpm_emulator-$(TPMEMU_= VERSION).tar.gz patch -d $@ -p1 < vtpm-cmake-Wextra.patch patch -d $@ -p1 < vtpm-implicit-fallthrough.patch patch -d $@ -p1 < vtpm_TPM_ChangeAuthAsymFinish.patch + patch -d $@ -p1 < vtpm_extern.patch mkdir $@/build cd $@/build; CC=3D${CC} $(CMAKE) .. -DCMAKE_C_FLAGS:STRING=3D"-std=3Dc99 = -DTPM_NO_EXTERN $(TARGET_CPPFLAGS) $(TARGET_CFLAGS) -Wno-declaration-after-= statement" touch $@ diff --git a/stubdom/vtpm_extern.patch b/stubdom/vtpm_extern.patch new file mode 100644 index 0000000000..5ea4023e6d --- /dev/null +++ b/stubdom/vtpm_extern.patch @@ -0,0 +1,48 @@ +ld: /home/abuild/rpmbuild/BUILD/xen-4.8.20191211T160002.8db85532cb/non-dbg= /stubdom/vtpm/vtpm.a(vtpm_cmd.o):(.bss+0x28): multiple definition of `tpm_m= alloc'; /home/abuild/rpmbuild/BUILD/xen-4.8.20191211T160002.8db85532cb/non-= dbg/stubdom/vtpm/vtpm.a(vtpm.o):(.bss+0x728): first defined here +--- a/tpm/tpm_emulator_extern.h ++++ b/tpm/tpm_emulator_extern.h +@@ -29,7 +29,7 @@ enum { + TPM_LOG_ERROR + }; +=20 +-void (*tpm_log)(int priority, const char *fmt, ...); ++extern void (*tpm_log)(int priority, const char *fmt, ...); +=20 + #if defined(_WIN32) || defined(_WIN64) + #define __BFILE__ ((strrchr(__FILE__, '\\') ? : __FILE__ - 1) + 1) +@@ -44,27 +44,27 @@ void (*tpm_log)(int priority, const char + #define error(fmt, ...) tpm_log(TPM_LOG_ERROR, "%s:%d: Error: " fmt "\n",= \ + __BFILE__, __LINE__, ## __VA_ARGS__) + /* initialization */ +-int (*tpm_extern_init)(void); +-void (*tpm_extern_release)(void); ++extern int (*tpm_extern_init)(void); ++extern void (*tpm_extern_release)(void); +=20 + /* memory allocation */ +=20 +-void* (*tpm_malloc)(size_t size); ++extern void* (*tpm_malloc)(size_t size); +=20 +-void (*tpm_free)(/*const*/ void *ptr); ++extern void (*tpm_free)(/*const*/ void *ptr); +=20 + /* random numbers */ +=20 +-void (*tpm_get_extern_random_bytes)(void *buf, size_t nbytes); ++extern void (*tpm_get_extern_random_bytes)(void *buf, size_t nbytes); +=20 + /* usec since last call */ +=20 +-uint64_t (*tpm_get_ticks)(void); ++extern uint64_t (*tpm_get_ticks)(void); +=20 + /* file handling */ +=20 +-int (*tpm_write_to_storage)(uint8_t *data, size_t data_length); +-int (*tpm_read_from_storage)(uint8_t **data, size_t *data_length); ++extern int (*tpm_write_to_storage)(uint8_t *data, size_t data_length); ++extern int (*tpm_read_from_storage)(uint8_t **data, size_t *data_length); +=20 + #endif /* _TPM_EMULATOR_EXTERN_H_ */ +=20