private void markupPtNote(BinaryReader br, Program program, Address noteAddr,
			TaskMonitor monitor)
			throws CancelledException, AddressOutOfBoundsException, IOException {
		while (br.hasNext()) {
			monitor.checkCancelled();

			long start = br.getPointerIndex();
			ElfNote note = br.readNext(ElfNote::read);
			br.align(4);	// fix any notes with non-aligned size payloads
			long noteLength = br.getPointerIndex() - start;

			if (DataUtilities.isUndefinedData(program, noteAddr)) {
				try {
					StructureDataType struct = note.toStructure(program.getDataTypeManager());
					DataUtilities.createData(program, noteAddr, struct, -1, false,
						ClearDataMode.CLEAR_ALL_UNDEFINED_CONFLICT_DATA);
					String comment =
						"ELF Note \"%s\", %xh".formatted(note.getName(), note.getVendorType());
					program.getListing().setComment(noteAddr, CommentType.EOL, comment);
				}
				catch (CodeUnitInsertionException e) {
					elfLoadHelper
							.log("Failed to markup ELF Note at " + noteAddr + ": data conflict");
				}
			}

			noteAddr = noteAddr.add(noteLength);
		}
	}
Handles marking up and program info for basic ELF note (and note-like) sections.
<ul>
	<li>NoteAbiTag</li>
	<li>NoteGnuBuildId</li>
	<li>NoteGnuProperty</li>
	<li>GnuDebugLink (not a note)</li>
 <li>ElfComment (not a note)</li>
</ul>
<p>
Runs after other ElfInfoProducers that have a normal priority.
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/elf/info/StandardElfInfoProducer.java