Date: Thu, 14 Jan 2016 09:58:45 +0000 From: Steven Hartland <steven@multiplay.co.uk> To: NGie Cooper <yaneurabeya@gmail.com> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi Message-ID: <56977155.3040507@freebsd.org> In-Reply-To: <9A7534C4-0A2C-4DAC-981A-09868F1723DA@gmail.com> References: <201601140922.u0E9M1rV025146@repo.freebsd.org> <F3E05332-F6B1-4685-812A-FD2BBB870075@gmail.com> <9A7534C4-0A2C-4DAC-981A-09868F1723DA@gmail.com>
index | next in thread | previous in thread | raw e-mail
On 14/01/2016 09:47, NGie Cooper wrote: >> On Jan 14, 2016, at 01:27, NGie Cooper <yaneurabeya@gmail.com> wrote: >> >> >>> On Jan 14, 2016, at 01:22, Steven Hartland <smh@FreeBSD.org> wrote: >>> >>> Author: smh >>> Date: Thu Jan 14 09:22:01 2016 >>> New Revision: 293903 >>> URL: https://svnweb.freebsd.org/changeset/base/293903 >>> >>> Log: >>> Fix GCC warnings causing build failure after r293724 >>> >>> Disable some compiler warnings for GCC (non-standard compiler) fixing >>> build failures introduced by r293724, which enabled WARNS in the EFI boot >>> code, when compiling with none standard compiler (GCC). >> Disabling warnings is wrong. Here’s how arm could be fixed: >> >> $ svn diff sys/boot/ >> Index: sys/boot/common/bootstrap.h >> =================================================================== >> --- sys/boot/common/bootstrap.h (revision 293877) >> +++ sys/boot/common/bootstrap.h (working copy) >> @@ -32,6 +32,7 @@ >> #include <sys/types.h> >> #include <sys/queue.h> >> #include <sys/linker_set.h> >> +#include <time.h> >> >> /* >> * Generic device specifier; architecture-dependant >> @@ -332,12 +333,8 @@ >> extern struct arch_switch archsw; >> >> /* This must be provided by the MD code, but should it be in the archsw? */ >> -void delay(int delay); >> - >> void dev_cleanup(void); >> >> -time_t time(time_t *tloc); >> - >> #ifndef CTASSERT /* Allow lint to override */ >> #define CTASSERT(x) _CTASSERT(x, __LINE__) >> #define _CTASSERT(x, y) __CTASSERT(x, y) >> Index: sys/boot/efi/include/efiapi.h >> =================================================================== >> --- sys/boot/efi/include/efiapi.h (revision 293877) >> +++ sys/boot/efi/include/efiapi.h (working copy) >> @@ -532,6 +532,7 @@ >> typedef >> EFI_STATUS >> (EFIAPI *EFI_RESERVED_SERVICE) ( >> + VOID >> ); >> >> typedef >> >> amd64 is a bit trickier: >> >> /scratch/tmp/ngie/svn/sys/boot/efi/libefi/../include/efigop.h:75: warning: 'ms_abi' attribute directive ignored >> >> I didn’t dig into why this is happening [yet], other than there maybe being MS extensions involved? >> >> Thanks, >> -NGie > This might fix amd64: > > Index: /scratch/tmp/ngie/svn/sys/boot/efi/libefi/../include/amd64/efibind.h > =================================================================== > --- /scratch/tmp/ngie/svn/sys/boot/efi/libefi/../include/amd64/efibind.h (revision 293877) > +++ /scratch/tmp/ngie/svn/sys/boot/efi/libefi/../include/amd64/efibind.h (working copy) > @@ -160,8 +160,10 @@ > // > > #ifdef __amd64__ > +#if defined(__clang__) && (__clang_major__ >= 3 && __clang_minor__ >= 5) > #define EFIAPI __attribute__((ms_abi)) > #endif > +#endif > > #ifndef EFIAPI // Forces EFI calling conventions reguardless of compiler options > #ifdef _MSC_EXTENSIONS > Other implementations I've seen for this only define that when it's compiling with MS VCC, so that might be the more correct fix?home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?56977155.3040507>
