116796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy#ifndef _SEPOL_DSO_H 216796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy#define _SEPOL_DSO_H 1 316796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy 4e71e9891e48245a9a7ab1778dfa227cb3bc6f2ccWilliam Roberts#if !defined(SHARED) || defined(ANDROID) || defined(__APPLE__) 516796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy #define DISABLE_SYMVER 1 616796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy#endif 716796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy 816796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy#ifdef SHARED 916796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# define hidden __attribute__ ((visibility ("hidden"))) 1016796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# define hidden_proto(fct) __hidden_proto (fct, fct##_internal) 1116796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# define __hidden_proto(fct, internal) \ 1216796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy extern __typeof (fct) internal; \ 1316796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy extern __typeof (fct) fct __asm (#internal) hidden; 1416796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# if defined(__alpha__) || defined(__mips__) 1516796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# define hidden_def(fct) \ 1616796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy asm (".globl " #fct "\n" #fct " = " #fct "_internal"); 1716796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# else 1816796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# define hidden_def(fct) \ 1916796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy asm (".globl " #fct "\n.set " #fct ", " #fct "_internal"); 2016796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy#endif 2116796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy#else 2216796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# define hidden 2316796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# define hidden_proto(fct) 2416796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy# define hidden_def(fct) 2516796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy#endif 2616796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy 2716796d8dc19cffe55896b75e4a88832f2a25450bYuli Khodorkovskiy#endif 28