Commit Graph

4164 Commits

Author SHA1 Message Date
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
Calin Juravle
4b7c4f886f Removed non-existing include dir
Change-Id: I3e00a8471e6d94f596a34bdfdb26a0caba23dd82
2014-04-24 17:17:02 +01:00
Calin Juravle
3b5bca823d am 131d8e38: am 477d14b0: Merge "Reserve space in pthread structures for future extensibility."
* commit '131d8e38e45902a1d33ed257b62972bfcd26dd92':
  Reserve space in pthread structures for future extensibility.
2014-04-24 15:43:51 +00:00
Calin Juravle
60a7622d48 am 334da4c9: am ae77f74b: Merge "Clean-up _fpmath and fake_long_doubles"
* commit '334da4c9a52f544bea0014da139766f2c0f7cf21':
  Clean-up _fpmath and fake_long_doubles
2014-04-24 15:43:39 +00:00
Calin Juravle
477d14b092 Merge "Reserve space in pthread structures for future extensibility." 2014-04-24 11:35:37 +00:00
Calin Juravle
ae77f74bcf Merge "Clean-up _fpmath and fake_long_doubles" 2014-04-24 10:12:58 +00:00
Elliott Hughes
2e3b7108b5 Allow liblog to pass failure reasons to debuggerd.
assert(3) already does this, but LOG_ALWAYS_FATAL and LOG_ALWAYS_FATAL_IF
have been missing out.

Change-Id: I1d6214c4f792fa0d4ba3c14eded3fc9c332bd3c5
2014-04-23 14:52:49 -07:00
Elliott Hughes
4cec364af4 am bdce3e63: am 3b0433f3: Merge "Remove two dead files."
* commit 'bdce3e63fc4cfc2b1b2db05007326e1608f3228a':
  Remove two dead files.
2014-04-23 20:07:41 +00:00
Elliott Hughes
a64d76895d Remove two dead files.
I forgot to remove these in the change that stopped building them
(eae5902e73).

Change-Id: I4665fa9f6b9b80c51778d5e82b49406fe56db9a6
2014-04-23 12:51:37 -07:00
Ruchi Kandoi
eba6501c20 am 88920300: am aa3d46a4: Merge "prctl: Adds the PR_SET_TIMERSLACK_PID option"
* commit '889203005b62f0c2124a7fcae12f9824cbc78868':
  prctl: Adds the PR_SET_TIMERSLACK_PID option
2014-04-23 19:29:32 +00:00
Ruchi Kandoi
b84926b95c prctl: Adds the PR_SET_TIMERSLACK_PID option
Allows software to set timer clack for other thread.

Change-Id: Ifa9d2cc7844ec581356bce15434609242fd898a8
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2014-04-23 19:13:15 +00:00
Calin Juravle
1abc9ff6a5 Clean-up _fpmath and fake_long_doubles
- promoted IEEEld2bits to fpmath since most of the where the same for
diffrent archs
- removed _fpmath
- reinstated weak_references
- moved isfinite and isnormal to libc
- clean up fake_long_doubles
- clean up some useless ifdefs
- added missing nexttoward* tests

Bug: 14134235
Change-Id: I95639c4885653fe47fd7dc0570ee5bb3389bbc6b
2014-04-23 19:03:06 +01:00
Calin Juravle
cf83fd77ca 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
Change-Id: I980017fd5942411ebc5ac32b2673a10a20db68c8
2014-04-23 18:46:50 +01:00
Elliott Hughes
a26d162337 am 81f4521d: am 532ad903: Merge "Switch to the upstream OpenBSD getenv/putenv/setenv implementation."
* commit '81f4521d1f92532bb719f8bfbd7107df449b0d97':
  Switch to the upstream OpenBSD getenv/putenv/setenv implementation.
2014-04-23 02:01:16 +00:00
Elliott Hughes
38a8744366 am c3266530: am d8f8e9c5: Merge "Remove strntoimax and strntoumax from the future."
* commit 'c32665300fc9b9407cef93881ce05fb48bf29f06':
  Remove strntoimax and strntoumax from the future.
2014-04-23 01:57:41 +00:00
Elliott Hughes
532ad903d2 Merge "Switch to the upstream OpenBSD getenv/putenv/setenv implementation." 2014-04-23 01:52:06 +00:00
Elliott Hughes
eae5902e73 Remove strntoimax and strntoumax from the future.
Where do these turds come from?

Change-Id: Id9ad2cc85c6128aa63b5d56ff2aa455bde39a5eb
2014-04-22 17:56:42 -07:00
Elliott Hughes
58d9e280d4 Switch to the upstream OpenBSD getenv/putenv/setenv implementation.
This fixes all the bugs found by the new tests.

Change-Id: Id5a5f9f39a0620208bafa053f871a044725b4795
2014-04-22 17:41:00 -07:00
Elliott Hughes
91f4eb485f am 48359851: am c6cd8846: Merge "LP64 shouldn\'t include the non-standard <time64.h> cruft."
* commit '4835985156538c05d562aeefe8e659d4b6d5c36f':
  LP64 shouldn't include the non-standard <time64.h> cruft.
2014-04-22 23:01:01 +00:00
Elliott Hughes
aef16ef2c4 am 3f9b56c7: am d0ecf597: Merge "Use -fvisibility=hidden to build libc_gdtoa."
* commit '3f9b56c75c3c9b0df085d11702595945aba15b7a':
  Use -fvisibility=hidden to build libc_gdtoa.
2014-04-22 21:20:49 +00:00
Elliott Hughes
8d77bce185 LP64 shouldn't include the non-standard <time64.h> cruft.
This patch includes just enough to keep external/chromium_org building
until they switch 64-bit Android over to using the regular non-Android code.

Change-Id: Iecaf274efa46ae18a42d5e3439c5aa4f909177c1
2014-04-22 13:55:58 -07:00
Elliott Hughes
cce36c1878 Use -fvisibility=hidden to build libc_gdtoa.
Bug: 12177745
Change-Id: Ia4ac71e1a3a237e764c809cc591622f8952ed642
2014-04-22 12:32:49 -07:00
Elliott Hughes
87a4339dc3 am 607475b8: am c5eea6d3: Merge "Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN."
* commit '607475b8570e1b203a23d2e904a628161bb7281e':
  Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN.
2014-04-22 18:31:25 +00:00
Elliott Hughes
c5eea6d386 Merge "Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN." 2014-04-22 17:00:33 +00:00
Torne (Richard Coles)
ca6a210693 am d56dd740: am b1bfa795: Merge "Allow sharing the RELRO section via a file."
* commit 'd56dd7403603c653e7622850ba30c7469a1ada7c':
  Allow sharing the RELRO section via a file.
2014-04-22 13:37:43 +00:00
Torne (Richard Coles)
b33b9aa98c am 2b981e8f: am c363e5dd: Merge "Support loading libraries to a reserved address."
* commit '2b981e8f612b4808b221724ce84dd8610d123fa2':
  Support loading libraries to a reserved address.
2014-04-22 13:37:42 +00:00
Torne (Richard Coles)
e115abbd3c am cf68e0db: am 16f6429c: Merge "Add android_dlopen_ext() interface to linker."
* commit 'cf68e0db1f6a9e6ca7aa7c267b2ce99ed02df3ae':
  Add android_dlopen_ext() interface to linker.
2014-04-22 13:37:41 +00:00
Elliott Hughes
5b3aa6c21a am 71eb83ac: am f3489807: Merge "Clean up and document our hacks for building BSD source."
* commit '71eb83acc5e273c847c0145573da0907fa51df3e':
  Clean up and document our hacks for building BSD source.
2014-04-22 13:37:40 +00:00
Torne (Richard Coles)
b1bfa7956c Merge "Allow sharing the RELRO section via a file." 2014-04-22 10:39:49 +00:00
Torne (Richard Coles)
c363e5dd0a Merge "Support loading libraries to a reserved address." 2014-04-22 10:33:34 +00:00
Torne (Richard Coles)
16f6429c38 Merge "Add android_dlopen_ext() interface to linker." 2014-04-22 10:33:07 +00:00
Elliott Hughes
83c07b5e50 Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN.
GCC tells us everything we need to know. clang does its usual half-assed job.

Change-Id: Id4d664529b10345274602768cd564d3df717e931
2014-04-21 18:09:46 -07:00
Elliott Hughes
d39f3f2c2e Clean up and document our hacks for building BSD source.
Change-Id: Ic591e22fa5b363bb68376b9f25814c0e5bd83fbf
2014-04-21 17:13:46 -07:00
Elliott Hughes
26d9ed8388 am 4af8a473: am 44a98d5c: Merge "clang is >= 3.4 now; remove a hack."
* commit '4af8a473a44fd1a01186bac2f3b458ad08dc3f09':
  clang is >= 3.4 now; remove a hack.
2014-04-21 18:36:17 +00:00
Elliott Hughes
4fefac5c1b am 5aa48ee3: am d812b219: Merge "Remove unused #defines from "arith.h"."
* commit '5aa48ee3ce9d0b9eca4534c817e126307d8cce8d':
  Remove unused #defines from "arith.h".
2014-04-21 18:29:10 +00:00
Elliott Hughes
44a98d5c12 Merge "clang is >= 3.4 now; remove a hack." 2014-04-21 18:26:22 +00:00
Elliott Hughes
d3679c815e clang is >= 3.4 now; remove a hack.
Change-Id: I8d976ee0fd88eca9779c87b5d7e27f46b4b1b489
2014-04-21 10:15:14 -07:00
Elliott Hughes
2e003f4324 Remove unused #defines from "arith.h".
These were defined in upstream's per-arch files, so I carried them across,
but they aren't actually used anywhere.

Change-Id: Ica9796201dcd2caa5c34070c0dd226fc2050ba47
2014-04-21 09:59:00 -07:00
Dmitriy Ivanov
abbee0a077 am 0baa0f74: am 6d09ec3c: Merge "Fix for libgcc compat generation script."
* commit '0baa0f74d13bf8a7da1a1a431d938b4c53f7049d':
  Fix for libgcc compat generation script.
2014-04-21 15:59:25 +00:00
Dmitriy Ivanov
6d09ec3c2f Merge "Fix for libgcc compat generation script." 2014-04-19 01:12:58 +00:00
Dmitriy Ivanov
6a45fe9872 Fix for libgcc compat generation script.
Taking into account possibility that external symbol
  could have been an OBJECT instead of function.

  b/14090368

Change-Id: Iac173d2dd1309ed53024306578137c26b1dbbf15
2014-04-18 17:34:20 -07:00
Elliott Hughes
3728877b9c am ccad9736: am 9b22c21c: Merge "Make uselocale(3) claim its pthread key in an ELF constructor."
* commit 'ccad97362ae773cadbbc41900e7440db6e8748dd':
  Make uselocale(3) claim its pthread key in an ELF constructor.
2014-04-18 22:35:05 +00:00
Elliott Hughes
9b22c21cee Merge "Make uselocale(3) claim its pthread key in an ELF constructor." 2014-04-18 22:27:20 +00:00
Elliott Hughes
f112aed500 am 45d15f7d: am 1acd9716: Merge "Switch to upstream OpenBSD fread/fvwrite."
* commit '45d15f7dbeb8d72e5a671023e945b2884f061fdf':
  Switch to upstream OpenBSD fread/fvwrite.
2014-04-18 22:25:22 +00:00
Elliott Hughes
1acd9716c2 Merge "Switch to upstream OpenBSD fread/fvwrite." 2014-04-18 22:15:02 +00:00
Dan Albert
089ec7dd91 am 302f8a92: am fe0c6ae5: Merge "Brings LC_* defs into line with POSIX"
* commit '302f8a92e4318d4637df8497a73bcc12446f051a':
  Brings LC_* defs into line with POSIX
2014-04-18 21:59:48 +00:00
Elliott Hughes
439c774f44 am 30659d4f: am cd79c8b1: Merge "Fix a wchar.wcstombs_wcrtombs test failure."
* commit '30659d4ff002b3c09cb1a5ae67b0d416afdf0383':
  Fix a wchar.wcstombs_wcrtombs test failure.
2014-04-18 21:56:16 +00:00
Dan Albert
fe0c6ae561 Merge "Brings LC_* defs into line with POSIX" 2014-04-18 21:49:24 +00:00
Dan Albert
db68e56997 Brings LC_* defs into line with POSIX
POSIX requires that LC_* constants be defined as macros, and libc++ is testing
for this. Source: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/locale.h.html

Change-Id: Id0653e54d74f12179ef88cadf7b5d6ba1bae3cdb
2014-04-18 21:48:57 +00:00
Elliott Hughes
cdbd17292e am 06b5431e: am b88da065: Merge "Upgrade to current vfprintf."
* commit '06b5431eaabec853a03013c9c8af1124aee0f4d4':
  Upgrade to current vfprintf.
2014-04-18 21:18:36 +00:00
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
1b836ee6f8 Fix a wchar.wcstombs_wcrtombs test failure.
Looks like I screwed up a last-minute refactor and didn't re-run the tests.

Change-Id: I90a710ae66a313a9812859650aa0b4e8c6bc57f9
2014-04-18 13:32:33 -07:00
Elliott Hughes
9d3c2dd11f Switch to upstream OpenBSD fread/fvwrite.
Change-Id: I3dc11083693bc8d99edc0cbcc6f70dc9e5dc6565
2014-04-18 13:13:04 -07:00
Elliott Hughes
756952d6e9 am a984c3ad: am 9e94ea5c: Merge "Upgrade our <ctype.h> implementation to OpenBSD head."
* commit 'a984c3ad3b9f8fcc63cd17bbbea2978b93c16533':
  Upgrade our <ctype.h> implementation to OpenBSD head.
2014-04-18 19:08:35 +00:00
Elliott Hughes
b88da06580 Merge "Upgrade to current vfprintf." 2014-04-18 18:19:23 +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
022984ff06 am 6c84b9d6: am 0e351e40: Merge "Changes our ctype identifiers to match the BSDs"
* commit '6c84b9d651e9eefab8b1a440979b15fb19404ffd':
  Changes our ctype identifiers to match the BSDs
2014-04-18 16:26:14 +00: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
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