Thank you for your insight. I will investigate further and see if I can find out what is going on.
J' On Thu, Sep 13, 2018 at 01:33:34PM -0400, Jason Merrill wrote: Well, that's curious, given that GCC doesn't have that address type either. Ah, looking closer, I see that we aren't dealing with the EH unwind information, but rather the normal DWARF unwind information, which uses /* The encoding for FDE's in a normal .debug_frame section depends on the target address size. */ cie->encoding = DW_EH_PE_absptr; it seems strange that GDB then wants to use one of the other codes as a proxy for loading a particular number of bytes. I also notice that the default definition of DWARF2_ADDR_SIZE in GCC has a comment, /* The size of addresses as they appear in the Dwarf 2 data. Some architectures use word addresses to refer to code locations, but Dwarf 2 info always uses byte addresses. On such machines, Dwarf 2 addresses need to be larger than the architecture's pointers. */ #define DWARF2_ADDR_SIZE ((POINTER_SIZE + BITS_PER_UNIT - 1) / BITS_PER_UNIT) And many targets with smaller pointers override this in GCC and GAS, e.g. ./gas/config/tc-msp430.h:#define DWARF2_ADDR_SIZE(bfd) 4 ./gas/config/tc-s12z.h:#define DWARF2_ADDR_SIZE(bfd) 4 ./gas/config/tc-wasm32.h:#define DWARF2_ADDR_SIZE(bfd) 4 ./gas/config/tc-xgate.h:#define DWARF2_ADDR_SIZE(bfd) 4 ./gas/config/tc-aarch64.c:/* Implement DWARF2_ADDR_SIZE. */ ./gas/config/tc-csky.h:#define DWARF2_ADDR_SIZE(bfd) 4 ./gas/config/tc-avr.h:#define DWARF2_ADDR_SIZE(bfd) 4 Is this appropriate for your target, as well? Perhaps GCC should double check that DWARF2_ADDR_SIZE is 2, 4, or 8. Jason -- Avoid eavesdropping. Send strong encrypted email. PGP Public key ID: 1024D/2DE827B3 fingerprint = 8797 A26D 0854 2EAB 0285 A290 8A67 719C 2DE8 27B3 See http://sks-keyservers.net or any PGP keyserver for public key.