diff options
Diffstat (limited to 'lib/DebugInfo/MSF/MSFCommon.cpp')
-rw-r--r-- | lib/DebugInfo/MSF/MSFCommon.cpp | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/DebugInfo/MSF/MSFCommon.cpp b/lib/DebugInfo/MSF/MSFCommon.cpp index d7e1dcf31a3a..d398304375ac 100644 --- a/lib/DebugInfo/MSF/MSFCommon.cpp +++ b/lib/DebugInfo/MSF/MSFCommon.cpp @@ -64,15 +64,13 @@ MSFStreamLayout llvm::msf::getFpmStreamLayout(const MSFLayout &Msf, bool IncludeUnusedFpmData, bool AltFpm) { MSFStreamLayout FL; - uint32_t NumFpmIntervals = getNumFpmIntervals(Msf, IncludeUnusedFpmData); - support::ulittle32_t FpmBlock = Msf.SB->FreeBlockMapBlock; - assert(FpmBlock == 1 || FpmBlock == 2); - if (AltFpm) { - // If they requested the alternate FPM, then 2 becomes 1 and 1 becomes 2. - FpmBlock = 3U - FpmBlock; - } + uint32_t NumFpmIntervals = + getNumFpmIntervals(Msf, IncludeUnusedFpmData, AltFpm); + + uint32_t FpmBlock = AltFpm ? Msf.alternateFpmBlock() : Msf.mainFpmBlock(); + for (uint32_t I = 0; I < NumFpmIntervals; ++I) { - FL.Blocks.push_back(FpmBlock); + FL.Blocks.push_back(support::ulittle32_t(FpmBlock)); FpmBlock += msf::getFpmIntervalLength(Msf); } |