From: Benjamin Kramer Date: Mon, 17 Aug 2009 17:05:44 +0000 (+0000) Subject: Clear the uniquing table when initializing TLOF to avoid a crash when the TLOF is... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=76d5ccf6afd5ae253cf3d5c2cf6acc712643d8cb;p=oota-llvm.git Clear the uniquing table when initializing TLOF to avoid a crash when the TLOF is reinitialized with a different MCContext. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79253 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/TargetLoweringObjectFile.cpp b/lib/Target/TargetLoweringObjectFile.cpp index 8e1351bc065..ff0180bc0f9 100644 --- a/lib/Target/TargetLoweringObjectFile.cpp +++ b/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());