Commit | Line | Data |
---|---|---|
ffe25ee3 B |
1 | # vim: syntax=pod |
2 | ||
d41150a6 NC |
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 | ||
de2902a6 | 9 | perlfreebsd - Perl version 5 on FreeBSD systems |
d41150a6 NC |
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 | ||
3df9be30 | 16 | =head2 FreeBSD core dumps from readdir_r with ithreads |
d41150a6 NC |
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 | |
e8d8eebf NC |
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 | |
4b05bc8e | 22 | (see L<http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631> ) |
e8d8eebf | 23 | which has been integrated into FreeBSD 4.6. |
d41150a6 | 24 | |
dc09fdd9 | 25 | =head2 C<$^X> doesn't always contain a full path in FreeBSD |
d41150a6 | 26 | |
7969fa3a NC |
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 | |
dc09fdd9 | 32 | (see L<http://www.freebsd.org/cgi/query-pr.cgi?pr=35703> ). |
d41150a6 | 33 | In these cases perl will fall back to the old behaviour of using C's |
dc09fdd9 | 34 | C<argv[0]> value for C<$^X>. |
d41150a6 NC |
35 | |
36 | =head1 AUTHOR | |
37 | ||
38 | Nicholas Clark <nick@ccl4.org>, collating wisdom supplied by Slaven Rezic | |
39 | and Tim Bunce. | |
40 | ||
8166b4e0 DB |
41 | Please report any errors, updates, or suggestions to |
42 | L<https://github.com/Perl/perl5/issues>. | |
d41150a6 | 43 |