Adds quick_exit(3) and at_quick_exit(3) from freebsd

Change-Id: I4fe88abd8f7b8aa45e58aeb2529d59a8d555d338
Fix cpu_set_t

- extend CPU_SETSIZE for LP64
- fix CPU_(AND|OR|XOR) macros
- fix CPU_OP_S macro
- fix __sched_cpucount
- tidy up the code

Change-Id: I741afff4d0c473e8a1ee6b4141981dc24467e0d4
Merge "Adds quick_exit(3) and at_quick_exit(3) from freebsd"
Merge "Fix cpu_set_t"
Make SIGRTMIN hide the real-time signals we use internally.

__SIGRTMIN will continue to tell the truth. This matches glibc's
behavior (as evidenced by the fact that we don't need a special case
in the strsignal test now).

Change-Id: I1abe1681d516577afa8cd39c837ef12467f68dd2
Fix the CPU_*_S tests.

Change-Id: Id67c48b9c12a20b01309490670438bfcd9163465
Merge "Fix the CPU_*_S tests."
Merge "Make SIGRTMIN hide the real-time signals we use internally."
auto-merger: merge in from aosp/master
Keep the kernel header scrubber's data structures in sync.

If you rewrite the tokens of a #if you need to rewrite the expression to match
because either might be used later. This was showing up as SIGRTMAX being
rewritten in a #define but not in the #ifndef that guarded it, for which case
I've added a unit test.

Change-Id: I6929675461a1afe272edd667594529fd84a3dc4d
Merge "Keep the kernel header scrubber's data structures in sync."
Modify hard-coded directory.

Use the ANDROID_DATA environment variable instead of the hard-coded
directory for these benchmarks.

Change-Id: I00bae7b4a24e81e77fc8f52e1fe99f4d4918f520
Merge "Modify hard-coded directory."
Add ability to run on host for x86/x86_64.

Change-Id: I063cb71ce0f7247cefacaa653c7b87b7b3e72025
Merge "Add ability to run on host for x86/x86_64."
Switch to a working UTF-8 mb/wc implementation.

Although glibc gets by with an 8-byte mbstate_t, OpenBSD uses 12 bytes (of
the 128 bytes it reserves!).

We can actually implement UTF-8 encoding/decoding with a 0-byte mbstate_t
which means we can make things work on LP32 too, as long as we accept the
limitation that the caller needs to present us with a complete sequence
before we'll process it.

Our behavior is fine when going from characters to bytes; we just
update the source wchar_t** to say how far through the input we got.

I'll come back and use the 4 bytes we do have to cope with byte sequences
split across multiple input buffers. The fact that we don't support
UTF-8 sequences longer than 4 bytes plus the fact that the first byte of
a UTF-8 sequence encodes the length means we shouldn't need the other
fields OpenBSD used (at the cost of some recomputation in cases where a
sequence is split across buffers).

This patch also makes the minimal changes necessary to setlocale(3) to
make us behave like glibc when an app requests UTF-8. (The difference
being that our "C" locale is the same as our "C.UTF-8" locale.)

Change-Id: Ied327a8c4643744b3611bf6bb005a9b389ba4c2f
auto-merger: merge in from aosp/master
Merge "Switch to a working UTF-8 mb/wc implementation."
Fix wchar.cpp signed/unsigned comparison build failure.

Change-Id: Id20b91f3d57c4430987b5cc88ac99c245801d73b
Merge "Fix wchar.cpp signed/unsigned comparison build failure."