summarylogtreecommitdiffstats
path: root/0001-HACK-Don-t-use-objcopy-for-resource-embedding.patch
blob: 707361b42458376648ff3c0480c8d955bed6e4ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <heftig@archlinux.org>
Date: Sat, 18 Nov 2023 06:59:03 +0100
Subject: [PATCH] HACK: Don't use objcopy for resource embedding

The build attempts to use objcopy to link in the resource data, but
loses the code protection flags `IBT` and `SHSTK` in the process.

If we don't let it do that, it generates a C string literal for the data
instead. This is a bit slower, but doesn't mess with the flags.

See: https://gitlab.gnome.org/GNOME/gtk/-/issues/6153
---
 meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meson.build b/meson.build
index 0c42d4cb3ddc..d012d1481bfd 100644
--- a/meson.build
+++ b/meson.build
@@ -771,7 +771,7 @@ if ld.found()
 endif
 
 if not meson.is_cross_build() and build_machine.cpu_family() == 'x86_64' and build_machine.system() == 'linux' and objcopy.found() and objcopy_supports_add_symbol and objcopy_supports_section_alignment and ld.found() and ld_is_bfd
-  can_use_objcopy_for_resources = true
+  can_use_objcopy_for_resources = false
 else
   can_use_objcopy_for_resources = false
 endif