VirtualBox

Ignore:
Timestamp:
Nov 20, 2023 4:16:49 PM (18 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
160281
Message:

IPRT/ldrLX: Must always apply internal fixups after loading the bits, even when loading at the link address and there are no imports. bugref:10371

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Runtime/common/ldr/ldrLX.cpp

    r98103 r102156  
    24292429        /*
    24302430         * Perform relocations.
     2431         *
     2432         * We force this to take place by messing with the OldBaseAddress as we
     2433         * have to apply internal relocations even if the load address is the
     2434         * same as the link address.
    24312435         */
    2432         rc = rtldrLX_RelocateBits(pMod, pvBits, BaseAddress, pModLX->aSegments[0].LinkAddress, pfnGetImport, pvUser);
     2436        rc = rtldrLX_RelocateBits(pMod, pvBits, BaseAddress,
     2437                                  _4K ^ BaseAddress ^ pModLX->aSegments[0].LinkAddress,
     2438                                  pfnGetImport, pvUser);
    24332439    }
    24342440    return rc;
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