always use our own internal assertion message symbol

Re-using glibc's __abort_msg symbol causes linking problems, since the symbol
is declared private. Always use our own__glib_abort_msg symbol to store
assertion messages, to avoid compatibility and linking problems.

Also fix the test case to work with out of tree builds (such as "make
distcheck"), and re-enable it.

https://bugzilla.gnome.org/show_bug.cgi?id=594872
This commit is contained in:
Martin Pitt
2010-01-26 11:22:31 +01:00
parent e84a3f8248
commit 3658727cfa
4 changed files with 15 additions and 44 deletions

View File

@@ -2704,20 +2704,6 @@ int error = EILSEQ;
], have_eilseq=yes, have_eilseq=no);
AC_MSG_RESULT($have_eilseq)
dnl **********************************************************************
dnl *** Check whether glibc has global variable for assertion messages ***
dnl **********************************************************************
AC_MSG_CHECKING(if libc has __abort_msg)
AC_LINK_IFELSE([
extern char *__abort_msg;
int main() { return __abort_msg == (char*) 0; }
], [libc_has_abort_msg=yes], [libc_has_abort_msg=no])
AC_MSG_RESULT($libc_has_abort_msg)
if test "$libc_has_abort_msg" = "yes"; then
AC_DEFINE(HAVE_LIBC_ABORT_MSG,1,[Whether libc defines __abort_msg])
fi
dnl ******************************************************************
dnl *** Look for glib-genmarshal in PATH if we are cross-compiling ***
dnl ******************************************************************