aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/MC/MCELFStreamer.cpp
diff options
context:
space:
mode:
authorEli Friedman <efriedma@quicinc.com>2023-04-17 13:15:46 -0700
committerEli Friedman <efriedma@quicinc.com>2023-04-17 13:17:25 -0700
commit10c17c97ebaf81ac26f6830e51a7a57ddcf63cd2 (patch)
tree4a7e6b501f6e0e44e1196d18cace1b80e7c01587 /llvm/lib/MC/MCELFStreamer.cpp
parentb0b2b2e047caa5a7c4b7e15d4425493f2df18d79 (diff)
downloadllvm-10c17c97ebaf81ac26f6830e51a7a57ddcf63cd2.zip
llvm-10c17c97ebaf81ac26f6830e51a7a57ddcf63cd2.tar.gz
llvm-10c17c97ebaf81ac26f6830e51a7a57ddcf63cd2.tar.bz2
[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
Diffstat (limited to 'llvm/lib/MC/MCELFStreamer.cpp')
-rw-r--r--llvm/lib/MC/MCELFStreamer.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/MC/MCELFStreamer.cpp b/llvm/lib/MC/MCELFStreamer.cpp
index 8dd002f..303eb16 100644
--- a/llvm/lib/MC/MCELFStreamer.cpp
+++ b/llvm/lib/MC/MCELFStreamer.cpp
@@ -216,6 +216,7 @@ bool MCELFStreamer::emitSymbolAttribute(MCSymbol *S, MCSymbolAttr Attribute) {
case MCSA_Invalid:
case MCSA_IndirectSymbol:
case MCSA_Exported:
+ case MCSA_WeakAntiDep:
return false;
case MCSA_NoDeadStrip: