controlpoint: change the padding to be of arch-independent size
authorStefan Sauer <ensonic@users.sf.net>
Wed, 30 Sep 2015 15:29:16 +0000 (17:29 +0200)
committerStefan Sauer <ensonic@users.sf.net>
Wed, 30 Sep 2015 15:31:58 +0000 (17:31 +0200)
The default padding I introduced in d4f81fb4e62d34a4c1dabc65b23ede7ce7694c63 is
actually only 4 pointers and on 32bit platforms already smaller than the union.
Replace it with a fixed 64byte padding. Don't add the normal padding for now.

Fixes #755822

libs/gst/controller/gsttimedvaluecontrolsource.h
tests/check/libs/struct_arm.h
tests/check/libs/struct_hppa.h
tests/check/libs/struct_i386.h
tests/check/libs/struct_ppc32.h
tests/check/libs/struct_ppc64.h
tests/check/libs/struct_sparc.h
tests/check/libs/struct_x86_64.h

index d161ecb..04dd464 100644 (file)
@@ -70,14 +70,14 @@ struct _GstControlPoint
   /* Caches for the interpolators */
   /* FIXME: we should not have this here already ... */
   union {
-    struct {
+    struct { /* 16 bytes */
       gdouble h;
       gdouble z;
     } cubic;
-    struct {
+    struct { /* 24 bytes */
       gdouble c1s, c2s, c3s;
     } cubic_mono;
-    gpointer _gst_reserved[GST_PADDING];
+    guint8 _gst_reserved[64];
   } cache;
 };
 
index ecb0f58..21310de 100644 (file)
@@ -22,7 +22,7 @@ GstCheckABIStruct list[] = {
   {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 152},
   {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 124},
   {"GstLFOControlSource", sizeof (GstLFOControlSource), 120},
-  {"GstControlPoint", sizeof (GstControlPoint), 48},
+  {"GstControlPoint", sizeof (GstControlPoint), 80},
   {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 124},
   {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 128},
   {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 140},
index 1915e4f..9cdb923 100644 (file)
@@ -22,7 +22,7 @@ GstCheckABIStruct list[] = {
   {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
   {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
   {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
-  {"GstControlPoint", sizeof (GstControlPoint), 48},
+  {"GstControlPoint", sizeof (GstControlPoint), 80},
   {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
   {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
   {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},
index 8cf7343..fd13063 100644 (file)
@@ -22,7 +22,7 @@ GstCheckABIStruct list[] = {
   {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 140},
   {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 124},
   {"GstLFOControlSource", sizeof (GstLFOControlSource), 108},
-  {"GstControlPoint", sizeof (GstControlPoint), 48},
+  {"GstControlPoint", sizeof (GstControlPoint), 80},
   {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 124},
   {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 120},
   {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 140},
index ecb0f58..21310de 100644 (file)
@@ -22,7 +22,7 @@ GstCheckABIStruct list[] = {
   {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 152},
   {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 124},
   {"GstLFOControlSource", sizeof (GstLFOControlSource), 120},
-  {"GstControlPoint", sizeof (GstControlPoint), 48},
+  {"GstControlPoint", sizeof (GstControlPoint), 80},
   {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 124},
   {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 128},
   {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 140},
index 1915e4f..9cdb923 100644 (file)
@@ -22,7 +22,7 @@ GstCheckABIStruct list[] = {
   {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
   {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
   {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
-  {"GstControlPoint", sizeof (GstControlPoint), 48},
+  {"GstControlPoint", sizeof (GstControlPoint), 80},
   {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
   {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
   {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},
index 1915e4f..9cdb923 100644 (file)
@@ -22,7 +22,7 @@ GstCheckABIStruct list[] = {
   {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
   {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
   {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
-  {"GstControlPoint", sizeof (GstControlPoint), 48},
+  {"GstControlPoint", sizeof (GstControlPoint), 80},
   {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
   {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
   {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},
index 1915e4f..9cdb923 100644 (file)
@@ -22,7 +22,7 @@ GstCheckABIStruct list[] = {
   {"GstInterpolationControlSource", sizeof (GstInterpolationControlSource), 240},
   {"GstLFOControlSourceClass", sizeof (GstLFOControlSourceClass), 248},
   {"GstLFOControlSource", sizeof (GstLFOControlSource), 184},
-  {"GstControlPoint", sizeof (GstControlPoint), 48},
+  {"GstControlPoint", sizeof (GstControlPoint), 80},
   {"GstTimedValueControlSourceClass", sizeof (GstTimedValueControlSourceClass), 248},
   {"GstTimedValueControlSource", sizeof (GstTimedValueControlSource), 200},
   {"GstTriggerControlSourceClass", sizeof (GstTriggerControlSourceClass), 280},