[U-Boot] [PATCH v2] ARM: move -march=* and -mtune= options to arch/arm/Makefile
Jan Kiszka
jan.kiszka at web.de
Sat Apr 11 08:18:57 CEST 2015
On 2015-04-11 05:49, Stephen Warren wrote:
> On 03/27/2015 11:06 AM, Albert ARIBAUD wrote:
>> On Fri, 27 Feb 2015 02:40:33 +0900, Masahiro Yamada <yamada.m at jp.panasonic.com> wrote:
>>> My main motivations for this commit are:
>>>
>>> [1] Follow the arch/arm/Makefile style of Linux Kernel
>>>
>>> [2] Maintain compiler options systematically
>>> Currently, we give -march=* and -mtune=* options inconsistently:
>>> Only some of the CPUs pass -march=* and -mtune=* options.
>>> By collecting such options into the single place arch/arm/Makefile
>>> we can tell which options are missing at a glance.
>>>
>>> [3] Prepare for deprecating arch/*/cpu/*/config.mk
>>>
>>> Note:
>>> This commit just moves the compiler options so as not to change
>>> the behavior at all. It does not care about the correctness of
>>> the given options. Fox example, "-march=armv5te" might be better
>>> than "-march=armv4" for ARM946EJS, but it is beyond the scope this
>>> commit. Also, filling the missing -march=* and -tune=* is left
>>> to follow-up patches.
> ...
>> Applied to u-boot-arm/master, thanks!
>
> This patch breaks Tegra (at least Seaboard, and I'd guess all Tegra
> boards). Reverting it solves the problem.
Yes, just bisected the same problem on the TK1 down to this commit.
>
> It causes the SPL to be build for ARMv7 even though it should be built
> for an earlier architecture. I added a $(warning) to arch/arm/Makefile,
> and it prints:
>
> arch/arm/Makefile:37: SPL_BUILD FLAGS -D__ARM__ -marm
> -mno-thumb-interwork -mabi=aapcs-linux -mword-relocations
> -mno-unaligned-access -ffunction-sections -fdata-sections -fno-common
> -ffixed-r9 -msoft-float -pipe -march=armv7-a
>
> arch/arm/Makefile:37: SPL_BUILD y FLAGS -D__ARM__ -marm
> -mno-thumb-interwork -mabi=aapcs-linux -ffunction-sections
> -fdata-sections -fno-common -ffixed-r9 -msoft-float -pipe -march=armv7-a
>
> Note the second line says ARMv7, even though CONFIG_SPL_BUILD is set, so
> it shouldn't.
>
Tegra seems to be the only target so far that changes the target CPU for
the SPL build:
#config.mk
...
ARCH := $(CONFIG_SYS_ARCH:"%"=%)
CPU := $(CONFIG_SYS_CPU:"%"=%)
ifdef CONFIG_SPL_BUILD
ifdef CONFIG_TEGRA
CPU := arm720t
endif
endif
...
How to model this with that new compiler switch setup?
Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150411/1d7e679c/attachment.sig>
More information about the U-Boot
mailing list