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