Aarch64: Do not define DONT_USE_BUILTIN_SETJMP

Message ID 1806820.atdPhlSkOF@fomalhaut
State Accepted
Headers
Series Aarch64: Do not define DONT_USE_BUILTIN_SETJMP |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Eric Botcazou Oct. 24, 2022, 8:57 a.m. UTC
  Hi,

we have been using an Ada compiler for the Aarch64 architecture configured 
with SJLJ exceptions as for the other architectures for some time, and have 
not run into any problems so far so the setting looks obsolete now.

OK for the mainline?


2022-10-24  Eric Botcazou  <ebotcazou@adacore.com>

	* config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
  

Comments

Richard Sandiford Oct. 26, 2022, 11:33 a.m. UTC | #1
Eric Botcazou via Gcc-patches <gcc-patches@gcc.gnu.org> writes:
> Hi,
>
> we have been using an Ada compiler for the Aarch64 architecture configured 
> with SJLJ exceptions as for the other architectures for some time, and have 
> not run into any problems so far so the setting looks obsolete now.
>
> OK for the mainline?

OK, thanks.  Sorry for the slow reply on this.  I think you posted
the same (or a related) patch a while back and it wasn't reviewed.

I was a bit reluctant to say anything because it sounds like this
was defined for a reason, perhaps to avoid treating the current
expansion as ABI without further testing.  But if it has been used
for some time in Ada (and works) then it's already de facto ABI.
And it seems very unlikely that anyone would spend time trying
to tweak the expansion for other languages.

Richard

>
>
> 2022-10-24  Eric Botcazou  <ebotcazou@adacore.com>
>
> 	* config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
  

Patch

diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 05da9af0367..e60f9bce023 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -571,10 +571,6 @@  enum class aarch64_feature : unsigned char {
 #define EH_RETURN_STACKADJ_RTX	gen_rtx_REG (Pmode, R4_REGNUM)
 #define EH_RETURN_HANDLER_RTX  aarch64_eh_return_handler_rtx ()
 
-/* Don't use __builtin_setjmp until we've defined it.  */
-#undef DONT_USE_BUILTIN_SETJMP
-#define DONT_USE_BUILTIN_SETJMP 1
-
 #undef TARGET_COMPUTE_FRAME_LAYOUT
 #define TARGET_COMPUTE_FRAME_LAYOUT aarch64_layout_frame