Commit Graph

4137 Commits

Author SHA1 Message Date
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
Elliott Hughes
02cf011db0 am c3221fb5: am 07bab525: Merge "Add mbtowc and fix mbrtowc."
* commit 'c3221fb531f437440646be3a6974b0e662442560':
  Add mbtowc and fix mbrtowc.
2014-04-29 01:04:12 +00:00
Elliott Hughes
0a5e26da1e Add mbtowc and fix mbrtowc.
Change-Id: I48786cd82587e61188d40f6fd6e11ac05e857ae9
2014-04-28 17:51:13 -07:00
Elliott Hughes
331754c7f3 am 777078b1: am 0fd2e87a: Merge "Replace our broken wcswcs with the working upstream one."
* commit '777078b1a68960ae9764fe6449af5525657d6803':
  Replace our broken wcswcs with the working upstream one.
2014-04-29 00:23:53 +00:00
Elliott Hughes
d299bcfdad Replace our broken wcswcs with the working upstream one.
Change-Id: I2952684df5674d10f0564d92c2cd42597725c0e3
2014-04-28 16:46:24 -07:00
Elliott Hughes
95dfea204c am 50769026: am 3ac3f3fd: Merge "Don\'t use so much stack in tzcode."
* commit '50769026e8538db260a6f986edeb6d08ec295b8e':
  Don't use so much stack in tzcode.
2014-04-27 03:26:11 +00:00
Elliott Hughes
329103d3e2 Don't use so much stack in tzcode.
Bug: 14313703
Bug: https://code.google.com/p/android/issues/detail?id=61130
Change-Id: Id9b240fce20d4a6f2660792070e02b2b5f287655
2014-04-25 21:51:26 -07:00
Elliott Hughes
d3dc0c1831 am 4a40dea6: am 213e46f7: Merge "Fix brk/sbrk error checking."
* commit '4a40dea62949b7ed562bac7173962800ed89b01d':
  Fix brk/sbrk error checking.
2014-04-26 02:46:37 +00:00
Elliott Hughes
533dde4dbf Fix brk/sbrk error checking.
Note that the kernel returns the current break on error or if the requested
break is smaller than the minimum break, or the new break. I don't know where
we got the idea that the kernel could return -1.

Also optimizes the query case.

Also hides an accidentally-exported symbol for LP64.

Change-Id: I0fd6b8b14ddf1ae82935c0c3fc610da5cc74932e
2014-04-25 19:38:33 -07:00
Colin Cross
cc97b7d9cd am e1e3430b: am eff450ff: Merge "Reserve space in pthread structures for future extensibility."
* commit 'e1e3430b9a4725c9506f10ab1b9b3be719e99c0c':
  Reserve space in pthread structures for future extensibility.
2014-04-24 22:49:50 +00:00
Calin Juravle
b1cacd4245 Reserve space in pthread structures for future extensibility.
Make our structures equal in size with glibc structures. This should
give us plenty of space to implement any missing feature.

Bug: 13278744
Bug: 12875898
(cherry picked from commit cf83fd77ca)

Change-Id: I76968d31024eb51bc73887687e5ac492eb02a27f
2014-04-24 22:07:52 +00:00
Elliott Hughes
2c03e8ff06 am cf57e2c6: am 08bfcff0: Merge "Allow liblog to pass failure reasons to debuggerd."
* commit 'cf57e2c645116eefd64801be035512621df0ba5c':
  Allow liblog to pass failure reasons to debuggerd.
2014-04-24 20:47:46 +00:00
Elliott Hughes
08bfcff0d4 Merge "Allow liblog to pass failure reasons to debuggerd." 2014-04-24 20:29:43 +00:00
Greg Hackmann
da4aad855e am 0f77d775: am ab290718: Merge "Revert "Reserve space in pthread structures for future extensibility.""
* commit '0f77d7758ac85a000f2ce5606051b8a7d121f6dd':
  Revert "Reserve space in pthread structures for future extensibility."
2014-04-24 18:26:02 +00:00
Greg Hackmann
ab290718e3 Merge "Revert "Reserve space in pthread structures for future extensibility."" 2014-04-24 18:12:28 +00:00
Greg Hackmann
6b64000ef0 Revert "Reserve space in pthread structures for future extensibility."
This reverts commit cf83fd77ca.

Change-Id: I4f69e86ffe1c267a9018eb489d909237534c6cf9
2014-04-24 18:11:23 +00:00
Calin Juravle
18955d6909 am 9b720750: am f2aeca50: Merge "Remove an unsed include dir"
* commit '9b720750c1486627d774973c51fc210a1ad9def5':
  Remove an unsed include dir
2014-04-24 17:40:43 +00:00
Calin Juravle
e9df9c52dc am 123253b8: am 690401db: Merge "Removed non-existing include dir"
* commit '123253b86893d50f13d82f489e47924a4b69c228':
  Removed non-existing include dir
2014-04-24 17:31:17 +00:00
Calin Juravle
f2aeca505c Merge "Remove an unsed include dir" 2014-04-24 16:40:50 +00:00
Calin Juravle
fbb46a0c9a Remove an unsed include dir
Change-Id: I05aa1e7e0639a5ec5576bf7646f35d2e5b157c09
2014-04-24 17:40:06 +01:00
Calin Juravle
690401db7a Merge "Removed non-existing include dir" 2014-04-24 16:29:50 +00:00