summaryrefslogtreecommitdiff
path: root/testsuite/mk
diff options
context:
space:
mode:
authorBartosz Nitka <niteria@gmail.com>2018-05-03 12:37:00 -0400
committerBen Gamari <ben@smart-cactus.org>2018-05-03 12:37:18 -0400
commit6132d7c5e6404936ef281a6f3be333fea780906e (patch)
tree653db073c3273e343ae60a062c43c210fff05e87 /testsuite/mk
parent75361b119c609f0ab98f3d12a15690aae4ce42a1 (diff)
downloadhaskell-6132d7c5e6404936ef281a6f3be333fea780906e.tar.gz
Correctly add unwinding info in manifestSp and makeFixupBlocks
In `manifestSp` the unwind info was before the relevant instruction, not after. I added some notes to establish semantics. Also removes redundant annotation in stg_catch_frame. For `makeFixupBlocks` it looks like we were off by `wORD_SIZE dflags`. I'm not sure why, but it lines up with `manifestSp`. In fact it lines up so well so that I can consolidate the Sp unwind logic in `maybeAddUnwind`. I detected the problems with `makeFixupBlocks` by running T14779b after patching D4559. Test Plan: added a new test Reviewers: bgamari, scpmw, simonmar, erikd Reviewed By: bgamari Subscribers: thomie, carter GHC Trac Issues: #14999 Differential Revision: https://phabricator.haskell.org/D4606
Diffstat (limited to 'testsuite/mk')
-rw-r--r--testsuite/mk/test.mk14
1 files changed, 14 insertions, 0 deletions
diff --git a/testsuite/mk/test.mk b/testsuite/mk/test.mk
index 1eb8d49c4b..87d22b330b 100644
--- a/testsuite/mk/test.mk
+++ b/testsuite/mk/test.mk
@@ -90,6 +90,8 @@ GHC_PRIM_LIBDIR := $(subst library-dirs: ,,$(shell "$(GHC_PKG)" field ghc-prim l
HAVE_VANILLA := $(shell if [ -f $(subst \,/,$(GHC_PRIM_LIBDIR))/GHC/PrimopWrappers.hi ]; then echo YES; else echo NO; fi)
HAVE_DYNAMIC := $(shell if [ -f $(subst \,/,$(GHC_PRIM_LIBDIR))/GHC/PrimopWrappers.dyn_hi ]; then echo YES; else echo NO; fi)
HAVE_PROFILING := $(shell if [ -f $(subst \,/,$(GHC_PRIM_LIBDIR))/GHC/PrimopWrappers.p_hi ]; then echo YES; else echo NO; fi)
+HAVE_GDB := $(shell if gdb --version > /dev/null 2> /dev/null; then echo YES; else echo NO; fi)
+HAVE_READELF := $(shell if readelf --version > /dev/null 2> /dev/null; then echo YES; else echo NO; fi)
ifeq "$(HAVE_VANILLA)" "YES"
RUNTEST_OPTS += -e config.have_vanilla=True
@@ -135,6 +137,18 @@ else
RUNTEST_OPTS += -e config.unregisterised=False
endif
+ifeq "$(HAVE_GDB)" "YES"
+RUNTEST_OPTS += -e config.have_gdb=True
+else
+RUNTEST_OPTS += -e config.have_gdb=False
+endif
+
+ifeq "$(HAVE_READELF)" "YES"
+RUNTEST_OPTS += -e config.have_readelf=True
+else
+RUNTEST_OPTS += -e config.have_readelf=False
+endif
+
ifeq "$(GhcDynamicByDefault)" "YES"
RUNTEST_OPTS += -e config.ghc_dynamic_by_default=True
CABAL_MINIMAL_BUILD = --enable-shared --disable-library-vanilla