ST_VISIBILITY is broken in glibc 2.2. STV_HIDDEN is supported by the static linker. STV_PROTECTED needs support from both the static linker and dynamic linker. The static linker has the STV_PROTECTED support. We just need to add the STV_PROTECTED support to the dynamic linker. As for STV_INTERNAL, it is treated as STV_HIDDEN for most cases. H.J.