[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference vaxaxp::vmsnotes

Title:VAX and Alpha VMS
Notice:This is a new VMSnotes, please read note 2.1
Moderator:VAXAXP::BERNARDO
Created:Wed Jan 22 1997
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:703
Total number of notes:3722

703.0. "format of .stb on ovms/alpha?" by CSC32::J_HENSON (Don't get even, get ahead!) Fri Jun 06 1997 10:32

A customer is porting a 3rd party application from vax to Alpha (OpenVMS V7.1).
The application reads .stb files generated by the linker.  I didn't ask,
but I am assuming that it's reading global symbol values.

He is having difficulty porting this application because he can't find
the format of the .stb file for OpenVMS Alpha, and has called the CSC
asking for that information.  I can't find it either.

I have already told the customer, per the linker utility manual, that
.stb files on OpenVMS Alpha do not contain global symbol definitions,
but rather offsets to their definitions in the image's symbol vector table.

Is the format of the .stb and/or image/symbol vector table documented (other
than in the vms source, that is)?  Are there macro files in starlet.mlb
or lib.mlb that define these formats?  I know that there is an image
header definition macro file, but am not sure about the others.

My current thinking on this is that this is a consulting issue, and
that we probably don't owe the customer this information simply because
he has a support contract.  However, I feel obligated to make a
valid effort to try to determine if this information is readily
available.

Thanks,

Jerry
T.RTitleUserPersonal
Name
DateLines
703.1MILORD::BISHOPThe punishment that brought us peace was upon HimFri Jun 06 1997 10:4014
    There's a host of data structures in STARLET. Source would be found in
    [STARLET.LIS]OBJFMT.SDL in a listing kit.
    
    Note that UNIVERSAL symbols appear in an STB as you suggest, but GLOBAL
    symbols, which only show up if you have SYMBOL_TABLE=GLOBAL in the
    options file, appear as offsets from the base of the image.
    
    SDA has to sort all this out, and I've learned more than I want to
    about STBs. :-).
    
    You could also have them look at how SDA reads STBs from the listings
    kit.
    
    - Richard.
703.2undocumented interfaces; looks like consulting contract...XDELTA::HOFFMANSteve, OpenVMS EngineeringFri Jun 06 1997 11:0428
:A customer is porting a 3rd party application from vax to Alpha (OpenVMS V7.1).
:The application reads .stb files generated by the linker.  I didn't ask,
:but I am assuming that it's reading global symbol values.

   Can they use lib$find_image_symbol, either as part of the
   build, or at run-time?

:He is having difficulty porting this application because he can't find
:the format of the .stb file for OpenVMS Alpha, and has called the CSC
:asking for that information.  I can't find it either.

   He needs the listings CD-ROMs...

:Is the format of the .stb and/or image/symbol vector table documented (other
:than in the vms source, that is)?  Are there macro files in starlet.mlb
:or lib.mlb that define these formats?  I know that there is an image
:header definition macro file, but am not sure about the others.

   Beyond what is in the linker manual, no.

:My current thinking on this is that this is a consulting issue, and
:that we probably don't owe the customer this information simply because
:he has a support contract.  However, I feel obligated to make a
:valid effort to try to determine if this information is readily
:available.

   This question is clearly (IMO) a consulting issue...

703.3CSC64::BLAYLOCKIf at first you doubt,doubt again.Fri Jun 06 1997 12:287
For what it is worth, just as it is on OpenVMS VAX, an STB file
on OpenVMS Alpha is just an object file[1].  It is readable with
ANALYZE/OBJECT and the symbols are defined and described in 
Appendix B of the LINKER manual.

[1] As explicitly stated in the first line of section B.1