private void handleStandardSections(Program program, TaskMonitor monitor, MessageLog log)
			throws CancelledException {

		int fdeTableCount = analyzeEhFrameHeaderSection(program, monitor, log);
		// If the EHFrameHeader doesn't exist, the fdeTableCount will be 0.

		monitor.checkCancelled();

		try {
			/*
			 * If the .eh_frame section exists, build the structures
			 * contained within this program section.
			 */

			EhFrameSection ehframeSection = new EhFrameSection(monitor, program);
			List<RegionDescriptor> regions = ehframeSection.analyze(fdeTableCount);

			AddressSet ehProtected = new AddressSet();

			for (RegionDescriptor region : regions) {

				monitor.checkCancelled();
				ehProtected.add(region.getRange());

				LSDACallSiteTable callSiteTable = region.getCallSiteTable();
				if (callSiteTable != null) {

					// Process this table's call site records.
					for (LSDACallSiteRecord cs : callSiteTable.getCallSiteRecords()) {
						monitor.checkCancelled();
						processCallSiteRecord(program, ehProtected, region, cs);
					}
				}
			}

		}
		catch (MemoryAccessException | ExceptionHandlerFrameException e) {
			log.appendMsg("Error analyzing GCC exception tables");
			log.appendException(e);
		}
	}
Creates an analyzer for marking up the GCC exception handling information.
Ghidra/Features/Base/src/main/java/ghidra/app/plugin/exceptionhandlers/gcc/GccExceptionAnalyzer.java