HOME

TheInfoList



OR:

In computing, the System Object Model (SOM) is a proprietary executable
file format A file format is a Computer standard, standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary format, pr ...
developed by
Hewlett-Packard The Hewlett-Packard Company, commonly shortened to Hewlett-Packard ( ) or HP, was an American multinational information technology company. It was founded by Bill Hewlett and David Packard in 1939 in a one-car garage in Palo Alto, California ...
for its
HP-UX HP-UX (from "Hewlett Packard Unix") is a proprietary software, proprietary implementation of the Unix operating system developed by Hewlett Packard Enterprise; current versions support HPE Integrity Servers, based on Intel's Itanium architect ...
and MPE/ix operating systems. In particular, SOM is the native format used for
32-bit In computer architecture, 32-bit computing refers to computer systems with a processor, memory, and other major system components that operate on data in a maximum of 32- bit units. Compared to smaller bit widths, 32-bit computers can perform la ...
application
executable In computer science, executable code, an executable file, or an executable program, sometimes simply referred to as an executable or binary, causes a computer "to perform indicated tasks according to encoded instruction (computer science), in ...
s,
object code In computing, object code or object module is the product of an assembler or compiler In computing, a compiler is a computer program that Translator (computing), translates computer code written in one programming language (the ''source'' ...
, and
shared libraries In computing, a library is a collection of resources that can be leveraged during software development to implement a computer program. Commonly, a library consists of executable code such as compiled functions and classes, or a library can ...
running under the
PA-RISC Precision Architecture reduced instruction set computer, RISC (PA-RISC) or Hewlett Packard Precision Architecture (HP/PA or simply HPPA), is a computer, general purpose computer instruction set architecture (ISA) developed by Hewlett-Packard f ...
family of processors. With the introduction of
64-bit In computer architecture, 64-bit integers, memory addresses, or other data units are those that are 64 bits wide. Also, 64-bit central processing units (CPU) and arithmetic logic units (ALU) are those that are based on processor registers, a ...
processors, Hewlett Packard adopted the
Executable and Linkable Format In computing, the Executable and Linkable FormatTool Interface Standard (TIS) Portable Formats SpecificationVersion 1.1'' (October 1993) (ELF, formerly named Extensible Linking Format) is a common standard file format for executable files, obje ...
(ELF) format to represent the wider 64-bit program code, while still using SOM for applications running in 32-bit mode. Later, with the introduction of the
Itanium Itanium (; ) is a discontinued family of 64-bit computing, 64-bit Intel microprocessors that implement the Intel Itanium architecture (formerly called IA-64). The Itanium architecture originated at Hewlett-Packard (HP), and was later jointly dev ...
processor family, HP-UX has abandoned the SOM format in favor of ELF for both 32-bit and 64-bit application code. In HP-UX the SOM file format is sometimes called the a.out format and is described by
C programming language C (''pronounced'' '' – like the letter c'') is a general-purpose programming language. It was created in the 1970s by Dennis Ritchie and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of ...
structures in the header file "/usr/include/a.out.h". However the SOM format is technically not the same as the standard a.out format used by many other Unix operating systems.


Overview of the SOM file format

A SOM file consists of a fixed-size header record followed by a number of sections, some of which are optional. The header always appears at the beginning of the file and contains the byte offsets and sizes of where the other sections are located within the file. Except for the header the other sections may appear anywhere in the file, although the typical layout of a SOM file (assuming all sections are present) is as follows: * Header Record * Auxiliary Header Record * Space Records * Subspace Records * Loader Fixup Records * Space Strings * Symbol Records * Fixup Records * Symbol Strings * Compiler Records * Data for Loadable Spaces * Data for Unloadable Spaces Numeric fields are stored in
big endian '' Jonathan_Swift.html" ;"title="Gulliver's Travels'' by Jonathan Swift">Gulliver's Travels'' by Jonathan Swift, the novel from which the term was coined In computing, endianness is the order in which bytes within a word (data type), word of d ...
byte order, the native byte order of the PA-RISC, with most being 32-bit wide. Character strings are generally encoded in 8-bit
ASCII ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
and both prefixed with a 32-bit length indicator as well as being null-terminated, like C strings. Most records are word-aligned (start at even-byte offsets) with padding introduced as necessary.


See also

*
Comparison of executable file formats This is a comparison of binary executable file formats which, once loaded by a suitable executable loader, can be directly executed by the CPU rather than being interpreted by software. In addition to the binary application code, the executables ...


External links


''HP-UX a.out(4) manual page''
Hewlett-Packard
''The 32-bit PA-RISC Run-time Architecture Document, HP-UX 11.0 Version 1.0''
Hewlett-Packard, 1997
''The 32-bit PA-RISC Run-time Architecture Document, HP-UX 10.20 version 3.0''
Hewlett-Packard, 1997. Also available a
parisc-linux.org


Hewlett-Packard (online)

{{Executables Executable file formats HP software