This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: ABI change for ports with byte-aligned functions.
- To: geoffk at redhat dot com
- Subject: Re: ABI change for ports with byte-aligned functions.
- From: Alexandre Oliva <aoliva at redhat dot com>
- Date: 04 May 2001 16:07:06 -0300
- Cc: gcc-patches at gcc dot gnu dot org
- Organization: GCC Team, Red Hat
- References: <200105040654.f446sEL07964@thief.cygnus.com>
On May 4, 2001, Geoffrey Keating <geoffk@thief.cygnus.com> wrote:
> + bit of P. When FUNCTION_BOUNDARY is less than 16 (and so it might
> + happen that the function pointer might naturally have the low bit
> + set), the type is instead
> + struct {
> + __P __pfn;
> + ptrdiff_t __delta;
> + char __vflag;
> + };
> + and __pfn is a pointer to a method when __vflag is zero.
Err... A proposal was made to the C++ ABI committee to use the lowest
bit of the first field, as implemented in
http://gcc.gnu.org/ml/gcc-patches/2001-04/msg00498.html
Is there any reason you didn't use that patch?
Note that depending on FUNCTION_BOUNDARY alone is not right: it may be
equal to or greater than 2 * BITS_PER_UNIT for performance reasons,
even when the processor doesn't really demand it, and someone may
rightfully define member functions in assembly that are not aligned
according to the best-performance requirements.
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me