rm5248 commented on PR #492: URL: https://github.com/apache/logging-log4cxx/pull/492#issuecomment-2764592926
What compiler did you generate the new ABI dump file with? Taking a look at the compat report, the problems that it's showing are real problems with the ABI, but I'm pretty sure they're false positives, although it does depend on what compiler is being used. Testing with g++ 10.2, I get only 5 problems that all appear to be false positives: * It thinks RootLogger() constructor changed, which the signature did not * it thinks Transcoder::decode() changed, but it did not * It thinks that the `obj` field in PropertySetter changed from 16 bytes to 0 bytes It seems that ubuntu 20 is using g++9.3, which uses C++14 by default. g++ versions 11 and above use C++17 by default. Some of the errors(e.g. `The parameter pool1 became passed in r12 register instead of rbp.`) might be due to the different C++ standard being used, although if the name mangling is the same I would expect the calling convention to be the same. It is possible to version symbols with gcc though, so there could be an invisible "works with C++ version X" version being added to the symbol. I'm pretty sure the ABI check for C++ is only useful if the same C++ standard is used between all of the checks, which is why the abi-check build is only on a specific version of ubuntu(and not latest). From the ABI compliance checker page: > The ABI dump can be used to create a snapshot of a library ABI in the particular environment and then compare it with any other state of the ABI changed due to changes in the environment (compiler version, external libraries, etc.) or changes in the library API (header files). This would imply to me that the change in compiler version and libstdc++ version are enough to make the ABI check fail; we're concerned with the last part(changes in the library API). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: notifications-unsubscr...@logging.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org