mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-28 16:14:04 +02:00
1. Adjust might be 64bit, so we need to typecast it to UINT32 firstly.
2. Synchronization modification described in Tracker EDKT182 to all dependent files. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1270 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
ff225cbbae
commit
9c7790d2cb
@ -536,7 +536,7 @@ Returns:
|
|||||||
break;
|
break;
|
||||||
case EFI_IMAGE_REL_BASED_HIGH:
|
case EFI_IMAGE_REL_BASED_HIGH:
|
||||||
F16 = (UINT16 *) Fixup;
|
F16 = (UINT16 *) Fixup;
|
||||||
*F16 = (UINT16)((*F16 << 16) + (UINT16) Adjust);
|
*F16 = (UINT16) (*F16 + ((UINT16) ((UINT32) Adjust >> 16)));
|
||||||
if (FixupData != NULL) {
|
if (FixupData != NULL) {
|
||||||
*(UINT16 *) FixupData = *F16;
|
*(UINT16 *) FixupData = *F16;
|
||||||
FixupData = FixupData + sizeof(UINT16);
|
FixupData = FixupData + sizeof(UINT16);
|
||||||
|
@ -663,7 +663,7 @@ PeCoffLoaderRelocateImage (
|
|||||||
|
|
||||||
case EFI_IMAGE_REL_BASED_HIGH:
|
case EFI_IMAGE_REL_BASED_HIGH:
|
||||||
F16 = (UINT16 *) Fixup;
|
F16 = (UINT16 *) Fixup;
|
||||||
*F16 = (UINT16) ((*F16 << 16) + (UINT16) Adjust);
|
*F16 = (UINT16) (*F16 + ((UINT16) ((UINT32) Adjust >> 16)));
|
||||||
if (FixupData != NULL) {
|
if (FixupData != NULL) {
|
||||||
*(UINT16 *) FixupData = *F16;
|
*(UINT16 *) FixupData = *F16;
|
||||||
FixupData = FixupData + sizeof (UINT16);
|
FixupData = FixupData + sizeof (UINT16);
|
||||||
@ -1258,7 +1258,7 @@ PeCoffLoaderRelocateImageForRuntime (
|
|||||||
case EFI_IMAGE_REL_BASED_HIGH:
|
case EFI_IMAGE_REL_BASED_HIGH:
|
||||||
F16 = (UINT16 *) Fixup;
|
F16 = (UINT16 *) Fixup;
|
||||||
if (*(UINT16 *) FixupData == *F16) {
|
if (*(UINT16 *) FixupData == *F16) {
|
||||||
*F16 = (UINT16) (*F16 + ((UINT16)(Adjust >> 16)));
|
*F16 = (UINT16) (*F16 + ((UINT16) ((UINT32) Adjust >> 16)));
|
||||||
}
|
}
|
||||||
|
|
||||||
FixupData = FixupData + sizeof (UINT16);
|
FixupData = FixupData + sizeof (UINT16);
|
||||||
|
@ -643,7 +643,7 @@ Returns:
|
|||||||
|
|
||||||
case EFI_IMAGE_REL_BASED_HIGH:
|
case EFI_IMAGE_REL_BASED_HIGH:
|
||||||
F16 = (UINT16 *) Fixup;
|
F16 = (UINT16 *) Fixup;
|
||||||
*F16 = (UINT16) ((*F16 << 16) + (UINT16) Adjust);
|
*F16 = (UINT16) (*F16 + ((UINT16) ((UINT32) Adjust >> 16)));
|
||||||
if (FixupData != NULL) {
|
if (FixupData != NULL) {
|
||||||
*(UINT16 *) FixupData = *F16;
|
*(UINT16 *) FixupData = *F16;
|
||||||
FixupData = FixupData + sizeof (UINT16);
|
FixupData = FixupData + sizeof (UINT16);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user