Я знаю, что воскрешаю этот пост из мертвых, но ...
У меня внезапно возникла необходимость сделать это, и обнаружение, что objcopy
не работает на OSX, былонемного шока.Но я думаю можно использовать ld
для достижения того же эффекта:
ld -r input.o -o output.o -alias oldsymbol newsymbol -unexported_symbol oldsymbol
Это действительно просто создает псевдоним для символа под новым именем и скрывает старое.
У меня еще не было возможности провести большое тестирование, но просмотр выходного файла с nm
показывает, что он, кажется, поступает правильно.