Calls to qp float lib out of sparcv9 head compiler

Jakub Jelinek jakub@redhat.com
Thu Feb 28 15:12:00 GMT 2002


On Thu, Feb 28, 2002 at 02:43:20PM -0800, David O'Brien wrote:
> >  Unfortunately, the _Qp_ functions are not available on VxWorks.
> 
> Nor when doing a cross build it seems.  The _Qp_* opts are causing me no
> end of trouble trying to build a --host=--target=sparc64-x-freebsd5
> compiler.
> (after building a --host=i386-x-freebsd5 --target=sparc64-x-freebsd5 compiler)
> 
> I am only able to get a successful build if I enable HARD_QUAD in
> TARGET_DEFAULTS.
> 
> I have searched around quite a bit and I cannot find good explanation of
> hard-quad-float and soft-quad-float as it applies to UltraSparc [only].
> 
> Am I hitting a known cross build problem?  Is gcc/config/sparc/freebsd.h
> in error?  Since I am targeting only UltraSparc, should I just turn on
> HARD_QUAD for all?

You have to implement them, they are part of sparcv9 ABI (similarly to
__align_cpy{1,2,4,8}).
Using HARD_QUAD for any currently shipping UltraSPARC CPUs is not very
good idea, since none has the instructions in hardware and you need to
software emulate it anyway. Doing it directly saves you from trapping into
kernel all the time.

	Jakub



More information about the Gcc mailing list