From nobody Tue Feb 10 18:54:49 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linaro.org ARC-Seal: i=1; a=rsa-sha256; t=1558552278; cv=none; d=zoho.com; s=zohoarc; b=KAakYErce30Sl3f2MzVZwj8O03bMnGvoaK0PwmIiXROIvgmXTG0DH02LsHIvnuMRp5e2W/myHQ5bD2VZPxJIYr7D8c1yJbxx473kZhGhDeMVvKi5I+fjwn7yBg5nAPhhk8Dyo4Z7LWUCfatCB0sx76rr5Qc0BuXBhXEV6KTk/A8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558552278; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=i3KWRWimQh5hv++1F1wzio+dP9yFcGqKmqdoYeXPACQ=; b=M/elw4yhmK7U9BFV9Cu85gMuhfgmN9NbkCnZfgxTIYzOJrSGC9V+mAbawXlYv0AQe94aiAm7Aeggc9kRluhRrt4fM13d+7NONtGEkhAonqVlXJHVEanzWErV/AsAeZaA+Lu3+kMNhtd7WGZQa6are7JEE2VrpRlOmVkN0TgTzbs= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558552278128561.6829853029142; Wed, 22 May 2019 12:11:18 -0700 (PDT) Received: from localhost ([127.0.0.1]:49839 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTWdp-0005Pn-0M for importer@patchew.org; Wed, 22 May 2019 15:11:09 -0400 Received: from eggs.gnu.org ([209.51.188.92]:34796) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hTWOt-00086f-5x for qemu-devel@nongnu.org; Wed, 22 May 2019 14:55:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hTWC7-00080s-5L for qemu-devel@nongnu.org; Wed, 22 May 2019 14:42:32 -0400 Received: from mail-yw1-xc41.google.com ([2607:f8b0:4864:20::c41]:42439) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hTWC7-00080m-11 for qemu-devel@nongnu.org; Wed, 22 May 2019 14:42:31 -0400 Received: by mail-yw1-xc41.google.com with SMTP id s5so1236491ywd.9 for ; Wed, 22 May 2019 11:42:30 -0700 (PDT) Received: from localhost.localdomain ([71.46.56.17]) by smtp.gmail.com with ESMTPSA id 206sm1299445ywq.74.2019.05.22.11.42.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 22 May 2019 11:42:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=i3KWRWimQh5hv++1F1wzio+dP9yFcGqKmqdoYeXPACQ=; b=EY20sginGSANyyQGWpVnz88xzaVI8p1N/CE5IO6cvsAohKVfSeLPJnUf2AwbrLFGJ+ 2rJNjlxwswchdn05UCtFM+of1bthCMjgAkfX7jiQWv+RbapxPopt2g/OXtaRCPzcQtZx u6SFCqWVYHv9HaxUzVvOXoX8JX8vL/P/61/EPpEql+GYO3XIFfjW8RzeRVfjFEFVOlUS v/g/2AJHg3SK7HSeYYevEgRmHAmtSzlwgp8NNYajLxtxeyoTTM/Wshd/Txs38Mwl6nf3 t6Zon2ZhyVca6yuRJApDQ9PyZWCZT0WITOgOYT+akJ8eDDyAy0b5DZZeA4mMeV91fdun mmZw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=i3KWRWimQh5hv++1F1wzio+dP9yFcGqKmqdoYeXPACQ=; b=grSVbW0nrl6lfQIlLbVHClOchKLCdcKPOxhAjScRZzh2bUQn9/dhMTqj0K3RrfceIz Miot5zEIgVwh1rEwHN3tM+QWQ8lTFnpCdhSvVo4CVRWA/U4JyJlsQNFlyXx7AMEa3m/m lv1ilkjeoLEGRvu0y8n9/VKUr6svnCSFDw7P+fcDcFehmaDmJ1Dpol1Y6xB+Xz+eg3XA 9zWJ/dVziQwtfTEfwWroM/6xTksd5vP3eaatYHToZJrVuqcUXho3+GJR0gjVWef4K1gl WeHKzkq3JEfhFJtjTdKBRq0fcnQcQdl3YFglQU3KQYISnDQMeBDuxE+RH8vr30J4r3hz TyHQ== X-Gm-Message-State: APjAAAXtZ586Gvq7zoxSxlhZaLM88hCC4fP4DZDxIBlA++xm9/IFVTib M5dbRUnjX/nsDFxsRtO+FrO36lTldwQ= X-Google-Smtp-Source: APXvYqz0hye9RW6bhvMLd6CU6i31pKQd7Vr+uKlBjKUzRVR0puwjqUdvJI8US/8cyEkpSc7m7gzZyg== X-Received: by 2002:a0d:c707:: with SMTP id j7mr40724434ywd.250.1558550550226; Wed, 22 May 2019 11:42:30 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Wed, 22 May 2019 14:42:03 -0400 Message-Id: <20190522184226.17871-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190522184226.17871-1-richard.henderson@linaro.org> References: <20190522184226.17871-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::c41 Subject: [Qemu-devel] [PULL 02/25] build: Link user-only with crypto random number objects 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: peter.maydell@linaro.org Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) For user-only, we require only the random number bits of the crypto subsystem. Rename crypto-aes-obj-y to crypto-user-obj-y, and add the random number objects, plus init.o to handle any extra stuff the crypto library requires. Move the crypto libraries from libs_softmmu and libs_tools to LIBS, so that they are universally used. Reviewed-by: Daniel P. Berrang=C3=A9 Signed-off-by: Richard Henderson --- Makefile | 4 ++-- Makefile.objs | 2 +- Makefile.target | 4 ++-- configure | 9 +++------ crypto/Makefile.objs | 11 ++++++----- 5 files changed, 14 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index 155f066a20..3dbe82a9e4 100644 --- a/Makefile +++ b/Makefile @@ -412,7 +412,7 @@ dummy :=3D $(call unnest-vars,, \ block-obj-y \ block-obj-m \ crypto-obj-y \ - crypto-aes-obj-y \ + crypto-user-obj-y \ qom-obj-y \ io-obj-y \ common-obj-y \ @@ -486,7 +486,7 @@ subdir-slirp: .git-submodule-status $(call quiet-command,$(MAKE) -C $(SRC_PATH)/slirp BUILD_DIR=3D"$(BUILD_DI= R)/slirp" CC=3D"$(CC)" AR=3D"$(AR)" LD=3D"$(LD)" RANLIB=3D"$(RANLIB)" CFLAG= S=3D"$(QEMU_CFLAGS) $(CFLAGS)" LDFLAGS=3D"$(LDFLAGS)") =20 $(SUBDIR_RULES): libqemuutil.a $(common-obj-y) \ - $(qom-obj-y) $(crypto-aes-obj-$(CONFIG_USER_ONLY)) + $(qom-obj-y) $(crypto-user-obj-$(CONFIG_USER_ONLY)) =20 ROMSUBDIR_RULES=3D$(patsubst %,romsubdir-%, $(ROMS)) # Only keep -O and -g cflags diff --git a/Makefile.objs b/Makefile.objs index 2b0793ecc9..dcba4429c8 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -25,7 +25,7 @@ block-obj-m =3D block/ # crypto-obj-y is code used by both qemu system emulation and qemu-img =20 crypto-obj-y =3D crypto/ -crypto-aes-obj-y =3D crypto/ +crypto-user-obj-y =3D crypto/ =20 ####################################################################### # qom-obj-y is code used by both qemu system emulation and qemu-img diff --git a/Makefile.target b/Makefile.target index fdbe7c89f4..4ef4ce5996 100644 --- a/Makefile.target +++ b/Makefile.target @@ -180,7 +180,7 @@ dummy :=3D $(call unnest-vars,.., \ block-obj-m \ chardev-obj-y \ crypto-obj-y \ - crypto-aes-obj-y \ + crypto-user-obj-y \ qom-obj-y \ io-obj-y \ common-obj-y \ @@ -189,7 +189,7 @@ all-obj-y +=3D $(common-obj-y) all-obj-y +=3D $(qom-obj-y) all-obj-$(CONFIG_SOFTMMU) +=3D $(authz-obj-y) all-obj-$(CONFIG_SOFTMMU) +=3D $(block-obj-y) $(chardev-obj-y) -all-obj-$(CONFIG_USER_ONLY) +=3D $(crypto-aes-obj-y) +all-obj-$(CONFIG_USER_ONLY) +=3D $(crypto-user-obj-y) all-obj-$(CONFIG_SOFTMMU) +=3D $(crypto-obj-y) all-obj-$(CONFIG_SOFTMMU) +=3D $(io-obj-y) =20 diff --git a/configure b/configure index 571dd94ee2..54fa78c4dc 100755 --- a/configure +++ b/configure @@ -2792,8 +2792,7 @@ if test "$gnutls" !=3D "no"; then # At least ubuntu 18.04 ships only shared libraries. write_c_skeleton if compile_prog "" "$gnutls_libs" ; then - libs_softmmu=3D"$gnutls_libs $libs_softmmu" - libs_tools=3D"$gnutls_libs $libs_tools" + LIBS=3D"$gnutls_libs $LIBS" QEMU_CFLAGS=3D"$QEMU_CFLAGS $gnutls_cflags" pass=3D"yes" fi @@ -2864,8 +2863,7 @@ if test "$nettle" !=3D "no"; then # Link test to make sure the given libraries work (e.g for static). write_c_skeleton if compile_prog "" "$nettle_libs" ; then - libs_softmmu=3D"$nettle_libs $libs_softmmu" - libs_tools=3D"$nettle_libs $libs_tools" + LIBS=3D"$nettle_libs $LIBS" QEMU_CFLAGS=3D"$QEMU_CFLAGS $nettle_cflags" if test -z "$gcrypt"; then gcrypt=3D"no" @@ -2896,8 +2894,7 @@ if test "$gcrypt" !=3D "no"; then # Link test to make sure the given libraries work (e.g for static). write_c_skeleton if compile_prog "" "$gcrypt_libs" ; then - libs_softmmu=3D"$gcrypt_libs $libs_softmmu" - libs_tools=3D"$gcrypt_libs $libs_tools" + LIBS=3D"$gcrypt_libs $LIBS" QEMU_CFLAGS=3D"$QEMU_CFLAGS $gcrypt_cflags" pass=3D"yes" fi diff --git a/crypto/Makefile.objs b/crypto/Makefile.objs index 256c9aca1f..7fe2fa9da2 100644 --- a/crypto/Makefile.objs +++ b/crypto/Makefile.objs @@ -19,9 +19,10 @@ crypto-obj-y +=3D tlscredspsk.o crypto-obj-y +=3D tlscredsx509.o crypto-obj-y +=3D tlssession.o crypto-obj-y +=3D secret.o -crypto-obj-$(CONFIG_GCRYPT) +=3D random-gcrypt.o -crypto-obj-$(if $(CONFIG_GCRYPT),n,$(CONFIG_GNUTLS)) +=3D random-gnutls.o -crypto-obj-$(if $(CONFIG_GCRYPT),n,$(if $(CONFIG_GNUTLS),n,y)) +=3D random= -platform.o +crypto-rng-obj-$(CONFIG_GCRYPT) +=3D random-gcrypt.o +crypto-rng-obj-$(if $(CONFIG_GCRYPT),n,$(CONFIG_GNUTLS)) +=3D random-gnutl= s.o +crypto-rng-obj-$(if $(CONFIG_GCRYPT),n,$(if $(CONFIG_GNUTLS),n,y)) +=3D ra= ndom-platform.o +crypto-obj-y +=3D $(crypto-rng-obj-y) crypto-obj-y +=3D pbkdf.o crypto-obj-$(CONFIG_NETTLE) +=3D pbkdf-nettle.o crypto-obj-$(if $(CONFIG_NETTLE),n,$(CONFIG_GCRYPT)) +=3D pbkdf-gcrypt.o @@ -35,7 +36,7 @@ crypto-obj-y +=3D block.o crypto-obj-y +=3D block-qcow.o crypto-obj-y +=3D block-luks.o =20 -# Let the userspace emulators avoid linking gnutls/etc -crypto-aes-obj-y =3D aes.o +# Let the userspace emulators avoid linking stuff they won't use. +crypto-user-obj-y =3D aes.o $(crypto-rng-obj-y) init.o =20 stub-obj-y +=3D pbkdf-stub.o --=20 2.17.1