|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] raisin: enable ovmf build for arm64
> On 13 okt. 2015, at 15:48, Stefano Stabellini
> <stefano.stabellini@xxxxxxxxxxxxx> wrote:
>
> On Tue, 13 Oct 2015, Ard Biesheuvel wrote:
>>> On 13 okt. 2015, at 15:31, Julien Grall <julien.grall@xxxxxxxxxx> wrote:
>>>
>>>>> On 13/10/15 14:18, Stefano Stabellini wrote:
>>>>>> On Tue, 13 Oct 2015, Ian Campbell wrote:
>>>>>> On Tue, 2015-10-13 at 13:49 +0100, Stefano Stabellini wrote:
>>>>>> I didn't git clean enough. You are right, only -t GCC48 is required.
>>>>>
>>>>> What if only e.g. gcc-4.9 is available though?
>>>>
>>>> It is just the no -t build that doesn't work. As far as I can tell
>>>> looking at BaseTools/Conf/tools_def.template there is no difference
>>>> between -t GCC49, -t GCC48 and -t GCC47 in terms of gcc flags.
>>>
>>> The differences may be more subtle. I would be surprised if they
>>> duplicate code just for having the variable name GCCXX matching the
>>> version of the compiler.
>>>
>>
>> That was actually the case starting out, (i.e., lots of toolchain
>> definitions resolving to the same set of options) simply because a few guys
>> thought it makes sense, and those guys happen to be in charge :-)
>>
>> But in the mean time, as Stefano found out, the tiny code model we prefer
>> for AArch64 (which uses relative symbol references but without the 4k
>> alignment requirement imposed by the small model) is only available under
>> gcc 4.9 and up so everything below that uses the large model (absolute
>> symbol references only)
>
> Do you mean is only available for gcc <= 4.9 and gcc >= 4.7 ?
>
The first gcc version to support the AArch64 tiny model is 4.9, but Linaro
backported it so some variants of 4.8 support it as well.
> Do you think it is best to just force -t GCC48 independently from the
> actual gcc version? Or should we use some kind of logic like the one
> below:
>
For now, just using GCC48 should work fine, but as I said, the tiny model is
the recommended model so if you have 4.9, it is preferred imo. But other than
that, the builds should be mostly identical.
>
>>> gcc_version=$(gcc -v 2>&1 | tail -1 | awk '{print $3}')
>>> case $gcc_version in
>>> 4.5.*)
>>> TARGET_TOOLS=GCC45
>>> ;;
>>> 4.6.*)
>>> TARGET_TOOLS=GCC46
>>> ;;
>>> 4.7.*)
>>> TARGET_TOOLS=GCC47
>>> ;;
>>> 4.8.*)
>>> TARGET_TOOLS=GCC48
>>> ;;
>>> 4.9.*|4.1[0-9].*|5.*.*)
>>> TARGET_TOOLS=GCC49
>>> ;;
>>> *)
>>> TARGET_TOOLS=GCC44
>>> ;;
>>> esac
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |