VirtualBox

Changeset 47518 in vbox for trunk/src


Ignore:
Timestamp:
Aug 2, 2013 12:26:46 AM (11 years ago)
Author:
vboxsync
Message:

Found more details, extended the hack a little to be on the safe side (hopefully).

Location:
trunk/src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/HostDrivers/Support/SUPDrvTracer.cpp

    r44529 r47518  
    346346        /* The loader and/or ld64-97.17 seems not to generate fixups for our
    347347           __VTGObj section. Detect this by comparing them with the
    348            u64VtgObjSectionStart member and assume max image size of 4MB. */
     348           u64VtgObjSectionStart member and assume max image size of 4MB.
     349           Seems to be worked around by the __VTGPrLc.End and __VTGPrLc.Begin
     350           padding fudge, meaning that the linker misplaced the relocations. */
    349351        if (   (int64_t)u64Tmp != (int32_t)u64Tmp
    350352            && pVtgHdr->u64VtgObjSectionStart != uVtgHdrAddr
  • trunk/src/bldprogs/VBoxTpG.cpp

    r47517 r47518  
    484484                    "VTG_GLOBAL g_aVTGObj_LinkerPleaseNoticeMe, data\n"
    485485                    "  [section __VTG __VTGPrLc.Begin align=16]\n"
     486                    "  dq 0, 0 ; Paranoia, related to the fudge below.\n"
    486487                    "VTG_GLOBAL g_aVTGPrLc, data\n"
    487488                    "  [section __VTG __VTGPrLc align=16]\n"
     
    489490                    "  [section __VTG __VTGPrLc.End   align=16]\n"
    490491                    "VTG_GLOBAL g_aVTGPrLc_End, data\n"
    491                     "  dq 0, 0 ; Fudge to work around unidentified linker/loader issue, causing a partial address\n"
    492                     "          ; to be written to the start of the first entry, generally making the line number\n"
    493                     "          ; invalid. (1 byte is actually enough)\n"
     492                    "  dq 0, 0 ; Fudge to work around unidentified linker where it would otherwise generate\n"
     493                    "          ; a fix up of the first dword in __VTGPrLc.Begin despite the fact that it were\n"
     494                    "          ; an empty section with nothing whatsoever to fix up.\n"
    494495                    " %%endif\n"
    495496                    " [section __VTG __VTGObj]\n"
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