1If you read this file _as_is_, just ignore the funny characters you 2see. It is written in the POD format (see pod/perlpod.pod) which is 3specifically designed to be readable as is. 4 5=head1 NAME 6 7perlfreebsd - Perl version 5 on FreeBSD systems 8 9=head1 DESCRIPTION 10 11This document describes various features of FreeBSD that will affect how Perl 12version 5 (hereafter just Perl) is compiled and/or runs. 13 14=head2 FreeBSD core dumps from readdir_r with ithreads 15 16When perl is configured to use ithreads, it will use re-entrant library calls 17in preference to non-re-entrant versions. There is a bug in FreeBSD's 18C<readdir_r> function in versions 4.5 and earlier that can cause a SEGV when 19reading large directories. A patch for FreeBSD libc is available 20(see L<http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631> ) 21which has been integrated into FreeBSD 4.6. 22 23=head2 C<$^X> doesn't always contain a full path in FreeBSD 24 25perl sets C<$^X> where possible to a full path by asking the operating 26system. On FreeBSD the full path of the perl interpreter is found by using 27C<sysctl> with C<KERN_PROC_PATHNAME> if that is supported, else by reading 28the symlink F</proc/curproc/file>. FreeBSD 7 and earlier has a bug where 29either approach sometimes returns an incorrect value 30(see L<http://www.freebsd.org/cgi/query-pr.cgi?pr=35703> ). 31In these cases perl will fall back to the old behaviour of using C's 32C<argv[0]> value for C<$^X>. 33 34=head1 AUTHOR 35 36Nicholas Clark <nick@ccl4.org>, collating wisdom supplied by Slaven Rezic 37and Tim Bunce. 38 39Please report any errors, updates, or suggestions to 40L<https://github.com/Perl/perl5/issues>. 41 42