File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -708,6 +708,7 @@ struct dwarf::implementation {
708
708
709
709
std::uint64_t read64 ();
710
710
std::uint32_t read32 ();
711
+ std::uint32_t read24 ();
711
712
std::uint32_t read16 ();
712
713
std::uint32_t read8 ();
713
714
std::uint32_t read_uleb ();
@@ -778,6 +779,15 @@ std::uint64_t dwarf::implementation::read64() { return read<std::uint64_t>(); }
778
779
779
780
std::uint32_t dwarf::implementation::read32 () { return read<std::uint32_t >(); }
780
781
782
+ std::uint32_t dwarf::implementation::read24 () {
783
+ std::uint32_t result{0 };
784
+ _s.read (reinterpret_cast <char *>(&result), 3 );
785
+ if (_details._needs_byteswap ) {
786
+ endian_swap (result);
787
+ }
788
+ return result;
789
+ }
790
+
781
791
std::uint32_t dwarf::implementation::read16 () { return read<std::uint16_t >(); }
782
792
783
793
std::uint32_t dwarf::implementation::read8 () { return read<std::uint8_t >(); }
@@ -1732,6 +1742,11 @@ attribute_value dwarf::implementation::process_form(const attribute& attr,
1732
1742
// SPECREF: DWARF5 page 236 (218) line 31
1733
1743
result.string (read_debug_str_offs (read16 ()));
1734
1744
} break ;
1745
+ case dw::form::strx3: {
1746
+ // First seen in Xcode 16.1 w/ DWARF5.
1747
+ // SPECREF: DWARF5 page 236 (218) line 31
1748
+ result.string (read_debug_str_offs (read24 ()));
1749
+ } break ;
1735
1750
case dw::form::strx4: {
1736
1751
// First seen in Xcode 16.1 w/ DWARF5.
1737
1752
// SPECREF: DWARF5 page 236 (218) line 31
You can’t perform that action at this time.
0 commit comments