Use -Bsymbolic-functions, drop g*alias PLT hackery

This is a minimal patch-out of the galias functionality.  We will do a
release like this so that we can easily back it out if there are
reported problems.

A more substantial cleanup (mostly removing #includes from every file)
will follow if there are no issues.
This commit is contained in:
Ryan Lortie 2010-06-21 13:55:28 -04:00
parent e549bbf664
commit c9553af68f
9 changed files with 16 additions and 10 deletions

View File

@ -3642,7 +3642,7 @@ SAVED_LDFLAGS="${LDFLAGS}"
AC_MSG_CHECKING([for -Bsymbolic-functions linker flag])
LDFLAGS=-Wl,-Bsymbolic-functions
AC_TRY_LINK([], [int main (void) { return 0; }],
GLIB_LINK_FLAGS=-Bsymbolic-functions
GLIB_LINK_FLAGS=-Wl[,]-Bsymbolic-functions
AC_MSG_RESULT(yes),
GLIB_LINK_FLAGS=
AC_MSG_RESULT(no))

View File

@ -27,11 +27,11 @@ gio.def: gio.symbols
$(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gio.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g' | sort) > gio.def.tmp && \
mv gio.def.tmp gio.def
gioalias.h: gio.symbols
gioalias.h: gio.symbols makegioalias.pl
$(AM_V_GEN) $(PERL) $(srcdir)/makegioalias.pl < $(srcdir)/gio.symbols > gioalias.h.tmp && \
mv gioalias.h.tmp gioalias.h
gioaliasdef.c: gio.symbols
gioaliasdef.c: gio.symbols makegioalias.pl
$(AM_V_GEN) $(PERL) $(srcdir)/makegioalias.pl -def < $(srcdir)/gio.symbols > gioaliasdef.c.tmp && \
mv gioaliasdef.c.tmp gioaliasdef.c
@ -417,7 +417,7 @@ install-data-local: install-ms-lib install-def-file
uninstall-local: uninstall-ms-lib uninstall-def-file
libgio_2_0_la_LDFLAGS = \
libgio_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(gio_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined) $(export_symbols)

View File

@ -1,5 +1,7 @@
#!/usr/bin/perl -w
exit 0;
my $do_def = 0;
if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {

View File

@ -322,7 +322,7 @@ endif
libglib_2_0_la_LIBADD = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ @ICONV_LIBS@ @G_LIBS_EXTRA@ $(pcre_lib)
libglib_2_0_la_DEPENDENCIES = libcharset/libcharset.la $(printf_la) @GIO@ @GSPAWN@ @PLATFORMDEP@ $(glib_win32_res) $(glib_def)
libglib_2_0_la_LDFLAGS = \
libglib_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(glib_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined) $(export_symbols)

View File

@ -1,5 +1,7 @@
#!/usr/bin/perl -w
exit 0;
my $do_def = 0;
if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {

View File

@ -80,7 +80,7 @@ uninstall-def-file:
endif
libgmodule_2_0_la_SOURCES = gmodule.c
libgmodule_2_0_la_LDFLAGS = \
libgmodule_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(gmodule_win32_res_ldflag) \
$(G_MODULE_LDFLAGS) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \

View File

@ -26,10 +26,10 @@ AM_CPPFLAGS = \
gobject.def: gobject.symbols
$(AM_V_GEN) (echo -e EXPORTS; $(CPP) -P -DINCLUDE_VARIABLES -DINCLUDE_INTERNAL_SYMBOLS -DG_OS_WIN32 -DALL_FILES - <$(srcdir)/gobject.symbols | sed -e '/^$$/d' -e 's/^/ /' -e 's/G_GNUC_[^ ]*//g' | sort) > gobject.def
gobjectalias.h: gobject.symbols
gobjectalias.h: gobject.symbols makegobjectalias.pl
$(AM_V_GEN) $(PERL) $(srcdir)/makegobjectalias.pl < $(srcdir)/gobject.symbols > gobjectalias.h
gobjectaliasdef.c: gobject.symbols
gobjectaliasdef.c: gobject.symbols makegobjectalias.pl
$(AM_V_GEN) $(PERL) $(srcdir)/makegobjectalias.pl -def < $(srcdir)/gobject.symbols > gobjectaliasdef.c
if OS_LINUX
@ -83,7 +83,7 @@ endif
# libtool stuff: set version and export symbols for resolving
libgobjectincludedir = $(includedir)/glib-2.0/gobject
libgobject_2_0_la_LDFLAGS = \
libgobject_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(gobject_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined) $(export_symbols)

View File

@ -1,5 +1,7 @@
#!/usr/bin/perl -w
exit 0;
my $do_def = 0;
if (($#ARGV >= 0) && ($ARGV[0] eq "-def")) {

View File

@ -70,7 +70,7 @@ gthread_win32_res_ldflag = -Wl,$(gthread_win32_res)
endif
libgthread_2_0_la_SOURCES = gthread-impl.c
libgthread_2_0_la_LDFLAGS = \
libgthread_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
$(gthread_win32_res_ldflag) \
-version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) \
-export-dynamic $(no_undefined) $(export_symbols)