diff --git a/Makefile.compel b/Makefile.compel index 9b40079b3..5c854e3dc 100644 --- a/Makefile.compel +++ b/Makefile.compel @@ -71,10 +71,12 @@ compel-install-targets += compel/$(LIBCOMPEL_SO) compel-install-targets += compel/compel compel-install-targets += $(compel-plugins) -# We assume that compel code does not change floating point registers. -# On s390 gcc uses fprs to cache gprs. Therefore disable floating point -# with -msoft-float. +# +# Also ensure with -fno-optimize-sibling-calls that we don't create GOT +# (Global Offset Table) relocations with gcc compilers that don't have +# commit "S/390: Fix 64 bit sibcall". +# ifeq ($(ARCH),s390) -CFLAGS += -msoft-float -HOSTCFLAGS += -msoft-float +CFLAGS += -msoft-float -fno-optimize-sibling-calls +HOSTCFLAGS += -msoft-float -fno-optimize-sibling-calls endif