-C<readdir_r> function that can cause a SEGV when reading large directories.
-A patch is available
-(see http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631 )
-and will hopefully be integrated into FreeBSD 4.6.
-
-=head2 $^X doesn't always contain a full path in FreeBSD
-
-perl 5.8.0 sets C<$^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 F</proc/curproc/file>. There is a bug on FreeBSD, where the
-result of reading this symlink is can be wrong in certain circumstances
-(see http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 ).
+C<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 L<http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631> )
+which has been integrated into FreeBSD 4.6.
+
+=head2 C<$^X> doesn't always contain a full path in FreeBSD
+
+perl sets C<$^X> where possible to a full path by asking the operating
+system. On FreeBSD the full path of the perl interpreter is found by using
+C<sysctl> with C<KERN_PROC_PATHNAME> if that is supported, else by reading
+the symlink F</proc/curproc/file>. FreeBSD 7 and earlier has a bug where
+either approach sometimes returns an incorrect value
+(see L<http://www.freebsd.org/cgi/query-pr.cgi?pr=35703> ).