This is the mail archive of the 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: [patch] add softfp to sparc-*-linux*

On Wed, 15 Apr 2009, Austin Foxley wrote:

> 2009-04-14  Austin Foxley   <>
>         * config.gcc (sparc-*-linux*) : Add softfp rules to sparc linux target
>         * config/sparc/sfp-machine.h : softfp machine header, based on glibc
>         * config/sparc/t-fprules-softfp : softfp config rules for sparc

It looks like this sfp-machine.h file is specific to 32-bit mode, but 
sparc-*-linux* can also build biarch configurations with both 32-bit and 
64-bit multilibs.  So the file needs to have contents that work for both 
32-bit and 64-bit mode, appropriately conditioned, or if the functions are 
not needed for 64-bit mode (if 64-bit is always hard-float) then 
softfp_wrap_start should be defined to avoid the functions being built for 
64-bit mode (as done for Power GNU/Linux; make sure the t-* file ordering 
is correct so that this has effect).

Unless you really need the functions in libgcc for hard-float you should 
define softfp_wrap_start anyway in such a way as to ensure they only 
appear in soft-float libgcc.

In any case, 32-bit multilibs for sparc-*-linux* and sparc64-*-linux* 
should be configured the same way; the only difference should be whether 
the default multilib is 32-bit or 64-bit.

Strictly you should arrange for the symbol versions for these functions to 
reflect that they are new in 4.5 for this platform.  See 
config/i386/libgcc-glibc.ver for example; the relevant functions need to 
be removed from the old symbol version they would otherwise go in (with 
%exclude) then listed explicitly under GCC_4.5.0, and libgcc-std.ver may 
need to have an initially empty GCC_4.5.0 version in it.

Joseph S. Myers

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