如何在 osx 上编辑目标文件?例如,重命名或删除目标文件中的符号。我试过 binutil 的 gobjcopy:
gobjcopy --strip-symbol some_symbol foo.o foo2.o
这似乎有效,但ld
在链接 foo2.o 时会抱怨(它没有抱怨 foo.o)。这也以最简单的形式 ( gobjcopy foo.o foo2.o
) 发生。
/opt/local/bin/ranlib: file: mylib.a(foo2.o) malformed object (symbol 0 must not have NO_SECT for its n_sect field given its type (N_SECT))
背景:我正在尝试删除在 2 个目标文件中定义的重复符号。