__attribute__(visibility) only works for gcc newer than 4.1.2