VirtualBox

Changeset 81716 in vbox


Ignore:
Timestamp:
Nov 6, 2019 4:17:57 PM (5 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
134479
Message:

EFI/Firmware/VBoxPrintHex.c: Use RShiftU64() instead of >> to avoid unresolved symbol errors when compiling with optimizations turned of for x86

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Devices/EFI/Firmware/VBoxPkg/Library/VBoxDebugLib/VBoxPrintHex.c

    r76553 r81716  
    3030*   Header Files                                                                                                                 *
    3131*********************************************************************************************************************************/
     32#include <Library/BaseLib.h>
     33
    3234#include "VBoxDebugLib.h"
    3335#include "DevEFI.h"
     
    5961    {
    6062        case 8:
    61             vboxPrintHexChar(s_szHex[(uValue >> 60) & 0xf]);
    62             vboxPrintHexChar(s_szHex[(uValue >> 56) & 0xf]);
    63             vboxPrintHexChar(s_szHex[(uValue >> 52) & 0xf]);
    64             vboxPrintHexChar(s_szHex[(uValue >> 48) & 0xf]);
    65             vboxPrintHexChar(s_szHex[(uValue >> 44) & 0xf]);
    66             vboxPrintHexChar(s_szHex[(uValue >> 40) & 0xf]);
    67             vboxPrintHexChar(s_szHex[(uValue >> 36) & 0xf]);
    68             vboxPrintHexChar(s_szHex[(uValue >> 32) & 0xf]);
     63            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 60) & 0xf]);
     64            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 56) & 0xf]);
     65            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 52) & 0xf]);
     66            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 48) & 0xf]);
     67            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 44) & 0xf]);
     68            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 40) & 0xf]);
     69            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 36) & 0xf]);
     70            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 32) & 0xf]);
    6971        case 4:
    70             vboxPrintHexChar(s_szHex[(uValue >> 28) & 0xf]);
    71             vboxPrintHexChar(s_szHex[(uValue >> 24) & 0xf]);
    72             vboxPrintHexChar(s_szHex[(uValue >> 20) & 0xf]);
    73             vboxPrintHexChar(s_szHex[(uValue >> 16) & 0xf]);
     72            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 28) & 0xf]);
     73            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 24) & 0xf]);
     74            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 20) & 0xf]);
     75            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 16) & 0xf]);
    7476        case 2:
    75             vboxPrintHexChar(s_szHex[(uValue >> 12) & 0xf]);
    76             vboxPrintHexChar(s_szHex[(uValue >>  8) & 0xf]);
     77            vboxPrintHexChar(s_szHex[RShiftU64(uValue, 12) & 0xf]);
     78            vboxPrintHexChar(s_szHex[RShiftU64(uValue,  8) & 0xf]);
    7779        case 1:
    78             vboxPrintHexChar(s_szHex[(uValue >>  4) & 0xf]);
    79             vboxPrintHexChar(s_szHex[(uValue      ) & 0xf]);
     80            vboxPrintHexChar(s_szHex[RShiftU64(uValue,  4) & 0xf]);
     81            vboxPrintHexChar(s_szHex[         (uValue    ) & 0xf]);
    8082            break;
    8183    }
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