@@ -317,7 +317,6 @@ StringRef llvm::object::getELFSectionTypeName(uint32_t Machine, unsigned Type) {
317317 STRINGIFY_ENUM_CASE (ELF, SHT_LLVM_SYMPART);
318318 STRINGIFY_ENUM_CASE (ELF, SHT_LLVM_PART_EHDR);
319319 STRINGIFY_ENUM_CASE (ELF, SHT_LLVM_PART_PHDR);
320- STRINGIFY_ENUM_CASE (ELF, SHT_LLVM_BB_ADDR_MAP_V0);
321320 STRINGIFY_ENUM_CASE (ELF, SHT_LLVM_BB_ADDR_MAP);
322321 STRINGIFY_ENUM_CASE (ELF, SHT_LLVM_OFFLOADING);
323322 STRINGIFY_ENUM_CASE (ELF, SHT_LLVM_LTO);
@@ -833,33 +832,24 @@ decodeBBAddrMapImpl(const ELFFile<ELFT> &EF,
833832 BBAddrMap::Features FeatEnable{};
834833 while (!ULEBSizeErr && !MetadataDecodeErr && Cur &&
835834 Cur.tell () < Content.size ()) {
836- if (Sec.sh_type == ELF::SHT_LLVM_BB_ADDR_MAP) {
837- Version = Data.getU8 (Cur);
838- if (!Cur)
839- break ;
840- if (Version > 3 )
841- return createError (" unsupported SHT_LLVM_BB_ADDR_MAP version: " +
842- Twine (static_cast <int >(Version)));
843- Feature = Data.getU8 (Cur); // Feature byte
844- if (!Cur)
845- break ;
846- auto FeatEnableOrErr = BBAddrMap::Features::decode (Feature);
847- if (!FeatEnableOrErr)
848- return FeatEnableOrErr.takeError ();
849- FeatEnable = *FeatEnableOrErr;
850- if (FeatEnable.hasPGOAnalysis () && Version < 2 )
851- return createError (
852- " version should be >= 2 for SHT_LLVM_BB_ADDR_MAP when "
853- " PGO features are enabled: version = " +
854- Twine (static_cast <int >(Version)) +
855- " feature = " + Twine (static_cast <int >(Feature)));
856- if (FeatEnable.CallsiteOffsets && Version < 3 )
857- return createError (
858- " version should be >= 3 for SHT_LLVM_BB_ADDR_MAP when "
859- " callsite offsets feature is enabled: version = " +
860- Twine (static_cast <int >(Version)) +
861- " feature = " + Twine (static_cast <int >(Feature)));
862- }
835+ Version = Data.getU8 (Cur);
836+ if (!Cur)
837+ break ;
838+ if (Version < 2 || Version > 3 )
839+ return createError (" unsupported SHT_LLVM_BB_ADDR_MAP version: " +
840+ Twine (static_cast <int >(Version)));
841+ Feature = Data.getU8 (Cur); // Feature byte
842+ if (!Cur)
843+ break ;
844+ auto FeatEnableOrErr = BBAddrMap::Features::decode (Feature);
845+ if (!FeatEnableOrErr)
846+ return FeatEnableOrErr.takeError ();
847+ FeatEnable = *FeatEnableOrErr;
848+ if (FeatEnable.CallsiteOffsets && Version < 3 )
849+ return createError (" version should be >= 3 for SHT_LLVM_BB_ADDR_MAP when "
850+ " callsite offsets feature is enabled: version = " +
851+ Twine (static_cast <int >(Version)) +
852+ " feature = " + Twine (static_cast <int >(Feature)));
863853 uint32_t NumBlocksInBBRange = 0 ;
864854 uint32_t NumBBRanges = 1 ;
865855 typename ELFFile<ELFT>::uintX_t RangeBaseAddress = 0 ;
0 commit comments