]> git.proxmox.com Git - mirror_edk2.git/blob - ArmVirtPkg/Include/Platform/Hidden.h
c69cc662fa6258516d9cd22fa4b0f63c73f80e9c
[mirror_edk2.git] / ArmVirtPkg / Include / Platform / Hidden.h
1 /** @file
2
3 Copyright (c) 2018, Linaro Limited. All rights reserved.
4
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #ifndef __PLATFORM_HIDDEN_H
10 #define __PLATFORM_HIDDEN_H
11
12 //
13 // Setting the GCC -fvisibility=hidden command line option is not quite the same
14 // as setting the pragma below: the former only affects definitions, whereas the
15 // pragma affects extern declarations as well. So if we want to ensure that no
16 // GOT indirected symbol references are emitted, we need to use the pragma, or
17 // GOT based cross object references could be emitted, e.g., in libraries, and
18 // these cannot be relaxed to ordinary symbol references at link time.
19 //
20 #pragma GCC visibility push (hidden)
21
22 #endif