The parameter passing warning is harmless (and you can't do anything about it except disable the warning with -Wno-psabi) if you aren't mixing libraries compiled with pre-GCC 7.1 with GCC 7.1+ which is very rarely the case when the same distro compiler is used for everything (and GCC 7.1 was released already in May 2017). GCC 7.1 documentation states: "On ARM targets (arm*-*-*), a bug introduced in GCC 5 that affects conformance to the procedure call standard (AAPCS) has been fixed. The bug affects some C++ code where class objects are passed by value to functions and could result in incorrect or inconsistent code being generated. This is an ABI change. If the option -Wpsabi is enabled (on by default) the compiler will emit a diagnostic note for code that might be affected."

Read More...