elfedit(1) on Solnix vs Linux and the BSDs
The elfedit on PATH in a default Solnix system is the illumos /usr/bin/elfedit, an interactive and scriptable ELF editor with modules and commands. It is not the GNU binutils elfedit that the published Solnix page and Linux describe. A Linux script that calls elfedit --output-osabi=... will fail on the default PATH.
The manual pages
- Solnix: elfedit(1) from
pkgs.solnix.binutils - Linux: elfedit(1) binutils-2.46
What Solnix runs
The published page comes from pkgs.solnix.binutils and is the same text as Linux elfedit(1) (binutils). It describes --output-mach, --output-osabi, --enable-x86-feature and so on. The default /usr/bin/elfedit is the illumos tool with the synopsis elfedit [-adr] [-e cmd] [-L path] [-o default | simple | num] [infile] [outfile]. No other illumos variants are shipped. To get the GNU options, install pkgs.solnix.binutils. The bundle does not say where that package places its binary or whether it comes before /usr/bin on PATH.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | which program runs | Linux elfedit is the binutils tool that patches ELF header fields and program properties. On a default Solnix system, elfedit on PATH is the illumos tool for examining and editing ELF objects. The two have different synopses and options. Source: Solnix default-on-PATH elfedit(1) NAME, SYNOPSIS; Linux elfedit(1) NAME, SYNOPSIS |
| Linux | command-line options | The illumos elfedit takes -a, -d, -e, -L, -o and -r. None of the Linux long options (--output-mach, --output-type, --output-osabi, --output-abiversion, --enable-x86-feature, --disable-x86-feature) are in its synopsis.Source: Solnix default-on-PATH elfedit(1) SYNOPSIS; Linux elfedit(1) SYNOPSIS, OPTIONS |
| Linux | how changes are specified | On Linux, one invocation sets fields through options, and at least one --output-* or x86-feature option is required. illumos elfedit runs module:command strings such as dyn:runpath, given with -e or read from standard input.Source: Solnix default-on-PATH elfedit(1) DESCRIPTION (Syntax); Linux elfedit(1) OPTIONS |
| Linux | operands | Linux elfedit takes one or more elffile operands and updates them in place. Archives containing ELF files are supported. The illumos synopsis takes an optional infile and an optional outfile. Source: Linux elfedit(1) DESCRIPTION; Solnix default-on-PATH elfedit(1) SYNOPSIS |
| Linux | interactive use | illumos elfedit reads commands from standard input. If that is a terminal, it offers line editing and TAB completion with usage messages. The Linux page describes no interactive mode. Source: Solnix default-on-PATH elfedit(1) DESCRIPTION (Syntax); Linux elfedit(1) DESCRIPTION |
| Linux | x86 feature bits | Linux elfedit can set or clear ibt, shstk, lam_u48 and lam_u57 in exec or dyn files for i386 or x86-64. The visible illumos text lists no such feature. The bundle shows no equivalent in the illumos page. Source: Linux elfedit(1) --enable-x86-feature, --disable-x86-feature; Solnix default-on-PATH elfedit(1) SYNOPSIS |
| Linux | @file option files | Linux elfedit accepts @file to read options from a file, recursively. The illumos synopsis and visible text show no @file option. Source: Linux elfedit(1) @file; Solnix default-on-PATH elfedit(1) SYNOPSIS |
| Linux | published Solnix page vs default binary | The Solnix page from pkgs.solnix.binutils matches the Linux page in synopsis and options. It describes the binutils tool, not /usr/bin/elfedit. Read it only if the binutils package's elfedit is the one you actually run.Source: Solnix elfedit(1) [binutils] SYNOPSIS, OPTIONS; Linux elfedit(1) SYNOPSIS, OPTIONS |
| FreeBSD, OpenBSD, NetBSD | no BSD counterpart page | The bundle has no elfedit(1) page for FreeBSD, OpenBSD or NetBSD, so no comparison can be made. The manual does not say whether those systems ship such a tool. Source: Bundle header (only a linux counterpart is listed) |
Standards
- POSIX: elfedit is not a POSIX.1-2024 utility.
Writing portable scripts
- Do not call elfedit with GNU long options in portable scripts. Check which implementation you have first, because the default Solnix
/usr/bin/elfeditrejects the binutils syntax.
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.