4079 Commits

Author SHA1 Message Date
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
e2e41399fc am 48db3037: am 857b1796: Merge "Regenerate the NOTICE files."
* commit '48db3037714d460b112e67793ca8b0270a0cd6a4':
  Regenerate the NOTICE files.
2014-04-17 23:34:52 +00:00
Elliott Hughes
c87cb4fbb4 am c54c2a84: am 8da69a25: Merge "Switch fpclassify over to ieee_ext."
* commit 'c54c2a84cc70861e648932bd84e02163f845dcef':
  Switch fpclassify over to ieee_ext.
2014-04-17 23:34:51 +00:00
Elliott Hughes
6478ab8003 am 7fb450b8: am c480f57d: Merge "Clean up <machine/ieee.h>."
* commit '7fb450b8a4ab15729a28c239364de9240564fe90':
  Clean up <machine/ieee.h>.
2014-04-17 23:34:50 +00:00
Elliott Hughes
e21d198da6 am 31028f85: am 9ceae0c9: Merge "Use FLT_ROUNDS in LP64 strtold."
* commit '31028f852d7f65387bda433f230795b1add2b24f':
  Use FLT_ROUNDS in LP64 strtold.
2014-04-17 23:34:50 +00:00
Elliott Hughes
fb7b42df1b am bfd89274: am 4abaa576: Merge "Switch to gdtoa."
* commit 'bfd8927447b76bca6393c1e7c735a1333aa60786':
  Switch to gdtoa.
2014-04-17 23:34:44 +00:00
Torne (Richard Coles)
183ad9df53 Allow sharing the RELRO section via a file.
Add flags and a file descriptor to android_dlopen_ext() to allow writing
the RELRO section of the loaded library to a file after relocation
processing, and to allow mapping identical pages from the file over the
top of relocated memory in another process. Explicitly comparing the
pages is required in case a page contains a reference to a symbol
defined in another library loaded at a random base address.

Bug: 13005501
Change-Id: Ibb5b2d384edfaa5acf3e97a5f8b6115c10497a1e
2014-04-17 14:30:46 +01:00
Torne (Richard Coles)
12bbb91645 Support loading libraries to a reserved address.
Add flags and parameters to android_dlopen_ext() to allow loading a
library at an already-reserved fixed address. If the library to be
loaded will not fit within the space reserved, then the linker will
either fail, or allocate its own address space as usual, according to
which flag has been specified. This behaviour only applies to the
specific library requested; any other libraries loaded as dependencies
will be loaded in the normal fashion.

There is a new gtest included to cover the functionality added.

Bug: 13005501
Change-Id: I5d1810375b20fc51ba6a9b3191a25f9792c687f1
2014-04-17 14:22:17 +01:00
Torne (Richard Coles)
012cb4583a Add android_dlopen_ext() interface to linker.
Add a function "android_dlopen_ext()", defined in <android/dlext.h>.
This is an extended version of dlopen() which takes a struct for passing
additional parameters for Android-specific functionality. This will be
used to support RELRO section sharing between separate processes.

Bug: 13005501
Change-Id: I9c99b2f2a02ee329dedaeba09ef3a1113b17b2d6
2014-04-17 13:50:55 +01: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
20828db758 Use FLT_ROUNDS in LP64 strtold.
Change-Id: I75323be6e1cadb00770fcdd08422836b03737416
2014-04-16 16:09:41 -07: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
Elliott Hughes
52f083925d am 930806a5: am 073ea101: Merge "Add iswblank for libcxx."
* commit '930806a51342ce98be4832cfb43ed5ccd88e6145':
  Add iswblank for libcxx.
2014-04-15 23:36:28 +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
e2e9c630dc am 70ccd2bf: am a13c7fd3: Merge "Fix arm64 floating point definitions."
* commit '70ccd2bffff92d5277248c0a13962ad4477f5451':
  Fix arm64 floating point definitions.
2014-04-14 22:54:20 +00:00
Elliott Hughes
0f95a55322 Fix arm64 floating point definitions.
Change-Id: I6836da8fc9f66465435a21c51cb18851e20e9645
2014-04-14 15:33:32 -07:00
Elliott Hughes
9f3011ff59 am cf2c6639: am 76ba8e86: Merge "Reimplement isinf/isnan/fpclassify."
* commit 'cf2c663937b440ce78a195262a7f2d3d5b9a7157':
  Reimplement isinf/isnan/fpclassify.
2014-04-14 22:16:32 +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
268dac808e am 9bbd17cb: am 28417eb9: Merge "Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix."
* commit '9bbd17cb75db8a99691a6ca0462ca5476b7641a0':
  Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix.
2014-04-14 15:49:13 +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
8808dc6ff1 am d8b6b839: am c4e71fc9: Merge "Remove unnecessary #includes."
* commit 'd8b6b839578352abd107697d21b2e9a6671af0e9':
  Remove unnecessary #includes.
2014-04-11 00:58:27 +00:00
Elliott Hughes
b676aafad0 Remove unnecessary #includes.
Change-Id: Ie7e0c9ea03f35517c7dcf09fc808c12e55262bc1
2014-04-10 17:50:06 -07:00
Elliott Hughes
c4db98e302 am 9ac738e3: am 4e364d97: Merge "Use the glibc name user_fpregs_struct."
* commit '9ac738e3dd924b998815fe6fe4464eef4c9350f4':
  Use the glibc name user_fpregs_struct.
2014-04-10 01:07:31 +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
c34a7c93b4 am 599921be: am e4392199: Merge "Fix mcontext_t for x86-64."
* commit '599921be7b0d21b1f16b6aff6f8a246476845a09':
  Fix mcontext_t for x86-64.
2014-04-09 23:01:59 +00:00
Elliott Hughes
c5992a036b Fix mcontext_t for x86-64.
Change-Id: I1ac0e7f44bcdd06a07862993e92c3048a7474a8b
2014-04-09 13:27:48 -07:00
Calin Juravle
08576fff6d am 49076afc: am a5d83312: Merge "Use glibc structure for __cmsg_nxthdr."
* commit '49076afc19a9f336cc958837cf56a6893de3c618':
  Use glibc structure for __cmsg_nxthdr.
2014-04-09 09:11:11 +00:00
Elliott Hughes
b2da536c1c am 2fbe6831: am b52a4ab4: Merge "Flesh out <locale.h>."
* commit '2fbe6831c455ac4883aa062ae51294625b4cfccc':
  Flesh out <locale.h>.
2014-04-09 09:11:10 +00: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
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
f4870920ac am 901b2839: am 7f38a3c9: Merge "Implement _Exit(3)."
* commit '901b2839d8ce51cbfde0c922390c8322107cd27d':
  Implement _Exit(3).
2014-04-09 02:22:37 +00:00
Elliott Hughes
cb48308d1a am a93d2770: am ac70d2e1: Merge "Clean up localeconv(3)."
* commit 'a93d27703f65e11077eb0b965e52d34a1b82e979':
  Clean up localeconv(3).
2014-04-09 01:45:22 +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
57ba426913 am 0f147d74: am e2239ddb: Merge "Corrected typo in mips64.mk about memcpy.cpp"
* commit '0f147d74b88ea49ddeb9af82180b67895100bb7d':
  Corrected typo in mips64.mk about memcpy.cpp
2014-04-08 20:24:52 +00:00
Andrew Hsieh
e2239ddb72 Merge "Corrected typo in mips64.mk about memcpy.cpp" 2014-04-08 20:09:44 +00:00
Elliott Hughes
3680504a9c am 91f4f586: am 5acd2d40: Merge "AArch64: Fix flock64 for LP64."
* commit '91f4f586f3871075a676cf5fbd73d360b13097a3':
  AArch64: Fix flock64 for LP64.
2014-04-08 19:32:56 +00:00
Serban Constantinescu
48501af98f AArch64: Fix flock64 for LP64.
On LP64 systems F_GETLK64, F_SETLK64 and F_SETLKW64 definitions should
map onto the F_GETLK, F_SETLK and F_SETLKW definitions, respectively.
LP64 also doesn't have a struct flock64.

Change-Id: Ibdfed9645d9e946999acd6efa8b96ea6238ed5bf
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-04-08 12:19:23 -07:00
Andrew Hsieh
4e3ce11450 Corrected typo in mips64.mk about memcpy.cpp
Change-Id: I1e6fb9373880bcdbad3fa86145e5138ce0d30b31
2014-04-09 02:16:03 +08:00
Elliott Hughes
fc38de6b0d am fc50845e: am 0b0387c9: Merge "Fix kernel header scrubbing for LP64."
* commit 'fc50845e7d921763152753b60417ece57158cf2e':
  Fix kernel header scrubbing for LP64.
2014-04-08 18:05:33 +00:00
Elliott Hughes
0b0387c965 Merge "Fix kernel header scrubbing for LP64." 2014-04-08 17:47:28 +00:00
Elliott Hughes
9195a258ee Fix kernel header scrubbing for LP64.
Change-Id: I4caf44d41edd1b03a20d4c565e169c2b7a2f3686
2014-04-08 10:15:06 -07:00
Christopher Ferris
39a4d58f36 am 8c22d563: am 41059d76: Merge "Add stpcpy/stpncpy."
* commit '8c22d5635869b420ebe4178141a2c6e969a2626a':
  Add stpcpy/stpncpy.
2014-04-08 01:36:36 +00:00