[OE-core] [PATCH] pulseaudio: avoid gcc ICE by omitting code TEMPORARILY
jackie.huang at windriver.com
jackie.huang at windriver.com
Mon Sep 9 10:10:44 UTC 2013
From: Randy MacLeod <Randy.MacLeod at windriver.com>
It's a FYI patch for anyone who might be having the same problem.
pulseaudio-4.0 causes an internal compiler error. Temporarily
avoid the build error be omitting the code that makes the
compiler fail until the compiler ICE is addressed.
The error is:
pulsecore/sink.c: In function 'pa_sink_process_msg':
pulsecore/sink.c:3822:1: internal compiler error: in fold_binary_loc, at fold-const.c:9871
}
^
Signed-off-by: Randy MacLeod <Randy.MacLeod at windriver.com>
---
...void-gcc-ICE-drop-useful-code-TEMPORARILY.patch | 55 ++++++++++++++++++++
.../pulseaudio/pulseaudio_4.0.bb | 4 +-
2 files changed, 58 insertions(+), 1 deletions(-)
create mode 100644 meta/recipes-multimedia/pulseaudio/pulseaudio/0001-Avoid-gcc-ICE-drop-useful-code-TEMPORARILY.patch
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-Avoid-gcc-ICE-drop-useful-code-TEMPORARILY.patch b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-Avoid-gcc-ICE-drop-useful-code-TEMPORARILY.patch
new file mode 100644
index 0000000..d104da7
--- /dev/null
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio/0001-Avoid-gcc-ICE-drop-useful-code-TEMPORARILY.patch
@@ -0,0 +1,55 @@
+From 4eb3f53619a0c8542ab53dc7ba1d930c025e3046 Mon Sep 17 00:00:00 2001
+From: Randy MacLeod <Randy.MacLeod at windriver.com>
+Date: Sun, 8 Sep 2013 19:36:41 -0400
+Subject: [PATCH] Avoid gcc ICE: drop useful code - TEMPORARILY
+
+---
+ src/pulsecore/sink.c | 7 ++++++-
+ src/pulsecore/source.c | 9 +++++++--
+ 2 files changed, 13 insertions(+), 3 deletions(-)
+
+diff --git a/src/pulsecore/sink.c b/src/pulsecore/sink.c
+index 9b4b066..233f69f 100644
+--- a/src/pulsecore/sink.c
++++ b/src/pulsecore/sink.c
+@@ -2768,7 +2768,12 @@ int pa_sink_process_msg(pa_msgobject *o, int code, void *userdata, int64_t offse
+ case PA_SINK_MESSAGE_SET_STATE: {
+
+ pa_bool_t suspend_change =
+- (s->thread_info.state == PA_SINK_SUSPENDED && PA_SINK_IS_OPENED(PA_PTR_TO_UINT(userdata))) ||
++
++ (s->thread_info.state == PA_SINK_SUSPENDED
++#if 0
++ && PA_SINK_IS_OPENED(PA_PTR_TO_UINT(userdata))
++#endif
++ ) ||
+ (PA_SINK_IS_OPENED(s->thread_info.state) && PA_PTR_TO_UINT(userdata) == PA_SINK_SUSPENDED);
+
+ s->thread_info.state = PA_PTR_TO_UINT(userdata);
+diff --git a/src/pulsecore/source.c b/src/pulsecore/source.c
+index c6aa5e3..a6e684d 100644
+--- a/src/pulsecore/source.c
++++ b/src/pulsecore/source.c
+@@ -2100,8 +2100,12 @@ int pa_source_process_msg(pa_msgobject *object, int code, void *userdata, int64_
+ case PA_SOURCE_MESSAGE_SET_STATE: {
+
+ pa_bool_t suspend_change =
+- (s->thread_info.state == PA_SOURCE_SUSPENDED && PA_SOURCE_IS_OPENED(PA_PTR_TO_UINT(userdata))) ||
+- (PA_SOURCE_IS_OPENED(s->thread_info.state) && PA_PTR_TO_UINT(userdata) == PA_SOURCE_SUSPENDED);
++ ( s->thread_info.state == PA_SOURCE_SUSPENDED
++#if 0
++ &&
++ PA_SOURCE_IS_OPENED(PA_PTR_TO_UINT(userdata))
++#endif
++ ) || (PA_SOURCE_IS_OPENED(s->thread_info.state) && PA_PTR_TO_UINT(userdata) == PA_SOURCE_SUSPENDED);
+
+ s->thread_info.state = PA_PTR_TO_UINT(userdata);
+
+@@ -2857,3 +2861,4 @@ done:
+
+ return out_formats;
+ }
++
+--
+1.8.1
+
diff --git a/meta/recipes-multimedia/pulseaudio/pulseaudio_4.0.bb b/meta/recipes-multimedia/pulseaudio/pulseaudio_4.0.bb
index b419c54..156af02 100644
--- a/meta/recipes-multimedia/pulseaudio/pulseaudio_4.0.bb
+++ b/meta/recipes-multimedia/pulseaudio/pulseaudio_4.0.bb
@@ -1,7 +1,9 @@
require pulseaudio.inc
SRC_URI = "http://freedesktop.org/software/pulseaudio/releases/pulseaudio-${PV}.tar.xz \
- file://volatiles.04_pulse"
+ file://volatiles.04_pulse \
+ file://0001-Avoid-gcc-ICE-drop-useful-code-TEMPORARILY.patch \
+ "
SRC_URI[md5sum] = "591f211db2790a7e4d222f2dc6858db3"
SRC_URI[sha256sum] = "35ceb36bb1822fe54f0b5e4863b4f486769fdfb8ff2111f01fd8778928f9cdae"
--
1.7.4.1
More information about the Openembedded-core
mailing list