diff options
author | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-01-21 23:28:34 +0000 |
---|---|---|
committer | jonas <jonas@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2015-01-21 23:28:34 +0000 |
commit | 1903b037de2fb3e75826406b46f055acb70963fa (patch) | |
tree | 604cd8b790fe14e5fbe441d4cd647c80d2a36a9a /rtl/linux/i386/syscall.inc | |
parent | ad1141d52f8353457053b925cd674fe1d5c4eafc (diff) | |
parent | 953d907e4d6c3a5c2f8aaee6e5e4f73c55ce5985 (diff) | |
download | fpc-blocks.tar.gz |
* synchronised with trunk till r29513blocks
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/blocks@29516 3ad0048d-3df7-0310-abae-a5850022a9f2
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******************************} |