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

Eli Friedman via All-commits all-commits at lists.llvm.org
Mon Apr 17 13:17:50 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 10c17c97ebaf81ac26f6830e51a7a57ddcf63cd2
      https://github.com/llvm/llvm-project/commit/10c17c97ebaf81ac26f6830e51a7a57ddcf63cd2
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2023-04-17 (Mon, 17 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/addrsig.s
    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