The following set of Android bionic patches use GCC visibility pragma to hide the private symbols in bionic. It also lets the optimizer produce better and smaller machine code.
[PATCH android/bionic 1/3] Hide private symbols using GCC visibility pragma [PATCH android/bionic 2/3] Hide internal symbol __bionic_brk used by brk() and sbrk() [PATCH android/bionic 3/3] Hide libm private symbols using GCC visibility pragma