[prev in list] [next in list] [prev in thread] [next in thread] 

List:       gcc
Subject:    Re: Calling convention for "Routines for floating point emulation"
From:       Joseph Myers <joseph () codesourcery ! com>
Date:       2016-09-29 20:03:18
Message-ID: alpine.DEB.2.20.1609291958310.12205 () digraph ! polyomino ! org ! uk
[Download RAW message or body]

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
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic