Commit Graph

6588 Commits

Author SHA1 Message Date
Nick Kralevich
25447aec39 Merge "Clean up more recursive FORTIFY_SOURCE calls" 2013-12-19 05:08:17 +00:00
Nick Kralevich
e4c6b08c4e 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
2013-12-18 19:17:14 -08:00
Nick Kralevich
4063bb6147 Merge "__strnlen_chk: avoid recursive strlen calls" 2013-12-19 02:52:23 +00:00
Elliott Hughes
90bd36bca6 Merge "Don't use weak aliases in libm." 2013-12-19 02:49:19 +00:00
Nick Kralevich
ddea383433 __strnlen_chk: avoid recursive strlen calls
Don't use FORTIFY_SOURCE on functions which implement
FORTIFY_SOURCE.

Bug: 12216860
Change-Id: I61db1b47ccdd6bdcf41eab3303f4806494016199
2013-12-18 18:17:52 -08:00
Elliott Hughes
241608e9ce 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
2013-12-18 17:18:53 -08:00
Elliott Hughes
f5897dcb1d Merge "Fix linking of aarch64 static binaries." 2013-12-18 23:31:29 +00:00
Elliott Hughes
28d4b9bbcb Fix linking of aarch64 static binaries.
Change-Id: If1fa8b560074058b8f7ef32db21a7ca3c53d1fd7
2013-12-18 15:22:08 -08:00
Elliott Hughes
0b61567f9f Merge "Fix the x86-64 int64_t/uint64_t." 2013-12-18 22:11:17 +00:00
Elliott Hughes
ba9fee97cf Fix the x86-64 int64_t/uint64_t.
This now matches aarch64, which was already correct.

Bug: 12213562
Change-Id: I5da19f0af98347992fea2a62938472f86427740f
2013-12-18 14:00:14 -08:00
Elliott Hughes
717ad6498c Merge "Don't use __kernel_ulong_t." 2013-12-18 20:23:28 +00:00
Elliott Hughes
ad8842f5c6 Don't use __kernel_ulong_t.
Change-Id: Ifdfbac0ac6da647276a84bd64bb342bb5a07ad61
2013-12-18 12:22:33 -08:00
Elliott Hughes
7649766b45 Merge "Remove <machine/kernel.h>." 2013-12-18 19:26:42 +00:00
Elliott Hughes
2b333ea31e Remove <machine/kernel.h>.
Bug: 12175484
Change-Id: I127f7f91f36bd879109d653e0c56ec56e2529d4d
2013-12-18 11:21:55 -08:00
Christopher Ferris
be5231442b Remove the non-uapi kernel headers.
Bug: 11559337
Change-Id: Id1ee4dadbd673cf35b9c79bc87f9a6fb7b2253c6
2013-12-18 10:34:18 -08:00
Elliott Hughes
d2bcbf0dbe Merge "Small style cleanup." 2013-12-18 18:06:17 +00:00
Elliott Hughes
9e79af3b61 Small style cleanup.
Change-Id: Ib45a4a2296232968296f9bd7cc3592ba46fd412d
2013-12-18 10:05:42 -08:00
Elliott Hughes
611b903ca7 Merge "Properly detect timeout in pthread_mutex_lock_timeout_np_impl" 2013-12-18 17:56:22 +00:00
Elliott Hughes
e00f4890c7 Merge "Move bionic over to GCC's 'warning' attribute." 2013-12-18 17:52:18 +00:00
Elliott Hughes
62e6fe5849 Merge "Fix compilation of crtbegin.c and pthread_debug.cpp." 2013-12-18 17:48:28 +00:00
Elliott Hughes
e7c59f9e20 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
2013-12-18 09:47:44 -08:00
Elliott Hughes
c13fb75cea 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
2013-12-17 20:43:30 -08:00
Elliott Hughes
f293b15728 Merge "AArch64: Linker64 support for AArch64" 2013-12-17 23:06:49 +00:00
Marcus Oakland
e365f9d654 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>
2013-12-17 15:02:43 -08:00
Ken Mixter
4fae14f333 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
2013-12-17 14:26:01 -08:00
Elliott Hughes
2e3826c081 Merge "AArch64: Add fixes to bionic/tests" 2013-12-17 01:41:08 +00:00
Serban Constantinescu
282e232e2a 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>
2013-12-16 17:40:30 -08:00
Elliott Hughes
4e78ca63b8 Merge "AArch64: Initial AArch64 port of libm" 2013-12-17 01:06:16 +00:00
Serban Constantinescu
1c4f101a9b 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>
2013-12-16 17:05:37 -08:00
Elliott Hughes
c858b567ad Merge "AArch64: Add initial support for AArch64" 2013-12-17 01:01:02 +00:00
Serban Constantinescu
e210488e0d 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>
2013-12-16 17:00:22 -08:00
Elliott Hughes
db7180233f Merge "AArch64: Add support for AArch64 atomic operations" 2013-12-16 21:09:57 +00:00
Serban Constantinescu
1924a5c92e 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>
2013-12-16 13:09:33 -08:00
Elliott Hughes
3937d41561 Merge "Fix typo." 2013-12-16 21:03:19 +00:00
Elliott Hughes
4c186ffb83 Fix typo.
Change-Id: I85157a6b2056b6c17cae193200960b8cae3cb3b3
2013-12-16 13:02:49 -08:00
Elliott Hughes
341b55a1e6 Merge "Clean up the pthread-only atomic stuff a little." 2013-12-16 18:21:01 +00:00
Elliott Hughes
2b333b97a2 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
2013-12-16 10:18:11 -08:00
Elliott Hughes
003be7104b Merge "Clean up some ARMv4/ARMv5 cruft." 2013-12-13 23:42:21 +00:00
Elliott Hughes
c54ca40aef Clean up some ARMv4/ARMv5 cruft.
Change-Id: I29e836fea4b53901e29f96c6888869c35f6726be
2013-12-13 14:02:30 -08:00
Joshua J. Drake
063a572e6b 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.
2013-12-13 13:56:39 -06:00
Elliott Hughes
8623bf7b4d Merge "Make <sys/param.h> more glibc-like." 2013-12-12 23:38:25 +00:00
Christopher Ferris
513d2770de Merge "Add ioprio.h." 2013-12-12 23:35:42 +00:00
Elliott Hughes
c2f082f655 Make <sys/param.h> more glibc-like.
In particular, add MAX and MIN, needed by elfutils.

Bug: 11864683
Change-Id: I1b876732cdf68cdf5b930319e5ef5b5647586718
2013-12-12 15:31:35 -08:00
Christopher Ferris
802a0a7285 Add ioprio.h.
Change-Id: I153d05c5b6e9d640e319d65acb48b9cb12b6dafb
2013-12-12 15:23:22 -08:00
Elliott Hughes
5aad083f3d Merge "PTHREAD_KEYS_MAX cleanup." 2013-12-12 20:51:50 +00:00
Elliott Hughes
1887621de8 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
2013-12-12 12:51:08 -08:00
Elliott Hughes
97e0c1dd5a Merge "Fix debugging issues in vdso handling" 2013-12-12 19:19:22 +00:00
Pavel Chupin
5407eed84b 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>
2013-12-12 11:18:46 -08:00
Elliott Hughes
38fcbbb35a Merge "AArch64: Fix mmap64() definition for AArch64, X86_64" 2013-12-12 18:43:43 +00:00
Serban Constantinescu
ed76a9361c 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>
2013-12-12 10:41:52 -08:00