From d2903aaf1314b50a8a10ce937d2b33c5c42e463e Mon Sep 17 00:00:00 2001 From: Romain Naour Date: Wed, 1 Mar 2017 00:24:52 +0100 Subject: [PATCH] package/sdl2: disable altivec built-in function for PowerPC As reported in this bug report [1], altivec support in SDL break arbitrary C++ code. Issue reported by test-pkg script while testing supertux package: error: could not convert 'true' from 'bool' to '__vector(4) __bool int' [1] https://bugs.debian.org/cgi-bin/bugreport.cgi/?bug=770670 Signed-off-by: Romain Naour Cc: Sam Bobroff Signed-off-by: Thomas Petazzoni --- package/sdl2/sdl2.mk | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/package/sdl2/sdl2.mk b/package/sdl2/sdl2.mk index d2ee50dc1d..628d9060b4 100644 --- a/package/sdl2/sdl2.mk +++ b/package/sdl2/sdl2.mk @@ -23,6 +23,16 @@ SDL2_CONF_OPTS += \ # We must enable static build to get compilation successful. SDL2_CONF_OPTS += --enable-static +# From https://bugs.debian.org/cgi-bin/bugreport.cgi/?bug=770670 +# "The problem lies within SDL_cpuinfo.h. It includes altivec.h, which by +# definition provides an unconditional vector, pixel and bool define in +# standard-c++ mode. In GNU-c++ mode this names are only defined +# context-sensitive by cpp. SDL_cpuinfo.h is included by SDL.h. +# Including altivec.h makes arbitrary code break." +ifeq ($(BR2_POWERPC_CPU_HAS_ALTIVEC),y) +SDL2_CONF_OPTS += --disable-altivec +endif + ifeq ($(BR2_PACKAGE_HAS_UDEV),y) SDL2_DEPENDENCIES += udev SDL2_CONF_OPTS += --enable-libudev -- 2.30.2