summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Trommler <ptrommler@acm.org>2021-05-22 11:53:10 +0200
committerPeter Trommler <ptrommler@acm.org>2021-06-03 13:53:46 +0200
commit815a6de1269116f1bcd20a2d26d1b05a61f4b01e (patch)
tree20e7e15ab36c621ff64417d1fe0692f0d46ff5cc
parent79d12d34ad7177d33b191305f2c0157349f97355 (diff)
downloadhaskell-wip/T19885.tar.gz
Fix libffi on PowerPCwip/T19885
Update submodule libffi-tarballs to upstream commit 4f9e20a. Remove C compiler flags that suppress warnings in the RTS. Those warnings have been fixed by libffi upstream. Fixes #19885
-rw-r--r--hadrian/src/Settings/Packages.hs7
m---------libffi-tarballs0
-rw-r--r--libffi/ghc.mk1
-rw-r--r--rts/ghc.mk16
4 files changed, 4 insertions, 20 deletions
diff --git a/hadrian/src/Settings/Packages.hs b/hadrian/src/Settings/Packages.hs
index a08cc3ee98..45671e2373 100644
--- a/hadrian/src/Settings/Packages.hs
+++ b/hadrian/src/Settings/Packages.hs
@@ -353,12 +353,7 @@ rtsPackageArgs = package rts ? do
, input "**/RetainerProfile.c" ? flag CcLlvmBackend ?
arg "-Wno-incompatible-pointer-types"
-
- -- libffi's ffi.h triggers various warnings
- , inputs [ "**/Interpreter.c", "**/Storage.c", "**/Adjustor.c" ] ?
- arg "-Wno-strict-prototypes"
- , inputs ["**/Interpreter.c", "**/Adjustor.c", "**/sm/Storage.c"] ?
- anyTargetArch ["powerpc"] ? arg "-Wno-undef" ]
+ ]
mconcat
[ builder (Cabal Flags) ? mconcat
diff --git a/libffi-tarballs b/libffi-tarballs
-Subproject c730a5b55e79e4f3e8232ba498f7f9175af96cd
+Subproject ce4a8958d327eef90ac64ac3bfdecc130fdb87d
diff --git a/libffi/ghc.mk b/libffi/ghc.mk
index a127612a29..ea59721bae 100644
--- a/libffi/ghc.mk
+++ b/libffi/ghc.mk
@@ -130,4 +130,3 @@ $(eval $(call clean-target,libffi,, \
libffi/build $(wildcard libffi/stamp.ffi.*) libffi/dist-install))
endif
-
diff --git a/rts/ghc.mk b/rts/ghc.mk
index 73a65824ba..7cfce1c77e 100644
--- a/rts/ghc.mk
+++ b/rts/ghc.mk
@@ -491,19 +491,9 @@ endif
# add CFLAGS for libffi
ifeq "$(UseSystemLibFFI)" "YES"
LIBFFI_CFLAGS = $(addprefix -I,$(FFIIncludeDir))
-else
-LIBFFI_CFLAGS =
-endif
-# ffi.h triggers prototype warnings, so disable them here:
-rts/Interpreter_CC_OPTS += -Wno-strict-prototypes $(LIBFFI_CFLAGS)
-rts/Adjustor_CC_OPTS += -Wno-strict-prototypes $(LIBFFI_CFLAGS)
-rts/sm/Storage_CC_OPTS += -Wno-strict-prototypes $(LIBFFI_CFLAGS)
-# ffi.h triggers undefined macro warnings on PowerPC, disable those:
-# this matches substrings of powerpc64le, including "powerpc" and "powerpc64"
-ifneq "$(findstring $(TargetArch_CPP), powerpc64le)" ""
-rts/Interpreter_CC_OPTS += -Wno-undef
-rts/Adjustor_CC_OPTS += -Wno-undef
-rts/sm/Storage_CC_OPTS += -Wno-undef
+rts/Interpreter_CC_OPTS += $(LIBFFI_CFLAGS)
+rts/Adjustor_CC_OPTS += $(LIBFFI_CFLAGS)
+rts/sm/Storage_CC_OPTS += $(LIBFFI_CFLAGS)
endif
# inlining warnings happen in Compact