diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2009-08-17 17:05:44 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2009-08-17 17:05:44 +0000 |
commit | bd3c03371331f17afdb24c7c0bfbf123b97b8056 (patch) | |
tree | 9e2231375259634fc69e13cb3e97e71adea4c121 /llvm/lib/Target/TargetLoweringObjectFile.cpp | |
parent | 4c737147e1d0a8f76cbe72c64a9f31c44ce0e011 (diff) | |
download | bcm5719-llvm-bd3c03371331f17afdb24c7c0bfbf123b97b8056.tar.gz bcm5719-llvm-bd3c03371331f17afdb24c7c0bfbf123b97b8056.zip |
Clear the uniquing table when initializing TLOF to avoid a crash when the TLOF is reinitialized with a different MCContext.
llvm-svn: 79253
Diffstat (limited to 'llvm/lib/Target/TargetLoweringObjectFile.cpp')
-rw-r--r-- | llvm/lib/Target/TargetLoweringObjectFile.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/TargetLoweringObjectFile.cpp b/llvm/lib/Target/TargetLoweringObjectFile.cpp index 8e1351bc065..ff0180bc0f9 100644 --- a/llvm/lib/Target/TargetLoweringObjectFile.cpp +++ b/llvm/lib/Target/TargetLoweringObjectFile.cpp @@ -304,6 +304,8 @@ getELFSection(StringRef Section, unsigned Type, unsigned Flags, void TargetLoweringObjectFileELF::Initialize(MCContext &Ctx, const TargetMachine &TM) { + if (UniquingMap != 0) + ((ELFUniqueMapTy*)UniquingMap)->clear(); TargetLoweringObjectFile::Initialize(Ctx, TM); BSSSection = @@ -666,6 +668,8 @@ getMachOSection(const StringRef &Segment, const StringRef &Section, void TargetLoweringObjectFileMachO::Initialize(MCContext &Ctx, const TargetMachine &TM) { + if (UniquingMap != 0) + ((MachOUniqueMapTy*)UniquingMap)->clear(); TargetLoweringObjectFile::Initialize(Ctx, TM); TextSection // .text @@ -946,6 +950,8 @@ getCOFFSection(const char *Name, bool isDirective, SectionKind Kind) const { void TargetLoweringObjectFileCOFF::Initialize(MCContext &Ctx, const TargetMachine &TM) { + if (UniquingMap != 0) + ((COFFUniqueMapTy*)UniquingMap)->clear(); TargetLoweringObjectFile::Initialize(Ctx, TM); TextSection = getCOFFSection("\t.text", true, SectionKind::getText()); DataSection = getCOFFSection("\t.data", true, SectionKind::getDataRel()); |