VirtualBox

Changeset 40589 in vbox for trunk/src/bldprogs/VBoxTpG.cpp


Ignore:
Timestamp:
Mar 23, 2012 10:07:47 AM (13 years ago)
Author:
vboxsync
Message:

VBoxTpG: some fixes and more on the subject of locating the VTGPrLc section.

File:
1 edited

Legend:

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

    r40572 r40589  
    169169#elif defined(RT_OS_WINDOWS)
    170170static const char          *g_pszAssembler              = "yasm.exe";
    171 static const char          *g_pszAssemblerFmtOpt        = "--oformat";
     171static const char          *g_pszAssemblerFmtOpt        = "-f";
    172172static const char           g_szAssemblerFmtVal32[]     = "win32";
    173173static const char           g_szAssemblerFmtVal64[]     = "win64";
    174174#else
    175175static const char          *g_pszAssembler              = "yasm";
    176 static const char          *g_pszAssemblerFmtOpt        = "--oformat";
     176static const char          *g_pszAssemblerFmtOpt        = "-f";
    177177static const char           g_szAssemblerFmtVal32[]     = "elf32";
    178178static const char           g_szAssemblerFmtVal64[]     = "elf64";
     
    458458                    "\n"
    459459                    ";"
    460                     "; Put all the data in a dedicated section / segment."
     460                    "; We put all the data in a dedicated section / segment.\n"
     461                    ";\n"
     462                    "; In order to find the probe location specifiers, we do the necessary\n"
     463                    "; trickery here, ASSUMING that this object comes in first in the link\n"
     464                    "; editing process.\n"
    461465                    ";\n"
    462466                    "%%ifdef ASM_FORMAT_OMF\n"
     
    467471                    "%%elifdef ASM_FORMAT_PE\n"
    468472                    " [section VTGObj align=4096]\n"
     473                    "\n"
    469474                    "%%elifdef ASM_FORMAT_ELF\n"
     475                    " [section .VTGPrLc.Start progbits alloc noexec write align=1]\n"
     476                    "    dd              42\n"   
     477                    "    dd              42\n"   
     478                    "    RTCCPTR_DEF     42\n"   
     479                    "    RTCCPTR_DEF     42\n"   
     480                    "    RTCCPTR_DEF     42\n"   
     481                    "GLOBALNAME g_aVTGPrLc\n"
     482                    " [section .VTGPrLc progbits alloc noexec write align=1]\n"
     483                    " [section .VTGPrLc.End progbits alloc noexec write align=1]\n"
     484                    "GLOBALNAME g_aVTGPrLc_End\n"
     485                    "    dd              0xdeadbeef\n"   
     486                    "    dd              0xdeadbeef\n"   
     487                    "    RTCCPTR_DEF     0xdeadbeef\n"   
     488                    "    RTCCPTR_DEF     0xdeadbeef\n"   
     489                    "    RTCCPTR_DEF     0xdeadbeef\n"   
    470490                    " [section .VTGObj progbits alloc noexec write align=4096]\n"
    471491                    "%%else\n"
     
    485505                    "    RTCCPTR_DEF g_aVTGArgLists\n"
    486506                    "    RTCCPTR_DEF g_aVTGArgLists_End      - g_aVTGArgLists\n"
     507                    "    RTCCPTR_DEF g_aVTGPrLc\n"
     508                    "    RTCCPTR_DEF g_aVTGPrLc_End ; cross section/segment size not possible\n"
    487509                    "    RTCCPTR_DEF 0\n"
    488510                    "    RTCCPTR_DEF 0\n"
     
    848870                    "#  define DECL_DATA_SECT(scope, type, name, sect) scope type __attribute__((section(#sect \",\" #sect))) name\n"
    849871                    "# else\n"
    850                     "#  define DECL_DATA_SECT(scope, type, name, sect) scope type __attribute__((section(#sect))) name\n"
     872                    "#  define DECL_DATA_SECT(scope, type, name, sect) scope type __attribute__((section(\".\" #sect))) name\n"
    851873                    "# endif\n"
    852874                    "#else\n"
     
    928950            {
    929951                ScmStreamPrintf(pStrm,
    930                                 "        AssertCompile(sizeof(%s) <= sizeof(uintptr_t));\n"
    931                                 "        AssertCompile(sizeof(%s) <= sizeof(uintptr_t));\n",
     952                                "        AssertCompile(sizeof(%s) <= sizeof(uintptr_t)); \\\n"
     953                                "        AssertCompile(sizeof(%s) <= sizeof(uintptr_t)); \\\n",
    932954                                pArg->pszName,
    933955                                pArg->pszType);
Note: See TracChangeset for help on using the changeset viewer.

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