sync/atomic, runtime/internal/atomic: don't assume reads from 0 fail
[official-gcc.git] / include / vtv-change-permission.h
bloba36c29104d53d8bc20cb1caabca04108253beb48
1 /* Copyright (C) 2013-2017 Free Software Foundation, Inc.
3 This file is part of GCC.
5 modify it under the terms of the GNU Library General Public License
6 as published by the Free Software Foundation; either version 2, or
7 (at your option) any later version.
9 In addition to the permissions in the GNU Library General Public
10 License, the Free Software Foundation gives you unlimited
11 permission to link the compiled version of this file into
12 combinations with other programs, and to distribute those
13 combinations without any restriction coming from the use of this
14 file. (The Library Public License restrictions do apply in other
15 respects; for example, they cover modification of the file, and
16 distribution when not linked into a combined executable.)
18 This program is distributed in the hope that it will be useful, but
19 WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
21 Library General Public License for more details.
23 You should have received a copy of the GNU Library General Public
24 License along with this program; if not, write to the Free Software
25 Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
26 02110-1301, USA. */
29 #ifndef __VTV_H__
30 #define __VTV_H__
32 /* We could have used an enumeration here but it just makes it more
33 difficult for the compiler to generate a call to this. These are
34 used as arguments to the function __VLTChangePermission, declared
35 below. */
36 #define __VLTP_READ_ONLY 0
37 #define __VLTP_READ_WRITE 1
39 #ifdef __cplusplus
40 extern "C" void __VLTChangePermission (int);
41 #else
42 extern void __VLTChangePermission (int);
43 #endif
45 #ifdef BIG_PAGE_SIZE
46 /* TODO - Replace '4096' below with correct big page size. */
47 #define VTV_PAGE_SIZE 4096
48 #else
49 #if defined(__sun__) && defined(__svr4__) && defined(__sparc__)
50 #define VTV_PAGE_SIZE 8192
51 #else
52 #define VTV_PAGE_SIZE 4096
53 #endif
54 #endif
58 #endif /* __VTV_H__ */