[LLDB][ThreadELFCore] Set all the properties of ELFLinuxSigInfo to a non build dependent size (#117604)

On #110065 the changes to LinuxSigInfo Struct introduced some variables
that will differ in size on 32b or 64b. I've rectified this by setting
them all to build independent types.
This commit is contained in:
Jacob Lalonde
2024-11-26 10:20:52 -08:00
committed by GitHub
parent 5a3299a684
commit 4ab298b5fb

View File

@@ -83,10 +83,10 @@ struct ELFLinuxSigInfo {
int32_t si_errno;
int32_t si_code;
// Copied from siginfo_t so we don't have to include signal.h on non 'Nix
// builds.
struct {
lldb::addr_t si_addr; /* faulting insn/memory ref. */
short int si_addr_lsb; /* Valid LSB of the reported address. */
// builds. Slight modifications to ensure no 32b vs 64b differences.
struct alignas(8) {
lldb::addr_t si_addr; /* faulting insn/memory ref. */
int16_t si_addr_lsb; /* Valid LSB of the reported address. */
union {
/* used when si_code=SEGV_BNDERR */
struct {
@@ -98,7 +98,8 @@ struct ELFLinuxSigInfo {
} bounds;
} sigfault;
enum { eUnspecified, eNT_SIGINFO } note_type;
enum SigInfoNoteType : uint8_t { eUnspecified, eNT_SIGINFO };
SigInfoNoteType note_type;
ELFLinuxSigInfo();