Use objcopy ou strip de binutils para remover os símbolos de depuração dos binários que você está construindo. Eu, no entanto, sugiro que você mantenha uma cópia não-tirada dos binários ou - no caso de usar objcopy - simplesmente separe os símbolos de depuração em um arquivo separado que possa ser usado posteriormente com um depurador.
Geralmente, os pacotes *-devel vêm com símbolos do pacote * correspondente, por sinal. Então você pode querer considerar a criação de um desses, além disso, se isso é algo que você libera para o público em geral.
Para strip, um uso comum é apenas remover os símbolos de depuração:
strip -S -o [stripped-file] [input-file]
A opção correspondente a strip -S é objcopy -g ou simplesmente usa o formato longo que funciona para ambos (mas não em todas as plataformas nas quais eu tive que usar strip ): --strip-debug .
Para o uso descrito de dividir os símbolos de depuração usando objcopy , verifique a opção --only-keep-debug in man objcopy .