mirror of https://github.com/acidanthera/audk.git
CryptoPkg/IntrinsicLib: Fix possible unresolved external symbol issue
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1089 This is for the upcoming upgrade to OpenSSL_1_1_1b Compiler optimization(Visual Studio) may automatically use _ftol2 instead of some type conversion. For example: OpensslLib.lib(drbg_lib.obj) : error LNK2001: unresolved external symbol __ftol2 This patch add _ftol2 function for the compiler intrinsic. Cc: Jian J Wang <jian.j.wang@intel.com> Cc: Ting Ye <ting.ye@intel.com> Signed-off-by: Xiaoyu Lu <xiaoyux.lu@intel.com> Tested-by: Gary Lin <glin@suse.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
This commit is contained in:
parent
7eee048894
commit
96dbfad9b0
|
@ -0,0 +1,22 @@
|
||||||
|
/** @file
|
||||||
|
64-bit Math Worker Function.
|
||||||
|
The 32-bit versions of C compiler generate calls to library routines
|
||||||
|
to handle 64-bit math. These functions use non-standard calling conventions.
|
||||||
|
|
||||||
|
Copyright (c) 2019, Intel Corporation. All rights reserved.<BR>
|
||||||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Floating point to integer conversion.
|
||||||
|
*/
|
||||||
|
__declspec(naked) void _ftol2 (void)
|
||||||
|
{
|
||||||
|
_asm {
|
||||||
|
fistp qword ptr [esp-8]
|
||||||
|
mov edx, [esp-4]
|
||||||
|
mov eax, [esp-8]
|
||||||
|
ret
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,7 +1,7 @@
|
||||||
## @file
|
## @file
|
||||||
# Intrinsic Routines Wrapper Library Instance.
|
# Intrinsic Routines Wrapper Library Instance.
|
||||||
#
|
#
|
||||||
# Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>
|
# Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>
|
||||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
#
|
#
|
||||||
##
|
##
|
||||||
|
@ -29,9 +29,11 @@
|
||||||
|
|
||||||
Ia32/MathLShiftS64.c | MSFT
|
Ia32/MathLShiftS64.c | MSFT
|
||||||
Ia32/MathRShiftU64.c | MSFT
|
Ia32/MathRShiftU64.c | MSFT
|
||||||
|
Ia32/MathFtol.c | MSFT
|
||||||
|
|
||||||
Ia32/MathLShiftS64.c | INTEL
|
Ia32/MathLShiftS64.c | INTEL
|
||||||
Ia32/MathRShiftU64.c | INTEL
|
Ia32/MathRShiftU64.c | INTEL
|
||||||
|
Ia32/MathFtol.c | INTEL
|
||||||
|
|
||||||
Ia32/MathLShiftS64.nasm | GCC
|
Ia32/MathLShiftS64.nasm | GCC
|
||||||
Ia32/MathRShiftU64.nasm | GCC
|
Ia32/MathRShiftU64.nasm | GCC
|
||||||
|
|
Loading…
Reference in New Issue