Home | History | Annotate | Download | only in src
      1 #ifndef _SEPOL_DSO_H
      2 #define _SEPOL_DSO_H	1
      3 
      4 #if !defined(SHARED) || defined(ANDROID) || defined(__APPLE__)
      5     #define DISABLE_SYMVER 1
      6 #endif
      7 
      8 #ifdef SHARED
      9 # define hidden __attribute__ ((visibility ("hidden")))
     10 # define hidden_proto(fct) __hidden_proto (fct, fct##_internal)
     11 # define __hidden_proto(fct, internal)	\
     12      extern __typeof (fct) internal;	\
     13      extern __typeof (fct) fct __asm (#internal) hidden;
     14 # if defined(__alpha__) || defined(__mips__)
     15 #  define hidden_def(fct) \
     16      asm (".globl " #fct "\n" #fct " = " #fct "_internal");
     17 # else
     18 #  define hidden_def(fct) \
     19      asm (".globl " #fct "\n.set " #fct ", " #fct "_internal");
     20 #endif
     21 #else
     22 # define hidden
     23 # define hidden_proto(fct)
     24 # define hidden_def(fct)
     25 #endif
     26 
     27 #endif
     28