Changeset 544
- Timestamp:
- Aug 7, 2003, 9:46:41 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/src/emxomf/weakld.c
-
Property cvs2svn:cvs-rev
changed from
1.18
to1.19
r543 r544 353 353 /** string pool for miscellaneous string. */ 354 354 struct strpool * pStrMisc; 355 356 /** @group ILINK Crash Workaround 357 * @{ */ 358 /** Maximum number of externals in a object module. */ 359 unsigned cMaxObjExts; 360 361 /** Maximum number of externals in a library module. */ 362 unsigned cMaxLibExts; 363 /** @} */ 355 364 }; 356 365 typedef struct wld WLD; … … 2411 2420 papExts[i]->fFlags &= ~WLDSF_UNCERTAIN; 2412 2421 2422 /* Max extdefs values. */ 2423 if (fLibSearch) 2424 { 2425 if (pWld->cMaxLibExts < cExts) 2426 pWld->cMaxLibExts = cExts; 2427 } 2428 else 2429 { 2430 if (pWld->cMaxObjExts < cExts) 2431 pWld->cMaxObjExts = cExts; 2432 } 2433 2413 2434 return 0; 2414 2435 … … 3540 3561 if (!rc) 3541 3562 { 3563 /* Check if we need to fake a lot's of externals for working around an ILINK bug. */ 3564 if (pWld->cMaxObjExts < pWld->cMaxLibExts && !(pWld->fFlags & WLDC_LINKER_LINK386)) 3565 { 3566 int i; 3567 if (!param.cAliases) 3568 { 3569 rc = wldObjStart(pWld, phFile, "extdefshack.obj"); 3570 param.cAliases++; 3571 } 3572 3573 /* issue a shitload of extdefs. */ 3574 omf.hdr.chType = EXTDEF; 3575 omf.ach[0] = strlen("WEAK$ZERO"); 3576 memcmp(&omf.ach[1], "WEAK$ZERO", omf.ach[0]); 3577 omf.ach[omf.ach[0] + 2] = 0; 3578 omf.hdr.cb = omf.ach[0] + 3; 3579 for (i = 0; i < pWld->cMaxLibExts; i++) 3580 { 3581 } 3582 } 3583 3542 3584 if (ftell(phFile) != offAlias) 3543 3585 { 3544 3586 /* end the last object? */ 3545 if ( (pWld->fFlags & WLDC_LINKER_LINK386) && param.cAliases > 1)3587 if (pWld->fFlags & WLDC_LINKER_LINK386) 3546 3588 { 3547 rc = wldObjEnd(pWld, phFile, 32); 3589 if (param.cAliases) 3590 rc = wldObjEnd(pWld, phFile, 32); 3548 3591 if (!rc) 3549 3592 { … … 3559 3602 } 3560 3603 } 3561 else 3604 else if (param.cAliases) 3562 3605 rc = wldObjEnd(pWld, phFile, 1); 3563 3606 } -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.