https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109487

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         Resolution|---                         |INVALID
                 CC|                            |jakub at gcc dot gnu.org
             Status|UNCONFIRMED                 |RESOLVED

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
That is not true.
DW_OP_stack_value terminates DWARF Single Location Description.
But DW_OP_bit_piece is not an operation that appears in the single location
description,
it is a DWARF Composite Location Description.
        .byte   0xc     # DW_OP_const4u
        .long   0x52b7a
        .byte   0x9f    # DW_OP_stack_value
        .byte   0x9d    # DW_OP_bit_piece
        .uleb128 0x19
        .uleb128 0
        .byte   0x9d    # DW_OP_bit_piece
        .uleb128 0x7
        .uleb128 0
        .byte   0xa     # DW_OP_const2u
        .value  0x1278
        .byte   0x9f    # DW_OP_stack_value
        .byte   0x93    # DW_OP_piece
        .uleb128 0x4
I see myself means that 25 bits have value 0x52ba7 (S0::a), then 7 bits are
padding bits and then 4 bytes have value 0x1278.
If LLDB doesn't handle that, it is broken.

Reply via email to