Marvin:
  In VS compiler, what case will trig this intrinsic function?

Thanks
Liming
> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of Marvin 
> H?user
> Sent: Saturday, May 5, 2018 10:25 PM
> To: [email protected]
> Cc: Kinney, Michael D <[email protected]>; Gao, Liming 
> <[email protected]>
> Subject: [edk2] [PATCH] MdePkg/BaseLib: Globally include ChkStk.c
> 
> Initially added for GCC build support, this patch includes the
> function for all compilers and all architectures. This is done as
> huge variables on the stack may cause the generation of calls to this
> intrinsic function for Microsoft compilers, even for the IA32
> architecture, too.
> 
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Marvin Haeuser <[email protected]>
> ---
>  MdePkg/Library/BaseLib/{ChkStkGcc.c => ChkStk.c} | 48 ++++++++++----------
>  MdePkg/Library/BaseLib/BaseLib.inf               |  4 +-
>  2 files changed, 26 insertions(+), 26 deletions(-)
> 
> diff --git a/MdePkg/Library/BaseLib/ChkStkGcc.c 
> b/MdePkg/Library/BaseLib/ChkStk.c
> similarity index 74%
> rename from MdePkg/Library/BaseLib/ChkStkGcc.c
> rename to MdePkg/Library/BaseLib/ChkStk.c
> index ecba3853b159..59e6d73f9331 100644
> --- a/MdePkg/Library/BaseLib/ChkStkGcc.c
> +++ b/MdePkg/Library/BaseLib/ChkStk.c
> @@ -1,24 +1,24 @@
> -/** @file
> -  Provides hack function for passng GCC build.
> -
> -  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>
> -  This program and the accompanying materials
> -  are licensed and made available under the terms and conditions of the BSD 
> License
> -  which accompanies this distribution.  The full text of the license may be 
> found at
> -  http://opensource.org/licenses/bsd-license.php.
> -
> -  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> -  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> -
> -**/
> -
> -#include "BaseLibInternals.h"
> -
> -/**
> -  Hack function for passing GCC build.
> -**/
> -VOID
> -__chkstk()
> -{
> -}
> -
> +/** @file
> +  Provides hack function for passing build.
> +
> +  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +  This program and the accompanying materials
> +  are licensed and made available under the terms and conditions of the BSD 
> License
> +  which accompanies this distribution.  The full text of the license may be 
> found at
> +  http://opensource.org/licenses/bsd-license.php.
> +
> +  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
> +  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR 
> IMPLIED.
> +
> +**/
> +
> +#include "BaseLibInternals.h"
> +
> +/**
> +  Hack function for passing build.
> +**/
> +VOID
> +__chkstk()
> +{
> +}
> +
> diff --git a/MdePkg/Library/BaseLib/BaseLib.inf 
> b/MdePkg/Library/BaseLib/BaseLib.inf
> index 5fbbd02a94b6..d23a6db2581a 100644
> --- a/MdePkg/Library/BaseLib/BaseLib.inf
> +++ b/MdePkg/Library/BaseLib/BaseLib.inf
> @@ -1,7 +1,7 @@
>  ## @file
>  #  Base Library implementation.
>  #
> -#  Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
> +#  Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
>  #  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>
>  #  Portions copyright (c) 2011 - 2013, ARM Ltd. All rights reserved.<BR>
>  #
> @@ -64,6 +64,7 @@ [Sources]
>    SafeString.c
>    String.c
>    FilePaths.c
> +  ChkStk.c
>    BaseLibInternals.h
> 
>  [Sources.Ia32]
> @@ -781,7 +782,6 @@ [Sources.X64]
>    X64/DisableCache.S | GCC
>    X64/RdRand.nasm| GCC
>    X64/RdRand.S | GCC
> -  ChkStkGcc.c  | GCC
> 
>  [Sources.IPF]
>    Ipf/AccessGp.s
> --
> 2.17.0.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to