OSDN Git Service
Elliott Hughes [Tue, 29 Apr 2014 23:57:11 +0000 (23:57 +0000)]
Merge "Switch to the OpenBSD implementations of the wide scanf functions."
Elliott Hughes [Tue, 29 Apr 2014 23:28:56 +0000 (16:28 -0700)]
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
Elliott Hughes [Tue, 29 Apr 2014 23:06:37 +0000 (23:06 +0000)]
Merge "Fix build (signed char issue)."
Elliott Hughes [Tue, 29 Apr 2014 23:05:58 +0000 (16:05 -0700)]
Fix build (signed char issue).
Change-Id: I05d78f4c1599ed9a0c1285f9eb1e89bc2f55c24d
Elliott Hughes [Tue, 29 Apr 2014 22:33:15 +0000 (22:33 +0000)]
Merge "Switch to the OpenBSD wcsto* functions."
Elliott Hughes [Tue, 29 Apr 2014 21:46:56 +0000 (14:46 -0700)]
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
Christopher Ferris [Tue, 29 Apr 2014 15:56:06 +0000 (15:56 +0000)]
Merge "Fix potential makefile bug."
Christopher Ferris [Tue, 29 Apr 2014 04:10:37 +0000 (21:10 -0700)]
Fix potential makefile bug.
Since multilib is not set every time, it needs to be per module or
there is a change that another target will use the multilib value set
previously.
Change-Id: I5c30e18d5111705cb3f6e3d4cd9ef8a28c9b746c
Elliott Hughes [Tue, 29 Apr 2014 00:54:43 +0000 (00:54 +0000)]
Merge "Add mbtowc and fix mbrtowc."
Elliott Hughes [Tue, 29 Apr 2014 00:51:13 +0000 (17:51 -0700)]
Add mbtowc and fix mbrtowc.
Change-Id: I48786cd82587e61188d40f6fd6e11ac05e857ae9
Elliott Hughes [Mon, 28 Apr 2014 23:47:17 +0000 (23:47 +0000)]
Merge "Replace our broken wcswcs with the working upstream one."
Elliott Hughes [Mon, 28 Apr 2014 23:28:51 +0000 (16:28 -0700)]
Replace our broken wcswcs with the working upstream one.
Change-Id: I2952684df5674d10f0564d92c2cd42597725c0e3
Elliott Hughes [Sat, 26 Apr 2014 04:51:55 +0000 (04:51 +0000)]
Merge "Don't use so much stack in tzcode."
Elliott Hughes [Fri, 25 Apr 2014 23:55:04 +0000 (16:55 -0700)]
Don't use so much stack in tzcode.
Bug:
14313703
Bug: https://code.google.com/p/android/issues/detail?id=61130
Change-Id: Id9b240fce20d4a6f2660792070e02b2b5f287655
Elliott Hughes [Sat, 26 Apr 2014 03:23:22 +0000 (03:23 +0000)]
Merge "Pass si_code through to debuggerd."
Elliott Hughes [Fri, 25 Apr 2014 23:02:00 +0000 (16:02 -0700)]
Pass si_code through to debuggerd.
Because we re-raise various signals, we corrupt the si_code that debuggerd
sees when it ptraces our siginfo. One possible solution (shown here) is to
pass the original si_code value in the message we send to debuggerd.
Change-Id: I76f9aa2c0442e5cab611d132532409e700383907
Elliott Hughes [Sat, 26 Apr 2014 02:39:09 +0000 (02:39 +0000)]
Merge "Fix brk/sbrk error checking."
Elliott Hughes [Sat, 26 Apr 2014 01:27:38 +0000 (18:27 -0700)]
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
Colin Cross [Thu, 24 Apr 2014 22:40:50 +0000 (22:40 +0000)]
Merge "Reserve space in pthread structures for future extensibility."
Calin Juravle [Wed, 23 Apr 2014 16:35:04 +0000 (17:35 +0100)]
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
cf83fd77caa3128ecb6ac935e342cb0ea258b9ee)
Change-Id: I76968d31024eb51bc73887687e5ac492eb02a27f
Elliott Hughes [Thu, 24 Apr 2014 20:29:43 +0000 (20:29 +0000)]
Merge "Allow liblog to pass failure reasons to debuggerd."
Greg Hackmann [Thu, 24 Apr 2014 18:12:27 +0000 (18:12 +0000)]
Merge "Revert "Reserve space in pthread structures for future extensibility.""
Greg Hackmann [Thu, 24 Apr 2014 18:11:23 +0000 (18:11 +0000)]
Revert "Reserve space in pthread structures for future extensibility."
This reverts commit
cf83fd77caa3128ecb6ac935e342cb0ea258b9ee.
Change-Id: I4f69e86ffe1c267a9018eb489d909237534c6cf9
Calin Juravle [Thu, 24 Apr 2014 16:40:50 +0000 (16:40 +0000)]
Merge "Remove an unsed include dir"
Calin Juravle [Thu, 24 Apr 2014 16:28:05 +0000 (17:28 +0100)]
Remove an unsed include dir
Change-Id: I05aa1e7e0639a5ec5576bf7646f35d2e5b157c09
Calin Juravle [Thu, 24 Apr 2014 16:29:49 +0000 (16:29 +0000)]
Merge "Removed non-existing include dir"
Calin Juravle [Thu, 24 Apr 2014 16:17:02 +0000 (17:17 +0100)]
Removed non-existing include dir
Change-Id: I3e00a8471e6d94f596a34bdfdb26a0caba23dd82
Calin Juravle [Thu, 24 Apr 2014 11:35:36 +0000 (11:35 +0000)]
Merge "Reserve space in pthread structures for future extensibility."
Calin Juravle [Thu, 24 Apr 2014 10:12:57 +0000 (10:12 +0000)]
Merge "Clean-up _fpmath and fake_long_doubles"
Elliott Hughes [Thu, 24 Apr 2014 06:06:19 +0000 (06:06 +0000)]
Merge "Fix fallout from host GCC upgrade."
Elliott Hughes [Thu, 24 Apr 2014 06:02:43 +0000 (23:02 -0700)]
Fix fallout from host GCC upgrade.
I'll raise a bug for the FD_ISSET fortification; we should do better too.
Change-Id: Id2bf277890ad06b010dc952e270d746714c2bea7
Elliott Hughes [Wed, 23 Apr 2014 21:52:49 +0000 (14:52 -0700)]
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
Elliott Hughes [Wed, 23 Apr 2014 19:54:43 +0000 (19:54 +0000)]
Merge "Remove two dead files."
Elliott Hughes [Wed, 23 Apr 2014 19:51:37 +0000 (12:51 -0700)]
Remove two dead files.
I forgot to remove these in the change that stopped building them
(
eae5902e73dc4381811e08fd2334bf4a9300a928).
Change-Id: I4665fa9f6b9b80c51778d5e82b49406fe56db9a6
Ruchi Kandoi [Wed, 23 Apr 2014 19:13:28 +0000 (19:13 +0000)]
Merge "prctl: Adds the PR_SET_TIMERSLACK_PID option"
Ruchi Kandoi [Wed, 23 Apr 2014 02:00:45 +0000 (19:00 -0700)]
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>
Calin Juravle [Thu, 17 Apr 2014 17:17:32 +0000 (18:17 +0100)]
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
Calin Juravle [Wed, 23 Apr 2014 16:35:04 +0000 (17:35 +0100)]
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
Elliott Hughes [Wed, 23 Apr 2014 02:24:41 +0000 (02:24 +0000)]
Merge "Fix the glibc tests again."
Elliott Hughes [Wed, 23 Apr 2014 02:21:32 +0000 (19:21 -0700)]
Fix the glibc tests again.
The glibc tests are just a regular host binary; they don't require
that you're targeting x86 or x86_64. They do seem to pick up the
suffix of the target though, even though they're always 32-bit.
Change-Id: I689ca2a4f8d7b397afa4df722b95b0d7ec904bf6
Elliott Hughes [Wed, 23 Apr 2014 02:10:39 +0000 (02:10 +0000)]
Merge "Tests for environment variables utility functions"
Grigoriy Kraynov [Tue, 17 Sep 2013 11:44:22 +0000 (15:44 +0400)]
Tests for environment variables utility functions
This is the first patch from the new set of tests for Bionic standard functions.
Change-Id: Ie568788a24832394e597ad33f44a5c71cb33b51f
Signed-off-by: Grigoriy Kraynov <grigoriy.kraynov@intel.com>
Elliott Hughes [Wed, 23 Apr 2014 01:52:06 +0000 (01:52 +0000)]
Merge "Switch to the upstream OpenBSD getenv/putenv/setenv implementation."
Elliott Hughes [Wed, 23 Apr 2014 01:50:08 +0000 (01:50 +0000)]
Merge "Remove strntoimax and strntoumax from the future."
Dmitriy Ivanov [Wed, 23 Apr 2014 01:48:55 +0000 (01:48 +0000)]
Merge "Get ANDROID_DATA dir from enviroment"
Dmitriy Ivanov [Wed, 23 Apr 2014 00:48:08 +0000 (17:48 -0700)]
Get ANDROID_DATA dir from enviroment
Change-Id: Ie3675bd27bbc779fc2140f95b930eadd14838753
Elliott Hughes [Wed, 23 Apr 2014 00:56:42 +0000 (17:56 -0700)]
Remove strntoimax and strntoumax from the future.
Where do these turds come from?
Change-Id: Id9ad2cc85c6128aa63b5d56ff2aa455bde39a5eb
Elliott Hughes [Wed, 23 Apr 2014 00:41:00 +0000 (17:41 -0700)]
Switch to the upstream OpenBSD getenv/putenv/setenv implementation.
This fixes all the bugs found by the new tests.
Change-Id: Id5a5f9f39a0620208bafa053f871a044725b4795
Dmitriy Ivanov [Tue, 22 Apr 2014 23:03:21 +0000 (23:03 +0000)]
Merge "Follow up on building tests for both platforms"
Elliott Hughes [Tue, 22 Apr 2014 22:53:15 +0000 (22:53 +0000)]
Merge "LP64 shouldn't include the non-standard <time64.h> cruft."
Dmitriy Ivanov [Tue, 22 Apr 2014 22:22:25 +0000 (15:22 -0700)]
Follow up on building tests for both platforms
this makes run-on-host work properly
Change-Id: Iaed93ca9d96359b64bbeff995280ecd70fc9cc60
Elliott Hughes [Tue, 22 Apr 2014 20:55:58 +0000 (13:55 -0700)]
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
Christopher Ferris [Tue, 22 Apr 2014 20:45:01 +0000 (20:45 +0000)]
Merge "Build 32/64 bit versions of tests/benchmarks."
Elliott Hughes [Tue, 22 Apr 2014 20:42:36 +0000 (20:42 +0000)]
Merge "Use -fvisibility=hidden to build libc_gdtoa."
Elliott Hughes [Tue, 22 Apr 2014 19:32:49 +0000 (12:32 -0700)]
Use -fvisibility=hidden to build libc_gdtoa.
Bug:
12177745
Change-Id: Ia4ac71e1a3a237e764c809cc591622f8952ed642
Christopher Ferris [Tue, 22 Apr 2014 17:42:12 +0000 (10:42 -0700)]
Build 32/64 bit versions of tests/benchmarks.
Change-Id: I4d146377aac6573a214dfaa5cab5cce8b10538b4
Elliott Hughes [Tue, 22 Apr 2014 17:00:33 +0000 (17:00 +0000)]
Merge "Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN."
Torne (Richard Coles) [Tue, 22 Apr 2014 11:01:22 +0000 (11:01 +0000)]
Merge "Fix arm64/x86 build."
Torne (Richard Coles) [Tue, 22 Apr 2014 10:59:26 +0000 (11:59 +0100)]
Fix arm64/x86 build.
Add missing second param to soinfo_link_image in a section that's not
compiled on ARM.
Bug:
13005501
Change-Id: Id0ede8e03da4e05b25c0aeb24a840f868031d4e8
Torne (Richard Coles) [Tue, 22 Apr 2014 10:39:49 +0000 (10:39 +0000)]
Merge "Allow sharing the RELRO section via a file."
Torne (Richard Coles) [Tue, 22 Apr 2014 10:33:33 +0000 (10:33 +0000)]
Merge "Support loading libraries to a reserved address."
Torne (Richard Coles) [Tue, 22 Apr 2014 10:33:06 +0000 (10:33 +0000)]
Merge "Add android_dlopen_ext() interface to linker."
Elliott Hughes [Tue, 22 Apr 2014 01:09:46 +0000 (18:09 -0700)]
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
Elliott Hughes [Tue, 22 Apr 2014 00:34:01 +0000 (00:34 +0000)]
Merge "Clean up and document our hacks for building BSD source."
Elliott Hughes [Tue, 22 Apr 2014 00:13:46 +0000 (17:13 -0700)]
Clean up and document our hacks for building BSD source.
Change-Id: Ic591e22fa5b363bb68376b9f25814c0e5bd83fbf
Elliott Hughes [Mon, 21 Apr 2014 18:26:22 +0000 (18:26 +0000)]
Merge "clang is >= 3.4 now; remove a hack."
Elliott Hughes [Mon, 21 Apr 2014 18:17:45 +0000 (18:17 +0000)]
Merge "Remove unused #defines from "arith.h"."
Elliott Hughes [Mon, 21 Apr 2014 17:15:14 +0000 (10:15 -0700)]
clang is >= 3.4 now; remove a hack.
Change-Id: I8d976ee0fd88eca9779c87b5d7e27f46b4b1b489
Elliott Hughes [Mon, 21 Apr 2014 16:59:00 +0000 (09:59 -0700)]
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
Elliott Hughes [Sat, 19 Apr 2014 02:02:04 +0000 (02:02 +0000)]
Merge "Make libc signal handler output more like debuggerd."
Dmitriy Ivanov [Sat, 19 Apr 2014 01:12:58 +0000 (01:12 +0000)]
Merge "Fix for libgcc compat generation script."
Elliott Hughes [Sat, 19 Apr 2014 00:39:25 +0000 (17:39 -0700)]
Make libc signal handler output more like debuggerd.
This has been annoying me for a while, because it's often quite misleading.
Today, for example, I saw:
Fatal signal 13 (SIGPIPE) at 0x6573 (code=0), thread 25971 (top)
where the apparent address is actually the pid of the signal source (in this
case the kernel on behalf of the thread itself).
This patch isn't as fancy as strace, but it at least means we never say
anything misleading. We could decode the si_code field like strace and
debuggerd, but I'm reluctant to do that without some way to share the code
between at least bionic and debuggerd.
Examples after:
Fatal signal 13 (SIGPIPE), code 0 in tid 9157 (top)
Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 9142 (crasher64)
Fatal signal 6 (SIGABRT), code -6 in tid 9132 (crasher64)
(Note that the code still shows as 0 for SIGPIPE in the signal handler itself
but as -6 (SI_TKILL) in debuggerd; this is actually correct --- debuggerd is
showing the re-raised signal sent at the end of the signal handler that
initially showed the correct code 0.)
Change-Id: I71cad4ab61f422a4f6687a60ac770371790278e0
Dmitriy Ivanov [Fri, 18 Apr 2014 23:03:03 +0000 (16:03 -0700)]
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
Elliott Hughes [Fri, 18 Apr 2014 23:02:27 +0000 (23:02 +0000)]
Merge "Temporarily disable text relocation warnings for x86 libraries"
Du Chenyang [Fri, 18 Apr 2014 11:17:40 +0000 (19:17 +0800)]
Temporarily disable text relocation warnings for x86 libraries
Too many such warnings will cause CTS failed. This issue still exists
in some x86 version libraries: libdvm.so/libart.so.
$scanelf -qT out/target/product/generic_x86/system/lib/libdvm.so
libdvm.so: (memory/data?) [0x2BAC7] in (optimized out: previous dvmAsmInstructionStartCode) [0x2B2F8]
libdvm.so: (memory/data?) [0x2BB98] in (optimized out: previous dvmAsmInstructionStartCode) [0x2B2F8]
libdvm.so: (memory/data?) [0x2EB28] in (optimized out: previous dvmAsmInstructionStartCode) [0x2B2F8]
libdvm.so: (memory/data?) [0x2EF87] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]
libdvm.so: (memory/data?) [0x2EFAF] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]
libdvm.so: (memory/data?) [0x2EFD7] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]
libdvm.so: (memory/data?) [0x2EFFF] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]
libdvm.so: (memory/data?) [0x2F027] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]
Bug: https://code.google.com/p/android/issues/detail?id=68431
Change-Id: I11ecac282f1163e49a82156fce2a76cc2d619960
Elliott Hughes [Fri, 18 Apr 2014 22:27:20 +0000 (22:27 +0000)]
Merge "Make uselocale(3) claim its pthread key in an ELF constructor."
Elliott Hughes [Fri, 18 Apr 2014 22:15:02 +0000 (22:15 +0000)]
Merge "Switch to upstream OpenBSD fread/fvwrite."
Dan Albert [Fri, 18 Apr 2014 21:49:24 +0000 (21:49 +0000)]
Merge "Brings LC_* defs into line with POSIX"
Dan Albert [Fri, 18 Apr 2014 19:36:06 +0000 (12:36 -0700)]
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
Elliott Hughes [Fri, 18 Apr 2014 21:44:26 +0000 (21:44 +0000)]
Merge "Fix a wchar.wcstombs_wcrtombs test failure."
Elliott Hughes [Fri, 18 Apr 2014 20:34:26 +0000 (13:34 -0700)]
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
Elliott Hughes [Fri, 18 Apr 2014 20:32:33 +0000 (13:32 -0700)]
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
Elliott Hughes [Fri, 18 Apr 2014 20:13:04 +0000 (13:13 -0700)]
Switch to upstream OpenBSD fread/fvwrite.
Change-Id: I3dc11083693bc8d99edc0cbcc6f70dc9e5dc6565
Elliott Hughes [Fri, 18 Apr 2014 18:19:23 +0000 (18:19 +0000)]
Merge "Upgrade to current vfprintf."
Elliott Hughes [Fri, 18 Apr 2014 17:56:38 +0000 (17:56 +0000)]
Merge "Upgrade our <ctype.h> implementation to OpenBSD head."
Elliott Hughes [Fri, 18 Apr 2014 17:29:16 +0000 (10:29 -0700)]
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
Dan Albert [Fri, 18 Apr 2014 15:52:59 +0000 (15:52 +0000)]
Merge "Changes our ctype identifiers to match the BSDs"
Dan Albert [Tue, 15 Apr 2014 22:44:02 +0000 (15:44 -0700)]
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
Elliott Hughes [Fri, 18 Apr 2014 00:30:03 +0000 (17:30 -0700)]
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
Torne (Richard Coles) [Thu, 27 Feb 2014 13:18:00 +0000 (13:18 +0000)]
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
Torne (Richard Coles) [Thu, 6 Feb 2014 14:34:21 +0000 (14:34 +0000)]
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
Torne (Richard Coles) [Thu, 6 Feb 2014 14:34:21 +0000 (14:34 +0000)]
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
Elliott Hughes [Thu, 17 Apr 2014 00:16:51 +0000 (00:16 +0000)]
Merge "Regenerate the NOTICE files."
Elliott Hughes [Thu, 17 Apr 2014 00:01:12 +0000 (17:01 -0700)]
Regenerate the NOTICE files.
Change-Id: Iac666f69b930e31bbeac3438812d544c6af55b0f
Elliott Hughes [Wed, 16 Apr 2014 23:57:06 +0000 (23:57 +0000)]
Merge "Switch fpclassify over to ieee_ext."
Elliott Hughes [Wed, 16 Apr 2014 23:56:40 +0000 (23:56 +0000)]
Merge "Clean up <machine/ieee.h>."
Elliott Hughes [Wed, 16 Apr 2014 23:45:59 +0000 (16:45 -0700)]
Switch fpclassify over to ieee_ext.
Change-Id: I441bb7f715da24e1c04b0386ad9dcde0ea8c797c
Elliott Hughes [Wed, 16 Apr 2014 23:31:17 +0000 (16:31 -0700)]
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
Elliott Hughes [Wed, 16 Apr 2014 23:26:31 +0000 (23:26 +0000)]
Merge "Use FLT_ROUNDS in LP64 strtold."
Elliott Hughes [Wed, 16 Apr 2014 23:09:41 +0000 (16:09 -0700)]
Use FLT_ROUNDS in LP64 strtold.
Change-Id: I75323be6e1cadb00770fcdd08422836b03737416