Accepting request 1110009 from home:tiwai:branches:multimedia:libs
- Upstream fix backport: 0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch - Upstream fix for PCM segfault regression (bsc#1215167): 0003-pcm-Fix-segfault-with-32bit-libs.patch OBS-URL: https://build.opensuse.org/request/show/1110009 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/alsa?expand=0&rev=317
This commit is contained in:
parent
be5a051d51
commit
ddfcaec6aa
@ -0,0 +1,49 @@
|
|||||||
|
From 10bd599970acc71c92f85eb08943eb8d3d702a9c Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jaroslav Kysela <perex@perex.cz>
|
||||||
|
Date: Wed, 6 Sep 2023 15:16:44 +0200
|
||||||
|
Subject: [PATCH] global.h: move __STRING() macro outside !PIC ifdef block
|
||||||
|
|
||||||
|
It solves the musl libc compilation issue.
|
||||||
|
|
||||||
|
control.c: In function 'snd_ctl_open_conf':
|
||||||
|
../../include/global.h:98:36: warning: implicit declaration of function '__STRING' [-Wimplicit-function-declaratio]
|
||||||
|
98 | #define SND_DLSYM_VERSION(version) __STRING(version)
|
||||||
|
| ^~~~~~~~
|
||||||
|
|
||||||
|
Fixes: https://github.com/alsa-project/alsa-lib/issues/350
|
||||||
|
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
|
||||||
|
---
|
||||||
|
include/global.h | 10 +++++-----
|
||||||
|
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/global.h b/include/global.h
|
||||||
|
index dfe9bc2b54bf..3ecaeee898c5 100644
|
||||||
|
--- a/include/global.h
|
||||||
|
+++ b/include/global.h
|
||||||
|
@@ -51,6 +51,11 @@ const char *snd_asoundlib_version(void);
|
||||||
|
#define ATTRIBUTE_UNUSED __attribute__ ((__unused__))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#ifndef __STRING
|
||||||
|
+/** \brief Return 'x' argument as string */
|
||||||
|
+#define __STRING(x) #x
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#ifdef PIC /* dynamic build */
|
||||||
|
|
||||||
|
/** \hideinitializer \brief Helper macro for #SND_DLSYM_BUILD_VERSION. */
|
||||||
|
@@ -71,11 +76,6 @@ struct snd_dlsym_link {
|
||||||
|
|
||||||
|
extern struct snd_dlsym_link *snd_dlsym_start;
|
||||||
|
|
||||||
|
-#ifndef __STRING
|
||||||
|
-/** \brief Return 'x' argument as string */
|
||||||
|
-#define __STRING(x) #x
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
/** \hideinitializer \brief Helper macro for #SND_DLSYM_BUILD_VERSION. */
|
||||||
|
#define __SND_DLSYM_VERSION(prefix, name, version) _ ## prefix ## name ## version
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
2.35.3
|
||||||
|
|
113
0003-pcm-Fix-segfault-with-32bit-libs.patch
Normal file
113
0003-pcm-Fix-segfault-with-32bit-libs.patch
Normal file
@ -0,0 +1,113 @@
|
|||||||
|
From 0e3dfb9f705ca78be34cd70fd59d67c431e29cc7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Takashi Iwai <tiwai@suse.de>
|
||||||
|
Date: Sat, 9 Sep 2023 17:42:03 +0200
|
||||||
|
Subject: [PATCH] pcm: Fix segfault with 32bit libs
|
||||||
|
|
||||||
|
The recent rearrangement of header inclusion order caused a regression
|
||||||
|
showing segfaults on 32bit Arm. The primary reason is the
|
||||||
|
inconsistent compile condition depending on the inclusion of config.h;
|
||||||
|
while most of other code include pcm_local.h (that implicitly includes
|
||||||
|
config.h) at first, pcm_direct.c doesn't do it, hence the access with
|
||||||
|
direct plugins crashes.
|
||||||
|
|
||||||
|
For fixing it, we need to include config.h at the beginning. But,
|
||||||
|
it's better to include pcm_local.h for all relevant code for
|
||||||
|
consistency. The patch does it, and also it adds the guard in
|
||||||
|
pcm_local.h for double inclusions.
|
||||||
|
|
||||||
|
Fixes: ad3a8b8b314e ("reshuffle included files to include config.h as first")
|
||||||
|
Link: https://github.com/alsa-project/alsa-lib/issues/352
|
||||||
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||||||
|
---
|
||||||
|
src/pcm/pcm_direct.c | 1 +
|
||||||
|
src/pcm/pcm_dmix.c | 2 +-
|
||||||
|
src/pcm/pcm_dshare.c | 1 +
|
||||||
|
src/pcm/pcm_dsnoop.c | 1 +
|
||||||
|
src/pcm/pcm_local.h | 5 +++++
|
||||||
|
src/pcm/pcm_shm.c | 1 +
|
||||||
|
6 files changed, 10 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/pcm/pcm_direct.c b/src/pcm/pcm_direct.c
|
||||||
|
index 040fc1605388..e53e59238119 100644
|
||||||
|
--- a/src/pcm/pcm_direct.c
|
||||||
|
+++ b/src/pcm/pcm_direct.c
|
||||||
|
@@ -19,6 +19,7 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include "pcm_local.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
diff --git a/src/pcm/pcm_dmix.c b/src/pcm/pcm_dmix.c
|
||||||
|
index 7cd3c50841ae..55cae3e79a06 100644
|
||||||
|
--- a/src/pcm/pcm_dmix.c
|
||||||
|
+++ b/src/pcm/pcm_dmix.c
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
-#include "config.h"
|
||||||
|
+#include "pcm_local.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
diff --git a/src/pcm/pcm_dshare.c b/src/pcm/pcm_dshare.c
|
||||||
|
index 454b39a91429..c03290985457 100644
|
||||||
|
--- a/src/pcm/pcm_dshare.c
|
||||||
|
+++ b/src/pcm/pcm_dshare.c
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include "pcm_local.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
diff --git a/src/pcm/pcm_dsnoop.c b/src/pcm/pcm_dsnoop.c
|
||||||
|
index d3ce300ce3b8..bf67c68a0dfa 100644
|
||||||
|
--- a/src/pcm/pcm_dsnoop.c
|
||||||
|
+++ b/src/pcm/pcm_dsnoop.c
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include "pcm_local.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
diff --git a/src/pcm/pcm_local.h b/src/pcm/pcm_local.h
|
||||||
|
index 6a0e71e711ea..152c92c300e1 100644
|
||||||
|
--- a/src/pcm/pcm_local.h
|
||||||
|
+++ b/src/pcm/pcm_local.h
|
||||||
|
@@ -20,6 +20,9 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#ifndef __PCM_LOCAL_H
|
||||||
|
+#define __PCM_LOCAL_H
|
||||||
|
+
|
||||||
|
#include "config.h"
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
@@ -1223,3 +1226,5 @@ static inline void snd_pcm_unlock(snd_pcm_t *pcm)
|
||||||
|
#define snd_pcm_lock(pcm) do {} while (0)
|
||||||
|
#define snd_pcm_unlock(pcm) do {} while (0)
|
||||||
|
#endif /* THREAD_SAFE_API */
|
||||||
|
+
|
||||||
|
+#endif /* __PCM_LOCAL_H */
|
||||||
|
diff --git a/src/pcm/pcm_shm.c b/src/pcm/pcm_shm.c
|
||||||
|
index f0bfd934d335..d9596547741c 100644
|
||||||
|
--- a/src/pcm/pcm_shm.c
|
||||||
|
+++ b/src/pcm/pcm_shm.c
|
||||||
|
@@ -26,6 +26,7 @@
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
+#include "pcm_local.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <stddef.h>
|
||||||
|
--
|
||||||
|
2.35.3
|
||||||
|
|
@ -1,3 +1,11 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Sat Sep 9 15:49:43 UTC 2023 - Takashi Iwai <tiwai@suse.com>
|
||||||
|
|
||||||
|
- Upstream fix backport:
|
||||||
|
0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
|
||||||
|
- Upstream fix for PCM segfault regression (bsc#1215167):
|
||||||
|
0003-pcm-Fix-segfault-with-32bit-libs.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Mon Sep 4 12:33:29 UTC 2023 - Takashi Iwai <tiwai@suse.com>
|
Mon Sep 4 12:33:29 UTC 2023 - Takashi Iwai <tiwai@suse.com>
|
||||||
|
|
||||||
|
@ -57,6 +57,8 @@ Source34: alsa-init.sh
|
|||||||
Source35: alsa.keyring
|
Source35: alsa.keyring
|
||||||
# upstream fixes
|
# upstream fixes
|
||||||
Patch1: 0001-control.h-Fix-ump-header-file-detection.patch
|
Patch1: 0001-control.h-Fix-ump-header-file-detection.patch
|
||||||
|
Patch2: 0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch
|
||||||
|
Patch3: 0003-pcm-Fix-segfault-with-32bit-libs.patch
|
||||||
# rest suse fixes
|
# rest suse fixes
|
||||||
Patch101: alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch
|
Patch101: alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch
|
||||||
BuildRequires: doxygen
|
BuildRequires: doxygen
|
||||||
@ -146,6 +148,8 @@ This package contains the library for ALSA topology support.
|
|||||||
%prep
|
%prep
|
||||||
%setup -q -n alsa-lib-%{version}
|
%setup -q -n alsa-lib-%{version}
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
|
%patch2 -p1
|
||||||
|
%patch3 -p1
|
||||||
%patch101 -p1
|
%patch101 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
Loading…
x
Reference in New Issue
Block a user