On Wed, Feb 21, 2018 at 1:57 PM, Masahiro Yamada
<[email protected]> wrote:
> 2018-02-21 19:52 GMT+09:00 Arnd Bergmann <[email protected]>:
>> On Wed, Feb 21, 2018 at 11:20 AM, Masahiro Yamada
>> <[email protected]> wrote:
>>> 2018-02-21 18:56 GMT+09:00 Arnd Bergmann <[email protected]>:
>>>> On Wed, Feb 21, 2018 at 8:38 AM, Masahiro Yamada
>>>> <[email protected]> wrote:
>>>>> 2018-02-20 0:18 GMT+09:00 Ulf Magnusson <[email protected]>:
>
> Hmm, I think I can implement those somehow.
> But, I hope we do not have many instances like this...
>
>
> If you know more naive cases, please share your knowledge.
>
One case that comes to mind would be architecture level selection on 32-bit
ARM, which is roughly this (I probably have some details wrong, but you
get the idea):
- older compilers don't support the latest architecture setting (-march=armv8
or -march=armv7ve)
- newer compilers no longer support really old architectures (-march=armv4)
- setting -mthumb requires setting one of -march=armv7-a, armv7ve, armv7-m or
armv8 if the compiler doesn't default to those
- on a compiler that defaults to -marm, setting -march=armv7-m requires
setting -mthumb (IIRC)
- really old compilers only support OABI, but not EABI
- newer compilers no longer support OABI
- mthumb requires EABI
- armv6 and higher are subtly broken with OABI, but only when using
certain inline assembly with 64-bit arguments in register pairs.
I think we just shouldn't try to capture all of the above correctly in Kconfig
conditionals.
Arnd