Perl Programming Documentation
Download Perl
Explore

Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

Tools

- Preferences

# perlfreebsd

Perl 5 version 26.0 documentation
Go to top
Show page index • Show recent pages
Recently read

# perlfreebsd

- NAME
- DESCRIPTION
  - FreeBSD core dumps from readdir_r with ithreads
  - $^X doesn't always contain a full path in FreeBSD
- AUTHOR

# NAME

perlfreebsd - Perl version 5 on FreeBSD systems

# DESCRIPTION

This document describes various features of FreeBSD that will affect how Perl version 5 (hereafter just Perl) is compiled and/or runs.

## FreeBSD core dumps from readdir_r with ithreads

When perl is configured to use ithreads, it will use re-entrant library calls in preference to non-re-entrant versions. There is a bug in FreeBSD's `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 http://www.freebsd.org/cgi/query-pr.cgi?pr=misc/30631 ) which has been integrated into FreeBSD 4.6.

## `$^X` doesn't always contain a full path in FreeBSD

perl sets `$^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 `sysctl` with `KERN_PROC_PATHNAME` if that is supported, else by reading the symlink /proc/curproc/file. FreeBSD 7 and earlier has a bug where either approach sometimes returns an incorrect value (see http://www.freebsd.org/cgi/query-pr.cgi?pr=35703 ). In these cases perl will fall back to the old behaviour of using C's `argv[0]` value for `$^X` .

# AUTHOR

Nicholas Clark <nick@ccl4.org>, collating wisdom supplied by Slaven Rezic and Tim Bunce.

Please report any errors, updates, or suggestions to mailto:perlbug@perl.org.

Page index

- NAME
- DESCRIPTION
  - FreeBSD core dumps from readdir_r with ithreads
  - $^X doesn't always contain a full path in FreeBSD
- AUTHOR