Commit Graph

4157 Commits

Author SHA1 Message Date
Elliott Hughes
2a0d2202ef am b303cdc2: am 9d586d85: am 6916166e: Merge "Sync with upstream OpenBSD."
* commit 'b303cdc2c18a28becb2be5b5394dc599022f7ace':
  Sync with upstream OpenBSD.
2014-05-05 22:18:03 +00:00
Elliott Hughes
7ef978f183 am c13ea3e2: am bab07de0: am ad534985: Merge "Disable %n in printf and vfwprintf."
* commit 'c13ea3e2365a4b42c10fa437c588e25a9807687e':
  Disable %n in printf and vfwprintf.
2014-05-05 21:58:52 +00:00
Elliott Hughes
e0a36f49a9 Sync with upstream OpenBSD.
These trivial differences are are only current differences from upstream
OpenBSD.

Change-Id: Iddbee2c803911915a25e1da8b246e8403fa72daf
2014-05-05 14:57:23 -07:00
Elliott Hughes
ad534985ec Merge "Disable %n in printf and vfwprintf." 2014-05-05 21:49:22 +00:00
Elliott Hughes
e2341d08fa Disable %n in printf and vfwprintf.
Bug: 14492135
Change-Id: If190bede29e5f68a65043ddbe8e878c660933d03
2014-05-05 14:43:17 -07:00
Elliott Hughes
eac1c72997 am 2357a4cc: am d2943b60: am 8ec21d9d: Merge "Switch to current upstream OpenBSD wsetup.c."
* commit '2357a4cc7451e0387c236ab19467254483250cc1':
  Switch to current upstream OpenBSD wsetup.c.
2014-05-05 21:41:39 +00:00
Elliott Hughes
8ec21d9ded Merge "Switch to current upstream OpenBSD wsetup.c." 2014-05-05 21:33:22 +00:00
Elliott Hughes
53b24382f5 Switch to current upstream OpenBSD wsetup.c.
Change-Id: I2c1123f3e1d3c4af7fd7bf354e763934a39b78c0
2014-05-05 14:31:20 -07:00
Dmitriy Ivanov
e2822af5ee am c2419e9d: am e9e4f08e: am 580b2469: Merge "Fixes for __cxa_finalize"
* commit 'c2419e9df73156f348f498514d5a423846ce1514':
  Fixes for __cxa_finalize
2014-05-05 21:15:34 +00:00
Dmitriy Ivanov
580b246917 Merge "Fixes for __cxa_finalize" 2014-05-05 21:04:33 +00:00
Dmitriy Ivanov
6b56691a67 Fixes for __cxa_finalize
* Ability to register atexit handler from atexit handler
  * Correct way to handle both forms of atexit handler

Bug: https://code.google.com/p/android/issues/detail?id=66595
Bug: 4998315
Change-Id: I39529afaef97b6e1469c21389d54c0d7d175da28
2014-05-05 11:36:57 -07:00
Elliott Hughes
f4c78487e3 am 2d92358a: am 23481495: am a334c1ec: Merge "Fix iswctype."
* commit '2d92358af5ad1846bcbe449f810bc978053dd2dd':
  Fix iswctype.
2014-05-04 03:33:34 +00:00
Elliott Hughes
efe3deb908 am 821fc960: am d18a844c: am 640b4a5a: Merge "Switch to current upstream OpenBSD fwrite.c."
* commit '821fc9603351815b4dc8cd0217204f6cf68d96d0':
  Switch to current upstream OpenBSD fwrite.c.
2014-05-04 03:30:02 +00:00
Elliott Hughes
a334c1ec13 Merge "Fix iswctype." 2014-05-04 03:25:45 +00:00
Elliott Hughes
792ae72e41 Switch to current upstream OpenBSD fwrite.c.
Change-Id: Ife527aafc1e5438f477d711902efe6e6f59f3f8e
2014-05-02 18:22:23 -07:00
Elliott Hughes
39372de58c am c4ced713: am c01893cd: am e987803c: Merge "Sync with current OpenBSD stdio."
* commit 'c4ced713b857b68254effa753aad461082a41c3d':
  Sync with current OpenBSD stdio.
2014-05-03 01:05:51 +00:00
Elliott Hughes
f1ada79a83 Sync with current OpenBSD stdio.
We'd fallen a little behind.

Bug: 14492135
Change-Id: Ic1137ef10bffccecebd5ce51086c23db006d0ea3
2014-05-02 17:56:56 -07:00
Elliott Hughes
c42f5c6fe6 Fix iswctype.
This doesn't matter until we fix the other isw* functions, of course.

Change-Id: I0baed1c933259cf22444da391bc4a56446d66773
2014-05-02 16:25:59 -07:00
Elliott Hughes
bd0d92794f am 885275ec: am 9abfd44b: am d6ff0dce: Merge "Use the OpenBSD wcsftime."
* commit '885275eccac451fd2fce1e4e0a997976e39dc243':
  Use the OpenBSD wcsftime.
2014-05-02 23:11:12 +00:00
Elliott Hughes
efaa461bd6 Use the OpenBSD wcsftime.
Change-Id: I81929355d245ba1e58b4a464ca6cf45915e0238e
2014-05-02 15:57:50 -07:00
Elliott Hughes
f3e94ae85f am 6e62c932: am fb49002b: am 790890fd: Merge "Fix wchar_t signedness problems found on x86-64."
* commit '6e62c9326aa15f68ce52216b7c3ce3f4f49f7279':
  Fix wchar_t signedness problems found on x86-64.
2014-05-02 02:38:54 +00:00
Elliott Hughes
0d0ccfe2ce Fix wchar_t signedness problems found on x86-64.
The existing tests caught this.

Change-Id: I6269844ae4301fd2c596241a59e97eb67ef166fa
2014-05-01 19:03:18 -07:00
Elliott Hughes
dc0ef86203 am c2ee2cd0: am ba8c37f1: am 7da31910: Merge "Fix wchar.cpp signed/unsigned comparison build failure."
* commit 'c2ee2cd09dfcaa9780285c948c091fd85d6b2171':
  Fix wchar.cpp signed/unsigned comparison build failure.
2014-05-02 01:23:15 +00:00
Elliott Hughes
568c86a489 Fix wchar.cpp signed/unsigned comparison build failure.
Change-Id: Id20b91f3d57c4430987b5cc88ac99c245801d73b
2014-05-01 16:49:55 -07:00
Elliott Hughes
831e1d796c am 5d4c9114: am 745b023b: am f0291ca6: Merge "Switch to a working UTF-8 mb/wc implementation."
* commit '5d4c911436445e627dcc9533bfc0792941b83a44':
  Switch to a working UTF-8 mb/wc implementation.
2014-05-01 23:21:54 +00:00
Elliott Hughes
f0291ca6b7 Merge "Switch to a working UTF-8 mb/wc implementation." 2014-05-01 23:12:41 +00:00
Elliott Hughes
5a0aa3dee2 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
2014-05-01 14:46:54 -07:00
Elliott Hughes
834c136cec am 0d443726: am d2623501: am 8979cfe1: Merge "Keep the kernel header scrubber\'s data structures in sync."
* commit '0d4437263e65b7acc4546753ac79577b94ccc6ba':
  Keep the kernel header scrubber's data structures in sync.
2014-05-01 17:36:06 +00:00
Elliott Hughes
fddbafdc0a 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
2014-05-01 10:27:49 -07:00
Elliott Hughes
fc4d9263a3 am 01dc4152: am 4a41581a: am 9fb53dd4: Merge "Make SIGRTMIN hide the real-time signals we use internally."
* commit '01dc4152b736c822a11cbbff3240eec7143659e3':
  Make SIGRTMIN hide the real-time signals we use internally.
2014-04-30 18:48:56 +00:00
Calin Juravle
3fdf865669 am 9981c35d: am b55562dd: am 77473e40: Merge "Fix cpu_set_t"
* commit '9981c35d3e4d4be35ca827b479e49e2f703bade0':
  Fix cpu_set_t
2014-04-30 17:36:24 +00:00
Dan Albert
e9681d9cbc am 9f2d5003: am a51f7153: am 45667317: Merge "Adds quick_exit(3) and at_quick_exit(3) from freebsd"
* commit '9f2d500334da3f7f4d52e73f26419e467ecea09b':
  Adds quick_exit(3) and at_quick_exit(3) from freebsd
2014-04-30 17:36:20 +00:00
Calin Juravle
742150e088 am f595e1ff: am fb15c73f: am d4ae59dc: Merge "Reserve space in mbstate to allow for proper wchar support"
* commit 'f595e1ffdab12ef85a134638fabdf52a2d92db52':
  Reserve space in mbstate to allow for proper wchar support
2014-04-30 17:36:19 +00:00
Elliott Hughes
c14cde0b03 am c8af363f: am ff7dec44: am 01933d92: Merge "Switch to OpenBSD stdio wide printf functions."
* commit 'c8af363f50461b87432ef20d011f4aab72f77fcc':
  Switch to OpenBSD stdio wide printf functions.
2014-04-30 17:36:18 +00:00
Elliott Hughes
8352c69ea1 am a9b10332: am 608aa733: am 85e780d0: Merge "Switch to OpenBSD stdio wide get/put functions."
* commit 'a9b10332b451298ca7afc7ff00804c3940cd15aa':
  Switch to OpenBSD stdio wide get/put functions.
2014-04-30 17:34:10 +00:00
Elliott Hughes
574eed1bde am b21c7985: am 25009c3b: am c19c8e6f: Merge "Switch to the OpenBSD implementations of the wide scanf functions."
* commit 'b21c7985c434a6c8641b4a53072f06bbc5f6ca2b':
  Switch to the OpenBSD implementations of the wide scanf functions.
2014-04-30 17:34:09 +00:00
Elliott Hughes
0990d4fda8 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
2014-04-30 10:06:09 -07:00
Calin Juravle
77473e4085 Merge "Fix cpu_set_t" 2014-04-30 16:09:08 +00:00
Dan Albert
4566731772 Merge "Adds quick_exit(3) and at_quick_exit(3) from freebsd" 2014-04-30 15:39:14 +00:00
Calin Juravle
b743790cca 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
2014-04-30 14:30:15 +01:00
Elliott Hughes
eaefa1a5ae am 7bc266b1: am 42f33234: am c6e563c8: Merge "Fix build (signed char issue)."
* commit '7bc266b1285051d7ffaa1d312f1f3e08dc5f2bfa':
  Fix build (signed char issue).
2014-04-30 12:50:57 +00:00
Calin Juravle
d4ae59dcf2 Merge "Reserve space in mbstate to allow for proper wchar support" 2014-04-30 10:34:09 +00:00
Dan Albert
b8425c549a Adds quick_exit(3) and at_quick_exit(3) from freebsd
Change-Id: I4fe88abd8f7b8aa45e58aeb2529d59a8d555d338
2014-04-29 19:17:00 -07:00
Elliott Hughes
806b2a94b1 am 934e793b: am 15848671: am 55cd8276: Merge "Switch to the OpenBSD wcsto* functions."
* commit '934e793b19bd280e16b0ef76275dcad590bdc48f':
  Switch to the OpenBSD wcsto* functions.
2014-04-30 00:53:09 +00:00
Elliott Hughes
94336d8ecf Switch to OpenBSD stdio wide printf functions.
Change-Id: Icf4f8685d021ec6b7482ca1cc021ce8184098e4a
2014-04-29 17:39:29 -07:00
Elliott Hughes
c932225e10 Switch to OpenBSD stdio wide get/put functions.
Change-Id: I71f8769cdea874e55d397ca7682d9d4e659d3dcb
2014-04-29 17:08:03 -07:00
Elliott Hughes
01ae00f317 Switch to the OpenBSD implementations of the wide scanf functions.
This also gets us the C99 wcstoimax and wcstoumax, and a working fgetwc and
ungetwc, all of which are needed in the implementation.

This also brings several other files closer to upstream.

Change-Id: I23b025a8237a6dbb9aa50d2a96765ea729a85579
2014-04-29 16:28:56 -07:00
Elliott Hughes
770491fb4f Fix build (signed char issue).
Change-Id: I05d78f4c1599ed9a0c1285f9eb1e89bc2f55c24d
2014-04-29 16:05:58 -07:00
Elliott Hughes
3d7a0d9b08 Switch to the OpenBSD wcsto* functions.
This replaces a partial set of non-functional functions with a complete
set of functions, all of which actually work.

This requires us to implement mbsnrtowcs and wcsnrtombs which completes
the set of what we need for libc++.

The mbsnrtowcs is basically a copy & paste of wcsnrtombs, but I'm going
to go straight to looking at using the OpenBSD UTF-8 implementation rather
than keep polishing our home-grown turd.

(This patch also opportunistically switches us over to upstream btowc,
mbrlen, and wctob, since they're all trivially expressed in terms of
other functions.)

Change-Id: I0f81443840de0f1aa73b96f0b51988976793a323
2014-04-29 14:53:11 -07:00
Calin Juravle
eab395e4a8 Reserve space in mbstate to allow for proper wchar support
Bug: 14382788
Change-Id: If023ac9bb65f95135cae7ebe89147e3985a69a96
2014-04-29 20:28:29 +01:00