[pcre-dev] [Bug 1223] Test failure on 10.7/i386 with JIT

Top Page
Delete this message
Author: Zoltan Herczeg
Date:  
To: pcre-dev
Old-Topics: [pcre-dev] [Bug 1223] New: Test failure on 10.7/i386 with JIT
Subject: [pcre-dev] [Bug 1223] Test failure on 10.7/i386 with JIT
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=1223




--- Comment #35 from Zoltan Herczeg <hzmester@???> 2013-02-19 12:49:18 ---
> Do you want me to try anything in particular? The last time I compiled from
> trunk, I couldn’t reproduce the failures, patched or not.


Probably because of pure luck, the stack is aligned in 8.32. I attached a
patch, which hopefully makes it misalgined, and calls a system function in a
JIT callback. When a dynamically linked system function runs the first time,
the resolver checks the stack alignment.

The line: "local_size += sizeof(sljit_uw);" might be need to tweak is there is
no crash. Try "2 * sizeof(sljit_uw)" or "3 * sizeof(sljit_uw)". But since the
stack is likely aligned, this addition should make it unaligned.

After the crash please apply the fix (keep the crash patch as well). The crash
should disappear.

After that, please revert the following change:

-#if defined(__GNUC__)
+#if defined(__GNUC__) && !defined(__APPLE__)

The crash should reappear again.

If everything happens as I described, then my theory is correct about how mac
works.


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email