PERLFREEBSD
Section: Perl Programmers Reference Guide (1)
Updated: 2021-03-31
Page Index
NAME
perlfreebsd - Perl version 5 on FreeBSD systems
DESCRIPTION
This document describes various features of FreeBSD that will affect how Perl
version 5 (hereafter just Perl) is compiled and/or runs.
FreeBSD core dumps from readdir_r with ithreads
When perl is configured to use ithreads, it will use re-entrant library calls
in preference to non-re-entrant versions. There is a bug in FreeBSD's
"readdir_r" function in versions 4.5 and earlier that can cause a
SEGV when
reading large directories. A patch for FreeBSD libc is available
(see <
http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631> )
which has been integrated into FreeBSD 4.6.
$^X doesn't always contain a full path in FreeBSD
perl sets
$^X where possible to a full path by asking the operating
system. On FreeBSD the full path of the perl interpreter is found by using
"sysctl" with
"KERN_PROC_PATHNAME" if that is supported, else by reading
the symlink
/proc/curproc/file. FreeBSD 7 and earlier has a bug where
either approach sometimes returns an incorrect value
(see <
http://www.freebsd.org/cgi/query-pr.cgi?pr=35703> ).
In these cases perl will fall back to the old behaviour of using C's
"argv[0]" value for
$^X.
AUTHOR
Nicholas Clark <
nick@ccl4.org>, collating wisdom supplied by Slaven Rezic
and Tim Bunce.
Please report any errors, updates, or suggestions to
<https://github.com/Perl/perl5/issues>.