Intrinsic Memory Routines Wrapper Implementation for OpenSSL-based\r
Cryptographic Library.\r
\r
-Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>\r
SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
typedef UINTN size_t;\r
\r
+#if defined(__GNUC__) || defined(__clang__)\r
+ #define GLOBAL_USED __attribute__((used))\r
+#else\r
+ #define GLOBAL_USED\r
+#endif\r
+\r
/* OpenSSL will use floating point support, and C compiler produces the _fltused\r
symbol by default. Simply define this symbol here to satisfy the linker. */\r
-int _fltused = 1;\r
+int GLOBAL_USED _fltused = 1;\r
\r
/* Sets buffers to a specified character */\r
void * memset (void *dest, int ch, size_t count)\r