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
|
e35fd48a832cddbedcf84773fd1922f735ae7829 |
|
09-Aug-2014 |
Dan Albert <danalbert@google.com> |
Make __set_errno hidden in asm. This fixes the build after the -Bsymbolic change. Bug: 16853291 Change-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2 (cherry picked from commit bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7)
|
40bc7cd4ed9fb848a7b3d934f69669f64ceed707 |
|
18-Jun-2014 |
Christopher Ferris <cferris@google.com> |
DO NOT MERGE Re-add .save directive for arm assembler code. Restored the .save directives so that the libcorkscrew unwinder continues to function. Bug: 15701117 Change-Id: I853695a299548b84c78ae8147b9757dbeacdb1ec
|
602b4e482ce7bfa768a4c84baffc3051eca52346 |
|
07-Jun-2014 |
Serban Constantinescu <serban.constantinescu@arm.com> |
AArch64: Remove Frame Record from ARM64 syscalls This patch removes the frame record created on svc calls. Change-Id: I67cf926ba59540e824fb9749d30538e332df7c1e Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
|
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
|
15b91e92a0bb4a15b4f2258bea332f4a67fa94d7 |
|
30-May-2014 |
Christopher Ferris <cferris@google.com> |
Fix x86 cfi directives for syscalls. The syscall generation always used 4 bytes for each push cfi directive. However, the first push should always use an offset of 8 bytes, each subsequent push after that is only 4 bytes though. Change-Id: Ibaabd107f399ef67010b9a08213783957c2f74a9
|
df22a121b2c75021585e4eea49fd3af92d579dd0 |
|
22-May-2014 |
Christopher Ferris <cferris@google.com> |
Add cfi directives for arm64 assembler. Fix syscall generator to add cfi directives and add the directives for all arm64 assembler. Bug: 15138290 Change-Id: I7f0e4a16c141ac624e5276917a3a1ed45778e057
|
d465eb4e76c24b1e782438a4c9e2c9abc20fe66c |
|
20-Feb-2014 |
Elliott Hughes <enh@google.com> |
Remove the useless _C_LABEL from generated system calls. Change-Id: Id1d2fd39972652831ea825f6f9cf940b08f42b5c
|
9abbbdc5346020e33a8fdbe7254dd0fdff9df616 |
|
19-Feb-2014 |
Elliott Hughes <enh@google.com> |
Make mips/mips64 syscall stubs more like the other architectures. Change-Id: I55f8c1a95f643a6e484f12fbcc25e2c77e55b6b8
|
eae27dc55adca75c2332e4b767ec667acfbbbcb3 |
|
19-Feb-2014 |
Elliott Hughes <enh@google.com> |
Make mips generated assembler more like the mips64 stuff. I broke the mips build yesterday because it doesn't use <private/bionic_asm.h> like the other architectures, including mips64. I want to move mips closer to mips64 to try to avoid this kind of thing in future. Change-Id: Idb985587ff355b9e5e765c1f5671dc0144cd2488
|
986f9067103e41296898a7c0e89f5ed84420fb5b |
|
19-Feb-2014 |
Elliott Hughes <enh@google.com> |
Fix build by avoiding the _C_LABEL macro. Change-Id: Ide367c2b65071388bd95fbc81a4ed6ae94aec4e4
|
b3a23bd0178c8edbb34e310be08e6fb73ac6ba09 |
|
11-Feb-2014 |
Elliott Hughes <enh@google.com> |
Build syscall stubs in their own library. This lets us lose the auto-generated makefiles. Change-Id: I2de0c71b3b9c08f9cce8f4ff7fd7254dda008c86
|
5043212b7615bc4c03463c4d242769de69cd4685 |
|
06-Feb-2014 |
Chris Dearman <chris.dearman@imgtec.com> |
[MIPS64] Add syscall related files Change-Id: I2f5d05df0e767538a6fe467ca0a2386325f8b71f Signed-off-by: Chris Dearman <chris.dearman@imgtec.com> Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com> Signed-off-by: Duane Sand <duane.sand@imgtec.com>
|
d1973ca51325393f304e82a4d79874f33e54ac16 |
|
22-Jan-2014 |
Colin Cross <ccross@android.com> |
bionic: rename aarch64 target to arm64 Rename aarch64 build targets to arm64. The gcc toolchain is still aarch64. Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
|
e4bc7561219ddb7cfb7b33f731caa92a7766b9ca |
|
07-Jan-2014 |
Christopher Ferris <cferris@google.com> |
Add cfi directives to x86 syscalls. Modify the syscalls script to generate the cfi directives for x86 syscalls. Update the x86 syscalls. Change-Id: Ia1993dc714a7e79f917087fff8200e9a02c52603
|
887e1140fe7596fa1239a0bc802d2cdb51c57d3c |
|
02-Jan-2014 |
Elliott Hughes <enh@google.com> |
Clean up <sched.h>. This patch switches to using the uapi constants. It also adds the missing setns system call, fixes sched_getcpu's error behavior, and fixes the gensyscalls script now ARM is uapi-only too. Change-Id: I8e16b1693d6d32cd9b8499e46b5d8b0a50bc4f1d
|
ed45970ac5a182e512669cfa5c15b9f4fa783ad7 |
|
03-Dec-2013 |
Christopher Ferris <cferris@google.com> |
Add cfi directives to all arm assembly. Since the ENTRY/END macros now have .cfi_startproc/.cfi_endproc, most of the custom arm assembly has no unwind information. Adding the proper cfi directives for these and removing the arm directives. Update the gensyscalls.py script to add these cfi directives for the generated assembly. Also fix the references to non-uapi headers to the proper uapi header. In addition, remove the kill.S, tkill.S, tgkill.S for arm since they are not needed at all. The unwinder (libunwind) is able to properly unwind using the normal abort. After this change, I can unwind through the system calls again. Bug: 11559337 Bug: 11825869 Bug: 11321283 Change-Id: I18b48089ef2d000a67913ce6febc6544bbe934a3
|
ed74484dcbc2e156a6e5fa861a62425b12e55128 |
|
07-Nov-2013 |
Elliott Hughes <enh@google.com> |
Stop using the non-uapi <linux/err.h> header file. We only need it for MAX_ERRNO, and it's time we had somewhere to put the little assembler utility macros we've been putting off writing. Change-Id: I9354d2e0dc47c689296a34b5b229fc9ba75f1a83
|
feaa89a1bcc643a9c3892bb56e020e00779bbb3a |
|
07-Oct-2013 |
Serban Constantinescu <serban.constantinescu@arm.com> |
AArch64: Add support for AArch64 to the syscall interface This patch adds support for AArch64 to the syscall interface. The kernel implementation exports a set of canonical syscalls, therefore some of the userspace exported syscalls are implemented as stubs based on the canonical set. Change-Id: Ia965d71e97769b8be9d7655193fc40303964c4df Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
|
6b53c2349a5a3fc70a475de6a66131b615e88e48 |
|
25-Oct-2013 |
Elliott Hughes <enh@google.com> |
Fix the exit syscall stub's name. I've left the exit_group syscall as _exit because otherwise we'd have to convince the compiler that our _exit (which just calls __exit_group) is actually "noreturn", and it seems like that would be less clean than just cutting out the middleman. We'll just have to trust ourselves not to add anything to SYSCALLS.TXT that ought to be private but that only has a single leading underscore. Hopefully we can manage that. Change-Id: Iac47faea9f516186e1774381846c54cafabc4354
|
fff6e272e9edea3f33b2f64ec9e342413d92e36f |
|
25-Oct-2013 |
Elliott Hughes <enh@google.com> |
Use hidden visibility for generated stubs whose names begin with underscores. Change-Id: Idb39fd04b7a14114801624e744e76e0e7913d951
|
103ccde8fe2f2c8abde914a8ba736b2e9cb8d20b |
|
16-Oct-2013 |
Elliott Hughes <enh@google.com> |
Sort the syscalls.mk files, give all generated files the same header. No non-comment changes to the .S files. Change-Id: Iafcfd004c3ea92b64268f80ab16df615b97cefac
|
0437f3ff296a4c66675c7386b0522e6062413e5a |
|
08-Oct-2013 |
Elliott Hughes <enh@google.com> |
Refactor the syscall generation script. Primarily so that the new x86_64 alias functionality is now available for all architectures. Change-Id: I9fde59093a1d08de98923f121a6e3d05ec5801d2
|
6fe4e8795452651862c1e02994f434ec5f0d5832 |
|
04-Oct-2013 |
H.J. Lu <hjl.tools@gmail.com> |
Add an optional alias list to SYSCALLS.TXT This patch adds an optional alias list to SYSCALLS.TXT. It is used to create aliases for a syscall. For x86-64, lseek64 is an alias for lseek. Change-Id: Icb11fd2bb461ea4f5f0a26bfc585471d7d7cc468 Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
f12a18b85061e7121c7534faf3625137e56b770d |
|
12-Dec-2012 |
Pavel Chupin <pavel.v.chupin@intel.com> |
x86_64: Add x86_64 syscalls and tune gen scripts for x86_64 * Tune syscall stubs generator for 4th target: x86_64 * Update SYSCALLS.TXT with x86_64 syscalls: - Most of the x86 syscalls are equally supported - *32 syscalls are not supported on 64-bit - *64 syscalls are replaced accordingly without 64 suffix - Some syscalls are not supported, replaced with x86_64 analog Syscalls are regenerated as separate patch for review convenience. Change-Id: I4ea2e0f13759b0aa61f05208ca68da8d6bc7c048 Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
|
d612165c6705379aa50144afc35aa40c16793728 |
|
26-Sep-2013 |
Elliott Hughes <enh@google.com> |
Make it easier to add syscalls for another architecture. Much of the per-architecture duplication can be removed, so let's do so before we add the 64-bit architectures. Change-Id: Ieb796503c8e5353ea38c3bab768bb9a690c9a767
|
18bc975bfe41a0ef8d2df1a188078b0741dc6c25 |
|
17-Jun-2013 |
Elliott Hughes <enh@google.com> |
Slight script cleanup; make gensyscalls work from any directory. Also remove a ton of dead code. Change-Id: I1315623695a004f643b155f121cbafe24b715b8a
|
1b91c6c11f6b4b8c082da41339b861981570bb4a |
|
23-Mar-2013 |
Elliott Hughes <enh@google.com> |
Stop generating <sys/linux-syscalls.h>. The <asm/unistd.h> files contain the canonical data, and <sys/glibc-syscalls.h> contain new glibc-compatible names, and if you #include the standard <sys/syscall.h> you get both sets of names. Change-Id: I9919c080931c0ba1660f5e37c6a6265ea716d603
|
cda62094ef6ab44d3804954fff75be1246725c36 |
|
22-Mar-2013 |
Elliott Hughes <enh@google.com> |
Use the correct names for the __ARM_NR_* syscalls. This lets us move all the ARM syscall stubs over to the kernel <asm/unistd.h>. Our generated <sys/linux-syscalls.h> is now unused, but I'll remove that in a later change. Change-Id: Ie5ff2cc4abce1938576af7cbaef615a79c7f310d
|
5c2772f59d3b6f564897187324d8606f54423207 |
|
22-Mar-2013 |
Elliott Hughes <enh@google.com> |
The SYS_ constants should cover all __NR_ values. <sys/linux-syscalls.h> only contains constants for the syscalls we're generating stubs for. We want all the syscalls available on the architecture in question. Keep using <sys/linux-syscalls.h> on ARM for now because the __NR_ARM_set_tls and __NR_ARM_cacheflush values aren't in <asm/unistd.h>. Change-Id: I66683950d87d9b18d6107d0acc0ed238a4496f44
|
9724ce3a09f8c0869a45c4ebdef665a1ee049734 |
|
22-Mar-2013 |
Elliott Hughes <enh@google.com> |
Don't #define SYS_ constants unless they make sense for the current architecture. Fixes the MIPS and x86 builds. strace tests whether syscalls are supported using #ifdef of the appropriate SYS_ constant. Change-Id: I90be118dc42abfdaf5b0f9b1e676e8601f55106e
|
8ecf2258274b6ef2630a503a314573d80517465a |
|
22-Mar-2013 |
Elliott Hughes <enh@google.com> |
Provide glibc-compatible SYS_* aliases for the __NR_* constants. This helps us remove another external/strace bionic hack. Change-Id: I3e82c0d2fd27e479be98f096e05b666fd16f8eb3
|
9aceab50155b17741faded1fb22e2daa51a07fb1 |
|
12-Mar-2013 |
Elliott Hughes <enh@google.com> |
Use the kernel's MAX_ERRNO in the syscall stubs. Bug: http://code.google.com/p/android/issues/detail?id=53104 Change-Id: Iaabf7025b153e96dc5eca231a33a32d4cb7d8116
|
cd6780b1677503a0dfa91c8a9c0c635dbbd48366 |
|
07-Feb-2013 |
Elliott Hughes <enh@google.com> |
Remove dead code from gensyscalls.py. Change-Id: I0df69f8fd990f829ccbfcd5123c17b523d5a4d45
|
7582a9c119a4e4d0c306996b2513205889a9fb6c |
|
07-Feb-2013 |
Elliott Hughes <enh@google.com> |
Switch x86 syscall stubs over to the ENTER/END style of the ARM stubs. Also update the x86 asm.h to support this; we need it for libm assembler anyway. Also clean up the _FBSDID hack in <sys/cdefs.h>. Change-Id: Iababd977b8110ec022bf7c93f4d62ece47630e7c
|
c95eb57405d3d2f0e6cfab313aa74b1bad280452 |
|
30-Jan-2013 |
Elliott Hughes <enh@google.com> |
Clean up trailing whitespace in the kernel headers. And fix the scripts so they stop letting trailing whitespace through. Change-Id: Ie109fbe1f63321e565ba0fa60fee8e9cf3a61cfc
|
faa0fdb1194172f578f973097d61e580bce528dc |
|
16-Jan-2013 |
Matthieu Castet <matthieu.castet@gmail.com> |
arm syscall : for eabi call_default don't use stack In the default case, we don't need to use the stack, we can save r7 with ip register (that what does eglibc). This allow to fix vfork data corruption (see 3884bfe9661955543ce203c60f9225bbdf33f6bb), because vfork now don't use the stack.
|
e33af61c7073719b027e038fbcdde49363b604ee |
|
16-May-2012 |
Elliott Hughes <enh@google.com> |
Remove the last references to SuperH. Change-Id: Icb44c1f94cb178d90b4c2b1e8f6d175586aec4e1
|
1928523c870f7acd7f34870f4bb4ab9c6215bf7a |
|
10-May-2012 |
Elliott Hughes <enh@google.com> |
Actually set the header guard in "linux-syscalls.h". Spotted while merging a MIPS change. Change-Id: I36fb5a07d0bba0c117e9fe9733957bd37ca4b4c0
|
1fa0d849576555577ffd9675677a3c95f21b754e |
|
28-Jan-2012 |
Raghu Gandham <raghu@mips.com> |
[MIPS] Add support for MIPS syscalls Change-Id: I4deba67e15c865c4c2db03064c04098a09828ea6 Signed-off-by: Raghu Gandham <raghu@mips.com> Signed-off-by: Chris Dearman <chris@mips.com>
|
70b1668a76d3b719ae690903ea790fda964a5458 |
|
30-Jan-2012 |
David 'Digit' Turner <digit@google.com> |
remove obsolete SuperH support We don't have a toolchain anymore, we don't have working original kernel headers, and nobody is maintaining this so there is really no point in keeping this here. Details of the patch: - removed code paths from Android.mk files related to the SuperH architecture ("sh") - removed libc/arch-sh, linker/arch-sh, libc/kernel/arch-sh - simplified libc/SYSCALLS.TXT - simplified the scripts in libc/tools/ and libc/kernel/tools Change-Id: I26b0e1422bdc347489e4573e2fbec0e402f75560 Signed-off-by: David 'Digit' Turner <digit@android.com>
|
d6045cba4e572cf9ed0b87efddce93f3c4a80a8f |
|
18-Jan-2012 |
Nick Kralevich <nnk@google.com> |
Don't generate sys/linux-unistd.h linux-unistd.h was here for reference purposes, but shouldn't have been accessible to client code. Delete it. Change-Id: I60c264ff6ca489a48117914bdf6daa486737af8c
|
f540c03bff8bb15f1954df275629fd32dc87aaf5 |
|
17-Feb-2011 |
Kenny Root <kroot@google.com> |
libc: ARM: add size info to gensyscalls Add size information to gensyscalls output for ARM syscalls with new BEGIN(x) and END(x) macros in arch-arm/include/machine/asm.h Change-Id: I791406f8b17abcb83b70a6d15a65a527de15d3f5
|
fc2693110ee8a2ba22a445ad9855fbe9e118d439 |
|
11-Oct-2010 |
David 'Digit' Turner <digit@google.com> |
libc: Update auto-gen scripts Make the scripts use external/kernel-headers/original by default. clean_header.py: Document -k<path>, add -d<path> find_headers.py: Make kernel config files optional update_all.py: Allow setting the path to kernel headers on the command-line update_all.py: Better formatting of output on ttys update_all.py: Automatically perform "git add/rm" on affected files. SYSCALLS.TXT: Fix typo in __socketcall definition. checksyscalls.py: Add support for superH architecture in the checks. gensyscalls.py: Automatically perform "git add/rm" on affected files. cpp.py: Fixed a bug that prevented certain type definitions to be kept in the generated clean header (e.g. struct ethtool_drvinfo in <linux/ethtool.h>) All scripts will use the content of external/kernel-headers/original by default now. The generated code removes all empty lines and trailing whitespace. This is useful to ensure a unified output even if we change the parser again in the future. The top-level disclaimer has been edited with update instructions to regenerate the headers when needed. Also, a warning is now inserted every 8th line in the final output: /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */ Changes under kernel/arch-arm and kernel/arch-x86 should correspond to whitespace differences and additionnal struct definitions that were missed by the previous parser implementation. Change-Id: Icd1c056bacd766759f3e9b7bb5d63a246f3d656a WARNING: If you run these script, do not submit the result to gerrit for now. It seems there are discrepancies between the content of original headers and those currently commited under bionic/libc/kernel/. (This problem is the main motivation to insert the warning repeatedly). Current list of issues: - Missing SuperH headers (i.e. external/kernel-headers/original/asm-sh)
|
95d751feacdb58d3fbc36f3f21a895a3ec2f065b |
|
16-Dec-2010 |
David 'Digit' Turner <digit@google.com> |
libc: Add ftruncate64 and improve 64-bit parameter syscall handling. This patch improves the handling of 64-bit parameters in syscalls on ARM. The ARM EABI mandates that 64-bit quantities be passed in even/odd register pairs, which requires special treatment. This allows us to simplify our implementations of pread() and pwrite() and remove the C stubs for pread64() and pwrite64(). Also add ftruncate64() to <unistd.h> Change-Id: I407e2fd223ba0093dd2d0b04c6152fadfc9ce3ef Bug 3107933
|
ce0595d01de9103d40b83b35e0d6ac8b123aa24c |
|
01-Sep-2009 |
Shin-ichiro KAWASAKI <shinichiro.kawasaki.mg@hitachi.com> |
modified SYSCALLS.TXT to support SuperH architecture
|
1dc9e472e19acfe6dc7f41e429236e7eef7ceda1 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
1767f908af327fa388b1c66883760ad851267013 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
4e468ed2eb86a2406e14f1eca82072ee501d05fd |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
|
a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
|