DavidSpickett wrote:

Something to do with us now missing out one of the kind entries in the 17 
layers of macros we decided were a good idea to inflict upon ourselves.

Used to use this:
```
#define MISC_KIND(reg, type, generic_kind)                                     \
  {                                                                            \
    arm64_ehframe::reg, arm64_dwarf::reg, generic_kind, LLDB_INVALID_REGNUM,   \
        type##_##reg                                                           \
  }
```
But now we use `MISC_##TYPE##_KIND(lldb_kind)` aka `MISC_GPR_KIND(lldb_kind)` 
which does used to be `#define MISC_GPR_KIND(lldb_kind) MISC_KIND(cpsr, gpr, 
LLDB_REGNUM_GENERIC_FLAGS)`.
```
#define MISC_KIND(reg, type, generic_kind)                                     \
  {                                                                            \
    arm64_ehframe::reg, arm64_dwarf::reg, generic_kind, LLDB_INVALID_REGNUM,   \
        type##_##reg                                                           \
  }
```
Which set dwarf, eh, generic kind and this last `type_` thing, whatever that is.

Now we are using:
```
#define LLDB_KIND(lldb_kind)                                                   \
  {                                                                            \
    LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM, LLDB_INVALID_REGNUM,             \
        LLDB_INVALID_REGNUM, lldb_kind                                         \
  }
```
So the `generic` part is not being set.

Before:
```
    <reg name="cpsr" <...> group="General Purpose Registers" 
ehframe_regnum="33" dwarf_regnum="33" generic="flags" />
```

After:
```
    <reg name="cpsr" <...> group="General Purpose Registers" />
```

https://github.com/llvm/llvm-project/pull/183860
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to