From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1FAACC433EF for ; Thu, 7 Oct 2021 18:02:47 +0000 (UTC) Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 0E54D60FC3 for ; Thu, 7 Oct 2021 18:02:45 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0E54D60FC3 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=chromium.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=lists.denx.de Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 93808834EB; Thu, 7 Oct 2021 20:02:43 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Authentication-Results: phobos.denx.de; dkim=pass (1024-bit key; unprotected) header.d=chromium.org header.i=@chromium.org header.b="GbqRDSn6"; dkim-atps=neutral Received: by phobos.denx.de (Postfix, from userid 109) id 4E504834FD; Thu, 7 Oct 2021 20:02:41 +0200 (CEST) Received: from mail-ua1-x932.google.com (mail-ua1-x932.google.com [IPv6:2607:f8b0:4864:20::932]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by phobos.denx.de (Postfix) with ESMTPS id 1B7DF834DB for ; Thu, 7 Oct 2021 20:02:38 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=sjg@google.com Received: by mail-ua1-x932.google.com with SMTP id i8so4867493uae.7 for ; Thu, 07 Oct 2021 11:02:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=KwBvJRE6aeKWdqZx0y3PDoksw/9qD8TH+L77oWtr6yo=; b=GbqRDSn6L83zVeM/AJQF7P8M443G9N0CVsIJGQR2JIegFSHzy9moz+HJ+WKU1P3lCU TthOnlg4YWX99eYryU6A2WP4uW0wUF28563rKi7W6wdhPBajczsFHeVgF8h1NLSaecPj DTLaBVIijK+PSzBqDX1SDhOovEB8PGCnu544w= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=KwBvJRE6aeKWdqZx0y3PDoksw/9qD8TH+L77oWtr6yo=; b=BZMU/88l0SI6pPefynOHKumSvFFBwewmPiRmJJKZSItCuBvN2wLKDrzQ6Z780n7jqS DtnpFuBxK585sX4O9n3OC1xX1K0SRXg4NWZOS/RTqdVxMVcSEl6/IDBC5XaKOZKt4XCr sZ5E2Y6kaXuMR5BIftflKdR0JS/Sve8gQbyIaOWFDcE2JzDE8aWsYBe08BkYNC6P+Rto SdpaRjq+vDTie8Zs/pu4SAovOI6AGixFih2O/LZnKRSYivNabZ6ugbnHqW+V8l7K6xMl n1RE/tLAuJKItor5FOynlke1WN9Y6CSdV2jKVt2WpMOYXa+GJhi458WqR0oQDr9J/8cW 8NsA== X-Gm-Message-State: AOAM530ck0NxhO5kLMlNIeJjZfOzsSG9irTQe8c/fLf1f6/gRPae6j6N GK/FallObUw8W1xeijL1nORoC7tPGsCC0Wup89/AMQ== X-Google-Smtp-Source: ABdhPJy2VPWOOj1dRdyVRizq+faMQgjAG9Lsib4vbkxTu3RtWRf4dTob96kphTJgAeBFk2/STuhT0IwcJkhrtXRTr8s= X-Received: by 2002:ab0:14a7:: with SMTP id d36mr6302767uae.96.1633629756343; Thu, 07 Oct 2021 11:02:36 -0700 (PDT) MIME-Version: 1.0 References: <20210926014342.127913-1-sjg@chromium.org> <20210926014342.127913-3-sjg@chromium.org> <20211007002647.GA11424@bill-the-cat> <20211007025226.GQ31748@bill-the-cat> <20211007134209.GS31748@bill-the-cat> In-Reply-To: <20211007134209.GS31748@bill-the-cat> From: Simon Glass Date: Thu, 7 Oct 2021 12:02:24 -0600 Message-ID: Subject: Re: [PATCH v5 02/29] kconfig: Add tools support to CONFIG_IS_ENABLED() To: Tom Rini Cc: U-Boot Mailing List , Alexandru Gagniuc , Andre Przywara , Rasmus Villemoes , Robert Marko , Masahiro Yamada , Masahiro Yamada Content-Type: text/plain; charset="UTF-8" X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.34 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.2 at phobos.denx.de X-Virus-Status: Clean Hi Tom, On Thu, 7 Oct 2021 at 07:42, Tom Rini wrote: > > On Thu, Oct 07, 2021 at 07:32:04AM -0600, Simon Glass wrote: > > Hi Tom, > > > > On Wed, 6 Oct 2021 at 20:52, Tom Rini wrote: > > > > > > On Wed, Oct 06, 2021 at 08:49:13PM -0600, Simon Glass wrote: > > > > Hi Tom, > > > > > > > > On Wed, 6 Oct 2021 at 18:26, Tom Rini wrote: > > > > > > > > > > On Sat, Sep 25, 2021 at 07:43:15PM -0600, Simon Glass wrote: > > > > > > > > > > > At present we must separately test for the host build for many options, > > > > > > since we force them to be enabled. For example, CONFIG_FIT is always > > > > > > enabled in the host tools, even if CONFIG_FIT is not enabled by the > > > > > > board itself. > > > > > > > > > > > > It would be more convenient if we could use, for example, > > > > > > CONFIG_IS_ENABLED(FIT) and get CONFIG_HOST_FIT, when building for the > > > > > > host. Add support for this. > > > > > > > > > > > > With this and the tools_build() function, we should be able to remove all > > > > > > the #ifdefs currently needed in code that is build by tools and targets. > > > > > > > > > > > > This will be even nicer when we move to using CONFIG(xxx) everywhere, > > > > > > since all the #ifdef and IS_ENABLED/CONFIG_IS_ENABLED stuff will go away. > > > > > > > > > > > > Signed-off-by: Simon Glass > > > > > > Suggested-by: Rasmus Villemoes # b4f73886 > > > > > > Reviewed-by: Alexandru Gagniuc > > > > > > > > > > The problem here is we don't include automatically > > > > > when building host stuff, I believe. This is why doing this breaks > > > > > test_mkimage_hashes for me on am335x_evm with: > > > > > /tmp/.bm-work/am335x_evm/tools/mkimage -D -I dts -O dtb -i /tmp/.bm-work/am335x_evm -f /home/trini/work/u-boot/u-boot/test/py/tests/vboot//hash-images.its /tmp/.bm-work/am335x_evm/test.fit > > > > > *** stack smashing detected ***: terminated > > > > > > > > Oh dear, and no CI coverage. > > > > > > > > I was reluctant to include kconfig.h everywhere but perhaps that is > > > > the best approach. Will take a look ASAP. > > > > > > Maybe we need to think a bit harder too about how we structure > > > intentionally shared code. > > > > > > Why not, for example, for these common algorithms, rely on typical > > > system headers/libraries in the tooling, which means we validated U-Boot > > > vs common reference, rather than just our implementations? > > > > Do you mean we use openssl for sha1, for example? > > I guess, yes. Just flat out saying we require openssl for tools, and > doing our best to not make compatibility with libressl difficult, seems > likely to cause less headaches for people than what we already require > in terms of Python. I'm OK with that, although I do think the problem identified here (CONFIG_SHA256 not enabled) is somewhat sideways from that. We already use separate code paths to run hashing. Perhaps we could make it optional? What about those people that complain about crypto libraries on their systems? Regards, Simon