summaryrefslogtreecommitdiff
path: root/rtl/linux/i386/syscall.inc
diff options
context:
space:
mode:
Diffstat (limited to 'rtl/linux/i386/syscall.inc')
-rw-r--r--rtl/linux/i386/syscall.inc17
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******************************}