[PATCH] sparc: Improve setjmp()

Sebastian Huber sebastian.huber@embedded-brains.de
Thu Oct 12 09:39:31 GMT 2023


On 06.10.23 07:31, Sebastian Huber wrote:
> Flush the windows in setjmp().  This helps if the stack is changed after
> the setjmp() and we want to jump back to the original stack using
> longjmp().
> ---
>   newlib/libc/machine/sparc/setjmp.S | 2 ++
>   1 file changed, 2 insertions(+)
> 
> diff --git a/newlib/libc/machine/sparc/setjmp.S b/newlib/libc/machine/sparc/setjmp.S
> index 613df2ba2..d7185be4c 100644
> --- a/newlib/libc/machine/sparc/setjmp.S
> +++ b/newlib/libc/machine/sparc/setjmp.S
> @@ -110,6 +110,8 @@
>   
>   ENTRY(setjmp)
>   ENTRY(_setjmp)
> +        ta      0x03            /* Flush registers, just in case another stack
> +                                   is used after the setjmp().  */
>           st      %sp, [%o0]      /* caller's stack pointer */
>           st      %i7, [%o0+4]    /* caller's return pc */
>           st      %fp, [%o0+8]    /* store caller's frame pointer */

I am not sure if there is anyone left being able to review this change.

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: sebastian.huber@embedded-brains.de
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/


More information about the Newlib mailing list