This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Automate current perldelta entry in vms/descrip_mms.template.
[perl5.git] / README.freebsd
CommitLineData
d41150a6
NC
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
7README.freebsd - 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
3df9be30 14=head2 FreeBSD core dumps from readdir_r with ithreads
d41150a6
NC
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
e8d8eebf
NC
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
d41150a6 20(see http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631 )
e8d8eebf 21which has been integrated into FreeBSD 4.6.
d41150a6 22
3df9be30 23=head2 $^X doesn't always contain a full path in FreeBSD
d41150a6
NC
24
25perl 5.8.0 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 reading
a74b42b2
TH
27the symlink F</proc/curproc/file>. FreeBSD has a bug where reading this
28symlink sometimes returns an incorrect value
d41150a6
NC
29(see http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 ).
30In these cases perl will fall back to the old behaviour of using C's
31argv[0] value for C<$^X>.
32
33=head1 AUTHOR
34
35Nicholas Clark <nick@ccl4.org>, collating wisdom supplied by Slaven Rezic
36and Tim Bunce.
37
38Please report any errors, updates, or suggestions to F<perlbug@perl.org>.
39