The Question is:
Is there any manual, white paper or whatever that describes the internal layout
of an OpenVMS .obj file.
Yes ... I am aware of ANALYZE/OBJ.
We have need to analyze and compare .obj generations (much like ANALYSE/OBJ),
but we would like to do within a C program so we need to know how to "walk"
the object records.
The Answer is :
Please acquire and read the OpenVMS LINKER manual. Details
are included in this manual. Also please acquire the OpenVMS
source listings, as details on the debugger and the LINKER
internals may (will?) be of interest. (Part numbers for the
OpenVMS source listings are included in the OpenVMS FAQ.)
The OpenVMS Wizard would initially discourage this approach,
as it is highly dependent on the platform -- object formats
can and do differ across all OpenVMS platforms -- and as it
will not particularly easily solve your (details unstated)
As is typical of disassembly -- reverse engineering -- the
intermediate object formats and executable images and shareable
images do not lend themselves to extracting anything that even
remotely resembles the original source code.
Other approaches, such as use of the pragma module directive,
might provide better alternative solution to the (unstated)
problem. As usual, the OpenVMS Wizard would also encourage
the practice of maintaining listings files and full maps.
This makes it easier to track back to the source of run-time
problems. (Also please see discussions elsewhere here in Ask
The Wizard around the use of callable traceback within your
application -- search for references to the SS$_DEBUG signal,
and also please look at (1661). Of course, the OpenVMS
Wizard is here assuming one of various possible motives for