OSDN Git Service
Elliott Hughes [Fri, 20 Dec 2013 23:36:32 +0000 (23:36 +0000)]
Merge "Allocate additional space on stack for indirect syscall"
Chris Dearman [Mon, 16 Dec 2013 22:10:13 +0000 (14:10 -0800)]
Allocate additional space on stack for indirect syscall
The caller is only required to allocate 16 bytes on the
stack for a0-a3. syscall is handling up to 6 arguments so
additional space is needed on the stack to avoid corrupting the
callers frame.
Change-Id: I054b31696decc3e17d9c70af18cd278b852235d1
Greg Hackmann [Fri, 20 Dec 2013 21:54:38 +0000 (21:54 +0000)]
Merge "Fix backwards compatible system property structure"
Elliott Hughes [Fri, 20 Dec 2013 19:33:45 +0000 (19:33 +0000)]
Merge "Upgrade to tzdata2013i."
Elliott Hughes [Fri, 20 Dec 2013 19:26:19 +0000 (11:26 -0800)]
Upgrade to tzdata2013i.
From the release notes:
Changes affecting near-future time stamps:
Jordan switches back to standard time at 00:00 on December 20, 2013.
The 2006-2011 transition schedule is planned to resume in 2014.
(Thanks to Steffen Thorsen.)
Changes affecting past time stamps:
In 2004, Cuba began DST on March 28, not April 4.
(Thanks to Steffen Thorsen.)
Change-Id: I8f26cc50f6b571804a18ff2113b4a47a22bc56dd
Elliott Hughes [Fri, 20 Dec 2013 02:54:55 +0000 (02:54 +0000)]
Merge "Allow GCC-built fortified code to run on a clang-built bionic."
Elliott Hughes [Fri, 20 Dec 2013 02:03:21 +0000 (02:03 +0000)]
Merge "Fix __isnanl on aarch64."
Elliott Hughes [Fri, 20 Dec 2013 01:45:32 +0000 (01:45 +0000)]
Merge "Fix struct stat for aarch64."
Elliott Hughes [Fri, 20 Dec 2013 01:44:23 +0000 (01:44 +0000)]
Merge "Don't force O_LARGEFILE on LP64."
Elliott Hughes [Fri, 20 Dec 2013 01:13:56 +0000 (17:13 -0800)]
Fix __isnanl on aarch64.
This fixes the math.__isnanl, math.powl, and math.fdiml tests.
Change-Id: I0086e4a1a82d0e2708fa07cf580a6d9778c548f2
Elliott Hughes [Fri, 20 Dec 2013 00:50:22 +0000 (16:50 -0800)]
Fix struct stat for aarch64.
Another kernel, another struct stat.
Change-Id: Ia5ee553d4a2ffc878d2fed82a763ff64c02b12e8
Elliott Hughes [Fri, 20 Dec 2013 00:48:56 +0000 (16:48 -0800)]
Don't force O_LARGEFILE on LP64.
aarch64's strace is confused by this, and it isn't necessary anyway.
Change-Id: Ib07b649eb1c38ff0296003874f73af78c47bc276
Ben Cheng [Fri, 20 Dec 2013 00:42:40 +0000 (00:42 +0000)]
Merge "Add __popcountsi2 to the function compat list."
Ben Cheng [Fri, 20 Dec 2013 00:26:40 +0000 (16:26 -0800)]
Add __popcountsi2 to the function compat list.
This is needed if we use Clang to compile Bionic, which won't include
__popcountsi2 anymore as Clang generates inline instructions. However
prebuilt binary blobs still depend on libc.so to resolve __popcountsi2.
Change-Id: I9001a3884c4be250c0ceebcd79922783fae1a0b7
Elliott Hughes [Thu, 19 Dec 2013 23:36:47 +0000 (23:36 +0000)]
Merge "Don't abort in stdio.getdelim_invalid and stdio.getline_invalid."
Elliott Hughes [Thu, 19 Dec 2013 22:56:17 +0000 (14:56 -0800)]
Don't abort in stdio.getdelim_invalid and stdio.getline_invalid.
Change-Id: Ie1aefed732f4bea77887bddd1be9a0578e247aa3
Elliott Hughes [Thu, 19 Dec 2013 20:21:07 +0000 (12:21 -0800)]
Allow GCC-built fortified code to run on a clang-built bionic.
Even though code built with clang won't be fully fortified
and won't contain calls to our various helpers, binaries built
with GCC will.
Change-Id: I389b2f1e22a3e89b22aadedc46397bf704f9ca79
Elliott Hughes [Thu, 19 Dec 2013 20:02:28 +0000 (20:02 +0000)]
Merge "Revert "Add C linkage for __open_2 and __openat_2.""
Elliott Hughes [Thu, 19 Dec 2013 20:02:16 +0000 (20:02 +0000)]
Revert "Add C linkage for __open_2 and __openat_2."
This reverts commit
c13d89b829a83a248130184583cf0332515a05df.
Change-Id: I40a3c6b926e920b65dd054353a2db8d314d5b300
Elliott Hughes [Thu, 19 Dec 2013 19:39:43 +0000 (19:39 +0000)]
Merge "ARM: Change dmb domain for bionic_atomic_barrier()"
Serban Constantinescu [Thu, 19 Dec 2013 11:57:10 +0000 (11:57 +0000)]
ARM: Change dmb domain for bionic_atomic_barrier()
This patch changes the domain that the memory barrier operates on. Assumes
that the scope of bionic_atomic_barrier() does not include device memory,
memory shared with the GPU or any other memory external to the processor
cluster.
Change-Id: I291e741c98a64c86f3a3cf99811bbf1e714ac9aa
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Elliott Hughes [Thu, 19 Dec 2013 19:36:03 +0000 (19:36 +0000)]
Merge "Fix aarch64 custom assembler now non-uapi is gone."
Elliott Hughes [Thu, 19 Dec 2013 19:34:03 +0000 (19:34 +0000)]
Merge "We actually have modfl."
Elliott Hughes [Thu, 19 Dec 2013 19:32:42 +0000 (11:32 -0800)]
Fix aarch64 custom assembler now non-uapi is gone.
Change-Id: I9c8ad17d9bae2de9d793444d87d4ee133728e900
Elliott Hughes [Thu, 19 Dec 2013 19:30:51 +0000 (11:30 -0800)]
We actually have modfl.
Change-Id: I22bb4d14f99a418819f2941c2dfec49094807c5f
Ben Cheng [Thu, 19 Dec 2013 18:59:05 +0000 (18:59 +0000)]
Merge "Add C linkage for __open_2 and __openat_2."
Ben Cheng [Thu, 19 Dec 2013 18:24:04 +0000 (10:24 -0800)]
Add C linkage for __open_2 and __openat_2.
Otherwise Clang mangle them with C++ names.
Change-Id: I844e28d834df8b0752b32d2aadd2013fc8804a43
Christopher Ferris [Thu, 19 Dec 2013 06:58:53 +0000 (06:58 +0000)]
Merge "Remove the non-uapi kernel headers."
Nick Kralevich [Thu, 19 Dec 2013 05:08:17 +0000 (05:08 +0000)]
Merge "Clean up more recursive FORTIFY_SOURCE calls"
Nick Kralevich [Thu, 19 Dec 2013 03:17:14 +0000 (19:17 -0800)]
Clean up more recursive FORTIFY_SOURCE calls
Don't use FORTIFY_SOURCE on functions which implement
FORTIFY_SOURCE, to avoid infinite recursion problems.
The previous patch only addressed one of the problems.
Bug:
12216860
Change-Id: I6f30ae7cb5b481be9942add18182ea4839d348a6
Nick Kralevich [Thu, 19 Dec 2013 02:52:23 +0000 (02:52 +0000)]
Merge "__strnlen_chk: avoid recursive strlen calls"
Elliott Hughes [Thu, 19 Dec 2013 02:49:18 +0000 (02:49 +0000)]
Merge "Don't use weak aliases in libm."
Nick Kralevich [Thu, 19 Dec 2013 02:17:52 +0000 (18:17 -0800)]
__strnlen_chk: avoid recursive strlen calls
Don't use FORTIFY_SOURCE on functions which implement
FORTIFY_SOURCE.
Bug:
12216860
Change-Id: I61db1b47ccdd6bdcf41eab3303f4806494016199
Elliott Hughes [Thu, 19 Dec 2013 00:06:52 +0000 (16:06 -0800)]
Don't use weak aliases in libm.
The aarch64 toolchain doesn't support them, and we were already implementing
most of the fake long-double functions differently anyway.
Change-Id: I4a2f2df81972ee9c34ddfe96cec81b126506d881
Elliott Hughes [Wed, 18 Dec 2013 23:31:28 +0000 (23:31 +0000)]
Merge "Fix linking of aarch64 static binaries."
Elliott Hughes [Wed, 18 Dec 2013 23:22:08 +0000 (15:22 -0800)]
Fix linking of aarch64 static binaries.
Change-Id: If1fa8b560074058b8f7ef32db21a7ca3c53d1fd7
Elliott Hughes [Wed, 18 Dec 2013 22:11:17 +0000 (22:11 +0000)]
Merge "Fix the x86-64 int64_t/uint64_t."
Elliott Hughes [Wed, 18 Dec 2013 22:00:14 +0000 (14:00 -0800)]
Fix the x86-64 int64_t/uint64_t.
This now matches aarch64, which was already correct.
Bug:
12213562
Change-Id: I5da19f0af98347992fea2a62938472f86427740f
Elliott Hughes [Wed, 18 Dec 2013 20:23:27 +0000 (20:23 +0000)]
Merge "Don't use __kernel_ulong_t."
Elliott Hughes [Wed, 18 Dec 2013 20:22:33 +0000 (12:22 -0800)]
Don't use __kernel_ulong_t.
Change-Id: Ifdfbac0ac6da647276a84bd64bb342bb5a07ad61
Elliott Hughes [Wed, 18 Dec 2013 19:26:41 +0000 (19:26 +0000)]
Merge "Remove <machine/kernel.h>."
Elliott Hughes [Wed, 18 Dec 2013 19:21:55 +0000 (11:21 -0800)]
Remove <machine/kernel.h>.
Bug:
12175484
Change-Id: I127f7f91f36bd879109d653e0c56ec56e2529d4d
Christopher Ferris [Wed, 18 Dec 2013 18:34:18 +0000 (10:34 -0800)]
Remove the non-uapi kernel headers.
Bug:
11559337
Change-Id: Id1ee4dadbd673cf35b9c79bc87f9a6fb7b2253c6
Elliott Hughes [Wed, 18 Dec 2013 18:06:16 +0000 (18:06 +0000)]
Merge "Small style cleanup."
Elliott Hughes [Wed, 18 Dec 2013 18:05:42 +0000 (10:05 -0800)]
Small style cleanup.
Change-Id: Ib45a4a2296232968296f9bd7cc3592ba46fd412d
Elliott Hughes [Wed, 18 Dec 2013 17:56:22 +0000 (17:56 +0000)]
Merge "Properly detect timeout in pthread_mutex_lock_timeout_np_impl"
Elliott Hughes [Wed, 18 Dec 2013 17:52:18 +0000 (17:52 +0000)]
Merge "Move bionic over to GCC's 'warning' attribute."
Elliott Hughes [Wed, 18 Dec 2013 17:48:28 +0000 (17:48 +0000)]
Merge "Fix compilation of crtbegin.c and pthread_debug.cpp."
Elliott Hughes [Wed, 18 Dec 2013 04:47:06 +0000 (20:47 -0800)]
Fix compilation of crtbegin.c and pthread_debug.cpp.
Because there was no default := for the aarch64 libc_crt_target_cflags,
the += was causing libc_crt_target_cflags to be recursively-defined
variable, which meant that when we were compiling crtbegin.c LOCAL_PATH
would be bionic/tests/ and we'd have -Ibionic/tests/include/ and find
none of our include files.
Also fix linking of pthread_debug.cpp, at least in the disabled mode.
The enabled mode was already broken for all architectures, and continues
to be broken after this change. It's been broken for long enough that
we might want to just remove it...
(aarch64 is using the FSF linker where arm uses the gold linker.)
Change-Id: I7db2e386694f6933db043138e6e97e5ae54d4174
Elliott Hughes [Wed, 18 Dec 2013 04:43:30 +0000 (20:43 -0800)]
Move bionic over to GCC's 'warning' attribute.
This is a better solution than the old __warn_references because it's
a compile-time rather than link-time warning, it doesn't rely on something
that doesn't appear to be supported by gold (which is why you only used
to see these warnings on mips builds), and the errors refer to the exact
call site(s) rather than just telling you which object file contains a
reference to the bad function.
This is primarily so we can build bionic for aarch64; building libc.so
caused these warnings to fire (because link time is the wrong time) and
warnings are errors.
Change-Id: I5df9281b2a9d98b164a9b11807ea9472c6faa9e3
Elliott Hughes [Tue, 17 Dec 2013 23:06:49 +0000 (23:06 +0000)]
Merge "AArch64: Linker64 support for AArch64"
Marcus Oakland [Thu, 10 Oct 2013 14:19:31 +0000 (15:19 +0100)]
AArch64: Linker64 support for AArch64
Addition of support for AArch64 in the linker64 target.
Change-Id: I8dfd9711278f6706063e91f626b6007ea7a3dd6e
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Ken Mixter [Tue, 17 Dec 2013 20:40:08 +0000 (12:40 -0800)]
Properly detect timeout in pthread_mutex_lock_timeout_np_impl
Previously we were checking against a positive errno which
would not be returned from a system call.
Change-Id: I8e3a36f6fbf5ccc2191a152a1def37e2d6f93124
Elliott Hughes [Tue, 17 Dec 2013 01:41:08 +0000 (01:41 +0000)]
Merge "AArch64: Add fixes to bionic/tests"
Serban Constantinescu [Tue, 22 Oct 2013 10:30:12 +0000 (11:30 +0100)]
AArch64: Add fixes to bionic/tests
This patch adds minor fixes to the bionic unit tests.
Change-Id: Ie10f33c631ed6c10987923d678711d22931ddb05
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Elliott Hughes [Tue, 17 Dec 2013 01:06:15 +0000 (01:06 +0000)]
Merge "AArch64: Initial AArch64 port of libm"
Serban Constantinescu [Fri, 11 Oct 2013 09:44:43 +0000 (10:44 +0100)]
AArch64: Initial AArch64 port of libm
This patch adds intial support for AArch64 to bionic's libm.
Change-Id: I9ae0f895bbdd7fe67815e6ca1ead627581163a27
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Elliott Hughes [Tue, 17 Dec 2013 01:01:01 +0000 (01:01 +0000)]
Merge "AArch64: Add initial support for AArch64"
Serban Constantinescu [Thu, 26 Sep 2013 10:37:10 +0000 (11:37 +0100)]
AArch64: Add initial support for AArch64
This is the first patch out of a series of patches that add support for
AArch64, the new 64bit execution state of the ARMv8 Architecture. The
patches add support for LP64 programming model.
The patch adds:
* "arch-aarch64" to the architecture directories.
* "arch-aarch64/include" - headers used by libc
* "arch-aarch64/bionic":
- crtbegin, crtend support;
- aarch64 specific syscall stubs;
- setjmp, clone, vfork assembly files.
Change-Id: If72b859f81928d03ad05d4ccfcb54c2f5dbf99a5
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Elliott Hughes [Mon, 16 Dec 2013 21:09:57 +0000 (21:09 +0000)]
Merge "AArch64: Add support for AArch64 atomic operations"
Serban Constantinescu [Tue, 8 Oct 2013 18:29:55 +0000 (19:29 +0100)]
AArch64: Add support for AArch64 atomic operations
This patch adds support for AArch64 atomic operations. Some
of the stubs use the lightweight store/load exclusive.
Change-Id: Iaf704d048b2dc15bf08cf8e4f0c3ea9f2052fe13
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Elliott Hughes [Mon, 16 Dec 2013 21:03:19 +0000 (21:03 +0000)]
Merge "Fix typo."
Elliott Hughes [Mon, 16 Dec 2013 21:02:49 +0000 (13:02 -0800)]
Fix typo.
Change-Id: I85157a6b2056b6c17cae193200960b8cae3cb3b3
Elliott Hughes [Mon, 16 Dec 2013 18:21:01 +0000 (18:21 +0000)]
Merge "Clean up the pthread-only atomic stuff a little."
Elliott Hughes [Sat, 14 Dec 2013 00:54:16 +0000 (16:54 -0800)]
Clean up the pthread-only atomic stuff a little.
It looks like we can probably just use the generic GCC stuff instead;
the generated code looks pretty similar. We should come back to that.
These routines are only used by the pthread implementation, and
__bionic_atomic_inc isn't used, so we can remove it.
Change-Id: I8b5b8cb30a1b159f0e85c3675aee06ddef39b429
Elliott Hughes [Fri, 13 Dec 2013 23:42:21 +0000 (23:42 +0000)]
Merge "Clean up some ARMv4/ARMv5 cruft."
Elliott Hughes [Fri, 13 Dec 2013 20:17:13 +0000 (12:17 -0800)]
Clean up some ARMv4/ARMv5 cruft.
Change-Id: I29e836fea4b53901e29f96c6888869c35f6726be
Joshua J. Drake [Fri, 13 Dec 2013 19:44:53 +0000 (13:44 -0600)]
Fix backwards compatible system property structure
The original structure included four reserved 32-bit values. This
change adds these back into the structure so that the
__system_property_find_compat function will (again) process the system
properties correctly.
Elliott Hughes [Thu, 12 Dec 2013 23:38:25 +0000 (23:38 +0000)]
Merge "Make <sys/param.h> more glibc-like."
Christopher Ferris [Thu, 12 Dec 2013 23:35:42 +0000 (23:35 +0000)]
Merge "Add ioprio.h."
Elliott Hughes [Thu, 12 Dec 2013 23:31:35 +0000 (15:31 -0800)]
Make <sys/param.h> more glibc-like.
In particular, add MAX and MIN, needed by elfutils.
Bug:
11864683
Change-Id: I1b876732cdf68cdf5b930319e5ef5b5647586718
Christopher Ferris [Thu, 12 Dec 2013 23:23:22 +0000 (15:23 -0800)]
Add ioprio.h.
Change-Id: I153d05c5b6e9d640e319d65acb48b9cb12b6dafb
Elliott Hughes [Thu, 12 Dec 2013 20:51:50 +0000 (20:51 +0000)]
Merge "PTHREAD_KEYS_MAX cleanup."
Elliott Hughes [Thu, 12 Dec 2013 19:02:41 +0000 (11:02 -0800)]
PTHREAD_KEYS_MAX cleanup.
I fixed this bug a while back, but didn't remove it from the list,
could have added a better test, and could have written clearer code
that didn't require a comment.
Change-Id: Iebdf0f9a54537a7d5cbca254a5967b1543061f3d
Elliott Hughes [Thu, 12 Dec 2013 19:19:22 +0000 (19:19 +0000)]
Merge "Fix debugging issues in vdso handling"
Pavel Chupin [Mon, 9 Dec 2013 14:08:48 +0000 (18:08 +0400)]
Fix debugging issues in vdso handling
Under valgrind ehdr_vdso is null and causing segfault.
Adding debug info for vdso producing plenty of issues on debugging
through gdbserver, removing it. It doesn't seem it should be here.
Unwinding through vdso test still works.
Change-Id: I1a7e233c493f2268d725fa8d7279822d07decc49
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Elliott Hughes [Thu, 12 Dec 2013 18:43:43 +0000 (18:43 +0000)]
Merge "AArch64: Fix mmap64() definition for AArch64, X86_64"
Serban Constantinescu [Thu, 12 Dec 2013 09:36:27 +0000 (09:36 +0000)]
AArch64: Fix mmap64() definition for AArch64, X86_64
For 64bit Architectures mmap() is equivalent to mmap64(). This patch
maps mmap64() to mmap() in a similar way to other syscalls that differ
based on the size of off_t and off64_t
Change-Id: If21b21ef71120bad23d9a608d02d4a7de5220a87
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Elliott Hughes [Wed, 11 Dec 2013 23:46:05 +0000 (23:46 +0000)]
Merge "Remove harmful attempts to be helpful in pthread_mutex functions."
Elliott Hughes [Wed, 11 Dec 2013 22:54:00 +0000 (14:54 -0800)]
Remove harmful attempts to be helpful in pthread_mutex functions.
Most callers won't check for EINVAL, so it's best to fail early.
GCC takes the nonnull attribute as a guarantee that an argument
won't be NULL, so these hacks were already ineffective, which is
how we found that at least one commercial game was using NULL
as if it's a mutex, but actually getting no-op behavior.
Bug:
11971278
Change-Id: I89646e043d931778805a8b692e07a34d076ee6bf
Elliott Hughes [Wed, 11 Dec 2013 21:56:39 +0000 (21:56 +0000)]
Merge "Clarify a comment."
Elliott Hughes [Wed, 11 Dec 2013 20:41:54 +0000 (12:41 -0800)]
Clarify a comment.
Change-Id: Iad2e33fb059170f808023ce3d17e9b8c13191f42
Robert Greenwalt [Wed, 11 Dec 2013 19:32:37 +0000 (19:32 +0000)]
Merge "Fix dns search domain use in gethostbyname."
Robert Greenwalt [Thu, 28 Nov 2013 00:23:09 +0000 (16:23 -0800)]
Fix dns search domain use in gethostbyname.
Need to load search domain data before we attempt to use it.
bug:
6799630
Change-Id: Ib228f4ca260339f71a2e28d5930c0a722bd43c92
Colin Cross [Wed, 11 Dec 2013 19:05:24 +0000 (19:05 +0000)]
Merge "bionic: move benchmarks out of tests directory"
Colin Cross [Sat, 16 Nov 2013 01:49:47 +0000 (17:49 -0800)]
bionic: move benchmarks out of tests directory
Change-Id: I4d054965198af22c9a9c821d1bc53f4e9ea01248
Christopher Ferris [Sat, 7 Dec 2013 16:38:08 +0000 (16:38 +0000)]
Merge "Do not clear tids on detached threads."
Christopher Ferris [Sat, 7 Dec 2013 02:54:48 +0000 (18:54 -0800)]
Do not clear tids on detached threads.
Make sure that the kernel isn't going to try and clear the tid of
freed memory.
Bug:
11963327
Change-Id: I95d02340bfbe92f56036d2cc58dbf0e3079eb7c3
The Android Open Source Project [Thu, 5 Dec 2013 20:37:57 +0000 (12:37 -0800)]
Christopher Ferris [Wed, 4 Dec 2013 19:08:16 +0000 (19:08 +0000)]
Merge "Add strcmp/memcmp testing."
Christopher Ferris [Wed, 4 Dec 2013 02:39:10 +0000 (18:39 -0800)]
Add strcmp/memcmp testing.
Bug:
9797008
Change-Id: I11b1da060d29f7dacbb53f20a3e2082395b5bd8a
Christopher Ferris [Tue, 3 Dec 2013 20:28:09 +0000 (20:28 +0000)]
Merge "Add cfi directives to all arm assembly."
Christopher Ferris [Tue, 3 Dec 2013 01:44:53 +0000 (17:44 -0800)]
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
Elliott Hughes [Wed, 27 Nov 2013 04:51:34 +0000 (04:51 +0000)]
Merge "Finish <sys/user.h>."
Elliott Hughes [Wed, 27 Nov 2013 01:57:31 +0000 (17:57 -0800)]
Finish <sys/user.h>.
Change-Id: I1d97d7fa3d5be2ff4728571ed5376705a27091ec
Elliott Hughes [Wed, 27 Nov 2013 00:34:44 +0000 (00:34 +0000)]
Merge "Fix the order of arguments to sys_clone for x86."
Elliott Hughes [Wed, 27 Nov 2013 00:20:50 +0000 (16:20 -0800)]
Fix the order of arguments to sys_clone for x86.
Unlike x86-64, x86's arguments are just like every other
architecture's.
Change-Id: Ic6da23f2a70599683b68e7e12ab9ba061e0b349c
Elliott Hughes [Tue, 26 Nov 2013 22:36:38 +0000 (22:36 +0000)]
Merge "Work around CLONE_SETTLS being weird on x86."
Elliott Hughes [Tue, 26 Nov 2013 21:57:21 +0000 (13:57 -0800)]
Work around CLONE_SETTLS being weird on x86.
Unlike other architectures, on x86 (but not x86-64), CLONE_SETTLS
takes a pointer to a struct user_desc instead of a pointer to the
TLS itself. Rather than have to deal with this here, let's just use
the old __set_tls mechanism we used to use (and still use for the
main thread on all architectures, so it's not going away any time
soon).
Bug:
11826724
Change-Id: I02a27939a73ae6cea1134a3f4c1dd7eafea479da
Elliott Hughes [Tue, 26 Nov 2013 21:51:48 +0000 (21:51 +0000)]
Merge "Fix _exit_with_stack_teardown for x86."