From 140e4422b16482f0bcafdc20d42141434d450450 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 24 May 2023 22:05:52 +0800 Subject: MdePkg: don't set visibility to hidden Not needed any more on modern toolchains, they are better in not creating a GOT without this trick. Signed-off-by: Gerd Hoffmann Reviewed-by: Liming Gao Reviewed-by: Rebecca Cran --- MdePkg/Include/X64/ProcessorBind.h | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/MdePkg/Include/X64/ProcessorBind.h b/MdePkg/Include/X64/ProcessorBind.h index cdbb4fd6d3..bc152ea761 100644 --- a/MdePkg/Include/X64/ProcessorBind.h +++ b/MdePkg/Include/X64/ProcessorBind.h @@ -21,20 +21,6 @@ #pragma pack() #endif -#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 -// symbols directly using relative references rather than via the GOT, which -// contains absolute symbol addresses that are subject to runtime relocation. -// -// The LTO linker will not emit GOT based relocations when all symbol -// references can be resolved locally, and so there is no need to set the -// pragma in that case (and doing so will cause other issues). -// - #pragma GCC visibility push (hidden) -#endif - #if defined (__INTEL_COMPILER) // // Disable ICC's remark #869: "Parameter" was never referenced warning. -- cgit v1.2.3