samba 2.2.5-pre and solaris 9

Mike Gerdts Michael.Gerdts at
Fri Jun 7 11:05:02 GMT 2002

On Fri, 2002-06-07 at 13:30, Andrew Morgan wrote:

> It seems like the proper method is to use gcc to do the linking rather
> than ld, if the compiler is gcc.  I remember doing this when I compiled
> pam_ldap on Solaris 8.
> If you are using Sun's Workshop compiler, use the linker in
> /usr/ccs/bin/ld.
> 	Andy

But gcc just calls a whatever linker it is supposed to use.  That is,
gcc does not link the object itself, it relies upon an external linker. 
Depending on how gcc was ./configure'd, that linker may be Sun's ld, GNU
ld, or some other ld.

Looking at the build instructions for gcc 2.95.3
(gcc-2.95.3/install/SPECIFIC), Sun's ld seems to be quite fine to use
with gcc (unless compiling c++):

   binutils 2.9.1 has known bugs on this platform. We recommend to use
   binutils 2.10 or the vendor tools (Sun as, Sun ld).

   Unfortunately, C++ shared libraries, including libstdc++, won't work
   properly if assembled with Sun as: the linker will complain about
   relocations in read-only sections, in the definition of virtual
   tables. Also, Sun as fails to process long symbols resulting from
   mangling template-heavy C++ function names.

The C++ problem does seem to suggest that the use of gnu ld has at least
one advantage.  If only gnu ld supported -R../lib like Sun's ld.


More information about the samba-technical mailing list