This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: V3 vs. AIX
- To: David Edelsohn <dje at watson dot ibm dot com>
- Subject: Re: V3 vs. AIX
- From: Alexandre Oliva <aoliva at redhat dot com>
- Date: 06 Feb 2001 00:11:32 -0200
- Cc: Mark Mitchell <mark at codesourcery dot com>, bkoz at nabi dot net, gcc at gcc dot gnu dot org
- Organization: GCC Team, Red Hat
- References: <200102051941.OAA36710@mal-ach.watson.ibm.com>
On Feb 5, 2001, David Edelsohn <dje@watson.ibm.com> wrote:
> I think the main point is that libtool adopts the behavior that
> most GNU/Linux developers expect: undefined symbols are okay at link-edit
> time. Regardless of whether libtool is using AIX's SysV mode or the
> traditional AIX shared library mode, it needs to follow that assumption.
> If V3 wants to link with -no-undefined, that would help track down these
> problems, but the current philosophy is the programmer needs to request
> that pedantic behavior explicitly.
Right. IIRC, the only three systems that require shared libraries to
be complete by default are MS-Windows, BeOS and AIX. That's hardly a
majority, and, apparently, libtool standardized on the behavior that
would be the least surprising on the majority of the OSs.
Also keep in mind that libtool is not only about creating shared
libraries. It's about creating libraries in general, static or
shared. And I don't know of any system that requires static libraries
to be complete.
So, if you want libtool to verify that a library is complete, you must
use -no-undefined. On systems that really don't support incomplete
shared libraries, such as MS-Windows and old versions of BeOS, libtool
will only create a shared library if -no-undefined is given;
otherwise, it will fallback to a static library.
This seems like the sanest way to offer a consistent
library-construction interface across multiple operating systems, each
one with its weirdnesses in shared-library support.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me