Ignore:
Timestamp:
Aug 31, 2007, 6:09:23 AM (18 years ago)
Author:
bird
Message:

kHlp work...

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kStuff/kLdr/kLdrModMachO.c

    r3571 r3573  
    3030*******************************************************************************/
    3131#include <k/kLdr.h>
    32 #include "kLdrHlp.h"
    3332#include "kLdrInternal.h"
    3433#include <k/kLdrFmts/mach-o.h>
     
    4645 */
    4746#ifdef KLDRMODMACHO_STRICT
    48 # define KLDRMODMACHO_ASSERT(expr)  kldrHlpAssert(expr)
     47# define KLDRMODMACHO_ASSERT(expr)  kHlpAssert(expr)
    4948#else
    5049# define KLDRMODMACHO_ASSERT(expr)  do {} while (0)
     
    215214    if (pModMachO)
    216215    {
    217         kldrHlpFree(pModMachO->pbLoadCommands);
    218         kldrHlpFree(pModMachO);
     216        kHlpFree(pModMachO->pbLoadCommands);
     217        kHlpFree(pModMachO);
    219218    }
    220219    return rc;
     
    279278     * Read and pre-parse the load commands to figure out how many segments we'll be needing.
    280279     */
    281     pbLoadCommands = kldrHlpAlloc(s.Hdr32.sizeofcmds);
     280    pbLoadCommands = kHlpAlloc(s.Hdr32.sizeofcmds);
    282281    if (!pbLoadCommands)
    283282        return KLDR_ERR_NO_MEMORY;
     
    290289    if (rc)
    291290    {
    292         kldrHlpFree(pbLoadCommands);
     291        kHlpFree(pbLoadCommands);
    293292        return rc;
    294293    }
     
    298297     * Calc the instance size, allocate and initialize it.
    299298     */
    300     cchFilename = kLdrHlpStrLen(kLdrRdrName(pRdr));
     299    cchFilename = kHlpStrLen(kLdrRdrName(pRdr));
    301300    cb = K_ALIGN_Z(  K_OFFSETOF(KLDRMODMACHO, aSegments[cSegments])
    302301                      + sizeof(KLDRMODMACHOSECT) * cSections, 16)
     
    304303       + cchFilename + 1
    305304       + cbStringPool;
    306     pModMachO = (PKLDRMODMACHO)kldrHlpAlloc(cb);
     305    pModMachO = (PKLDRMODMACHO)kHlpAlloc(cb);
    307306    if (!pModMachO)
    308307        return KLDR_ERR_NO_MEMORY;
     
    319318    pMod->cchFilename = cchFilename;
    320319    pMod->pszFilename = (char *)&pMod->aSegments[pMod->cSegments];
    321     kLdrHlpMemCopy((char *)pMod->pszFilename, kLdrRdrName(pRdr), cchFilename + 1);
    322     pMod->pszName = kldrHlpGetFilename(pMod->pszFilename);
     320    kHlpMemCopy((char *)pMod->pszFilename, kLdrRdrName(pRdr), cchFilename + 1);
     321    pMod->pszName = kHlpGetFilename(pMod->pszFilename);
    323322    pMod->cchName = cchFilename - (pMod->pszName - pMod->pszFilename);
    324323    switch (s.Hdr32.cputype)
     
    619618                            /* a new segment? */
    620619                            if (    !cSegments
    621                                 ||  kLdrHlpStrNComp(pSect->segname, (pSect - 1)->segname, sizeof(pSect->segname)))
     620                                ||  kHlpStrNComp(pSect->segname, (pSect - 1)->segname, sizeof(pSect->segname)))
    622621                            {
    623622#if 0 /** @todo This  doesn't work because of BSS. */
     
    626625                                while ((KUPTR)pCur >= (KUPTR)pFirstSect)
    627626                                {
    628                                     if (!kLdrHlpStrNComp(pCur->segname, pSect->segname, sizeof(pSect->segname)))
     627                                    if (!kHlpStrNComp(pCur->segname, pSect->segname, sizeof(pSect->segname)))
    629628                                        return KLDR_ERR_MACHO_BAD_SECTION_ORDER;
    630629                                    pCur--;
     
    634633                                /* ok. count it and the string. */
    635634                                cSegments++;
    636                                 cbStringPool += kLdrHlpStrNLen(&pSect->segname[0], sizeof(pSect->segname)) + 1;
     635                                cbStringPool += kHlpStrNLen(&pSect->segname[0], sizeof(pSect->segname)) + 1;
    637636                            }
    638637                            break;
     
    858857
    859858                            if (    fFirstSegment
    860                                 ||  kLdrHlpStrNComp(pSect->segname, (pSect - 1)->segname, sizeof(pSect->segname)))
     859                                ||  kHlpStrNComp(pSect->segname, (pSect - 1)->segname, sizeof(pSect->segname)))
    861860                            {
    862861                                /* close the previous segment */
     
    867866                                pSeg->pvUser = NULL;
    868867                                pSeg->pchName = pbStringPool;
    869                                 pSeg->cchName = (KU32)kLdrHlpStrNLen(&pSect->segname[0], sizeof(pSect->sectname));
    870                                 kLdrHlpMemCopy(pbStringPool, &pSect->segname[0], pSeg->cchName);
     868                                pSeg->cchName = (KU32)kHlpStrNLen(&pSect->segname[0], sizeof(pSect->sectname));
     869                                kHlpMemCopy(pbStringPool, &pSect->segname[0], pSeg->cchName);
    871870                                pbStringPool += pSeg->cchName;
    872871                                *pbStringPool++ = '\0';
     
    10021001        while (j-- > 0)
    10031002        {
    1004             kldrHlpFree(pModMachO->aSegments[i].paSections[j].paFixups);
     1003            kHlpFree(pModMachO->aSegments[i].paSections[j].paFixups);
    10051004            pModMachO->aSegments[i].paSections[j].paFixups = NULL;
    10061005        }
     
    10141013    pMod->u32Magic = 0;
    10151014    pMod->pOps = NULL;
    1016     kldrHlpFree(pModMachO->pbLoadCommands);
     1015    kHlpFree(pModMachO->pbLoadCommands);
    10171016    pModMachO->pbLoadCommands = NULL;
    1018     kldrHlpFree(pModMachO->pchStrings);
     1017    kHlpFree(pModMachO->pchStrings);
    10191018    pModMachO->pchStrings = NULL;
    1020     kldrHlpFree(pModMachO->pvaSymbols);
     1019    kHlpFree(pModMachO->pvaSymbols);
    10211020    pModMachO->pvaSymbols = NULL;
    1022     kldrHlpFree(pModMachO);
     1021    kHlpFree(pModMachO);
    10231022    return rc;
    10241023}
     
    11521151            if (psz[cchSymbol])
    11531152                continue;
    1154             if (kLdrHlpMemComp(psz, pchSymbol, cchSymbol))
     1153            if (kHlpMemComp(psz, pchSymbol, cchSymbol))
    11551154                continue;
    11561155
     
    13251324            return KLDR_ERR_MACHO_BAD_SYMBOL;
    13261325        psz = &pchStrings[paSyms[iSym].n_un.n_strx];
    1327         cch = kLdrHlpStrLen(psz);
     1326        cch = kHlpStrLen(psz);
    13281327        if (!cch)
    13291328            psz = NULL;
     
    17571756                    return KLDR_ERR_MACHO_BAD_SYMBOL;
    17581757                pszSymbol = &pModMachO->pchStrings[paSyms[iSym].n_un.n_strx];
    1759                 cchSymbol = kLdrHlpStrLen(pszSymbol);
     1758                cchSymbol = kHlpStrLen(pszSymbol);
    17601759                rc = pfnGetImport(pModMachO->pMod, NIL_KLDRMOD_IMPORT, iSym, pszSymbol, cchSymbol, NULL,
    17611760                                  &Value, &fKind, pvUser);
     
    18081807                    return KLDR_ERR_MACHO_BAD_SYMBOL;
    18091808                pszSymbol = &pModMachO->pchStrings[paSyms[iSym].n_un.n_strx];
    1810                 cchSymbol = kLdrHlpStrLen(pszSymbol);
     1809                cchSymbol = kHlpStrLen(pszSymbol);
    18111810                rc = pfnGetImport(pModMachO->pMod, NIL_KLDRMOD_IMPORT, iSym, pszSymbol, cchSymbol, NULL,
    18121811                                  &Value, &fKind, pvUser);
     
    21422141            return KLDR_ERR_SIZE_OVERFLOW;
    21432142        rc = KLDR_ERR_NO_MEMORY;
    2144         pvSyms = kldrHlpAlloc(cbSyms);
     2143        pvSyms = kHlpAlloc(cbSyms);
    21452144        if (pvSyms)
    21462145        {
    21472146            if (pModMachO->cchStrings)
    2148                 pvStrings = kldrHlpAlloc(pModMachO->cchStrings);
     2147                pvStrings = kHlpAlloc(pModMachO->cchStrings);
    21492148            else
    2150                 pvStrings = kldrHlpAllocZ(4);
     2149                pvStrings = kHlpAllocZ(4);
    21512150            if (pvStrings)
    21522151            {
     
    21882187                    return 0;
    21892188                }
    2190                 kldrHlpFree(pvStrings);
     2189                kHlpFree(pvStrings);
    21912190            }
    2192             kldrHlpFree(pvSyms);
     2191            kHlpFree(pvSyms);
    21932192        }
    21942193    }
     
    22202219    if (cbFixups / sizeof(*paFixups) != cFixups)
    22212220        return KLDR_ERR_SIZE_OVERFLOW;
    2222     paFixups = (macho_relocation_info_t *)kldrHlpAlloc(cbFixups);
     2221    paFixups = (macho_relocation_info_t *)kHlpAlloc(cbFixups);
    22232222    if (!paFixups)
    22242223        return KLDR_ERR_NO_MEMORY;
     
    22442243    }
    22452244    else
    2246         kldrHlpFree(paFixups);
     2245        kHlpFree(paFixups);
    22472246    return rc;
    22482247}
     
    23062305     * Zero the entire buffer first to simplify things.
    23072306     */
    2308     kLdrHlpMemSet(pvBits, 0, (KSIZE)pModMachO->cbImage);
     2307    kHlpMemSet(pvBits, 0, (KSIZE)pModMachO->cbImage);
    23092308
    23102309    /*
Note: See TracChangeset for help on using the changeset viewer.