libstdc++ libtool lossage

Jakub Jelinek jakub@redhat.com
Sun Feb 24 11:56:00 GMT 2002


On Sun, Feb 24, 2002 at 11:16:38AM -0800, Mark Mitchell wrote:
> Thanks to Alexandre, David, and Richard's explanations, I think I
> understand what is going on here, and what we should do to fix it.
> 
> I. Old Situation
> ================
> 
> First, a summary of the situation in the state that it was not too
> long ago.  I believe that in this state we had no correctness issues,
> but we did have performance issues.
> 
> (In what follows, I use "g++" and "libstdc++" generically; I believe
> the Java situation was exactly the same as the C++ situtation.)
> 
> 1. Both "g++ -shared" and "gcc -shared" created a library linked with
>    the shared, but not static, version of libgcc.

AFAIK in 3.0 up to 3.0.3 inclusive
both gcc -shared and g++ -shared created a library linked with the
shared and static version of libgcc:

...
  sprintf (buffer, "%%{shared-libgcc:%s %s}", shared_name, static_name);
...
  sprintf (buffer,
           "%%{!shared-libgcc:%%{!static-libgcc:%%{shared:%s %s}}}",
           shared_name, static_name);

So on AIX and maybe other platforms which are not happy about having the
same library as shared and static on the command line we had correctness
issues. AIX used some permission magic in t-aix43 since Sep 2001. In
late December/January, David changed this, but changed only one of the two
occurences of shared_name, static_name pairs (the -shared and !-shared-libgcc
and !-static-libgcc) while left -shared-libgcc in (this was after
PT_GNU_EH_FRAME changes which were commited at the same time feature freeze
started).

	Jakub



More information about the Java-patches mailing list