Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On Thursday, January 14, 2016 01:27:51 AM NGie Cooper wrote: > > > On Jan 14, 2016, at 01:22, Steven Hartlandwrote: > > > > 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 > #include > #include > +#include > > /* > * 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); > - The comment seems to be related to delay() so it should perhaps go as well? -- John Baldwin ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On 14/01/2016 09:27, NGie Cooper wrote: On Jan 14, 2016, at 01:22, Steven Hartlandwrote: 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 #include #include +#include /* * 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 for that Garret, as Ian confirmed this change fixed his immediate issue I went with it, after confirming with a full GCC tinderbox of course. I agree your changes are more correct, however I don't have an build resource ATM, so if you have time / resources to confirm they work correctly with a full CLANG and GCC tinderbox please feel LMK and I'll get it committed :) If you don't get chance before the end of the week, I'll have build resource available and will look to test then, hope this is OK? Regards Steve ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On Thu, 14 Jan 2016 09:22:01 + (UTC) Steven Hartlandwrote: > 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). > > Raised by: ian > MFC after: 2 weeks > X-MFC-With: r293268 > Sponsored by: Multiplay The attached would be a better (however untested) solution. Given we don't build boot1.efi or loader.efi with gcc it extends this to all the EFI code. AndrewIndex: sys/boot/efi/Makefile === --- sys/boot/efi/Makefile (revision 293737) +++ sys/boot/efi/Makefile (working copy) @@ -2,6 +2,9 @@ .include +# In-tree GCC does not support __attribute__((ms_abi)). +.if ${COMPILER_TYPE} != "gcc" + SUBDIR= libefi .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" @@ -16,4 +19,6 @@ SUBDIR+= loader boot1 .endif +.endif # ${COMPILER_TYPE} != "gcc" + .include Index: sys/boot/efi/boot1/Makefile === --- sys/boot/efi/boot1/Makefile (revision 293737) +++ sys/boot/efi/boot1/Makefile (working copy) @@ -4,9 +4,6 @@ .include -# In-tree GCC does not support __attribute__((ms_abi)). -.if ${COMPILER_TYPE} != "gcc" - MK_SSP= no PROG= boot1.sym @@ -96,8 +93,6 @@ CLEANFILES= boot1.efi boot1.efifat -.endif # ${COMPILER_TYPE} != "gcc" - .include beforedepend ${OBJS}: machine Index: sys/boot/efi/loader/Makefile === --- sys/boot/efi/loader/Makefile (revision 293737) +++ sys/boot/efi/loader/Makefile (working copy) @@ -4,9 +4,6 @@ .include -# In-tree GCC does not support __attribute__((ms_abi)). -.if ${COMPILER_TYPE} != "gcc" - MK_SSP= no PROG= loader.sym @@ -113,8 +110,6 @@ ${LDSCRIPT} LDADD= ${LIBFICL} ${LIBEFI} ${LIBFDT} ${LIBEFI_FDT} ${LIBSTAND} -.endif # ${COMPILER_TYPE} != "gcc" - .include beforedepend ${OBJS}: machine ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On 14/01/2016 10:13, Andrew Turner wrote: On Thu, 14 Jan 2016 09:22:01 + (UTC) Steven Hartlandwrote: 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). Raised by: ian MFC after: 2 weeks X-MFC-With: r293268 Sponsored by:Multiplay The attached would be a better (however untested) solution. Given we don't build boot1.efi or loader.efi with gcc it extends this to all the EFI code. Andrew Not sure I like that idea as it would prevent people using EFI from having a working system if they also choose GCC. ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
> On Jan 14, 2016, at 01:22, Steven Hartlandwrote: > > 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 #include #include +#include /* * 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 ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On 14/01/2016 09:47, NGie Cooper wrote: On Jan 14, 2016, at 01:27, NGie Cooperwrote: On Jan 14, 2016, at 01:22, Steven Hartland 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 #include #include +#include /* * 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) #defineEFIAPI __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? ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On Thu, 14 Jan 2016 10:16:37 + Steven Hartlandwrote: > On 14/01/2016 10:13, Andrew Turner wrote: > > On Thu, 14 Jan 2016 09:22:01 + (UTC) > > Steven Hartland 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). > >>Raised by: ian > >>MFC after: 2 weeks > >>X-MFC-With: r293268 > >>Sponsored by: Multiplay > > The attached would be a better (however untested) solution. Given we > > don't build boot1.efi or loader.efi with gcc it extends this to all > > the EFI code. > > > > Andrew > Not sure I like that idea as it would prevent people using EFI from > having a working system if they also choose GCC. > They already don't have loader.efi or boot1.efi with gcc, how will this patch break their existing system? Andrew ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
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). Raised by:ian MFC after:2 weeks X-MFC-With: r293268 Sponsored by: Multiplay Modified: head/sys/boot/arm/uboot/Makefile head/sys/boot/efi/fdt/Makefile head/sys/boot/efi/libefi/Makefile Modified: head/sys/boot/arm/uboot/Makefile == --- head/sys/boot/arm/uboot/MakefileThu Jan 14 09:20:25 2016 (r293902) +++ head/sys/boot/arm/uboot/MakefileThu Jan 14 09:22:01 2016 (r293903) @@ -8,6 +8,8 @@ NEWVERSWHAT="U-Boot loader" ${MACHINE_A BINDIR?= /boot INSTALLFLAGS= -b WARNS?=1 +CWARNFLAGS.gcc+= -Wno-int-to-pointer-cast + # Address at which ubldr will be loaded. # This varies for different boards and SOCs. UBLDR_LOADADDR?= 0x100 Modified: head/sys/boot/efi/fdt/Makefile == --- head/sys/boot/efi/fdt/Makefile Thu Jan 14 09:20:25 2016 (r293902) +++ head/sys/boot/efi/fdt/Makefile Thu Jan 14 09:22:01 2016 (r293903) @@ -7,6 +7,8 @@ LIB= efi_fdt INTERNALLIB= WARNS?=6 +CWARNFLAGS.gcc+= -Wno-strict-prototypes +CWARNFLAGS.gcc+= -Wno-redundant-decls SRCS= efi_fdt.c Modified: head/sys/boot/efi/libefi/Makefile == --- head/sys/boot/efi/libefi/Makefile Thu Jan 14 09:20:25 2016 (r293902) +++ head/sys/boot/efi/libefi/Makefile Thu Jan 14 09:22:01 2016 (r293903) @@ -3,6 +3,7 @@ LIB= efi INTERNALLIB= WARNS?=2 +CWARNFLAGS.gcc+= -Wno-attributes SRCS= delay.c efi_console.c efinet.c efipart.c errno.c handles.c \ libefi.c time.c ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
> On Jan 14, 2016, at 01:27, NGie Cooperwrote: > > >> On Jan 14, 2016, at 01:22, Steven Hartland 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 > #include > #include > +#include > > /* > * 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) #defineEFIAPI __attribute__((ms_abi)) #endif +#endif #ifndef EFIAPI // Forces EFI calling conventions reguardless of compiler options #ifdef _MSC_EXTENSIONS ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On 14/01/2016 10:24, Andrew Turner wrote: On Thu, 14 Jan 2016 10:16:37 + Steven Hartlandwrote: On 14/01/2016 10:13, Andrew Turner wrote: On Thu, 14 Jan 2016 09:22:01 + (UTC) Steven Hartland 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). Raised by: ian MFC after: 2 weeks X-MFC-With: r293268 Sponsored by: Multiplay The attached would be a better (however untested) solution. Given we don't build boot1.efi or loader.efi with gcc it extends this to all the EFI code. Andrew Not sure I like that idea as it would prevent people using EFI from having a working system if they also choose GCC. They already don't have loader.efi or boot1.efi with gcc, how will this patch break their existing system? Andrew Ahh I see what you mean. I see there's some discussion about this on IRC, if you can reply to this thread and let me know the conclusion, in case I miss it, I'll make the relevant changes :) Regards Steve ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On Thu, Jan 14, 2016 at 2:47 AM, NGie Cooperwrote: > > > On Jan 14, 2016, at 01:27, NGie Cooper wrote: > > > > > >> On Jan 14, 2016, at 01:22, Steven Hartland 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 > > #include > > #include > > +#include > > > > /* > > * 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) > #defineEFIAPI __attribute__((ms_abi)) > #endif > +#endif > > #ifndef EFIAPI // Forces EFI calling conventions > reguardless of compiler options > #ifdef _MSC_EXTENSIONS > Sure this fix is right? If you aren't marking the ABI correctly, how could this possibly work? Warner ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On 14/01/2016 16:53, Warner Losh wrote: On Thu, Jan 14, 2016 at 2:47 AM, NGie Cooper> wrote: > On Jan 14, 2016, at 01:27, NGie Cooper > wrote: > > >> On Jan 14, 2016, at 01:22, Steven Hartland 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 > #include > #include > +#include > > /* > * 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) #defineEFIAPI __attribute__((ms_abi)) #endif +#endif #ifndef EFIAPI // Forces EFI calling conventions reguardless of compiler options #ifdef _MSC_EXTENSIONS Sure this fix is right? If you aren't marking the ABI correctly, how could this possibly work? Warner No I don't think it is, Andrew's fix is the most appropriate (disable building of all EFI on none supported platforms). Currently I intend to backout 293903 and apply this change instead. I'm just waiting on a full tinderbox under GCC to finish. Regards Steve ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"
Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi
On 14/01/2016 15:55, John Baldwin wrote: On Thursday, January 14, 2016 01:27:51 AM NGie Cooper wrote: On Jan 14, 2016, at 01:22, Steven Hartlandwrote: 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 #include #include +#include /* * 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); - The comment seems to be related to delay() so it should perhaps go as well? delay is actually provided by libefi but nothing else in sys/boot, so I cant see why this was ever needed, possibly a hang over? ___ svn-src-head@freebsd.org mailing list https://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"