HP 3000 Manuals

Sample Listings [ Technical Addendum for HP Link Editor/iX ] MPE/iX 5.5 Documentation


Technical Addendum for HP Link Editor/iX

Sample Listings 

Symbol Transformation Example 

        C source file

        int i;
        int foo=0;
        extern int bar;
        ...
        main () {
          i++;
          foo++;
          bar++;
          ...
        }

        Object File
        --------------------------
        |Symbol| Type  | Scope   |
        |-------------------------
        |i     |Storage|Unsat    |
        |foo   |Data   |Universal|
        |bar   |Data   |Unsat    |
        --------------------------

        Shared Data Program File
        --------------------------------------------------
        |Symbol| Type  | Scope   |LST Import |LST Export |
        |------------------------------------------------|
        |i     |Storage|Universal|    Yes    |    Yes    |
        |foo   |Data   |Universal|    No     |    Yes    |
        |bar   |Data   |Unsat    |    Yes    |    No     |
        --------------------------------------------------

        Shared Data XL
        --------------------------------------------------
        |Symbol| Type  | Scope   |LST Import |LST Export |
        |------------------------------------------------|
        |i     |Storage|Universal|    Yes    |    Yes    |
        |foo   |Data   |Universal|    Yes    |    Yes    |
        |bar   |Data   |Unsat    |    Yes    |    No     |
        --------------------------------------------------

        Non-Shared Data Program File or Non-Shared Data XL
        --------------------------------------------------
        |Symbol| Type  | Scope   |LST Import |LST Export |
        |------------------------------------------------|
        |i     |Data   |Universal|    No     |    No     |
        |foo   |Data   |Universal|    No     |    No     |
        |bar   |Data   |Unsat-->ERROR! Not allowed       |
        --------------------------------------------------

Key:

LST Export = Yes    The symbol is externally visible to other XLs and
                    program files and can be used to satisfy LST import
                    requests.

LST Export = No     The symbol is not externally visible.  This is the
                    same behavior as for non-shared global data
                    environments.

LST Import = Yes    Look for LST exports in other XLs or program files
                    that can satisfy the import request.

LST Import = No     The symbol is satisfied and does not look for another
                    definition that can override it.  This is the same
                    behavior as for non-shared global data environments.

LISTPROG Example 

     LinkEd> listprog myprog

     PROGRAM        : MYPROG
     CAPABILITIES   : BA, IA
     NMHEAP SIZE    :
     NMSTACK SIZE   :
     ENTRY NAME     :
     UNSAT NAME     :
     PRIORITY       :
     MAX PRIORITY   :
     POSIX          : NO
     SHARED DATA    : YES
     TEXT SIZE      : 000002F8
     DATA SIZE      : 0000001C
     VERSION        : 85082112

     Sym                  C H X P Sym    Sym        Sym     Lset
     Name                         Type  Scope      Value    Name
     ----                 - - - - ----  -----      -----    ----
     $START$              0   3 3 pri_p univ       00005004
     main                 0   3 3 entry univ       00005040
     $RECOVER_END         0       code  univ       000052F8
     $RECOVER_START       0       code  univ       000052F8
     $START$              0       code  univ       00005020
     $UNWIND_END          0       code  univ       000052D8
     $UNWIND_START        0       code  univ       000052A8

     _start               0 H     code  univ       00005218
     main                 0       code  univ       0000509C
     M$6                  0       data  local   dp+00000008
     foption              0       s_req univ    dp+00000018
     myopt                0       data  univ    dp+00000000
     ARITRAP              0       stub  ext     lp+000000A0
     U_INIT_TRAPS         0       stub  ext     lp+000000C0
     _exit                0       stub  ext     lp+00000160
     _close               0       stub  ext     lp+00000060
     _dup                 0       stub  ext     lp+00000100
     _init_c_globals      0       stub  ext     lp+00000040
     _init_x11_globals    0       stub  ext     lp+00000140
     _open_std_file       0       stub  ext     lp+000000E0
     _parse_info_string   0       stub  ext     lp+00000020
     foo                  0       stub  ext     lp+00000120
     printf               0       stub  ext     lp+00000080
     foption              0       data  unsat   dp-00000014
     mystring             0       data  unsat   dp-00000010
     myvalue              0       data  unsat   dp-0000000C

LISTXL Example 

     listxl dkxl4

     LIBRARY NAME   : DKXL4
     VERSION        : 85082112
     MODULE COUNT   : 2
     MODULE LIMIT   : 500

     MODULE NAME                           START     LENGTH
     -----------                           -----     ------
     HIMOMC                              00129000   0000355C
     MYBAR                               00139000   0000336C

     MODULE NAME    : HIMOMC
     TEXT SIZE      : 00000080
     DATA SIZE      : 00000008
     VERSION        : 87102412
     LENGTH         : 0000355C
     SHARED DATA    : NO

     Sym                  C H X P Sym    Sym        Sym     Lset
     Name                         Type  Scope      Value    Name
     ----                 - - - - ----  -----      -----    ----
     main                 0   3 3 entry univ       0012B000
     $RECOVER_END         0       code  univ       0012B080
     $RECOVER_START       0       code  univ       0012B080
     $UNWIND_END          0       code  univ       0012B070
     $UNWIND_START        0       code  univ       0012B060
     main                 0       code  univ       0012B03C
     printf               0       stub  ext     lp+00000020

     MODULE NAME    : MYBAR
     TEXT SIZE      : 00000004
     DATA SIZE      : 00000010
     VERSION        : 87102412
     LENGTH         : 0000336C
     SHARED DATA    : YES

     Sym                  C H X P Sym    Sym        Sym     Lset
     Name                         Type  Scope      Value    Name
     ----                 - - - - ----  -----      -----    ----
     $RECOVER_END         0       code  univ       0013B000
     $RECOVER_START       0       code  univ       0013B000
     $UNWIND_END          0       code  univ       0013B000
     $UNWIND_START        0       code  univ       0013B000
     d                    0       s_req univ    dp+00000008
     f                    0       data  univ    dp+00000004
     fee                  0       data  univ    dp+00000000
     k                    0       s_req univ    dp+0000000C
     foo                  0       data  unsat   dp-0000000C



MPE/iX 5.5 Documentation