perlfreebsd

NAME

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 5.8.0 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 reading
the symlink /proc/curproc/file. FreeBSD has a bug where reading this
symlink 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
.