servo/python
Jonathan Schwender 39ee27eea6
mach: Allow using ASAN on ohos (#37185)
Allow using ASAN on OpenHarmony by adding target specific configuration.
This also relaxes the version requirement for the clang compiler
when using asan, since asan also has runtime checks, which should fail
if instrumented code relies on an incompatible libasan version (not
tested).

Additional comments: 

- Remove `TARGET_LDFLAGS = -static-libasan` since anyway rustc
  invokes the linker, so this flag has no effect.
- Enable frame pointers with ASAN, since we are anyway debugging.
  It should probably be the default anyway.
- We pass the with_asan option also to mach package, since hvigor
  needs to know that we are building for ASAN, otherwise it leads
  to a crash at startup.

Testing: Tested manually on arm64 OpenHarmony.

Known issues: ASAN increases the stack usage, and this can cause
segfaults due to hitting the stack protector on more complex pages. A
follow-up PR could address this by increasing the stack size when
compiled with asan in threads that hit this issue.

---------

Signed-off-by: Jonathan Schwender <schwenderjonathan@gmail.com>
2025-06-04 09:48:07 +00:00
..
mach change terminal wrapper library from blessing to blessed to support running mach test-wpt on windows. (#35327) 2025-02-06 16:45:34 +00:00
servo mach: Allow using ASAN on ohos (#37185) 2025-06-04 09:48:07 +00:00
tidy Use ruff to enforce python code formatting (#37117) 2025-05-26 11:54:43 +00:00
wpt Use ruff to enforce python code formatting (#37117) 2025-05-26 11:54:43 +00:00
mach_bootstrap.py Use ruff to enforce python code formatting (#37117) 2025-05-26 11:54:43 +00:00
README.md use ruff rather than flake8 for python code linting (#37045) 2025-05-24 14:19:47 +00:00
requirements.txt use ruff rather than flake8 for python code linting (#37045) 2025-05-24 14:19:47 +00:00

This directory contains various Python modules used to support servo development.

servo

servo-specific python code e.g. implementations of mach commands. This is the canonical repository for this code.

tidy

servo-tidy is used to check licenses, line lengths, whitespace, ruff on Python files, lock file versions, and more.

wpt

servo-wpt is a module with support scripts for running, importing, exporting, updating manifests, and updating expectations for WPT tests.