Restricción de símbolos en una biblioteca estática de Linux

Estoy buscando formas de restringir la cantidad de símbolos C exportados a una biblioteca estática de Linux (archivo). Me gustaría limitar estos a solo aquellos símbolos que son parte de la API oficial de la biblioteca. Ya uso 'static' para declarar la mayoría de las funciones como static, pero esto las restringe al alcance del archivo. Estoy buscando una manera de restringir el alcance a la biblioteca.

Puedo hacer esto para bibliotecas compartidas usando las técnicas de Ulrich DrepperCómo escribir bibliotecas compartidas, pero no puedo aplicar estas técnicas a archivos estáticos. En su anteriorBuenas prácticas en diseño de bibliotecas papel, él escribe:

La única posibilidad es combinar todos los archivos de objetos que necesitan ciertos recursos internos en uno usando 'ld -r' y luego restringir los símbolos que exporta este archivo de objetos combinados. El enlazador GNU tiene opciones para hacer esto.

¿Alguien podría ayudarme a descubrir cuáles podrían ser estas opciones? He tenido cierto éxito con 'strip -w -K prefix_ *', pero esto se siente brutal. Idealmente, me gustaría una solución que funcione con GCC 3 y 4.

¡Gracias!