From 31c639469e3e0aa4274ec891bef83cdce746e9a5 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 16 Jan 2024 13:42:38 -0800 Subject: libgudev: Pass export-dynamic to linker directly. New clang 18+ errors out on this while older clang does not Signed-off-by: Khem Raj Signed-off-by: Alexandre Belloni Signed-off-by: Richard Purdie --- ...eson-Pass-export-dynamic-option-to-linker.patch | 38 ++++++++++++++++++++++ meta/recipes-gnome/libgudev/libgudev_238.bb | 2 ++ 2 files changed, 40 insertions(+) create mode 100644 meta/recipes-gnome/libgudev/libgudev/0001-meson-Pass-export-dynamic-option-to-linker.patch (limited to 'meta/recipes-gnome') diff --git a/meta/recipes-gnome/libgudev/libgudev/0001-meson-Pass-export-dynamic-option-to-linker.patch b/meta/recipes-gnome/libgudev/libgudev/0001-meson-Pass-export-dynamic-option-to-linker.patch new file mode 100644 index 0000000000..8a06d244e4 --- /dev/null +++ b/meta/recipes-gnome/libgudev/libgudev/0001-meson-Pass-export-dynamic-option-to-linker.patch @@ -0,0 +1,38 @@ +From dc4fcfb1e1e2326a412b252314af3e9424a31457 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Tue, 16 Jan 2024 12:02:46 -0800 +Subject: [PATCH] meson: Pass --export-dynamic option to linker + +Bypass the compiler driver trying to comprehend and translate it for +linker, since its not clear what the right behavior should be, gcc seems +to translate it into --export-dynamic but clang 18+ rejects it + +| x86_64-yoe-linux-clang: error: unknown argument: '-export-dynamic' + +also see [1] + +This makes it work as intended across gcc and clang + +Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/libgudev/-/merge_requests/30] +[1] https://discourse.llvm.org/t/clang-option-export-dynamic-parse-to-e-xport-dynamic-error/72454 +Signed-off-by: Khem Raj +--- + gudev/meson.build | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/gudev/meson.build b/gudev/meson.build +index e904203..3ed580b 100644 +--- a/gudev/meson.build ++++ b/gudev/meson.build +@@ -33,7 +33,7 @@ libgudev_c_args = [ + ] + + libgudev_link_args = [ +- '-export-dynamic', ++ '-Wl,--export-dynamic', + '-Wl,--version-script,@0@/libgudev-1.0.sym'.format(top_srcdir), + ] + +-- +2.43.0 + diff --git a/meta/recipes-gnome/libgudev/libgudev_238.bb b/meta/recipes-gnome/libgudev/libgudev_238.bb index 5923544eca..f197f6421d 100644 --- a/meta/recipes-gnome/libgudev/libgudev_238.bb +++ b/meta/recipes-gnome/libgudev/libgudev_238.bb @@ -16,6 +16,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" inherit gnomebase gobject-introspection gtk-doc +SRC_URI += "file://0001-meson-Pass-export-dynamic-option-to-linker.patch" + GIR_MESON_ENABLE_FLAG = 'enabled' GIR_MESON_DISABLE_FLAG = 'disabled' -- cgit 1.2.3-korg