]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
aarch64: Fix error return from __ioctl
authorRichard Henderson <rth@redhat.com>
Thu, 29 May 2014 15:57:39 +0000 (11:57 -0400)
committerRichard Henderson <rth@redhat.com>
Fri, 30 May 2014 18:09:34 +0000 (14:09 -0400)
Forgotten in ca3cfa40c16ef34c74951a07a57cfcbcd58898b1
where the error branch was moved from PSEUDO_RET.

ChangeLog
sysdeps/unix/sysv/linux/aarch64/ioctl.S

index 243271f04b1622509ffffeb85bce83b1dc87cf47..1d85abef6e3099198f70c2829fb6163e21b09d16 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-30  Richard Henderson  <rth@twiddle.net>
+
+       * sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl): Remove the
+       use of PSEUDO_RET; perform the error check directly.
+
 2014-05-30 Marko Myllynen  <myllynen@redhat.com>
 
        * sysdeps/x86_64/link-defines.sym (BND_SIZE): Replace __int128
index 4443f5a4aa6704ea06fdb5a6896e81cc9dfa13c1..8920a202a13983a62bee0f837830f96bdc208b75 100644 (file)
 
        .text
 ENTRY(__ioctl)
-       movz    x8, #__NR_ioctl
-        sxtw   x0, w0
-        svc    #0x0
-       cmn     x0, #0x1, lsl #12
-       PSEUDO_RET
-       PSEUDO_END (__ioctl)
+       mov     x8, #__NR_ioctl
+       sxtw    x0, w0
+       svc     #0x0
+       cmn     x0, #4095
+       b.cs    .Lsyscall_error
+       ret
+PSEUDO_END (__ioctl)
 
 weak_alias (__ioctl, ioctl)