Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package alsa for openSUSE:Factory checked in at 2023-09-11 21:19:55 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/alsa (Old) and /work/SRC/openSUSE:Factory/.alsa.new.1766 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "alsa" Mon Sep 11 21:19:55 2023 rev:221 rq:1110010 version:1.2.10 Changes: -------- --- /work/SRC/openSUSE:Factory/alsa/alsa.changes 2023-09-06 18:56:46.296517928 +0200 +++ /work/SRC/openSUSE:Factory/.alsa.new.1766/alsa.changes 2023-09-11 21:21:01.038881813 +0200 @@ -1,0 +2,8 @@ +Sat Sep 9 15:49:43 UTC 2023 - Takashi Iwai <[email protected]> + +- 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 + +------------------------------------------------------------------- New: ---- 0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch 0003-pcm-Fix-segfault-with-32bit-libs.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ alsa.spec ++++++ --- /var/tmp/diff_new_pack.24a4cS/_old 2023-09-11 21:21:03.398965948 +0200 +++ /var/tmp/diff_new_pack.24a4cS/_new 2023-09-11 21:21:03.398965948 +0200 @@ -57,6 +57,8 @@ Source35: alsa.keyring # upstream fixes 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 Patch101: alsa-lib-ignore-non-accessible-ALSA_CONFIG_PATH.patch BuildRequires: doxygen @@ -146,6 +148,8 @@ %prep %setup -q -n alsa-lib-%{version} %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %patch101 -p1 %build ++++++ 0002-global.h-move-__STRING-macro-outside-PIC-ifdef-block.patch ++++++ >From 10bd599970acc71c92f85eb08943eb8d3d702a9c Mon Sep 17 00:00:00 2001 From: Jaroslav Kysela <[email protected]> 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 <[email protected]> --- 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 ++++++ 0003-pcm-Fix-segfault-with-32bit-libs.patch ++++++ >From 0e3dfb9f705ca78be34cd70fd59d67c431e29cc7 Mon Sep 17 00:00:00 2001 From: Takashi Iwai <[email protected]> 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 <[email protected]> --- 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
