summaryrefslogtreecommitdiff
path: root/util.c
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2014-12-17 17:29:42 +0000
committerDavid Mitchell <davem@iabyn.com>2014-12-17 17:50:52 +0000
commitfe60b4f6e4367b11d22c0327627cc6955086aee0 (patch)
tree8cb9d97e5171d81c32dedac0c882b4d976c2eb14 /util.c
parent5ec05c961abef5db9f7c75a1593247c0737c8fcb (diff)
downloadperl-fe60b4f6e4367b11d22c0327627cc6955086aee0.tar.gz
improve xs_handshake() diag message
The important part of the error message is that the binaries are mismatched; the details of the handshake keys are an implementation detail. Or to put it another way, when someone mixes up their paths, getting something like Fcntl.c: Invalid handshake key got 0xcf80000 needed 0xd700000, binaries are mismatched Is a bit scary and confusing. This is hopefully (slightly) less scary: Fcntl.c: loadable library and perl binaries are mismatched (got handshake key 0xcf80000, needed 0xd700000)
Diffstat (limited to 'util.c')
-rw-r--r--util.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/util.c b/util.c
index f7e1ccd249..3737a010e4 100644
--- a/util.c
+++ b/util.c
@@ -5425,8 +5425,8 @@ Perl_xs_handshake(const U32 key, void * v_my_perl, const char * file, ...)
if(UNLIKELY(got != need)) {
bad_handshake:/* recycle branch and string from above */
if(got != (void *)HSf_NOCHK)
- noperl_die("%s: Invalid handshake key got %p"
- " needed %p, binaries are mismatched",
+ noperl_die("%s: loadable library and perl binaries are mismatched"
+ " (got handshake key %p, needed %p)\n",
file, got, need);
}