private void processLabel(DIEAggregate diea) {
		if (!shouldProcess(diea)) {
			return;
		}

		String name = prog.getEntryName(diea);
		DWARFRange labelPc = diea.getPCRange();
		if (name != null && !labelPc.isEmpty() && labelPc.getFrom() != 0) {
			Address address = prog.getCodeAddress(labelPc.getFrom());
			try {
				SymbolTable symbolTable = currentProgram.getSymbolTable();
				symbolTable.createLabel(address, name, currentProgram.getGlobalNamespace(),
					SourceType.IMPORTED);

				String locationInfo = DWARFSourceInfo.getDescriptionStr(diea);
				if (locationInfo != null) {
					appendComment(address, CommentType.EOL, locationInfo, "; ");
				}
			}
			catch (InvalidInputException e) {
				Msg.error(this, "Problem creating label at " + address + " with name " + name, e);
			}
		}
	}
Move an address range into a fragment.
@param name name of the fragment
@param addrs set of addresses that belong to the item
@param fileName source filename that contained the item
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/dwarf/DWARFFunctionImporter.java