summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2019-11-29 11:03:43 +0000
committerzherczeg <zherczeg@2f5784b3-3f2a-0410-8824-cb99058d5e15>2019-11-29 11:03:43 +0000
commit4d3bd78ad234afb5a96e3b48e9e63ff5420b619b (patch)
treed785a011b4e143daf39eeec044b679fe17121435
parent4cf547f27b17ec0f4025e9c0b41b7f3d82137ef7 (diff)
downloadpcre-4d3bd78ad234afb5a96e3b48e9e63ff5420b619b.tar.gz
Fix ARMv5 JIT improper handling of labels right after a constant pool.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@1758 2f5784b3-3f2a-0410-8824-cb99058d5e15
-rw-r--r--ChangeLog10
-rw-r--r--sljit/sljitNativeARM_32.c2
2 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 64682c2..ce6aa3f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,7 +9,7 @@ Version 8.44-RC1 01 March-2019
------------------------------
1. Setting --enable-jit=auto for an out-of-tree build failed because the
-source directory wasn't in the search path for AC_TRY_COMPILE always. Patch
+source directory wasn't in the search path for AC_TRY_COMPILE always. Patch
from Ross Burton.
2. Applied a patch from Michael Shigorin to fix 8.43 build on e2k arch
@@ -17,9 +17,11 @@ with lcc compiler (EDG frontend based); the problem it fixes is:
lcc: "pcrecpp.cc", line 74: error: declaration aliased to undefined entity
"_ZN7pcrecpp2RE6no_argE" [-Werror]
-
-3. Change 2 for 8.43 omitted (*LF) from the list of start-of-pattern items. Now
-added.
+
+3. Change 2 for 8.43 omitted (*LF) from the list of start-of-pattern items. Now
+added.
+
+4. Fix ARMv5 JIT improper handling of labels right after a constant pool.
Version 8.43 23-February-2019
diff --git a/sljit/sljitNativeARM_32.c b/sljit/sljitNativeARM_32.c
index 71f7bcd..8da0d09 100644
--- a/sljit/sljitNativeARM_32.c
+++ b/sljit/sljitNativeARM_32.c
@@ -666,6 +666,8 @@ SLJIT_API_FUNC_ATTRIBUTE void* sljit_generate_code(struct sljit_compiler *compil
label->addr = (sljit_uw)SLJIT_ADD_EXEC_OFFSET(code_ptr, executable_offset);
label->size = code_ptr - code;
label = label->next;
+
+ next_addr = compute_next_addr(label, jump, const_, put_label);
}
}
}