From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga09.intel.com (mga09.intel.com []) by mx.groups.io with SMTP id smtpd.web10.3108.1571295367890091277 for ; Wed, 16 Oct 2019 23:56:14 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=fail (domain: intel.com, ip: , mailfrom: liming.gao@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 16 Oct 2019 23:56:13 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.67,306,1566889200"; d="scan'208";a="208577882" Received: from shwde7172.ccr.corp.intel.com ([10.239.158.22]) by fmsmga001.fm.intel.com with ESMTP; 16 Oct 2019 23:56:13 -0700 From: "Liming Gao" To: devel@edk2.groups.io Subject: [Patch v3 09/11] CryptoPkg IntrinsicLib: Make _fltused always be used Date: Thu, 17 Oct 2019 14:55:53 +0800 Message-Id: <1571295356-11608-10-git-send-email-liming.gao@intel.com> X-Mailer: git-send-email 2.8.0.windows.1 In-Reply-To: <1571295356-11608-1-git-send-email-liming.gao@intel.com> References: <1571295356-11608-1-git-send-email-liming.gao@intel.com> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=1603 With this change, global variable _fltused will not be removed by LTO Signed-off-by: Liming Gao Reviewed-by: Jian J Wang Reviewed-by: Philippe Mathieu-Daude --- 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.
+Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.
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