| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138 |
- \input texinfo @c -*-texinfo-*-
- @c %**start of header
- @setfilename rdoff.info
- @settitle Relocatable Dynamic Object File Format (RDOFF)
- @afourpaper
- @c %**end of header
- @titlepage
- @title Relocatable Dynamic Object File Format (RDOFF)
- @author Yuri Zaporozhets @email{r_tty@@yahoo.co.uk}
- @author Julian Hall @email{jules@@dsf.org.uk}
- @end titlepage
- @ifinfo
- Copyright @copyright{} 2002-2015 Netwide Assembler Project.
- Written by Yuri Zaporozhets @email{r_tty@@yahoo.co.uk}
- Based on various sources and notes written by Julian Hall @email{jules@@dsf.org.uk}
- Distributed under GNU documentation license.
- @end ifinfo
- @ifnottex
- @node Top, Overview, (dir), (dir)
- @top RDOFF
- RDOFF is a Relocatable Dynamic Object File Format.
- @end ifnottex
- @menu
- * Overview:: Introduction.
- * Structure:: Structure of RDOFF file.
- * Utilities:: Description of RDOFF utilities.
- @end menu
- @node Overview
- @chapter 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.
- @node Structure
- @chapter Structure of RDOFF file
- RDOFF module consists of three parts:
- @itemize
- @item Master header
- @item Header (may be omited)
- @item Sections
- @end itemize
- @dfn{Master header} contains signature, version and size information.
- @dfn{Header} consists of zero or more @ref{Records, records}.
- @dfn{Sections} represent actual contents of the file. Each section is prepended
- by a section header.
- @node Records, , ,Structure
- @section Records that may appear in RDOFF header
- @menu
- * Relocation:: Relocation records.
- * Import:: Declaring external symbols.
- * Export:: Declaring public and exported symbols.
- * DLL:: Specifying a run-time library name.
- * BSS:: Reserving space in BSS section.
- * Segment relocation:: Complexity of relocation in segmented systems.
- * Far import:: External 'far' symbols.
- * Module name:: Specifying module name.
- * Common variable:: Declaring common variables.
- * Generic record:: Embedding general-purpose data into the header.
- @end menu
- @node Relocation
- @subsection Relocation records
- @node Import
- @subsection Declaring external and imported symbols
- @node Export
- @subsection Declaring public and exported symbols
- @node DLL
- @subsection Specifying a run-time library name
- @node BSS
- @subsection Reserving space in BSS section
- @node Segment relocation
- @subsection Complexity of relocation in segmented systems
- @node Far import
- @subsection External 'far' symbols.
- @node Module name
- @subsection Specifying module name.
- @node Common variable
- @subsection Declaring common variables.
- @node Generic record
- @subsection Embedding general-purpose data into the header.
- @node Utilities
- @chapter RDOFF utilities
- @menu
- * rdfdump:: Dump the contents of RDOFF file.
- * ldrdf:: RDOFF linker.
- * rdflib:: RDOFF librarian.
- * rdlar:: New RDOFF librarian/archiver.
- * rdx:: Load and execute RDOFF module.
- @end menu
- @node rdfdump
- @section @command{rdfdump} - dump the contents of RDOFF file
- @node ldrdf
- @section @command{ldrdf} - RDOFF linker
- @node rdflib
- @section @command{rdflib} - RDOFF librarian
- @node rdlar
- @section @command{rdlar} - new RDOFF librarian/archiver
- @node rdx
- @section @command{rdx} - load and execute RDOFF module
- @bye
|