[all-commits] [llvm/llvm-project] 841895: [libcxx] Use alias for detecting overriden functio...
Petr Hosek via All-commits
all-commits at lists.llvm.org
Tue Jan 7 13:46:10 PST 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 841895543edcf98bd16027c6b85fe7c6419a4566
https://github.com/llvm/llvm-project/commit/841895543edcf98bd16027c6b85fe7c6419a4566
Author: Petr Hosek <phosek at google.com>
Date: 2025-01-07 (Tue, 07 Jan 2025)
Changed paths:
M libcxx/src/include/overridable_function.h
M libcxx/src/new.cpp
M libcxxabi/src/stdlib_new_delete.cpp
Log Message:
-----------
[libcxx] Use alias for detecting overriden function (#120805)
This mechanism is preferable in environments like embedded since it
doesn't require special handling of the custom section.
This is a reland of https://github.com/llvm/llvm-project/pull/114961
which addresses the issue reported by downstream users. Specifically,
the two differences from the previous version are:
* The internal `symbol##_impl__` symbol in the Mach-O implementation is
annotated with `__attribute__((used))` to prevent LTO from deleting it
which we've seen in the previous version.
* `__is_function_overridden` is marked as `inline` so these symbols are
placed in a COMDAT (or fully inlined) to avoid duplicate symbol errors
which we've seen in the previous version.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list