summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSinan Kaya <okaya@kernel.org>2020-11-16 00:40:33 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-12-03 22:53:55 +0000
commitc39dfcbabc0e7f913a0ccdf458af46e47cf8d1a2 (patch)
tree12c8a99ca92bccc32d6a86c71c27937a1e284e8c
parentf107844a62c9304646aa68ddf707ce7305553f18 (diff)
downloadpoky-c39dfcbabc0e7f913a0ccdf458af46e47cf8d1a2.tar.gz
poky-tiny: enable section removal
Use GCC sections flags so that unused sections can be garbage collected at link time. (From meta-yocto rev: 70176ee6235c2545e18df855cac2c3524b7e50e4) Signed-off-by: Sinan Kaya <okaya@kernel.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta-poky/conf/distro/include/gcsections.inc22
-rw-r--r--meta-poky/conf/distro/poky-tiny.conf2
2 files changed, 24 insertions, 0 deletions
diff --git a/meta-poky/conf/distro/include/gcsections.inc b/meta-poky/conf/distro/include/gcsections.inc
new file mode 100644
index 0000000000..dd98943acb
--- /dev/null
+++ b/meta-poky/conf/distro/include/gcsections.inc
@@ -0,0 +1,22 @@
1CFLAGS_SECTION_REMOVAL = "-ffunction-sections -fdata-sections"
2LDFLAGS_SECTION_REMOVAL = "-Wl,--gc-sections"
3
4# packages with build problems using sections
5CFLAGS_SECTION_REMOVAL_pn-glibc = ""
6LDFLAGS_SECTION_REMOVAL_pn-glibc = ""
7CFLAGS_SECTION_REMOVAL_pn-cairo = ""
8LDFLAGS_SECTION_REMOVAL_pn-cairo = ""
9CFLAGS_SECTION_REMOVAL_pn-perl = ""
10LDFLAGS_SECTION_REMOVAL_pn-perl = ""
11CFLAGS_SECTION_REMOVAL_pn-grub-efi = ""
12LDFLAGS_SECTION_REMOVAL_pn-grub-efi = ""
13CFLAGS_SECTION_REMOVAL_pn-grub = ""
14LDFLAGS_SECTION_REMOVAL_pn-grub = ""
15
16# set default for target
17CFLAGS_append_class-target = " ${CFLAGS_SECTION_REMOVAL}"
18LDFLAGS_append_class-target = " ${LDFLAGS_SECTION_REMOVAL}"
19
20# set default for nativesdk
21CFLAGS_append_class-nativesdk = " ${CFLAGS_SECTION_REMOVAL}"
22LDFLAGS_append_class-nativesdk = " ${LDFLAGS_SECTION_REMOVAL}"
diff --git a/meta-poky/conf/distro/poky-tiny.conf b/meta-poky/conf/distro/poky-tiny.conf
index 9a043b1ef5..e125b23d46 100644
--- a/meta-poky/conf/distro/poky-tiny.conf
+++ b/meta-poky/conf/distro/poky-tiny.conf
@@ -29,6 +29,8 @@
29# [ ] Modify busybox to allow for DISTRO_FEATURES-like confiruration 29# [ ] Modify busybox to allow for DISTRO_FEATURES-like confiruration
30 30
31require conf/distro/poky.conf 31require conf/distro/poky.conf
32require conf/distro/include/gcsections.inc
33
32DISTRO = "poky-tiny" 34DISTRO = "poky-tiny"
33DISTROOVERRIDES = "poky:poky-tiny" 35DISTROOVERRIDES = "poky:poky-tiny"
34TCLIBC = "musl" 36TCLIBC = "musl"