This is the mail archive of the
mailing list for the GCC project.
Re: Calling convention for "Routines for floating point emulation"
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Saleem Abdulrasool <compnerd at compnerd dot org>
- Cc: Yichao Yu <yyc1992 at gmail dot com>, <gcc at gcc dot gnu dot org>
- Date: Thu, 29 Sep 2016 20:03:18 +0000
- Subject: Re: Calling convention for "Routines for floating point emulation"
- Authentication-results: sourceware.org; auth=none
- References: <CAMvDr+Smo9coOM8Z=-oBkUWBJcCuw8LZupWZzkSdL36aSoz98g@mail.gmail.com> <alpine.DEB.email@example.com> <CANXyDxsHzi7rYy6qTrR37Fcdk0d37jt-oF5qkgsDxDQ-peW4+Q@mail.gmail.com>
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
> 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