In revision 1.35 EI_BRAND was removed in conjunction with EI_OSABI and
EI_ABIVERSION being added, but it looks like this has not been reflected
in elf(5). The only place EI_BRAND appears in OpenBSD's current source
tree is this man page, as such I think it's worth removing.

For a quick comparison to other systems FreeBSD still mentions EI_BRAND
but NetBSD does not (and never appeared to document this in any man
page). With regards to EI_OSABI and EI_ABIVERSION FreeBSD covers the
defined values whereas NetBSD does not as they note only ELFOSABI_SYSV
is used. On the other hand FreeBSD does indeed mark native binaries as
ELFOSABI_FREEBSD. Further afield in Linux EI_BRAND was removed, EI_OSABI
and EI_ABIVERSION defined values are covered similar to FreeBSD.

The diff below removes mention of EI_BRAND and uncomments the EI_OSABI
and EI_ABIVERSION parts which appear to have been present since the
initial appearance of this man page. In addition I've added the mention
of the Modesto and OpenBSD EI_OSABI values as they are defined in
sys/sys/exec_elf.h.

diff --git a/share/man/man5/elf.5 b/share/man/man5/elf.5
index 57b0bf0da4d..6ce92ef9bb4 100644
--- a/share/man/man5/elf.5
+++ b/share/man/man5/elf.5
@@ -207,51 +207,56 @@ Invalid version.
 .It Dv EV_CURRENT
 Current version.
 .El
-.\" .It Dv EI_OSABI
-.\" This byte identifies the operating system
-.\" and ABI to which the object is targeted.
-.\" Some fields in other ELF structures have flags
-.\" and values that have platform specific meanings;
-.\" the interpretation of those fields is determined by the value of this byte.
-.\" The following values are currently defined:
-.\" .Pp
-.\" .Bl -tag -width "ELFOSABI_STANDALONE" -compact
-.\" .It Dv ELFOSABI_SYSV
-.\" UNIX System V ABI.
-.\" .It Dv ELFOSABI_HPUX
-.\" HP-UX operating system ABI.
-.\" .It Dv ELFOSABI_NETBSD
-.\" .Nx
-.\" operating system ABI.
-.\" .It Dv ELFOSABI_LINUX
-.\" GNU/Linux operating system ABI.
-.\" .It Dv ELFOSABI_HURD
-.\" GNU/Hurd operating system ABI.
-.\" .It Dv ELFOSABI_86OPEN
-.\" 86Open Common IA32 ABI.
-.\" .It Dv ELFOSABI_SOLARIS
-.\" Solaris operating system ABI.
-.\" .It Dv ELFOSABI_MONTEREY
-.\" Monterey project ABI.
-.\" .It Dv ELFOSABI_IRIX
-.\" IRIX operating system ABI.
-.\" .It Dv ELFOSABI_FREEBSD
-.\" .Fx
-.\" operating system ABI.
-.\" .It Dv ELFOSABI_TRU64
-.\" TRU64 UNIX operating system ABI.
-.\" .It Dv ELFOSABI_ARM
-.\" ARM architecture ABI.
-.\" .It Dv ELFOSABI_STANDALONE
-.\" Stand-alone (embedded) ABI.
-.\" .El
-.\" .It Dv EI_ABIVERSION
-.\" This byte identifies the version of the ABI
-.\" to which the object is targeted.
-.\" This field is used to distinguish among incompatible versions of an ABI.
-.\" The interpretation of this version number
-.\" is dependent on the ABI identified by the EI_OSABI field.
-.\" Applications conforming to this specification use the value 0.
+.It Dv EI_OSABI
+This byte identifies the operating system
+and ABI to which the object is targeted.
+Some fields in other ELF structures have flags
+and values that have platform specific meanings;
+the interpretation of those fields is determined by the value of this byte.
+The following values are currently defined:
+.Pp
+.Bl -tag -width "ELFOSABI_STANDALONE" -compact
+.It Dv ELFOSABI_SYSV
+UNIX System V ABI.
+.It Dv ELFOSABI_HPUX
+HP-UX operating system ABI.
+.It Dv ELFOSABI_NETBSD
+.Nx
+operating system ABI.
+.It Dv ELFOSABI_LINUX
+GNU/Linux operating system ABI.
+.It Dv ELFOSABI_HURD
+GNU/Hurd operating system ABI.
+.It Dv ELFOSABI_86OPEN
+86Open Common IA32 ABI.
+.It Dv ELFOSABI_SOLARIS
+Solaris operating system ABI.
+.It Dv ELFOSABI_MONTEREY
+Monterey project ABI.
+.It Dv ELFOSABI_IRIX
+IRIX operating system ABI.
+.It Dv ELFOSABI_FREEBSD
+.Fx
+operating system ABI.
+.It Dv ELFOSABI_TRU64
+TRU64 UNIX operating system ABI.
+.It Dv ELFOSABI_MODESTO
+Modesto operating system ABI.
+.It Dv ELFOSABI_OPENBSD
+.Ox
+operating system ABI.
+.It Dv ELFOSABI_ARM
+ARM architecture ABI.
+.It Dv ELFOSABI_STANDALONE
+Stand-alone (embedded) ABI.
+.El
+.It Dv EI_ABIVERSION
+This byte identifies the version of the ABI
+to which the object is targeted.
+This field is used to distinguish among incompatible versions of an ABI.
+The interpretation of this version number
+is dependent on the ABI identified by the EI_OSABI field.
+Applications conforming to this specification use the value 0.
 .It Dv EI_PAD
 Start of padding.
 These bytes are reserved and set to zero.
@@ -259,8 +264,6 @@ Programs
 which read them should ignore them.
 The value for EI_PAD will change in
 the future if currently unused bytes are given meanings.
-.It Dv EI_BRAND
-Start of architecture identification.
 .It Dv EI_NIDENT
 The size of the e_ident array.
 .El

Reply via email to