VirtualBox

Changeset 46862 in vbox


Ignore:
Timestamp:
Jun 28, 2013 10:52:33 AM (12 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
86824
Message:

IMP2 build fix (should fix mac osx, hopefully without breaking linux and solaris).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bldprogs/VBoxTpG.cpp

    r46558 r46862  
    783783     */
    784784    bool const fWin64   = g_cBits == 64 && (!strcmp(g_pszAssemblerFmtVal, "win64") || !strcmp(g_pszAssemblerFmtVal, "pe64"));
    785     bool const fMachO64 = g_cBits == 64 && !strcmp(g_pszAssemblerFmtVal, "macho64");
    786     bool const fMachO32 = g_cBits == 32 && !strcmp(g_pszAssemblerFmtVal, "macho32");
     785    bool const fElf     = !strcmp(g_pszAssemblerFmtVal, "elf32") || !strcmp(g_pszAssemblerFmtVal, "elf64");
    787786    ScmStreamPrintf(pStrm,
    788787                    "\n"
     
    791790                    ";\n"
    792791                    "BEGINCODE\n"
    793                     "extern %sNAME(%s)\n",
    794                     g_fProbeFnImported ? "IMP" : "",
    795                     g_pszProbeFnName);
    796     if (fMachO64 && g_fProbeFnImported && !g_fPic)
     792                    );
     793    if (g_fProbeFnImported)
    797794        ScmStreamPrintf(pStrm,
    798                         "g_pfnVtgProbeFn:\n"
    799                         "   dq NAME(%s)\n",
     795                        "EXTERN_IMP2 %s\n"
     796                        "BEGINCODE ; EXTERN_IMP2 changes section\n",
    800797                        g_pszProbeFnName);
     798    else
     799        ScmStreamPrintf(pStrm, "extern NAME(%s)\n", g_pszProbeFnName);
    801800
    802801    RTListForEach(&g_ProviderHead, pProvider, VTGPROVIDER, ListEntry)
     
    836835             */
    837836            if (g_cBits == 32)
    838                 ScmStreamPrintf(pStrm, g_fPic ?
     837                ScmStreamPrintf(pStrm, g_fPic && fElf ?
    839838                                "        jmp     %s wrt ..plt\n"
    840839                                : g_fProbeFnImported ?
     
    844843                                "        jmp     NAME(%s)\n"
    845844                                , g_pszProbeFnName);
    846             else if (fMachO64 && g_fProbeFnImported)
    847                 ScmStreamPrintf(pStrm,
    848                                 "        jmp     [g_pfnVtgProbeFn wrt rip]\n");
    849845            else
    850                 ScmStreamPrintf(pStrm, g_fPic ?
     846                ScmStreamPrintf(pStrm, g_fPic && fElf ?
    851847                                "        jmp     [rel %s wrt ..got]\n"
    852848                                : g_fProbeFnImported ?
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette