summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Trommler <ptrommler@acm.org>2021-05-22 11:53:10 +0200
committerMarge Bot <ben+marge-bot@smart-cactus.org>2021-06-28 10:45:54 -0400
commit46c2d0b0ef4f2f2e43facdb84346f36a9d3169ec (patch)
tree38d5ef669774c6968edea561f37bc2f0c77ed863
parent469126b3cef2936d9831283a77d54330d0ff1ba8 (diff)
downloadhaskell-46c2d0b0ef4f2f2e43facdb84346f36a9d3169ec.tar.gz
Fix libffi on PowerPC
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 48f504a634..7b0a28fd4c 100644
--- a/hadrian/src/Settings/Packages.hs
+++ b/hadrian/src/Settings/Packages.hs
@@ -351,12 +351,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 be9b03e169..15854de5aa 100644
--- a/rts/ghc.mk
+++ b/rts/ghc.mk
@@ -494,19 +494,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