From patchwork Fri Oct 13 09:51:45 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Masahiro Yamada X-Patchwork-Id: 115721 Delivered-To: patch@linaro.org Received: by 10.140.22.163 with SMTP id 32csp529945qgn; Fri, 13 Oct 2017 02:52:25 -0700 (PDT) X-Google-Smtp-Source: AOwi7QBdQzEHD0/JMi+xaJttNTgr7tJF4bvqAb9sLVDlVxnEqbJ2VhUT9AJQddSAgYgX3PZENDI1 X-Received: by 10.80.201.12 with SMTP id o12mr1390117edh.98.1507888344928; Fri, 13 Oct 2017 02:52:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1507888344; cv=none; d=google.com; s=arc-20160816; b=fuzc+dvylW4VHDGSrYPhxnTP4MyuMHSa7/y3500PZFbwW51NVZ9lvqA7dxguEW+Gxh N3OMOoIgot6Jeo3D5TWwacQSndmQl0ojSLW273aPrvuwAt84sfngyqwxo0K11TCvG++m kqx+/HeK5CrmTdgYDzd5c/eAvCFPNdDFhnIREJPI12OkHpFJriiNirejd2DlbyLKY0hQ DBzRlnu5EWWQA4Vvcbyb4GStRCAab8ykXZ6j4G8YaqcYyvg3A8HL6cIzvCMbAOjGUPhW CYCkMIkzARVnuZP1H5XABNhIYzUomSVAtMk78R4+Ak+YT9HRbDFUJRTwmDutcNhu8y8B JDWg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:mime-version :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:cc:references:in-reply-to:message-id :date:to:from:dkim-signature:dkim-filter:arc-authentication-results; bh=ZF3asI2fbc85pep8YPF4nuL6NU1CI1xkrFI1oQTkh6Y=; b=bdEs1ZsmEKJlIsf2C7uy48oB8aCYu3R6C7od39lhI+5tNG1RHBzBhWfoE/OLa8dHxe m5pjklsNpDHsX7YSIO3YYy4pSDAMh4CUG5r6qr9751o7b9slv40HIWA/JbwpSlabCyU8 WY54LY2NVJWiRSz/ROm9uH65gb2BpLteC4E8afJuDL4yK9gvjWKPo866Zcf+Cg/3D/kY SjisKT7fU4itrkBMpp18niWCI/mPMxTVOGo6Os5tGrm+NNRG9/YjCkTjjDwaEJ3Sx7Rj qSKkHavp3e+fHB5uP1yfOClKPte0AoOiYnq9I4ANL7fHi7Oo5hnqTJ6vMyfVZgJfoBMR fTyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@nifty.com header.s=dec2015msa header.b=tMfDK5nO; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de Return-Path: Received: from lists.denx.de (dione.denx.de. [81.169.180.215]) by mx.google.com with ESMTP id x1si650988edc.447.2017.10.13.02.52.24; Fri, 13 Oct 2017 02:52:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) client-ip=81.169.180.215; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@nifty.com header.s=dec2015msa header.b=tMfDK5nO; spf=pass (google.com: best guess record for domain of u-boot-bounces@lists.denx.de designates 81.169.180.215 as permitted sender) smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by lists.denx.de (Postfix, from userid 105) id 1D0DAC21F6B; Fri, 13 Oct 2017 09:52:20 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=T_DKIM_INVALID autolearn=unavailable autolearn_force=no version=3.4.0 Received: from lists.denx.de (localhost [IPv6:::1]) by lists.denx.de (Postfix) with ESMTP id 8BBC8C21C59; Fri, 13 Oct 2017 09:52:16 +0000 (UTC) Received: by lists.denx.de (Postfix, from userid 105) id B60E2C21E6F; Fri, 13 Oct 2017 09:52:14 +0000 (UTC) Received: from conuserg-10.nifty.com (conuserg-10.nifty.com [210.131.2.77]) by lists.denx.de (Postfix) with ESMTPS id 9C8BBC21C46 for ; Fri, 13 Oct 2017 09:52:13 +0000 (UTC) Received: from pug.e01.socionext.com (p14092-ipngnfx01kyoto.kyoto.ocn.ne.jp [153.142.97.92]) (authenticated) by conuserg-10.nifty.com with ESMTP id v9D9plP6031812; Fri, 13 Oct 2017 18:51:50 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-10.nifty.com v9D9plP6031812 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1507888310; bh=NyEnJhsc/hpJYbwH7We5Sh2j225yNh+dUrmWMxW5cSs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tMfDK5nOWGZdbUDYkFO0MwOLAfSNJ77UerPVcRycsCnM8V9NXl5fkUpaNUsUt2wpp QfZDaeKvcvtZCcDGNXGNxRNMdyzdEapEUNGeijjZqqZ2f1WfqM/2sRqV4NxqQMewrR R2x3PF+tp5JjHk/clw3p1ht3xkN7r236FyiFKsTb/9uclkzlx5VzTVIxsKXnL7xIvz WjwAAt0bmMKrqq31EQOR2U2HksW64/qZWB1i0JDmUmVbtsEmlMSm9A1r/lVfvyNpob So9oDQX5715ETJWdQGSEh2RgjCeqB2BW8OcsJODImAZpSycYwJqepw3g1QptQhjue/ Vb+lFk4ZTNkwQ== X-Nifty-SrcIP: [153.142.97.92] From: Masahiro Yamada To: u-boot@lists.denx.de Date: Fri, 13 Oct 2017 18:51:45 +0900 Message-Id: <1507888305-20628-4-git-send-email-yamada.masahiro@socionext.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1507888305-20628-1-git-send-email-yamada.masahiro@socionext.com> References: <1507888305-20628-1-git-send-email-yamada.masahiro@socionext.com> Cc: Tom Rini Subject: [U-Boot] [PATCH v2 3/3] kbuild: redefine __FILE__ as relative path from $(srctree) if possible X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.18 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" Since Kbuild runs in the objtree, __FILE__ can be a very long path depending of $(srctree). If objtree is a child of srctree, the situation is a bit better. ($(srctree) is "..") For other cases of out-of-tree build, filenames in WARN_ON() etc. are still an absolute path. It also means the U-Boot image depends on where it was built. Here, the idea is to redefine __FILE__ as the relative path from $(srctree), but doing so causes a compiler warning: warning: "__FILE__" redefined [-Wbuiltin-macro-redefined] The option -Wno-builtin-macro-redefined can suppress it, but it is only recognized by GCC 4.4 or newer. Redefine __FILE__ only when possible. Signed-off-by: Masahiro Yamada --- Changes in v2: - Rephrase comments for clarification - Fix a typo Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Makefile b/Makefile index 888486b..1ff312a 100644 --- a/Makefile +++ b/Makefile @@ -1334,6 +1334,15 @@ prepare0: archprepare FORCE # All the preparing.. prepare: prepare0 +# If possible, redefine __FILE__ as relative path from $(srctree). +# $$ is needed to evaluate the variables in sub-directories. +ifeq ($(call cc-option-yn,-Wno-builtin-macro-redefined),y) +KBUILD_CFLAGS += -Wno-builtin-macro-redefined \ + -D__FILE__=$$(call stringify,$$(src)/$$(notdir $$<)) +endif +# CAUTION: Do not add any reference to KBUILD_CFLAGS below this line. +# $(call cc-option,...) etc. may return wrong result. + # Generate some files # ---------------------------------------------------------------------------