Commit graph

6810 commits

Author SHA1 Message Date
Elliott Hughes
2f68866f37 Make uselocale(3) claim its pthread key in an ELF constructor.
pthread_once is nice for decoupling, but it makes resource availability less
predictable, which is a bad thing.

This fixes a test failure if uselocale(3) is called before
pthread.pthread_key_create_lots runs.

Change-Id: Ie2634f986a50e7965582d4bd6e5aaf48cf0d55c8
2014-04-18 13:34:26 -07:00
Elliott Hughes
b88da06580 Merge "Upgrade to current vfprintf." 2014-04-18 18:19:23 +00:00
Elliott Hughes
9e94ea5c11 Merge "Upgrade our <ctype.h> implementation to OpenBSD head." 2014-04-18 17:56:38 +00:00
Elliott Hughes
f3c73901cb Upgrade our <ctype.h> implementation to OpenBSD head.
Adding the perfunctory <ctype.h> tests showed that we'd accidentally
dropped several symbols. This puts everything back in its proper place
and switches us to upstream head at the same time.

Change-Id: Ib527ad280c9baded81e667fa598698526d93e66f
2014-04-18 10:29:16 -07:00
Dan Albert
0e351e4011 Merge "Changes our ctype identifiers to match the BSDs" 2014-04-18 15:52:59 +00:00
Dan Albert
779585fb26 Changes our ctype identifiers to match the BSDs
This is to make it possible to adopt the BSDs' implementations for a few locale
APIs in libc++ rather than writing our own, nearly identical, code.

Change-Id: I482acd4ece83aa4ec9eb0c7acf48f3686794bcc3
2014-04-18 08:48:34 -07:00
Elliott Hughes
0549371bd7 Upgrade to current vfprintf.
This gets us various bug fixes and missing C99 functionality.

Bug: https://code.google.com/p/android/issues/detail?id=64886
Change-Id: Ie9f8ac569e9b5eec1e4a1faacfe2c21662eaf895
2014-04-17 17:30:03 -07:00
Elliott Hughes
857b179673 Merge "Regenerate the NOTICE files." 2014-04-17 00:16:51 +00:00
Elliott Hughes
acbe322e82 Regenerate the NOTICE files.
Change-Id: Iac666f69b930e31bbeac3438812d544c6af55b0f
2014-04-16 17:01:12 -07:00
Elliott Hughes
8da69a25b7 Merge "Switch fpclassify over to ieee_ext." 2014-04-16 23:57:06 +00:00
Elliott Hughes
c480f57dd3 Merge "Clean up <machine/ieee.h>." 2014-04-16 23:56:40 +00:00
Elliott Hughes
f081e139fe Switch fpclassify over to ieee_ext.
Change-Id: I441bb7f715da24e1c04b0386ad9dcde0ea8c797c
2014-04-16 16:45:59 -07:00
Elliott Hughes
cb65cc3fb4 Clean up <machine/ieee.h>.
The upstream intention was for this to be architecture-dependent, but it's a
lot clearer if we just have one copy.

Change-Id: I4e8310496145f9f411cd2e847c8cd023b1d758e9
2014-04-16 16:31:17 -07:00
Elliott Hughes
9ceae0c9a6 Merge "Use FLT_ROUNDS in LP64 strtold." 2014-04-16 23:26:31 +00:00
Elliott Hughes
20828db758 Use FLT_ROUNDS in LP64 strtold.
Change-Id: I75323be6e1cadb00770fcdd08422836b03737416
2014-04-16 16:09:41 -07:00
Elliott Hughes
4abaa576e8 Merge "Switch to gdtoa." 2014-04-16 23:02:09 +00:00
Elliott Hughes
4bd97cee28 Switch to gdtoa.
This gives us a real strtold for LP64 and fixes various LP64
bugs.

Bug: 13563801
Change-Id: I277858d718ee746e136b6b6308a495ba50dfa488
2014-04-16 15:15:52 -07:00
Ben Cheng
26c2bb84dd Merge "Fix signed vs unsigned comparison." 2014-04-15 22:37:29 +00:00
Ben Cheng
b760164dd6 Fix signed vs unsigned comparison.
Otherwise GCC 4.9 complains.

Change-Id: I7cd3c5e8c78fda709130ca88a85fa1512e6fc024
2014-04-15 15:29:32 -07:00
Elliott Hughes
073ea10156 Merge "Add iswblank for libcxx." 2014-04-15 19:19:48 +00:00
Elliott Hughes
40b0579127 Add iswblank for libcxx.
We have similar degenerate implementations for all the other isw* functions,
so it's weird to exclude just one.

Change-Id: I659b97930e68598826c4882bb59f4146870fb6a0
2014-04-15 12:04:05 -07:00
Elliott Hughes
a13c7fd3b3 Merge "Fix arm64 floating point definitions." 2014-04-14 22:45:56 +00:00
Elliott Hughes
0f95a55322 Fix arm64 floating point definitions.
Change-Id: I6836da8fc9f66465435a21c51cb18851e20e9645
2014-04-14 15:33:32 -07:00
Elliott Hughes
76ba8e86d5 Merge "Reimplement isinf/isnan/fpclassify." 2014-04-14 21:36:26 +00:00
Elliott Hughes
02c78a3867 Reimplement isinf/isnan/fpclassify.
Also move isinf and isnan into libc like everyone else.

Also move fpclassify to libc like the BSDs (but unlike glibc). We need
this to be able to upgrade our float/double/long double parsing to gdtoa.

Also add some missing aliases. We now have all of:

  isnan, __isnan, isnanf, __isnanf, isnanl, __isnanl,
  isinf, __isinf, isinff, __isinff, isinfl, __isinfl,
  __fpclassify, __fpclassifyd, __fpclassifyf, __fpclassifyl.

Bug: 13469877
Change-Id: I407ffbac06c765a6c5fffda8106c37d7db04f27d
2014-04-14 14:35:47 -07:00
Elliott Hughes
0558906866 Merge "Extra tests for printf of NaN and Inf." 2014-04-14 21:07:25 +00:00
Elliott Hughes
7823f320b1 Extra tests for printf of NaN and Inf.
Change-Id: I61fc655d9777a03aabf38f6ebd047fe275386f05
2014-04-14 12:11:28 -07:00
Elliott Hughes
28417eb9b5 Merge "Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix." 2014-04-12 17:35:27 +00:00
Elliott Hughes
5eb670462a Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix.
Currently in bionic free and freedtoa are equivalent, but that's not true
of gdtoa. This makes it easier to test gdtoa without having to replace
everything. (Yes, I found this bug the hard way.)

Change-Id: I290823a2a0a83329def5f2719b349215ad0dbbde
2014-04-11 18:00:37 -07:00
Elliott Hughes
a0b3232161 Merge "Improve the <sstream> test." 2014-04-11 16:23:29 +00:00
Elliott Hughes
6455ac73da Improve the <sstream> test.
It looks like libcxx's testing is crap too, and this turned up
another bug in stlport.

Change-Id: I98c93dceaa8225c3cc280166d4bb74adaf94a324
2014-04-10 20:44:27 -07:00
Elliott Hughes
c4e71fc91f Merge "Remove unnecessary #includes." 2014-04-11 00:50:49 +00:00
Elliott Hughes
b676aafad0 Remove unnecessary #includes.
Change-Id: Ie7e0c9ea03f35517c7dcf09fc808c12e55262bc1
2014-04-10 17:50:06 -07:00
Elliott Hughes
b64868a507 Merge "Add a test for external/stlport a6df82320fcb8f26af0d067c7768fedbaeb9ad88." 2014-04-10 19:03:56 +00:00
Elliott Hughes
8c42606ae1 Add a test for external/stlport a6df82320fcb8f26af0d067c7768fedbaeb9ad88.
Change-Id: If4df9f5df41ae5453a3dff6bb032b419819f8703
2014-04-10 11:34:14 -07:00
Elliott Hughes
4e364d9724 Merge "Use the glibc name user_fpregs_struct." 2014-04-09 23:59:43 +00:00
Elliott Hughes
93e1907ae1 Use the glibc name user_fpregs_struct.
Instead of the kernel name user_i387_struct.

Bug: 13889008
Change-Id: Ideec2e1ce36c1faa4b5b2db1999ad2b23757ca4d
2014-04-09 16:35:36 -07:00
Elliott Hughes
e4392199af Merge "Fix mcontext_t for x86-64." 2014-04-09 22:52:07 +00:00
Elliott Hughes
c5992a036b Fix mcontext_t for x86-64.
Change-Id: I1ac0e7f44bcdd06a07862993e92c3048a7474a8b
2014-04-09 13:27:48 -07:00
Calin Juravle
a5d83312bd Merge "Use glibc structure for __cmsg_nxthdr." 2014-04-09 06:06:48 +00:00
Elliott Hughes
b52a4ab4e2 Merge "Flesh out <locale.h>." 2014-04-09 04:13:43 +00:00
Elliott Hughes
e62355057c Merge "Fix build: include what you use." 2014-04-09 02:45:48 +00:00
Elliott Hughes
764a993611 Fix build: include what you use.
Change-Id: I12b2d5e434ad3ed38d4451bd470673781e6ca8fe
2014-04-08 19:44:36 -07:00
Elliott Hughes
c4936e20a3 Flesh out <locale.h>.
This is a trivial implementation that only supports the C/POSIX locale.

Change-Id: Ib11cea4249e1862aca96a8b94d58ea9a418cbe75
2014-04-08 19:37:38 -07:00
Elliott Hughes
7f38a3c9be Merge "Implement _Exit(3)." 2014-04-09 02:07:01 +00:00
Elliott Hughes
9f525644df Implement _Exit(3).
Change-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe
2014-04-08 17:16:13 -07:00
Calin Juravle
ff64831b09 Use glibc structure for __cmsg_nxthdr.
Bug: 13418328
Change-Id: I7e656b373e53e80d708325321e48dcedacf5086d
2014-04-09 00:55:24 +03:00
Elliott Hughes
ac70d2e1fe Merge "Clean up localeconv(3)." 2014-04-08 21:52:33 +00:00
Elliott Hughes
5363a45f2b Clean up localeconv(3).
The OpenBSD doesn't support C99, and the extent to which we support
locales is trivial, so just do it ourselves.

Change-Id: If0a06e627ecc593f7b8ea3e9389365782e49b00e
2014-04-08 14:34:12 -07:00
Andrew Hsieh
e2239ddb72 Merge "Corrected typo in mips64.mk about memcpy.cpp" 2014-04-08 20:09:44 +00:00