Copyright © 2002-2015 Netwide Assembler Project. Written by Yuri Zaporozhets r_tty@yahoo.co.uk Based on various sources and notes written by Julian Hall jules@dsf.org.uk Distributed under GNU documentation license.

RDOFF
*****

RDOFF is a Relocatable Dynamic Object File Format.

Introduction
************

RDOFF was designed initially to test the object-file production interface to NASM. It soon became apparent that it could be enhanced for use in serious applications due to its simplicity; code to load and execute an RDOFF object module is very simple. It also contains enhancements to allow it to be linked with a dynamic link library at either run- or load- time, depending on how complex you wish to make your loader.

Structure of RDOFF file
***********************

RDOFF module consists of three parts:

  * Master header

  * Header (may be omited)

  * Sections

Master header contains signature, version and size information.

Header consists of zero or more records.

Sections represent actual contents of the file. Each section is prepended by a section header.

Records that may appear in RDOFF header
=======================================

Relocation records
------------------

Declaring external and imported symbols
---------------------------------------

Declaring public and exported symbols
-------------------------------------

Specifying a run-time library name
----------------------------------

Reserving space in BSS section
------------------------------

Complexity of relocation in segmented systems
---------------------------------------------

External 'far' symbols.
-----------------------

Specifying module name.
-----------------------

Declaring common variables.
---------------------------

Embedding general-purpose data into the header.
-----------------------------------------------

RDOFF utilities
***************

rdfdump - dump the contents of RDOFF file
=========================================

ldrdf - RDOFF linker
====================

rdflib - RDOFF librarian
========================

rdlar - new RDOFF librarian/archiver
====================================

rdx - load and execute RDOFF module
===================================