[PATCH] RISC-V: Mark RA as undefined at the start of execution
Andreas Schwab
schwab@suse.de
Tue Sep 25 11:42:00 GMT 2018
On Mai 18 2018, Palmer Dabbelt <palmer@dabbelt.com> wrote:
> diff --git a/sysdeps/riscv/start.S b/sysdeps/riscv/start.S
> index 4635ddb5eb8c..93a80bc4a760 100644
> --- a/sysdeps/riscv/start.S
> +++ b/sysdeps/riscv/start.S
> @@ -43,6 +43,8 @@
> __libc_start_main wants this in a5. */
>
> ENTRY (ENTRY_POINT)
> + /* Mark ra as undefined in order to stop unwinding here! */
> + cfi_undefined (ra)
> call .Lload_gp
> mv a5, a0 /* rtld_fini. */
> /* main may be in a shared library. */
This will put the DW_CFA_undefined into the CIE, not the FDE, since it
isn't associated with an insn. You problably want to move it after the
call (CFI directives are always associated with the preceding insn).
The same issue exists with sysdeps/unix/sysv/linux/riscv/setcontext.S.
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."
More information about the Libc-alpha
mailing list