[all-commits] [llvm/llvm-project] fffdb7: [COFF] Add MC support for emitting IMAGE_WEAK_EXTE...

Eli Friedman via All-commits all-commits at lists.llvm.org
Fri Apr 7 14:07:10 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: fffdb7eac58b4efde5e23c1281e7a7f93a42d280
      https://github.com/llvm/llvm-project/commit/fffdb7eac58b4efde5e23c1281e7a7f93a42d280
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2023-04-07 (Fri, 07 Apr 2023)

  Changed paths:
    M llvm/include/llvm/MC/MCDirectives.h
    M llvm/include/llvm/MC/MCSymbol.h
    M llvm/include/llvm/MC/MCSymbolCOFF.h
    M llvm/lib/MC/MCAsmStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCExpr.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCParser/AsmParser.cpp
    M llvm/lib/MC/MCParser/COFFAsmParser.cpp
    M llvm/lib/MC/MCWinCOFFStreamer.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/test/MC/COFF/alias.s
    A llvm/test/MC/COFF/weak-anti-dep.s

  Log Message:
  -----------
  [COFF] Add MC support for emitting IMAGE_WEAK_EXTERN_ANTI_DEPENDENCY symbols

This is mostly useful for ARM64EC, which uses such symbols extensively.

One interesting quirk of ARM64EC is that we need to be able to emit weak
symbols that point at each other (so if either symbol is defined
elsewhere, both symbols point at the definition).  This required a few
changes to the way we handle weak symbols on Windows.

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




More information about the All-commits mailing list