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