6514 Commits

Author SHA1 Message Date
Elliott Hughes
53fc123c69 am eb15a6c9: Merge "We actually have modfl."
* commit 'eb15a6c9cd35fa2a91d277c48390827a78435ab4':
  We actually have modfl.
2013-12-19 11:42:05 -08:00
Elliott Hughes
bb4f6dc2ec Merge "ARM: Change dmb domain for bionic_atomic_barrier()" 2013-12-19 19:39:43 +00:00
Serban Constantinescu
845c778fa6 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>
2013-12-19 11:39:01 -08:00
Elliott Hughes
1afb375d30 Merge "Fix aarch64 custom assembler now non-uapi is gone." 2013-12-19 19:36:04 +00:00
Elliott Hughes
eb15a6c9cd Merge "We actually have modfl." 2013-12-19 19:34:03 +00:00
Elliott Hughes
da9775509b Fix aarch64 custom assembler now non-uapi is gone.
Change-Id: I9c8ad17d9bae2de9d793444d87d4ee133728e900
2013-12-19 11:32:42 -08:00
Elliott Hughes
20adf52cf2 We actually have modfl.
Change-Id: I22bb4d14f99a418819f2941c2dfec49094807c5f
2013-12-19 11:30:51 -08:00
Ben Cheng
e884a039db am dcc18ea4: Merge "Add C linkage for __open_2 and __openat_2."
* commit 'dcc18ea4c685230087618c12e8f20484b314596f':
  Add C linkage for __open_2 and __openat_2.
2013-12-19 11:05:15 -08:00
Ben Cheng
dcc18ea4c6 Merge "Add C linkage for __open_2 and __openat_2." 2013-12-19 18:59:05 +00:00
Ben Cheng
c13d89b829 Add C linkage for __open_2 and __openat_2.
Otherwise Clang mangle them with C++ names.

Change-Id: I844e28d834df8b0752b32d2aadd2013fc8804a43
2013-12-19 10:49:20 -08:00
Serban Constantinescu
bf3ec9ad52 AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()
The bionic_atomic_cmpxchg() API states that the cmpxchg() will be done without
explicit memory barriers. LDAXR/STLXR semantics involve half barriers for
load/store.

This patch optimises cmpxchg() by using LDXR/STXR and avoiding unnecessary half
bariers. It also fixes the clobber list for all the bionic_atomic_*() functions.

Change-Id: Iae9468965785cfeeec791d52f1e8cbc524adb682
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-19 18:32:53 +00:00
Christopher Ferris
5cdc141433 am 81ddd143: Merge "Remove the non-uapi kernel headers."
* commit '81ddd14381b09f171c006ebcbba15b3c1baf2a9f':
  Remove the non-uapi kernel headers.
2013-12-18 23:04:58 -08:00
Christopher Ferris
81ddd14381 Merge "Remove the non-uapi kernel headers." 2013-12-19 06:58:53 +00:00
Nick Kralevich
c162471275 am 25447aec: Merge "Clean up more recursive FORTIFY_SOURCE calls"
* commit '25447aec39c3c3d54b2defab6a5666c162db4f5a':
  Clean up more recursive FORTIFY_SOURCE calls
2013-12-18 21:11:40 -08:00
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
58a2429b5b am 4063bb61: Merge "__strnlen_chk: avoid recursive strlen calls"
* commit '4063bb6147bd256ad455bd3bd063ef40aae8851d':
  __strnlen_chk: avoid recursive strlen calls
2013-12-18 18:57:18 -08:00
Elliott Hughes
7f4b939971 am 90bd36bc: Merge "Don\'t use weak aliases in libm."
* commit '90bd36bca66205b1c15f80b70036ff4d64198d32':
  Don't use weak aliases in libm.
2013-12-18 18:53:59 -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
3761f45384 am f5897dcb: Merge "Fix linking of aarch64 static binaries."
* commit 'f5897dcb1d1dc493b6a2ba526a766da73bb9c1da':
  Fix linking of aarch64 static binaries.
2013-12-18 15:35:59 -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
512ff2729a am 0b61567f: Merge "Fix the x86-64 int64_t/uint64_t."
* commit '0b61567f9fc5b54ffdb324bf21f8ca332b69a249':
  Fix the x86-64 int64_t/uint64_t.
2013-12-18 14:16:24 -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
dce31dacfa am 717ad649: Merge "Don\'t use __kernel_ulong_t."
* commit '717ad6498c06e53812e406aa0c40738ef3e85801':
  Don't use __kernel_ulong_t.
2013-12-18 12:28:13 -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
67c42d1df5 am 7649766b: Merge "Remove <machine/kernel.h>."
* commit '7649766b4569af52e6875828186fdf4924cadb3d':
  Remove <machine/kernel.h>.
2013-12-18 11:33:13 -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
78ce7cbf35 am d2bcbf0d: Merge "Small style cleanup."
* commit 'd2bcbf0dbec86b8f27b1b3d939025098f134ea60':
  Small style cleanup.
2013-12-18 10:11:10 -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
136e7f2b79 am 611b903c: Merge "Properly detect timeout in pthread_mutex_lock_timeout_np_impl"
* commit '611b903ca7ba9d604a9e2ebc1efa5a66f7ccc049':
  Properly detect timeout in pthread_mutex_lock_timeout_np_impl
2013-12-18 10:01:33 -08:00
Elliott Hughes
debc37b4fb am e00f4890: Merge "Move bionic over to GCC\'s \'warning\' attribute."
* commit 'e00f4890c71e9c9eb715faf2c7443732b2fdfae3':
  Move bionic over to GCC's 'warning' attribute.
2013-12-18 09:58:10 -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
63d56a00e9 am 62e6fe58: Merge "Fix compilation of crtbegin.c and pthread_debug.cpp."
* commit '62e6fe58490da764efebffe71ebf6c647695802e':
  Fix compilation of crtbegin.c and pthread_debug.cpp.
2013-12-18 09:54:42 -08: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
22013ac4f0 am f293b157: Merge "AArch64: Linker64 support for AArch64"
* commit 'f293b15728031432317791fb4a17a423545d37b3':
  AArch64: Linker64 support for AArch64
2013-12-17 15:11:57 -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