aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFangrui Song <i@maskray.me>2024-06-21 23:56:17 -0700
committerFangrui Song <i@maskray.me>2024-06-21 23:56:17 -0700
commit369e24aa3852baccffe61c69ce891dc47fd5e176 (patch)
treedf51efc83110881c3bcf49d5073e19508bd7aa3c
parent4684d0c0073669c1833be7bb127a149b1f7a5e65 (diff)
downloadllvm-369e24aa3852baccffe61c69ce891dc47fd5e176.zip
llvm-369e24aa3852baccffe61c69ce891dc47fd5e176.tar.gz
llvm-369e24aa3852baccffe61c69ce891dc47fd5e176.tar.bz2
[MC] Fix emitCOFFSafeSEH after 9b44cfbdbf694e29d80bea688f3ecbfd1d764bfd
Tested by lld/test/COFF/safeseh*.s but not by llvm/test/**
-rw-r--r--llvm/lib/MC/MCWinCOFFStreamer.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/llvm/lib/MC/MCWinCOFFStreamer.cpp b/llvm/lib/MC/MCWinCOFFStreamer.cpp
index 9b63062..05445a3 100644
--- a/llvm/lib/MC/MCWinCOFFStreamer.cpp
+++ b/llvm/lib/MC/MCWinCOFFStreamer.cpp
@@ -196,7 +196,9 @@ void MCWinCOFFStreamer::emitCOFFSafeSEH(MCSymbol const *Symbol) {
getAssembler().registerSection(*SXData);
SXData->ensureMinAlignment(Align(4));
- insert(getContext().allocFragment<MCSymbolIdFragment>(Symbol));
+ auto *F = getContext().allocFragment<MCSymbolIdFragment>(Symbol);
+ F->setParent(SXData);
+ SXData->addFragment(*F);
getAssembler().registerSymbol(*Symbol);
CSymbol->setIsSafeSEH();