summaryrefslogtreecommitdiffstats
path: root/src/Makefile.housekeeping
diff options
context:
space:
mode:
authorMichael Brown2021-02-27 19:52:11 +0100
committerMichael Brown2021-02-27 20:25:02 +0100
commit040cdd0c658a49694b17a1c0b5439d0bd7805242 (patch)
treeffbc77fab80b81a804d28fd7a36fe114c06746f0 /src/Makefile.housekeeping
parent[bitops] Provide an explicit operand size for bit test instructions (diff)
downloadipxe-040cdd0c658a49694b17a1c0b5439d0bd7805242.tar.gz
ipxe-040cdd0c658a49694b17a1c0b5439d0bd7805242.tar.xz
ipxe-040cdd0c658a49694b17a1c0b5439d0bd7805242.zip
[linux] Add a prefix to all symbols to avoid future name collisions
Allow for the possibility of linking to platform libraries for the Linux userspace build by adding an iPXE-specific symbol prefix. Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/Makefile.housekeeping')
-rw-r--r--src/Makefile.housekeeping7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/Makefile.housekeeping b/src/Makefile.housekeeping
index 2c2c8a1f..e017c656 100644
--- a/src/Makefile.housekeeping
+++ b/src/Makefile.housekeeping
@@ -1102,9 +1102,10 @@ TGT_LD_ENTRY = _$(TGT_PREFIX)_start
#
TGT_LD_FLAGS = $(foreach SYM,$(TGT_LD_ENTRY) $(TGT_LD_DRIVERS) \
$(TGT_LD_DEVLIST) obj_config obj_config_$(PLATFORM),\
- -u $(SYM) --defsym check_$(SYM)=$(SYM) ) \
+ -u $(SYMBOL_PREFIX)$(SYM) \
+ --defsym check_$(SYM)=$(SYMBOL_PREFIX)$(SYM) ) \
$(patsubst %,--defsym %,$(TGT_LD_IDS)) \
- -e $(TGT_LD_ENTRY)
+ -e $(SYMBOL_PREFIX)$(TGT_LD_ENTRY)
# Calculate list of debugging versions of objects to be included in
# the target.
@@ -1166,6 +1167,7 @@ $(BLIB) : $(BLIB_OBJS) $(BLIB_LIST) $(MAKEDEPS)
$(Q)$(RM) $(BLIB)
$(QM)$(ECHO) " [AR] $@"
$(Q)$(AR) rD $@ $(sort $(BLIB_OBJS))
+ $(Q)$(OBJCOPY) --prefix-symbols=$(SYMBOL_PREFIX) $@
$(Q)$(RANLIB) -D $@
blib : $(BLIB)
@@ -1207,6 +1209,7 @@ $(BIN)/version.%.o : core/version.c $(MAKEDEPS) $(GIT_INDEX)
-DVERSION_PATCH=$(VERSION_PATCH) \
-DVERSION="\"$(VERSION)\"" \
-c $< -o $@
+ $(Q)$(OBJCOPY) --prefix-symbols=$(SYMBOL_PREFIX) $@
# Build an intermediate object file from the objects required for the
# specified target.