private void processSectionHeaders(TaskMonitor monitor) throws CancelledException {
		monitor.setMessage("Processing section headers...");

		boolean includeOtherBlocks = ElfLoaderOptionsFactory.includeOtherBlocks(options);

		// establish section address provider for relocatable ELF binaries
		RelocatableImageBaseProvider relocatableImageBaseProvider = null;
		if (elf.isRelocatable()) {
			relocatableImageBaseProvider = new RelocatableImageBaseProvider(monitor);
		}

		ElfSectionHeader[] sections = elf.getSections();

		monitor.setMessage("Processing section headers...");
		monitor.initialize(sections.length);
		for (ElfSectionHeader elfSectionToLoad : sections) {
			monitor.checkCancelled();
			monitor.incrementProgress(1);
			int type = elfSectionToLoad.getType();
			if (type != ElfSectionHeaderConstants.SHT_NULL &&
				(includeOtherBlocks || elfSectionToLoad.isAlloc())) {
				long fileOffset = elfSectionToLoad.getOffset();
				if (type != ElfSectionHeaderConstants.SHT_NOBITS &&
					(elfSectionToLoad.isInvalidOffset() || fileOffset >= fileBytes.getSize())) {
					log("Skipping section [" + elfSectionToLoad.getNameAsString() +
						"] with invalid file offset 0x" + Long.toHexString(fileOffset));
					continue;
				}
				long size = elfSectionToLoad.getSize();
				if (size <= 0 ||
					(type != ElfSectionHeaderConstants.SHT_NOBITS && size >= fileBytes.getSize())) {
					log("Skipping section [" + elfSectionToLoad.getNameAsString() +
						"] with invalid size 0x" + Long.toHexString(size));
					continue;
				}
				processSectionHeader(elfSectionToLoad, relocatableImageBaseProvider);
			}
		}
	}
Identify start address of relocation area.  Skip any sections with a non-zero address.
When an image is relocatable generally all sections will have a zero address.  It is only
when special sections are present (e.g., __ksymtab) that we may encounter sections with
a non-zero address.
@param monitor task monitor
@return start of relocation area
@throws CancelledException task cancelled
Ghidra/Features/Base/src/main/java/ghidra/app/util/opinion/ElfProgramBuilder.java