ctfdump(1) on Solnix vs Linux and the BSDs

On Solnix, ctfdump is the illumos ctfdump at /usr/bin/ctfdump. It reads ELF objects and raw CTF files and adds -c (C-style output) and -p parent. Its -u option is optional and defaults to showing everything, whereas the FreeBSD and NetBSD synopses show -u as part of a fixed invocation.

What Solnix runs

A default Solnix system runs the illumos ctfdump at /usr/bin/ctfdump. No other variants are shipped. The package is pkgs.solnix.illumos-world-man.

Differences

Compared withTopicWhat differs
FreeBSD, NetBSD-u synopsis and meaningSolnix synopsis is ctfdump [-cdfhlsSt] [-p parent] [-u outfile] file, so -u is optional. The FreeBSD and NetBSD synopses show -u file file. On Solnix, giving -u suppresses the default display unless other options request it.
Source: Solnix ctfdump(1) SYNOPSIS, DESCRIPTION (last paragraph); FreeBSD ctfdump(1) SYNOPSIS, -u; NetBSD ctfdump(1) SYNOPSIS, -u
FreeBSD, NetBSD-c C-style outputSolnix ctfdump -c prints C-style output for comparison; the manual says it is not directly compilable. The FreeBSD and NetBSD pages document no -c.
Source: Solnix ctfdump(1) -c, DESCRIPTION; FreeBSD ctfdump(1) SYNOPSIS; NetBSD ctfdump(1) SYNOPSIS
FreeBSD, NetBSD-p parentSolnix ctfdump -p parent uses type information from a parent container, for CTF uniquified against that parent. This lets -t show type names. The FreeBSD and NetBSD pages document no -p.
Source: Solnix ctfdump(1) -p; FreeBSD ctfdump(1) SYNOPSIS; NetBSD ctfdump(1) SYNOPSIS
FreeBSD, NetBSDdefault output with no optionsOn Solnix, with no options ctfdump shows all information except the C-style output. The FreeBSD and NetBSD pages do not say what is shown when no section option is given.
Source: Solnix ctfdump(1) DESCRIPTION (last paragraph); FreeBSD ctfdump(1) DESCRIPTION; NetBSD ctfdump(1) DESCRIPTION
FreeBSD, NetBSDinput file typesSolnix ctfdump accepts ELF objects and raw CTF files. The FreeBSD and NetBSD pages describe only the SUNW_ctf section of an ELF binary.
Source: Solnix ctfdump(1) DESCRIPTION; FreeBSD ctfdump(1) NAME, DESCRIPTION; NetBSD ctfdump(1) NAME, DESCRIPTION
FreeBSD, NetBSDexit statusSolnix documents three exit values: 0 success, 1 fatal error, 2 invalid command line options. FreeBSD and NetBSD document only 0 on success and >0 on error.
Source: Solnix ctfdump(1) EXIT STATUS; FreeBSD ctfdump(1) EXIT STATUS; NetBSD ctfdump(1) EXIT STATUS
FreeBSD, NetBSDuncompressed outputSolnix says data written with -u is always decompressed, and can then be inspected with ctfdump and tools such as mdb(1). FreeBSD and NetBSD also write uncompressed data to a raw CTF file.
Source: Solnix ctfdump(1) DESCRIPTION, -u; FreeBSD ctfdump(1) -u; NetBSD ctfdump(1) -u
FreeBSD, NetBSDoutput stabilitySolnix marks the command syntax Committed and the output format Uncommitted, so do not rely on parsing the output. The FreeBSD and NetBSD pages state no stability level.
Source: Solnix ctfdump(1) INTERFACE STABILITY
LinuxLinux counterpartNo Linux ctfdump page is in the bundle, so the manual gives no Linux comparison.
Source: Bundle header lists only FreeBSD and NetBSD counterparts
OpenBSDOpenBSD counterpartNo OpenBSD ctfdump page is in the bundle, so the manual gives no OpenBSD comparison.
Source: Bundle header lists only FreeBSD and NetBSD counterparts

Standards

  • POSIX: ctfdump is not a POSIX.1-2024 utility.
  • Solnix: Interface Stability: the command syntax is Committed; the output format is Uncommitted.

Writing portable scripts

  • Always pass -u and the file in the form the BSD synopsis shows only if you need the BSD form; for portable scripts use only -d, -f, -h, -l, -s, -S, -t, which exist on all three.
  • Do not use -c or -p in portable scripts: only Solnix documents them. Do not parse the output, as Solnix marks its format Uncommitted.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.