1 #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 24