1/* Copyright (C) 2000-2022 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
3
4 The GNU C Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
8
9 The GNU C Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
13
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, see
16 <https://www.gnu.org/licenses/>. */
17
18#include "vismod.h"
19
20int
21protlocal (void)
22{
23 return 0x4;
24}
25asm (".protected protlocal");
26
27
28int
29calllocal1 (void)
30{
31 return protlocal () + 0x10;
32}
33
34int
35(*getlocal1 (void)) (void)
36{
37 return protlocal;
38}
39
40int
41protinmod (void)
42{
43 return 0x400;
44}
45asm (".protected protinmod");
46
47int
48callinmod1 (void)
49{
50 return protinmod () + 0x1000;
51}
52
53int
54(*getinmod1 (void)) (void)
55{
56 return protinmod;
57}
58
59int
60protitcpt (void)
61{
62 return 0x40000;
63}
64asm (".protected protitcpt");
65
66int
67callitcpt1 (void)
68{
69 return protitcpt () + 0x100000;
70}
71
72int
73(*getitcpt1 (void)) (void)
74{
75 return protitcpt;
76}
77
78const char *protvarlocal = __FILE__;
79asm (".protected protvarlocal");
80
81const char **
82getvarlocal1 (void)
83{
84 return &protvarlocal;
85}
86
87const char *protvarinmod = __FILE__;
88asm (".protected protvarinmod");
89
90const char **
91getvarinmod1 (void)
92{
93 return &protvarinmod;
94}
95
96const char *protvaritcpt = __FILE__;
97asm (".protected protvaritcpt");
98
99const char **
100getvaritcpt1 (void)
101{
102 return &protvaritcpt;
103}
104

source code of glibc/elf/vismod1.c