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.

Reply via email to