COMPILATION LISTING OF SEGMENT generate_first_ref_traps_ Compiled by: Multics PL/I Compiler, Release 33e, of October 6, 1992 Compiled at: CGI Compiled on: 2000-04-17_1936.22_Mon_mdt Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 12 /****^ HISTORY COMMENTS: 13* 1) change(85-09-24,Elhard), approve(85-09-24,MCR7198), 14* audit(86-06-30,Weaver), install(86-07-16,MR12.0-1094): 15* Improved readability and documentation. 16* 2) change(86-07-02,Elhard), approve(86-07-02,MCR7285), 17* audit(86-07-23,JRGray), install(86-08-06,MR12.0-1119): 18* Modified to zero the info_relp value for the correct trap when no info 19* link is present instead of zeroing the info_relp for the first trap. 20* END HISTORY COMMENTS */ 21 22 /* format: style3,^indnoniterdo */ 23 generate_first_ref_traps_: 24 procedure; 25 26 /**********************************************************************/ 27 /* */ 28 /* Name: generate_firstref_traps_ */ 29 /* Input: none */ 30 /* Function: scans the component table and copies the firstref */ 31 /* traps from each component into the new firstref */ 32 /* trap block, relocating each of the references and */ 33 /* regenerating the links. */ 34 /* Output: none */ 35 /* */ 36 /**********************************************************************/ 37 38 /* DECLARATION OF EXTERNAL ENTRIES */ 39 40 declare ext_link_ entry (pointer); 41 42 declare decode_link_ entry (pointer) returns (bit (1) aligned); 43 44 /* DECLARATION OF AUTOMATIC VARIABLES */ 45 46 declare (component_firstref_blockp, linkp, extp, firstref_blockp) 47 pointer; 48 49 declare (compno, j, k) fixed bin; 50 51 declare eside (2) char (3) aligned init ("lhe", "rhe"); 52 53 declare 1 firstref_block aligned automatic, /* dcl of first reference trap structure */ 54 2 version fixed bin, 55 2 n_traps fixed bin, /* number of traps in array */ 56 2 trap (bx_$n_firstrefs, 2) bit (18) unaligned; 57 /* automatic adjustable storage */ 58 /* array for easier referencing */ 59 declare 1 ext aligned like external_ref; 60 61 /* DECLARATION OF BUILTIN FUNCTIONS */ 62 63 declare (addr, addrel, bin, bit, null, rel, size, unspec) 64 builtin; 65 66 /* DECLARATION OF BASED STRUCTURES */ 67 68 declare 1 based_firstref_block 69 aligned based (firstref_blockp) like firstref_block; 70 declare 1 component_firstref_block 71 aligned based (component_firstref_blockp) like firstref_block; 72 declare 1 lh aligned based, /* linkage header */ 73 2 defseg fixed bin, /* 0->defs in text, 16->defs in link */ 74 2 defptr bit (18) unaligned, /* offset of definition section */ 75 2 first_reference bit (18) unaligned, /* offset of first ref trap array */ 76 2 fthread pointer, /* unused */ 77 2 bthread pointer, /* unused */ 78 2 link_begin bit (18) unaligned, /* offset in linkage section of linkage info */ 79 2 block_lng bit (18) unaligned, 80 2 dum2 bit (18) unaligned, 81 2 linkage_lng bit (18) unaligned; 82 83 84 /* */ 85 1 1 1 2 /* the following is include file extref.incl.pl1 */ 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(85-09-24,Elhard), approve(85-09-24,MCR7198), 1 7* audit(86-06-30,Weaver), install(86-07-16,MR12.0-1094): 1 8* changed to be a complete structure rather than a starting with a level 2 1 9* variable. 1 10* END HISTORY COMMENTS */ 1 11 1 12 declare 1 external_ref aligned based, 1 13 2 compent_ptr pointer, /* pointer to referencing component's entry */ 1 14 2 ref_ptr pointer, /* pointer to referencing textword */ 1 15 2 offset fixed bin(18), /* offset of referencing instruction in text */ 1 16 2 side char(3) aligned, /* 'rhe' or 'lhe' for referencing halfword */ 1 17 2 relinfo char(8) aligned, /* symbolic relocation information */ 1 18 2 section char(4) aligned, /* referencing section of object */ 1 19 2 loffset fixed bin, /* link's offset in linkage section */ 1 20 2 segname char(33) aligned, /* segname part of external name */ 1 21 2 slng fixed bin, /* length of preceeding ACC string (incl count) */ 1 22 2 entryname char(257) aligned, /* entry part of external name */ 1 23 2 elng fixed bin, /* length of preceeding ACC string (incl count) */ 1 24 2 type bit(18) unaligned, /* type of link */ 1 25 2 trap bit(18) unaligned, /* trap before link if non-zero */ 1 26 2 expr bit(18) unaligned, /* the expression value */ 1 27 2 code15 bit(18) unaligned, /* if type of link is 1 or 5, this is the segbase code */ 1 28 2 dont_prelink bit(1) unaligned, /* if = "1" then dont snap internal link */ 1 29 2 link_tm bit(2) unaligned, /* the original link's TM modifier */ 1 30 2 link_td bit(4) unaligned, /* the original link's TD modifier */ 1 31 2 dont_relocate bit (1) unaligned, /* "1"b -> no referencing instruction */ 1 32 2 padding(2) fixed bin; /* to isolate from other variables */ 86 87 88 /* */ 89 2 1 /**** START OF: bindext.incl.pl1 * * * * * */ 2 2 2 3 2 4 /****^ HISTORY COMMENTS: 2 5* 1) change(86-06-14,Elhard), approve(86-06-14,MCR7198), 2 6* audit(86-06-30,Weaver): 2 7* Added declarations for bx_$caller and bx_$temp_bsegp. 2 8* END HISTORY COMMENTS */ 2 9 2 10 /* DECLARATION OF BINDER'S MAIN DATABASE */ 2 11 2 12 /* include file bindext.incl.pl1 */ 2 13 2 14 /* Modified Sept 1978 by David Spector for using "get_temp_segment_" in temp_mgr_ */ 2 15 /* Modified Dec 1978 by David Spector for making repatch table automatically extensible */ 2 16 /* Modified 01/15/81 W. Olin Sibert for new options */ 2 17 2 18 declare bx_$vers_name char (168) aligned external; /* ASCII version name, in ACC form */ 2 19 declare bx_$vers_number fixed bin external; /* integer part of version number */ 2 20 declare bx_$size fixed bin external; /* size of main data base, for resetting */ 2 21 declare bx_$snt_limit fixed bin external; /* preset limit for segname table */ 2 22 declare bx_$oddname_limit fixed bin external; /* preset limit for oddname table */ 2 23 declare bx_$stringmap_limit fixed bin external; /* preset limit for stringmap table */ 2 24 declare bx_$addname_limit fixed bin external; /* preset limit for addname table */ 2 25 declare bx_$area_begin fixed bin (18) external; /* beginning of main data base */ 2 26 declare bx_$ctp pointer external; /* pointer to component table */ 2 27 declare bx_$freep pointer external; /* pointer to beginning of free area */ 2 28 declare bx_$isp pointer external; /* pointer to first insym table */ 2 29 declare bx_$inpp pointer external; /* pointer to binder's input structure */ 2 30 declare bx_$bsegp pointer external; /* pointer to base of new object segment */ 2 31 declare bx_$temp pointer external; /* pointer to threaded list of temp segments */ 2 32 declare bx_$optp pointer external; /* pointer to options table */ 2 33 declare bx_$odnp pointer external; /* pointer to oddname table */ 2 34 declare bx_$first_rptp pointer external; /* pointer to first chunk of repatch table */ 2 35 declare bx_$last_rptp pointer external; /* pointer to current chunk of threaded repatch table */ 2 36 declare bx_$adnp pointer external; /* pointer to addname table */ 2 37 declare bx_$bindmap_def pointer external; /* pointer to new object's "bind_map" definition */ 2 38 declare bx_$bdefp pointer external; /* pointer to new object's definition section */ 2 39 declare bx_$bstatp pointer external; /* pointer to new object's static section */ 2 40 declare bx_$blnkp pointer external; /* pointer to new object's linkage section */ 2 41 declare bx_$bsymp pointer external; /* pointer to new object's symbol section */ 2 42 declare bx_$sntp pointer external; /* pointer to segname table */ 2 43 declare bx_$tdefp pointer external; /* pointer to temporary new definition section */ 2 44 declare bx_$tintp pointer external; /* pointer to temporary new internal static */ 2 45 declare bx_$tlinkp pointer external; /* pointer to temporary new linkage section */ 2 46 declare bx_$strmp pointer external; /* pointer to stringmap table */ 2 47 declare bx_$n_firstrefs fixed bin external; /* count of components with firstref traps */ 2 48 declare bx_$bound_segname char (32) aligned external; /* name of new bound object */ 2 49 declare bx_$fatal_error fixed bin external; /* 1 -> fatal error was detected */ 2 50 declare bx_$bseg_acinfop pointer external; /* new object's acinfop for "tssi_" */ 2 51 declare bx_$bseg_bitcount fixed bin (24) external; /* new object's bitcount */ 2 52 declare bx_$o_lng fixed bin (19) external; /* length of new bound object */ 2 53 declare bx_$t_lng fixed bin (18) external; /* length of new text section */ 2 54 declare bx_$d_lng fixed bin (18) external; /* length of new definition section */ 2 55 declare bx_$i_lng fixed bin external; /* length of new static section */ 2 56 declare bx_$l_lng fixed bin external; /* length of new linkage section */ 2 57 declare bx_$s_lng fixed bin (18) external; /* length of new symbol section */ 2 58 declare bx_$addname fixed bin external; /* 1 -> addname option specified */ 2 59 declare bx_$debug fixed bin external; /* 1 -> debug option was specified */ 2 60 declare bx_$brief fixed bin external; /* 1 -> brief option was specified */ 2 61 declare bx_$force_order fixed bin external; /* 1 -> -force_order specified on command line */ 2 62 declare bx_$has_sep_stat fixed bin external; /* 1 -> a comp has nonzero sep static */ 2 63 declare bx_$has_comb_stat fixed bin external; /* 1 -> a comp has nonzero combined static */ 2 64 declare bx_$bound_sep_stat fixed bin external; /* 1 -> bound segment has separate static */ 2 65 declare bx_$perprocess_static fixed bin external; /* 1 -> bound segment has perprocess static switch on */ 2 66 declare bx_$standard fixed bin external; /* 1 -> bound seg is in standard format */ 2 67 declare bx_$bproc fixed bin external; /* 1 -> at least one component is a procedure */ 2 68 declare bx_$textlng fixed bin (18) external; /* length of new pure text portion */ 2 69 declare bx_$curdeflng fixed bin (18) external; /* current length of new definition section */ 2 70 declare bx_$tintlng fixed bin external; /* current length of new internal static */ 2 71 declare bx_$maxlinklng fixed bin external; /* maximum size linkage section may attain */ 2 72 declare bx_$maxdeflng fixed bin (18) external; /* maximum size definition section may attain */ 2 73 declare bx_$tlinklng fixed bin external; /* current size of linkage section */ 2 74 declare bx_$ncomp fixed bin external; /* number of component objects to be bound */ 2 75 declare bx_$v_lng fixed bin external; /* length of version name string */ 2 76 declare bx_$n_lng fixed bin external; /* length of bound segment name string */ 2 77 declare bx_$nsymdefs fixed bin external; /* count of non-null symbol definitions */ 2 78 declare bx_$nsegdefs fixed bin external; /* count of non-null segment name definitions */ 2 79 declare bx_$temp_bsegp ptr external; /* pointer to the temporary bound seg in the process dir */ 2 80 declare bx_$caller char (32) aligned external; /* name of the caller of bind_ for error messages */ 2 81 2 82 /**** END OF: bindext.incl.pl1 * * * * * */ 90 91 92 /* */ 93 3 1 /* Include file comptbl.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(85-09-24,Elhard), approve(85-09-24,MCR7198), 3 6* audit(86-06-30,Weaver), install(86-07-16,MR12.0-1094): 3 7* added link_regeneration_table pointer (clrtp) to component structure. 3 8* END HISTORY COMMENTS */ 3 9 3 10 declare (ctp, ctep) pointer; 3 11 3 12 declare comp_tbl(1000) pointer based(ctp); 3 13 3 14 3 15 3 16 declare 1 comp aligned based(ctep), /* declaration of a component entry */ 3 17 2 filename char(32) aligned, /* object segment's file name */ 3 18 2 compiler char(8) aligned, /* name of compiler which produced this object */ 3 19 2 format char(8) aligned, /* format of object code (PL/1, ALM etc.) */ 3 20 3 21 2 ctxtp pointer, /* pointer to base of text section */ 3 22 2 cdefp pointer, /* pointer to definitions */ 3 23 2 cstatp pointer, /* pointer to static section */ 3 24 2 clnkp pointer, /* pointer to head of linkage section */ 3 25 2 csymp pointer, /* pointer to symbol table */ 3 26 2 cfrtp pointer, /* pointer to first ref trap array */ 3 27 2 crltp pointer, /* pointer to rel-text */ 3 28 2 crllp pointer, /* pointer to rel-link */ 3 29 2 crlsp pointer, /* pointer to rel-symb */ 3 30 2 insymentp pointer, /* pointer to this component's insym table entry */ 3 31 2 clrtp pointer, /* pointer to link_regeneration_table */ 3 32 2 unused_1 pointer, /* reserve */ 3 33 2 unused_2 pointer, /* reserve */ 3 34 2 unused_3 fixed bin, /* reserve */ 3 35 2 cindex fixed bin, /* this entry's index in table */ 3 36 2 standard_object fixed bin, /* 1 -> this object has standard format */ 3 37 2 defthread fixed bin, /* beginning of comp's definition block */ 3 38 2 fn_lng fixed bin, /* length of filename string */ 3 39 2 ignore fixed bin, /* 1->ignore erroneous entry */ 3 40 2 io_table fixed bin, /* 1 -> symbol table needed for io */ 3 41 2 table_deleted fixed bin, /* 1 -> symbol table is being deleted */ 3 42 2 separate_static fixed bin, /* 1 -> component has nonzero separate static */ 3 43 (2 defblockp, /* rel pointer to component's definition block */ 3 44 2 current_def) bit(18) unaligned, /* rel pointer to component's current def */ 3 45 2 cbitcount fixed bin(24), /* bitcount of component segment */ 3 46 2 clngt fixed bin(18), /* length of pure text section */ 3 47 2 cpadt fixed bin, /* number of added padwords for text */ 3 48 2 clngd fixed bin(18), /* length of definition section */ 3 49 2 clngi fixed bin, /* length of internal static */ 3 50 2 cpadi fixed bin, /* number of added padwords for internal static */ 3 51 2 clngs fixed bin(18), /* length of original symbol table */ 3 52 2 clngns fixed bin(18), /* length of new symb section stripped of relbits */ 3 53 2 clngss fixed bin(18), /* length of symbol section minus relbits and table */ 3 54 2 cpads fixed bin, /* padding length if section length is odd */ 3 55 2 n_sym_blks fixed bin, /* number of symbol blocks */ 3 56 3 57 2 crelt fixed bin, /* relocation value for text */ 3 58 2 creli fixed bin, /* relocation value for internal static */ 3 59 2 crels fixed bin, /* relocation value for symbol section */ 3 60 2 last_item fixed bin; /*** MUST ALWAYS BE LAST IN STRUCTURE ***/ 3 61 3 62 3 63 94 95 96 /* */ 97 98 99 /* assume that all regular links have already been generated */ 100 firstref_block.version = 1; 101 firstref_block.n_traps = 0; /* for now */ 102 103 extp = addr (ext); /* to use when decoding and generating links */ 104 ext.relinfo = "lnk18"; /* fudge relocation info; can't be anything else */ 105 ext.section = "link"; /* offsets are wrt linkage section */ 106 107 /* look at each object for traps */ 108 109 ctp = bx_$ctp; 110 111 do compno = 1 to bx_$ncomp; 112 113 ctep = comp_tbl (compno); 114 if comp.cfrtp ^= null 115 then do; /* this component has a firstref trap */ 116 117 linkp = comp.clnkp; /* get ptr to component's linkage section */ 118 component_firstref_blockp = comp.cfrtp; /* get ptr to component's trap array */ 119 ext.compent_ptr = ctep; 120 121 /* get offset of trap array relative to component's linkage section */ 122 123 ext.offset = bin (rel (comp.cfrtp), 18) - bin (rel (comp.clnkp), 18) + 2; 124 125 do j = 1 to component_firstref_block.n_traps; 126 /* do for each trap in component */ 127 128 firstref_block.n_traps = firstref_block.n_traps + 1; 129 ext.ref_ptr = addr (firstref_block.trap (firstref_block.n_traps, 1)); 130 /* get ptr to new trap pair (incl header) */ 131 132 do k = 1 to 2; /* call and arg ptrs are processed the same */ 133 ext.side = eside (k); 134 ext.loffset = bin (component_firstref_block.trap (j, k), 18); 135 /* get offset of original link */ 136 if ext.loffset = 0 137 then firstref_block.trap (firstref_block.n_traps, k) = ""b; 138 else if decode_link_ (extp) 139 then bx_$fatal_error = 1; /* presumably a message will have been printed */ 140 else call ext_link_ (extp); /* regenerate link; must be external */ 141 end; 142 end; 143 end; 144 end; 145 146 /* allocate the firstref block in the linkage section */ 147 148 firstref_blockp = addrel (bx_$tlinkp, bx_$tlinklng); 149 bx_$tlinkp -> lh.first_reference = bit (bin (bx_$tlinklng, 18), 18); 150 bx_$tlinklng = bx_$tlinklng + size (firstref_block); 151 /* adjust the linkage length */ 152 unspec (based_firstref_block) = unspec (firstref_block); 153 154 return; 155 end generate_first_ref_traps_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/17/00 1936.2 generate_first_ref_traps_.pl1 >udd>sm>ds>w>ml>generate_first_ref_traps_.pl1 86 1 07/16/86 1322.1 extref.incl.pl1 >ldd>incl>extref.incl.pl1 90 2 07/16/86 1322.1 bindext.incl.pl1 >ldd>incl>bindext.incl.pl1 94 3 07/16/86 1322.1 comptbl.incl.pl1 >ldd>incl>comptbl.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. addr builtin function dcl 63 ref 103 129 addrel builtin function dcl 63 ref 148 based_firstref_block based structure level 1 dcl 68 set ref 152* bin builtin function dcl 63 ref 123 123 134 149 bit builtin function dcl 63 ref 149 bx_$ctp 000014 external static pointer dcl 2-26 ref 109 bx_$fatal_error 000022 external static fixed bin(17,0) dcl 2-49 set ref 138* bx_$n_firstrefs 000020 external static fixed bin(17,0) dcl 2-47 ref 53 152 bx_$ncomp 000026 external static fixed bin(17,0) dcl 2-74 ref 111 bx_$tlinklng 000024 external static fixed bin(17,0) dcl 2-73 set ref 148 149 150* 150 bx_$tlinkp 000016 external static pointer dcl 2-45 ref 148 149 cfrtp 26 based pointer level 2 dcl 3-16 ref 114 118 123 clnkp 22 based pointer level 2 dcl 3-16 ref 117 123 comp based structure level 1 dcl 3-16 comp_tbl based pointer array dcl 3-12 ref 113 compent_ptr 000116 automatic pointer level 2 dcl 59 set ref 119* compno 000110 automatic fixed bin(17,0) dcl 49 set ref 111* 113* component_firstref_block based structure level 1 dcl 70 component_firstref_blockp 000100 automatic pointer dcl 46 set ref 118* 125 134 ctep 000254 automatic pointer dcl 3-10 set ref 113* 114 117 118 119 123 123 ctp 000252 automatic pointer dcl 3-10 set ref 109* 113 decode_link_ 000012 constant entry external dcl 42 ref 138 eside 000114 automatic char(3) initial array dcl 51 set ref 51* 51* 133 ext 000116 automatic structure level 1 dcl 59 set ref 103 ext_link_ 000010 constant entry external dcl 40 ref 140 external_ref based structure level 1 dcl 1-12 extp 000104 automatic pointer dcl 46 set ref 103* 138* 140* first_reference 1(18) based bit(18) level 2 packed packed unaligned dcl 72 set ref 149* firstref_block 000116 automatic structure level 1 dcl 53 set ref 150 152 firstref_blockp 000106 automatic pointer dcl 46 set ref 148* 152 j 000111 automatic fixed bin(17,0) dcl 49 set ref 125* 134* k 000112 automatic fixed bin(17,0) dcl 49 set ref 132* 133 134 136* lh based structure level 1 dcl 72 linkp 000102 automatic pointer dcl 46 set ref 117* loffset 11 000116 automatic fixed bin(17,0) level 2 dcl 59 set ref 134* 136 n_traps 1 000116 automatic fixed bin(17,0) level 2 in structure "firstref_block" dcl 53 in procedure "generate_first_ref_traps_" set ref 101* 128* 128 129 136 n_traps 1 based fixed bin(17,0) level 2 in structure "component_firstref_block" dcl 70 in procedure "generate_first_ref_traps_" ref 125 null builtin function dcl 63 ref 114 offset 4 000116 automatic fixed bin(18,0) level 2 dcl 59 set ref 123* ref_ptr 2 000116 automatic pointer level 2 dcl 59 set ref 129* rel builtin function dcl 63 ref 123 123 relinfo 6 000116 automatic char(8) level 2 dcl 59 set ref 104* section 10 000116 automatic char(4) level 2 dcl 59 set ref 105* side 5 000116 automatic char(3) level 2 dcl 59 set ref 133* size builtin function dcl 63 ref 150 trap 2 based bit(18) array level 2 in structure "component_firstref_block" packed packed unaligned dcl 70 in procedure "generate_first_ref_traps_" ref 134 trap 2 000116 automatic bit(18) array level 2 in structure "firstref_block" packed packed unaligned dcl 53 in procedure "generate_first_ref_traps_" set ref 129 136* unspec builtin function dcl 63 set ref 152* 152 version 000116 automatic fixed bin(17,0) level 2 dcl 53 set ref 100* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. bx_$addname external static fixed bin(17,0) dcl 2-58 bx_$addname_limit external static fixed bin(17,0) dcl 2-24 bx_$adnp external static pointer dcl 2-36 bx_$area_begin external static fixed bin(18,0) dcl 2-25 bx_$bdefp external static pointer dcl 2-38 bx_$bindmap_def external static pointer dcl 2-37 bx_$blnkp external static pointer dcl 2-40 bx_$bound_segname external static char(32) dcl 2-48 bx_$bound_sep_stat external static fixed bin(17,0) dcl 2-64 bx_$bproc external static fixed bin(17,0) dcl 2-67 bx_$brief external static fixed bin(17,0) dcl 2-60 bx_$bseg_acinfop external static pointer dcl 2-50 bx_$bseg_bitcount external static fixed bin(24,0) dcl 2-51 bx_$bsegp external static pointer dcl 2-30 bx_$bstatp external static pointer dcl 2-39 bx_$bsymp external static pointer dcl 2-41 bx_$caller external static char(32) dcl 2-80 bx_$curdeflng external static fixed bin(18,0) dcl 2-69 bx_$d_lng external static fixed bin(18,0) dcl 2-54 bx_$debug external static fixed bin(17,0) dcl 2-59 bx_$first_rptp external static pointer dcl 2-34 bx_$force_order external static fixed bin(17,0) dcl 2-61 bx_$freep external static pointer dcl 2-27 bx_$has_comb_stat external static fixed bin(17,0) dcl 2-63 bx_$has_sep_stat external static fixed bin(17,0) dcl 2-62 bx_$i_lng external static fixed bin(17,0) dcl 2-55 bx_$inpp external static pointer dcl 2-29 bx_$isp external static pointer dcl 2-28 bx_$l_lng external static fixed bin(17,0) dcl 2-56 bx_$last_rptp external static pointer dcl 2-35 bx_$maxdeflng external static fixed bin(18,0) dcl 2-72 bx_$maxlinklng external static fixed bin(17,0) dcl 2-71 bx_$n_lng external static fixed bin(17,0) dcl 2-76 bx_$nsegdefs external static fixed bin(17,0) dcl 2-78 bx_$nsymdefs external static fixed bin(17,0) dcl 2-77 bx_$o_lng external static fixed bin(19,0) dcl 2-52 bx_$oddname_limit external static fixed bin(17,0) dcl 2-22 bx_$odnp external static pointer dcl 2-33 bx_$optp external static pointer dcl 2-32 bx_$perprocess_static external static fixed bin(17,0) dcl 2-65 bx_$s_lng external static fixed bin(18,0) dcl 2-57 bx_$size external static fixed bin(17,0) dcl 2-20 bx_$snt_limit external static fixed bin(17,0) dcl 2-21 bx_$sntp external static pointer dcl 2-42 bx_$standard external static fixed bin(17,0) dcl 2-66 bx_$stringmap_limit external static fixed bin(17,0) dcl 2-23 bx_$strmp external static pointer dcl 2-46 bx_$t_lng external static fixed bin(18,0) dcl 2-53 bx_$tdefp external static pointer dcl 2-43 bx_$temp external static pointer dcl 2-31 bx_$temp_bsegp external static pointer dcl 2-79 bx_$textlng external static fixed bin(18,0) dcl 2-68 bx_$tintlng external static fixed bin(17,0) dcl 2-70 bx_$tintp external static pointer dcl 2-44 bx_$v_lng external static fixed bin(17,0) dcl 2-75 bx_$vers_name external static char(168) dcl 2-18 bx_$vers_number external static fixed bin(17,0) dcl 2-19 NAME DECLARED BY EXPLICIT CONTEXT. generate_first_ref_traps_ 000011 constant entry external dcl 23 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 366 416 257 376 Length 644 257 30 211 106 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME generate_first_ref_traps_ 188 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME generate_first_ref_traps_ 000100 component_firstref_blockp generate_first_ref_traps_ 000102 linkp generate_first_ref_traps_ 000104 extp generate_first_ref_traps_ 000106 firstref_blockp generate_first_ref_traps_ 000110 compno generate_first_ref_traps_ 000111 j generate_first_ref_traps_ 000112 k generate_first_ref_traps_ 000114 eside generate_first_ref_traps_ 000116 firstref_block generate_first_ref_traps_ 000116 ext generate_first_ref_traps_ 000252 ctp generate_first_ref_traps_ 000254 ctep generate_first_ref_traps_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out return_mac alloc_auto_adj ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. decode_link_ ext_link_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. bx_$ctp bx_$fatal_error bx_$n_firstrefs bx_$ncomp bx_$tlinklng bx_$tlinkp LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 000010 51 000016 53 000027 100 000037 101 000041 103 000042 104 000044 105 000046 109 000050 111 000053 113 000063 114 000067 117 000073 118 000075 119 000077 123 000100 125 000110 128 000117 129 000121 132 000126 133 000133 134 000135 136 000153 138 000165 140 000205 141 000214 142 000216 144 000220 148 000222 149 000230 150 000237 152 000246 154 000256 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved