I want to hide symbol names which are not relevant to the last user and make visible only APIs in my shared or static library. I have a simple code like that:
int f_b1(){
return 21 ;
}
int f_b3(){
return f_b1() ;
}
I applied the all methods stated here such as using __attribute__ ((visibility ("hidden")))
and static
data but got no successful result. My operating system is Ubuntu and x86_64 GNU/Linux processor. Do we use special options while compiling with gcc? I am listing modules and function of libraries with nm
command. In my example above I only want to make visible f_b3
function. When I use attribute hidden
macro compiler does not give any error but the function still exists in list outputted by nm
command.