[U-Boot] [PATCH] fdt: Enhance dts/Makefile to be all things to all men

Stephen Warren
2013-05-29T17:02:45Z

On 05/28/2013 03:08 PM, Wolfgang Denk wrote:
> Dear Simon Glass,
>
> In message <1369769778-12455-1-git-send-email-sjg@chromium.org> you wrote:
>>
>> Some device tree files use the word 'linux' which gets replaced with '1' by
>> many version of gcc, including version 4.7. So undefine this.
>
> I think this is not a good way to address this issue. The GCC
> documentation (section "System-specific Predefined Macros" [1])
> desribes how this should be handled. The "correct" (TM) way to fix
> this is by adding "-ansi" or any "-std" option that requests strict
> conformance to the compiler/preprocessor command line.
>
> [1] http://gcc.gnu.org/onlinedocs/cpp/System_002dspecific-Predefined-Macros.html#System_002dspecific-Predefined-Macros

-ansi at least was considered when the Linux kernel patches for dtc+cpp
support were being developed, but it was rejected. While it possibly
does solve this specific issue fine, there were other more general
problems; IIRC (and I might not) it completely changes the way macro
expansion happens, which results in it being pretty useless. Hence, "-x
assembler-with-cpp" was chosen over e.g. "-ansi".