lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 21 Aug 2018 16:18:34 +0900
From:   Masahiro Yamada <yamada.masahiro@...ionext.com>
To:     Frank Rowand <frowand.list@...il.com>
Cc:     Rob Herring <robh+dt@...nel.org>,
        DTML <devicetree@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] scripts/dtc: consolidate include path options in Makefile

Hi Frank,


2018-08-21 14:37 GMT+09:00 Frank Rowand <frowand.list@...il.com>:
> On 08/20/18 19:08, Masahiro Yamada wrote:
>> Hi Frank,
>>
>> 2018-08-21 10:31 GMT+09:00 Frank Rowand <frowand.list@...il.com>:
>>> On 08/20/18 14:32, Rob Herring wrote:
>>>> On Mon, Aug 20, 2018 at 1:55 PM Frank Rowand <frowand.list@...il.com> wrote:
>>>>>
>>>>> On 07/03/18 18:59, Masahiro Yamada wrote:
>>>>>> It is tedious to specify extra compiler options for every file.
>>>>>> HOST_EXTRACFLAGS is useful to add options to all files in a
>>>>>> directory.
>>>>>>
>>>>>> -I$(src)/libfdt is needed for all the files in this directory
>>>>>> to include libfdt_env.h etc. from scripts/dtc/libfdt/.
>>>>>>
>>>>>> On the other hand, -I$(src) is used to include check-in headers
>>>>>> from generated C files.  Thus, I added it only to dtc-lexer.lex.o
>>>>>> and dtc-parser.tab.o .
>>>>>>
>>>>>> Signed-off-by: Masahiro Yamada <yamada.masahiro@...ionext.com>
>>>>>> ---
>>>>>>
>>>>>>  scripts/dtc/Makefile | 18 ++++--------------
>>>>>>  1 file changed, 4 insertions(+), 14 deletions(-)
>>>>>>
>>>>>> diff --git a/scripts/dtc/Makefile b/scripts/dtc/Makefile
>>>>>> index 9cac65b..1c943e0 100644
>>>>>> --- a/scripts/dtc/Makefile
>>>>>> +++ b/scripts/dtc/Makefile
>>>>>> @@ -9,21 +9,11 @@ dtc-objs    := dtc.o flattree.o fstree.o data.o livetree.o treesource.o \
>>>>>>  dtc-objs     += dtc-lexer.lex.o dtc-parser.tab.o
>>>>>>
>>>>>>  # Source files need to get at the userspace version of libfdt_env.h to compile
>>>>>> +HOST_EXTRACFLAGS := -I$(src)/libfdt
>>>>>
>>>>> Shouldn't that be += instead of :=?
>>>>
>>>> I don't think so. The definition is local to the file (and reset
>>>> before each makefile is included).
>>>>
>>>> Rob
>>>>
>>>
>>> Every other place where HOST_EXTRACFLAGS is assigned a value, += is used
>>> instead of :=, including the example in Documentation/kbuild/makefiles.txt
>>>
>>> What makes scripts/dtc/Makefile different than the other makefiles?
>>>
>>> -Frank
>>>
>>
>>
>> := and += work in the same way in here.
>
> Unless I do: HOST_EXTRACFLAGS=xxx make
> where "xxx" is some random flag I feel like adding in a particular build.



This is not the intended usage of HOST_EXTRACFLAGS.

HOST_EXTRACFLAGS is supposed to be set by Makefile in the kernel tree.


Documentation/kbuild/makefiles.txt explains this:

       To set flags that will take effect for all host programs created
       in that Makefile, use the variable HOST_EXTRACFLAGS.



If you want to pass additional host compiler flags,
please use HOSTCFLAGS instead.


Documentation/kbuild/kbuild.txt lists officially supported
environment variables / command line variables.

    HOSTCFLAGS
    --------------------------------------------------
    Additional flags to be passed to $(HOSTCC) when building host programs.




Maybe I should add

HOST_EXTRACFLAGS   :=
HOST_EXTRACXXFLAGS :=

to the top of scripts/Makefile.build
to reset the variables explicitly
in case people try to abuse them.





-- 
Best Regards
Masahiro Yamada

Powered by blists - more mailing lists