Details
Description
Symbols coming from *_p.h files should generally get the Qt_5_PRIVATE_API ELF version.
However this does not always work. For example, in Qt 5.7.0, there are the following symbols in libQt5DBus.so.5:
_ZN9QDBusUtil14isValidBusNameERK7QString@Qt_5 _ZN9QDBusUtil16argumentToStringERK8QVariant@Qt_5 _ZN9QDBusUtil16isValidBasicTypeEi@Qt_5 _ZN9QDBusUtil16isValidErrorNameERK7QString@Qt_5 _ZN9QDBusUtil16isValidFixedTypeEi@Qt_5 _ZN9QDBusUtil16isValidSignatureERK7QString@Qt_5 _ZN9QDBusUtil17isValidMemberNameERK10QStringRef@Qt_5 _ZN9QDBusUtil17isValidObjectPathERK7QString@Qt_5 _ZN9QDBusUtil20isValidInterfaceNameERK7QString@Qt_5 _ZN9QDBusUtil22isValidSingleSignatureERK7QString@Qt_5 _ZN9QDBusUtil23isValidPartOfObjectPathERK10QStringRef@Qt_5 _ZN9QDBusUtil27isValidUniqueConnectionNameERK10QStringRef@Qt_5
All these symbols are coming from src/dbus/qdbusutil_p.h, and should be marked private. They have no stable ABI: for example, between 5.6 and 5.7, signature of isValidMemberName changed, which broke qdbus from qttools.