Хорошие компоновщики удаляют неиспользуемый код из исполняемого файла. Это вариант оптимизации. Скорее всего, это не будет работать для публичных функций в разделяемых библиотеках, но внутренний код будет обрезан, если в него не будет никаких путей.
Проверьте ваш компоновщик (или, возможно, компилятор - в зависимости от языка).