On Sun, Nov 24, 2019, 00:43 Brandon Bergren <[email protected]> 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

>
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to