Re: [pcre-dev] Release candidate for 10.10

Top Page
Delete this message
Author: Petr Pisar
Date:  
To: pcre-dev
Subject: Re: [pcre-dev] Release candidate for 10.10
On Fri, Feb 20, 2015 at 12:26:21PM +0000, ph10@??? wrote:
> I have put a release candidate for PCRE2 release 10.10 on the FTP site:
>

* No compiler warnings, all tests pass on GNU/Linux with these configurations:

s390, disabled JIT
x86_64, enabled JIT
s390x, disabled JIT


* All tests pass, -fno-strict-aliasing is needed to silent compiler warnings
(dereferencing type-punned pointer will break strict-aliasing rules; no change
since PCRE-8.36):

PowerPC 64 bit, enabled JIT


* All tests pass, compiler emits warnigs on 32-bit plaforms:

PowerPC 32 bit, enabled JIT
i686, enabled JIT

src/pcre2test.c: In function 'to16':
src/pcre2test.c:2555:7: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
       pbuffer16_size);
       ^
src/pcre2test.c: In function 'to32':
src/pcre2test.c:2632:7: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
       pbuffer32_size);
       ^
src/pcre2test.c: In function 'process_command':
src/pcre2test.c:4015:7: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
       serial_size);
       ^
src/pcre2test.c: In function 'copy_and_get':
src/pcre2test.c:4681:9: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
         length, length2);
         ^
src/pcre2test.c:4681:9: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' [-Wformat=]
src/pcre2test.c:4740:9: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
         length, length2);
         ^
src/pcre2test.c:4740:9: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' [-Wformat=]
src/pcre2test.c: In function 'process_data':
src/pcre2test.c:5455:9: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
         "(max %ld)\n", n, nsize);
         ^
src/pcre2test.c:5455:9: warning: format '%ld' expects argument of type 'long int', but argument 4 has type 'size_t' [-Wformat=]
src/pcre2test.c:5774:11: warning: format '%lx' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' [-Wformat=]
           start, end);
           ^
src/pcre2test.c:5774:11: warning: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'size_t' [-Wformat=]
src/pcre2test.c:6005:9: warning: format '%ld' expects argument of type 'long int', but argument 3 has type 'size_t' [-Wformat=]
         fprintf(outfile, " at offset %ld", startchar);
         ^


That would be great to fix.


* Compilation fails:

ARMv6 with FPU, enabled JIT

  CC       src/libpcre2_8_la-pcre2_jit_compile.lo
src/sljit/sljitNativeARM_32.c: In function 'resolve_const_pool_index':
src/sljit/sljitNativeARM_32.c:340:28: error: 'compiler' undeclared (first use in this function)
     SLJIT_FREE(curr_patch, compiler->allocator_data);
                            ^
src/pcre2_jit_compile.c:60:61: note: in definition of macro 'SLJIT_FREE'
 #define SLJIT_FREE(ptr, allocator_data) pcre2_jit_free(ptr, allocator_data)
                                                             ^
src/sljit/sljitNativeARM_32.c:340:28: note: each undeclared identifier is reported only once for each function it appears in
     SLJIT_FREE(curr_patch, compiler->allocator_data);
                            ^
src/pcre2_jit_compile.c:60:61: note: in definition of macro 'SLJIT_FREE'
 #define SLJIT_FREE(ptr, allocator_data) pcre2_jit_free(ptr, allocator_data)
                                                             ^
Makefile:2041: recipe for target 'src/libpcre2_8_la-pcre2_jit_compile.lo' failed


I think PCRE-8.36 supported JIT on that machine (Raspberry Pi).


Later, I will try MIPS64 n32 and AArch64.

-- Petr