Commit Graph

3679 Commits

Author SHA1 Message Date
Colin Cross
771524267b am 3aa1e605: am 35377004: am 513f83bb: Merge "bionic: rename aarch64 target to arm64"
* commit '3aa1e605ea1167e59976bf82922fd06c728b518b':
  bionic: rename aarch64 target to arm64
2014-01-24 21:24:50 +00:00
Colin Cross
513f83bb7f Merge "bionic: rename aarch64 target to arm64" 2014-01-24 20:33:23 +00:00
Ben Cheng
af0debbfc7 am cc70de8f: am 0661bbe2: am 69d242d2: Merge "Re-export libgcc\'s __aeabi_uidivmod and __popcount_tab"
* commit 'cc70de8fc3726cf8cc242a4dcb80a7f5af50f4b1':
  Re-export libgcc's __aeabi_uidivmod and __popcount_tab
2014-01-24 18:25:55 +00:00
Bernhard Rosenkränzer
f38fb19d9d Re-export libgcc's __aeabi_uidivmod and __popcount_tab
This is required to make the Nexus 10 graphics driver work on a system
compiled with gcc 4.9.

Change-Id: If3f3d488652a736d9ea3e583548d74fae3ffa902
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-01-24 12:57:13 +01:00
Colin Cross
d1973ca513 bionic: rename aarch64 target to arm64
Rename aarch64 build targets to arm64.  The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
2014-01-23 18:35:39 -08:00
Elliott Hughes
232e52e90b am 17758106: am 06d38ccd: am 5b4884fa: Merge "Add "__noreturn" to assert and assert2"
* commit '17758106e80d9ced66c7cfdae0b0331ebd7696b7':
  Add "__noreturn" to assert and assert2
2014-01-15 21:41:21 +00:00
Elliott Hughes
5b4884fac9 Merge "Add "__noreturn" to assert and assert2" 2014-01-15 21:26:47 +00:00
Vadim Markovtsev
323d4b6f68 Add "__noreturn" to assert and assert2
These functions should print assertion violation messages and then
call abort(). They do really not return control flow afterwards.
Consider the declaration of the similar __assert_fail from glibc:

extern void __assert_fail (const char *__assertion,
                           const char *__file,
			   unsigned int __line,
                           const char *__function)
     __THROW __attribute__ ((__noreturn__));

Bionic has __noreturn defined in sys/cdefs.h to be that GNU
noreturn attribute.

This patch has a practical value. Consider the following function:

void check(void* ptr) {
  assert(ptr != NULL);
}

Without this patch applied, gcc (and presumably clang) shows even in
debug mode:

warning: unused parameter 'ptr' [-Wunused-parameter]

In release mode, NDEBUG is defined and assert() becomes a no-op, as
one should expect. Thus, the warning is shown correctly then.

Another code sample:

float array[2];
int i = 3;
...
assert(i < 2);
array[i] = 0;

gcc says,

warning: array subscript is below array bounds [-Warray-bounds]

In other words, without noreturn attribute, assertions do not
allow a compiler's static analyzer to properly understand
the preconditions.

Change-Id: I3be92e99787c528899cf243ed448c4730c00c45b
Signed-off-by: Vadim Markovtsev <gmarkhor@gmail.com>
2014-01-15 07:32:52 +00:00
Elliott Hughes
63ccebf3f3 am e83c98e6: am a17b7ba9: am c8d41263: Merge "Move _thread_created_hook to where it belongs."
* commit 'e83c98e6f7575000df7e36803c5349249f8aa982':
  Move _thread_created_hook to where it belongs.
2014-01-15 02:48:31 +00:00
Elliott Hughes
af8aebebb5 Move _thread_created_hook to where it belongs.
Change-Id: I643d761c78ccaae25270aeffa2afb811c4e2fcd7
2014-01-14 17:16:18 -08:00
Elliott Hughes
41af7f39e9 am d2124b7c: am 7e997388: am b5e21103: Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()"
* commit 'd2124b7c5ca15cb593c824d2488f6a95dce4a519':
  AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()
2014-01-14 01:15:04 +00:00
Elliott Hughes
b5e211031b Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()" 2014-01-14 01:01:41 +00:00
Elliott Hughes
758e586a98 am 0b9a13f5: am a1595487: am ae189740: Merge "Add some more headers."
* commit '0b9a13f58fa13fc7f29c386e265dcbe56c7c5095':
  Add some more headers.
2014-01-10 23:55:16 +00:00
Elliott Hughes
ae189740de Merge "Add some more headers." 2014-01-10 23:35:47 +00:00
Elliott Hughes
c835c35727 Add some more headers.
This patch adds trivial implementations of the missing sys headers
needed by strace. All strace needs are the constants and structures,
so this is enough for now. We can come back and add the functions
if/when we ever need them.

Change-Id: Idb87c1a8b6b1c62f6e16ae94f147e1169722b48e
2014-01-10 15:32:31 -08:00
JP Abgrall
9a3f2b78e6 am 51e1ca76: am 09a73562: am f784f036: Merge "Add extra libc stubs for mntent related functions."
* commit '51e1ca76776822e3d020a1dc7e25dbc46ddde1e4':
  Add extra libc stubs for mntent related functions.
2014-01-10 02:08:05 +00:00
Elliott Hughes
a537a330a4 am e48e9c99: am 2872e742: am 33c3e8d3: Merge "Add NT_PRSTATUS to <elf.h>."
* commit 'e48e9c9919f1f1130ff09600f6c444e2f3be1689':
  Add NT_PRSTATUS to <elf.h>.
2014-01-10 01:54:25 +00:00
JP Abgrall
4e9cb032d1 Add extra libc stubs for mntent related functions.
This adds stubs for setmntent() and endmntent().

Change-Id: I6ccaa044145405cd7226c1c54a25d435c96a2308
2014-01-10 01:24:34 +00:00
Elliott Hughes
8667765896 am 1424b701: am fce55ed3: am 8e6bf35a: Merge "Add <sgidefs.h>."
* commit '1424b70152a1cacbfb3125a49b01d158f4028152':
  Add <sgidefs.h>.
2014-01-10 00:23:15 +00:00
Elliott Hughes
d36126ddc3 am fb12b9a7: am ea7c0ea6: am d29c75f0: Merge "Fix x86 user_regs_struct."
* commit 'fb12b9a7a3f6b0d91a201d4f39134edddc93c07c':
  Fix x86 user_regs_struct.
2014-01-10 00:23:14 +00:00
Elliott Hughes
f39f8f4414 am 2a25c30e: am c63fe9fa: am 6114ffb3: Merge "Add the glibc-compatible d_fileno."
* commit '2a25c30e33ecf2170709f5ff89588c81480dd23d':
  Add the glibc-compatible d_fileno.
2014-01-10 00:07:22 +00:00
Elliott Hughes
33c3e8d3b2 Merge "Add NT_PRSTATUS to <elf.h>." 2014-01-09 23:53:58 +00:00
Elliott Hughes
1272dbd1d7 Add NT_PRSTATUS to <elf.h>.
Needed by aarch64.

Bug: 12476126
Change-Id: I7764664459a06cf4f2a60e707bd968d321a78430
2014-01-09 15:45:07 -08:00
Elliott Hughes
8e6bf35a16 Merge "Add <sgidefs.h>." 2014-01-09 22:24:34 +00:00
Elliott Hughes
f8b2b3c81e Fix x86 user_regs_struct.
I fixed x86-64 yesterday, but didn't fix x86 at the same time.

Change-Id: I5c081f5956dfedb9389af303369b841dd0fc1953
2014-01-09 14:01:18 -08:00
Elliott Hughes
1c2cf23a0c Add <sgidefs.h>.
Change-Id: I543d502a81dcb8d5969f814b8a9a9c819bc4fa2c
2014-01-09 13:54:49 -08:00
Elliott Hughes
a8a3178445 Add the glibc-compatible d_fileno.
d_ino is the POSIX name, but glibc also offers d_fileno, and
that's what strace is using.

Change-Id: I3fadbe7a64700b42e78c7f4631620e864d43147b
2014-01-09 12:37:12 -08:00
Elliott Hughes
2a02502c77 am b1955cc4: am 56d790fc: am c65cbf97: Merge "Fix <sys/resource.h>."
* commit 'b1955cc44776dc272eece253e72b567ce32aa185':
  Fix <sys/resource.h>.
2014-01-09 19:21:56 +00:00
Elliott Hughes
0f461e35f6 Fix <sys/resource.h>.
The situation here is a bit confusing. On 64-bit, rlimit and rlimit64 are
the same, and so getrlimit/getrlimit64, setrlimit/setrlimit64,
and prlimit/prlimit64 are all the same. On 32-bit, rlimit and rlimit64 are
different. 32-bit architectures other than MIPS go one step further by having
an even more limited getrlimit system call, so arm and x86 need to use
ugetrlimit instead of getrlimit. Worse, the 32-bit architectures don't have
64-bit getrlimit- and setrlimit-equivalent system calls, and you have to use
prlimit64 instead. There's no 32-bit prlimit system call, so there's no
easy implementation of that --- what should we do if the result of prlimit64
won't fit in a struct rlimit? Since 32-bit survived without prlimit/prlimit64
for this long, I'm not going to bother implementing prlimit for 32-bit.

We need the rlimit64 functions to be able to build strace 4.8 out of the box.

Change-Id: I1903d913b23016a2fc3b9f452885ac730d71e001
2014-01-09 11:00:04 -08:00
Elliott Hughes
cf6090561b am e5af4430: am 8c6c9801: am 8276d287: Merge "Our dirent is a dirent64."
* commit 'e5af4430477b3fb8a6faaa5348a6dda4574fcea6':
  Our dirent is a dirent64.
2014-01-09 01:31:07 +00:00
Elliott Hughes
90e61a3039 am 49fd7864: am 2ab8dd30: am 66f473ef: Merge "Add <sys/reg.h>."
* commit '49fd7864cd997f78ac683c8c54dd009020c3d0e5':
  Add <sys/reg.h>.
2014-01-09 01:31:07 +00:00
Elliott Hughes
8276d2875f Merge "Our dirent is a dirent64." 2014-01-09 01:15:27 +00:00
Elliott Hughes
72dee4e4aa am d0a17beb: am 548eddab: am 8a6eec38: Merge "Fix x86_64 register names in <sys/user.h>."
* commit 'd0a17beb73c851babf18736773645dbca206f69b':
  Fix x86_64 register names in <sys/user.h>.
2014-01-09 00:37:52 +00:00
Elliott Hughes
16b28da0df am 36a3f941: am 60ff1387: am 5d5cc227: Merge "We shouldn\'t have a <sys/dirent.h> that\'s a subset of <dirent.h>."
* commit '36a3f941d07ad58b7df1152b1cfb6041604eb666':
  We shouldn't have a <sys/dirent.h> that's a subset of <dirent.h>.
2014-01-09 00:37:51 +00:00
Elliott Hughes
38f0ef3ff7 Our dirent is a dirent64.
Change-Id: Idc9ebfd900fddd4f7c7ac95bc9b74401ebc801a3
2014-01-08 16:31:36 -08:00
Elliott Hughes
5b17e4da39 Add <sys/reg.h>.
This describes the offsets into ptrace's returned arrays of registers
for x86 and x86-64.

Change-Id: I044f03e286673999a298b73a813d4ad366625845
2014-01-08 16:29:22 -08:00
Elliott Hughes
8a6eec38eb Merge "Fix x86_64 register names in <sys/user.h>." 2014-01-09 00:24:55 +00:00
Elliott Hughes
eddc8ece3d Fix x86_64 register names in <sys/user.h>.
Change-Id: Ieb327247a41f6195589716170e324d1cd1251b96
2014-01-08 15:54:19 -08:00
Elliott Hughes
155b076420 We shouldn't have a <sys/dirent.h> that's a subset of <dirent.h>.
glibc has no <sys/dirent.h>. If we do have to bring this back, we
should probably just have one file #include the other.

Change-Id: I5c0bf9c03769daf3b23f69778e9f01f81c3de9ec
2014-01-08 15:51:13 -08:00
Elliott Hughes
398aadbf6d am e4f4ef04: am eac00eb7: am 4c8caf0a: Merge "<sched.h> should offer both __sched_priority and sched_priority."
* commit 'e4f4ef047c7240d5603ad4e65007f4b79a2fefa3':
  <sched.h> should offer both __sched_priority and sched_priority.
2014-01-08 02:53:05 +00:00
Elliott Hughes
f89abab0cb am fccb66b3: am 4458a5a7: am 4faf76ca: Merge "<fcntl.h> should get you the POSIX_FADV_* constants."
* commit 'fccb66b3ab3f6e5672a46d4730d545859308dc8c':
  <fcntl.h> should get you the POSIX_FADV_* constants.
2014-01-08 02:53:04 +00:00
Elliott Hughes
e0d647701e am ec93120e: am 82bbaf7e: am bc4e135a: Merge "Add SWAP_FLAG_* constants to <sys/swap.h>."
* commit 'ec93120e63b44e88ee4665820b7b29c0757852f7':
  Add SWAP_FLAG_* constants to <sys/swap.h>.
2014-01-08 02:43:02 +00:00
Elliott Hughes
4c8caf0ad3 Merge "<sched.h> should offer both __sched_priority and sched_priority." 2014-01-08 02:41:04 +00:00
Elliott Hughes
4faf76ca11 Merge "<fcntl.h> should get you the POSIX_FADV_* constants." 2014-01-08 02:40:44 +00:00
Elliott Hughes
bc4e135a8e Merge "Add SWAP_FLAG_* constants to <sys/swap.h>." 2014-01-08 02:31:55 +00:00
Elliott Hughes
91a7e423a4 am 24ed782f: am d2fe982b: am 1c1b8354: Merge "Define fsid_t as well as __fsid_t."
* commit '24ed782faaf2f373c9c89a8c403bc3ec2e56bab8':
  Define fsid_t as well as __fsid_t.
2014-01-08 02:24:31 +00:00
Elliott Hughes
65c6f3099e Add SWAP_FLAG_* constants to <sys/swap.h>.
Bug: 9336527
Change-Id: I679be4d8425ba177dd782e714f465caf9daa976c
2014-01-08 02:23:06 +00:00
Elliott Hughes
bbb34f9536 <sched.h> should offer both __sched_priority and sched_priority.
If glibc hadn't already done things this way round, I'd have
called the field sched_priority and the macro __sched_priority
since that would seem less likely to cause trouble, but glibc
source compatibility is probably more important.

Change-Id: I8a8a477f2aa87cae641069c5c84b4fcab3152a82
2014-01-07 17:48:30 -08:00
Elliott Hughes
01e505ac9c <fcntl.h> should get you the POSIX_FADV_* constants.
Change-Id: I9de8b840570b228308c12d72b7617b8758237fb8
2014-01-07 17:47:20 -08:00
Elliott Hughes
abfc88fed7 Define fsid_t as well as __fsid_t.
Change-Id: Ib8efbd913a0e6bfe27b88c1342bd5cec926dd74e
2014-01-07 17:44:51 -08:00
Elliott Hughes
6f32b90ea4 am 0d668937: am 654a26b8: am 27a4bb31: Merge "Regenerate the NOTICE files."
* commit '0d66893771259bb82458ba303ff5f58fd9f9f74e':
  Regenerate the NOTICE files.
2014-01-07 22:00:58 +00:00
Elliott Hughes
54a7494f17 Regenerate the NOTICE files.
Also standardize the orthography in a few places to reduce near-duplicates
in the NOTICE files.

Change-Id: I347c75e817be61ec1b9c5b4b96226feedc8d09ab
2014-01-07 13:46:11 -08:00
Christopher Ferris
a515fdfe15 am 4beb09a0: am 292f4473: am 10cd709f: Merge "Add cfi directives to x86 syscalls."
* commit '4beb09a0730ccd254a0f7683425911d7c90a1431':
  Add cfi directives to x86 syscalls.
2014-01-07 01:46:15 +00:00
Christopher Ferris
10cd709ff9 Merge "Add cfi directives to x86 syscalls." 2014-01-07 01:36:44 +00:00
Christopher Ferris
e4bc756121 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
2014-01-06 16:39:10 -08:00
Elliott Hughes
9555fa7ec0 am 30ef1f3e: am ca63af9e: am b235f8c8: Merge "Fix dev_t (for LP64)."
* commit '30ef1f3e35e8c473b56cefa85617b660fa3a15fb':
  Fix dev_t (for LP64).
2014-01-06 20:56:51 +00:00
Elliott Hughes
6d3183bc40 am 8a6c497f: am 7a0e89b6: am 8c8852f1: Merge "Add TCPOPT_* constants."
* commit '8a6c497fb727e30d88a594f8ebfec9098595ae84':
  Add TCPOPT_* constants.
2014-01-06 20:56:50 +00:00
Elliott Hughes
b235f8c877 Merge "Fix dev_t (for LP64)." 2014-01-06 20:37:03 +00:00
Elliott Hughes
338e6102a6 Add TCPOPT_* constants.
Adds the TCPOPT_* constants from NetBSD. Note that the BSDs also have
TCPOPT_SIGNATURE, but Linux calls that TCPOPT_MD5SIG and glibc doesn't
have any corresponding constant yet, so let's wait until we see which name
wins out.

Change-Id: If53cdada5595285d9a7e7248ef74cd7502d804c0
2014-01-03 15:58:40 -08:00
Elliott Hughes
a3ae611097 am dd18a8df: am 3fcc90c6: am c1c3f7d4: Merge "Remove as many hard-coded constants from the MIPS vfork.S as possible."
* commit 'dd18a8dfd03884ea6e6d71fdd013b2ebe6ebb999':
  Remove as many hard-coded constants from the MIPS vfork.S as possible.
2014-01-03 23:19:42 +00:00
Elliott Hughes
894f8cb139 Fix dev_t (for LP64).
32-bit Android's dev_t was wrong too. We can't fix that without ABI breakage,
but we can at least fix 64-bit Android. And add tests.

Bug: https://code.google.com/p/android/issues/detail?id=54966
Change-Id: Ie2e42cc042b78b669a1a44e55f959dbd9c52c5c9
2014-01-03 14:49:37 -08:00
Elliott Hughes
c1c3f7d446 Merge "Remove as many hard-coded constants from the MIPS vfork.S as possible." 2014-01-03 22:36:53 +00:00
Elliott Hughes
c5bf703c4c Remove as many hard-coded constants from the MIPS vfork.S as possible.
We could do better, but not without MIPS cleaning up their kernel headers.

Change-Id: Ib4d4ce5d720ce8ca27a3f9a1ae07a9a277675af9
2014-01-03 14:27:17 -08:00
Elliott Hughes
83783d4c2d am c2162cc5: am b8f2df91: am 3b36564b: Merge "Use the MAX_ERRNO constant."
* commit 'c2162cc58fd7d68eb64cc787e741770f7f502343':
  Use the MAX_ERRNO constant.
2014-01-03 00:38:52 +00:00
Elliott Hughes
a85aaf11fa 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
2014-01-02 16:23:24 -08:00
Elliott Hughes
8b73b46948 am 0db8180f: am a4c979e3: am 66d16619: Merge "Remove a hardcoded constant from aarch64\'s vfork."
* commit '0db8180f9720c1b844d4e6c126e98d6bb78c0946':
  Remove a hardcoded constant from aarch64's vfork.
2014-01-02 22:28:16 +00:00
Elliott Hughes
b0a2efc6f2 Remove a hardcoded constant from aarch64's vfork.
Change-Id: Ifc09ca066c32988b8cc9db9e808b9ef4c4d2bfcb
2014-01-02 14:17:30 -08:00
Elliott Hughes
8bea13ddcb am 9d0600e1: am 741d4023: am 7b0c23f1: Merge "Clean up <sched.h>."
* commit '9d0600e16169a326a68543992e428d78d4f67398':
  Clean up <sched.h>.
2014-01-02 21:57:07 +00:00
Elliott Hughes
887e1140fe 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
2014-01-02 12:05:50 -08:00
Elliott Hughes
1c1a001deb am 19705a6e: am bb184de2: am 17c9fe7d: Merge "Fix MIPS build."
* commit '19705a6e350d3faedfcb69da117f18770528fe4a':
  Fix MIPS build.
2013-12-22 20:14:41 +00:00
Elliott Hughes
5063791535 Fix MIPS build.
Change-Id: I175f427e355fca9a5a3f4e4379d7fcd1f7f6a22d
2013-12-22 12:02:32 -08:00
Elliott Hughes
14a9c3f516 am 75ed8899: am 2f6f6c0b: am 47033433: Merge "Remove the bogus exit status from _exit_with_stack_teardown."
* commit '75ed8899ac02bf952dd42987f867372a8b56219f':
  Remove the bogus exit status from _exit_with_stack_teardown.
2013-12-22 19:45:47 +00:00
Elliott Hughes
2aace21a19 Remove the bogus exit status from _exit_with_stack_teardown.
It should always be 0, and there's no reason to pass a constant in as
an argument.

Change-Id: I92ac59b718a18e298bd7c52821af447f9181ca2a
2013-12-21 15:30:49 -08:00
Elliott Hughes
b12dc8e6c8 am 7b9f6ab8: am 57c6a969: am 6d929061: Merge "Fix MIPS build."
* commit '7b9f6ab83459eea7f4070e93b0a4efbb70a38e2c':
  Fix MIPS build.
2013-12-21 02:59:01 +00:00
Elliott Hughes
6d929061c3 Merge "Fix MIPS build." 2013-12-21 02:47:01 +00:00
Elliott Hughes
5b395ce071 Fix MIPS build.
Change-Id: Idd3bcda1803fd16b728a352d325bb070aed8fd94
2013-12-20 18:46:14 -08:00
Elliott Hughes
bb6bf6417a am e4aaceb3: am 191c7e3e: am 3fdb7355: Merge "Avoid sign extension in 32-bit mmap."
* commit 'e4aaceb302a846cf862d9e8a6d96bf85b07d8123':
  Avoid sign extension in 32-bit mmap.
2013-12-21 02:38:20 +00:00
Elliott Hughes
a255bce6d2 am 5ff62cbe: am 51166a7e: am 434f97f6: Merge "Remove some old kernel header cruft not needed with uapi."
* commit '5ff62cbe9df50eb9d1bac01180ca7f40c1e2c6e2':
  Remove some old kernel header cruft not needed with uapi.
2013-12-21 02:34:51 +00:00
Elliott Hughes
3fdb735590 Merge "Avoid sign extension in 32-bit mmap." 2013-12-21 02:23:35 +00:00
Elliott Hughes
99868904fe Avoid sign extension in 32-bit mmap.
Change-Id: I2a77925f62f381a0b34648c3db8154a55dd80c46
2013-12-20 18:17:34 -08:00
Elliott Hughes
6ae8ab2896 am 9306d2a2: am bc86e156: am 22323f91: Merge "Fix aarch64 futex assembly routines."
* commit '9306d2a21f281b505582cd8710546decc92bf497':
  Fix aarch64 futex assembly routines.
2013-12-21 01:37:04 +00:00
Elliott Hughes
68d89c7d65 Remove some old kernel header cruft not needed with uapi.
Change-Id: If543b056ae40f0eb660be4a0629ad22f4c4cb92f
2013-12-20 17:26:30 -08:00
Elliott Hughes
5eccb9646d Fix aarch64 futex assembly routines.
Also make the other architectures more similar to one another,
use NULL instead of 0 in calling code, and remove an unused #define.

Change-Id: I52b874afb6a351c802f201a0625e484df6d093bb
2013-12-20 16:58:06 -08:00
Elliott Hughes
fb5222ebef am c2b4de4d: am 9f65022f: am 026b6ab6: Merge "Allocate additional space on stack for indirect syscall"
* commit 'c2b4de4dca45cf8bea64e69563f8efde13539a0f':
  Allocate additional space on stack for indirect syscall
2013-12-20 23:50:41 +00:00
Chris Dearman
766c7efe28 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
2013-12-20 15:36:00 -08:00
Greg Hackmann
218c50fcc3 am 8d4d6d55: am 70898677: am 5e26221a: Merge "Fix backwards compatible system property structure"
* commit '8d4d6d5536e138260f826f67175fb89b79c41c8c':
  Fix backwards compatible system property structure
2013-12-20 22:51:34 +00:00
Greg Hackmann
5e26221a1d Merge "Fix backwards compatible system property structure" 2013-12-20 21:54:38 +00:00
Elliott Hughes
ac0c7d599e am 55ac19cf: am 7b0964b1: am 21955e54: Merge "Upgrade to tzdata2013i."
* commit '55ac19cf547b59cc1efce4562655b517f926f72d':
  Upgrade to tzdata2013i.
2013-12-20 19:46:41 +00:00
Elliott Hughes
498295ca2b 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
2013-12-20 11:26:19 -08:00
Elliott Hughes
ab27c70dd0 am aefb8b35: am ddeca583: am aa267685: Merge "Allow GCC-built fortified code to run on a clang-built bionic."
* commit 'aefb8b3599056465e8281bd1062c558c8554113f':
  Allow GCC-built fortified code to run on a clang-built bionic.
2013-12-20 05:50:50 +00:00
Elliott Hughes
aa267685c9 Merge "Allow GCC-built fortified code to run on a clang-built bionic." 2013-12-20 02:54:56 +00:00
Elliott Hughes
4889dc1658 am 576fba08: am c7295d73: am a19a41b6: Merge "Fix struct stat for aarch64."
* commit '576fba08dc1cf289a1160d2c8e6678f6155a0814':
  Fix struct stat for aarch64.
2013-12-20 02:02:13 +00:00
Elliott Hughes
8491fd501a am d7a47858: am b37569e3: am f85b9ac3: Merge "Don\'t force O_LARGEFILE on LP64."
* commit 'd7a478589fdfde8fb4d7d1c9c4c294498f5009b8':
  Don't force O_LARGEFILE on LP64.
2013-12-20 01:57:29 +00:00
Elliott Hughes
a19a41b6b5 Merge "Fix struct stat for aarch64." 2013-12-20 01:45:33 +00:00
Elliott Hughes
f85b9ac3ec Merge "Don't force O_LARGEFILE on LP64." 2013-12-20 01:44:24 +00:00
Ben Cheng
c77395b341 am 88568a4b: am 6517824f: am f576472a: Merge "Add __popcountsi2 to the function compat list."
* commit '88568a4b89f52f37001866680ff1ce07e592f75c':
  Add __popcountsi2 to the function compat list.
2013-12-20 00:58:01 +00:00
Elliott Hughes
b8fa5b1ca9 Fix struct stat for aarch64.
Another kernel, another struct stat.

Change-Id: Ia5ee553d4a2ffc878d2fed82a763ff64c02b12e8
2013-12-19 16:50:22 -08:00
Elliott Hughes
17cabe15d5 Don't force O_LARGEFILE on LP64.
aarch64's strace is confused by this, and it isn't necessary anyway.

Change-Id: Ib07b649eb1c38ff0296003874f73af78c47bc276
2013-12-19 16:48:56 -08:00
Ben Cheng
e3fb66dd01 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
2013-12-19 16:26:40 -08:00
Elliott Hughes
cd0609f4fc 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
2013-12-19 14:20:22 -08:00