public void fixupSlidePointers(Program program, boolean markup, boolean addRelocations,
			MessageLog log, TaskMonitor monitor) throws MemoryAccessException, CancelledException {

		Memory memory = program.getMemory();
		AddressSpace space = program.getAddressFactory().getDefaultAddressSpace();
		Address dataPageAddr = space.getAddress(mappingInfo.getAddress());

		try (ByteProvider provider = new MemoryByteProvider(memory, dataPageAddr)) {
			BinaryReader reader = new BinaryReader(provider, !memory.isBigEndian());
			
			List<DyldFixup> fixups =
				getSlideFixups(reader, program.getDefaultPointerSize(), log, monitor);

			monitor.initialize(fixups.size(), "Fixing DYLD Cache slide pointers...");
			for (DyldFixup fixup : fixups) {
				monitor.increment();
				Address addr = dataPageAddr.add(fixup.offset());
				if (fixup.size() == 8) {
					memory.setLong(addr, fixup.value());
				}
				else {
					memory.setInt(addr, fixup.value().intValue());
				}
			}

			if (markup) {
				monitor.initialize(fixups.size(), "Marking up DYLD Cache slide pointers...");
				for (DyldFixup fixup : fixups) {
					monitor.increment();
					Address addr = dataPageAddr.add(fixup.offset());
					if (addRelocations) {
						program.getRelocationTable()
								.add(addr, Status.APPLIED, version, new long[] { fixup.value() },
									fixup.size(), null);
					}
					try {
						program.getListing().createData(addr, POINTER);
					}
					catch (CodeUnitInsertionException e) {
						// No worries, something presumably more important was there already
					}
				}
			}
		}
		catch (IOException e) {
			throw new MemoryAccessException(e.getMessage(), e);
		}
	}
Fixes up the program's slide pointers

@param program The {@link Program}
@param markup True if the slide pointers should be marked up; otherwise, false
@param addRelocations True if slide pointer locations should be added to the relocation
  table; otherwise, false
@param log The log
@param monitor A cancellable monitor
@throws MemoryAccessException If there was a problem accessing memory
@throws CancelledException If the user cancelled the operation
Ghidra/Features/Base/src/main/java/ghidra/app/util/bin/format/macho/dyld/DyldCacheSlideInfoCommon.java