diff options
author | Peter Trommler <ptrommler@acm.org> | 2021-05-22 11:53:10 +0200 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-06-28 10:45:54 -0400 |
commit | 46c2d0b0ef4f2f2e43facdb84346f36a9d3169ec (patch) | |
tree | 38d5ef669774c6968edea561f37bc2f0c77ed863 | |
parent | 469126b3cef2936d9831283a77d54330d0ff1ba8 (diff) | |
download | haskell-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.hs | 7 | ||||
m--------- | libffi-tarballs | 0 | ||||
-rw-r--r-- | libffi/ghc.mk | 1 | ||||
-rw-r--r-- | rts/ghc.mk | 16 |
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 |