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

Reply via email to