* Albert Chin wrote on Wed, Oct 12, 2005 at 07:42:21PM CEST: > On Wed, Oct 12, 2005 at 02:18:28PM +0200, Ralf Wildenhues wrote: > > Since on Solaris we sometimes use `$CC' for linking though (CVS HEAD > > uses $CC instead of $LD in this case), this is not sufficient. AFAICS > > the linker driver fails when all he gets is `-Wl,..' args: > > > > $ cc -G -h libfoo.so.0 -o .libs/libfoo.so -Wl,-z > > -Wl,allextract,.libs/libconv.a -Wl,-z -Wl,defaultextract -ldl -laio -lm > > -lnsl -lsocket -lc -xarch=v9 -mt > > usage: cc [ options] files. Use 'cc -flags' for details
> > I haven't found a good way to persuade the compiler driver to invoke the > > linker anyway yet.. does anybody have a better idea than going back to > > linking with $LD (maybe only in the 64bit case)? Any suggestions? > > Infer from -xarch=v9? I don't understand what you are trying to say with this comment. I have added `-xarch=v9' to the link line. cc ignores it. If I invoke ld directly, I have to add `-64', it does not understand `-xarch=v9',.. > I really don't want to go back to linking with $LD but you do not want to go back to using ld anyway (and rightly so!). I do not know how to solve this. > (and, what happens for C++ where you must link with $CC?). The `CC' driver understands `-xarch=v9' and hands `-64' to ld; also it does not fail when no objects are given. Cheers, Ralf
