From: Ralf Wildenhues Date: Sat, 11 Sep 2004 00:50:27 +0000 (+0000) Subject: * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes X-Git-Tag: release-1-9d~57 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8240b4ebbac9a7608c489bd6a6128cb1609e7d40;p=thirdparty%2Flibtool.git * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes data and code symbols on linux-gnu/ia64. Fixes multiple testsuite failures. * NEWS: Updated. --- diff --git a/ChangeLog b/ChangeLog index 97ca965ba..756649013 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2004-09-11 Ralf Wildenhues + + * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes + data and code symbols on linux-gnu/ia64. Fixes multiple testsuite + failures. + * NEWS: Updated. + 2004-09-06 Gary V. Vaughan * libltdl/loaders/shl_load.c (get_vtable): Typo. diff --git a/NEWS b/NEWS index a462dbdbd..5c6dac18b 100644 --- a/NEWS +++ b/NEWS @@ -18,6 +18,7 @@ New in 1.9d: 2004-??-??; CVS version 1.9c, Libtool team: types have been exchanged. See libltdl/slist.c for documentation. * libltdl is C89 compatible again. lt_dlsymbol type removed, and lt_dlsymlist structure changed to avoid using C99 flexible arrays. +* Improved support for linux-gnu/ia64. * Fixed some memory leaks in libltdl. New in 1.9b: 2004-08-29; CVS version 1.5a, Libtool team: diff --git a/m4/libtool.m4 b/m4/libtool.m4 index b26360e52..073a1a60e 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -2717,6 +2717,13 @@ hpux*) # Its linker distinguishes data from code symbols irix* | nonstopux*) symcode='[[BCDEGRST]]' ;; +linux*) + if test "$host_cpu" = ia64; then + symcode='[[ABCDGIRSTW]]' + lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" + lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" + fi + ;; osf*) symcode='[[BCDEGQRST]]' ;;