[all-commits] [llvm/llvm-project] 21ac45: [ELF] Priorize the last catch-all pattern in versi...

Fangrui Song via All-commits all-commits at lists.llvm.org
Sat Sep 9 23:47:21 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 21ac457f3f8f707b6eb79f15f52d366a31ee4385
      https://github.com/llvm/llvm-project/commit/21ac457f3f8f707b6eb79f15f52d366a31ee4385
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-09-09 (Sat, 09 Sep 2023)

  Changed paths:
    M lld/ELF/SymbolTable.cpp
    M lld/test/ELF/version-script-reassign-glob.s

  Log Message:
  -----------
  [ELF] Priorize the last catch-all pattern in version scripts

When there are multiple catch-all patterns (i.e. a single `*`), GNU ld and gold
select the last pattern. Match their behavior.

This change was inspired by a correction made by Michael Kerrisk to a blog post
I wrote at https://maskray.me/blog/2020-11-26-all-about-symbol-versioning ,
following the current lld rules.

Note: GNU ld prefers global: patterns to local: patterns, which might seem
awkward (https://www.airs.com/blog/archives/300). gold doesn't follow this
behavior, and we do not either.




More information about the All-commits mailing list