RDOFF
Developed by | Julian Hall |
---|---|
Type of format | Object file format |
Container for | Object code |
RDOFF, the Relocatable Dynamic Object File Format, was born from the need for NASM developers to test the integrity of NASM's object file output capabilities. It is based heavily on the internal structure of NASM,[1] essentially consisting of a header containing a serialization of the output driver function calls followed by an array of sections containing executable code or data. Tools for using the format, including a linker and loader, are included in the NASM distribution.
History
Until version 0.90 of NASM was released in October 1996, NASM only supported output of flat-format executable files (e.g. MS-DOS COM files). In version 0.90, Simon Tatham added support for an object-file output interface, along with support for DOS .OBJ files for 16-bit code only.[2]
NASM thus lacked a 32-bit object format. To address this lack, and as an exercise to learn the object-file interface, developer Julian Hall put together the first version of RDOFF, which was released in NASM version 0.91.[2]
Since this initial version, there has been one major update to the RDOFF format, which added a record-length indicator on each header record,[3] allowing programs to skip over records whose format they do not recognise, and support for multiple segments; RDOFF1 only supported three segments: text, data and bss (containing uninitialized data).[1]
See also
References
- ↑ 1.0 1.1 "NASM Manual Ch. 6". Retrieved 2008-06-27.
- ↑ 2.0 2.1 "NASM CVS". 2008-06-08. Retrieved 2008-06-27.
- ↑ "V1-V2.txt". 2002-12-04. Retrieved 2008-06-27.
Projects based on RDOFF
- RadiOS Operating System Project
- WDOSX DOS extender
- SOBS (operating system) Operating System Project
External links
- NASM version history
- Differences between RDOFF1 and RDOFF2
- NASM (SourceForge)
- Small RDF Stub Loader (NASM)