toolchain: add variadic MI thunk support flag
authorMax Filippov <jcmvbkbc@gmail.com>
Fri, 25 Jan 2019 23:34:52 +0000 (15:34 -0800)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Mon, 4 Feb 2019 20:53:20 +0000 (21:53 +0100)
commit306f507f9d8655356598de7546b74a3c32cc1935
tree3428516a344094633d6d28023192123c8a15c225
parent9fb17ea7ff6373f250d5ff5e6c9afe8a456901af
toolchain: add variadic MI thunk support flag

GCC uses thunk functions to adjust the 'this' pointer when calling C++
member functions in classes derived with multiple inheritance.
Generation of thunk functions requires support from the compiler back
end. In the absence of that support target-independent code in the C++
front end is used to generate thunk functions, but it does not support
vararg functions.

Support for this feature is currently missing in or1k and xtensa
toolchains.

Add hidden option BR2_TOOLCHAIN_SUPPORTS_VARIADIC_MI_THUNK that
indicates presence of this feature in the toolchain. Add dependency to
packages that require this feature to be built.

Fixes:
http://autobuild.buildroot.net/results/c9e660c764edbd7cf0ae54ab0f0f412464721446/
http://autobuild.buildroot.net/results/9a3bf4b411c418ea78d59e35d23ba865dd453890/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/libtorrent-rasterbar/Config.in
toolchain/Config.in