| #ifndef _SELINUX_DSO_H |
| #define _SELINUX_DSO_H 1 |
| |
| #ifdef SHARED |
| # define hidden __attribute__ ((visibility ("hidden"))) |
| # define hidden_proto(fct) __hidden_proto (fct, fct##_internal) |
| # define __hidden_proto(fct, internal) \ |
| extern __typeof (fct) internal; \ |
| extern __typeof (fct) fct __asm (#internal) hidden; |
| # if defined(__alpha__) || defined(__mips__) |
| # define hidden_def(fct) \ |
| asm (".globl " #fct "\n" #fct " = " #fct "_internal"); |
| # else |
| # define hidden_def(fct) \ |
| asm (".globl " #fct "\n.set " #fct ", " #fct "_internal"); |
| #endif |
| #else |
| # define hidden |
| # define hidden_proto(fct) |
| # define hidden_def(fct) |
| #endif |
| |
| #endif |