On Wed, 29 Jul 2026, Saurabh Jha wrote:
> Mostly style comments; was also able to build a cross compiler with host and
> build aarch64-linux-gnu and target aarch64-w64-mingw32 using your bintuils
> SEH patch [v12,1/1] aarch64: Implement Structured Exception Handling (SEH)
> on AArch64 - Patchwork 
> <https://patchwork.sourceware.org/project/binutils/patch/[email protected]/>
> 
> Would it be possible for you to add a `dg-run` test that could exercise the
> exception throw and catch facilities?

There should be enough tests for C++ exceptions.
This testing can be simplified by building the native compiler.
For cross-compilation, it is more challenging as tests should be transferred and
executed in the native environment.
 
> > +  if (opts->x_flag_unwind_tables)
> > +    return UI_SEH;
> > +
> > +  if (DWARF2_UNWIND_INFO)
> > +    return UI_DWARF2;
> > +
> > +  return UI_SJLJ;
> Nit: Would it be useful to add comments over the if branch of
> DWARF2_UNWIND_INFO and the default UI_SJLJ like you did for others? That
> would also help readers understand why is UI_SJLJ default, for example.

A comment will be added.

> > +    gcc_unreachable ();
> > +
> > +  const HOST_WIDE_INT reg_offset = INTVAL (XEXP (src, 1));
> > +  src = XEXP (src, 0);
> > +
> > +  gcc_assert (src == stack_pointer_rtx);
> > +  gcc_assert (seh->cfa_reg == stack_pointer_rtx);
> Should we fold these two asserts into a single assert separated by &&? If
> you agree to this, might be useful to flip the order of both equality
> asserts so that stack_pointer_rtx comes first. That would then read
> "stack_pointer_rtx equals this and stack_pointer_rtx equals that".

Two separate asserts might be useful to validate two different conditions and
see the precise location of an unexpected value.

> > +        unwind_code_infix,
> > +        unwind_code_suffix,
> > +        offset);
> > +    return;
> > +  }
> > +
> > +  const unsigned save_r19r20_x_max_offset = 248;
> 
> Can you add a comment about this max_offset please?

An explanation will be added.

Regards,
Evgeny

Reply via email to