[build] Check for broken elftoolchain version of objcopy

The elftoolchain version of objcopy (as used in FreeBSD) seems to be
unusable for generating a raw binary file, since it will apparently
ignore the load memory addresses specified for each section in the
input file.

The binutils version of objcopy may be used on FreeBSD by specifying

  OBJCOPY=/usr/local/bin/objcopy

Detect an attempt to use the unusable elftoolchain version of objcopy
and report it as an error.

Signed-off-by: Michael Brown <mcb30@ipxe.org>
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
index 9b52e12..25abe57 100644
--- a/src/Makefile.housekeeping
+++ b/src/Makefile.housekeeping
@@ -113,6 +113,13 @@
 $(error Unsuitable build environment found)
 endif
 
+OBJCOPY_ETC_BANNER := $(shell $(OBJCOPY) --version | grep 'elftoolchain')
+ifneq ($(OBJCOPY_ETC_BANNER),)
+$(warning The elftoolchain objcopy is unsuitable for building iPXE)
+$(warning Use binutils objcopy instead)
+$(error Unsuitable build environment found)
+endif
+
 ###############################################################################
 #
 # Check if $(eval ...) is available to use