This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Relax workaround for d_uselocale from RT #128867.
authorJames E Keenan <jkeenan@cpan.org>
Wed, 29 Nov 2017 03:07:18 +0000 (22:07 -0500)
committerJames E Keenan <jkeenan@cpan.org>
Mon, 4 Dec 2017 15:43:41 +0000 (10:43 -0500)
More precisely, tailor the application of the workaround to the FreeBSD
userland version ranges specified in
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211743#c10.  (Using
userland version ('uname -U') rather than kernel version ('uname -K') at
suggestion of Mathieu Arnold.

We probably don't need an 'else' branch; let Configure handle it.

hints/freebsd.sh

index b3422c9..5d69dee 100644 (file)
@@ -318,8 +318,20 @@ esac
 # of FreeBSD.
 d_printf_format_null='undef'
 
-# As of 10.3-RELEASE FreeBSD.  See [perl #128867]
-d_uselocale='undef'
+# See [perl #128867]
+# Interpreting: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=211743#c10
+# khw workaround no longer needed in the following FREEBSD_KERNEL_VERSIONs
+#1200004 and up
+#1100502 >= version < 1200000
+#1003507 >= version < 1100000
+
+FREEBSD_KERNEL_VERSION=`uname -U`
+if  [ $FREEBSD_KERNEL_VERSION -lt 1003507 ] || \
+    [ $FREEBSD_KERNEL_VERSION -ge 1100000 ] && [ $FREEBSD_KERNEL_VERSION -lt 1100502 ] || \
+    [ $FREEBSD_KERNEL_VERSION -ge 1200000 ] && [ $FREEBSD_KERNEL_VERSION -lt 1200004 ]
+then
+    d_uselocale='undef'
+fi
 
 # https://rt.perl.org/Ticket/Display.html?id=131337
 # Reported in 11.0-CURRENT with g++-4.8.5: