From 08e8792c50685c1a8c2be7609943990f6083f714 Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Sat, 29 Jan 2022 19:34:26 +0100 Subject: [PATCH] package/apitrace: fix build failure on m68k architecture apitrace uses very big switch statements, which causes the build to fail on m68k, because the offsets there are only 16-bit. We fix that by using -mlong-jump-table-offsets on m68k, to use 32-bit offsets for switch statements. That flag is available on gcc version >= 7 but apitrace package already depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7, so we can use it with no problem. Fixes: http://autobuild.buildroot.net/results/7306bf05962fec30fbe98b1eb8ee09b3162b8080/ Signed-off-by: Giulio Benetti Signed-off-by: Thomas Petazzoni (cherry picked from commit fdee6c9f3987189eb743f54be2e545ce84d4d3bb) Signed-off-by: Peter Korsgaard --- package/apitrace/apitrace.mk | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/package/apitrace/apitrace.mk b/package/apitrace/apitrace.mk index 3656a5722b..c47562233b 100644 --- a/package/apitrace/apitrace.mk +++ b/package/apitrace/apitrace.mk @@ -38,6 +38,11 @@ ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y) APITRACE_CXXFLAGS += -O0 endif +# m68k needs 32-bit offsets in switch tables to build +ifeq ($(BR2_m68k),y) +APITRACE_CXXFLAGS += -mlong-jump-table-offsets +endif + APITRACE_CONF_OPTS += \ -DCMAKE_C_FLAGS="$(APITRACE_CFLAGS)" \ -DCMAKE_CXX_FLAGS="$(APITRACE_CXXFLAGS)"