From owner-svn-src-head@freebsd.org Wed Jan 11 21:42:45 2017 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 10D11CAB1F8 for ; Wed, 11 Jan 2017 21:42:45 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from outbound1b.ore.mailhop.org (outbound1b.ore.mailhop.org [54.200.247.200]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E2838143E for ; Wed, 11 Jan 2017 21:42:44 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: ec1eae4e-d846-11e6-8c89-112185c90658 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.78.92.27 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.78.92.27]) by outbound1.ore.mailhop.org (Halon) with ESMTPSA id ec1eae4e-d846-11e6-8c89-112185c90658; Wed, 11 Jan 2017 21:43:00 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id v0BLgahN001909; Wed, 11 Jan 2017 14:42:36 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1484170956.86335.17.camel@freebsd.org> Subject: Re: svn commit: r311929 - head/sys/boot/common From: Ian Lepore To: Ngie Cooper , Dimitry Andric Cc: "src-committers@freebsd.org" , "svn-src-all@freebsd.org" , "svn-src-head@freebsd.org" Date: Wed, 11 Jan 2017 14:42:36 -0700 In-Reply-To: References: <201701111847.v0BIl0Mg013954@repo.freebsd.org> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 11 Jan 2017 21:42:45 -0000 On Wed, 2017-01-11 at 13:35 -0800, Ngie Cooper wrote: > On Wed, Jan 11, 2017 at 10:47 AM, Dimitry Andric > wrote: > > > > Author: dim > > Date: Wed Jan 11 18:47:00 2017 > > New Revision: 311929 > > URL: https://svnweb.freebsd.org/changeset/base/311929 > > > > Log: > >   Don't include in reloc_elf.c, as it includes > > just > >   after it, which has a conflicting definition of errno.  This > > leads to > >   the following warning with clang 4.0.0: > > > >       In file included from sys/boot/common/reloc_elf32.c:6: > >       In file included from sys/boot/common/reloc_elf.c:37: > >       /usr/obj/usr/src/tmp/usr/include/stand.h:155:12: error: this > > function declaration is not a prototype [-Werror,-Wstrict- > > prototypes] > >       extern int errno; > >                  ^ > >       sys/sys/errno.h:46:26: note: expanded from macro 'errno' > >       #define errno           (* __error()) > It seems like libstand (once again) should be fixed, not the > "offending code". > -Ngie > In this case it's not the library that's in error.  Libstand is the thing that implements errno, so it's the thing that must define it. The code that includes both errno.h and libstand.h was wrong.  errno.h is a standard header file used with libc, and the loader code doesn't link with libc. The thing that amazes me is the usual:  how did this ever work with gcc 4.2? -- Ian