Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jan 2016 01:47:50 -0800
From:      NGie Cooper <yaneurabeya@gmail.com>
To:        Steven Hartland <smh@FreeBSD.org>
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:  <9A7534C4-0A2C-4DAC-981A-09868F1723DA@gmail.com>
In-Reply-To: <F3E05332-F6B1-4685-812A-FD2BBB870075@gmail.com>
References:  <201601140922.u0E9M1rV025146@repo.freebsd.org> <F3E05332-F6B1-4685-812A-FD2BBB870075@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

> On Jan 14, 2016, at 01:27, NGie Cooper <yaneurabeya@gmail.com> wrote:
>=20
>=20
>> On Jan 14, 2016, at 01:22, Steven Hartland <smh@FreeBSD.org> wrote:
>>=20
>> Author: smh
>> Date: Thu Jan 14 09:22:01 2016
>> New Revision: 293903
>> URL: https://svnweb.freebsd.org/changeset/base/293903
>>=20
>> Log:
>> Fix GCC warnings causing build failure after r293724
>>=20
>> 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).
>=20
> Disabling warnings is wrong. Here=E2=80=99s how arm could be fixed:
>=20
> $ svn diff sys/boot/
> Index: sys/boot/common/bootstrap.h
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- 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>
>=20
> /*
>  * Generic device specifier; architecture-dependant=20
> @@ -332,12 +333,8 @@
> extern struct arch_switch archsw;
>=20
> /* This must be provided by the MD code, but should it be in the =
archsw? */
> -void   delay(int delay);
> -
> void   dev_cleanup(void);
>=20
> -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
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> --- 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
>     );
>=20
> typedef
>=20
> amd64 is a bit trickier:
>=20
> /scratch/tmp/ngie/svn/sys/boot/efi/libefi/../include/efigop.h:75: =
warning: 'ms_abi' attribute directive ignored
>=20
> I didn=E2=80=99t dig into why this is happening [yet], other than =
there maybe being MS extensions involved?
>=20
> Thanks,
> -NGie

This might fix amd64:

Index: =
/scratch/tmp/ngie/svn/sys/boot/efi/libefi/../include/amd64/efibind.h
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- /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 @@
 //
=20
 #ifdef __amd64__
+#if defined(__clang__) && (__clang_major__ >=3D 3 && __clang_minor__ >=3D=
 5)
 #define        EFIAPI  __attribute__((ms_abi))
 #endif
+#endif
=20
 #ifndef EFIAPI                  // Forces EFI calling conventions =
reguardless of compiler options=20
     #ifdef _MSC_EXTENSIONS




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?9A7534C4-0A2C-4DAC-981A-09868F1723DA>