[edk2-devel] [Patch 4/4] MdePkg/X64/ProcessorBind.h: Fix EmulatorPkg X64 XCODE5

Michael D Kinney posted 4 patches 6 years, 6 months ago
[edk2-devel] [Patch 4/4] MdePkg/X64/ProcessorBind.h: Fix EmulatorPkg X64 XCODE5
Posted by Michael D Kinney 6 years, 6 months ago
https://bugzilla.tianocore.org/show_bug.cgi?id=2046

Make sure all libs that should be dynamically linked
are dynamically linked when XCODE5 compiler is used.
A previous change introduced the following pragma:

    #pragma GCC visibility push (hidden)

When the EmulatorPkg is built using XCODE5 toolchain
for X64, this pragma is included and it generates a
linker error when building the Unix Host module.  This
change uses !defined(__APPLE__) to prevent the use of
this pragma when building EmulatorPkg/Unix/Host.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Ray Ni <ray.ni@intel.com>
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
---
 MdePkg/Include/X64/ProcessorBind.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/MdePkg/Include/X64/ProcessorBind.h b/MdePkg/Include/X64/ProcessorBind.h
index b22cb226b0..6f65acd609 100644
--- a/MdePkg/Include/X64/ProcessorBind.h
+++ b/MdePkg/Include/X64/ProcessorBind.h
@@ -1,7 +1,7 @@
 /** @file
   Processor or Compiler specific defines and types x64 (Intel 64, AMD64).
 
-  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
+  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
   SPDX-License-Identifier: BSD-2-Clause-Patent
 
 **/
@@ -21,7 +21,7 @@
 #pragma pack()
 #endif
 
-#if defined(__GNUC__) && defined(__pic__) && !defined(USING_LTO)
+#if defined(__GNUC__) && defined(__pic__) && !defined(USING_LTO)  && !defined(__APPLE__)
 //
 // Mark all symbol declarations and references as hidden, meaning they will
 // not be subject to symbol preemption. This allows the compiler to refer to
-- 
2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44844): https://edk2.groups.io/g/devel/message/44844
Mute This Topic: https://groups.io/mt/32687219/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-

Re: [edk2-devel] [Patch 4/4] MdePkg/X64/ProcessorBind.h: Fix EmulatorPkg X64 XCODE5
Posted by Liming Gao 6 years, 6 months ago
Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Kinney, Michael D
>Sent: Friday, August 02, 2019 11:23 AM
>To: devel@edk2.groups.io
>Cc: Gao, Liming <liming.gao@intel.com>; Justen, Jordan L
><jordan.l.justen@intel.com>; Andrew Fish <afish@apple.com>; Ni, Ray
><ray.ni@intel.com>
>Subject: [Patch 4/4] MdePkg/X64/ProcessorBind.h: Fix EmulatorPkg X64
>XCODE5
>
>https://bugzilla.tianocore.org/show_bug.cgi?id=2046
>
>Make sure all libs that should be dynamically linked
>are dynamically linked when XCODE5 compiler is used.
>A previous change introduced the following pragma:
>
>    #pragma GCC visibility push (hidden)
>
>When the EmulatorPkg is built using XCODE5 toolchain
>for X64, this pragma is included and it generates a
>linker error when building the Unix Host module.  This
>change uses !defined(__APPLE__) to prevent the use of
>this pragma when building EmulatorPkg/Unix/Host.
>
>Cc: Liming Gao <liming.gao@intel.com>
>Cc: Jordan Justen <jordan.l.justen@intel.com>
>Cc: Andrew Fish <afish@apple.com>
>Cc: Ray Ni <ray.ni@intel.com>
>Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
>---
> MdePkg/Include/X64/ProcessorBind.h | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
>diff --git a/MdePkg/Include/X64/ProcessorBind.h
>b/MdePkg/Include/X64/ProcessorBind.h
>index b22cb226b0..6f65acd609 100644
>--- a/MdePkg/Include/X64/ProcessorBind.h
>+++ b/MdePkg/Include/X64/ProcessorBind.h
>@@ -1,7 +1,7 @@
> /** @file
>   Processor or Compiler specific defines and types x64 (Intel 64, AMD64).
>
>-  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
>+  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
>   SPDX-License-Identifier: BSD-2-Clause-Patent
>
> **/
>@@ -21,7 +21,7 @@
> #pragma pack()
> #endif
>
>-#if defined(__GNUC__) && defined(__pic__) && !defined(USING_LTO)
>+#if defined(__GNUC__) && defined(__pic__) && !defined(USING_LTO)
>&& !defined(__APPLE__)
> //
> // Mark all symbol declarations and references as hidden, meaning they will
> // not be subject to symbol preemption. This allows the compiler to refer to
>--
>2.21.0.windows.1


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.

View/Reply Online (#44999): https://edk2.groups.io/g/devel/message/44999
Mute This Topic: https://groups.io/mt/32687219/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub  [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-