summaryrefslogtreecommitdiffstats
path: root/payloads
diff options
context:
space:
mode:
authorJakub Czapiga <jacz@semihalf.com>2022-01-18 14:22:22 +0000
committerPatrick Georgi <patrick@coreboot.org>2022-01-20 09:22:26 +0000
commit28a97a2ae5a684e3645c8f69cd55c1369bf9f3a3 (patch)
tree6e446f4bc2acdc0fb4b965be9b73347f8e1b5862 /payloads
parent8a4a89fdcb58655de09e4a2688c8f4d912bacc6c (diff)
downloadcoreboot-28a97a2ae5a684e3645c8f69cd55c1369bf9f3a3.tar.gz
coreboot-28a97a2ae5a684e3645c8f69cd55c1369bf9f3a3.tar.bz2
coreboot-28a97a2ae5a684e3645c8f69cd55c1369bf9f3a3.zip
libpayload/Makefile.inc: Fix ar calls to support llvm-ar
llvm-ar does not support "open" script command, and fails with an error. This patch fixes it by removing lines `$(AR) rc <object-files>` and it puts them as "addmod" commands. This way all object files and archives can be packed into one archive. Change-Id: I0c53d1d613b5edc321e268d1d996fac3146680f8 Signed-off-by: Jakub Czapiga <jacz@semihalf.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/61182 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Patrick Georgi <patrick@coreboot.org> Reviewed-by: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'payloads')
-rw-r--r--payloads/libpayload/Makefile.inc6
1 files changed, 2 insertions, 4 deletions
diff --git a/payloads/libpayload/Makefile.inc b/payloads/libpayload/Makefile.inc
index c540bb7dbce2..01c3ede4fc99 100644
--- a/payloads/libpayload/Makefile.inc
+++ b/payloads/libpayload/Makefile.inc
@@ -95,13 +95,11 @@ includes-handler= \
$(obj)/libpayload.a: $(foreach class,$(libraries),$$($(class)-objs))
printf " AR $(subst $(CURDIR)/,,$(@))\n"
- $(AR) rc $@ $(filter-out %.a,$^)
- printf "open $@\n$(foreach lib,$(filter %.a,$^),addlib $(lib)\n)save\nend\n" | $(AR) -M
+ printf "create $@\n$(foreach objc,$(filter-out %.a,$^),addmod $(objc)\n)$(foreach lib,$(filter %.a,$^),addlib $(lib)\n)save\nend\n" | $(AR) -M
$(obj)/%.a: $$(%-objs)
printf " AR $(subst $(CURDIR)/,,$(@))\n"
- $(AR) rc $@ $(filter-out %.a,$^)
- printf "open $@\n$(foreach lib,$(filter %.a,$^),addlib $(lib)\n)save\nend\n" | $(AR) -M
+ printf "create $@\n$(foreach objc,$(filter-out %.a,$^),addmod $(objc)\n)$(foreach lib,$(filter %.a,$^),addlib $(lib)\n)save\nend\n" | $(AR) -M
$(obj)/head.o: $(obj)/arch/$(ARCHDIR-y)/head.head.o.o
printf " CP $(subst $(CURDIR)/,,$(@))\n"