[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Correctly concat commands when export_symbols_cmds starts wi
From: |
Ralf Wildenhues |
Subject: |
Re: [PATCH] Correctly concat commands when export_symbols_cmds starts with some 'word'. |
Date: |
Mon, 27 Jun 2011 23:12:05 +0200 |
Hi Michael,
* Michael Haubenwallner wrote on Mon, Jun 27, 2011 at 04:28:38PM CEST:
> Concatening commands breaks when export_symbols_cmds starts with something
> like "dump", which does not need another shell expansion step. Instead, it
> is merged with "\$concat_cmds" to "$concat_cmdsdump" for within the eval.
>
> While this isn't a problem right now, it hits me when experimenting with
> shared library versioning support for AIX.
How can that be?
> + Correctly concat commands when export_symbols_cmds starts with 'word'.
> + * libltdl/config/ltmain.m4sh: When export_symbols_cmd starts with some
> + 'word', 'word' is joined with 'concat_cmds' to 'concat_cmdsword' due to
> + different expansion time: Need to embrace concat_cmds variable for
> + export_symbols_cmds too as for reload_cmds and old_archive_cmds.
When $concat_cmds is nonempty, it gets a '~' at the end. That can never
be part of a shell word, if I see correctly. Can you give an example?
> --- a/libltdl/config/ltmain.m4sh
> +++ b/libltdl/config/ltmain.m4sh
> @@ -7636,7 +7636,7 @@ EOF
> libobjs=$output
> # Append the command to create the export file.
> test -z "$concat_cmds" || concat_cmds=$concat_cmds~
> - eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
> + eval concat_cmds=\"\${concat_cmds}$export_symbols_cmds\"
> if test -n "$last_robj"; then
> eval concat_cmds=\"\$concat_cmds~\$RM $last_robj\"
> fi
Thanks,
Ralf