7efad83d430f4d824f2aaa75edea5106f6ff8aae |
|
09-Sep-2014 |
Elliott Hughes <enh@google.com> |
Ensure __set_errno is still visible on LP32. The use of the .hidden directive to avoid going via the PLT for __set_errno had the side-effect of actually making __set_errno hidden (which is odd because assembler directives don't usually affect symbols defined in a different file --- you can't even create a weak reference to a symbol that's defined in a different file). This change switches the system call stubs over to a new always-hidden __set_errno_internal and has a visible __set_errno on LP32 just for binary compatibility with old NDK apps. Bug: 17423135 Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
|
15a0456d0b7618554ed3d49287e77b6d43a2812a |
|
06-Jun-2014 |
Elliott Hughes <enh@google.com> |
Remove unnecessary instructions from x86/x86_64 syscalls. __set_errno returns -1 exactly so that callers don't need to bother. The other architectures were already taking advantage of this, but no one had ever fixed x86 and x86_64. Change-Id: Ie131494be664f6c4a1bbf8c61bbbed58eac56122
|
a85aaf11fafd52b1304cc288d0699411ae510cc8 |
|
03-Jan-2014 |
Elliott Hughes <enh@google.com> |
Use the MAX_ERRNO constant. If you're going to hardcode a constant, you could at least try to get the constant right... Change-Id: I886a2593357d1c4dfd6c42649c63e8a35c15a441
|
4cdde5f12364079a2b55fa4fc4ed53364cb8465d |
|
22-Mar-2013 |
Elliott Hughes <enh@google.com> |
Replace unnecessary x86 uses of <sys/linux-syscalls.h> with <asm/unistd.h>. Change-Id: I9d016ee8e8329cccf244d27c336d9524348af996
|
bdff26df2749d8d66e5d4eb5a2ecf4a9ff50fad2 |
|
12-Feb-2013 |
Elliott Hughes <enh@google.com> |
Use ENTRY/END in custom x86 assembler too. Change-Id: Ic2e482e5daff29c65d3b2ab0b2111c996bbc6226
|
c164f2a9694fa8c373ec72d237ee16b412aa5c53 |
|
12-Apr-2012 |
Jin Wei <wei.a.jin@intel.com> |
bionic: modify syscall to use 6 registers to pass parameter. Kernel allows to use 6 registers(exclude eax) to pass parameter. But in syscall's implementation, it only uses five registers. It will lead to error when 6 parameters passed. Change-Id: I92d663194e6334c3847f0c0c257ca3b9dee0edef Author: Jin Wei <wei.a.jin@intel.com> Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com> Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com> Signed-off-by: Jack Ren <jack.ren@intel.com> Author-tracking-BZ: 30838
|
5288fee835a6e52d7870b3ee3320a5a3ddb96f34 |
|
17-Jun-2011 |
Jun Nakajima <jun.nakajima@intel.com> |
x86 libc: Fix the range to check the error The spec says "A value in the range between -4095 to -1 indicates an error" (not -129). This was pointed out in the comment in 22039. Change-Id: I11b7c45015a9e4ccf09aed5364a889437eab6ab8 Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
|
8488efaa0913f8484cbfdb61180e47bc19fff5d8 |
|
28-Mar-2011 |
Kan-Ru Chen <kanru@0xlab.org> |
x86 libc: fix the wrong return value of syscall According to Intel ABI spec, there is no need to save %eax, %ecx, %edx on the stack. Worse, popping %eax will wipe out the return value. Change-Id: Ida536c3b98174b8deef88f8f3b9352eaaeb7c0c0
|
3c543e1da9a2780a70b25299f39734bf0a18c4a0 |
|
04-Mar-2010 |
Bruce Beare <brucex.j.beare@intel.com> |
x86 syscall system call implementation
|