Site Tools


ivss-hex-serialization

Table of Contents

Hex serialization (ivss)

Hex serialization writes an object's bytes as hexadecimal text so ivss tools can exchange them. It differs from the assembler's descriptive dump of symbols and sections:

# Descriptive output for inspection.
$ ./asembler -o reference.dump reference.s
 
# Serialized bytes for the linker.
$ ./asembler -hex -o reference.o reference.s

The serialized file begins with the ELF identification bytes:

0000: 7f 45 4c 46  02 01 01 03  00 00 00 00  00 00 00 00

The payload bytes are hexadecimal; the row prefix is a decimal byte-position label. 7f 45 4c 46 is the ELF magic, followed by the class, byte order, version, and ABI fields.

The writer emits the header, section contents, and section headers. The reader decodes the text into a byte buffer, then uses the stored offsets to reconstruct the object structures.

The file is neither a bare memory dump nor a conventional binary ELF file. Its .o or .hex extension does not select decoding behavior: ivss's linker and emulator explicitly use Elf_ReadHexInit() for their inputs.

Source: elf.c.

ivss-hex-serialization.md · Last modified: by 127.0.0.1