[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