pkgsrc-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: 64 bit ABI issue on Solaris

Hello Filip,
> On 17.2.2011, at 7:26, Stefan Schaeckeler wrote:
> > Anyone having luck with compiling lang/gcc44 on Solaris with ABI=64?
> > 
> > It looks like that the first built gcc is 64-bit. Then, gcc compiles 
> > itself. This bootstrapped compiler consists of 32-bit object files. To make 
> > matters worse, the bootstrapped compiler does not link into a binary, 
> > because required external libs such as libgmp are 64-bit.
> Hm, is this different on Sparc compared to i386? On Solaris/i386, you never 
> build a 64bit version of GCC. You build a 32bit one that can build for both 
> 32bit and 64bit targets. Sorry, not much experience with Sparcs.

When you set ABI=64 in mk.conf, then you have to build a 64 bit lang/gcc*. 
That's because lang/gcc* depends on external libraries such as libgmp. Because 
ABI is set to 64, these external libraries exist only in 64 bit. Hence, it is 
impossible to build a 32 bit lang/gcc* because you can't link 32 and 64 bit 
object files.

Any gcc, may it be 32 to 64 bit, can build binaries of any ABI with the -mXX 
flag (XX = 32 or 64),



Scotty: Captain, we din' can reference it!
Kirk:   Analysis, Mr. Spock?
Spock:  Captain, it doesn't appear in the symbol table.
Kirk:   Then it's of external origin?
Spock:  Affirmative.
Kirk:   Mr. Sulu, go to pass two.
Sulu:   Aye aye, sir, going to pass two.

Home | Main Index | Thread Index | Old Index