Re: svn commit: r293903 - in head/sys/boot: arm/uboot efi/fdt efi/libefi

2016-01-14 Thread John Baldwin
On Thursday, January 14, 2016 01:27:51 AM 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);
> -

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

2016-01-14 Thread Steven Hartland



On 14/01/2016 09: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 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

2016-01-14 Thread Andrew Turner
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.

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

2016-01-14 Thread Steven Hartland



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.

___
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

2016-01-14 Thread NGie Cooper

> 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
___
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

2016-01-14 Thread Steven Hartland



On 14/01/2016 09:47, 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

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

2016-01-14 Thread Andrew Turner
On Thu, 14 Jan 2016 10:16:37 +
Steven Hartland  wrote:

> 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

2016-01-14 Thread Steven Hartland
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

2016-01-14 Thread NGie Cooper

> 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

___
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

2016-01-14 Thread Steven Hartland


On 14/01/2016 10:24, Andrew Turner wrote:

On Thu, 14 Jan 2016 10:16:37 +
Steven Hartland  wrote:


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

2016-01-14 Thread Warner Losh
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
___
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

2016-01-14 Thread Steven Hartland



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

2016-01-14 Thread Steven Hartland



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 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);
-

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"