diff options
author | Khem Raj <raj.khem@gmail.com> | 2023-07-15 23:37:21 -0700 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-07-15 23:40:20 -0700 |
commit | 98c86616dbf082c977c9b9f16f5bddea23f7629c (patch) | |
tree | b8818a0c15ca21e6ca09fe0251c0dfde3d0729e0 | |
parent | 225e5848415e5f79811563b748f3d49e3ebefca5 (diff) | |
download | meta-openembedded-98c86616dbf082c977c9b9f16f5bddea23f7629c.tar.gz |
dlm: Do not pass -fcf-protection=full via Makefile
Pass it via cflags from environment, so it can be controlled for
platforms where it is not supported
Pass -fstack-clash-protection for clang too, it is available now a days
Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r-- | meta-networking/recipes-extended/dlm/dlm/0001-Remove-fcf-protection-full.patch | 64 | ||||
-rw-r--r-- | meta-networking/recipes-extended/dlm/dlm_4.2.0.bb | 11 |
2 files changed, 70 insertions, 5 deletions
diff --git a/meta-networking/recipes-extended/dlm/dlm/0001-Remove-fcf-protection-full.patch b/meta-networking/recipes-extended/dlm/dlm/0001-Remove-fcf-protection-full.patch new file mode 100644 index 0000000000..6290aa4c7a --- /dev/null +++ b/meta-networking/recipes-extended/dlm/dlm/0001-Remove-fcf-protection-full.patch | |||
@@ -0,0 +1,64 @@ | |||
1 | From e4ae70ae71f88d48cf1ab63810c9f7b4177af3a5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sat, 15 Jul 2023 19:05:54 -0700 | ||
4 | Subject: [PATCH] Remove -fcf-protection=full | ||
5 | |||
6 | This option is not available on all architectures e.g. RISC-V | ||
7 | Fixes | ||
8 | | cc1: error: '-fcf-protection=full' is not supported for this target | ||
9 | |||
10 | Upstream-Status: Pending | ||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | --- | ||
13 | dlm_controld/Makefile | 1 - | ||
14 | dlm_tool/Makefile | 1 - | ||
15 | fence/Makefile | 1 - | ||
16 | libdlm/Makefile | 4 ++-- | ||
17 | 4 files changed, 2 insertions(+), 5 deletions(-) | ||
18 | |||
19 | --- a/dlm_controld/Makefile | ||
20 | +++ b/dlm_controld/Makefile | ||
21 | @@ -43,7 +43,7 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ | ||
22 | -Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 \ | ||
23 | -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option \ | ||
24 | -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong \ | ||
25 | - -fstack-clash-protection -fcf-protection=full | ||
26 | + -fstack-clash-protection | ||
27 | |||
28 | BIN_CFLAGS += $(CFLAGS) -fPIE -DPIE | ||
29 | BIN_CFLAGS += -I../include -I../libdlm | ||
30 | --- a/dlm_tool/Makefile | ||
31 | +++ b/dlm_tool/Makefile | ||
32 | @@ -15,7 +15,7 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ | ||
33 | -Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 \ | ||
34 | -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option \ | ||
35 | -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong \ | ||
36 | - -fstack-clash-protection -fcf-protection=full | ||
37 | + -fstack-clash-protection | ||
38 | |||
39 | CFLAGS += -fPIE -DPIE | ||
40 | CFLAGS += -I../include -I../libdlm -I../dlm_controld | ||
41 | --- a/fence/Makefile | ||
42 | +++ b/fence/Makefile | ||
43 | @@ -15,7 +15,7 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ | ||
44 | -Wno-sign-compare -Wno-unused-parameter -Wp,-D_FORTIFY_SOURCE=2 \ | ||
45 | -fexceptions -fasynchronous-unwind-tables -fdiagnostics-show-option \ | ||
46 | -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong \ | ||
47 | - -fstack-clash-protection -fcf-protection=full | ||
48 | + -fstack-clash-protection | ||
49 | |||
50 | CFLAGS += -fPIE -DPIE | ||
51 | CFLAGS += -I../include | ||
52 | --- a/libdlm/Makefile | ||
53 | +++ b/libdlm/Makefile | ||
54 | @@ -80,8 +80,8 @@ CFLAGS += -D_GNU_SOURCE -O2 -ggdb \ | ||
55 | -fdiagnostics-show-option \ | ||
56 | -fPIC | ||
57 | |||
58 | -LIB_CFLAGS += $(CFLAGS) -D_REENTRANT -fcf-protection=full | ||
59 | -LLT_CFLAGS += $(CFLAGS) -fcf-protection=full | ||
60 | +LIB_CFLAGS += $(CFLAGS) -D_REENTRANT | ||
61 | +LLT_CFLAGS += $(CFLAGS) | ||
62 | |||
63 | LIB_LDFLAGS += $(LDFLAGS) -lpthread -Wl,-z,now | ||
64 | LLT_LDFLAGS += $(LDFLAGS) -Wl,-z,now | ||
diff --git a/meta-networking/recipes-extended/dlm/dlm_4.2.0.bb b/meta-networking/recipes-extended/dlm/dlm_4.2.0.bb index 5073192763..bd71f70e3c 100644 --- a/meta-networking/recipes-extended/dlm/dlm_4.2.0.bb +++ b/meta-networking/recipes-extended/dlm/dlm_4.2.0.bb | |||
@@ -10,6 +10,7 @@ SRC_URI = "https://pagure.io/dlm/archive/dlm-${PV}/dlm-dlm-${PV}.tar.gz \ | |||
10 | file://0001-make-Replace-cp-a-with-mode-preserving-options.patch \ | 10 | file://0001-make-Replace-cp-a-with-mode-preserving-options.patch \ |
11 | file://0001-dlm_controld-remove-unnecessary-header-include.patch \ | 11 | file://0001-dlm_controld-remove-unnecessary-header-include.patch \ |
12 | file://0001-Disable-annobin-plugin.patch \ | 12 | file://0001-Disable-annobin-plugin.patch \ |
13 | file://0001-Remove-fcf-protection-full.patch \ | ||
13 | " | 14 | " |
14 | 15 | ||
15 | SRC_URI[sha256sum] = "90237e18af7422ac15fc756899b3bb6932597b13342296de8e0e120e6d8729ab" | 16 | SRC_URI[sha256sum] = "90237e18af7422ac15fc756899b3bb6932597b13342296de8e0e120e6d8729ab" |
@@ -35,14 +36,15 @@ SYSTEMD_AUTO_ENABLE = "enable" | |||
35 | 36 | ||
36 | export EXTRA_OEMAKE = "" | 37 | export EXTRA_OEMAKE = "" |
37 | 38 | ||
39 | CFPROTECTION ?= "-fcf-protection=full" | ||
40 | CFPROTECTION:riscv64 = "" | ||
41 | |||
42 | CFLAGS += "${CFPROTECTION}" | ||
43 | |||
38 | PARALLEL_MAKE = "" | 44 | PARALLEL_MAKE = "" |
39 | 45 | ||
40 | DONTBUILD = "${@bb.utils.contains('PACKAGECONFIG', 'pacemaker', '', 'fence', d)}" | 46 | DONTBUILD = "${@bb.utils.contains('PACKAGECONFIG', 'pacemaker', '', 'fence', d)}" |
41 | 47 | ||
42 | do_compile:prepend:toolchain-clang() { | ||
43 | sed -i -e "s/-fstack-clash-protection//g" ${S}/*/Makefile | ||
44 | } | ||
45 | |||
46 | do_compile() { | 48 | do_compile() { |
47 | sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile | 49 | sed -i "s/libsystemd-daemon/libsystemd/g" ${S}/dlm_controld/Makefile |
48 | sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile | 50 | sed -i -e "s/ ${DONTBUILD}//g" ${S}/Makefile |
@@ -59,4 +61,3 @@ do_install() { | |||
59 | install -Dm 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system/dlm.service | 61 | install -Dm 0644 ${S}/init/dlm.service ${D}${systemd_unitdir}/system/dlm.service |
60 | fi | 62 | fi |
61 | } | 63 | } |
62 | |||