COMPILATION LISTING OF SEGMENT le_error_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/86 1257.3 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1986 * 4* * * 5* *********************************************************** */ 6 7 /****^ HISTORY COMMENTS: 8* 1) change(86-08-12,Elhard), approve(86-08-12,MCR7505), 9* audit(86-12-10,DGHowe), install(86-12-10,MR12.0-1241): 10* Originally written to display error messages from the linkage editor and 11* record severities. 12* END HISTORY COMMENTS */ 13 14 /* format: style1,insnl,ifthendo,indthenelse,^indnoniterdo,^inditerdo,indcom,^indthenbegin,^indprocbody,ind2,ll78,initcol0,dclind4,idind24,struclvlind1,comcol41 */ 15 16 le_error_: 17 proc (severity, /** severiity of error (in ) */ 18 code, /** error code (in ) */ 19 control_string); /** ioa_ control string (in ) */ 20 /*** {ioa_args} /** optional ioa_ args (in ) */ 21 22 /*** ****************************************************************/ 23 /*** */ 24 /*** Name: le_error_ */ 25 /*** Input: severity, code, control_string, {ioa args} */ 26 /*** Function: prints an error message on the error output */ 27 /*** I/O switch. If the brief option was selected */ 28 /*** (determined by the value of le_data_$brief_sw) */ 29 /*** the message is not printed. The maximum severity */ 30 /*** (in le_data_$max_severity) is updated regardless. */ 31 /*** If the severity is 4 (LE_ABORT_ERROR) the */ 32 /*** condition le_abort_ is signalled to abort the */ 33 /*** execution. */ 34 /*** Output: none */ 35 /*** */ 36 /*** ****************************************************************/ 37 38 /* constants */ 39 40 dcl ch_100_al_desc bit (36) static options (constant) 41 init ("524000000144"b3); 42 dcl ch_32_var_desc bit (36) static options (constant) 43 init ("532000000040"b3); 44 dcl ch_512_var_desc bit (36) static options (constant) 45 init ("532000002000"b3); 46 dcl ptr_desc bit (36) static options (constant) 47 init ("464000000000"b3); 48 dcl severity_msg (1:4) char (32) var static options (constant) 49 init ("WARNING", "ERROR SEVERITY 2", 50 "ERROR SEVERITY 3", "FATAL ERROR"); 51 52 /* parameters */ 53 54 dcl severity fixed bin parameter; 55 dcl code fixed bin (35) parameter; 56 dcl control_string char (*) parameter; 57 58 /* procedures */ 59 60 dcl convert_status_code_ entry (fixed bin (35), char (8) aligned, 61 char (100) aligned); 62 dcl cu_$arg_list_ptr entry (ptr); 63 dcl cu_$generate_call entry (entry, ptr); 64 dcl get_system_free_area_ entry () returns (ptr); 65 dcl ioa_$ioa_switch entry () options (variable); 66 67 /* external */ 68 69 dcl iox_$error_output ptr external; 70 dcl le_data_$display_severity 71 fixed bin external; 72 dcl le_data_$max_severity fixed bin external; 73 74 /* based */ 75 76 dcl 01 input_args aligned based (input_argsp), 77 02 header like arg_list.header, 78 02 arg_ptrs (0 refer (input_args.arg_count)) ptr, 79 02 desc_ptrs (0 refer (input_args.arg_count)) ptr; 80 dcl 01 new_args aligned based (new_argsp), 81 02 header like arg_list.header, 82 02 arg_ptrs (nargs refer (new_args.arg_count)) ptr, 83 02 desc_ptrs (nargs refer (new_args.arg_count)) ptr; 84 dcl sys_area area based (sys_areap); 85 86 /* automatic */ 87 88 dcl nargs fixed bin automatic; 89 dcl i fixed bin automatic; 90 dcl input_argsp ptr automatic; 91 dcl message char (100) aligned automatic; 92 dcl new_argsp ptr automatic; 93 dcl new_ctl_str char (512) varying automatic; 94 dcl sys_areap ptr automatic; 95 96 /* conditions */ 97 98 dcl cleanup condition; 99 dcl le_abort_ condition; 100 101 /* builtin */ 102 103 dcl addr builtin; 104 dcl addrel builtin; 105 dcl max builtin; 106 dcl null builtin; 107 108 /* update the maximum severity */ 109 110 le_data_$max_severity = max (le_data_$max_severity, severity); 111 112 /* if the severity is less than the display severity, don't display */ 113 /* a message. */ 114 115 if severity < le_data_$display_severity 116 then do; 117 if severity = LE_ABORT_ERROR 118 then signal le_abort_; 119 else return; 120 end; 121 122 /* build the new ioa_ control string */ 123 124 new_ctl_str = "^/^a:^/^a " || control_string; 125 126 /* convert the code supplied into a message */ 127 128 call convert_status_code_ (code, (""), message); 129 130 /* get the arg list pointer to copy the optional arguments */ 131 132 call cu_$arg_list_ptr (input_argsp); 133 134 /* release new arg list structure on unexpected unwind */ 135 136 sys_areap = get_system_free_area_ (); 137 138 new_argsp = null; 139 on cleanup 140 begin; 141 if new_argsp ^= null 142 then free new_args in (sys_area); 143 end; 144 145 /* determine the size of the arglist for the call to ioa_ and allocate it */ 146 147 nargs = input_args.arg_count + 1; 148 allocate new_args in (sys_area); 149 150 /* set up the new arglist header */ 151 152 new_args.header.pad1 = ""b; 153 new_args.header.call_type = Interseg_call_type; 154 new_args.header.desc_count = nargs; 155 new_args.header.pad2 = ""b; 156 157 /* set the argument and descriptor pointers for the first 4 constant args */ 158 159 new_args.arg_ptrs (1) = addr (iox_$error_output); 160 new_args.arg_ptrs (2) = addrel (addr (new_ctl_str), 1); 161 new_args.arg_ptrs (3) = addrel (addr (severity_msg (severity)), 1); 162 new_args.arg_ptrs (4) = addr (message); 163 164 new_args.desc_ptrs (1) = addr (ptr_desc); 165 new_args.desc_ptrs (2) = addr (ch_512_var_desc); 166 new_args.desc_ptrs (3) = addr (ch_32_var_desc); 167 new_args.desc_ptrs (4) = addr (ch_100_al_desc); 168 169 /* copy any additional arguments into the new arg list */ 170 171 do i = 4 to input_args.arg_count; 172 new_args.arg_ptrs (i + 1) = input_args.arg_ptrs (i); 173 new_args.desc_ptrs (i + 1) = input_args.desc_ptrs (i); 174 end; 175 176 /* call ioa_$ioa_switch with the new arglist */ 177 178 call cu_$generate_call (ioa_$ioa_switch, new_argsp); 179 180 /* free the arg_list structure */ 181 182 free new_args in (sys_area); 183 184 if severity = LE_ABORT_ERROR 185 then signal le_abort_; 186 else return; 187 188 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 189 190 /**** * * * * * * * * * * * * * * * * * * * * * * * */ 191 192 1 1 /* BEGIN INCLUDE FILE ... arg_list.incl.pl1 1 2* 1 3* James R. Davis 10 May 79 */ 1 4 1 5 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(86-05-15,DGHowe), approve(86-05-15,MCR7375), 1 9* audit(86-07-15,Schroth): 1 10* added command_name_arglist declaration to allow the storage of the 1 11* command name given to the command processor 1 12* END HISTORY COMMENTS */ 1 13 1 14 dcl 1 arg_list aligned based, 1 15 2 header, 1 16 3 arg_count fixed bin (17) unsigned unal, 1 17 3 pad1 bit (1) unal, 1 18 3 call_type fixed bin (18) unsigned unal, 1 19 3 desc_count fixed bin (17) unsigned unal, 1 20 3 pad2 bit (19) unal, 1 21 2 arg_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr, 1 22 2 desc_ptrs (arg_list_arg_count refer (arg_list.arg_count)) ptr; 1 23 1 24 1 25 dcl 1 command_name_arglist aligned based, 1 26 2 header, 1 27 3 arg_count fixed bin (17) unsigned unal, 1 28 3 pad1 bit (1) unal, 1 29 3 call_type fixed bin (18) unsigned unal, 1 30 3 desc_count fixed bin (17) unsigned unal, 1 31 3 mbz bit(1) unal, 1 32 3 has_command_name bit(1) unal, 1 33 3 pad2 bit (17) unal, 1 34 2 arg_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 1 35 2 desc_ptrs (arg_list_arg_count refer (command_name_arglist.arg_count)) ptr, 1 36 2 name, 1 37 3 command_name_ptr pointer, 1 38 3 command_name_length fixed bin (21); 1 39 1 40 1 41 1 42 dcl 1 arg_list_with_envptr aligned based, /* used with non-quick int and entry-var calls */ 1 43 2 header, 1 44 3 arg_count fixed bin (17) unsigned unal, 1 45 3 pad1 bit (1) unal, 1 46 3 call_type fixed bin (18) unsigned unal, 1 47 3 desc_count fixed bin (17) unsigned unal, 1 48 3 pad2 bit (19) unal, 1 49 2 arg_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr, 1 50 2 envptr ptr, 1 51 2 desc_ptrs (arg_list_arg_count refer (arg_list_with_envptr.arg_count)) ptr; 1 52 1 53 1 54 dcl ( 1 55 Quick_call_type init (0), 1 56 Interseg_call_type init (4), 1 57 Envptr_supplied_call_type 1 58 init (8) 1 59 ) fixed bin (18) unsigned unal int static options (constant); 1 60 1 61 /* The user must declare arg_list_arg_count - if an adjustable automatic structure 1 62* is being "liked" then arg_list_arg_count may be a parameter, in order to allocate 1 63* an argument list of the proper size in the user's stack 1 64* 1 65**/ 1 66 /* END INCLUDE FILE ... arg_list.incl.pl1 */ 193 2 1 /**** START OF: le_data.incl.pl1 * * * * * */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(86-08-12,Elhard), approve(86-08-12,MCR7505), 2 5* audit(86-12-10,DGHowe), install(86-12-10,MR12.0-1241): 2 6* Originally written to define the structures used internally by le_. 2 7* END HISTORY COMMENTS */ 2 8 2 9 /*** ****************************************************************/ 2 10 /*** */ 2 11 /*** Name: le_data */ 2 12 /*** Function: This include file defines the data structures */ 2 13 /*** used internally by the linkage_editor subroutine. */ 2 14 /*** */ 2 15 /*** ****************************************************************/ 2 16 2 17 /* error severity constants */ 2 18 2 19 dcl LE_WARNING fixed bin static options (constant) init (1); 2 20 dcl LE_ERROR fixed bin static options (constant) init (2); 2 21 dcl LE_FATAL_ERROR fixed bin static options (constant) init (3); 2 22 dcl LE_ABORT_ERROR fixed bin static options (constant) init (4); 2 23 2 24 /* section identifier constants */ 2 25 2 26 dcl Text fixed bin (3) static options (constant) 2 27 init (0); 2 28 dcl Linkage fixed bin (3) static options (constant) 2 29 init (1); 2 30 dcl Symbol fixed bin (3) static options (constant) 2 31 init (2); 2 32 dcl Definition fixed bin (3) static options (constant) 2 33 init (3); 2 34 dcl Static fixed bin (3) static options (constant) 2 35 init (4); 2 36 dcl System fixed bin (3) static options (constant) 2 37 init (5); 2 38 dcl Heap fixed bin (3) static options (constant) 2 39 init (6); 2 40 2 41 dcl section_nm (0:6) char (16) static options (constant) 2 42 init ("text", "linkage", "symbol", "definition", 2 43 "static", "system", "heap"); 2 44 2 45 /* link type constants */ 2 46 2 47 dcl Self_Base fixed bin (3) static options (constant) 2 48 init (1); 2 49 dcl Refname_Base fixed bin (3) static options (constant) 2 50 init (3); 2 51 dcl Refname_Offsetname fixed bin (3) static options (constant) 2 52 init (4); 2 53 dcl Self_Offsetname fixed bin (3) static options (constant) 2 54 init (5); 2 55 2 56 /* backpatch type constants */ 2 57 2 58 dcl Patch_Link fixed bin static options (constant) init (1); 2 59 dcl Patch_Init fixed bin static options (constant) init (2); 2 60 dcl Patch_Symbol_Ref fixed bin static options (constant) init (3); 2 61 dcl Patch_Self_Init fixed bin static options (constant) init (4); 2 62 2 63 /*** ****************************************************************/ 2 64 /*** */ 2 65 /*** Name: le_components */ 2 66 /*** Function: the component table is used to keep information */ 2 67 /*** about the input components being used and their */ 2 68 /*** disposition in output components. */ 2 69 /*** */ 2 70 /*** ****************************************************************/ 2 71 2 72 dcl 01 le_components aligned based, 2 73 02 header aligned, 2 74 03 flags aligned, 2 75 04 separate_static bit (1) unaligned, 2 76 04 perprocess_static bit (1) unaligned, 2 77 04 mbz bit (34) unaligned, 2 78 03 n_components fixed bin, 2 79 02 comp (0 refer (le_components.n_components)) 2 80 like le_comp; 2 81 2 82 /*** ****************************************************************/ 2 83 /*** */ 2 84 /*** Name: le_comp */ 2 85 /*** Function: this is a single component table entry. */ 2 86 /*** */ 2 87 /*** ****************************************************************/ 2 88 2 89 dcl 01 le_comp aligned based, 2 90 02 segp ptr, 2 91 02 bc fixed bin (24), 2 92 02 uid bit (36) aligned, 2 93 02 dtcm fixed bin (71), 2 94 02 name char (32) varying, 2 95 02 path char (194) varying, 2 96 02 compiler char (8), 2 97 02 target fixed bin, 2 98 02 flags aligned, 2 99 03 library bit (1) unaligned, 2 100 03 include bit (1) unaligned, 2 101 03 delete_table bit (1) unaligned, 2 102 03 separate_static bit (1) unaligned, 2 103 03 io_table bit (1) unaligned, 2 104 03 unique_path bit (1) unaligned, 2 105 03 mbz bit (30) unaligned, 2 106 02 tables aligned, 2 107 03 lesp ptr, 2 108 03 ledp ptr, 2 109 03 lelp ptr, 2 110 02 orig aligned, 2 111 03 textp ptr, 2 112 03 defnp ptr, 2 113 03 linkp ptr, 2 114 03 statp ptr, 2 115 03 symbp ptr, 2 116 03 rel_textp ptr, 2 117 03 rel_symbp ptr, 2 118 03 rel_linkp ptr, 2 119 03 textl fixed bin (18) unsigned unaligned, 2 120 03 defnl fixed bin (18) unsigned unaligned, 2 121 03 linkl fixed bin (18) unsigned unaligned, 2 122 03 statl fixed bin (18) unsigned unaligned, 2 123 03 symbl fixed bin (18) unsigned unaligned, 2 124 03 symbl_no_rel fixed bin (18) unsigned unaligned, 2 125 03 symbl_no_table fixed bin (18) unsigned unaligned, 2 126 03 n_symb_blocks fixed bin (18) unsigned unaligned, 2 127 03 text_boundary fixed bin (9) unsigned unaligned, 2 128 03 static_boundary fixed bin (9) unsigned unaligned, 2 129 03 next_comp fixed bin (18) unsigned unaligned, 2 130 02 new aligned, 2 131 03 rel_text fixed bin (18) unsigned unaligned, 2 132 03 rel_symb fixed bin (18) unsigned unaligned, 2 133 03 rel_stat fixed bin (18) unsigned unaligned, 2 134 03 text_pad fixed bin (18) unsigned unaligned, 2 135 03 static_pad fixed bin (18) unsigned unaligned, 2 136 03 symbol_pad fixed bin (18) unsigned unaligned; 2 137 2 138 /*** ****************************************************************/ 2 139 /*** */ 2 140 /*** Name: le_segnames */ 2 141 /*** Function: the segname table is used for two purposes: */ 2 142 /*** - to determine the target components of links */ 2 143 /*** being resolved internally. */ 2 144 /*** - to determine the segname definitions to be */ 2 145 /*** emited for definitions being retained. */ 2 146 /*** */ 2 147 /*** ****************************************************************/ 2 148 2 149 dcl 01 le_segnames aligned based, 2 150 02 header aligned, 2 151 03 n_segnames fixed bin, 2 152 02 segname (segname_count refer (le_segnames.n_segnames)), 2 153 03 str char (32) varying, 2 154 03 relp fixed bin (18) unsigned unaligned, 2 155 03 pad bit (18) unaligned; 2 156 dcl segname_count fixed bin automatic; 2 157 2 158 /*** ****************************************************************/ 2 159 /*** */ 2 160 /*** Name: le_definitions */ 2 161 /*** Function: the definition table contains the definitions */ 2 162 /*** from the input components and is used to resolve */ 2 163 /*** link targets, and regenerate definition entries */ 2 164 /*** */ 2 165 /*** ****************************************************************/ 2 166 2 167 dcl 01 le_definitions aligned based, 2 168 02 header aligned, 2 169 03 n_defs fixed bin, 2 170 03 pad bit (36), 2 171 02 def (def_count refer (le_definitions.n_defs)) 2 172 like le_definition; 2 173 dcl def_count fixed bin automatic; 2 174 2 175 dcl 01 le_definition aligned based, 2 176 02 str char (256) varying, 2 177 02 type fixed bin (18) unsigned unaligned, 2 178 02 relp fixed bin (18) unsigned unaligned, 2 179 02 offset fixed bin (18) unsigned unaligned, 2 180 02 new_offset fixed bin (18) unsigned unaligned, 2 181 02 flags aligned, 2 182 03 force_retain bit (1) unaligned, 2 183 03 entrypoint bit (1) unaligned, 2 184 03 ignore bit (1) unaligned, 2 185 03 referenced bit (1) unaligned, 2 186 03 no_link bit (1) unaligned, 2 187 03 retain bit (1) unaligned, 2 188 03 delete bit (1) unaligned, 2 189 03 mbz bit (29) unaligned; 2 190 2 191 /*** ****************************************************************/ 2 192 /*** */ 2 193 /*** Name: le_options */ 2 194 /*** Function: the option table contains definition retention */ 2 195 /*** information. The input retentions options are */ 2 196 /*** ordered such that a linear search of the option */ 2 197 /*** table for the first matching starname will give */ 2 198 /*** the correct retention state. */ 2 199 /*** */ 2 200 /*** ****************************************************************/ 2 201 2 202 dcl 01 le_options aligned based, 2 203 02 header aligned, 2 204 03 n_opts fixed bin, 2 205 02 opt (0 refer (le_options.n_opts)), 2 206 03 type fixed bin (8) unaligned, 2 207 03 used bit (1) unaligned, 2 208 03 inhibit_error bit (1) unaligned, 2 209 03 class fixed bin (6) unaligned, 2 210 03 order fixed bin (17) unaligned, 2 211 03 segname char (32) unaligned, 2 212 03 ep_name char (256) unaligned; 2 213 2 214 /*** ****************************************************************/ 2 215 /*** */ 2 216 /*** Name: le_links */ 2 217 /*** Function: the link table contains information on all of the */ 2 218 /*** links in the input components. It is used to */ 2 219 /*** determine link targets, which library components */ 2 220 /*** will be included, and what init_info will be */ 2 221 /*** used, and where it will be placed. */ 2 222 /*** */ 2 223 /*** ****************************************************************/ 2 224 2 225 dcl 01 le_links aligned based, 2 226 02 header aligned, 2 227 03 offset_adjustment fixed bin (18), 2 228 03 n_links fixed bin, 2 229 02 link (link_count refer (le_links.n_links)) 2 230 like le_link; 2 231 dcl link_count fixed bin automatic; 2 232 2 233 dcl 01 le_link aligned based, 2 234 02 flags unaligned, 2 235 03 used bit (1), 2 236 03 mbx bit (35), 2 237 02 type fixed bin (6) unsigned unaligned, 2 238 02 class fixed bin (6) unsigned unaligned, 2 239 02 mod bit (6) unaligned, 2 240 02 exp fixed bin (17) unaligned, 2 241 02 target fixed bin (18) unsigned unaligned, 2 242 02 defx fixed bin (18) unsigned unaligned, 2 243 02 relp fixed bin (18) unsigned unaligned, 2 244 02 target_comp fixed bin (18) unsigned unaligned, 2 245 02 target_link fixed bin (18) unsigned unaligned, 2 246 02 extension fixed bin (18) unsigned unaligned, 2 247 02 initp ptr unaligned, 2 248 02 segnamep ptr unaligned, 2 249 02 offsetp ptr unaligned; 2 250 2 251 /*** ****************************************************************/ 2 252 /*** */ 2 253 /*** Name: le_binaries */ 2 254 /*** Function: This table contains information about the output */ 2 255 /*** binaries. It is primarily used for creation and */ 2 256 /*** backpatching of MSF output. */ 2 257 /*** */ 2 258 /*** ****************************************************************/ 2 259 2 260 dcl 01 le_binaries aligned based, 2 261 02 header aligned, 2 262 03 n_binaries fixed bin, 2 263 03 pad bit (36), 2 264 02 binary (0:0 refer (le_binaries.n_binaries)), 2 265 03 segp ptr, 2 266 03 bc fixed bin (24), 2 267 03 uid bit (36), 2 268 03 aclc fixed bin, 2 269 03 aclp ptr, 2 270 03 textp ptr, 2 271 03 defnp ptr, 2 272 03 linkp ptr, 2 273 03 symbp ptr, 2 274 03 statp ptr, 2 275 03 textl fixed bin (18) unsigned unaligned, 2 276 03 defnl fixed bin (18) unsigned unaligned, 2 277 03 linkl fixed bin (18) unsigned unaligned, 2 278 03 symbl fixed bin (18) unsigned unaligned, 2 279 03 statl fixed bin (18) unsigned unaligned, 2 280 03 mbz2 bit (18) unaligned; 2 281 2 282 /*** ****************************************************************/ 2 283 /*** */ 2 284 /*** Name: le_patches */ 2 285 /*** Function: This table contains the list of backpatches to be */ 2 286 /*** performed when the rest of the object creation is */ 2 287 /*** complete. Since le_backpatch_ is the only routine */ 2 288 /*** concerned with this, it is maintained completely */ 2 289 /*** internal to le_backpatch_. */ 2 290 /*** */ 2 291 /*** ****************************************************************/ 2 292 2 293 dcl 01 le_patches aligned based, 2 294 02 header aligned, 2 295 03 n_patches fixed bin, 2 296 02 patch (0 refer (le_patches.n_patches)) like le_patch; 2 297 2 298 dcl 01 le_patch aligned based, 2 299 02 type fixed bin, 2 300 02 comp fixed bin, 2 301 02 relp fixed bin (18) unsigned, 2 302 02 target fixed bin, 2 303 02 index fixed bin; 2 304 2 305 /**** END OF: le_data.incl.pl1 * * * * * */ 194 195 196 end le_error_; 197 SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/86 1252.1 le_error_.pl1 >special_ldd>install>MR12.0-1241>le_error_.pl1 193 1 08/05/86 0856.8 arg_list.incl.pl1 >ldd>include>arg_list.incl.pl1 194 2 12/10/86 1248.4 le_data.incl.pl1 >special_ldd>install>MR12.0-1241>le_data.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. Interseg_call_type constant fixed bin(18,0) initial unsigned unaligned dcl 1-54 ref 153 LE_ABORT_ERROR constant fixed bin(17,0) initial dcl 2-22 ref 117 184 addr builtin function dcl 103 ref 159 160 161 162 164 165 166 167 addrel builtin function dcl 104 ref 160 161 arg_count based fixed bin(17,0) level 3 in structure "new_args" packed unsigned unaligned dcl 80 in procedure "le_error_" set ref 141 141 148* 164 165 166 167 173 182 182 arg_count based fixed bin(17,0) level 3 in structure "input_args" packed unsigned unaligned dcl 76 in procedure "le_error_" ref 147 171 173 arg_list based structure level 1 dcl 1-14 arg_ptrs 2 based pointer array level 2 in structure "new_args" dcl 80 in procedure "le_error_" set ref 159* 160* 161* 162* 172* arg_ptrs 2 based pointer array level 2 in structure "input_args" dcl 76 in procedure "le_error_" ref 172 call_type 0(18) based fixed bin(18,0) level 3 packed unsigned unaligned dcl 80 set ref 153* ch_100_al_desc 000046 constant bit(36) initial unaligned dcl 40 set ref 167 ch_32_var_desc 000045 constant bit(36) initial unaligned dcl 42 set ref 166 ch_512_var_desc 000044 constant bit(36) initial unaligned dcl 44 set ref 165 cleanup 000344 stack reference condition dcl 98 ref 139 code parameter fixed bin(35,0) dcl 55 set ref 16 128* control_string parameter char unaligned dcl 56 ref 16 124 convert_status_code_ 000010 constant entry external dcl 60 ref 128 cu_$arg_list_ptr 000012 constant entry external dcl 62 ref 132 cu_$generate_call 000014 constant entry external dcl 63 ref 178 desc_count 1 based fixed bin(17,0) level 3 packed unsigned unaligned dcl 80 set ref 154* desc_ptrs based pointer array level 2 in structure "input_args" dcl 76 in procedure "le_error_" ref 173 desc_ptrs based pointer array level 2 in structure "new_args" dcl 80 in procedure "le_error_" set ref 164* 165* 166* 167* 173* get_system_free_area_ 000016 constant entry external dcl 64 ref 136 header based structure level 2 in structure "new_args" dcl 80 in procedure "le_error_" header based structure level 2 in structure "input_args" dcl 76 in procedure "le_error_" header based structure level 2 in structure "arg_list" dcl 1-14 in procedure "le_error_" i 000101 automatic fixed bin(17,0) dcl 89 set ref 171* 172 172 173 173* input_args based structure level 1 dcl 76 input_argsp 000102 automatic pointer dcl 90 set ref 132* 147 171 172 173 ioa_$ioa_switch 000020 constant entry external dcl 65 ref 178 178 iox_$error_output 000022 external static pointer dcl 69 set ref 159 le_abort_ 000352 stack reference condition dcl 99 ref 117 184 le_comp based structure level 1 dcl 2-89 le_data_$display_severity 000024 external static fixed bin(17,0) dcl 70 ref 115 le_data_$max_severity 000026 external static fixed bin(17,0) dcl 72 set ref 110* 110 le_definition based structure level 1 dcl 2-175 le_link based structure level 1 dcl 2-233 le_patch based structure level 1 dcl 2-298 max builtin function dcl 105 ref 110 message 000104 automatic char(100) dcl 91 set ref 128* 162 nargs 000100 automatic fixed bin(17,0) dcl 88 set ref 147* 148 148 148 154 new_args based structure level 1 dcl 80 set ref 141 148 182 new_argsp 000136 automatic pointer dcl 92 set ref 138* 141 141 148* 152 153 154 155 159 160 161 162 164 165 166 167 172 173 178* 182 new_ctl_str 000140 automatic varying char(512) dcl 93 set ref 124* 160 null builtin function dcl 106 ref 138 141 pad1 0(17) based bit(1) level 3 packed unaligned dcl 80 set ref 152* pad2 1(17) based bit(19) level 3 packed unaligned dcl 80 set ref 155* ptr_desc 000047 constant bit(36) initial unaligned dcl 46 set ref 164 severity parameter fixed bin(17,0) dcl 54 ref 16 110 115 117 161 184 severity_msg 000000 constant varying char(32) initial array dcl 48 set ref 161 sys_area based area(1024) dcl 84 ref 141 148 182 sys_areap 000342 automatic pointer dcl 94 set ref 136* 141 148 182 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. Definition internal static fixed bin(3,0) initial dcl 2-32 Envptr_supplied_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 1-54 Heap internal static fixed bin(3,0) initial dcl 2-38 LE_ERROR internal static fixed bin(17,0) initial dcl 2-20 LE_FATAL_ERROR internal static fixed bin(17,0) initial dcl 2-21 LE_WARNING internal static fixed bin(17,0) initial dcl 2-19 Linkage internal static fixed bin(3,0) initial dcl 2-28 Patch_Init internal static fixed bin(17,0) initial dcl 2-59 Patch_Link internal static fixed bin(17,0) initial dcl 2-58 Patch_Self_Init internal static fixed bin(17,0) initial dcl 2-61 Patch_Symbol_Ref internal static fixed bin(17,0) initial dcl 2-60 Quick_call_type internal static fixed bin(18,0) initial unsigned unaligned dcl 1-54 Refname_Base internal static fixed bin(3,0) initial dcl 2-49 Refname_Offsetname internal static fixed bin(3,0) initial dcl 2-51 Self_Base internal static fixed bin(3,0) initial dcl 2-47 Self_Offsetname internal static fixed bin(3,0) initial dcl 2-53 Static internal static fixed bin(3,0) initial dcl 2-34 Symbol internal static fixed bin(3,0) initial dcl 2-30 System internal static fixed bin(3,0) initial dcl 2-36 Text internal static fixed bin(3,0) initial dcl 2-26 arg_list_with_envptr based structure level 1 dcl 1-42 command_name_arglist based structure level 1 dcl 1-25 def_count automatic fixed bin(17,0) dcl 2-173 le_binaries based structure level 1 dcl 2-260 le_components based structure level 1 dcl 2-72 le_definitions based structure level 1 dcl 2-167 le_links based structure level 1 dcl 2-225 le_options based structure level 1 dcl 2-202 le_patches based structure level 1 dcl 2-293 le_segnames based structure level 1 dcl 2-149 link_count automatic fixed bin(17,0) dcl 2-231 section_nm internal static char(16) initial array unaligned dcl 2-41 segname_count automatic fixed bin(17,0) dcl 2-156 NAME DECLARED BY EXPLICIT CONTEXT. le_error_ 000074 constant entry external dcl 16 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 600 630 441 610 Length 1050 441 30 204 136 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME le_error_ 278 external procedure is an external procedure. on unit on line 139 65 on unit STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME le_error_ 000100 nargs le_error_ 000101 i le_error_ 000102 input_argsp le_error_ 000104 message le_error_ 000136 new_argsp le_error_ 000140 new_ctl_str le_error_ 000342 sys_areap le_error_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out return_mac signal_op enable_op shorten_stack ext_entry_desc int_entry op_alloc_ op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. convert_status_code_ cu_$arg_list_ptr cu_$generate_call get_system_free_area_ ioa_$ioa_switch THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. iox_$error_output le_data_$display_severity le_data_$max_severity LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 16 000070 110 000107 115 000115 117 000120 119 000126 124 000127 128 000152 132 000170 136 000177 138 000206 139 000210 141 000224 143 000241 147 000242 148 000246 152 000264 153 000266 154 000270 155 000275 159 000277 160 000302 161 000306 162 000315 164 000317 165 000324 166 000326 167 000330 171 000332 172 000345 173 000352 174 000375 178 000377 182 000414 184 000424 186 000434 196 000435 ----------------------------------------------------------- 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