Visible to Intel only — GUID: GUID-1C477CE8-4AEC-48DF-A1B9-6A528A12BC0E
Visible to Intel only — GUID: GUID-1C477CE8-4AEC-48DF-A1B9-6A528A12BC0E
Qpatchable-addresses
Tells the compiler to generate code such that references to statically assigned addresses can be patched.
Architecture Restrictions
Only available on Intel® 64 architecture
Syntax
Linux: |
None |
macOS: |
None |
Windows: |
/Qpatchable-addresses |
Arguments
None
Default
OFF |
The compiler does not generate patchable addresses. |
Description
This option tells the compiler to generate code such that references to statically assigned addresses can be patched with arbitrary 64-bit addresses.
Normally, the Windows* system compiler that runs on Intel® 64 architecture uses 32-bit relative addressing to reference statically allocated code and data. That assumes the code or data is within 2GB of the access point, an assumption that is enforced by the Windows object format.
However, in some patching systems, it is useful to have the ability to replace a global address with some other arbitrary 64-bit address, one that might not be within 2GB of the access point.
This option causes the compiler to avoid 32-bit relative addressing in favor of 64-bit direct addressing so that the addresses can be patched in place without additional code modifications. This option causes code size to increase, and since 32-bit relative addressing is usually more efficient than 64-bit direct addressing, you may see a performance impact.
IDE Equivalent
Alternate Options
None