--weak-mode
This triggers the weak mode of abicompat. In this mode, only one version of the library is required. That is, abicompat is invoked like this:
abicompat --weak-mode <the-application> <the-library>
Note that the --weak-mode option can even be omitted if only one version of the library is given, along with the application; in that case, abicompat automatically switches to operate in weak mode:
abicompat <the-application> <the-library>
In this weak mode, the types of functions and variables exported by the library and consumed by the application (as in, the symbols of the these functions and variables are undefined in the application and are defined and exported by the library) are compared to the version of these types as expected by the application. And if these two versions of types are different, abicompat tells the user what the differences are.
In other words, in this mode, abicompat checks that the types of the functions and variables exported by the library mean the same thing as what the application expects, as far as the ABI is concerned.
Note that in this mode, abicompat doesn't detect exported functions or variables (symbols) that are expected by the application but that are removed from the library. That is why it is called weak mode.