aboutsummaryrefslogtreecommitdiff
path: root/platforms
diff options
context:
space:
mode:
authorNicholas Piggin <npiggin@gmail.com>2018-02-10 18:42:49 +1000
committerStewart Smith <stewart@linux.vnet.ibm.com>2018-02-28 20:28:39 -0600
commitf6159cff5d91e5c0810d0c9285a1d2370a38e2b7 (patch)
treec6148aef1cc7f967baaf9b7a65486b7b4c95678f /platforms
parentf30286c494312caa81333a077da58f501894c2bb (diff)
downloadskiboot-f6159cff5d91e5c0810d0c9285a1d2370a38e2b7.zip
skiboot-f6159cff5d91e5c0810d0c9285a1d2370a38e2b7.tar.gz
skiboot-f6159cff5d91e5c0810d0c9285a1d2370a38e2b7.tar.bz2
build: use thin archives rather than incremental linking
This changes to build system to use thin archives rather than incremental linking for built-in.o, similar to recent change to Linux. built-in.o is renamed to built-in.a, and is created as a thin archive with no index, for speed and size. All built-in.a are aggregated into a skiboot.tmp.a which is a thin archive built with an index, making it suitable or linking. This is input into the final link. The advantags of build size and linker code placement flexibility are not as great with skiboot as a bigger project like Linux, but it's a conceptually better way to build, and is more compatible with link time optimisation in toolchains which might be interesting for skiboot particularly for size reductions. Size of build tree before this patch is 34.4MB, afterwards 23.1MB. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'platforms')
-rw-r--r--platforms/Makefile.inc2
-rw-r--r--platforms/astbmc/Makefile.inc2
-rw-r--r--platforms/ibm-fsp/Makefile.inc2
-rw-r--r--platforms/mambo/Makefile.inc2
-rw-r--r--platforms/qemu/Makefile.inc2
-rw-r--r--platforms/rhesus/Makefile.inc2
6 files changed, 6 insertions, 6 deletions
diff --git a/platforms/Makefile.inc b/platforms/Makefile.inc
index 90cd0f1..3269532 100644
--- a/platforms/Makefile.inc
+++ b/platforms/Makefile.inc
@@ -1,7 +1,7 @@
PLATDIR = platforms
SUBDIRS += $(PLATDIR)
-PLATFORMS = $(PLATDIR)/built-in.o
+PLATFORMS = $(PLATDIR)/built-in.a
include $(SRC)/$(PLATDIR)/ibm-fsp/Makefile.inc
include $(SRC)/$(PLATDIR)/rhesus/Makefile.inc
diff --git a/platforms/astbmc/Makefile.inc b/platforms/astbmc/Makefile.inc
index 49292c1..d996536 100644
--- a/platforms/astbmc/Makefile.inc
+++ b/platforms/astbmc/Makefile.inc
@@ -6,6 +6,6 @@ ASTBMC_OBJS = pnor.o common.o slots.o \
garrison.o barreleye.o \
witherspoon.o zaius.o romulus.o p9dsu.o
-ASTBMC = $(PLATDIR)/astbmc/built-in.o
+ASTBMC = $(PLATDIR)/astbmc/built-in.a
$(ASTBMC): $(ASTBMC_OBJS:%=$(PLATDIR)/astbmc/%)
diff --git a/platforms/ibm-fsp/Makefile.inc b/platforms/ibm-fsp/Makefile.inc
index e9daab2..c4b55a3 100644
--- a/platforms/ibm-fsp/Makefile.inc
+++ b/platforms/ibm-fsp/Makefile.inc
@@ -2,6 +2,6 @@ SUBDIRS += $(PLATDIR)/ibm-fsp
IBM_FSP_OBJS = common.o lxvpd.o apollo.o apollo-pci.o \
firenze.o firenze-pci.o zz.o
-IBM_FSP = $(PLATDIR)/ibm-fsp/built-in.o
+IBM_FSP = $(PLATDIR)/ibm-fsp/built-in.a
$(IBM_FSP): $(IBM_FSP_OBJS:%=$(PLATDIR)/ibm-fsp/%)
diff --git a/platforms/mambo/Makefile.inc b/platforms/mambo/Makefile.inc
index f3023ef..b0e6b0c 100644
--- a/platforms/mambo/Makefile.inc
+++ b/platforms/mambo/Makefile.inc
@@ -1,6 +1,6 @@
SUBDIRS += $(PLATDIR)/mambo
MAMBO_OBJS = mambo.o console.o
-MAMBO = $(PLATDIR)/mambo/built-in.o
+MAMBO = $(PLATDIR)/mambo/built-in.a
$(MAMBO): $(MAMBO_OBJS:%=$(PLATDIR)/mambo/%)
diff --git a/platforms/qemu/Makefile.inc b/platforms/qemu/Makefile.inc
index 11a44db..d4f988e 100644
--- a/platforms/qemu/Makefile.inc
+++ b/platforms/qemu/Makefile.inc
@@ -1,6 +1,6 @@
SUBDIRS += $(PLATDIR)/qemu
QEMU_OBJS = qemu.o
-QEMU = $(PLATDIR)/qemu/built-in.o
+QEMU = $(PLATDIR)/qemu/built-in.a
$(QEMU): $(QEMU_OBJS:%=$(PLATDIR)/qemu/%)
diff --git a/platforms/rhesus/Makefile.inc b/platforms/rhesus/Makefile.inc
index 5899ca2..3a3fd87 100644
--- a/platforms/rhesus/Makefile.inc
+++ b/platforms/rhesus/Makefile.inc
@@ -1,6 +1,6 @@
SUBDIRS += $(PLATDIR)/rhesus
RHESUS_OBJS = rhesus.o
-RHESUS = $(PLATDIR)/rhesus/built-in.o
+RHESUS = $(PLATDIR)/rhesus/built-in.a
$(RHESUS): $(RHESUS_OBJS:%=$(PLATDIR)/rhesus/%)