blob: 12c3d1160fb04e90d53a2e3d194787176bbe06b8 [file] [log] [blame]
Joshua Brindle13cd4c82008-08-19 15:30:36 -04001#ifndef _SELINUX_DSO_H
2#define _SELINUX_DSO_H 1
3
4#ifdef SHARED
5# define hidden __attribute__ ((visibility ("hidden")))
6# define hidden_proto(fct) __hidden_proto (fct, fct##_internal)
7# define __hidden_proto(fct, internal) \
8 extern __typeof (fct) internal; \
9 extern __typeof (fct) fct __asm (#internal) hidden;
10# if defined(__alpha__) || defined(__mips__)
11# define hidden_def(fct) \
12 asm (".globl " #fct "\n" #fct " = " #fct "_internal");
13# else
14# define hidden_def(fct) \
15 asm (".globl " #fct "\n.set " #fct ", " #fct "_internal");
16#endif
17#else
18# define hidden
19# define hidden_proto(fct)
20# define hidden_def(fct)
21#endif
22
23#endif