abi-compliance-checker icon indicating copy to clipboard operation
abi-compliance-checker copied to clipboard

Symbols are shown as changed on OSX platform

Open yulinwei9 opened this issue 7 years ago • 2 comments

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?

yulinwei9 avatar May 24 '17 10:05 yulinwei9

@lvc please have a look. Thanks.

zhuda avatar Jun 01 '17 07:06 zhuda

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.

lvc avatar Jun 03 '17 03:06 lvc