libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: FYI: libtool--devo--1.0--patch-174


From: Ralf Wildenhues
Subject: Re: FYI: libtool--devo--1.0--patch-174
Date: Mon, 13 Sep 2004 09:23:51 +0200
User-agent: Mutt/1.4.1i

* Gary V. Vaughan wrote on Sat, Sep 11, 2004 at 02:51:32AM CEST:
> 
> Applied to HEAD.

> Index: Changelog
> from  Ralf Wildenhues  <address@hidden>
> 
>       * m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): The linker distinguishes
>       data and code symbols on linux-gnu/ia64.  Fixes multiple testsuite
>       failures.
>       * NEWS: Updated.

This was not my patch.  At least not exactly.

> --- orig/m4/libtool.m4
> +++ mod/m4/libtool.m4
> @@ -2717,6 +2717,13 @@
>  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'"

This line makes mdemo-exec.test fail after mdemo-static.test (there are
more failures), obviously, because \2 is not set in the second sed
substitution.  My original patch, which had the following line, was
correct:

+    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]]'
>    ;;

Actually, a couple of comments: I don't know why global_symbol_pipe
writes the same name twice into .libs/file.nm.  Consequently, I don't
know why the other "special" ia64 systems use the second name rather
than the first.

I don't know either why libtool does not just differentiate between data
and function objects on *every* system with respect to
func_generate_dlsyms, as it does not seem like much more overhead, and
at the same time would make for less special code.  But I understand
that such a change might not be suitable before a release.

Regards,
Ralf




reply via email to

[Prev in Thread] Current Thread [Next in Thread]