Author: emaste
Date: Sat Mar 12 21:44:33 2016
New Revision: 296769
URL: https://svnweb.freebsd.org/changeset/base/296769

Log:
  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.
  
  Reviewed by:  bdrewery
  MFC after:    1 month
  Sponsored by: The FreeBSD Foundation
  Differential Revision:        https://reviews.freebsd.org/D5613

Modified:
  head/sys/boot/efi/boot1/Makefile
  head/sys/boot/efi/loader/Makefile

Modified: head/sys/boot/efi/boot1/Makefile
==============================================================================
--- head/sys/boot/efi/boot1/Makefile    Sat Mar 12 20:05:23 2016        
(r296768)
+++ head/sys/boot/efi/boot1/Makefile    Sat Mar 12 21:44:33 2016        
(r296769)
@@ -73,8 +73,8 @@ LDADD+=               -lstand
 
 DPADD+=                ${LDSCRIPT}
 
+NM?=           nm
 OBJCOPY?=      objcopy
-OBJDUMP?=      objdump
 
 .if ${MACHINE_CPUARCH} == "amd64"
 EFI_TARGET=    efi-app-x86_64
@@ -85,8 +85,8 @@ EFI_TARGET=   binary
 .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 .peheader -j .text -j .sdata -j .data \

Modified: head/sys/boot/efi/loader/Makefile
==============================================================================
--- head/sys/boot/efi/loader/Makefile   Sat Mar 12 20:05:23 2016        
(r296768)
+++ head/sys/boot/efi/loader/Makefile   Sat Mar 12 21:44:33 2016        
(r296769)
@@ -98,8 +98,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
@@ -110,8 +110,8 @@ EFI_TARGET= binary
 .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 .peheader -j .text -j .sdata -j .data \
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to