From nobody Wed Nov 5 11:06:32 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1504285019724289.4525676460455; Fri, 1 Sep 2017 09:56:59 -0700 (PDT) Received: from localhost ([::1]:50073 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dnpFa-0007ai-Ge for importer@patchew.org; Fri, 01 Sep 2017 12:56:58 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51042) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dnpDr-0005zK-OJ for qemu-devel@nongnu.org; Fri, 01 Sep 2017 12:55:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dnpDo-0006Ab-Jl for qemu-devel@nongnu.org; Fri, 01 Sep 2017 12:55:11 -0400 Received: from mail-bn3nam01on0080.outbound.protection.outlook.com ([104.47.33.80]:29184 helo=NAM01-BN3-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dnpDo-00069V-Dc for qemu-devel@nongnu.org; Fri, 01 Sep 2017 12:55:08 -0400 Received: from BN6PR02CA0083.namprd02.prod.outlook.com (10.161.158.24) by SN1PR0201MB1936.namprd02.prod.outlook.com (10.163.87.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Fri, 1 Sep 2017 16:55:06 +0000 Received: from CY1NAM02FT061.eop-nam02.prod.protection.outlook.com (2a01:111:f400:7e45::201) by BN6PR02CA0083.outlook.office365.com (2603:10b6:405:60::24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10 via Frontend Transport; Fri, 1 Sep 2017 16:55:06 +0000 Received: from xsj-pvapsmtpgw01 (149.199.60.83) by CY1NAM02FT061.mail.protection.outlook.com (10.152.75.30) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1385.11 via Frontend Transport; Fri, 1 Sep 2017 16:55:05 +0000 Received: from unknown-38-66.xilinx.com ([149.199.38.66] helo=xsj-pvapsmtp01) by xsj-pvapsmtpgw01 with esmtp (Exim 4.63) (envelope-from ) id 1dnpDk-0002as-OS; Fri, 01 Sep 2017 09:55:04 -0700 Received: from [127.0.0.1] (helo=localhost) by xsj-pvapsmtp01 with smtp (Exim 4.63) (envelope-from ) id 1dnpDj-0003lD-HU; Fri, 01 Sep 2017 09:55:03 -0700 Received: from xsj-pvapsmtp01 (smtp3.xilinx.com [149.199.38.66]) by xsj-smtp-dlp1.xlnx.xilinx.com (8.13.8/8.13.1) with ESMTP id v81Gt0p8009921; Fri, 1 Sep 2017 09:55:00 -0700 Received: from [172.19.2.220] (helo=localhost.localdomain) by xsj-pvapsmtp01 with esmtp (Exim 4.63) (envelope-from ) id 1dnpDg-0003fc-99; Fri, 01 Sep 2017 09:55:00 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=xilinx.onmicrosoft.com; s=selector1-xilinx-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=k2PxPrWywN2N7G3A33h0PBrWaO+d3FUHev2kIVVj27g=; b=eaBpLmXM/j711PlJKuKboiu2Do26yLIidCJi3NNeIoARCVpmtwRw3WjMWXZTVXOl+pbNZBAi/MrpSza5eXPF8jEkcCeQuhrSIAWCnVQL7TlrjUZn1b4Walj2Qw2G29ZvdrUmiITeRxNXlsQHq5zZPSLYgm0oWA1OM5dOEG9DFBA= Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: Pass (protection.outlook.com: domain of xilinx.com designates 149.199.60.83 as permitted sender) receiver=protection.outlook.com; client-ip=149.199.60.83; helo=xsj-pvapsmtpgw01; From: Alistair Francis To: Date: Fri, 1 Sep 2017 09:51:24 -0700 Message-ID: <54a0a76ab505ffdc34e995bae5ddb9f5f282328d.1504228916.git.alistair.francis@xilinx.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-RCIS-Action: ALLOW X-TM-AS-Product-Ver: IMSS-7.1.0.1224-8.1.0.1062-23296.003 X-TM-AS-User-Approved-Sender: Yes;Yes X-EOPAttributedMessage: 0 X-MS-Office365-Filtering-HT: Tenant X-Forefront-Antispam-Report: CIP:149.199.60.83; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(39860400002)(2980300002)(438002)(199003)(189002)(50986999)(63266004)(305945005)(2870700001)(626005)(54906002)(2351001)(118296001)(4326008)(106466001)(23676002)(8676002)(81166006)(81156014)(5660300001)(76176999)(2906002)(36756003)(356003)(36386004)(2950100002)(6916009)(5820100001)(50226002)(6666003)(8936002)(189998001)(478600001)(9786002)(77096006)(50466002)(39060400002)(33646002)(47776003)(110136004)(107986001); DIR:OUT; SFP:1101; SCL:1; SRVR:SN1PR0201MB1936; H:xsj-pvapsmtpgw01; FPR:; SPF:Pass; PTR:unknown-60-83.xilinx.com; A:1; MX:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; CY1NAM02FT061; 1:000OYmbKprFyvQOkEPFyIkM1iGC1NEZtJGDbCpKpHdsqsSdGi8xycfpGAgPkmVTgBB00bY9okajFO/Sn4nCtyJay4d7RjvO+VKm5/jLteYw6VcHlBUfnRO+ccTEmjy4d X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 25147ca9-136a-4d82-49df-08d4f15a3225 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(8251501002)(300000503095)(300135400095)(2017052603199)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:SN1PR0201MB1936; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0201MB1936; 3:mhc2fBgrmw9xoldKdGRJ0iFfoLHOfx96MC0SYw5iSS99lLMzj4G7UH8esVsYMTRjaFcpcYE2BiWkh0X+eQYEOnTMv2qGCRLVBSqj1+orrYPcG45bwowpblIn1uEdgMcmoQkXn7n+aAXRPNbmsNEPVtyC8s3mhgvXaMqd5tDKvFPPNplJE35gdC5it4tYdx8ukjPU+YfyCTkDJHOKRfSZqCXREHrl8PyE7o/FBdvGIBmZU8yHB+qPZRFc/Tuav+SVXgUPQ9N0EROZRxbUKfMNVoDMhOLK7xIbP5u5wu5AAHM+sA5gH8JgDbq1Iqq2xPJM3MEL4/7AwHZDVBK4UygJZEoQonR5YzMmkdp+xiz1K3U=; 25:UBlOvFNzUrQEDDi6eMbVc7IO02zlZZoqFth9LbHuQR5zFfEXWC10udj1AGNUO/eC0vQeAkNM4irgPKj117VQbQTVBEQFSds+N1uc84ry1hqqZ20g8PES9UGmkpdzj6xDE/wq7Tet60RDLIX7pGUilbul4r3WU+ke0hKCLKKaTpmlPHtf0zCY62+x1try2sAvtgbzzc1EeqJcpqISvJEP/RKpAXKI1O7976lcnz3F7THa/wPs6RuFskn/AXHdiiNKFQW26NHmaPlr66zvF/UhdmZOboDP1fI9azmxesUZmhJ7lSjMwFa/soRvupBmRfgRTpFG5MMknsEOpzHlRGQSWA== X-MS-TrafficTypeDiagnostic: SN1PR0201MB1936: X-Microsoft-Exchange-Diagnostics: 1; SN1PR0201MB1936; 31:fAl40qkDNHSBLaOoQwS8yP2Eq2QDPE6LCtPya44Jk5v2Ys6IMCuoiJK+1n1hALb3xtThqkHj0t8gUVxNjJ5mR7oWdyVOd/X6q2MxNsoVvVtH5+gfxzLy21sA9tglB0uFXLBv7dCTdtXXdX06t2PukGttUWl2nIN9kRedg+0+4HtUZBP7lRow1yOwpQTK4G384sOtFKeAlkAqakD7YQGKPnmriYUFOJoptxdsOSKclTA=; 20:zR0DAK+9cjfsOzIMMWCWyO7vkaXfhFxN5Tx53163a4Gyf/GjXA6uCn/BqTB8Aye0mncqBt0UxMurtPEKq84li12/PzGOzRwxJJET8Z6QHCx6XeYTt9eKDQaCRpN5BVN2BGzdeu51Wk7dQEf+z1rmoy7iHN2CRzsKDVoSah/QcEJbPlUP0NdH/Z3T0xqv2HASR3bNO08N+Qc5Bf5padtV63Si4S1oGwEpUMICoGiYscT8T71S2k94O+ugDAAyPrCUNWLM8byU/5kUbEpg+4J3Ne52APHEPp7IwwStKJQljNfOnJyLDXkZrHbbqPBp94zF47GibL8BNCmfJMgFExLP0l7IoOutNniTr9OTNry0I5Tzwz84z7MFfXOnc8lI5elp7iaPe3EeoMTHaMDCWo9WLMi2PS5P2B90VNTauJqE3mWmTxltuWLPXrZGVhEHkjtwL118aPJE4dC5xUsQ8/6kNab8eys4hhHsxg6coyN6ggyY7uHDx6J2CeVBc3kBnrYz X-Exchange-Antispam-Report-Test: UriScan:(192813158149592); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(13018025)(13016025)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(93004095)(6055026)(6041248)(20161123562025)(20161123564025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:SN1PR0201MB1936; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:SN1PR0201MB1936; X-Microsoft-Exchange-Diagnostics: 1; SN1PR0201MB1936; 4:wjvAXgSpRc1fH3O5y3FMUoU4K7WXcI77oliQSUrX4LRdEfzGLbNPYX3lPp2FQElVQR1YkkNmmI+K3KA8Tveas76jwUS2croT8FuMy00O+3zDBTRHt+pfiymd0G885h7eQ7DThj9DETXKdLLt7U8Yd3tY/C2+PTnrGKvIkEvqWgzsgn+vtDvYRis2U+8fvYjOO2nddKH6cDYnqaBirv8idfr/3pYYBz8xjj1ak3v/Ruc8DkBeQoglDv4+oVUP6bdn9fjxEIgHcnpshiVYIkqoq7ECHlXM1p5zlpeoP8e8k+U= X-Forefront-PRVS: 0417A3FFD2 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; SN1PR0201MB1936; 23:d0nQMusNKgG2Qd5D/tpWS9eWY5ysPgJfHBwB/bP?= =?us-ascii?Q?ig+VKZYtfZwZTD11lpNY7vKi7f8Wuqb+v71+8YU70SEErcZkdedbc6MhUMvU?= =?us-ascii?Q?h5vZ3ILUvls8uqbnZY8sZHOjd8+g6Gl9jkse+Vm4d6JH0X4tn2KNWueyWP87?= =?us-ascii?Q?RGCoorTVbG0UMM69Z5ywb31ZFvp16t5zI4L5b4ix/hot1ju86TthRuHMHGlG?= =?us-ascii?Q?yaU0hUcX16cHP0rEPcASgI5MLmlkw8R0u1AQqz646kAIz5SK8AES+51wPvOe?= =?us-ascii?Q?V3SoaEozWvexRcdhfnvGULs1Cc5CSi6ouho5hMNjtdThttKgLUFQT+fMQOt+?= =?us-ascii?Q?Ksh1di/XGWShql3u4quNhS4bIQ2DCVZivyq3a/uvjt3Wbaa+k9wY6KWsFR6D?= =?us-ascii?Q?+wohJg1zA477CXYAN+AHZhFIN0pripbx4LXJUz8+MALR9KkvQjaVKDkl3+zG?= =?us-ascii?Q?NOF266x9hzIbEIIAHn5lKtF6J+eI7aEQnB70bXXotf2DddPsiMmhvzvbSymt?= =?us-ascii?Q?6xoyhy2oP6KCcuId3NtPDMtdxLSQg5Y8zuSOiGc0L1MyxASADnvljQjrCEh7?= =?us-ascii?Q?gO/3w9VyNKR8Cd4r1PBmW2x3F060p/LYtWelLOUBGK9th9UQx2I25S1xm0Lk?= =?us-ascii?Q?jCORm59lL8Qn3cVu3Z3XMMBI+NcJcn/0sO9Uv3dqMRAnWuC8UbOmAu9+qs7A?= =?us-ascii?Q?w/tUZTjCRumIfa/9T8kFLu1CGmGjUpLSbgl/aXoZoGIJMATSTuOV57H1IHD+?= =?us-ascii?Q?AqQYIvp6LoX/qWhK02OCAtMiJG+gGT39Ouvj/mOdR2q/0wW+NyhVVyXaT7uM?= =?us-ascii?Q?kA+oEc5tkK5GdlvzKT6pdXszlGloiKC8qIrpZSyUkJ0FisC1Q8UTxfqZR5Gj?= =?us-ascii?Q?4rEF5imFwYVRKR/Lk/r7iGstgZllYNGeQTzadxB/6R8Jj1jN76j846mFR71b?= =?us-ascii?Q?tk/LPOE0ri2LJbumEOXZ34F/mFHLGrOWvoIxZOyh218hu0g2zTY4eTpaWIiv?= =?us-ascii?Q?NR8tmMqoSX9knaTQEj8PsOERkWEevaSw0E+mAPuOTGJnTJQ=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; SN1PR0201MB1936; 6:FrrvU2P/YyACRqd2U3iAsnaNhs1eNriOI+JByf/leAiiQXZloZeUGMek7FIU48a3fh608MWTz8BZlesjGzLRtXvot9AoUCSFYafSyiNEkx2w2V83IsZc7+0SxzndyZiwUE8cWCoWUy/eaALiPGyUG/7WmCm+3MZHtyKiz+rTwxT5v5S7Mh5EKiZHwIYK+qRxCF3WY9Wb/LsQGbZl6nUNjStjIKR7S9qR+jakTE2DHR+EPMiovjSFOLzrhk0t91AJwLOVdZK/QfMxeFA8MSzbLKugR0fbWbqpmN5Y+o4oJAJCVCSGPw7a8ZyhvZhfVM/cOEWGYaapjRCYXQzLsvBOhg==; 5:bC+qAXRBAnD/WP577NGfqutNo/MSZXi3GEe3hQbQVku9YmE094h9Tm4aevf/SCjo24SaGSyyFb5G/+32Swerb5NrIGVYgNIfaBQFGyViGzkvn3rzZg8NK4FGnAITk9ZFey+e6fIdVrmJ28vqF+D5CQ==; 24:9tkNdZgoqCAJAjaPWS+1KPrZSk0TcuvVcTbU1YFWN7poPqw9Jn4mpCNvZ0qBnDVUaQsozngE4I9/64s21u4z4rECraLKNY00dzn0dq/rt9M=; 7:B0xe0jiCH3KtIi0YE4weZhLAhLVHGsHgUrzyfFkOCHZsSLqHAybnfZ0Tdh2vGJCAAQGwklvksrXswNRFE2czXF9tG6kVvAgcHEyK+MAbGbExccHGdMVBXOV0I0oL64jqdjn+ZZlNbmGvFbLBz+u56/5UiL2aiehUHDkcM4U5K7SUDGDQALYGULcLJx26vTO2GYXeUh64GeuDVCcp5kk8iBnWJtCasGn3Qgtrf62og0Y= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: xilinx.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Sep 2017 16:55:05.3612 (UTC) X-MS-Exchange-CrossTenant-Id: 657af505-d5df-48d0-8300-c31994686c5c X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=657af505-d5df-48d0-8300-c31994686c5c; Ip=[149.199.60.83]; Helo=[xsj-pvapsmtpgw01] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR0201MB1936 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.33.80 Subject: [Qemu-devel] [PATCH v3 6/7] Makefile: Remove libqemustub.a X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: alistair23@gmail.com, pbonzini@redhat.com, armbru@redhat.com, alistair.francis@xilinx.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" Using two libraries (libqemuutil.a and libqemustub.a) would sometimes result in circular dependencies. To avoid these issues let's just combine both into a single library that functions as both. Signed-off-by: Alistair Francis Reviewed-by: Philippe Mathieu-Daud=C3=A9 --- V3: - Fix up the docs - Rebase into this series V2: - Skipped Makefile | 7 +++---- Makefile.target | 2 +- docs/devel/build-system.txt | 16 +++++++--------- tests/Makefile.include | 6 +++--- 4 files changed, 14 insertions(+), 17 deletions(-) diff --git a/Makefile b/Makefile index 81447b1f08..f111e93c63 100644 --- a/Makefile +++ b/Makefile @@ -344,7 +344,7 @@ subdir-dtc:dtc/libfdt dtc/tests dtc/%: mkdir -p $@ =20 -$(SUBDIR_RULES): libqemuutil.a libqemustub.a $(common-obj-y) $(chardev-obj= -y) \ +$(SUBDIR_RULES): libqemuutil.a $(common-obj-y) $(chardev-obj-y) \ $(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY)) =20 ROMSUBDIR_RULES=3D$(patsubst %,romsubdir-%, $(ROMS)) @@ -364,12 +364,11 @@ Makefile: $(version-obj-y) ###################################################################### # Build libraries =20 -libqemustub.a: $(stub-obj-y) -libqemuutil.a: $(util-obj-y) $(trace-obj-y) +libqemuutil.a: $(util-obj-y) $(trace-obj-y) $(stub-obj-y) =20 ###################################################################### =20 -COMMON_LDADDS =3D libqemuutil.a libqemustub.a +COMMON_LDADDS =3D libqemuutil.a =20 qemu-img.o: qemu-img-cmds.h =20 diff --git a/Makefile.target b/Makefile.target index 7f42c45db8..0a80caf79c 100644 --- a/Makefile.target +++ b/Makefile.target @@ -193,7 +193,7 @@ all-obj-$(CONFIG_SOFTMMU) +=3D $(io-obj-y) =20 $(QEMU_PROG_BUILD): config-devices.mak =20 -COMMON_LDADDS =3D ../libqemuutil.a ../libqemustub.a +COMMON_LDADDS =3D ../libqemuutil.a =20 # build either PROG or PROGW $(QEMU_PROG_BUILD): $(all-obj-y) $(COMMON_LDADDS) diff --git a/docs/devel/build-system.txt b/docs/devel/build-system.txt index 2af1e668c5..0d54294cb1 100644 --- a/docs/devel/build-system.txt +++ b/docs/devel/build-system.txt @@ -232,15 +232,13 @@ The utility code that is used by all binaries is buil= t into a static archive called libqemuutil.a, which is then linked to all the binaries. In order to provide hooks that are only needed by some of the binaries, code in libqemuutil.a may depend on other functions that are -not fully implemented by all QEMU binaries. To deal with this there is a -second library called libqemustub.a which provides dummy stubs for all -these functions. These will get lazy linked into the binary if the real -implementation is not present. In this way, the libqemustub.a static -library can be thought of as a portable implementation of the weak -symbols concept. All binaries should link to both libqemuutil.a and -libqemustub.a. e.g. - - qemu-img$(EXESUF): qemu-img.o ..snip.. libqemuutil.a libqemustub.a +not fully implemented by all QEMU binaries. Dummy stubs for all these +functions are also provided by this library, and will get lazy linked +into the binary if the real implementation is not present. In this way, +this static library can be thought of as a portable implementation of +the weak symbols concept. All binaries should link to libqemuutil.a. e.g. + + qemu-img$(EXESUF): qemu-img.o ..snip.. libqemuutil.a =20 =20 Windows platform portability diff --git a/tests/Makefile.include b/tests/Makefile.include index 37c1bed683..80527a8763 100644 --- a/tests/Makefile.include +++ b/tests/Makefile.include @@ -553,7 +553,7 @@ QEMU_CFLAGS +=3D -I$(SRC_PATH)/tests =20 =20 # Deps that are common to various different sets of tests below -test-util-obj-y =3D libqemuutil.a libqemustub.a +test-util-obj-y =3D libqemuutil.a test-qom-obj-y =3D $(qom-obj-y) $(test-util-obj-y) test-qapi-obj-y =3D tests/test-qapi-visit.o tests/test-qapi-types.o \ tests/test-qapi-event.o tests/test-qmp-introspect.o \ @@ -608,8 +608,8 @@ tests/test-vmstate$(EXESUF): tests/test-vmstate.o \ $(test-io-obj-y) tests/test-timed-average$(EXESUF): tests/test-timed-average.o $(test-util-= obj-y) tests/test-base64$(EXESUF): tests/test-base64.o \ - libqemuutil.a libqemustub.a -tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o = hw/core/ptimer.o libqemustub.a + libqemuutil.a +tests/ptimer-test$(EXESUF): tests/ptimer-test.o tests/ptimer-test-stubs.o = hw/core/ptimer.o $(test-util-obj-y) =20 tests/test-logging$(EXESUF): tests/test-logging.o $(test-util-obj-y) =20 --=20 2.11.0