svn commit: r293724 - in head/sys/boot: arm64/libarm64 common efi/boot1 efi/fdt efi/include efi/include/arm64 efi/libefi efi/loader efi/loader/arch/amd64 efi/loader/arch/arm efi/loader/arch/arm64 i...

Steven Hartland steven at multiplay.co.uk
Wed Jan 13 01:17:42 UTC 2016



On 13/01/2016 00:54, Ian Lepore wrote:
> On Wed, 2016-01-13 at 00:43 +0000, Steven Hartland wrote:
>> On 13/01/2016 00:41, Ian Lepore wrote:
>>> On Tue, 2016-01-12 at 02:17 +0000, Steven Hartland wrote:
>>>> Author: smh
>>>> Date: Tue Jan 12 02:17:39 2016
>>>> New Revision: 293724
>>>> URL: https://svnweb.freebsd.org/changeset/base/293724
>>>>
>>>> Log:
>>>>     Enable warnings in EFI boot code
>>>>     
>>>>     Set WARNS if not set for EFI boot code and fix the issues
>>>> highlighted by
>>>>     setting it.
>>>>     
>>> This appears to break arm builds when gcc is the compiler:
>>>
>>> cc1: warnings being treated as errors
>>> In file included from
>>> /local/build/staging/freebsd/rm92/src/sys/boot/efi/fdt/../include/e
>>> fi.h:52,
>>>                    from
>>> /local/build/staging/freebsd/rm92/src/sys/boot/efi/fdt/efi_fdt.c:35
>>> :
>>> /local/build/staging/freebsd/rm92/src/sys/boot/efi/fdt/../include/e
>>> fiapi.h:535: warning: function declaration isn't a prototype
>>> In file included from
>>> /local/build/staging/freebsd/rm92/src/sys/boot/efi/fdt/efi_fdt.c:39
>>> :
>>> /local/build/staging/freebsd/rm92/src/sys/boot/efi/fdt/../../common
>>> /bootstrap.h:332: warning: redundant redeclaration of 'delay'
>>> /local/build/staging/freebsd/rm92/src/sys/boot/efi/fdt/../include/e
>>> filib.h:53: warning: previous declaration of 'delay' was here
>>> /local/build/staging/freebsd/rm92/src/sys/boot/efi/fdt/../../common
>>> /bootstrap.h:336: warning: redundant redeclaration of 'time'
>>> /bsdstg/rm92/obj/arm.arm/local/build/staging/freebsd/rm92/src/tmp/u
>>> sr/include/time.h:154: warning: previous declaration of 'time' was
>>> here
>>>
>>> -- Ian
>> Passes a full tinderbox so I assume your forcing gcc for some reason?
> For several reasons.  The fact that gcc isn't the default compiler
> doesn't mean that it's okay for code to not compile with gcc; it's
> still a supported compiler for arm.
>
> -- Ian
Not disagreeing with that, was just curious that's all ;-)

The warnings you list seem to be detail, typical gcc, specifically:

sys/boot/efi/fdt/../include/efiapi.h:535: warning: function declaration isn't a prototype

I'm guessing its being picky and wants EFI_RESERVED_SERVICE to have void in there due to no params.

Does the following help:

Index: sys/boot/efi/fdt/Makefile
===================================================================
--- sys/boot/efi/fdt/Makefile   (revision 293796)
+++ sys/boot/efi/fdt/Makefile   (working copy)
@@ -7,6 +7,8 @@
  LIB=           efi_fdt
  INTERNALLIB=
  WARNS?=                6
+CWARNFLAGS.gcc+=       -Wno-strict-prototypes
+CWARNFLAGS.gcc+=       -Wno-redundant-decls
  
  SRCS=          efi_fdt.c
  
@@ -34,4 +36,6 @@ CLEANFILES+=  machine
  
  .include <bsd.lib.mk>
  
+CFLAGS+=       ${CWARNFLAGS.${COMPILER_TYPE}}
+
  beforedepend ${OBJS}: machine

Could you detail detail how you're switching to gcc so I an run a full pass on that too?

	Regards
	Steve




More information about the svn-src-head mailing list