Hi Johannes, When I compile iw 5.0.1 with link time optimization for MIPS32r2 big endian all commands are removed, it looks like this: ------------------------------------------------------------------------ root@OpenWrt:/# iw Usage: iw [options] command Options: --debug enable netlink debugging --version show version (5.0.1) Commands: Commands that use the netdev ('dev') can also be given the 'wdev' instead to identify the device. You can omit the 'phy' or 'dev' if the identification is unique, e.g. "iw wlan0 info" or "iw phy0 info". (Don't when scripting.) Do NOT screenscrape this tool, we don't consider its output stable. root@OpenWrt:/# ------------------------------------------------------------------------ When I compile it without LTO it works like expected. This was seen in OpenWrt in the iw-full version and when I remove all the OpenWrt specific patches to iw. The iw-tiny version from OpenWrt works like expected. iw 4.14 also works in both versions. This was report to OpenWrt here: https://github.com/openwrt/openwrt/pull/1865 http://lists.infradead.org/pipermail/openwrt-devel/2018-October/014220.html With GCC 8.2 this also happens with iw 4.14. The binary with lto is even bigger and they have the same number of functions starting with __cmd: $ ls -al iw-full-* -rwxr-xr-x 1 hauke hauke 180164 Feb 26 21:55 iw-full-lto -rwxr-xr-x 1 hauke hauke 179016 Feb 26 21:57 iw-full-wo-lto $ nm iw-full-lto |fgrep __cmd |wc 96 288 7259 $ nm iw-full-wo-lto |fgrep __cmd |wc 96 288 7259 Hauke