Skip to content

Conversation

@yln
Copy link

@yln yln commented Nov 11, 2025

When providing allocation and deallocation traces, the ASan compiler-rt runtime already provides call addresses (TracePCType::Calls).

On Darwin, system sanitizers (libsanitizers)
provides return address. It also discards a few
non-user frames at the top of the stack, because
these internal libmalloc/libsanitizers stack
frames do not provide any value when diagnosing
memory errors.

Introduce and add handling for
TracePCType::ReturnsNoZerothFrame to cover this
case and enable libsanitizers traces line-level
testing.

rdar://157596927


Commit 1 is a mechanical refactoring to introduce
and adopt TracePCType enum to replace
pcs_are_call_addresses bool. It preserve the
current behavior:

pcs_are_call_addresses:
  false  ->  TracePCType::Returns (default)
  true   ->  TracePCType::Calls

(cherry picked from commit 484d040)

)

When providing allocation and deallocation traces,
the ASan compiler-rt runtime already provides call
addresses (`TracePCType::Calls`).

On Darwin, system sanitizers (libsanitizers)
provides return address.  It also discards a few
non-user frames at the top of the stack, because
these internal libmalloc/libsanitizers stack
frames do not provide any value when diagnosing
memory errors.

Introduce and add handling for
`TracePCType::ReturnsNoZerothFrame` to cover this
case and enable libsanitizers traces line-level
testing.

rdar://157596927

---
Commit 1 is a mechanical refactoring to introduce
and adopt `TracePCType` enum to replace
`pcs_are_call_addresses` bool.  It preserve the
current behavior:
```
pcs_are_call_addresses:
  false  ->  TracePCType::Returns (default)
  true   ->  TracePCType::Calls
```

Best reviewed commit by commit.

(cherry picked from commit 484d040)
@yln yln requested a review from JDevlieghere as a code owner November 11, 2025 23:55
@yln
Copy link
Author

yln commented Nov 11, 2025

@swift-ci Please test

@yln yln merged commit e28ba6b into stable/21.x Nov 13, 2025
3 checks passed
@yln yln deleted the lldb-fix-source-line-annotations_cherry-pick_stable-21.x branch November 13, 2025 18:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants