]> git.proxmox.com Git - mirror_edk2.git/blob - ArmVirtPkg/Include/Platform/Hidden.h
fbd34674711d1140d3fa79935aa49bbd9b17b862
[mirror_edk2.git] / ArmVirtPkg / Include / Platform / Hidden.h
1 /** @file
2
3 Copyright (c) 2018, Linaro Limited. All rights reserved.
4
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13 **/
14
15 #ifndef __PLATFORM_HIDDEN_H
16 #define __PLATFORM_HIDDEN_H
17
18 //
19 // Setting the GCC -fvisibility=hidden command line option is not quite the same
20 // as setting the pragma below: the former only affects definitions, whereas the
21 // pragma affects extern declarations as well. So if we want to ensure that no
22 // GOT indirected symbol references are emitted, we need to use the pragma, or
23 // GOT based cross object references could be emitted, e.g., in libraries, and
24 // these cannot be relaxed to ordinary symbol references at link time.
25 //
26 #pragma GCC visibility push (hidden)
27
28 #endif