From: Matthias Clasen Date: Sat, 30 Sep 2006 13:59:01 +0000 (+0000) Subject: Fix some issues with PLT entries. X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=20b39ffafad66ba1746de6954aa85653d135a5b8;p=dana%2Fcg-glib.git Fix some issues with PLT entries. --- diff --git a/gobject/ChangeLog b/gobject/ChangeLog index f2f268aa..28118307 100644 --- a/gobject/ChangeLog +++ b/gobject/ChangeLog @@ -1,3 +1,15 @@ +Sat Sep 30 2006 Matthias Clasen + + * 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 * gtype.h: applied patch from Behdad with slight optimization, diff --git a/gobject/Makefile.am b/gobject/Makefile.am index 09d732b4..f192ee09 100644 --- a/gobject/Makefile.am +++ b/gobject/Makefile.am @@ -154,6 +154,12 @@ EXTRA_DIST = \ 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 diff --git a/gobject/gobject.c b/gobject/gobject.c index d5290a10..7514c9a3 100644 --- a/gobject/gobject.c +++ b/gobject/gobject.c @@ -17,7 +17,6 @@ * Boston, MA 02111-1307, USA. */ #include "gobject.h" -#include "gobjectalias.h" #include /* @@ -28,10 +27,14 @@ #include "gsignal.h" #include "gparamspecs.h" #include "gvaluetypes.h" -#include "gobjectnotifyqueue.c" #include #include +#include "gobjectalias.h" + +/* This should be included after gobjectalias.h (or pltcheck.sh will fail) */ +#include "gobjectnotifyqueue.c" + #define PREALLOC_CPARAMS (8) diff --git a/gobject/gsignal.c b/gobject/gsignal.c index 8bd14784..c65565ae 100644 --- a/gobject/gsignal.c +++ b/gobject/gsignal.c @@ -32,6 +32,8 @@ #include "gvaluecollector.h" #include "gvaluetypes.h" #include "gboxed.h" +#include "gobject.h" +#include "genums.h" #include "gobjectalias.h" @@ -2605,8 +2607,6 @@ g_signal_accumulator_true_handled (GSignalInvocationHint *ihint, } /* --- compile standard marshallers --- */ -#include "gobject.h" -#include "genums.h" #include "gmarshal.c" #define __G_SIGNAL_C__ diff --git a/gobject/gtype.c b/gobject/gtype.c index 04bcc7e1..12ce66fe 100644 --- a/gobject/gtype.c +++ b/gobject/gtype.c @@ -18,7 +18,6 @@ */ #include #include "gtype.h" -#include "gobjectalias.h" /* * MT safe @@ -29,6 +28,7 @@ #include "gbsearcharray.h" #include +#include "gobjectalias.h" /* NOTE: some functions (some internal variants and exported ones) * invalidate data portions of the TypeNodes. if external functions/callbacks diff --git a/gobject/gvaluetypes.c b/gobject/gvaluetypes.c index 7bfc9f6c..a479a580 100644 --- a/gobject/gvaluetypes.c +++ b/gobject/gvaluetypes.c @@ -24,6 +24,12 @@ #include "gvaluetypes.h" #include "gvaluecollector.h" + +#include "gobject.h" +#include "gparam.h" +#include "gboxed.h" +#include "genums.h" + #include "gobjectalias.h" #include #include /* qsort() */ @@ -847,12 +853,6 @@ g_value_get_gtype (const GValue *value) } -/* 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) { diff --git a/gobject/pltcheck.sh b/gobject/pltcheck.sh new file mode 100755 index 00000000..19edfac0 --- /dev/null +++ b/gobject/pltcheck.sh @@ -0,0 +1,17 @@ +#!/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 '\