diff options
author | Michael Olbrich <m.olbrich@pengutronix.de> | 2023-07-31 20:06:05 +0200 |
---|---|---|
committer | Michael Olbrich <m.olbrich@pengutronix.de> | 2023-07-31 20:06:05 +0200 |
commit | dbf616b650552733786ff6b96f7b98a42128c398 (patch) | |
tree | 9078307823c463f196ab6ed30c5f40473cac3301 | |
parent | f29980c9b059cff479c55d2526d6a73e879fa764 (diff) | |
download | ptxdist-dbf616b650552733786ff6b96f7b98a42128c398.tar.gz ptxdist-dbf616b650552733786ff6b96f7b98a42128c398.tar.xz |
pipewire: add upstream fix to build with older compilersptxdist-2023.08.0
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
-rw-r--r-- | patches/pipewire-0.3.76/0001-spa-fixes-for-dereferencing-pointer-to-incomplete-ty.patch | 56 | ||||
-rw-r--r-- | patches/pipewire-0.3.76/series | 4 |
2 files changed, 60 insertions, 0 deletions
diff --git a/patches/pipewire-0.3.76/0001-spa-fixes-for-dereferencing-pointer-to-incomplete-ty.patch b/patches/pipewire-0.3.76/0001-spa-fixes-for-dereferencing-pointer-to-incomplete-ty.patch new file mode 100644 index 000000000..9ce3c90b2 --- /dev/null +++ b/patches/pipewire-0.3.76/0001-spa-fixes-for-dereferencing-pointer-to-incomplete-ty.patch @@ -0,0 +1,56 @@ +From: Sourav Das <souravdas142@gmail.com> +Date: Sun, 30 Jul 2023 10:23:25 +0530 +Subject: [PATCH] spa: fixes for dereferencing pointer to incomplete type in + __typeof__ + + before gcc 10 its not supporting pointer dereferencing in __typeof__. + so made changes according to that. Fixes #3375 + + clang also defines __GNUC__ and resolves '4' along with __clang__ which + resolves '1'. On any version of clang, __GNUC__ and resolves '4'. + anyway clang has this feature since version 3. +--- + spa/include/spa/utils/cleanup.h | 16 ++++++++++++++++ + 1 file changed, 16 insertions(+) + +diff --git a/spa/include/spa/utils/cleanup.h b/spa/include/spa/utils/cleanup.h +index 04e2bd193f6e..aa3eb2eea71b 100644 +--- a/spa/include/spa/utils/cleanup.h ++++ b/spa/include/spa/utils/cleanup.h +@@ -40,13 +40,20 @@ __extension__ ({ \ + _old_value; \ + }) + ++#if __GNUC__ > 10 || defined(__clang__) + #define spa_steal_ptr(ptr) ((__typeof__(*(ptr)) *) spa_exchange((ptr), NULL)) ++#else ++#define spa_steal_ptr(ptr) ((__typeof__(ptr)) spa_exchange((ptr), NULL)) ++#endif ++ + #define spa_steal_fd(fd) spa_exchange((fd), -1) + + /* ========================================================================== */ + + #include <stdlib.h> + ++ ++#if __GNUC__ > 10 || defined(__clang__) + #define spa_clear_ptr(ptr, destructor) \ + __extension__ ({ \ + __typeof__(*(ptr)) *_old_value = spa_steal_ptr(ptr); \ +@@ -54,6 +61,15 @@ __extension__ ({ \ + destructor(_old_value); \ + (void) 0; \ + }) ++#else ++#define spa_clear_ptr(ptr, destructor) \ ++__extension__ ({ \ ++ __typeof__(ptr) _old_value = spa_steal_ptr(ptr); \ ++ if (_old_value) \ ++ destructor(_old_value); \ ++ (void) 0; \ ++}) ++#endif + + static inline void _spa_autofree_cleanup_func(void *p) + { diff --git a/patches/pipewire-0.3.76/series b/patches/pipewire-0.3.76/series new file mode 100644 index 000000000..0969cdc94 --- /dev/null +++ b/patches/pipewire-0.3.76/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-spa-fixes-for-dereferencing-pointer-to-incomplete-ty.patch +# f664d909a9bfc1aca629f79fc2991ed1 - git-ptx-patches magic |