private void createEntryFunction(String name, Address entryAddress) {

		// TODO: Entry may refer to a pointer - make sure we have execute permission

		MemoryBlock block = memory.getBlock(entryAddress);
		if (block == null || !block.isExecute()) {
			return;
		}

		entryAddress = elf.getLoadAdapter().creatingFunction(this, entryAddress);

		Function function = program.getFunctionManager().getFunctionAt(entryAddress);
		if (function != null) {
			program.getSymbolTable().addExternalEntryPoint(entryAddress);
			return; // symbol-based function already created
		}

		try {
			createOneByteFunction(name, entryAddress, true);
		}
		catch (Exception e) {
			log("Could not create symbol at entry point: " + getMessage(e));
		}
	}
Attempt to create an entry point function.
Note: entries in the dynamic table appear to have any pre-link adjustment already applied.
@param name function name
@param entryAddress function Address
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/ElfProgramBuilder.java