svn commit: r294029 - in head/sys/boot/efi: . boot1 loader

Warner Losh imp at bsdimp.com
Thu Jan 14 21:53:23 UTC 2016


On Thu, Jan 14, 2016 at 2:46 PM, Pedro Giffuni <pfg at freebsd.org> wrote:

>
>
> El 14/01/2016 a las 16:27, Steven Hartland escribió:
>
>>
>>
>> On 14/01/2016 20:57, Nathan Whitehorn wrote:
>>
>>>
>>>
>>> On 01/14/16 10:53, Steven Hartland wrote:
>>>
>>>> Author: smh
>>>> Date: Thu Jan 14 18:53:54 2016
>>>> New Revision: 294029
>>>> URL: https://svnweb.freebsd.org/changeset/base/294029
>>>>
>>>> Log:
>>>>    Only build EFI components on supported compilers
>>>>       As the in-tree GCC does not support __attribute__((ms_abi)) EFI
>>>> can only
>>>>    be built with Clang.
>>>>       The EFI loader and boot1 validated this, but unused libefi was
>>>> still built
>>>>    causing issues under GCC after warnings where enabled by r293724.
>>>>       Disable building all of EFI when the selected compiler is GCC.
>>>>
>>>
>>> How about with newer-than-4.2 versions of GCC? Surely this *is*
>>> supported in newer compilers. Do we need some build infrastructure to how
>>> about the compiler version as well as type?
>>> -Nathan
>>>
>>
>> If it is then even without this change you wouldn't have have got the EFI
>> loader or boot1, just an unused libefi.
>>
>> This change ensures that builds with in-tree Clang and GCC build on all
>> platforms, even if GCC doesn't build the EFI components.
>>
>> If someone that uses none in-tree GCC has some time to dedicate to make
>> this work that would be great :)
>>
>>
> Specially since the gcc-4.2 compiler will be axed mercilessly before
> 11.0-RELEASE.


We hope, you mean.

Never versions of gcc will be supported where they work, and will be
required for some platforms where clang isn't quite there.
It looks to be added somewhere around the gcc 4.7 or  4.8 time frame,
though I couldn't find it in the release notes. The latest
attribute docs have this listed as supported. I suspect that 4.9 or 5.0
will be the earliest version of gcc to be realistically
supported with the external toolchain...

Warner


More information about the svn-src-all mailing list