summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-11-03 23:08:20 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-11-08 14:03:16 +0000
commitbafbe8bc0976d4c3ccf7e97979cd956f6374f53d (patch)
tree33c3cd625d115967b4f7cb3cc7bee24933616a74
parentea70d7f8f78cd793242cf6804840507d2ebd2871 (diff)
downloadopenembedded-core-contrib-bafbe8bc0976d4c3ccf7e97979cd956f6374f53d.tar.gz
gstreamer: Fix build on 32bit arches with 64bit time_t
Fixes | ../gstreamer-1.18.1/gst/gstsystemclock.c:330:1: error: static_assert failed due to requirement 'size of(struct _GstClockEntryPThread) <= sizeof(struct _GstClockEntryImpl)' "Expression evaluates to false" | G_STATIC_ASSERT (sizeof (GstClockEntryImpl) <= | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch34
-rw-r--r--meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb1
2 files changed, 35 insertions, 0 deletions
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch
new file mode 100644
index 0000000000..a2d215d72d
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch
@@ -0,0 +1,34 @@
+From 4449246a8d788e71dfe4679fba95955cec5894c1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 3 Nov 2020 22:58:26 -0800
+Subject: [PATCH] gst_private.h: increse padding in struct _GstClockEntryImpl
+
+When compiling for 32bit architectures with 64bit time_t e.g. riscv32,
+the static assert that the GstClockEntryImpl smaller or
+equal to the struct _GstClockEntryImpl triggered.
+(they were 12bytes off).
+
+To fix this, the padding is increased by 8 bytes (on 32bit).
+
+Upstream-Status: Submitted [https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/694]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ gst/gst_private.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/gst/gst_private.h b/gst/gst_private.h
+index a8897e1..8252ede 100644
+--- a/gst/gst_private.h
++++ b/gst/gst_private.h
+@@ -522,7 +522,7 @@ struct _GstClockEntryImpl
+ GstClockEntry entry;
+ GWeakRef clock;
+ GDestroyNotify destroy_entry;
+- gpointer padding[19]; /* padding for allowing e.g. systemclock
++ gpointer padding[21]; /* padding for allowing e.g. systemclock
+ * to add data in lieu of overridable
+ * virtual functions on the clock */
+ };
+--
+2.29.2
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb
index d989eefd97..d55b2871e7 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0_1.18.1.bb
@@ -19,6 +19,7 @@ SRC_URI = "https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-${PV}.tar.x
file://0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch \
file://0002-Remove-unused-valgrind-detection.patch \
file://0003-meson-Add-option-for-installed-tests.patch \
+ file://0001-gst_private.h-increse-padding-in-struct-_GstClockEnt.patch \
"
SRC_URI[sha256sum] = "79df8de21f284a105a5c1568527f8c559c583c85c0f2bd7bdb5b0372b8beecba"