[Pcre-svn] [1758] code/trunk: Fix ARMv5 JIT improper handlin…

Top Page
Delete this message
Author: Subversion repository
Date:  
To: pcre-svn
Subject: [Pcre-svn] [1758] code/trunk: Fix ARMv5 JIT improper handling of labels right after a constant pool.
Revision: 1758
          http://vcs.pcre.org/viewvc?view=rev&revision=1758
Author:   zherczeg
Date:     2019-11-29 11:03:43 +0000 (Fri, 29 Nov 2019)
Log Message:
-----------
Fix ARMv5 JIT improper handling of labels right after a constant pool.


Modified Paths:
--------------
    code/trunk/ChangeLog
    code/trunk/sljit/sljitNativeARM_32.c


Modified: code/trunk/ChangeLog
===================================================================
--- code/trunk/ChangeLog    2019-11-19 12:54:59 UTC (rev 1757)
+++ code/trunk/ChangeLog    2019-11-29 11:03:43 UTC (rev 1758)
@@ -9,7 +9,7 @@
 ------------------------------


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,11 +17,13 @@

   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
-----------------------------


Modified: code/trunk/sljit/sljitNativeARM_32.c
===================================================================
--- code/trunk/sljit/sljitNativeARM_32.c    2019-11-19 12:54:59 UTC (rev 1757)
+++ code/trunk/sljit/sljitNativeARM_32.c    2019-11-29 11:03:43 UTC (rev 1758)
@@ -666,6 +666,8 @@
                             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);
                         }
                     }
                 }