* sysdeps/unix/sysv/linux/i386/dl-sysdep.h: Define
[glibc.git] / elf / vismod2.c
blob5443e7c8a79173109f6aae56c69137b41adee148
1 /* Copyright (C) 2000 Free Software Foundation, Inc.
2 This file is part of the GNU C Library.
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.
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.
14 You should have received a copy of the GNU Lesser General Public
15 License along with the GNU C Library; if not, write to the Free
16 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17 02111-1307 USA. */
19 #include <stdlib.h>
20 #include "vismod.h"
22 int
23 protlocal (void)
25 return 0x40;
27 asm (".protected protlocal");
30 int
31 calllocal2 (void)
33 return protlocal () + 0x100;
36 int
37 (*getlocal2 (void)) (void)
39 return protlocal;
42 int
43 protinmod (void)
45 return 0x4000;
47 asm (".protected protinmod");
49 int
50 callinmod2 (void)
52 return protinmod () + 0x10000;
55 int
56 (*getinmod2 (void)) (void)
58 return protinmod;
61 int
62 protitcpt (void)
64 return 0x400000;
66 asm (".protected protitcpt");
68 int
69 callitcpt2 (void)
71 return protitcpt () + 0x1000000;
74 int
75 (*getitcpt2 (void)) (void)
77 return protitcpt;
80 const char *protvarlocal = __FILE__;
81 asm (".protected protvarlocal");
83 const char **
84 getvarlocal2 (void)
86 return &protvarlocal;
89 const char *protvarinmod = __FILE__;
90 asm (".protected protvarinmod");
92 const char **
93 getvarinmod2 (void)
95 return &protvarinmod;
98 const char *protvaritcpt = __FILE__;
99 asm (".protected protvaritcpt");
101 const char **
102 getvaritcpt2 (void)
104 return &protvaritcpt;
107 /* We must never call these functions. */
109 callitcpt3 (void)
111 abort ();
115 (*getitcpt3 (void)) (void)
117 abort ();
120 const char **
121 getvaritcpt3 (void)
123 abort ();