[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: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)

> For instance compiling using GCC 5.0 folds under GCC49. They didn't
> bother to add a new GCCXX.
> 
> FWIW, the scripts to build x86 (OvmfPkg/build.sh) is detecting which
> compiler is used and will setup the TARGET_TOOLS correctly:
> 
>    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
> 
> A couple of weeks ago I've looked at porting this script for ARM but it
> wasn't trivial to do it (i.e requiring more than a couple of hours to
> fix it).
> 
> Regards,
> 
> -- 
> Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.