From owner-svn-src-all@FreeBSD.ORG Thu Apr 10 16:53:22 2014 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 841A6AF4; Thu, 10 Apr 2014 16:53:22 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (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 705E81949; Thu, 10 Apr 2014 16:53:22 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s3AGrMba032201; Thu, 10 Apr 2014 16:53:22 GMT (envelope-from emaste@svn.freebsd.org) Received: (from emaste@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s3AGrM5K032199; Thu, 10 Apr 2014 16:53:22 GMT (envelope-from emaste@svn.freebsd.org) Message-Id: <201404101653.s3AGrM5K032199@svn.freebsd.org> From: Ed Maste Date: Thu, 10 Apr 2014 16:53:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r264319 - in head/sys/boot/amd64: . efi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 10 Apr 2014 16:53:22 -0000 Author: emaste Date: Thu Apr 10 16:53:21 2014 New Revision: 264319 URL: http://svnweb.freebsd.org/changeset/base/264319 Log: Fix EFI loader object tree creation on 9.x build hosts Previously ${COMPILER_TYPE} was checked in sys/boot/amd64, and the efi subdirectory was skipped altogether for gcc (since GCC does not support a required attribute). However, during the early buildworld stages ${COMPILER_TYPE} is the existing system compiler (i.e., gcc on 9.x build hosts), not the compiler that will eventually be used. This caused "make obj" to skip the efi subdirectory. In later build stages ${COMPILER_TYPE} is "clang", and then the efi loader would attempt to build in the source directory. Sponsored by: The FreeBSD Foundation Modified: head/sys/boot/amd64/Makefile head/sys/boot/amd64/efi/Makefile Modified: head/sys/boot/amd64/Makefile ============================================================================== --- head/sys/boot/amd64/Makefile Thu Apr 10 16:00:33 2014 (r264318) +++ head/sys/boot/amd64/Makefile Thu Apr 10 16:53:21 2014 (r264319) @@ -2,10 +2,6 @@ .include -# In-tree GCC does not support __attribute__((ms_abi)), required by the -# UEFI loader. -.if ${COMPILER_TYPE} != "gcc" SUBDIR= efi -.endif .include Modified: head/sys/boot/amd64/efi/Makefile ============================================================================== --- head/sys/boot/amd64/efi/Makefile Thu Apr 10 16:00:33 2014 (r264318) +++ head/sys/boot/amd64/efi/Makefile Thu Apr 10 16:53:21 2014 (r264319) @@ -3,6 +3,10 @@ NO_MAN= .include + +# In-tree GCC does not support __attribute__((ms_abi)). +.if ${COMPILER_TYPE} != "gcc" + MK_SSP= no PROG= loader.sym @@ -85,6 +89,8 @@ CFLAGS+= -I${.CURDIR}/../../common DPADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} LDADD= ${LIBFICL} ${LIBEFI} ${LIBSTAND} +.endif # ${COMPILER_TYPE} != "gcc" + .include beforedepend ${OBJS}: machine x86