Changeset 545
- Timestamp:
- Aug 8, 2003, 12:26:06 AM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/emx/src/emxomf/emxomfld.c ¶
-
Property cvs2svn:cvs-rev
changed from
1.22
to1.23
r544 r545 142 142 static const char *linker_name = "ilink.exe"; 143 143 144 /* The type of linker to use. By default we assume it's VAC365 or later 144 /* The type of linker to use. By default we assume it's VAC365 or later 145 145 version of ilink. This can be overridden with the EMXOMFLD_TYPE env. 146 146 var. using any of the value VAC365, VAC308 and LINK386. */ … … 333 333 334 334 max_len = (response_file == NULL ? 110 : 52); 335 if ( line_len + len + 1 > max_len 335 if ( line_len + len + 1 > max_len 336 336 || (force_response_file && !response_file)) 337 337 { … … 443 443 444 444 445 /* Build the environment for the IBM/M$ Linkers: define the LIB 445 /* Build the environment for the IBM/M$ Linkers: define the LIB 446 446 environment variable. */ 447 447 … … 725 725 /* cleanup the linker */ 726 726 WLDDestroy (pwld); 727 727 728 728 /* last words */ 729 729 if (rc) … … 799 799 800 800 801 /* Execute commandline and returns the result. 801 /* Execute commandline and returns the result. 802 802 pszwhat is used for opt_t trace information. */ 803 803 … … 839 839 if (*psz2) 840 840 *psz2++ = '\0'; 841 841 842 842 /* add argument to argument vector. */ 843 843 if (!(argi % 32)) … … 846 846 847 847 /* next */ 848 psz = psz2; 848 psz = psz2; 849 849 } 850 850 argv[argi] = NULL; … … 888 888 889 889 890 /* Main function of emxomf. Parse the command line and call the IBM/M$ 890 /* Main function of emxomf. Parse the command line and call the IBM/M$ 891 891 linker (and optionally RC). */ 892 892 … … 899 899 900 900 /* Get options from response files (@filename) and wildcard (*.o) on the command. */ 901 901 902 902 _response (&argc, &argv); 903 903 _wildcard (&argc, &argv); … … 1096 1096 make_env (); 1097 1097 1098 /* EMXOMFLD_TYPE contains VAC365, VAC308 or LINK386 if set. If non of these 1098 /* EMXOMFLD_TYPE contains VAC365, VAC308 or LINK386 if set. If non of these 1099 1099 we assume VAC365. 1100 EMXOMFLD_LINKER contains the linker name and perhaps extra arguments. If 1100 EMXOMFLD_LINKER contains the linker name and perhaps extra arguments. If 1101 1101 not set we'll use the default linker, ilink. */ 1102 1102 … … 1148 1148 arg_init (TRUE); 1149 1149 1150 /* 1150 /* 1151 1151 For VAC365 and VAC308 the default options is: 1152 1152 … … 1155 1155 are grouped and separated by commas. 1156 1156 1157 /DBGPACK If !strip_symbols then we'll add this option, which 1157 /DBGPACK If !strip_symbols then we'll add this option, which 1158 1158 will cause type tables to be merged into one global 1159 1159 table and so eliminating a lot of duplicate info. 1160 1160 1161 1161 For VAC365 additional default option is: 1162 1162 1163 1163 /STUB:<emxomfld-path>\os2stub.bin 1164 Causes this MZ stub to be used when linking the 1164 Causes this MZ stub to be used when linking the 1165 1165 executables instead of the default on for the linker. 1166 1166 1167 1167 For LINK386 the default options is: 1168 1168 1169 1169 /BATCH Run in batch mode (disable prompting, don't 1170 1170 echo response file) 1171 1171 1172 1172 The default options for all linkers are: 1173 1173 … … 1184 1184 'CODE'). Not grouping neighboring code 1185 1185 segments would break sets 1186 1186 1187 1187 For non DLLs targets: 1188 1188 1189 1189 /BASE:0x10000 Base the executable an so removing extra fixups. 1190 1190 … … 1196 1196 /* the next part depends on the linker type. */ 1197 1197 if (!stricmp (linker_type, "LINK386")) 1198 put_arg ("/bat", FALSE, FALSE); 1198 put_arg ("/bat", FALSE, FALSE); 1199 1199 else /* vac3xx: */ 1200 1200 { 1201 put_arg ("/nofree", FALSE, FALSE); 1201 put_arg ("/nofree", FALSE, FALSE); 1202 1202 if (!strip_symbols) 1203 put_arg ("/db", FALSE, FALSE); 1203 put_arg ("/db", FALSE, FALSE); 1204 1204 if (map_flag) 1205 put_arg ("/map", FALSE, FALSE); 1205 put_arg ("/map", FALSE, FALSE); 1206 1206 } 1207 1207 put_arg ("/nol", FALSE, FALSE); … … 1210 1210 put_arg ("/packc", FALSE, FALSE); 1211 1211 1212 1213 /* VAC365: check if we have os2stub.bin. 1214 We must to this after the above stuff else /nol might end up in the 1212 1213 /* VAC365: check if we have os2stub.bin. 1214 We must to this after the above stuff else /nol might end up in the 1215 1215 response file and we'll get the component output. */ 1216 1216 … … 1285 1285 1286 1286 /* Put the object file names onto the command line. */ 1287 1287 1288 1288 force_response_file = TRUE; /* link386 workaround. */ 1289 1289 put_args (obj_fnames, TRUE); … … 1315 1315 rc = emxomfld_spawn (command_line, "Linker"); 1316 1316 if (rc == 4 && !strnicmp(linker_type, "VAC3", 4)) /* Ignore iLink warnings. */ 1317 rc = 0; 1317 rc = 0; 1318 1318 if (rc < 0) 1319 1319 { … … 1352 1352 _execname(&execname[0], sizeof(execname)); 1353 1353 strcpy(_getname(&execname[0]), "ldstub.bin"); 1354 1354 1355 1355 /* Copy stub into file */ 1356 1356 if (opt_t) -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.