From nobody Tue Feb 10 11:56:01 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=1558061075; cv=none; d=zoho.com; s=zohoarc; b=KXNgsTwP5ttR3P5NWK8QHEUKj2SzZyuT6poIEW12zqJVDTbHjLZUpERJuuBcCrNCj3RLXdmd4Pw76bpBnG83d5Mq1kUJkVoA7j4j4ZpKisQaubQbAsyfB4A0e+CPuEqEY9bv3g7JdScvAsdeSLzbmYBUm8HyfgjlbSsrQE0Umng= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1558061075; h=Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:References:Sender:Subject:To:ARC-Authentication-Results; bh=w67dNgvn9kqojlns7NF9r0Y8A8UDA9sA3tpOmEXRHUw=; b=P7sMJod5gdE/8kEZW5rd5m8/LBoRAc0kCVZcSIFRGwy5S8CtqW/pMuZcnTYb92CgGcvXFhomiVBNuK/fh+wwQnjeWIheDN3aOwf2PNzbsbAOluS9C/VPmV5o6VEDqjZTxobkrSBl50BLKmQ14DY4hut/dJxd7B8VLjLoeWAcSnM= 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 (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1558061075967537.9646024863121; Thu, 16 May 2019 19:44:35 -0700 (PDT) Received: from localhost ([127.0.0.1]:40147 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRSrG-0000tn-Rc for importer@patchew.org; Thu, 16 May 2019 22:44:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:38949) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRSmS-0005Mp-Tj for qemu-devel@nongnu.org; Thu, 16 May 2019 22:39:34 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hRSmR-0001zE-Mh for qemu-devel@nongnu.org; Thu, 16 May 2019 22:39:32 -0400 Received: from mail-pf1-x443.google.com ([2607:f8b0:4864:20::443]:44260) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1hRSmR-0001y1-5Y for qemu-devel@nongnu.org; Thu, 16 May 2019 22:39:31 -0400 Received: by mail-pf1-x443.google.com with SMTP id g9so2857480pfo.11 for ; Thu, 16 May 2019 19:39:31 -0700 (PDT) Received: from localhost.localdomain (97-113-13-231.tukw.qwest.net. [97.113.13.231]) by smtp.gmail.com with ESMTPSA id w6sm6984152pge.30.2019.05.16.19.39.28 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 16 May 2019 19:39: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; bh=w67dNgvn9kqojlns7NF9r0Y8A8UDA9sA3tpOmEXRHUw=; b=GVRE1jVMxZUSaTuKh16/e8qpCCMaq9j5IU+rFXulHjV9VorD4/My5JGV01E/ujhxMm pY4QH3/fG3U1rx96zpxjUx2c6UwK9rxppAvrrZPbWJVJctReaLtCjSvOLgOWAhORlhPY QnYaTd8gDiEFKHEj5tQVOI63HNZtqArRWUPwW4EkULld5MS/ynR2RQAv1f19GbEqAcZS gP4NL7sLk/UFsgMZwopUvVJmtAnSXTrQ6lkUaioETHptpFuMry4gTzOnn/tS0vTfnGK6 WdCeCnSYfJyFnzELzXhCRalX2D+WmLk4+BpMHfRqYgSBFcNbWGNlIBTpKaNUedUXahFi apyg== 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; bh=w67dNgvn9kqojlns7NF9r0Y8A8UDA9sA3tpOmEXRHUw=; b=fuNBESvfd7bPPHBhW6babcGbajIKtQleMJ/VvCssCRbH3f8WHDP1+Mt9JvgxauBCBJ ON4Tu5uOyXZ05ExJtYFBiF+64hR98bM6FKSc/56Q81HGzRsvSbeR8/SyJyuM5NtfZeer o+HC6nJWh/OJqo9Ufx0dF4K3t233uO+B1z/n4P8zX8napL9ZSQDTtS8vQisu4evUkav1 e8P0/gUtxiXMNabmE/f3VAf3f602E3k/LaxDzQN16tIIqnDQFe/bKxAGxnpMnT+qqFbP BKtWB6XyER1APaxqtMMo5NxOnNDYo00pQG55FAfX/f2wO4iOpt3bmQoj0QS0sZt0rav/ Thpg== X-Gm-Message-State: APjAAAWtFRCKKy+6DeEvQuhmCUzPVeLRsop8Qy3Tw8UE6IMIt4wxmkPM QdPlgMu8QZiKQO/Vh72ksRiDwmhEoe4= X-Google-Smtp-Source: APXvYqya0lLKUCznzQaPwsEhw9RZWDQowJFU/1jmONtmTm+wDkDPwJXe4HNHhKWdfFRvsrD3jlRIHw== X-Received: by 2002:a63:2d87:: with SMTP id t129mr54072650pgt.451.1558060769734; Thu, 16 May 2019 19:39:29 -0700 (PDT) From: Richard Henderson To: qemu-devel@nongnu.org Date: Thu, 16 May 2019 19:39:01 -0700 Message-Id: <20190517023924.1686-3-richard.henderson@linaro.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20190517023924.1686-1-richard.henderson@linaro.org> References: <20190517023924.1686-1-richard.henderson@linaro.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::443 Subject: [Qemu-devel] [PATCH v8 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: lvivier@redhat.com, berrange@redhat.com, armbru@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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. Signed-off-by: Richard Henderson Reviewed-by: Daniel P. Berrang=C3=A9 --- 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 66d5c65156..8419d759e0 100644 --- a/Makefile +++ b/Makefile @@ -410,7 +410,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 \ @@ -483,7 +483,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) $(chardev-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 cf065de5ed..84fa83ba21 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 ae02495951..bde256436b 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 f8345368bf..03e71ef7b6 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