[PATCH v2 2/7] Define unwinding and SEH data structures for aarch64

Evgeny Karpov Evgeny.Karpov@microsoft.com
Sun Jul 27 17:50:46 GMT 2025


Fri Jul 25 2025
Martin Storsjö <martin@martin.st> wrote:

>>>> +  uint32_t regI : 4;
>>>> +  uint32_t regF : 3;
>>>> +} seh_arm64_packed_unwind_data;
>
> Are these bitfield structs used for reading/writing the data structures 
> from disk? Is any care taken to make sure this ends up right even if 
> binutils is built in big endian mode?
>
> (I presume binutils in general doesn't assume that the target endianness 
> is the same as the tool host endianness.)

A similar question was answered earlier in the thread.
https://sourceware.org/pipermail/binutils/2025-July/142844.html

Regards,
Evgeny

>> Wednesday, May 21
>> Richard Earnshaw (lists) <Richard.Earnshaw@arm.com> wrote:
>>
>> Is this supposed to be some form of 'in-file' data structure?  If so,
>> this is probably not going to work when cross-building from a
>> big-endian host, unless you've > written some code to do the
>> read/write transforms.  But if you have, why do you need the various
>> bits of padding here?  The same applies to the other structs you've
>> defined in this file.

> Yes, it is the 'in-file' data structure in the .pdata and .xdata sections for unwinding and exception handling.
> It looks like it is consistently handled with number_to_chars_bigendian, which should cover this case.


More information about the Binutils mailing list