Fix a sign error in the debughook example app

On ISO C90 on i386 4294967294 is a signed integer, and so x can't be
greater (or equal) to that.  Make it an unsigned and choose a better type
for the variable.

Signed-off-by: Peter Jones <pjones@redhat.com>
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
This commit is contained in:
Peter Jones 2018-03-13 15:20:24 -04:00 committed by Nigel Croxon
parent e861bb3861
commit 25cebcee2a

View File

@ -50,7 +50,7 @@ DebugHook(void)
UINT8 *data = NULL; UINT8 *data = NULL;
UINTN dataSize = 0; UINTN dataSize = 0;
EFI_STATUS efi_status; EFI_STATUS efi_status;
register volatile UINTN x = 0; register volatile unsigned long long x = 0;
extern char _text, _data; extern char _text, _data;
if (x) if (x)
@ -71,7 +71,7 @@ DebugHook(void)
while (x++) { while (x++) {
/* Make this so it can't /totally/ DoS us. */ /* Make this so it can't /totally/ DoS us. */
#if defined(__x86_64__) || defined(__i386__) || defined(__i686__) #if defined(__x86_64__) || defined(__i386__) || defined(__i686__)
if (x > 4294967294) if (x > 4294967294ULL)
break; break;
__asm__ __volatile__("pause"); __asm__ __volatile__("pause");
#elif defined(__aarch64__) #elif defined(__aarch64__)