From 6dc8379d6aa374459bec8ef9ab608cb2105b750d Mon Sep 17 00:00:00 2001 From: "H. Peter Anvin (Intel)" Date: Mon, 17 Aug 2020 15:26:11 -0700 Subject: [PATCH] rdoff: disable broken backend, document deprecation The RDOFF backend has been broken since at least NASM 2.14, throwing an immediate assert. Since only one person appears to have even noticed, and fixing it properly looks like it would take quite a bit of work, disable this back end and document its deprecation. Signed-off-by: H. Peter Anvin (Intel) --- doc/changes.src | 7 +++++++ doc/nasmdoc.src | 15 ++++++++------- output/outform.h | 6 ------ 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/doc/changes.src b/doc/changes.src index 5468d16b..f6642168 100644 --- a/doc/changes.src +++ b/doc/changes.src @@ -37,6 +37,13 @@ useful to debug NASM crashes. See \k{opt-L}. \b Document long-standing hazards in the use of \c{$} in \c{Dx} statements, see \k{db}. +\b The NASM-only RDOFF output format backend, which has been broken +since at least NASM 2.14, has been disabled. The RDOFF tools are +scheduled to be removed from the NASM distribution in NASM 2.16. If +you have a concrete use case for RDOFF, please file a NASM bug report +at \W{https://bugs.nasm.us/}\c{https://bugs.nasm.us/} as soon as +possible. See \k{rdffmt}. + \S{cl-2.15.03} Version 2.15.03 \b Add instructions from the Intel Instruction Set Extensions and diff --git a/doc/nasmdoc.src b/doc/nasmdoc.src index 0c6dcef6..027c7445 100644 --- a/doc/nasmdoc.src +++ b/doc/nasmdoc.src @@ -318,9 +318,6 @@ easy to understand, similar to the syntax in the Intel Software Developer Manual with minimal complexity. It supports all currently known x86 architectural extensions, and has strong support for macros. -NASM also comes with a set of utilities for handling its own RDOFF2 -object-file format. - \S{legal} \i{License} NASM is under the so-called 2-clause BSD license, also @@ -6719,7 +6716,14 @@ only special symbol supported is \c{..start}. \H{rdffmt} \I{RDOFF}\i\c{rdf}: \i{Relocatable Dynamic Object File -Format} +Format} (deprecated) + +\e{The RDOFF format is strongly deprecated and has been disabled +starting in NASM 2.15.04. The RDOFF backend has been broken since at +least NASM 2.14. The RDOFF utilities are scheduled to be removed from +the NASM distribution in NASM 2.16.} If you have a strong use case for +the RDOFF format, file a bug report at +\W{https://bugs.nasm.us/}\c{https://bugs.nasm.us/} as soon as possible. The \c{rdf} output format produces \c{RDOFF} object files. \c{RDOFF} (Relocatable Dynamic Object File Format) is a home-grown object-file @@ -6737,9 +6741,6 @@ a set of RDOFF utilities: an RDF linker, an \c{RDF} static-library manager, an RDF file dump utility, and a program which will load and execute an RDF executable under Linux. -\c{rdf} supports only the \i{standard section names} \i\c{.text}, -\i\c{.data} and \i\c{.bss}. - \S{rdflib} Requiring a Library: The \i\c{LIBRARY} Directive diff --git a/output/outform.h b/output/outform.h index 034dc2cf..9cd7c398 100644 --- a/output/outform.h +++ b/output/outform.h @@ -130,9 +130,6 @@ #ifndef OF_AS86 #define OF_AS86 #endif -#ifndef OF_RDF2 -#define OF_RDF2 -#endif #ifndef OF_IEEE #define OF_IEEE #endif @@ -194,9 +191,6 @@ #ifndef OF_AS86 #define OF_AS86 #endif -#ifndef OF_RDF2 -#define OF_RDF2 -#endif #ifndef OF_IEEE #define OF_IEEE #endif