Changeset 556


Ignore:
Timestamp:
Aug 8, 2003, 5:15:43 PM (22 years ago)
Author:
bird
Message:

PUBLIC symbols overrides COMM symbols.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/src/emxomf/weakld.c

    • Property cvs2svn:cvs-rev changed from 1.21 to 1.22
    r555 r556  
    14941494 *      4. adding a UNDEF where a WKEXT exists.
    14951495 *      5. adding a IMPORT where a WEAK exists.
     1496 *      6. adding a PUBLIC where a COMM exists.
    14961497 *
    14971498 * We'll warn and upgraded existing symbol when:
     
    16211622         *      4. adding a UNDEF where a WKEXT exists.
    16221623         *      5. adding a IMPORT where a WEAK exists.
     1624         *      6. adding a PUBLIC where a COMM exists.
    16231625         */
    16241626        else
     
    16381640                (fFlags & WLDSF_TYPEMASK) == WLDSF_IMPORT
    16391641            &&  (pSym->fFlags & WLDSF_WEAK) == WLDSF_WEAK
     1642            ) || ( /* 6 */
     1643                (fFlags & WLDSF_TYPEMASK) == WLDSF_PUBLIC
     1644            &&  (pSym->fFlags & WLDSF_TYPEMASK) == WLDSF_COMM
    16401645            ))
    16411646        {
     
    16441649                pSym->pszWeakName = strpool_addn(pWld->pStrMisc, pachName, cchNameWeak);
    16451650            }
     1651            if ((fFlags & WLDSF_TYPEMASK) == WLDSF_PUBLIC && (pSym->fFlags & WLDSF_TYPEMASK) == WLDSF_COMM)
     1652                memset(&pSym->u, 0, sizeof(pSym->u));
    16461653            pSym->fFlags = (pSym->fFlags & ~(WLDSF_TYPEMASK | WLDSF_WEAK | WLDSF_UNCERTAIN | WLDSF_LIBSEARCH)) | fFlags;
    16471654            if (peAction) *peAction = WLDSA_UP;
     
    35673574                         * pass2 an EXTDEF array may become too short.
    35683575                         */
    3569                         if (pWld->cMaxObjExts < pWld->cMaxLibExts && !(pWld->fFlags & WLDC_LINKER_LINK386))
     3576                        WLDINFO(pWld, ("cWeakAliases=%d cMaxObjExts=%d cMaxLibExts=%d",
     3577                                       param.cAliases + (param.iLibFile - 1) * 32, pWld->cMaxObjExts, pWld->cMaxLibExts));
     3578                        if (pWld->cMaxObjExts < pWld->cMaxLibExts + 32 && !(pWld->fFlags & WLDC_LINKER_LINK386))
    35703579                        {
    35713580                            int i;
     
    35873596                            }
    35883597                            omf.ach[omf.hdr.cb++] = 0;                              /* crc */
    3589                             for (i = pWld->cMaxLibExts + 3; i > 0; i -= 10)
     3598                            for (i = pWld->cMaxLibExts + 32; i > 0; i -= 10)
    35903599                                if (fwrite(&omf, omf.hdr.cb + sizeof(OMFREC), 1, phFile) != 1)
    35913600                                {
Note: See TracChangeset for help on using the changeset viewer.