abi-compliance-checker
abi-compliance-checker copied to clipboard
Symbols are shown as changed on OSX platform
Hi,
I'm using the ABI-Compliance-Checker under OSX. But I find some symbols are regarded as changed, although it shows the same by "nm tool" on mac.
For example, "nm tool" shows the symbol OverridingStyles() are the same for two builds, they are _ZNK3ATF9IAssembly16OverridingStylesEmRNS_5IdSetES2_
But in the report,
IAssembly::OverridingStyles ( size_t index, Path& path, IdSet& styles ) const _ZNK3ATF9IAssembly16OverridingStylesEmRNS_5IdSetERNS_5IdSetE
for added symbol, and
IAssembly::OverridingStyles ( size_t index, Path& path, IdSet& styles ) const _ZNK3ATF9IAssembly16OverridingStylesEmRNS_5IdSetES2_
for removed symbol.
The GCC parameters of two builds are the same, just like:
/usr/local/bin/gcc-7 -fdump-translation-unit -fkeep-inline-functions -c -x objective-c++ -fpermissive -w -g "/var/folders/_8/xzvp8l6s0_12_4s5vj40zps80000gp/T/edncLJyHAu/dump1.h" -I/Volumes/work/base/include
Is it caused by GCC parameters?
@lvc please have a look. Thanks.
Hello,
Thank you for the report.
Could you please run the tool with additional -debug
option and attach the generated debug
directory to this issue?
Anyway, we should port https://github.com/lvc/abi-dumper to Mac OS somehow (with the help of dwarfdump or gobjdump) in order to simplify usage of the ABI Compliance Checker and avoid recompiling header files of a library.