svn commit: r297821 - in stable/10/sys/boot/efi: boot1 loader

Ed Maste emaste at FreeBSD.org
Mon Apr 11 14:26:04 UTC 2016


Author: emaste
Date: Mon Apr 11 14:26:02 2016
New Revision: 297821
URL: https://svnweb.freebsd.org/changeset/base/297821

Log:
  MFC r296769: boot/efi: Prefer nm to objdump
  
    Both objdump and nm are equally capable of reporting undefined symbols.
  
    This gets us a step closer to building without binutils as we have an nm
    implementation from ELF Tool Chain.
  
  Sponsored by:	The FreeBSD Foundation

Modified:
  stable/10/sys/boot/efi/boot1/Makefile
  stable/10/sys/boot/efi/loader/Makefile
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/boot/efi/boot1/Makefile
==============================================================================
--- stable/10/sys/boot/efi/boot1/Makefile	Mon Apr 11 13:44:31 2016	(r297820)
+++ stable/10/sys/boot/efi/boot1/Makefile	Mon Apr 11 14:26:02 2016	(r297821)
@@ -68,8 +68,8 @@ LDADD+=		-lstand
 
 DPADD+=		${LDSCRIPT}
 
+NM?=		nm
 OBJCOPY?=	objcopy
-OBJDUMP?=	objdump
 
 .if ${MACHINE_CPUARCH} == "amd64"
 EFI_TARGET=	efi-app-x86_64
@@ -78,8 +78,8 @@ EFI_TARGET=	efi-app-ia32
 .endif
 
 boot1.efi: ${PROG}
-	if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
-		${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \
+	if ${NM} ${.ALLSRC} | grep ' U '; then \
+		echo "Undefined symbols in ${.ALLSRC}"; \
 		exit 1; \
 	fi
 	${OBJCOPY} -j .text -j .sdata -j .data \

Modified: stable/10/sys/boot/efi/loader/Makefile
==============================================================================
--- stable/10/sys/boot/efi/loader/Makefile	Mon Apr 11 13:44:31 2016	(r297820)
+++ stable/10/sys/boot/efi/loader/Makefile	Mon Apr 11 14:26:02 2016	(r297821)
@@ -83,8 +83,8 @@ NEWVERSWHAT=	"EFI loader" ${MACHINE}
 vers.c:	${.CURDIR}/../../common/newvers.sh ${.CURDIR}/../../efi/loader/version
 	sh ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version ${NEWVERSWHAT}
 
+NM?=		nm
 OBJCOPY?=	objcopy
-OBJDUMP?=	objdump
 
 .if ${MACHINE_CPUARCH} == "amd64"
 EFI_TARGET=	efi-app-x86_64
@@ -93,8 +93,8 @@ EFI_TARGET=	efi-app-ia32
 .endif
 
 loader.efi: ${PROG}
-	if [ `${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*' | wc -l` != 0 ]; then \
-		${OBJDUMP} -t ${.ALLSRC} | fgrep '*UND*'; \
+	if ${NM} ${.ALLSRC} | grep ' U '; then \
+		echo "Undefined symbols in ${.ALLSRC}"; \
 		exit 1; \
 	fi
 	${OBJCOPY} -j .text -j .sdata -j .data \


More information about the svn-src-all mailing list