diff options
author | Jason Molenda <jason@molenda.com> | 2024-01-31 23:54:34 -0800 |
---|---|---|
committer | Jason Molenda <jason@molenda.com> | 2024-01-31 23:58:06 -0800 |
commit | 90e68086d8fdbfb32dfc7e7e3498f44365274ce8 (patch) | |
tree | 7a67fd2c519b9478339584469cdf2211a34dc544 | |
parent | eaa3d5e26665ca85d488e9194b9fbe304db6fa21 (diff) |
Skip two WatchpointAlgorithm tests for 32-bit lldb's
After iterating with the arm-ubuntu CI bot, I found the crash (a
std::bad_alloc exception being thrown) was caused by these two
entries when built on a 32-bit machine. I probably have an assumption
about size_t being 64-bits in WatchpointAlgorithms and we have a
problem when it's actually 32-bits and we're dealing with a real
64-bit address. All of the cases where the address can be represented
in the low 32-bits of the addr_t work correctly, so for now I'm
skipping these two unit tests when building lldb on a 32-bit host
until I can review that method and possibly switch to explicit
uin64_t's.
.
-rw-r--r-- | lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp b/lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp index 0b2ba6c70bb7..ba99c6bf4fab 100644 --- a/lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp +++ b/lldb/unittests/Breakpoint/WatchpointAlgorithmsTests.cpp @@ -43,6 +43,11 @@ TEST(WatchpointAlgorithmsTests, PowerOf2Watchpoints) { // clang-format off std::vector<testcase> doubleword_max = { +#if defined(__LP64__) + // These two tests don't work if lldb is built on + // a 32-bit system (likely with a 32-bit size_t). + // A 32-bit lldb debugging a 64-bit process isn't + // critical right now. { {0x7fffffffe83b, 1}, {{0x7fffffffe83b, 1}} @@ -51,6 +56,7 @@ TEST(WatchpointAlgorithmsTests, PowerOf2Watchpoints) { {0x7fffffffe838, 2}, {{0x7fffffffe838, 2}} }, +#endif { {0x1012, 8}, {{0x1010, 8}, {0x1018, 8}} |