diff options
Diffstat (limited to 'rtl/linux/i386/syscall.inc')
-rw-r--r-- | rtl/linux/i386/syscall.inc | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/rtl/linux/i386/syscall.inc b/rtl/linux/i386/syscall.inc index 9bf75db668..9c2e4f47c5 100644 --- a/rtl/linux/i386/syscall.inc +++ b/rtl/linux/i386/syscall.inc @@ -62,15 +62,16 @@ begin auxv := PElf32AuxiliaryVector(ep); - repeat - if auxv^.a_type = AT_SYSINFO then begin - psysinfo := auxv^.a_un.a_val; - if psysinfo <> 0 then - sysenter_supported := 1; // descision factor in asm syscall routines - Break; + while auxv^.a_type <> AT_NULL do + begin + if auxv^.a_type = AT_SYSINFO then begin + psysinfo := auxv^.a_un.a_val; + if psysinfo <> 0 then + sysenter_supported := 1; // descision factor in asm syscall routines + Break; + end; + Inc(auxv); end; - Inc(auxv); - until auxv^.a_type = AT_NULL; end; {***********************SYSENTER CODE END******************************} |