[all-commits] [llvm/llvm-project] 6ce8e7: [SanitizerBinaryMetadata] Make module_[cd]tor exte...

Fangrui Song via All-commits all-commits at lists.llvm.org
Wed Feb 8 00:58:52 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 6ce8e716bfab4a1d2d8777f9868af5759a515391
      https://github.com/llvm/llvm-project/commit/6ce8e716bfab4a1d2d8777f9868af5759a515391
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-02-08 (Wed, 08 Feb 2023)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/SanitizerBinaryMetadata.cpp
    A llvm/test/Instrumentation/SanitizerBinaryMetadata/ctor.ll

  Log Message:
  -----------
  [SanitizerBinaryMetadata] Make module_[cd]tor external

If a COMDAT key has a local linkage, it behaves as `comdat nodeduplicate` and
llvm/lib/Linker/LinkModules.cpp does not deduplicate its members.
This is not intended. Switch to an external linkage to allow deduplication.

See also https://maskray.me/blog/2021-07-25-comdat-and-section-group#grp_comdat

Reviewed By: melver

Differential Revision: https://reviews.llvm.org/D143530




More information about the All-commits mailing list