/** @file Specific relocation fixups for none Itanium architecture. Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "BasePeCoffLibInternals.h" /** Performs an Itanium-based specific relocation fixup and is a no-op on other instruction sets. @param Reloc The pointer to the relocation record. @param Fixup The pointer to the address to fix up. @param FixupData The pointer to a buffer to log the fixups. @param Adjust The offset to adjust the fixup. @return Status code. **/ RETURN_STATUS PeCoffLoaderRelocateImageEx ( IN UINT16 *Reloc, IN OUT CHAR8 *Fixup, IN OUT CHAR8 **FixupData, IN UINT64 Adjust ) { return RETURN_UNSUPPORTED; } /** Returns TRUE if the machine type of PE/COFF image is supported. Supported does not mean the image can be executed it means the PE/COFF loader supports loading and relocating of the image type. It's up to the caller to support the entry point. The IA32/X64 version PE/COFF loader/relocater both support IA32, X64 and EBC images. @param Machine The machine type from the PE Header. @return TRUE if this PE/COFF loader can load the image **/ BOOLEAN PeCoffLoaderImageFormatSupported ( IN UINT16 Machine ) { if ((Machine == IMAGE_FILE_MACHINE_I386) || (Machine == IMAGE_FILE_MACHINE_X64) || (Machine == IMAGE_FILE_MACHINE_EBC) || (Machine == IMAGE_FILE_MACHINE_ARM64)) { return TRUE; } return FALSE; } /** Performs an Itanium-based specific re-relocation fixup and is a no-op on other instruction sets. This is used to re-relocated the image into the EFI virtual space for runtime calls. @param Reloc The pointer to the relocation record. @param Fixup The pointer to the address to fix up. @param FixupData The pointer to a buffer to log the fixups. @param Adjust The offset to adjust the fixup. @return Status code. **/ RETURN_STATUS PeHotRelocateImageEx ( IN UINT16 *Reloc, IN OUT CHAR8 *Fixup, IN OUT CHAR8 **FixupData, IN UINT64 Adjust ) { return RETURN_UNSUPPORTED; }