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

Eli Friedman via All-commits all-commits at lists.llvm.org
Wed Jun 7 11:19:17 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 7198baccdae10d2b23ea3c21b3c09a59ec053ec9
      https://github.com/llvm/llvm-project/commit/7198baccdae10d2b23ea3c21b3c09a59ec053ec9
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2023-06-07 (Wed, 07 Jun 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
    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 handling is
currently restricted to weak_anti_dep symbols, because we depend on the
current behavior of resolving weak symbols in some cases.

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




More information about the All-commits mailing list