## @file # Null library instance for StackCheckLib which can be included # when a build needs to include stack check functions but does # not want to generate stack check failures. This instance is used # for HOST_APPLICATIONS specifically, as MSVC host applications link # to the C runtime lib that contains the stack cookie definitions, so # must link to a completely null version of this lib, whereas GCC host # host applications do not link to a C runtime lib that contains the stack # cookie definitions, so we must link against our version. # # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: BSD-2-Clause-Patent ## [Defines] INF_VERSION = 1.29 BASE_NAME = StackCheckLibNullHostApplication FILE_GUID = 7EBE7BD1-0D92-4609-89AA-6EA3815CB844 MODULE_TYPE = HOST_APPLICATION VERSION_STRING = 1.0 LIBRARY_CLASS = StackCheckLib|HOST_APPLICATION [Sources] StackCheckLibHostApplicationMsvc.c | MSFT StackCheckLibNullGcc.c | GCC [Packages] MdePkg/MdePkg.dec [BuildOptions] # We cannot build the GCC version with LTO (link time optimization) because we run into linker errors where # the stack cookie variable has been optimized away, as it looks to GCC like the variable is not used, because # the compiler inserts the usage. We do not worry about the MSVC version here as it is a no-op. GCC:*_*_*_CC_FLAGS = -fno-lto