This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: AIX libstdc++-v3 breakage on gcc-3.0 branch
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: AIX libstdc++-v3 breakage on gcc-3.0 branch
- From: Albert Chin-A-Young <china at thewrittenword dot com>
- Date: Mon, 21 May 2001 17:57:29 -0500
- Cc: Alexandre Oliva <aoliva at redhat dot com>, gcc at gcc dot gnu dot org
- References: <200105211930.PAA23098@makai.watson.ibm.com>
On Mon, May 21, 2001 at 03:30:26PM -0400, David Edelsohn wrote:
> The import of libtool 1.4a 1.641.2.254 has broken libstdc++-v3 on
> the gcc-3.0 branch.
>
> The fix of the quoting typo when defining
>
> allow_undefined_flag='${wl}-berok'
>
> now means that there is no space in archive_expsym_cmds:
>
> ${wl}-bnoentry${allow_undefined_flag}
>
> which turns into the following when invoking ld:
>
> -Wl,-bnoentry${wl}-berok
>
> ld: 0706-014 The -b noentry-Wl option is not recognized.
>
>
> I presume that a space should be added in the definition of
> archive_expsym_cmds?
Why? I don't see how that will fix it. Did you peruse the libtool
patch I sent you a few days ago (don't remember if it was against 1.4
or MLB)? Anyway, I solve the problem by defining:
allow_undefined_flag='-berok'
and setting archive_expsym_cmds to:
archive_expsym_cmds="\$CC"' -o $output_objdir/$soname $libobjs
$deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag"
The problem is that you'd need two eval's to get the ${wl} in
allow_undefined_flag expanded. Libtool is not going to do that.
Want me to send you my MLB aix patch? I'm waiting for the CVS libtool
merge before submitting it.
--
albert chin (china@thewrittenword.com)