Changeset 516
- Timestamp:
- Aug 4, 2003, 1:05:40 AM (22 years ago)
- Location:
- trunk/src/emx/src/emxomf
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/src/emxomf/emxomfld.c
-
Property cvs2svn:cvs-rev
changed from
1.15
to1.16
r515 r516 599 599 static void weak_prelink () 600 600 { 601 int rc = 0; 602 PWLD pwld; 603 604 pwld = wldCreate (WLDC_VERBOSE); 601 int rc = 0; 602 name_list * pOpt; 603 PWLD pwld; 604 unsigned fFlags = 0; 605 606 /* look for ilinker options. */ 607 for (pOpt = options; pOpt; pOpt = pOpt->next) 608 if ( !strnicmp(pOpt->name, "/NOE", 4) 609 || !strnicmp(pOpt->name, "-NOE", 4)) 610 fFlags |= WLDC_NO_EXTENDED_DICTIONARY_SEARCH; 611 else 612 if ( !strnicmp(pOpt->name, "/INC", 4) 613 || !strnicmp(pOpt->name, "-INC", 4)) 614 fFlags = fFlags; /* Ignore for now. */ 615 else 616 if ( !strnicmp(pOpt->name, "/IG", 3) 617 || !strnicmp(pOpt->name, "-IG", 3)) 618 fFlags |= WLDC_CASE_INSENSITIVE; 619 else 620 if ( !strnicmp(pOpt->name, "/I", 2) 621 || !strnicmp(pOpt->name, "-I", 2)) 622 fFlags |= WLDC_VERBOSE; 623 else 624 if ( !strnicmp(pOpt->name, "/NOIN", 5) 625 || !strnicmp(pOpt->name, "-NOIN", 5)) 626 fFlags &= ~WLDC_VERBOSE; 627 else 628 if ( !strnicmp(pOpt->name, "/NOI", 4) 629 || !strnicmp(pOpt->name, "/NOI", 4)) 630 fFlags &= ~WLDC_CASE_INSENSITIVE; 631 632 /* create the linker and to the linking. */ 633 pwld = wldCreate (fFlags); 605 634 if (pwld) 606 635 { -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxomf/weakld.c
-
Property cvs2svn:cvs-rev
changed from
1.6
to1.7
r515 r516 54 54 #define WLDINTERR(pWld, pMod) wldIntErr(pWld, pMod, __FILE__, __LINE__, __FUNCTION__); 55 55 56 #if def DEBUG56 #if 0 /*def DEBUG*/ 57 57 #define SYMDBG(pSym, pszMsg) symDbg(pSym, pszMsg); 58 58 #define WLDDBG(a) wldDbg a … … 732 732 { 733 733 case COMENT: case COMENT | REC32: 734 switch (*++u.pch) 734 uch = OMF_BYTE(); /* comment type */ 735 uch = OMF_BYTE(); /* comment class */ 736 switch (uch) 735 737 { 736 738 case CLASS_PASS: … … 1309 1311 * 1310 1312 * We'll return upgraded existing symbol when: 1311 * 1. adding a PUBLIC or COMMwhere a UNDEF or WKEXT exists.1313 * 1. adding a PUBLIC, COMM or IMPORT where a UNDEF or WKEXT exists. 1312 1314 * 2. adding a !WEAK PUBLIC or !WEAK COMM where a WEAK PUBLIC or WEAK COMM exists. 1313 1315 * 3. adding a !WEAK UNDEF where a WEAK UNDEF exists. … … 1372 1374 /* search for existing symbol */ 1373 1375 pSym = pWld->Global.ap[uHash]; 1374 while (pSym && pSym->pszName == pszName)1376 while (pSym && pSym->pszName != pszName) 1375 1377 pSym = pSym->pHashNext; 1376 1378 … … 1444 1446 /* 1445 1447 * We'll return upgraded existing symbol when: 1446 * 1. adding a PUBLIC or COMMwhere a UNDEF or WKEXT exists.1448 * 1. adding a PUBLIC, COMM or IMPORT where a UNDEF or WKEXT exists. 1447 1449 * 2. adding a !WEAK PUBLIC or !WEAK COMM where a WEAK PUBLIC or WEAK COMM exists. 1448 1450 * 3. adding a !WEAK UNDEF where a WEAK UNDEF exists. … … 1451 1453 else 1452 1454 if ( ( /* 1 */ 1453 ((fFlags & WLDSF_TYPEMASK) == WLDSF_PUBLIC || (fFlags & WLDSF_TYPEMASK) == WLDSF_COMM )1455 ((fFlags & WLDSF_TYPEMASK) == WLDSF_PUBLIC || (fFlags & WLDSF_TYPEMASK) == WLDSF_COMM || (fFlags & WLDSF_TYPEMASK) == WLDSF_IMPORT) 1454 1456 && ((pSym->fFlags & WLDSF_TYPEMASK) == WLDSF_WKEXT || (pSym->fFlags & WLDSF_TYPEMASK) == WLDSF_UNDEF) 1455 1457 ) || ( /* 2 */ … … 1545 1547 { 1546 1548 case WLDSA_NEW: 1549 case WLDSA_UP: 1547 1550 pSym->u.import.pszImpMod = pszImpMod; 1548 1551 pSym->u.import.uImpOrd = uOrdinal; … … 1582 1585 } 1583 1586 1584 case WLDSA_UP:1585 1587 default: 1586 1588 WLDINTERR(pWld, pMod); … … 1718 1720 PWLDSYM pSym; 1719 1721 1720 pSym = symAdd(pWld, pMod, WLDSF_UNDEF | (fLibSearch ? WLDSF_LIBSEARCH : 0),1722 pSym = symAdd(pWld, pMod, WLDSF_UNDEF | WLDSF_UNCERTAIN | (fLibSearch ? WLDSF_LIBSEARCH : 0), 1721 1723 pachName, cchName, NULL); 1722 1724 if (!pSym) … … 1978 1980 1979 1981 case COMENT: case COMENT | REC32: 1980 switch (*++u.pch) 1982 uch = OMF_BYTE(); /* comment type */ 1983 uch = OMF_BYTE(); /* comment class */ 1984 switch (uch) 1981 1985 { 1982 1986 case CLASS_PASS: … … 2213 2217 * @param fFlags Linker flags as defined by enum wld_create_flags. 2214 2218 */ 2215 PWLD wldCreate( intfFlags)2219 PWLD wldCreate(unsigned fFlags) 2216 2220 { 2217 2221 PWLD pWld = xmalloc(sizeof(*pWld)); -
Property cvs2svn:cvs-rev
changed from
-
trunk/src/emx/src/emxomf/weakld.h
-
Property cvs2svn:cvs-rev
changed from
1.3
to1.4
r515 r516 51 51 /** @group Weak LD - Public methods. 52 52 * @{ */ 53 PWLD wldCreate( intfFlags);53 PWLD wldCreate(unsigned fFlags); 54 54 int wldAddObject(PWLD pWld, FILE *phFile, const char *pszName); 55 55 int wldAddDefFile(PWLD pWld, FILE *phFile, const char *pszName); 56 56 int wldAddLibrary(PWLD pWld, FILE *phFile, const char *pszName); 57 57 int wldPass1(PWLD pWld); 58 int wldGenerate _weakobj(PWLD pwld, char *pszName);58 int wldGenerateWeakobj(PWLD pwld, char *pszName); 59 59 int wldDestroy(PWLD pWld); 60 60 /** @} */ -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.