-
Notifications
You must be signed in to change notification settings - Fork 427
Add supprt for new c23 deallocators #817
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a good start, but I see a lot of things here that don't look right.
653f4e6
to
79ca2a2
Compare
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #817 +/- ##
==========================================
- Coverage 92.19% 90.76% -1.44%
==========================================
Files 95 95
Lines 11940 11985 +45
Branches 413 415 +2
==========================================
- Hits 11008 10878 -130
- Misses 932 1107 +175
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
79ca2a2
to
88f0b37
Compare
Don't worry about the failing macOS test, that will be fixed by a rebase after we land #752 It looks like we're ahead of the curve here. Neither glibc nor musl libc suppport Hm. @pablogsal do you think it would be reasonable to have our tests build in C99 mode, instead of C23, and LD_PRELOAD a shared library of our own creation that provides |
I don't think this will be very useful. We already know our interposition works but what we want to check is that indeed works with GLIBC as most of the trickery can happen when we deal with the real implementation: we can be dealing with weak symbols, versioned symbols, weird redirects ...etc Having our own fake shared object would not help a lot with that |
This commit introduces 2 new functions to add support for `free_sized` and `free_aligned_sized` deallocators introduced in c23. We ensure that `free_sized` and `free_aligned_sized` are skipped if unavailable otherwise we get a `FREE` record recorded for them. Signed-off-by: Nana Adjei Manu <[email protected]>
Remove `glibc` guards for new functions to support all libc implementations. Updates tests to skip if compilation fails on a specific platform. Signed-off-by: Nana Adjei Manu <[email protected]>
Update line number assertions in three failing integration tests to match current file structure after recent code additions. The tests were failing due to line number shifts caused by: - Addition of C23 deallocator support tests - Code review improvements Tests affected: - test_misbehaving_extension: 83 → 85 - test_extension_that_uses_pygilstate_ensure: 154 → 156, 155 → 157 - test_native_dlopen: 226 → 228 Signed-off-by: Nana Adjei Manu <[email protected]>
88f0b37
to
0156107
Compare
closes #725
This commit introduces 2 new functions to add support for
free_sized
andfree_aligned_sized
deallocators introduced in c23.Tests ensure that
free_sized
andfree_aligned_sized
are skipped if unavailable otherwise we get aFREE
record recorded for them.