1#ifndef _SEPOL_DSO_H 2#define _SEPOL_DSO_H 1 3 4#if !defined(SHARED) || defined(ANDROID) 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