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.

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 withTopicWhat differs
Linuxwhich program runsLinux 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
Linuxcommand-line optionsThe 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
Linuxhow changes are specifiedOn 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
LinuxoperandsLinux 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
Linuxinteractive useillumos 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
Linuxx86 feature bitsLinux 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 filesLinux 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
Linuxpublished Solnix page vs default binaryThe 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, NetBSDno BSD counterpart pageThe 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/elfedit rejects 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.