[Lldb-commits] [lldb] [LLDB][ThreadELFCore] Set all the properties of ELFLinuxSigInfo to a non build dependent size (PR #117604)
via lldb-commits
lldb-commits at lists.llvm.org
Mon Nov 25 10:30:55 PST 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-lldb
Author: Jacob Lalonde (Jlalond)
<details>
<summary>Changes</summary>
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.
---
Full diff: https://github.com/llvm/llvm-project/pull/117604.diff
1 Files Affected:
- (modified) lldb/source/Plugins/Process/elf-core/ThreadElfCore.h (+5-4)
``````````diff
diff --git a/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h b/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
index 4ebbaadebe9f90..e60ee86e5f5a03 100644
--- a/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
+++ b/lldb/source/Plugins/Process/elf-core/ThreadElfCore.h
@@ -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.
+ // builds. Slight modifications to ensure no 32b vs 64b differences.
struct {
- lldb::addr_t si_addr; /* faulting insn/memory ref. */
- short int si_addr_lsb; /* Valid LSB of the reported address. */
+ 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();
``````````
</details>
https://github.com/llvm/llvm-project/pull/117604
More information about the lldb-commits
mailing list