On 14/01/2016 09:47, NGie Cooper wrote:
On Jan 14, 2016, at 01:27, NGie Cooper <[email protected]> wrote:
On Jan 14, 2016, at 01:22, Steven Hartland <[email protected]> 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?
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"