public static NoteAbiTag read(ElfNote note, Program program) throws IOException {
		byte[] desc = note.getDescription();
		if (!note.isGnu() || desc.length < MIN_ABI_TAB_LEN) {
			throw new IOException(
				"Invalid .note.ABI-tag values: %s, %d".formatted(note.getName(), desc.length));
		}

		BinaryReader descReader = note.getDescriptionReader(!program.getMemory().isBigEndian());
		int abiType = descReader.readNextInt();
		int[] requiredKernelVersion = descReader.readNextIntArray(3);

		return new NoteAbiTag(note.getNameLen(), note.getName(), note.getVendorType(), abiType,
			requiredKernelVersion);
	}
Deserializes a NoteAbiTag from an already read generic Note.

@param note generic Note
@param program context
@return new NoteAbiTag instance, never null
@throws IOException if data error
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/info/NoteAbiTag.java