From: Paul F. <pa...@so...> - 2025-02-16 08:38:51
|
https://sourceware.org/git/gitweb.cgi?p=valgrind.git;h=350f0028fcd8ae6db5b0500ed32fc9aa75ab9e7e commit 350f0028fcd8ae6db5b0500ed32fc9aa75ab9e7e Author: Paul Floyd <pj...@wa...> Date: Sun Feb 16 09:36:54 2025 +0100 Illumos regtest: update bug487993 testcase As I said in bugzilla, "Not tested on Solaris". Now I've tested it and Illumos libc doesn't use 16byte alignment (or at least the assert that alignment is 16bytes fails). Diff: --- memcheck/tests/x86/bug487993.cpp | 7 ++++++- memcheck/tests/x86/bug487993.vgtest | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/memcheck/tests/x86/bug487993.cpp b/memcheck/tests/x86/bug487993.cpp index 27f43d306c..e1678c9538 100644 --- a/memcheck/tests/x86/bug487993.cpp +++ b/memcheck/tests/x86/bug487993.cpp @@ -12,9 +12,14 @@ struct Test int main() { +#if defined(__sun__) + const auto alignment_mask{0x7UL}; +#else + const auto alignment_mask{0xfUL}; +#endif std::unique_ptr<Test> test = std::make_unique<Test>(); //std::cerr << "test " << test.get() << ' ' << (reinterpret_cast<size_t>(test.get()) & 0xfUL) << '\n'; - assert((reinterpret_cast<size_t>(test.get()) & 0xfUL) == 0); + assert((reinterpret_cast<size_t>(test.get()) & alignment_mask) == 0); } diff --git a/memcheck/tests/x86/bug487993.vgtest b/memcheck/tests/x86/bug487993.vgtest index a5f00a4821..ca5db1515d 100644 --- a/memcheck/tests/x86/bug487993.vgtest +++ b/memcheck/tests/x86/bug487993.vgtest @@ -1,3 +1,3 @@ -prereq: test -e bug487993 && ! ../../../tests/os_test solaris +prereq: test -e bug487993 prog: bug487993 vgopts: -q |