It seemed like a clever trick to use the internal log message formatting
code in syslog(3), but on reflection that means you can't (for example)
format floating point numbers. This patch switches us over to using good
old vsnprintf(3), even though that requires us to jump through a few hoops.
There's no obvious way to unit test this, so I wrote a little program and
ran that.
Bug: 14292866
Change-Id: I9c83500ba9cbb209b6f496067a91bf69434eeef5
This also brings our copy of strftime.c much closer to upstream, though
we still have several GNU extensions and hacks to deal with Android32's
broken time_t.
Bug: 15765976
(cherry picked from commit 39d903aea901cd29a4eef3a82c2dbda59b5bc292)
Change-Id: Ie278d3e976b7adc77bad5ce795dd4899cfbf3648
I've also added insque(3) and remque(3) (from NetBSD because the OpenBSD
ones are currently broken for non-circular lists).
I've not added the three hash table functions that should be in this header
because they operate on a single global hash table and thus aren't likely
to be useful.
Bug: https://code.google.com/p/android/issues/detail?id=73719
(cherry picked from commit 3e424d0a241f8ae5194514dabc4ad899f5a5416d)
Change-Id: I5882a6b48c80fea8ac6b9c27e7b9de10b202b4ff
This also brings our copy of strftime.c much closer to upstream, though
we still have several GNU extensions and hacks to deal with Android32's
broken time_t.
Bug: 15765976
Change-Id: Ic9ef36e8acd3619504ecc4d73feec2b61fd4dfa1
Save and restore floating point registers via 64-bit
load/stores when possible. Use assembler's builtin macro
ops to generate pairs of 32-bit load/stores on Mips I cpus.
Some cpus or FR modes have only 16 even-numbered dp fp regs.
This is exposed by _MIPS_FPSET, defined by existing compilers.
(cherry picked from commit dd37251c473e1483faba0fd5aaf30e7a55582e8a)
Change-Id: Ibd43653701a363a77af85121d3cbd229d132a06a
I've also added insque(3) and remque(3) (from NetBSD because the OpenBSD
ones are currently broken for non-circular lists).
I've not added the three hash table functions that should be in this header
because they operate on a single global hash table and thus aren't likely
to be useful.
Bug: https://code.google.com/p/android/issues/detail?id=73719
Change-Id: I97397a7b921e2e860fd9c8032cafd9097380498a
The change that added this support causes a cpu hard lock on one
device. This code clearly isn't at fault, but disabling it to
unblock until we can find a real fix.
Bug: 16484311
Change-Id: I33834dc49d959ae403b10d2c7cad12ae2950f772
Save and restore floating point registers via 64-bit
load/stores when possible. Use assembler's builtin macro
ops to generate pairs of 32-bit load/stores on Mips I cpus.
Some cpus or FR modes have only 16 even-numbered dp fp regs.
This is exposed by _MIPS_FPSET, defined by existing compilers.
Change-Id: I7f617a3ffea8da41c402ef3a68ab32c91d3d7622
Explicitly tell 32-bit links that they are doing 32-bit links.
This is needed when using united 32-bit and 64-bit toolchains.
This is harmless when using older separate 32-only toolchains.
(cherry picked from commit f541650828f75b3dab22c9c0caab845be78b80fc)
Change-Id: I8df0ee7d36c6409458e18bea4e0e8b132edf77dc
Explicitly tell 32-bit links that they are doing 32-bit links.
This is needed when using united 32-bit and 64-bit toolchains.
This is harmless when using older separate 32-only toolchains.
Change-Id: I70cbd3f5867e59b1f6f829793444242fb0894aa6
The getentropy_linux.c is lightly modified to build on Android, but we're now
completely in sync with upstream OpenBSD's arc4random implementation.
(cherry picked from commit 2b67d7dee09852789d9ac7d8972ed6cdb2c18430)
Change-Id: Icc939b5fa2fcac3e15ff93735d2d34f67e9bb149
Since we don't have syslogd on Android and you can't run one on a non-rooted
device, it's more useful if syslog output just goes to the regular Android
logging system.
Bug: 14292866
(cherry picked from commit 3ad8ecb64e9dd5614169232b84a93eb3b8aa32d7)
Change-Id: I3038855ca4f22532bf6d2c45d3f8028b866975f9