public static DWARFStringOffsetTableHeader readV5(BinaryReader reader, int defaultIntSize)
			throws IOException {
		// length : dwarf_length
		// version : 2 bytes
		// padding : 2 bytes
		// offsets : array of elements that are dwarf_format_int sized

		long startOffset = reader.getPointerIndex();
		DWARFLengthValue lengthInfo = DWARFLengthValue.read(reader, defaultIntSize);
		if (lengthInfo == null) {
			return null;
		}

		long endOffset = reader.getPointerIndex() + lengthInfo.length();

		short version = reader.readNextShort();
		if (version != 5) {
			throw new DWARFException("Unsupported DWARF version [%d]".formatted(version));
		}

		/* int padding = */ reader.readNextShort();

		long offsetArrayStart = reader.getPointerIndex();
		reader.setPointerIndex(endOffset);
		
		int count = (int) ((endOffset - offsetArrayStart) / lengthInfo.intSize());
		return new DWARFStringOffsetTableHeader(startOffset, endOffset, offsetArrayStart,
			lengthInfo.intSize(), count);
	}
Reads a string offset table header (found in the .debug_str_offsets section)

@param reader {@link BinaryReader}
@return new {@link DWARFStringOffsetTableHeader} instance
@throws IOException if error reading
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DWARFStringOffsetTableHeader.java