aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Brown <mcb30@ipxe.org>2021-01-30 01:56:16 +0000
committerMichael Brown <mcb30@ipxe.org>2021-01-30 18:37:01 +0000
commit1fea8ce06abf997dbfd6b1f5e4470cd708b478c8 (patch)
tree02ac58604cb41094ddb346dd9188636fd5b2728b
parentfe52f8e8bef150c50e88c78ccc1f2b75a8d0f192 (diff)
downloadipxe-1fea8ce06abf997dbfd6b1f5e4470cd708b478c8.zip
ipxe-1fea8ce06abf997dbfd6b1f5e4470cd708b478c8.tar.gz
ipxe-1fea8ce06abf997dbfd6b1f5e4470cd708b478c8.tar.bz2
[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>
-rw-r--r--src/Makefile.housekeeping7
1 files changed, 7 insertions, 0 deletions
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 @@ $(warning Use GNU ld instead)
$(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