From patchwork Sat Aug 31 18:01:13 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Atharva Lele X-Patchwork-Id: 1156195 Return-Path: X-Original-To: incoming-buildroot@patchwork.ozlabs.org Delivered-To: patchwork-incoming-buildroot@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=busybox.net (client-ip=140.211.166.136; helo=silver.osuosl.org; envelope-from=buildroot-bounces@busybox.net; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="TGYVPqgp"; dkim-atps=neutral Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 46LPLB73X5z9s5b for ; Sun, 1 Sep 2019 04:01:38 +1000 (AEST) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 0BDD020398; Sat, 31 Aug 2019 18:01:34 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eg-7jRlp4ku4; Sat, 31 Aug 2019 18:01:31 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id ABD9D20417; Sat, 31 Aug 2019 18:01:31 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ash.osuosl.org (Postfix) with ESMTP id 49D691BF2AE for ; Sat, 31 Aug 2019 18:01:27 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 476B520363 for ; Sat, 31 Aug 2019 18:01:27 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id EafD4vrgYOo5 for ; Sat, 31 Aug 2019 18:01:26 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from mail-pg1-f194.google.com (mail-pg1-f194.google.com [209.85.215.194]) by silver.osuosl.org (Postfix) with ESMTPS id C657020115 for ; Sat, 31 Aug 2019 18:01:26 +0000 (UTC) Received: by mail-pg1-f194.google.com with SMTP id m3so5135600pgv.13 for ; Sat, 31 Aug 2019 11:01:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=SHYUPv0mRqfPolnSpaf34c0XHjz5U5HBMQSrkF6d4wA=; b=TGYVPqgp5izlBoRKzDmTuT9lTCuxz86W5MbQ7VIodHAeqyh/fbRPswFjlYN1BQ7vbg BovdL5BUTUnQ3cOxnjb1r6TEeij8W4+gqf00tBnX8rEv+JdwQfgzWuHAUPKUV88CFgQG ByCAItOp3VA1VPO8phv3U/gLj+O4Y6cBFuBpZtSUmc98yLKcW/ba9J8T8Y7CnzpHP0sb QScxlAClowHW5WRbpRTJq0WwStorXSW/6MOt2QveqxGgBW2IB/y29Wel4sD8x9GzpOZX ssnawolve9VWb6BXU2DHNHQdrwxYFcpz/77wKjmnHph6NYxDo6/RqgSdWtZROy6dGOi7 OD0g== 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=SHYUPv0mRqfPolnSpaf34c0XHjz5U5HBMQSrkF6d4wA=; b=cREthuZZhVf2ywMNcPBNQ/qsHuOvQdWg2QJbB4gGLtfWy553GKAZTbIKGHPV4fHoxl Mo7BFsPBp74w4QyTsyiji8wkoIsglOyGGvt2KRjnwkpwRChbwXU07m0nosY4ey/4NyFt 2c0AcktmcLgUJZN4ivCEGIs5i+STvWsb+y7nrzDu4LZLzmq4MGfYYvd4J0eV8e3DI864 +5G1QVsQYvffMAkKpZZ1U25ruRMrXf4+9xsWOO91P3RoTia6vpFLLj+ta/mJUK/p9ywe 3nv//r+opmahE7P8N449bcxsx7t7rFcpOqquqxD43agGM800/k5ZMHRTx1+5rkPdUCYS 6/Ng== X-Gm-Message-State: APjAAAV0TSdgWCE6ZMBm9FOuBicwdgBut2kFvIpKJw1sh9B7SwEz/moF gOgaWSEvzbEMeVxbifnX/UhVsXP11TY= X-Google-Smtp-Source: APXvYqx+RdIflhmWWTLw5sSh0dwNyFD5NDQkDzwA7E550Ed4mgvw9lWhTATDgfIJwuQJXajk0VGX4g== X-Received: by 2002:a17:90a:a00d:: with SMTP id q13mr4993976pjp.114.1567274485869; Sat, 31 Aug 2019 11:01:25 -0700 (PDT) Received: from localhost.localdomain ([123.201.54.230]) by smtp.gmail.com with ESMTPSA id a23sm10672912pfo.80.2019.08.31.11.01.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 Aug 2019 11:01:25 -0700 (PDT) From: Atharva Lele To: buildroot@buildroot.org Date: Sat, 31 Aug 2019 23:31:13 +0530 Message-Id: <20190831180113.16025-2-itsatharva@gmail.com> X-Mailer: git-send-email 2.22.0 In-Reply-To: <20190831180113.16025-1-itsatharva@gmail.com> References: <20190831180113.16025-1-itsatharva@gmail.com> MIME-Version: 1.0 Subject: [Buildroot] [PATCH v2 2/2] toolchain/toolchain-wrapper: handle __FILE__ macro for reproducibility X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Atharva Lele , Thomas De Schampheleire , Thomas Petazzoni Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" Many tools use __FILE__ for debugging and __FILE__ captures the build path. This results in non-reproducible images when building in different directories. If the config uses GCC 8 or above, we use -ffile-prefix-map=old=new and let gcc take care of the path remapping in __FILE__. Since GCC versions before v8 did not have this feature, we use a dummy string in that case. Signed-off-by: Atharva Lele --- Changes v2: - New patch --- toolchain/toolchain-wrapper.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/toolchain/toolchain-wrapper.mk b/toolchain/toolchain-wrapper.mk index 88695a5b2d..6d0ae2c85b 100644 --- a/toolchain/toolchain-wrapper.mk +++ b/toolchain/toolchain-wrapper.mk @@ -23,6 +23,11 @@ TOOLCHAIN_WRAPPER_OPTS = \ ifeq ($(BR2_REPRODUCIBLE),y) TOOLCHAIN_WRAPPER_OPTS += -Wl,--build-id=none +ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_8),y) +TOOLCHAIN_WRAPPER_OPTS += -ffile-prefix-map=$(BASE_DIR)=buildroot +else +TOOLCHAIN_WRAPPER_OPTS += -D__FILE__=\"file-path-replaced-by-buildroot-for-reproducibility\" +endif endif # We create a list like '"-mfoo", "-mbar", "-mbarfoo"' so that each flag is a