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: Calling convention for "Routines for floating point emulation"


On Thu, 29 Sep 2016, Saleem Abdulrasool wrote:

> The calling convention agreements for the libgcc interfaces has been
> vague.  It has been often observed that at least with certain versions of
> gcc that the interfaces uses the base ABI.  This was the behavior that

That should not be the case, for libgcc functions that are not in RTABI.  
They should use the ABI of the multilib they are compiled for, which may 
be base ABI or VFP ABI depending on the options used for compiling that 
multilib.

> The current belief is that the floating point routines in libgcc are to
> conform to the base ABI.  Given the description "The software floating
> point library is used on machines which do not have hardware support for
> floating point. It is also used whenever -msoft-float is used to disable
> generation of floating point instructions." it stands to reason to believe
> that the base ABI be used for these routines.

Functions such as __powidf2 and __mulsc3 are not part of the software 
floating-point library.  They use the same ABI as any other C functions 
with their type.

-- 
Joseph S. Myers
joseph@codesourcery.com


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