svn commit: r355047 - head/libexec/rtld-elf/powerpc

Justin Hibbits chmeeedalf at gmail.com
Sun Nov 24 15:10:44 UTC 2019


On Sun, Nov 24, 2019, 00:43 Brandon Bergren <bdragon at 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

>


More information about the svn-src-all mailing list