Skip to content

Conversation

@labath
Copy link
Collaborator

@labath labath commented Jul 30, 2025

The trickiest part here is that the FREs have a variable size, in two (or three?) dimensions:

  • the size of the StartAddress field. This determined by the FDE they are in, so it is uniform across all FREs in one FDE.
  • the number and sizes of offsets following the FRE. This can be different for each FRE.

While vending this information through a template API would be possible, I believe such an approach would be very unwieldy, and it would still require a sequential scan through the FRE list. This is why I'm implementing this by reading the data into a common data structure using the fallible iterator pattern.

For more information about the SFrame unwind format, see the specification and the related RFC.

The trickiest part here is that the FREs have a variable size, in two
(or three?) dimensions:
- the size of the StartAddress field. This determined by the FDE they
  are in, so it is uniform across all FREs in one FDE.
- the number and sizes of offsets following the FRE. This can be
  different for each FRE.

While vending this information through a template API would be possible,
I believe such an approach would be very unwieldy, and it would still
require a sequential scan through the FRE list. This is why I'm
implementing this by reading the data into a common data structure using
the fallible iterator pattern.

For more information about the SFrame unwind format, see the
[specification](https://sourceware.org/binutils/wiki/sframe) and the
related [RFC](https://discourse.llvm.org/t/rfc-adding-sframe-support-to-llvm/86900).
@llvmbot
Copy link
Member

llvmbot commented Jul 30, 2025

@llvm/pr-subscribers-llvm-binary-utilities

Author: Pavel Labath (labath)

Changes

The trickiest part here is that the FREs have a variable size, in two (or three?) dimensions:

  • the size of the StartAddress field. This determined by the FDE they are in, so it is uniform across all FREs in one FDE.
  • the number and sizes of offsets following the FRE. This can be different for each FRE.

While vending this information through a template API would be possible, I believe such an approach would be very unwieldy, and it would still require a sequential scan through the FRE list. This is why I'm implementing this by reading the data into a common data structure using the fallible iterator pattern.

For more information about the SFrame unwind format, see the specification and the related RFC.


Patch is 23.50 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/151301.diff

7 Files Affected:

  • (modified) llvm/include/llvm/BinaryFormat/SFrame.h (+1)
  • (modified) llvm/include/llvm/Object/SFrameParser.h (+51)
  • (modified) llvm/lib/BinaryFormat/SFrame.cpp (+8)
  • (modified) llvm/lib/Object/SFrameParser.cpp (+125-4)
  • (modified) llvm/test/tools/llvm-readobj/ELF/sframe-fde.test (+8-2)
  • (added) llvm/test/tools/llvm-readobj/ELF/sframe-fre.test (+284)
  • (modified) llvm/tools/llvm-readobj/ELFDumper.cpp (+28-1)
diff --git a/llvm/include/llvm/BinaryFormat/SFrame.h b/llvm/include/llvm/BinaryFormat/SFrame.h
index 0c6c4d176eaec..74e47ea8acca9 100644
--- a/llvm/include/llvm/BinaryFormat/SFrame.h
+++ b/llvm/include/llvm/BinaryFormat/SFrame.h
@@ -169,6 +169,7 @@ LLVM_ABI ArrayRef<EnumEntry<FREType>> getFRETypes();
 LLVM_ABI ArrayRef<EnumEntry<FDEType>> getFDETypes();
 LLVM_ABI ArrayRef<EnumEntry<AArch64PAuthKey>> getAArch64PAuthKeys();
 LLVM_ABI ArrayRef<EnumEntry<FREOffset>> getFREOffsets();
+LLVM_ABI ArrayRef<EnumEntry<BaseReg>> getBaseRegisters();
 
 } // namespace sframe
 } // namespace llvm
diff --git a/llvm/include/llvm/Object/SFrameParser.h b/llvm/include/llvm/Object/SFrameParser.h
index 245e7ba40d0b8..539bb1872cc99 100644
--- a/llvm/include/llvm/Object/SFrameParser.h
+++ b/llvm/include/llvm/Object/SFrameParser.h
@@ -10,6 +10,7 @@
 #define LLVM_OBJECT_SFRAME_H
 
 #include "llvm/ADT/ArrayRef.h"
+#include "llvm/ADT/fallible_iterator.h"
 #include "llvm/BinaryFormat/SFrame.h"
 #include "llvm/Support/Compiler.h"
 #include "llvm/Support/Error.h"
@@ -19,6 +20,8 @@ namespace llvm {
 namespace object {
 
 template <endianness E> class SFrameParser {
+  class FallibleFREIterator;
+
 public:
   static Expected<SFrameParser> create(ArrayRef<uint8_t> Contents,
                                        uint64_t SectionAddress);
@@ -42,6 +45,21 @@ template <endianness E> class SFrameParser {
   // objects returned by the `fdes()` function.
   uint64_t getAbsoluteStartAddress(typename FDERange::iterator FDE) const;
 
+  struct FrameRowEntry {
+    uint32_t StartAddress;
+    sframe::FREInfo<endianness::native> Info;
+    SmallVector<int32_t, 3> Offsets;
+  };
+
+  using fre_iterator = fallible_iterator<FallibleFREIterator>;
+  iterator_range<fre_iterator> fres(const sframe::FuncDescEntry<E> &FDE,
+                                    Error &Err) const;
+
+  std::optional<int32_t> getCFAOffset(const FrameRowEntry &FRE) const;
+  std::optional<int32_t> getRAOffset(const FrameRowEntry &FRE) const;
+  std::optional<int32_t> getFPOffset(const FrameRowEntry &FRE) const;
+  ArrayRef<int32_t> getExtraOffsets(const FrameRowEntry &FRE) const;
+
 private:
   ArrayRef<uint8_t> Data;
   uint64_t SectionAddress;
@@ -54,6 +72,39 @@ template <endianness E> class SFrameParser {
   uint64_t getFDEBase() const {
     return sizeof(Header) + Header.AuxHdrLen + Header.FDEOff;
   }
+
+  uint64_t getFREBase() const {
+    return getFDEBase() + Header.NumFDEs * sizeof(sframe::FuncDescEntry<E>);
+  }
+};
+
+template <endianness E> class SFrameParser<E>::FallibleFREIterator {
+public:
+  // NB: This iterator starts out in the before_begin() state. It must be
+  // ++'ed to reach the first element.
+  FallibleFREIterator(ArrayRef<uint8_t> Data, sframe::FREType FREType,
+                      uint32_t Idx, uint32_t Size, uint64_t Offset)
+      : Data(Data), FREType(FREType), Idx(Idx), Size(Size), Offset(Offset) {}
+
+  Error inc();
+  const FrameRowEntry &operator*() const { return FRE; }
+
+  friend bool operator==(const FallibleFREIterator &LHS,
+                         const FallibleFREIterator &RHS) {
+    assert(LHS.Data.data() == RHS.Data.data());
+    assert(LHS.Data.size() == RHS.Data.size());
+    assert(LHS.FREType == RHS.FREType);
+    assert(LHS.Size == RHS.Size);
+    return LHS.Idx == RHS.Idx;
+  }
+
+private:
+  ArrayRef<uint8_t> Data;
+  sframe::FREType FREType;
+  uint32_t Idx;
+  uint32_t Size;
+  uint64_t Offset;
+  FrameRowEntry FRE;
 };
 
 extern template class LLVM_TEMPLATE_ABI SFrameParser<endianness::big>;
diff --git a/llvm/lib/BinaryFormat/SFrame.cpp b/llvm/lib/BinaryFormat/SFrame.cpp
index f1765d7f3e852..8076a26f27f32 100644
--- a/llvm/lib/BinaryFormat/SFrame.cpp
+++ b/llvm/lib/BinaryFormat/SFrame.cpp
@@ -68,3 +68,11 @@ ArrayRef<EnumEntry<sframe::FREOffset>> sframe::getFREOffsets() {
   };
   return ArrayRef(FREOffsets);
 }
+
+ArrayRef<EnumEntry<sframe::BaseReg>> sframe::getBaseRegisters() {
+  static constexpr EnumEntry<sframe::BaseReg> BaseRegs[] = {
+      {"FP", sframe::BaseReg::FP},
+      {"SP", sframe::BaseReg::SP},
+  };
+  return ArrayRef(BaseRegs);
+}
diff --git a/llvm/lib/Object/SFrameParser.cpp b/llvm/lib/Object/SFrameParser.cpp
index 5863490634e32..73fdb643199ba 100644
--- a/llvm/lib/Object/SFrameParser.cpp
+++ b/llvm/lib/Object/SFrameParser.cpp
@@ -32,14 +32,25 @@ getDataSlice(ArrayRef<uint8_t> Data, uint64_t Offset, uint64_t Size) {
 }
 
 template <typename T>
-static Expected<const T &> getDataSliceAs(ArrayRef<uint8_t> Data,
-                                          uint64_t Offset) {
+static Expected<ArrayRef<T>>
+getDataSliceAsArrayOf(ArrayRef<uint8_t> Data, uint64_t Offset, uint64_t Count) {
   static_assert(std::is_trivial_v<T>);
-  Expected<ArrayRef<uint8_t>> Slice = getDataSlice(Data, Offset, sizeof(T));
+  Expected<ArrayRef<uint8_t>> Slice =
+      getDataSlice(Data, Offset, sizeof(T) * Count);
   if (!Slice)
     return Slice.takeError();
 
-  return *reinterpret_cast<const T *>(Slice->data());
+  return ArrayRef(reinterpret_cast<const T *>(Slice->data()), Count);
+}
+
+template <typename T>
+static Expected<const T &> getDataSliceAs(ArrayRef<uint8_t> Data,
+                                          uint64_t Offset) {
+  Expected<ArrayRef<T>> Array = getDataSliceAsArrayOf<T>(Data, Offset, 1);
+  if (!Array)
+    return Array.takeError();
+
+  return Array->front();
 }
 
 template <endianness E>
@@ -100,6 +111,116 @@ uint64_t SFrameParser<E>::getAbsoluteStartAddress(
   return Result;
 }
 
+template <typename EndianT>
+static Error readArray(ArrayRef<uint8_t> Data, uint64_t Count, uint64_t &Offset,
+                       SmallVectorImpl<int32_t> &Vec) {
+  Expected<ArrayRef<EndianT>> RawArray =
+      getDataSliceAsArrayOf<EndianT>(Data, Offset, Count);
+  if (!RawArray)
+    return RawArray.takeError();
+  Offset += Count * sizeof(EndianT);
+  Vec.resize(Count);
+  llvm::copy(*RawArray, Vec.begin());
+  return Error::success();
+}
+
+template <typename T, endianness E>
+static Error readFRE(ArrayRef<uint8_t> Data, uint64_t &Offset,
+                     typename SFrameParser<E>::FrameRowEntry &FRE) {
+  Expected<sframe::FrameRowEntry<T, E>> RawFRE =
+      getDataSliceAs<sframe::FrameRowEntry<T, E>>(Data, Offset);
+  if (!RawFRE)
+    return RawFRE.takeError();
+
+  Offset += sizeof(*RawFRE);
+  FRE.StartAddress = RawFRE->StartAddress;
+  FRE.Info.Info = RawFRE->Info.Info;
+
+  switch (FRE.Info.getOffsetSize()) {
+  case sframe::FREOffset::B1:
+    return readArray<sframe::detail::packed<int8_t, E>>(
+        Data, FRE.Info.getOffsetCount(), Offset, FRE.Offsets);
+  case sframe::FREOffset::B2:
+    return readArray<sframe::detail::packed<int16_t, E>>(
+        Data, FRE.Info.getOffsetCount(), Offset, FRE.Offsets);
+  case sframe::FREOffset::B4:
+    return readArray<sframe::detail::packed<int32_t, E>>(
+        Data, FRE.Info.getOffsetCount(), Offset, FRE.Offsets);
+  default:
+    return createError("unsupported/unknown offset size");
+  }
+}
+
+template <endianness E> Error SFrameParser<E>::FallibleFREIterator::inc() {
+  if (++Idx == Size)
+    return Error::success();
+
+  switch (FREType) {
+  case sframe::FREType::Addr1:
+    return readFRE<uint8_t, E>(Data, Offset, FRE);
+  case sframe::FREType::Addr2:
+    return readFRE<uint16_t, E>(Data, Offset, FRE);
+  case sframe::FREType::Addr4:
+    return readFRE<uint32_t, E>(Data, Offset, FRE);
+  default:
+    return createError("invalid/unsupported FRE type");
+  }
+}
+
+template <endianness E>
+iterator_range<typename SFrameParser<E>::fre_iterator>
+SFrameParser<E>::fres(const sframe::FuncDescEntry<E> &FDE, Error &Err) const {
+  uint64_t Offset = getFREBase() + FDE.StartFREOff;
+  fre_iterator BeforeBegin = make_fallible_itr(
+      FallibleFREIterator(Data, FDE.getFREType(), -1, FDE.NumFREs, Offset),
+      Err);
+  fre_iterator End = make_fallible_end(
+      FallibleFREIterator(Data, FDE.getFREType(), FDE.NumFREs, FDE.NumFREs,
+                          /*Offset=*/0));
+  return {++BeforeBegin, End};
+}
+
+static std::optional<int32_t> getOffset(ArrayRef<int32_t> Offsets, size_t Idx) {
+  if (Offsets.size() > Idx)
+    return Offsets[Idx];
+  return std::nullopt;
+}
+
+template <endianness E>
+std::optional<int32_t>
+SFrameParser<E>::getCFAOffset(const FrameRowEntry &FRE) const {
+  return getOffset(FRE.Offsets, 0);
+}
+
+template <endianness E>
+std::optional<int32_t>
+SFrameParser<E>::getRAOffset(const FrameRowEntry &FRE) const {
+  if (usesFixedRAOffset())
+    return Header.CFAFixedRAOffset;
+  return getOffset(FRE.Offsets, 1);
+}
+
+template <endianness E>
+std::optional<int32_t>
+SFrameParser<E>::getFPOffset(const FrameRowEntry &FRE) const {
+  if (usesFixedFPOffset())
+    return Header.CFAFixedFPOffset;
+  return getOffset(FRE.Offsets, usesFixedRAOffset() ? 1 : 2);
+}
+
+template <endianness E>
+ArrayRef<int32_t>
+SFrameParser<E>::getExtraOffsets(const FrameRowEntry &FRE) const {
+  size_t UsedOffsets = 1; // CFA
+  if (!usesFixedRAOffset())
+    ++UsedOffsets;
+  if (!usesFixedFPOffset())
+    ++UsedOffsets;
+  if (FRE.Offsets.size() > UsedOffsets)
+    return ArrayRef(FRE.Offsets).drop_front(UsedOffsets);
+  return {};
+}
+
 template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
 template class LLVM_EXPORT_TEMPLATE
     llvm::object::SFrameParser<endianness::little>;
diff --git a/llvm/test/tools/llvm-readobj/ELF/sframe-fde.test b/llvm/test/tools/llvm-readobj/ELF/sframe-fde.test
index dee40180c42e6..b9075a81eba4b 100644
--- a/llvm/test/tools/llvm-readobj/ELF/sframe-fde.test
+++ b/llvm/test/tools/llvm-readobj/ELF/sframe-fde.test
@@ -108,6 +108,8 @@ Sections:
 #  CASE1-NEXT:      }
 #  CASE1-NEXT:      Repetitive block size: 0xDE
 #  CASE1-NEXT:      Padding2: 0xAD
+#  CASE1-NEXT:      FREs [
+#  CASE1-NEXT:      ]
 #  CASE1-NEXT:    }
 #  CASE1-NEXT:  ]
 #  CASE1-NEXT:}
@@ -169,6 +171,8 @@ Sections:
 #  CASE1-NEXT:      }
 #  CASE1-NEXT:      Repetitive block size (unused): 0xDE
 #  CASE1-NEXT:      Padding2: 0xAD
+#  CASE1-NEXT:      FREs [
+#  CASE1-NEXT:      ]
 #  CASE1-NEXT:    }
 #  CASE1-NEXT:  ]
 #  CASE1-NEXT:}
@@ -196,7 +200,7 @@ Sections:
       0x00, 0xde, 0xad, 0x00,  # Start Address
       0x00, 0x00, 0x01, 0xbe,  # Size
       0x00, 0x00, 0x00, 0x10,  # Start FRE Offset
-      0x00, 0x00, 0x00, 0x10,  # Number of FREs
+      0x00, 0x00, 0x00, 0x00,  # Number of FREs
       0x02, 0xde, 0xad, 0x00,  # Info, RepSize, Padding2
     ]
 # CASE2-LABEL:SFrame section '.sframe' {
@@ -223,7 +227,7 @@ Sections:
 #  CASE2-NEXT:      PC: 0xDEAD1C
 #  CASE2-NEXT:      Size: 0x1BE
 #  CASE2-NEXT:      Start FRE Offset: 0x10
-#  CASE2-NEXT:      Num FREs: 16
+#  CASE2-NEXT:      Num FREs: 0
 #  CASE2-NEXT:      Info {
 #  CASE2-NEXT:        FRE Type: Addr4 (0x2)
 #  CASE2-NEXT:        FDE Type: PCInc (0x0)
@@ -232,6 +236,8 @@ Sections:
 #  CASE2-NEXT:      }
 #  CASE2-NEXT:      Repetitive block size (unused): 0xDE
 #  CASE2-NEXT:      Padding2: 0xAD00
+#  CASE2-NEXT:      FREs [
+#  CASE2-NEXT:      ]
 #  CASE2-NEXT:    }
 #  CASE2-NEXT:  ]
 #  CASE2-NEXT:}
diff --git a/llvm/test/tools/llvm-readobj/ELF/sframe-fre.test b/llvm/test/tools/llvm-readobj/ELF/sframe-fre.test
new file mode 100644
index 0000000000000..9711d04fe7974
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/ELF/sframe-fre.test
@@ -0,0 +1,284 @@
+# RUN: yaml2obj --docnum=1 %s -o %t.1
+# RUN: llvm-readobj --sframe=.sframe_eof_address --sframe=.sframe_eof_offset --sframe \
+# RUN:   %t.1 2>&1 | \
+# RUN:   FileCheck %s --strict-whitespace --match-full-lines \
+# RUN:   -DFILE=%t.1 --check-prefix=CASE1
+
+# RUN: yaml2obj --docnum=2 %s -o %t.2
+# RUN: llvm-readobj --sframe %t.2 2>&1 | \
+# RUN:   FileCheck %s --strict-whitespace --match-full-lines \
+# RUN:   -DFILE=%t.2 --check-prefix=CASE2
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_EXEC
+Sections:
+  - Name:  .sframe_eof_address
+    Type:  SHT_GNU_SFRAME
+    Flags: [ SHF_ALLOC ]
+    ContentArray: [
+      0xe2, 0xde, 0x02, 0x04,  # Preamble (magic, version, flags)
+      # Header:
+      0x03, 0x42, 0x47, 0x00,  # ABI, Fixed FP offset, Fixed RA Offset, AUX header length
+      0x01, 0x00, 0x00, 0x00,  # Number of FDEs
+      0x01, 0x00, 0x00, 0x00,  # Number of FREs
+      0x00, 0x10, 0x00, 0x00,  # FRE length
+      0x00, 0x00, 0x00, 0x00,  # FDE offset
+      0x00, 0x00, 0x00, 0x00,  # FRE offset
+
+      # FDE[0]:
+      0x00, 0xde, 0xad, 0x00,  # Start Address
+      0xbe, 0x01, 0x00, 0x00,  # Size
+      0x00, 0x00, 0x00, 0x00,  # Start FRE Offset
+      0x01, 0x00, 0x00, 0x00,  # Number of FREs
+      0x00, 0xde, 0xad, 0x00,  # Info, RepSize, Padding2
+
+      # FRE[0]:
+      0x00                     # Start Address, (missing) Info
+    ]
+# CASE1-LABEL:SFrame section '.sframe_eof_address' {
+#       CASE1:    FuncDescEntry [0] {
+#       CASE1:      Info {
+#  CASE1-NEXT:        FRE Type: Addr1 (0x0)
+#  CASE1-NEXT:        FDE Type: PCInc (0x0)
+#       CASE1:      FREs [
+#  CASE1-NEXT:{{.*}}: warning: '[[FILE]]': unexpected end of data at offset 0x31 while reading [0x30, 0x32)
+#  CASE1-NEXT:      ]
+
+  - Name:  .sframe_eof_offset
+    Type:  SHT_GNU_SFRAME
+    Flags: [ SHF_ALLOC ]
+    ContentArray: [
+      0xe2, 0xde, 0x02, 0x04,  # Preamble (magic, version, flags)
+      # Header:
+      0x03, 0x42, 0x47, 0x00,  # ABI, Fixed FP offset, Fixed RA Offset, AUX header length
+      0x01, 0x00, 0x00, 0x00,  # Number of FDEs
+      0x01, 0x00, 0x00, 0x00,  # Number of FREs
+      0x00, 0x10, 0x00, 0x00,  # FRE length
+      0x00, 0x00, 0x00, 0x00,  # FDE offset
+      0x00, 0x00, 0x00, 0x00,  # FRE offset
+
+      # FDE[0]:
+      0x00, 0xde, 0xad, 0x00,  # Start Address
+      0xbe, 0x01, 0x00, 0x00,  # Size
+      0x00, 0x00, 0x00, 0x00,  # Start FRE Offset
+      0x01, 0x00, 0x00, 0x00,  # Number of FREs
+      0x00, 0xde, 0xad, 0x00,  # Info, RepSize, Padding2
+
+      # FRE[0]:
+      0x00, 0x02               # Start Address, Info, (missing) Offsets
+    ]
+# CASE1-LABEL:SFrame section '.sframe_eof_offset' {
+#       CASE1:    FuncDescEntry [0] {
+#       CASE1:      Info {
+#  CASE1-NEXT:        FRE Type: Addr1 (0x0)
+#  CASE1-NEXT:        FDE Type: PCInc (0x0)
+#       CASE1:      FREs [
+#  CASE1-NEXT:{{.*}}: warning: '[[FILE]]': unexpected end of data at offset 0x32 while reading [0x32, 0x33)
+#  CASE1-NEXT:      ]
+
+  - Name:  .sframe
+    Type:  SHT_GNU_SFRAME
+    Flags: [ SHF_ALLOC ]
+    ContentArray: [
+      0xe2, 0xde, 0x02, 0x04,  # Preamble (magic, version, flags)
+      # Header:
+      0x03, 0x42, 0x40, 0x00,  # ABI, Fixed FP offset, Fixed RA Offset, AUX header length
+      0x02, 0x00, 0x00, 0x00,  # Number of FDEs
+      0x01, 0x00, 0x00, 0x00,  # Number of FREs
+      0x00, 0x10, 0x00, 0x00,  # FRE length
+      0x00, 0x00, 0x00, 0x00,  # FDE offset
+      0x00, 0x00, 0x00, 0x00,  # FRE offset
+
+      # FDE[0]:
+      0x00, 0x00, 0xde, 0x00,  # Start Address
+      0xbe, 0x01, 0x00, 0x00,  # Size
+      0x00, 0x00, 0x00, 0x00,  # Start FRE Offset
+      0x02, 0x00, 0x00, 0x00,  # Number of FREs
+      0x00, 0xde, 0xad, 0x00,  # Info, RepSize, Padding2
+
+      # FDE[1]:
+      0x00, 0x00, 0xad, 0x00,  # Start Address
+      0xbe, 0x01, 0x00, 0x00,  # Size
+      0x08, 0x00, 0x00, 0x00,  # Start FRE Offset
+      0x03, 0x00, 0x00, 0x00,  # Number of FREs
+      0x11, 0xde, 0xad, 0x00,  # Info, RepSize, Padding2
+
+      # FRE[0,0]: Zero offsets
+      0x00, 0x00,              # Start Address, Info
+
+      # FRE[0,1]: One four-byte offset, SP-based
+      0x01, 0x43,              # Start Address, Info
+      0x74, 0x00, 0x00, 0x00,  # Offset[0]
+
+      # FRE[1,0]: Two two-byte offsets, FP-based
+      0x00, 0x00, 0x24,        # Start Address, Info
+      0x10, 0x00, 0x20, 0x00,  # Offset[0], Offset[1]
+
+      # FRE[1,1]: Four one-byte offsets, FP-based
+      0x00, 0x01, 0x08,        # Start Address, Info
+      0x10, 0x20, 0x30, 0x40,  # Offset[0-3]
+    ]
+## Testing:
+## - little-endian support
+## - AMD64 ABI
+## - one and two byte address sizes
+## - PCInc and PCMask FDE types
+## - all offset sizes
+## - various offset counts
+## - hitting EOF after printing some number of FREs
+# CASE1-LABEL:SFrame section '.sframe' {
+#       CASE1:    ABI: AMD64EndianLittle (0x3)
+#       CASE1:    CFA fixed RA offset: 64
+#       CASE1:    FuncDescEntry [0] {
+#  CASE1-NEXT:      PC: 0xDE007F
+#       CASE1:      Info {
+#  CASE1-NEXT:        FRE Type: Addr1 (0x0)
+#  CASE1-NEXT:        FDE Type: PCInc (0x0)
+#       CASE1:      FREs [
+#  CASE1-NEXT:        Frame Row Entry {
+#  CASE1-NEXT:          Start Address: 0xDE007F
+#  CASE1-NEXT:          Return Address Signed: No
+#  CASE1-NEXT:          Offset Size: B1 (0x0)
+#  CASE1-NEXT:          Base Register: FP (0x0)
+#  CASE1-NEXT:          RA Offset: 64
+#  CASE1-NEXT:        }
+#  CASE1-NEXT:        Frame Row Entry {
+#  CASE1-NEXT:          Start Address: 0xDE0080
+#  CASE1-NEXT:          Return Address Signed: No
+#  CASE1-NEXT:          Offset Size: B4 (0x2)
+#  CASE1-NEXT:          Base Register: SP (0x1)
+#  CASE1-NEXT:          CFA Offset: 116
+#  CASE1-NEXT:          RA Offset: 64
+#  CASE1-NEXT:        }
+#  CASE1-NEXT:      ]
+#       CASE1:    FuncDescEntry [1] {
+#  CASE1-NEXT:      PC: 0xAD0093
+#       CASE1:      Info {
+#  CASE1-NEXT:        FRE Type: Addr2 (0x1)
+#  CASE1-NEXT:        FDE Type: PCMask (0x1)
+#       CASE1:      FREs [
+#  CASE1-NEXT:        Frame Row Entry {
+#  CASE1-NEXT:          Start Address: 0x0
+#  CASE1-NEXT:          Return Address Signed: No
+#  CASE1-NEXT:          Offset Size: B2 (0x1)
+#  CASE1-NEXT:          Base Register: FP (0x0)
+#  CASE1-NEXT:          CFA Offset: 16
+#  CASE1-NEXT:          RA Offset: 64
+#  CASE1-NEXT:          FP Offset: 32
+#  CASE1-NEXT:        }
+#  CASE1-NEXT:        Frame Row Entry {
+#  CASE1-NEXT:          Start Address: 0x100
+#  CASE1-NEXT:          Return Address Signed: No
+#  CASE1-NEXT:          Offset Size: B1 (0x0)
+#  CASE1-NEXT:          Base Register: FP (0x0)
+#  CASE1-NEXT:          CFA Offset: 16
+#  CASE1-NEXT:          RA Offset: 64
+#  CASE1-NEXT:          FP Offset: 32
+#  CASE1-NEXT:          Extra Offsets: [48, 64]
+#  CASE1-NEXT:        }
+#  CASE1-NEXT:{{.*}}: warning: '[[FILE]]': unexpected end of data at offset 0x5a while reading [0x5a, 0x5d)
+
+--- !ELF
+FileHeader:
+  Class: ELFCLASS64
+  Data:  ELFDATA2MSB
+  Type:  ET_EXEC
+Sections:
+  - Name:  .sframe
+    Type:  SHT_GNU_SFRAME
+    Flags: [ SHF_ALLOC ]
+    ContentArray: [
+      0xde, 0xe2, 0x02, 0x05,  # Preamble (magic, version, flags)
+      # Header:
+      0x01, 0x42, 0x47, 0x00,  # ABI, Fixed FP offset, Fixed RA Offset, AUX header length
+      0x00, 0x00, 0x00, 0x01,  # Number of FDEs
+      0x00, 0x00, 0x00, 0x10,  # Number of FREs
+      0x00, 0x00, 0x10, 0x00,  # FRE length
+      0x00, 0x00, 0x00, 0x00,  # FDE offset
+      0x00, 0x00, 0x01, 0x00,  # FRE offset
+
+      # FDE:
+      0x00, 0xde, 0x00, 0x00,  # Start Address
+      0x00, 0x00, 0x01, 0xbe,  # Size
+      0x00, 0x00, 0x00, 0x00,  # Start FRE Offset
+      0x00, 0x00, 0x00, 0x05,  # Number of FREs
+      0x02, 0xde, 0xad, 0x00,  # Info, RepSize, Padding2
+
+      # FRE[0]: Zero offsets
+      0x00, 0x00, 0x00, 0x00,  # Start Address
+      0x00,                    # Info
+
+      # FRE[1]: One offset
+      0x00, 0x00, 0x00, 0x01,  # Start Address
+      0x82, 0x10,              # Info, Offset[0]
+
+      # FRE[2]: Two offsets
+      0x00, 0x00, 0x00, 0x02,  # Start Address
+      0x04, 0x10, 0x20,        # Info, Offset[0-1]
+
+      # FRE[3]: Three offsets
+      0x00, 0x00, 0x00, 0x03,  # Start Address
+      0x86, 0x10, 0x20, 0x30,  # Info, Offset[0-2]
+
+      # FRE[4]: Four offsets
+      0x00, 0x00, 0x00, 0x04,  # Start Address
+      0x08,                    # Info
+      0x10, 0x20, 0x30, 0x40,  # Offset[0-3]
+    ]
+## Testing:
+## - big-endian support
+## - ARM64 ABI
+## - four-byte address sizes
+## - return address signing
+## - various offset counts
+# CASE2-LABEL:SFrame section '.sframe' {
+#       CASE2:    ABI: AArch64EndianBig (0x1)
+#       CASE2:    FuncDescEntry [0] {
+#  CASE2-NEXT:      PC: 0xDE001C
+#       CASE2:      Info {
+#  CASE2-NEXT:        FRE Type: Addr4 (0x2)
+#  CASE2-NEXT:        FDE Type: PCInc (0x0)
+#       CASE2:      FREs [
+#  CASE2-NEXT:        Frame Row Entry {
+#  CASE2-NEXT:          Start Address: 0xDE001C
+#  CASE2-NEXT:          Return Address Signed: No
+#  CASE2-NEXT:     ...
[truncated]

@labath
Copy link
Collaborator Author

labath commented Jul 30, 2025

@dwblaikie, @efriedma-quic, I am tagging you because you were involved in the DataExtractor-vs-reinterpret_cast discussion.

@jh7370, I am also going to be out for the rest of this week, so there's no rush. I appreciate all your reviews so far.

Comment on lines +72 to +78
ArrayRef<EnumEntry<sframe::BaseReg>> sframe::getBaseRegisters() {
static constexpr EnumEntry<sframe::BaseReg> BaseRegs[] = {
{"FP", sframe::BaseReg::FP},
{"SP", sframe::BaseReg::SP},
};
return ArrayRef(BaseRegs);
}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm probably missing something, but why not just have the static local exposed as a constant without the function wrapper?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you mean something like:

// SFrame.h
extern ArrayRef<EnumEntry<sframe::BaseReg>> BaseRegisters;
// SFrame.cpp
static constexpr EnumEntry<sframe::BaseReg> BaseRegs[] = ...
ArrayRef<EnumEntry<sframe::BaseReg>> BaseRegisters = BaseRegs;

then I believe that should work (without creating new global constructors or anything). I did it this way because that's how this is implemented elsewhere (BinaryFormat/DXContainer.h, DebugInfo/CodeView/EnumTables.h)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fine to leave as-is. Thanks for the explanation.

Copy link
Collaborator

@jh7370 jh7370 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks!

@labath labath merged commit a82ca1b into llvm:main Aug 8, 2025
9 checks passed
@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 8, 2025

LLVM Buildbot has detected a new failure on builder llvm-x86_64-debian-dylib running on gribozavr4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/60/builds/35069

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
7.474 [3215/96/4215] Building CXX object tools/clang/lib/Tooling/Transformer/CMakeFiles/obj.clangTransformer.dir/SourceCode.cpp.o
7.475 [3214/96/4216] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/FileIndexRecord.cpp.o
7.476 [3213/96/4217] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexBody.cpp.o
7.476 [3212/96/4218] Building CXX object tools/clang/lib/DirectoryWatcher/CMakeFiles/obj.clangDirectoryWatcher.dir/DirectoryScanner.cpp.o
7.477 [3211/96/4219] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexingContext.cpp.o
7.478 [3210/96/4220] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/IndexSymbol.cpp.o
7.478 [3209/96/4221] Building CXX object tools/clang/lib/Index/CMakeFiles/obj.clangIndex.dir/USRGeneration.cpp.o
7.479 [3208/96/4222] Building CXX object tools/clang/lib/Tooling/Transformer/CMakeFiles/obj.clangTransformer.dir/SourceCodeBuilders.cpp.o
7.479 [3207/96/4223] Building CXX object tools/clang/lib/IndexSerialization/CMakeFiles/obj.clangIndexSerialization.dir/SerializablePathCollection.cpp.o
7.480 [3206/96/4224] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /usr/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-x86_64-debian-dylib/build/lib/Object -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object -I/b/1/llvm-x86_64-debian-dylib/build/include -I/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:223:33: error: member reference base type 'ArrayRef' is not a structure or union
    return ArrayRef(FRE.Offsets).drop_front(UsedOffsets);
           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
                                                  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
    llvm::object::SFrameParser<endianness::little>;
                  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
    return readFRE<uint8_t, E>(Data, Offset, FRE);
           ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
    return readFRE<uint16_t, E>(Data, Offset, FRE);
           ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
    return readFRE<uint32_t, E>(Data, Offset, FRE);
           ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-x86_64-debian-dylib/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here

@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 8, 2025

LLVM Buildbot has detected a new failure on builder openmp-clang-x86_64-linux-debian running on gribozavr4 while building llvm at step 5 "compile-openmp".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/6/builds/10787

Here is the relevant piece of the build log for the reference
Step 5 (compile-openmp) failure: build (failure)
...
6.468 [1180/96/4346] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/IvarInvalidationChecker.cpp.o
6.469 [1179/96/4347] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/LLVMConventionsChecker.cpp.o
6.469 [1178/96/4348] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/LocalizationChecker.cpp.o
6.470 [1177/96/4349] Linking CXX static library lib/libLLVMHexagonDisassembler.a
6.470 [1176/96/4350] Linking CXX static library lib/libLLVMLoongArchDisassembler.a
6.472 [1175/96/4351] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MacOSKeychainAPIChecker.cpp.o
6.473 [1174/96/4352] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/MacOSXAPIChecker.cpp.o
6.473 [1173/96/4353] Linking CXX static library lib/libLLVMSystemZDisassembler.a
6.474 [1172/96/4354] Linking CXX static library lib/libLLVMWebAssemblyDisassembler.a
6.475 [1171/96/4355] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /usr/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/openmp-clang-x86_64-linux-debian/llvm.build/lib/Object -I/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object -I/b/1/openmp-clang-x86_64-linux-debian/llvm.build/include -I/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:223:33: error: member reference base type 'ArrayRef' is not a structure or union
    return ArrayRef(FRE.Offsets).drop_front(UsedOffsets);
           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
                                                  ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
    llvm::object::SFrameParser<endianness::little>;
                  ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
    return readFRE<uint8_t, E>(Data, Offset, FRE);
           ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
    return readFRE<uint16_t, E>(Data, Offset, FRE);
           ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
    return readFRE<uint32_t, E>(Data, Offset, FRE);
           ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-clang-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here

@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 8, 2025

LLVM Buildbot has detected a new failure on builder clang-x86_64-debian-fast running on gribozavr4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/56/builds/32856

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
In file included from /b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Driver/CudaInstallationDetector.h:13:
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Driver/Driver.h:787:19: warning: parameter 'Search' not found in the function declaration [-Wdocumentation]
  /// \param [in] Search and expansion options.
                  ^~~~~~
/b/1/clang-x86_64-debian-fast/llvm.src/clang/include/clang/Driver/Driver.h:787:19: note: did you mean 'ExpCtx'?
  /// \param [in] Search and expansion options.
                  ^~~~~~
                  ExpCtx
1 warning generated.
6.273 [2150/96/4093] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /usr/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/clang-x86_64-debian-fast/llvm.obj/lib/Object -I/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object -I/b/1/clang-x86_64-debian-fast/llvm.obj/include -I/b/1/clang-x86_64-debian-fast/llvm.src/llvm/include -std=c++11 -Wdocumentation -Wno-documentation-deprecated-sync -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:223:33: error: member reference base type 'ArrayRef' is not a structure or union
    return ArrayRef(FRE.Offsets).drop_front(UsedOffsets);
           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
                                                  ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
    llvm::object::SFrameParser<endianness::little>;
                  ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
    return readFRE<uint8_t, E>(Data, Offset, FRE);
           ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
    return readFRE<uint16_t, E>(Data, Offset, FRE);
           ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
    return readFRE<uint32_t, E>(Data, Offset, FRE);
           ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/clang-x86_64-debian-fast/llvm.src/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here

@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 8, 2025

LLVM Buildbot has detected a new failure on builder llvm-clang-x86_64-expensive-checks-debian running on gribozavr4 while building llvm at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/16/builds/24083

Here is the relevant piece of the build log for the reference
Step 5 (build-unified-tree) failure: build (failure)
...
6.295 [1130/64/2996] Linking CXX executable bin/llvm-cxxfilt
6.305 [1130/63/2997] Linking CXX executable bin/llvm-microsoft-demangle-fuzzer
6.322 [1130/62/2998] Linking CXX executable bin/llvm-special-case-list-fuzzer
6.324 [1130/61/2999] Linking CXX executable bin/llvm-yaml-numeric-parser-fuzzer
6.325 [1130/60/3000] Linking CXX executable bin/llvm-rust-demangle-fuzzer
6.341 [1130/59/3001] Linking CXX executable bin/llvm-yaml-parser-fuzzer
6.341 [1130/58/3002] Building RISCVGenAsmWriter.inc...
6.357 [1130/57/3003] Building X86GenMnemonicTables.inc...
6.367 [1130/56/3004] Building CXX object tools/llvm-mt/CMakeFiles/llvm-mt.dir/llvm-mt.cpp.o
6.419 [1129/56/3005] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /usr/bin/clang++ -DEXPENSIVE_CHECKS -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_DEBUG -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/llvm-clang-x86_64-expensive-checks-debian/build/lib/Object -I/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object -I/b/1/llvm-clang-x86_64-expensive-checks-debian/build/include -I/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/include -U_GLIBCXX_DEBUG -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:223:33: error: member reference base type 'ArrayRef' is not a structure or union
    return ArrayRef(FRE.Offsets).drop_front(UsedOffsets);
           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
                                                  ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
    llvm::object::SFrameParser<endianness::little>;
                  ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
    return readFRE<uint8_t, E>(Data, Offset, FRE);
           ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
    return readFRE<uint16_t, E>(Data, Offset, FRE);
           ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
    return readFRE<uint32_t, E>(Data, Offset, FRE);
           ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/llvm-clang-x86_64-expensive-checks-debian/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here

labath added a commit that referenced this pull request Aug 8, 2025
@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 8, 2025

LLVM Buildbot has detected a new failure on builder openmp-gcc-x86_64-linux-debian running on gribozavr4 while building llvm at step 5 "compile-openmp".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/70/builds/11051

Here is the relevant piece of the build log for the reference
Step 5 (compile-openmp) failure: build (failure)
...
6.221 [1174/96/4352] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ObjCUnusedIVarsChecker.cpp.o
6.222 [1173/96/4353] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/OSObjectCStyleCast.cpp.o
6.223 [1172/96/4354] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PaddingChecker.cpp.o
6.224 [1171/96/4355] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PointerArithChecker.cpp.o
6.225 [1170/96/4356] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PthreadLockChecker.cpp.o
6.226 [1169/96/4357] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/PutenvStackArrayChecker.cpp.o
6.227 [1168/96/4358] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/RetainCountChecker/RetainCountChecker.cpp.o
6.227 [1167/96/4359] Building CXX object tools/clang/lib/StaticAnalyzer/Checkers/CMakeFiles/obj.clangStaticAnalyzerCheckers.dir/ReturnPointerRangeChecker.cpp.o
6.228 [1166/96/4360] Building CXX object lib/BinaryFormat/CMakeFiles/LLVMBinaryFormat.dir/SFrame.cpp.o
6.229 [1165/96/4361] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /usr/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/b/1/openmp-gcc-x86_64-linux-debian/llvm.build/lib/Object -I/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object -I/b/1/openmp-gcc-x86_64-linux-debian/llvm.build/include -I/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/include -fPIC -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -std=c++17 -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:223:33: error: member reference base type 'ArrayRef' is not a structure or union
    return ArrayRef(FRE.Offsets).drop_front(UsedOffsets);
           ~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
                                                  ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:165:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
    llvm::object::SFrameParser<endianness::little>;
                  ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
    return readFRE<uint8_t, E>(Data, Offset, FRE);
           ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
    return readFRE<uint16_t, E>(Data, Offset, FRE);
           ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
    return readFRE<uint32_t, E>(Data, Offset, FRE);
           ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:149:3: warning: default label in switch which covers all enumeration values [-Wcovered-switch-default]
  default:
  ^
/b/1/openmp-gcc-x86_64-linux-debian/llvm.src/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here

@llvm-ci
Copy link
Collaborator

llvm-ci commented Aug 8, 2025

LLVM Buildbot has detected a new failure on builder sanitizer-aarch64-linux running on sanitizer-buildbot7 while building llvm at step 2 "annotate".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/51/builds/21196

Here is the relevant piece of the build log for the reference
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
[2962/5599] Building VEGenCallingConv.inc...
[2963/5599] Building SystemZGenDisassemblerTables.inc...
[2964/5599] Building SparcGenSearchableTables.inc...
[2965/5599] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/DelaySlotFiller.cpp.o
[2966/5599] Building SystemZGenAsmMatcher.inc...
[2967/5599] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/LeonPasses.cpp.o
[2968/5599] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/SparcAsmPrinter.cpp.o
[2969/5599] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/SparcInstrInfo.cpp.o
[2970/5599] Building SPIRVGenAsmWriter.inc...
[2971/5599] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Object -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
  227 | template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
      |                                                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
  229 |     llvm::object::SFrameParser<endianness::little>;
      |                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
  162 |     return readFRE<uint16_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
  164 |     return readFRE<uint32_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
Step 8 (build compiler-rt symbolizer) failure: build compiler-rt symbolizer (failure)
...
[2962/5599] Building VEGenCallingConv.inc...
[2963/5599] Building SystemZGenDisassemblerTables.inc...
[2964/5599] Building SparcGenSearchableTables.inc...
[2965/5599] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/DelaySlotFiller.cpp.o
[2966/5599] Building SystemZGenAsmMatcher.inc...
[2967/5599] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/LeonPasses.cpp.o
[2968/5599] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/SparcAsmPrinter.cpp.o
[2969/5599] Building CXX object lib/Target/Sparc/CMakeFiles/LLVMSparcCodeGen.dir/SparcInstrInfo.cpp.o
[2970/5599] Building SPIRVGenAsmWriter.inc...
[2971/5599] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Object -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
  227 | template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
      |                                                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
  229 |     llvm::object::SFrameParser<endianness::little>;
      |                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
  162 |     return readFRE<uint16_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
  164 |     return readFRE<uint32_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
Step 9 (test compiler-rt symbolizer) failure: test compiler-rt symbolizer (failure)
...
[1425/1996] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/ObjCPropertyAttributeOrderFixer.cpp.o
[1426/1996] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/QualifierAlignmentFixer.cpp.o
[1427/1996] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/SortJavaScriptImports.cpp.o
[1428/1996] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/TokenAnalyzer.cpp.o
[1429/1996] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/TokenAnnotator.cpp.o
[1430/1996] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UnwrappedLineFormatter.cpp.o
[1431/1996] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UnwrappedLineParser.cpp.o
[1432/1996] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UsingDeclarationsSorter.cpp.o
[1433/1996] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/WhitespaceManager.cpp.o
[1434/1996] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Object -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
  227 | template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
      |                                                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
  229 |     llvm::object::SFrameParser<endianness::little>;
      |                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
  162 |     return readFRE<uint16_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
  164 |     return readFRE<uint32_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
Step 10 (build compiler-rt debug) failure: build compiler-rt debug (failure)
...
[2991/5599] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVBuiltins.cpp.o
[2992/5599] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVCallLowering.cpp.o
[2993/5599] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInlineAsmLowering.cpp.o
[2994/5599] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVCommandLine.cpp.o
[2995/5599] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVEmitIntrinsics.cpp.o
[2996/5599] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVGlobalRegistry.cpp.o
[2997/5599] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstrInfo.cpp.o
[2998/5599] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVInstructionSelector.cpp.o
[2999/5599] Building CXX object lib/Target/SPIRV/CMakeFiles/LLVMSPIRVCodeGen.dir/SPIRVLegalizeImplicitBinding.cpp.o
[3000/5599] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Object -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
  227 | template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
      |                                                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
  229 |     llvm::object::SFrameParser<endianness::little>;
      |                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
  162 |     return readFRE<uint16_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
  164 |     return readFRE<uint32_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
Step 11 (test compiler-rt debug) failure: test compiler-rt debug (failure)
...
[1390/1967] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/ObjCPropertyAttributeOrderFixer.cpp.o
[1391/1967] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/QualifierAlignmentFixer.cpp.o
[1392/1967] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/SortJavaScriptImports.cpp.o
[1393/1967] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/TokenAnalyzer.cpp.o
[1394/1967] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/TokenAnnotator.cpp.o
[1395/1967] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UnwrappedLineFormatter.cpp.o
[1396/1967] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UnwrappedLineParser.cpp.o
[1397/1967] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/UsingDeclarationsSorter.cpp.o
[1398/1967] Building CXX object tools/clang/lib/Format/CMakeFiles/obj.clangFormat.dir/WhitespaceManager.cpp.o
[1399/1967] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Object -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
  227 | template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
      |                                                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
  229 |     llvm::object::SFrameParser<endianness::little>;
      |                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
  162 |     return readFRE<uint16_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
  164 |     return readFRE<uint32_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
Step 12 (build compiler-rt tsan_debug) failure: build compiler-rt tsan_debug (failure)
...
[2412/5577] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/MVEVPTBlockPass.cpp.o
[2413/5577] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/MVETPAndVPTOptimisationsPass.cpp.o
[2414/5577] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ARMLatencyMutations.cpp.o
[2415/5577] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/Thumb1FrameLowering.cpp.o
[2416/5577] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/Thumb1InstrInfo.cpp.o
[2417/5577] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/ThumbRegisterInfo.cpp.o
[2418/5577] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/Thumb2ITBlockPass.cpp.o
[2419/5577] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/Thumb2InstrInfo.cpp.o
[2420/5577] Building CXX object lib/Target/ARM/CMakeFiles/LLVMARMCodeGen.dir/Thumb2SizeReduction.cpp.o
[2421/5577] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Object -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
  227 | template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
      |                                                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
  229 |     llvm::object::SFrameParser<endianness::little>;
      |                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
  162 |     return readFRE<uint16_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
  164 |     return readFRE<uint32_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
Step 13 (build compiler-rt default) failure: build compiler-rt default (failure)
...
[2376/5599] Building CXX object lib/ExecutionEngine/RuntimeDyld/CMakeFiles/LLVMRuntimeDyld.dir/RuntimeDyld.cpp.o
[2377/5599] Building CXX object lib/ExecutionEngine/RuntimeDyld/CMakeFiles/LLVMRuntimeDyld.dir/RuntimeDyldChecker.cpp.o
[2378/5599] Building CXX object lib/ExecutionEngine/RuntimeDyld/CMakeFiles/LLVMRuntimeDyld.dir/RuntimeDyldCOFF.cpp.o
[2379/5599] Building CXX object lib/ExecutionEngine/RuntimeDyld/CMakeFiles/LLVMRuntimeDyld.dir/RuntimeDyldELF.cpp.o
[2380/5599] Building CXX object lib/ExecutionEngine/RuntimeDyld/CMakeFiles/LLVMRuntimeDyld.dir/RuntimeDyldMachO.cpp.o
[2381/5599] Building CXX object lib/ExecutionEngine/RuntimeDyld/CMakeFiles/LLVMRuntimeDyld.dir/Targets/RuntimeDyldELFMips.cpp.o
[2382/5599] Building CXX object lib/Target/CMakeFiles/LLVMTarget.dir/RegisterTargetPassConfigCallback.cpp.o
[2383/5599] Building CXX object lib/Target/CMakeFiles/LLVMTarget.dir/Target.cpp.o
[2384/5599] Building CXX object lib/Target/CMakeFiles/LLVMTarget.dir/TargetLoweringObjectFile.cpp.o
[2385/5599] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Object -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
  227 | template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
      |                                                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
  229 |     llvm::object::SFrameParser<endianness::little>;
      |                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
  162 |     return readFRE<uint16_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
  164 |     return readFRE<uint32_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
Step 14 (test compiler-rt default) failure: test compiler-rt default (failure)
...
[256/2553] Building MipsGenMCCodeEmitter.inc...
[257/2553] Building PPCGenAsmMatcher.inc...
[258/2553] Building PPCGenExegesis.inc...
[259/2553] Building SparcGenDAGISel.inc...
[260/2553] Building LanaiGenSDNodeInfo.inc...
[261/2553] Building CXX object lib/Target/Lanai/CMakeFiles/LLVMLanaiCodeGen.dir/LanaiAsmPrinter.cpp.o
[262/2553] Building MipsGenExegesis.inc...
[263/2553] Building CXX object lib/Target/Lanai/CMakeFiles/LLVMLanaiCodeGen.dir/LanaiDelaySlotFiller.cpp.o
[264/2553] Building CXX object lib/Target/Lanai/CMakeFiles/LLVMLanaiCodeGen.dir/LanaiFrameLowering.cpp.o
[265/2553] Building CXX object lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o
FAILED: lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o 
CCACHE_CPP2=yes CCACHE_HASHDIR=yes CCACHE_SLOPPINESS=pch_defines,time_macros /usr/bin/ccache /home/b/sanitizer-aarch64-linux/build/llvm_build0/bin/clang++ -DEXPERIMENTAL_KEY_INSTRUCTIONS -DGTEST_HAS_RTTI=0 -DLLVM_EXPORTS -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/b/sanitizer-aarch64-linux/build/build_default/lib/Object -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object -I/home/b/sanitizer-aarch64-linux/build/build_default/include -I/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/include -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -MF lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o.d -o lib/Object/CMakeFiles/LLVMObject.dir/SFrameParser.cpp.o -c /home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:227:51: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::big>::FallibleFREIterator::inc' requested here
  227 | template class LLVM_EXPORT_TEMPLATE llvm::object::SFrameParser<endianness::big>;
      |                                                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:165:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  165 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:229:19: note: in instantiation of member function 'llvm::object::SFrameParser<llvm::endianness::little>::FallibleFREIterator::inc' requested here
  229 |     llvm::object::SFrameParser<endianness::little>;
      |                   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::big>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:162:12: note: in instantiation of function template specialization 'readFRE<unsigned short, llvm::endianness::big>' requested here
  162 |     return readFRE<uint16_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:164:12: note: in instantiation of function template specialization 'readFRE<unsigned int, llvm::endianness::big>' requested here
  164 |     return readFRE<uint32_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
  149 |   default:
      |   ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:160:12: note: in instantiation of function template specialization 'readFRE<unsigned char, llvm::endianness::little>' requested here
  160 |     return readFRE<uint8_t, E>(Data, Offset, FRE);
      |            ^
/home/b/sanitizer-aarch64-linux/build/llvm-project/llvm/lib/Object/SFrameParser.cpp:149:3: error: default label in switch which covers all enumeration values [-Werror,-Wcovered-switch-default]
Step 15 (build standalone compiler-rt) failure: build standalone compiler-rt (failure)
...
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
-- The ASM compiler identification is unknown
-- Didn't find assembler
CMake Error at CMakeLists.txt:22 (project):
  The CMAKE_C_COMPILER:

    /home/b/sanitizer-aarch64-linux/build/build_default/bin/clang

  is not a full path to an existing compiler tool.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:22 (project):
  The CMAKE_CXX_COMPILER:

    /home/b/sanitizer-aarch64-linux/build/build_default/bin/clang++

  is not a full path to an existing compiler tool.

  Tell CMake where to find the compiler by setting either the environment
  variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.


CMake Error at CMakeLists.txt:22 (project):
  No CMAKE_ASM_COMPILER could be found.

  Tell CMake where to find the compiler by setting either the environment
  variable "ASM" or the CMake cache entry CMAKE_ASM_COMPILER to the full path
  to the compiler, or to the compiler name if it is in the PATH.
-- Warning: Did not find file Compiler/-ASM
-- Configuring incomplete, errors occurred!

How to reproduce locally: https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild




ninja: Entering directory `compiler_rt_build'
ninja: error: loading 'build.ninja': No such file or directory

How to reproduce locally: https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild




Step 16 (test standalone compiler-rt) failure: test standalone compiler-rt (failure)
@@@BUILD_STEP test standalone compiler-rt@@@
ninja: Entering directory `compiler_rt_build'
ninja: error: loading 'build.ninja': No such file or directory

How to reproduce locally: https://github.com/google/sanitizers/wiki/SanitizerBotReproduceBuild





llvm-sync bot pushed a commit to arm/arm-toolchain that referenced this pull request Aug 8, 2025
…ntries" (#152650)

Reverts llvm/llvm-project#151301 - build breakage on multiple bots.
@labath labath deleted the sframe2 branch August 8, 2025 07:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants