This is the mail archive of the libc-ports@sources.redhat.com mailing list for the libc-ports project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH][AArch64] Fix link error for ioctl syscall wrapper.


Hello,

The ioctl() and clone() system call wrappers for AArch64 are currently written
to use a conditional branch to reach the sycall error handler when the
relevant system call returns an error value.  The use of conditional
branch for this purpose is inappropriate due to the limited range of
these instructions.   The generated syscall wrappers take care to use
the unconditional branch form, which has greater range.

This patch corrects the behavior of both wrappers.

I shall commit this patch shortly.

/Marcus

Proposed ChangeLog:

2013-05-12  Marcus Shawcroft  <marcus.shawcroft@linaro.org>

        * sysdeps/unix/sysv/linux/aarch64/clone.S (__clone):
        Do not call sycall_error directly with a confitional branch.

        * sysdeps/unix/sysv/linux/aarch64/ioctl.S (__ioctl):
        Do not call sycall_error directly with a confitional branch.

Attachment: glibc-cb-syscall-error.diff
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]