On Wed, 01 Jul 2026, Alice Carlotti wrote: > > +#if defined (__SEH__) && defined (__aarch64__) > > + /* Large functions on AArch64 (>= 1MB) are split into multiple fragments. > > + However, it is expected the most of the functions will have only one > > + fragment. The beginning of each SEH handler data in .xdata record > > starts > > + with a fragment offset and an address to .seh_handlerdata. > > + .seh_handlerdata is emitted only once for the .xdata record of the > > last > > + fragment. */ > > I found this comment very hard to understand. Having investigated further, I > think the following is an accurate description of what is going on here: > > /* On AArch64, a single function may be split into multiple function > fragments, each with it's own .pdata and (if required) .xdata records. > The language-specific exception handler data in .xdata records used by > GCC > consists of two values: > - The offset of the fragment within the full function; > - The RVA of a .seh_handlerdata record, which is shared by all > fragments of the function. */ > > Is this correct, and does it seem clearer to you than your original comment?
It is correct. The comment will be replaced if it is easier to understand. Regards, Evgeny
