diff options
author | Michael Brown <mcb30@ipxe.org> | 2021-01-30 01:56:16 +0000 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2021-01-30 18:37:01 +0000 |
commit | 1fea8ce06abf997dbfd6b1f5e4470cd708b478c8 (patch) | |
tree | 02ac58604cb41094ddb346dd9188636fd5b2728b | |
parent | fe52f8e8bef150c50e88c78ccc1f2b75a8d0f192 (diff) | |
download | ipxe-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.housekeeping | 7 |
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 |