VirtualBox

Changeset 40857 in vbox for trunk/src/bldprogs


Ignore:
Timestamp:
Apr 10, 2012 6:52:33 PM (13 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
77387
Message:

Make VBoxTpG work on 64-bit darwin. (Still need to check 32-bit.)

File:
1 edited

Legend:

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

    r40851 r40857  
    136136static const char           g_szAssemblerFmtVal32[]     = "macho32";
    137137static const char           g_szAssemblerFmtVal64[]     = "macho64";
     138static const char           g_szAssemblerOsDef[]        = "RT_OS_DARWIN";
    138139#elif defined(RT_OS_OS2)
    139140static const char          *pszAssembler                = "nasm.exe";
     
    141142static const char           g_szAssemblerFmtVal32[]     = "obj";
    142143static const char           g_szAssemblerFmtVal64[]     = "elf64";
     144static const char           g_szAssemblerOsDef[]        = "RT_OS_OS2";
    143145#elif defined(RT_OS_WINDOWS)
    144146static const char          *g_pszAssembler              = "yasm.exe";
     
    146148static const char           g_szAssemblerFmtVal32[]     = "win32";
    147149static const char           g_szAssemblerFmtVal64[]     = "win64";
     150static const char           g_szAssemblerOsDef[]        = "RT_OS_WINDOWS";
    148151#else
    149152static const char          *g_pszAssembler              = "yasm";
     
    151154static const char           g_szAssemblerFmtVal32[]     = "elf32";
    152155static const char           g_szAssemblerFmtVal64[]     = "elf64";
     156# ifdef RT_OS_FREEBSD
     157static const char           g_szAssemblerOsDef[]        = "RT_OS_FREEBSD";
     158# elif  defined(RT_OS_NETBSD)
     159static const char           g_szAssemblerOsDef[]        = "RT_OS_NETBSD";
     160# elif  defined(RT_OS_OPENBSD)
     161static const char           g_szAssemblerOsDef[]        = "RT_OS_OPENBSD";
     162# elif  defined(RT_OS_LINUX)
     163static const char           g_szAssemblerOsDef[]        = "RT_OS_LINUX";
     164# elif  defined(RT_OS_SOLARIS)
     165static const char           g_szAssemblerOsDef[]        = "RT_OS_SOLARIS";
     166# else
     167#  error "Port me!"
     168# endif
    153169#endif
    154170static const char          *g_pszAssemblerFmtVal        = RT_CONCAT(g_szAssemblerFmtVal, ARCH_BITS);
     
    253269    else
    254270        apszArgs[iArg++] = "RT_ARCH_AMD64";
     271    if (g_szAssemblerOsDef[0])
     272    {
     273        apszArgs[iArg++] = g_pszAssemblerDefOpt;
     274        apszArgs[iArg++] = g_szAssemblerOsDef;
     275    }
    255276    apszArgs[iArg++] = g_pszAssemblerIncOpt;
    256277    apszArgs[iArg++] = g_pszAssemblerIncVal;
     
    452473                    "  NAME(%%1):\n"
    453474                    " %%endmacro\n"
    454                     " ;[section VTG Obj align=4096]\n"
    455                     " [section .data]\n"
     475                    " [section __VTG __VTGObj        align=64]\n"
    456476                    "\n"
    457477                    "%%elifdef ASM_FORMAT_PE\n"
     
    502522                    "    RTCCPTR_DEF NAME(g_aVTGArgLists)\n"
    503523                    "    RTCCPTR_DEF NAME(g_aVTGArgLists_End)      - NAME(g_aVTGArgLists)\n"
     524                    "%%ifdef ASM_FORMAT_MACHO ; Apple has a real decent linker!\n"
     525                    "extern section$start$__VTG$__VTGPrLc\n"
     526                    "    RTCCPTR_DEF section$start$__VTG$__VTGPrLc\n"
     527                    "extern section$end$__VTG$__VTGPrLc\n"
     528                    "    RTCCPTR_DEF section$end$__VTG$__VTGPrLc\n"
     529                    "%%else\n"
    504530                    "    RTCCPTR_DEF NAME(g_aVTGPrLc)\n"
    505531                    "    RTCCPTR_DEF NAME(g_aVTGPrLc_End) ; cross section/segment size not possible\n"
     532                    "%%endif\n"
    506533                    "    RTCCPTR_DEF 0\n"
    507534                    "    RTCCPTR_DEF 0\n"
     
    642669                            "    dd %6u  ; name\n"
    643670                            "    dd %6u  ; Argument list offset\n"
    644                             "    dw g_fVTGProbeEnabled_%s_%s - g_afVTGProbeEnabled\n"
     671                            "    dw NAME(g_fVTGProbeEnabled_%s_%s) - NAME(g_afVTGProbeEnabled)\n"
    645672                            "    dw %6u  ; provider index\n"
    646673                            "    dd 0       ; for the application\n"
     
    19031930        { "--probe-fn-name",                    kVBoxTpGOpt_ProbeFnName,                RTGETOPT_REQ_STRING  },
    19041931        { "--probe-fn-imported",                kVBoxTpGOpt_ProbeFnImported,            RTGETOPT_REQ_BOOL    },
     1932        /** @todo We're missing a bunch of assembler options! */
    19051933    };
    19061934
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