Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Nov 2019 09:10:29 -0600
From:      Justin Hibbits <chmeeedalf@gmail.com>
To:        Brandon Bergren <bdragon@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all <svn-src-all@freebsd.org>, svn-src-head@freebsd.org
Subject:   Re: svn commit: r355047 - head/libexec/rtld-elf/powerpc
Message-ID:  <CAHSQbTCBT_pa8grxHzs2V2nW0tuaOTLdCc=AVN1NaSd3Wr3UVQ@mail.gmail.com>
In-Reply-To: <201911240643.xAO6h3R0046260@repo.freebsd.org>
References:  <201911240643.xAO6h3R0046260@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Nov 24, 2019, 00:43 Brandon Bergren <bdragon@freebsd.org> wrote:

> Author: bdragon
> Date: Sun Nov 24 06:43:03 2019
> New Revision: 355047
> URL: https://svnweb.freebsd.org/changeset/base/355047
>
> Log:
>   [PowerPC] Fix stack padding issue on ppc32.
>
>   Four bytes of padding are needed in the regular powerpc case to bring the
>   stack frame size up to a multiple of 16 bytes to meet ABI requirements.
>
>   Fixes odd hangs I was encountering during testing.
>
> Modified:
>   head/libexec/rtld-elf/powerpc/rtld_start.S
>
> Modified: head/libexec/rtld-elf/powerpc/rtld_start.S
>
> ==============================================================================
> --- head/libexec/rtld-elf/powerpc/rtld_start.S  Sun Nov 24 05:37:28 2019
>       (r355046)
> +++ head/libexec/rtld-elf/powerpc/rtld_start.S  Sun Nov 24 06:43:03 2019
>       (r355047)
> @@ -111,7 +111,7 @@ _ENTRY(.rtld_start)
>  /* stack space for 30 GPRs + lr/cr */
>  #define        NREGS           30
>  #define        GPRWIDTH        4
> -#define        FUDGE           0
> +#define        FUDGE           4
>  #endif
>  /* Stack frame needs the 12-byte ABI frame plus fudge factor. */
>  #define        STACK_SIZE      (NREGS * GPRWIDTH + 4 * 2 + 12 + FUDGE)
>

Oh right, ABI calls for 16-bye alignment.

- Justin

>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHSQbTCBT_pa8grxHzs2V2nW0tuaOTLdCc=AVN1NaSd3Wr3UVQ>