summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2018-09-11 17:15:13 -0700
committerKhem Raj <raj.khem@gmail.com>2018-09-11 22:48:21 -0700
commit76bc58e93290544cc8c0e3322e777626a35a6eb1 (patch)
tree0b0fa5e8f2e9d8d846f72b5049ef99880569b790
parent0411983c2f810a0c6779453c781d4a0ca2ce3f5c (diff)
downloadmeta-openembedded-76bc58e93290544cc8c0e3322e777626a35a6eb1.tar.gz
klibc: Fix build with security flags
Drop -Os which is also causing the relro Fixes | x86_64-bec-linux-musl-ld.bfd: discarded output section: `.got.plt' Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Andrea Adami <andrea.adami@gmail.com>
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch28
-rw-r--r--meta-initramfs/recipes-devtools/klibc/klibc.inc9
2 files changed, 33 insertions, 4 deletions
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
new file mode 100644
index 000000000..94818e366
--- /dev/null
+++ b/meta-initramfs/recipes-devtools/klibc/klibc-2.0.4/0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch
@@ -0,0 +1,28 @@
1From cdc6edc2cfcd0ce88d6e66654d605dad303b1a75 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Tue, 11 Sep 2018 17:03:36 -0700
4Subject: [PATCH] klibc/Kbuild: Accept EXTRA_KLIBCAFLAGS
5
6For passing additional assembler flags
7
8Upstream-Status: Pending
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 usr/klibc/Kbuild | 3 ++-
13 1 file changed, 2 insertions(+), 1 deletion(-)
14
15diff --git a/usr/klibc/Kbuild b/usr/klibc/Kbuild
16index 98caf2e9..b34521e0 100644
17--- a/usr/klibc/Kbuild
18+++ b/usr/klibc/Kbuild
19@@ -168,7 +168,8 @@ $(SOHASH): $(SOLIB) $(SOLIB).hash
20 targets += interp.o
21
22 quiet_cmd_interp = BUILD $@
23- cmd_interp = $(KLIBCCC) $(klibccflags) -D__ASSEMBLY__ \
24+ cmd_interp = $(KLIBCCC) $(klibccflags) $(EXTRA_KLIBCAFLAGS) \
25+ -D__ASSEMBLY__ \
26 -DLIBDIR=\"$(SHLIBDIR)\" \
27 -DSOHASH=\"$(SOLIBHASH)\" \
28 -c -o $@ $<
diff --git a/meta-initramfs/recipes-devtools/klibc/klibc.inc b/meta-initramfs/recipes-devtools/klibc/klibc.inc
index f0b20bc7f..3d25e96cd 100644
--- a/meta-initramfs/recipes-devtools/klibc/klibc.inc
+++ b/meta-initramfs/recipes-devtools/klibc/klibc.inc
@@ -21,9 +21,10 @@ SRC_URI = "git://git.kernel.org/pub/scm/libs/klibc/klibc.git \
21 file://0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch \ 21 file://0001-Kbuild.klibc-Use-print-libgcc-file-name-instead-of-p.patch \
22 file://0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch \ 22 file://0001-Kbuild.klibc-Add-path-to-compiler-headers-via-isyste.patch \
23 file://0001-arm-Do-not-set-a-fallback-march-and-mtune.patch \ 23 file://0001-arm-Do-not-set-a-fallback-march-and-mtune.patch \
24 file://0001-klibc_2.0.4-add-kexec_file_load-syscall.patch \ 24 file://0001-klibc_2.0.4-add-kexec_file_load-syscall.patch \
25 file://0001-klibc-add-getrandom-syscall.patch \ 25 file://0001-klibc-add-getrandom-syscall.patch \
26" 26 file://0001-klibc-Kbuild-Accept-EXTRA_KLIBCAFLAGS.patch \
27 "
27 28
28ARMPATCHES ?= "" 29ARMPATCHES ?= ""
29 30
@@ -31,7 +32,6 @@ ARMPATCHES_arm = "file://klibc-config-eabi.patch \
31 file://armv4-fix-v4bx.patch \ 32 file://armv4-fix-v4bx.patch \
32 " 33 "
33 34
34
35S = "${WORKDIR}/git" 35S = "${WORKDIR}/git"
36 36
37PARALLEL_MAKE = "" 37PARALLEL_MAKE = ""
@@ -44,9 +44,10 @@ EXTRA_OEMAKE = "'KLIBCARCH=${KLIBC_ARCH}' \
44 'INSTALLDIR=${libdir}/klibc' \ 44 'INSTALLDIR=${libdir}/klibc' \
45 'SHLIBDIR=${libdir}' \ 45 'SHLIBDIR=${libdir}' \
46 '${KLIBCTHUMB}' \ 46 '${KLIBCTHUMB}' \
47 'KLIBCOPTFLAGS=${TUNE_CCARGS} -Os' \ 47 'KLIBCOPTFLAGS=${TUNE_CCARGS}' \
48 V=1 \ 48 V=1 \
49 " 49 "
50EXTRA_OEMAKE += 'EXTRA_KLIBCAFLAGS="-Wa,--noexecstack" EXTRA_KLIBCLDFLAGS="-z noexecstack"'
50 51
51export FIX_ARMV4_EABI_BX = "${FIX_V4BX}" 52export FIX_ARMV4_EABI_BX = "${FIX_V4BX}"
52KLIBCTHUMB = "${@['CONFIG_KLIBC_THUMB=n', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}" 53KLIBCTHUMB = "${@['CONFIG_KLIBC_THUMB=n', 'CONFIG_KLIBC_THUMB=y'][(d.getVar('ARM_INSTRUCTION_SET') == 'thumb')]}"