HP 3000 Manuals

Sample Listings [ Technical Addendum for HP Link Editor/iX ] MPE/iX 5.0 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.0 Documentation