[Lldb-commits] [lldb] b21dd44 - [lldb][test] Enable non-address bit WritePointerToMemory test on Linux (#157435)

via lldb-commits lldb-commits at lists.llvm.org
Fri Sep 19 08:00:36 PDT 2025


Author: David Spickett
Date: 2025-09-19T16:00:33+01:00
New Revision: b21dd44dbc00a60b787dcfa90ca0e8b677c5211f

URL: https://github.com/llvm/llvm-project/commit/b21dd44dbc00a60b787dcfa90ca0e8b677c5211f
DIFF: https://github.com/llvm/llvm-project/commit/b21dd44dbc00a60b787dcfa90ca0e8b677c5211f.diff

LOG: [lldb][test] Enable non-address bit WritePointerToMemory test on Linux (#157435)

First added in #153585 for Darwin only. All Linux AArch64 systems also
have Top Byte Ignore enabled in userspace so the test "just works"
there.

FreeBSD has very recently gained Top Byte Ignore support:
https://github.com/freebsd/freebsd-src/commit/4c6c27d3fb4ad15931aae2eaf8e624aed99a3fd9

However it's so recent, I don't want to assume it'll be available on any
random FreeBSD system out there.

There isn't really a good place to put this test, so I put it in the top
level of API, next to the other non-address bit test that didn't have a
good home either.

Added: 
    lldb/test/API/pointer-nonaddressable-bits/Makefile
    lldb/test/API/pointer-nonaddressable-bits/TestArmPointerMetadataStripping.py
    lldb/test/API/pointer-nonaddressable-bits/extra_symbols.json
    lldb/test/API/pointer-nonaddressable-bits/main.c

Modified: 
    

Removed: 
    lldb/test/API/macosx/arm-pointer-metadata-stripping/Makefile
    lldb/test/API/macosx/arm-pointer-metadata-stripping/TestArmPointerMetadataStripping.py
    lldb/test/API/macosx/arm-pointer-metadata-stripping/extra_symbols.json
    lldb/test/API/macosx/arm-pointer-metadata-stripping/main.c


################################################################################
diff  --git a/lldb/test/API/macosx/arm-pointer-metadata-stripping/Makefile b/lldb/test/API/pointer-nonaddressable-bits/Makefile
similarity index 100%
rename from lldb/test/API/macosx/arm-pointer-metadata-stripping/Makefile
rename to lldb/test/API/pointer-nonaddressable-bits/Makefile

diff  --git a/lldb/test/API/macosx/arm-pointer-metadata-stripping/TestArmPointerMetadataStripping.py b/lldb/test/API/pointer-nonaddressable-bits/TestArmPointerMetadataStripping.py
similarity index 82%
rename from lldb/test/API/macosx/arm-pointer-metadata-stripping/TestArmPointerMetadataStripping.py
rename to lldb/test/API/pointer-nonaddressable-bits/TestArmPointerMetadataStripping.py
index f61945b3eb4c9..059fd9cf4ba7f 100644
--- a/lldb/test/API/macosx/arm-pointer-metadata-stripping/TestArmPointerMetadataStripping.py
+++ b/lldb/test/API/pointer-nonaddressable-bits/TestArmPointerMetadataStripping.py
@@ -6,8 +6,11 @@
 from lldbsuite.test import lldbutil
 
 
- at skipUnlessDarwin
- at skipIf(archs=no_match(["arm64", "arm64e"]))
+# On AArch64 systems, unused top bits of pointers can be used for other things.
+ at skipIf(archs=no_match(["aarch64", "arm64", "arm64e"]))
+# Only run this test on systems where Top Byte Ignore is known to be enabled
+# and widely available (FreeBSD has support but only since recently).
+ at skipUnlessPlatform(["linux"] + lldbplatformutil.getDarwinOSTriples())
 class TestArmPointerMetadataStripping(TestBase):
     # Use extra_symbols.json as a template to add a new symbol whose address
     # contains non-zero high order bits set.

diff  --git a/lldb/test/API/macosx/arm-pointer-metadata-stripping/extra_symbols.json b/lldb/test/API/pointer-nonaddressable-bits/extra_symbols.json
similarity index 100%
rename from lldb/test/API/macosx/arm-pointer-metadata-stripping/extra_symbols.json
rename to lldb/test/API/pointer-nonaddressable-bits/extra_symbols.json

diff  --git a/lldb/test/API/macosx/arm-pointer-metadata-stripping/main.c b/lldb/test/API/pointer-nonaddressable-bits/main.c
similarity index 100%
rename from lldb/test/API/macosx/arm-pointer-metadata-stripping/main.c
rename to lldb/test/API/pointer-nonaddressable-bits/main.c


        


More information about the lldb-commits mailing list