summaryrefslogtreecommitdiff
path: root/rules/build-package-way.mk
diff options
context:
space:
mode:
authorIan Lynagh <igloo@earth.li>2013-04-06 15:46:28 +0100
committerIan Lynagh <igloo@earth.li>2013-04-06 15:46:28 +0100
commitff59fea8c49ad01fe42921878ea325c6f5766b68 (patch)
tree81573ee3ad73295020e78531903d5d29233f7814 /rules/build-package-way.mk
parent9b3d4cdd26a9fbf0a1183185bedbe11925b1ddb4 (diff)
downloadhaskell-ff59fea8c49ad01fe42921878ea325c6f5766b68.tar.gz
When making a DLL, print the number of symbols that are in it
Diffstat (limited to 'rules/build-package-way.mk')
-rw-r--r--rules/build-package-way.mk1
1 files changed, 1 insertions, 0 deletions
diff --git a/rules/build-package-way.mk b/rules/build-package-way.mk
index bae73e32d9..894f44e418 100644
--- a/rules/build-package-way.mk
+++ b/rules/build-package-way.mk
@@ -158,6 +158,7 @@ define build-dll
-no-auto-link-packages \
-o $6
# Now check that the DLL doesn't have too many symbols. See trac #5987.
+ echo -n "Number of symbols in $6: "; $(OBJDUMP) -p $6 | sed -n "1,/^.Ordinal\/Name Pointer/ D; p; /^$$/ q" | tail -n +2 | wc -l
case `$(OBJDUMP) -p $6 | sed -n "1,/^.Ordinal\/Name Pointer/ D; p; /^$$/ q" | grep "\[ *0\]" | wc -l` in 1) echo DLL $6 OK;; 0) echo No symbols in DLL $6; exit 1;; [0-9]*) echo Too many symbols in DLL $6; $(OBJDUMP) -p $6 | sed -n "1,/^.Ordinal\/Name Pointer/ D; p; /^$$/ q" | tail; exit 1;; *) echo bad DLL $6; exit 1;; esac
endef