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
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
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
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
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
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>
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
The aarch64 toolchain doesn't support them, and we were already implementing
most of the fake long-double functions differently anyway.
Change-Id: I4a2f2df81972ee9c34ddfe96cec81b126506d881
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