PaulHowarth/Blog/2021-04-22

Thursday 22nd April 2021

Local Packages

  • New package perl-PPIx-Utils (0.003)

  • Updated perl-Perl-MinimumVersion to 1.40:

    • Features enabled via the 'experimental' pragma are now recognized (GH#5)

    • Depend on PPIx::Utils instead of Perl::Critic::Utils (GH#6)

    • Recognize several new features and their minimum required Perl versions (GH#10, GH#20): 'say', 'smartmatch', 'postderef', 'postderef_qq', 'signatures', 'refaliasing', 'bitwise', 'declared_refs', 'isa', 'indirect'

  • Updated schily to 2021.04.21; I added this work-around for SIGSTKSZ not being a compile-time constant from glibc 2.34 onwards:

  •    1 In glibc 2.34, SIGSTKSZ is not a compile-time constant
       2 
       3 A 64 KB signal stack should be ample on all platforms.
       4 
       5 --- sh/fault.c
       6 +++ sh/fault.c
       7 @@ -61,9 +61,6 @@ static        UConst char sccsid[] =
       8  #ifndef        HAVE_STACK_T
       9  #define        stack_t char
      10  #endif
      11 -#ifndef        SIGSTKSZ
      12 -#define        SIGSTKSZ        8192
      13 -#endif
      14  #ifndef        SA_SIGINFO
      15  #define        SA_SIGINFO      0
      16  #endif
      17 @@ -107,7 +104,8 @@ static      void (*psigerr_func) __PR((int))
      18  #endif
      19  
      20  #if defined(HAVE_STACK_T) && defined(HAVE_SIGALTSTACK)
      21 -static char sigsegv_stack[SIGSTKSZ];
      22 +#define ALTSIGSTKSZ (64 * 1024)
      23 +static char sigsegv_stack[ALTSIGSTKSZ];
      24  #endif
      25  
      26  static int     ignoring        __PR((int i));
      27 @@ -438,7 +436,7 @@ stdsigs()
      28  #endif
      29  
      30  #if defined(HAVE_STACK_T) && defined(HAVE_SIGALTSTACK)
      31 -       ss.ss_size = SIGSTKSZ;
      32 +       ss.ss_size = ALTSIGSTKSZ;
      33         ss.ss_sp = sigsegv_stack;
      34         ss.ss_flags = 0;
      35         if (sigaltstack(&ss, NULL) == -1) {
    


Recent