+Sat Sep 30 2006 Matthias Clasen <mclasen@redhat.com>
+
+ * pltcheck.sh: Script to check PLT entries.
+
+ * Makefile.am (TESTS): Run pltcheck.sh
+
+ * gtype.c:
+ * gsignal.c:
+ * gobject.c:
+ * gvaluetypes.c: Move all includes before gobjectalias.h.
+ (#3545422, Behdad Esfahbod)
+
Fri Sep 22 13:41:02 2006 Tim Janik <timj@imendio.com>
* gtype.h: applied patch from Behdad with slight optimization,
gen_sources = xgen-gmh xgen-gmc xgen-gms
CLEANFILES = $(gen_sources)
+if OS_LINUX
+if HAVE_GNUC_VISIBILITY
+TESTS = pltcheck.sh
+endif
+endif
+
# normal autogeneration rules
# all autogenerated files need to be generated in the srcdir,
# so old versions get remade and are not confused with newer
* Boston, MA 02111-1307, USA.
*/
#include "gobject.h"
-#include "gobjectalias.h"
#include <glib/gdatasetprivate.h>
/*
#include "gsignal.h"
#include "gparamspecs.h"
#include "gvaluetypes.h"
-#include "gobjectnotifyqueue.c"
#include <string.h>
#include <signal.h>
+#include "gobjectalias.h"
+
+/* This should be included after gobjectalias.h (or pltcheck.sh will fail) */
+#include "gobjectnotifyqueue.c"
+
#define PREALLOC_CPARAMS (8)
#include "gvaluecollector.h"
#include "gvaluetypes.h"
#include "gboxed.h"
+#include "gobject.h"
+#include "genums.h"
#include "gobjectalias.h"
}
/* --- compile standard marshallers --- */
-#include "gobject.h"
-#include "genums.h"
#include "gmarshal.c"
#define __G_SIGNAL_C__
*/
#include <config.h>
#include "gtype.h"
-#include "gobjectalias.h"
/*
* MT safe
#include "gbsearcharray.h"
#include <string.h>
+#include "gobjectalias.h"
/* NOTE: some functions (some internal variants and exported ones)
* invalidate data portions of the TypeNodes. if external functions/callbacks
#include "gvaluetypes.h"
#include "gvaluecollector.h"
+
+#include "gobject.h"
+#include "gparam.h"
+#include "gboxed.h"
+#include "genums.h"
+
#include "gobjectalias.h"
#include <string.h>
#include <stdlib.h> /* qsort() */
}
-/* need extra includes for g_strdup_value_contents() ;( */
-#include "gobject.h"
-#include "gparam.h"
-#include "gboxed.h"
-#include "genums.h"
-
gchar*
g_strdup_value_contents (const GValue *value)
{
--- /dev/null
+#!/bin/sh
+
+LANG=C
+
+status=0
+
+if ! which readelf 2>/dev/null >/dev/null; then
+ echo "'readelf' not found; skipping test"
+ exit 0
+fi
+
+for so in .libs/lib*.so; do
+ echo Checking $so for local PLT entries
+ readelf -r $so | grep 'JU\?MP_SLOT' | grep '\<g_type_\|\<g_boxed_\|\<g_value_\|\<g_cclosure_\|\<g_closure_\|\<g_signal\|\<g_enum_\|\<g_flags_\|\<g_io_\|\<g_object_\|\<g_param_' && status=1
+done
+
+exit $status