Fix PLT issues

This commit is contained in:
Matthias Clasen 2006-09-30 14:06:45 +00:00
parent 20b39ffafa
commit 48876d7fb5
13 changed files with 39 additions and 13 deletions

View File

@ -1,3 +1,11 @@
2006-09-30 Matthias Clasen <mclasen@redhat.com>
* glib/pltcheck.sh: A script to check PLT entries.
* glib/Makefile.am (TESTS): Run pltcheck.sh
* glib/*: Fix includes to correct some issues with
PLT entries. (#354522, Behdad Esfahbod)
2006-09-17 Hans Breuer <hans@breuer.org> 2006-09-17 Hans Breuer <hans@breuer.org>
* glib/makefile.msc.in gobject/makefile.msc.in : better filtering * glib/makefile.msc.in gobject/makefile.msc.in : better filtering

View File

@ -24,7 +24,7 @@ galiasdef.c: glib.symbols
if OS_LINUX if OS_LINUX
if HAVE_GNUC_VISIBILITY if HAVE_GNUC_VISIBILITY
TESTS = abicheck.sh TESTS = abicheck.sh pltcheck.sh
endif endif
endif endif

View File

@ -6,8 +6,8 @@ INCLUDES="-include ${top_builddir:-..}/config.h"
INCLUDES="$INCLUDES -include glibconfig.cpp" INCLUDES="$INCLUDES -include glibconfig.cpp"
cpp -P -DINCLUDE_INTERNAL_SYMBOLS -DINCLUDE_VARIABLES -DG_STDIO_NO_WRAP_ON_UNIX -DALL_FILES $INCLUDES "${srcdir:-.}/glib.symbols" | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE$//' | sort > expected-abi cpp -P -DINCLUDE_INTERNAL_SYMBOLS -DINCLUDE_VARIABLES -DG_STDIO_NO_WRAP_ON_UNIX -DALL_FILES $INCLUDES "${srcdir:-.}/glib.symbols" | sed -e '/^$/d' -e 's/ G_GNUC.*$//' -e 's/ PRIVATE$//' | sort > expected-abi
rm glibconfig.cpp rm -f glibconfig.cpp
nm -D -g --defined-only .libs/libglib-2.0.so | cut -d ' ' -f 3 | sort > actual-abi nm -D -g --defined-only .libs/libglib-2.0.so | cut -d ' ' -f 3 | sort > actual-abi
diff -u expected-abi actual-abi && rm expected-abi actual-abi diff -u expected-abi actual-abi && rm -f expected-abi actual-abi

View File

@ -35,8 +35,8 @@
#include <string.h> #include <string.h>
#include "glib.h" #include "glib.h"
#include "galias.h"
#include "gdatasetprivate.h" #include "gdatasetprivate.h"
#include "galias.h"
/* --- defines --- */ /* --- defines --- */

View File

@ -1105,6 +1105,7 @@ g_string_down
g_string_up g_string_up
#endif #endif
#ifdef INCLUDE_INTERNAL_SYMBOLS #ifdef INCLUDE_INTERNAL_SYMBOLS
/* these are not internal, but we don't want to alias them */
g_string_append_c g_string_append_c
#endif #endif
g_str_equal g_str_equal

View File

@ -27,9 +27,8 @@
#include <errno.h> #include <errno.h>
#include "glib.h" #include "glib.h"
#include "galias.h"
#include "glibintl.h" #include "glibintl.h"
#include "galias.h"
GQuark GQuark
g_markup_error_quark (void) g_markup_error_quark (void)

View File

@ -21,6 +21,7 @@
#include <config.h> #include <config.h>
#include <stdlib.h> #include <stdlib.h>
#include "glib/glib.h" #include "glib/glib.h"
#include "glib/galias.h"
/* Private namespace for gnulib functions */ /* Private namespace for gnulib functions */
#define asnprintf _g_gnulib_asnprintf #define asnprintf _g_gnulib_asnprintf

View File

@ -25,13 +25,13 @@
#include <string.h> #include <string.h>
#include "glib.h" #include "glib.h"
#include "galias.h"
#ifdef _ #ifdef _
#warning "FIXME remove gettext hack" #warning "FIXME remove gettext hack"
#endif #endif
#include "glibintl.h" #include "glibintl.h"
#include "galias.h"
GQuark GQuark
g_shell_error_quark (void) g_shell_error_quark (void)

View File

@ -32,8 +32,8 @@
#include <errno.h> #include <errno.h>
#include "gmem.h" /* gslice.h */ #include "gmem.h" /* gslice.h */
#include "gthreadprivate.h" #include "gthreadprivate.h"
#include "galias.h"
#include "glib.h" #include "glib.h"
#include "galias.h"
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> /* sysconf() */ #include <unistd.h> /* sysconf() */
#endif #endif

View File

@ -46,6 +46,7 @@
#include "glib.h" #include "glib.h"
#include "gprintfint.h" #include "gprintfint.h"
#include "glibintl.h"
#include "galias.h" #include "galias.h"
#include <string.h> #include <string.h>
@ -67,8 +68,6 @@ int _wspawnve (int, const wchar_t *, const wchar_t **, const wchar_t **);
int _wspawnv (int, const wchar_t *, const wchar_t **); int _wspawnv (int, const wchar_t *, const wchar_t **);
#endif #endif
#include "glibintl.h"
#ifdef G_SPAWN_WIN32_DEBUG #ifdef G_SPAWN_WIN32_DEBUG
static int debug = 1; static int debug = 1;
#define SETUP_DEBUG() /* empty */ #define SETUP_DEBUG() /* empty */

View File

@ -36,9 +36,8 @@
#endif /* HAVE_SYS_SELECT_H */ #endif /* HAVE_SYS_SELECT_H */
#include "glib.h" #include "glib.h"
#include "galias.h"
#include "glibintl.h" #include "glibintl.h"
#include "galias.h"
static gint g_execute (const gchar *file, static gint g_execute (const gchar *file,
gchar **argv, gchar **argv,

View File

@ -28,7 +28,6 @@
#include <string.h> #include <string.h>
#include "glib.h" #include "glib.h"
#include "galias.h"
#ifdef G_PLATFORM_WIN32 #ifdef G_PLATFORM_WIN32
#include <stdio.h> #include <stdio.h>
@ -40,6 +39,7 @@
#include "libcharset/libcharset.h" #include "libcharset/libcharset.h"
#include "glibintl.h" #include "glibintl.h"
#include "galias.h"
#define UTF8_COMPUTE(Char, Mask, Len) \ #define UTF8_COMPUTE(Char, Mask, Len) \
if (Char < 128) \ if (Char < 128) \

19
glib/pltcheck.sh Executable file
View File

@ -0,0 +1,19 @@
#!/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
# g_string_insert_c is used in g_string_append_c_inline
# unaliased. Couldn't find a way to fix it.
readelf -r $so | grep 'JU\?MP_SLOT' | grep -v '\<g_string_insert_c\>' | grep '\<g_' && status=1
done
exit $status