[edk2-devel] [Patch 09/12] CryptoPkg IntrinsicLib: Make _fltused always be used
Yao, Jiewen
jiewen.yao at intel.com
Fri Sep 27 08:34:18 UTC 2019
Hi
+int GLOBAL_USED _fltused = 1;
May I know what is the use of GLOBAL_USED? Only for compiler stub symbol?
If so, why we add __GNUC__ here? Any other usage?
+#if defined(__GNUC__) || defined(__clang__)
+ #define GLOBAL_USED __attribute__((used))
+#else
+ #define GLOBAL_USED
+#endif
> -----Original Message-----
> From: devel at edk2.groups.io <devel at edk2.groups.io> On Behalf Of Liming Gao
> Sent: Friday, September 27, 2019 3:47 PM
> To: devel at edk2.groups.io
> Subject: [edk2-devel] [Patch 09/12] CryptoPkg IntrinsicLib: Make _fltused always
> be used
>
> With this change, global variable _fltused will not be removed by LTO
>
> Signed-off-by: Liming Gao <liming.gao at intel.com>
> ---
> CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c | 10 ++++++++--
> 1 file changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
> b/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
> index 6e4d4a68cc..94fe341bec 100644
> --- a/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
> +++ b/CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
> @@ -2,7 +2,7 @@
> Intrinsic Memory Routines Wrapper Implementation for OpenSSL-based
> Cryptographic Library.
>
> -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
>
> **/
> @@ -13,9 +13,15 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
>
> typedef UINTN size_t;
>
> +#if defined(__GNUC__) || defined(__clang__)
> + #define GLOBAL_USED __attribute__((used))
> +#else
> + #define GLOBAL_USED
> +#endif
> +
> /* OpenSSL will use floating point support, and C compiler produces the _fltused
> symbol by default. Simply define this symbol here to satisfy the linker. */
> -int _fltused = 1;
> +int GLOBAL_USED _fltused = 1;
>
> /* Sets buffers to a specified character */
> void * memset (void *dest, int ch, size_t count)
> --
> 2.13.0.windows.1
>
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#48212): https://edk2.groups.io/g/devel/message/48212
Mute This Topic: https://groups.io/mt/34309062/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list