Changeset 1205
- Timestamp:
- Feb 8, 2004, 4:53:22 AM (22 years ago)
- File:
-
- 1 edited
-
trunk/src/emx/src/emxomf/weakld.c (modified) (4 diffs, 1 prop)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/emx/src/emxomf/weakld.c
-
Property cvs2svn:cvs-rev
changed from
1.25to1.26
r1204 r1205 443 443 static inline unsigned symHash(const char* pszSym, unsigned cch); 444 444 static const char * symGetDescr(PWLDSYM pSym); 445 445 446 static void symDbg(PWLDSYM pSym, const char *pszMsg); 446 447 static PWLDSYM symAdd(PWLD pWld, PWLDMOD pMod, unsigned fFlags, const char *pachName, int cchName, PWLDSYMACTION peAction); … … 1356 1357 else 1357 1358 wldErr(pWld, "Unresolved symbol (%s) '%s'.", symGetDescr(pSym), pSym->pszName); 1358 if (pSym->cReferers) 1359 { 1360 int i; 1361 wldInfo("The symbol is referenced by:\n"); 1362 for (i = 0; i < pSym->cReferers; i++) 1363 { 1364 pMod = pSym->paReferers[i]; 1365 if (pMod->pLib) 1366 fprintf(stderr, " %s(%s)\n", pMod->pLib->pszLibName, pMod->pszModName); 1367 else 1368 fprintf(stderr, " %s\n", pMod->pszModName); 1369 } 1370 } 1359 symDumpReferers(pSym); 1371 1360 return 0; 1372 1361 } … … 1461 1450 } 1462 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1463 1474 1464 1475 … … 1709 1720 modErr(pMod, "Duplicate symbol '%s' ('%s').", pszName, pSym->pszName); 1710 1721 if (pSym->pMod) 1711 modErr(pSym->pMod, "Previous symbol defined in this module."); 1712 wldInfo("fFlags new 0x%04x fFlags old 0x%04x.", fFlags, pSym->fFlags); 1722 modErr(pSym->pMod, "Symbol previosly defined in this module."); 1723 wldInfo("fFlags new 0x%04x fFlags old 0x%04x (%s).", fFlags, pSym->fFlags, symGetDescr(pSym)); 1724 symDumpReferers(pSym); 1713 1725 pSym = NULL; 1714 1726 } 1715 1716 /* 1717 * Maintain the module pointer and referers. 1718 */ 1719 if (pSym) 1720 { 1721 if (SYM_IS_DEFINED(pSym->fFlags)) 1722 pSym->pMod = pMod; 1723 else 1727 } 1728 1729 /* 1730 * Maintain the module pointer and referers. 1731 */ 1732 if (pSym) 1733 { 1734 if (SYM_IS_DEFINED(pSym->fFlags)) 1735 pSym->pMod = pMod; 1736 else 1737 { 1738 int i; 1739 for (i = 0; i < pSym->cReferers; i++) 1740 if (pSym->paReferers[i] == pMod) 1741 break; 1742 if (i >= pSym->cReferers) 1724 1743 { 1725 int i; 1726 for (i = 0; i < pSym->cReferers; i++) 1727 if (pSym->paReferers[i] == pMod) 1728 break; 1729 if (i >= pSym->cReferers) 1730 { 1731 if (!(pSym->cReferers % 64)) 1732 pSym->paReferers = xrealloc(pSym->paReferers, sizeof(pSym->paReferers[0]) * (pSym->cReferers + 64)); 1733 pSym->paReferers[pSym->cReferers++] = pMod; 1734 } 1744 if (!(pSym->cReferers % 64)) 1745 pSym->paReferers = xrealloc(pSym->paReferers, sizeof(pSym->paReferers[0]) * (pSym->cReferers + 64)); 1746 pSym->paReferers[pSym->cReferers++] = pMod; 1735 1747 } 1736 1748 } -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.
