diff options
author | Michael Brown <mcb30@ipxe.org> | 2016-10-16 16:32:49 +0100 |
---|---|---|
committer | Michael Brown <mcb30@ipxe.org> | 2016-10-16 17:08:02 +0100 |
commit | f796d5b6b63d3b986996458b4dbed4679e1abb3a (patch) | |
tree | 8891c0d73d116f2a5ea97be4bb4f4310d13add74 /src/include/ipxe/efi/X64/ProcessorBind.h | |
parent | 54dcfed3759c53526c10744e3d7cf095db0ffcaa (diff) | |
download | ipxe-f796d5b6b63d3b986996458b4dbed4679e1abb3a.zip ipxe-f796d5b6b63d3b986996458b4dbed4679e1abb3a.tar.gz ipxe-f796d5b6b63d3b986996458b4dbed4679e1abb3a.tar.bz2 |
[efi] Update to current EDK2 headers
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/efi/X64/ProcessorBind.h')
-rw-r--r-- | src/include/ipxe/efi/X64/ProcessorBind.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/src/include/ipxe/efi/X64/ProcessorBind.h b/src/include/ipxe/efi/X64/ProcessorBind.h index b64c25c..ad7ae81 100644 --- a/src/include/ipxe/efi/X64/ProcessorBind.h +++ b/src/include/ipxe/efi/X64/ProcessorBind.h @@ -29,6 +29,19 @@ FILE_LICENCE ( BSD3 ); #pragma pack() #endif +#if defined(__GNUC__) && defined(__pic__) && !defined(USING_LTO) +// +// 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) // @@ -82,7 +95,7 @@ FILE_LICENCE ( BSD3 ); #pragma warning ( disable : 4057 ) // -// ASSERT(FALSE) or while (TRUE) are legal constructes so supress this warning +// ASSERT(FALSE) or while (TRUE) are legal constructs so suppress this warning // #pragma warning ( disable : 4127 ) @@ -121,7 +134,7 @@ FILE_LICENCE ( BSD3 ); #if defined(_MSC_EXTENSIONS) // - // use Microsoft C complier dependent integer width types + // use Microsoft C compiler dependent integer width types // /// |