blob: 3b8b8eb1917df0f05641883aa0c346bc442302f2 [file] [log] [blame]
## @file
# PE/COFF Loader Library implementation.
# The IPF version library supports loading IPF and EBC PE/COFF image.
# The IA32 version library support loading IA32, X64 and EBC PE/COFF images.
# The X64 version library support loading IA32, X64 and EBC PE/COFF images.
# The RISC-V version library support loading RISC-V images.
# The LoongArch version library support loading LoongArch images.
#
# Caution: This module requires additional review when modified.
# This library will have external input - PE/COFF image.
# This external input must be validated carefully to avoid security issue like
# buffer overflow, integer overflow.
#
# Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
# Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
# Portions Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
# Portions Copyright (c) 2022, Loongson Technology Corporation Limited. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = BasePeCoffLib
MODULE_UNI_FILE = BasePeCoffLib.uni
FILE_GUID = 556f5d10-7309-4af4-b80a-8196bd60946f
MODULE_TYPE = BASE
VERSION_STRING = 1.0
LIBRARY_CLASS = PeCoffLib
#
# VALID_ARCHITECTURES = IA32 X64 EBC ARM AARCH64
#
[Sources]
BasePeCoffLibInternals.h
BasePeCoff.c
[Sources.IA32, Sources.X64, Sources.EBC, Sources.AARCH64]
PeCoffLoaderEx.c
[Sources.ARM]
Arm/PeCoffLoaderEx.c
[Sources.RISCV64]
RiscV/PeCoffLoaderEx.c
[Sources.LOONGARCH64]
LoongArch/PeCoffLoaderEx.c
[Packages]
MdePkg/MdePkg.dec
[LibraryClasses]
DebugLib
PeCoffExtraActionLib
BaseMemoryLib