This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question about gcc-lib and building on SPARC





On 12 April 2006 22:18, Mark Cuss wrote:

 The
guy who was here before me set up the previous version (gcc-3.3.3)

gcc 3.3.3 was compiled with the following configure flags:

configure --with-gnu-as --with-as=/cdl/apps/bin/sun/as --with-gnu-ld
 --with-ld=/cdl/apps/bin/sun/ld --enable-langauges=c,c++ --disable-shared
--prefix=/cdl/apps/.software/sun/gcc-3.3.3

I've successfully built and installed gcc-3.4.4 with the following configure
flags:

/cdl/apps/.software/sun/build/gcc-3.4.4-build/gcc-3.4.4/configure
 --disable-shared --prefix=/cdl/apps/.software/sun/gcc-3.4.4/
--enable-languages=c,c++

However, in this case, I don't have the "gcc-lib" directory anymore.

When I
try to build stuff with this compiler (a simple helloworld), the linker
returns symbol errors, likely because the Sun-supplied ld and not the GNU ld
is being used (even though a GNU ld exists in my PATH)

I don't understand what your last guy was doing, but he's configured it to
point at the sun 'as' and 'ld' but tried to tell it that they're gnu 'as' and
'ld'. Weird. Maybe he's overwritten the binaries in /cdl/apps/bin/sun with
gnu versions or something odd like that.

The as and ld in /cdl/apps/bin/sun are GNU as and ld, built from binutils 2.14. I must not have explained this properly - the whole mess is confusing!


our Developers need to use Purify Plus on Sun, and if I do this, it breaks
Purify because it somehow uses it's own linker at buld time. The solution
from Purify tech support was to go into
$prefix/lib/gcc-lib/sparc-sun-solaris2.9/<version> and drop in symbolic
links to the GNU ld and as. When I attempted to do this though, I realized
this directory doesn't seem to exist under gcc-3.4.4

How about $prefix/lib/gcc/sparc-sun-etc.etc.etc. ? 'gcc-lib' got changed to
'gcc' at some point between 3.3 and 3.4.

That's the thing I was looking for - I need to know where to put the symlinks to the as and ld that I want to use... It looks like this did the trick - thanks!



So, to make a painfully long story short, I need to know how gcc 3.4.4
decides upon which linker / assembler it uses. I read the configure
instructions and found that when the compiler is built is uses a whole bunch
of rules to find as and ld, and it seems apparent that I'm using the Sun ld
and as instead of the GNU one. However, the old trick of putting symlinks
in $prefix/lib/gcc-lib/sparc-sun-solaris2.9/<version> doesn't work anymore.
Could someone please point a newbie in the right direction?

Why didn't you just use the exact same configure options that worked so well
for the last guy? That's the first thing I'd try.

I did try that, but if I hardcode the assembler and linker at configure time, then this breaks Purify. This is why I need to do this symbolic link thing - apparently Purify needs this...


Thanks!
Mark



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]