OSDN Git Service
Elliott Hughes [Thu, 6 Sep 2012 17:31:52 +0000 (10:31 -0700)]
Merge "Don't corrupt the thread list in static executables."
Elliott Hughes [Thu, 6 Sep 2012 00:47:37 +0000 (17:47 -0700)]
Don't corrupt the thread list in static executables.
Several previous changes conspired to make a mess of the thread list
in static binaries. This was most obvious when trying to call
pthread_key_delete(3) on the main thread.
Bug: http://code.google.com/p/android/issues/detail?id=36893
Change-Id: I2a2f553114d8fb40533c481252b410c10656da2e
Elliott Hughes [Wed, 5 Sep 2012 21:46:14 +0000 (14:46 -0700)]
Merge "Add missing dependencies."
Elliott Hughes [Wed, 5 Sep 2012 21:27:17 +0000 (14:27 -0700)]
Add missing dependencies.
Change-Id: I53c1cfb59ac7a89952a8d6b906b2b9e16a66624f
Elliott Hughes [Wed, 5 Sep 2012 17:18:43 +0000 (10:18 -0700)]
Merge "ARM: warn about atexit() calls from legacy shared libraries"
Elliott Hughes [Wed, 5 Sep 2012 16:43:35 +0000 (09:43 -0700)]
Merge "ARM: make CRT_LEGACY_WORKAROUND work as intended"
Ian Rogers [Wed, 5 Sep 2012 14:41:31 +0000 (07:41 -0700)]
Merge "Avoid malloc lock while calling pthread_atfork."
Elliott Hughes [Wed, 5 Sep 2012 00:52:39 +0000 (17:52 -0700)]
Merge "termios: add tcdrain"
Elliott Hughes [Tue, 4 Sep 2012 23:36:26 +0000 (16:36 -0700)]
Merge "Add getsid system call to bionic"
Elliott Hughes [Tue, 4 Sep 2012 22:51:55 +0000 (15:51 -0700)]
Merge "Add missing MALLOC_FAILURE_ACTION calls to dlmalloc."
Elliott Hughes [Tue, 4 Sep 2012 22:42:23 +0000 (15:42 -0700)]
Add missing MALLOC_FAILURE_ACTION calls to dlmalloc.
Without these, sometimes malloc(3) returns NULL without setting errno.
Change-Id: I4708c3f675bf2c878ddcaf012fde7848b255826b
Elliott Hughes [Tue, 4 Sep 2012 20:42:57 +0000 (13:42 -0700)]
Merge "bionic: Fix TINY_ANDROID build"
Benoit Goby [Sat, 1 Sep 2012 02:52:15 +0000 (19:52 -0700)]
bionic: Fix TINY_ANDROID build
(cherry-pick of
545d5dbbcb0dc9e44323c4f2e687a3aace75a483.)
Change-Id: Ifc91e84ffed5a3a287accabd7f08b02752688db6
Vitaly Wool [Tue, 4 Sep 2012 12:11:28 +0000 (14:11 +0200)]
termios: add tcdrain
Change-Id: I05c0007f7bcc6ef5295c32f86fafbf1ad31e07fa
Irina Tirdea [Wed, 29 Aug 2012 08:48:35 +0000 (11:48 +0300)]
Add getsid system call to bionic
Add getsid() system call to bionic for
all architectures. This is needed for various tools
(e.g. perf).
Adding the getsid system call was done in 3 steps:
() add getsid system call (function name and syscall
number) to libc/SYSCALLS.TXT
() generate all necessary headers by calling
libc/tools/gensyscalls.py. This patch is adding
the generated files since the build system
does not call gensyscalls.py.
() add the system call signature to libc/include/unistd.h
Change-Id: Id69a257e13ec02e1a44085a6b217a3f19ab025b1
Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
Kirill Artamonov [Fri, 31 Aug 2012 16:19:16 +0000 (09:19 -0700)]
Avoid malloc lock while calling pthread_atfork.
Expecting the memory in a forked child process to be sane wrt threading
is a bad idea. An example of a problem is when the parent process has
the malloc lock and a child process is forked. The malloc lock in the
child will appear locked by a thread that doesn't exist.
This change aims to make bionic more compatible with glibc by reseting
the malloc lock in the child forked process, as well as holding it
during the fork. This is a feature in dlmalloc 2.8.6 called
LOCK_AT_FORK. In general this feature isn't necessary as a forked
process will then exec. Some bad applications rely on being able to use
features like malloc before the exec and having multiple threads running
in the parent program. This isn't a problem with glibc and this patch
makes it not a problem for bionic.
Unfortunately for use in bionic, LOCK_AT_FORK has an issue as internally
it uses pthread_atfork that in bionic uses malloc. This leads to the
LOCK_AT_FORK initialization deadlocking with pthread_atfork's call to
malloc due to the malloc lock. This change moves the pthread_atfork logic
in LOCK_AT_FORK to be called without the malloc lock held.
Change-Id: Id68175a564a6abb936ee4488b44d9479f7311f69
Ian Rogers [Fri, 31 Aug 2012 15:42:40 +0000 (08:42 -0700)]
Merge "Upgrade to dlmalloc 2.8.6."
Ian Rogers [Wed, 29 Aug 2012 21:04:53 +0000 (14:04 -0700)]
Upgrade to dlmalloc 2.8.6.
This fixes a bug and enables the use of MORECORE_CONTIGUOUS.
Change-Id: Ia7c5d32bdc46e99b3ecb92ee94d1f702c4385d5d
Elliott Hughes [Wed, 29 Aug 2012 20:56:40 +0000 (13:56 -0700)]
Merge "Improve the dynamic linker diagnostics."
Nick Kralevich [Wed, 29 Aug 2012 20:54:49 +0000 (13:54 -0700)]
Merge "disable _FORTIFY_SOURCE under clang"
Elliott Hughes [Wed, 29 Aug 2012 20:10:54 +0000 (13:10 -0700)]
Improve the dynamic linker diagnostics.
Lose the pid, only show the name of the function (not its whole signature),
and include the name of the library we failed to load. (I hadn't noticed
that the library name was missing before because in Java we add that into
the UnsatisfiedLinkError detail message.)
The new output looks like this:
Cannot load library: soinfo_relocate(linker.cpp:968): cannot locate symbol "__libc_malloc_default_dispatch" referenced by "libc_malloc_debug_leak.so"...
Change-Id: I3bb5c9780d9aaf3a9e4418ea55bc98122a81f80f
Elliott Hughes [Wed, 29 Aug 2012 20:08:50 +0000 (13:08 -0700)]
Merge "Clean up warnings in the malloc_debug_* files."
Nick Kralevich [Wed, 29 Aug 2012 19:40:53 +0000 (12:40 -0700)]
disable _FORTIFY_SOURCE under clang
Clang and _FORTIFY_SOURCE are just plain incompatible with
each other. First of all, clang doesn't understand the
__attribute__((gnu_inline)) header. Second of all,
Clang doesn't have support for __builtin_va_arg_pack()
and __builtin_va_arg_pack_len() (see
http://clang.llvm.org/docs/UsersManual.html#c_unimpl_gcc)
Until we can resolve these issues, don't even try using
_FORTIFY_SOURCE under clang.
Change-Id: I81c2b8073bb3276fa9a4a6b93c427b641038356a
Elliott Hughes [Tue, 28 Aug 2012 21:15:04 +0000 (14:15 -0700)]
Clean up warnings in the malloc_debug_* files.
Also clean up cpplint.py-detected lint.
Change-Id: Ia18e89c4c6878764f8d7ed34b8247e7a8d8fe88b
Nick Kralevich [Tue, 28 Aug 2012 20:04:22 +0000 (13:04 -0700)]
Merge "ARM: make sure __on_dlclose() actually gets called"
Nick Kralevich [Tue, 28 Aug 2012 19:49:46 +0000 (12:49 -0700)]
Merge "ARM: remove dummy entries from .so init_array/fini_array"
Nick Kralevich [Tue, 28 Aug 2012 19:48:00 +0000 (12:48 -0700)]
Merge "linker: Fix ARM_R_COPY relocations"
Nick Kralevich [Fri, 24 Aug 2012 20:25:51 +0000 (13:25 -0700)]
linker: Fix ARM_R_COPY relocations
Per http://infocenter.arm.com/help/topic/com.arm.doc.ihi0044d/IHI0044D_aaelf.pdf
Section 4.7.1.10, ARM_R_COPY relocations are only suppose to reference shared
libraries, not the executable itself. When resolving an R_ARM_COPY symbol,
ensure we don't look in our own symbol.
This partially addresses
http://code.google.com/p/android/issues/detail?id=28598 . After this
patch, the printfs generated by the test program are:
global = 0x42 (0x401c7000)
global = 0x42 (0x11000)
before, the output was:
global = 0x42 (0x40071000)
global = 0x0 (0x11000)
I'm still not very happy with this patch, but I think it's an improvement
over where we were at before.
This change was modeled after https://android-review.googlesource.com/38871
Change-Id: Id7ad921e58395e76a36875bcc742ec5eeba53f08
Nick Kralevich [Tue, 28 Aug 2012 17:20:27 +0000 (10:20 -0700)]
Merge "libc: remove ctors/dtors sections"
Ard Biesheuvel [Tue, 28 Aug 2012 09:23:06 +0000 (11:23 +0200)]
ARM: warn about atexit() calls from legacy shared libraries
Legacy ARM shared libraries use this generic version of atexit(),
which queues exit functions for invocation at program exit, at
which time the library may have been dlclose()'d, causing the
program to crash.
Change-Id: I41ae153c23268daa65ede7fb8966fc3e9caec369
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
Ard Biesheuvel [Tue, 21 Aug 2012 12:13:50 +0000 (14:13 +0200)]
ARM: make CRT_LEGACY_WORKAROUND work as intended
To properly support legacy ARM shared libraries, libc.so needs
to export the symbols __dso_handle and atexit, even though
these are now supplied by the crt startup code.
This patch reshuffles the existing CRT_LEGACY_WORKAROUND
conditionally compiled code slightly so it works as the
original author likely intended.
Change-Id: Id6c0e94dc65b7928324a5f0bad7eba6eb2f464b9
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
Ard Biesheuvel [Tue, 28 Aug 2012 07:06:07 +0000 (09:06 +0200)]
ARM: remove dummy entries from .so init_array/fini_array
The runtime linker parses the ELF section headers to
discover the size of the init_array and fini_array, so
there is no point in putting NULL terminators at the end.
Change-Id: I3246cd585efce9314155600277dd829e9f37d04f
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
Nick Kralevich [Mon, 27 Aug 2012 23:00:50 +0000 (16:00 -0700)]
Merge "Allow linker to compile with -DLINKER_DEBUG=1"
Elliott Hughes [Mon, 27 Aug 2012 22:00:51 +0000 (15:00 -0700)]
Merge "Added missing cache failed notification"
Nick Kralevich [Fri, 24 Aug 2012 20:40:25 +0000 (13:40 -0700)]
Allow linker to compile with -DLINKER_DEBUG=1
Change-Id: I27e734048cbcb9ed936369115582b3c734de1280
Ian Rogers [Fri, 24 Aug 2012 22:10:07 +0000 (15:10 -0700)]
Merge "Add missing va_end() to prevent stack corruptions"
Ard Biesheuvel [Tue, 21 Aug 2012 12:47:58 +0000 (14:47 +0200)]
libc: remove ctors/dtors sections
None of the supported ARCHs actually populate these sections,
so there is no point in keeping them in the binaries.
Change-Id: I21a364f510118ac1114e1b49c53ec8c895c6bc6b
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
Nick Kralevich [Wed, 22 Aug 2012 18:41:53 +0000 (11:41 -0700)]
Merge "hardening: remove pointless ARM __get_pc() function"
Ard Biesheuvel [Wed, 22 Aug 2012 08:37:08 +0000 (10:37 +0200)]
hardening: remove pointless ARM __get_pc() function
Useful if you're trying to defeat ASLR, otherwise not
so much ...
Change-Id: I17ebb50bb490a3967db9c3038f049adafe2b8ea7
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
Jean-Baptiste Queru [Wed, 22 Aug 2012 14:18:49 +0000 (07:18 -0700)]
Merge "Use unambiguous mnemonics"
Kevin Schoedel [Fri, 29 Jun 2012 13:23:47 +0000 (09:23 -0400)]
Use unambiguous mnemonics
Change-Id: I8da0af54cc3cbf69d9e485eb71bc44a6976b1adc
Author: Kevin P Schoedel <kevin.p.schoedel@intel.com>
Reviewed-by: Edwin Vane <edwin.vane@intel.com>
Ard Biesheuvel [Tue, 21 Aug 2012 09:34:46 +0000 (11:34 +0200)]
ARM: make sure __on_dlclose() actually gets called
Change-Id: I280e5428b0543cccf17ca36baee4865395928cdb
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
Andrew Hsieh [Tue, 21 Aug 2012 10:25:45 +0000 (03:25 -0700)]
Merge "Enclosed functions in fenv.h with __BEGIN_DECLS/__END_DECLS"
Andrew Hsieh [Tue, 21 Aug 2012 07:41:34 +0000 (15:41 +0800)]
Enclosed functions in fenv.h with __BEGIN_DECLS/__END_DECLS
Those are C funcitons
Related CL: https://android-review.googlesource.com/#/c/41833/
Change-Id: I4386bcf948ad31c3690c9b7a145103088133d041
Ian Rogers [Tue, 21 Aug 2012 02:35:25 +0000 (19:35 -0700)]
Merge "Restore posix_memalign"
Brian Carlstrom [Tue, 21 Aug 2012 01:28:20 +0000 (18:28 -0700)]
Restore posix_memalign
Change-Id: I24e31bcb8b1d8be9375852e76964f09becd11938
Brian Carlstrom [Mon, 20 Aug 2012 23:12:32 +0000 (16:12 -0700)]
Merge "Upgrade to dlmalloc 2.8.5."
Ian Rogers [Sat, 18 Aug 2012 00:28:15 +0000 (17:28 -0700)]
Upgrade to dlmalloc 2.8.5.
Move dlmalloc code to upstream-dlmalloc to make pulling upstream changes
easier.
Declare pvalloc and malloc_usable_size routines present in malloc.h but with
missing implementations. Remove other functions from malloc.h that have
no implementation nor use in Android.
Change-Id: Ia6472ec6cbebc9ad1ef99f4669de9d33fcc2efb4
Elliott Hughes [Fri, 17 Aug 2012 23:48:14 +0000 (16:48 -0700)]
Merge "Always define the 64-bit int types."
Elliott Hughes [Fri, 17 Aug 2012 23:19:56 +0000 (16:19 -0700)]
Merge "Fix race condition in pthread_create()"
Jurijs Oniscuks [Thu, 5 Jul 2012 12:57:38 +0000 (14:57 +0200)]
Fix race condition in pthread_create()
Save thread id to *thread_out before new
thread is allowed to run else there's a
risk that the thread has finished and
been deleted when *thread_out is assigned.
Change-Id: I6b84c61a8df06840877d4ab036f26feace3192d8
Elliott Hughes [Fri, 17 Aug 2012 21:30:06 +0000 (14:30 -0700)]
Always define the 64-bit int types.
These preprocessor tricks have caused trouble for -std=gnu99 and -ansi, and
both netbsd's libc and glibc seem to unconditionally define these types.
Change-Id: Ib8dffa341a8ca88f80d275ba2b7f93a4c910ee32
Elliott Hughes [Fri, 17 Aug 2012 20:54:43 +0000 (13:54 -0700)]
Merge "Add link.h for all platforms with dl_phdr_info"
Pavel Chupin [Fri, 17 Aug 2012 08:53:29 +0000 (12:53 +0400)]
Add link.h for all platforms with dl_phdr_info
This header is used on bionic build and should be propagated into
sysroot on toolchain rebuild. Discussion re. this header is here:
http://gcc.gnu.org/ml/gcc-patches/2012-08/msg00936.html
It is available already in mips NDK platforms:
development/ndk/platforms/android-9/arch-mips/include/link.h
Change-Id: I39ff467cdac9f448e31c11ee3e14a6200e82ab57
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
Henrik Engström [Wed, 20 Jun 2012 06:47:52 +0000 (08:47 +0200)]
Added missing cache failed notification
Added a missing call to _resolv_cache_query_failed for another fail
case where it was missing (it doesn't go through the error handling
under the "fail" label). This missing notification caused requests to
have to wait for timeout instead of beeing notified on some failed
requests.
Change-Id: I904d60269c59b926784e3a397d2a860329f55142
Joe Onorato [Fri, 17 Aug 2012 06:37:49 +0000 (23:37 -0700)]
Merge "Don't over-generalize makefiles. Host modules always build. This isn't needed on eng builds."
Joe Onorato [Thu, 16 Aug 2012 03:27:04 +0000 (20:27 -0700)]
Don't over-generalize makefiles. Host modules always build. This isn't needed on eng builds.
Change-Id: I5821ced7a8a9042fd2094204e07470d8002263ca
Elliott Hughes [Thu, 16 Aug 2012 23:58:34 +0000 (16:58 -0700)]
Merge "Enhance getcwd(3) to handle NULL like glibc."
Elliott Hughes [Thu, 16 Aug 2012 22:59:12 +0000 (15:59 -0700)]
Enhance getcwd(3) to handle NULL like glibc.
Bug: http://code.google.com/p/android/issues/detail?id=36085
Change-Id: I960a1b585887eb66176c61d29c5c61c239a4003f
Elliott Hughes [Thu, 16 Aug 2012 19:09:13 +0000 (12:09 -0700)]
Merge "bionic: add macro protection for MALLOC_ALIGNMENT"
Jin Wei [Wed, 1 Aug 2012 06:48:57 +0000 (14:48 +0800)]
bionic: add macro protection for MALLOC_ALIGNMENT
In previous commit:
2fd81ef7, .mk file has been modified to
configure MALLOC_ALIGNMENT dynamicly according to board config.
Add the missing macor protection here.
Change-Id: I703cca2ce0504ab3e11aab226b2c61fcc0c6afa1
Author: Jin Wei <wei.a.jin@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Elliott Hughes [Thu, 16 Aug 2012 00:05:47 +0000 (17:05 -0700)]
Merge "enable clone system call for x86"
Jin Wei [Wed, 8 Aug 2012 07:15:16 +0000 (15:15 +0800)]
enable clone system call for x86
Add __bionic_clone function for x86, which will be
used for clone system call.
Change-Id: I889dc9bf4b7ebb4358476e17e6f3233e26491f4d
Signed-off-by: Jin Wei <wei.a.jin@intel.com>
Signed-off-by: Xiaokang Qin <xiaokang.qin@intel.com>
Signed-off-by: Beare, Bruce J <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 51414
Elliott Hughes [Wed, 15 Aug 2012 23:59:21 +0000 (16:59 -0700)]
Merge "Fix comment typos."
Elliott Hughes [Wed, 15 Aug 2012 23:56:00 +0000 (16:56 -0700)]
Fix comment typos.
Change-Id: I8feeec1ee9935a6d6baebe57f1c0043ff90ff94f
Elliott Hughes [Wed, 15 Aug 2012 23:51:56 +0000 (16:51 -0700)]
Merge "Regenerate all NOTICE files with the latest version of the script."
Elliott Hughes [Wed, 15 Aug 2012 22:43:13 +0000 (15:43 -0700)]
Regenerate all NOTICE files with the latest version of the script.
This sorts every entry, so we should have more stability and fewer
merge conflicts in future.
Change-Id: Ifc5347dc53352da22c82d41ca59b483966fcfc6b
Elliott Hughes [Wed, 15 Aug 2012 22:39:49 +0000 (15:39 -0700)]
Merge "Switch to the current NetBSD regex implementation."
Elliott Hughes [Tue, 14 Aug 2012 22:32:42 +0000 (15:32 -0700)]
Switch to the current NetBSD regex implementation.
Change-Id: If32b28dd85d6a7ab8957ab81d19fa4c0de9499d5
Elliott Hughes [Tue, 14 Aug 2012 22:31:17 +0000 (15:31 -0700)]
Merge "Sort NOTICE entries."
Elliott Hughes [Tue, 14 Aug 2012 22:04:05 +0000 (15:04 -0700)]
Sort NOTICE entries.
Also make sure we get the whole of any copyright header, in case
there's text before the "Copyright" line.
Change-Id: Iabcc5e0931a39c0107b833539fec7c5a3d134592
Elliott Hughes [Tue, 14 Aug 2012 22:02:40 +0000 (15:02 -0700)]
Merge "More cleanup."
Elliott Hughes [Tue, 14 Aug 2012 21:07:59 +0000 (14:07 -0700)]
More cleanup.
Make more stuff static, remove some dead code, and fix a few typos.
Change-Id: I010b0eadeaf61e2899c37014ad1e7082c70bd510
Elliott Hughes [Tue, 14 Aug 2012 19:14:29 +0000 (12:14 -0700)]
Merge "Update MS_ mount flags, define unshare() syscall."
Jeff Sharkey [Sat, 11 Aug 2012 21:12:26 +0000 (14:12 -0700)]
Update MS_ mount flags, define unshare() syscall.
(cherry-pick of
82393decdfc6b0383054fb5d2f54725bbee88b8c.)
Bug:
6925012
Change-Id: I4f962d8975ad62ff4b9983150f9e481796092b9d
Elliott Hughes [Tue, 14 Aug 2012 19:07:17 +0000 (12:07 -0700)]
Merge "linker: avoid clobbering the .dynamic section of shared libs"
Elliott Hughes [Tue, 14 Aug 2012 18:56:29 +0000 (11:56 -0700)]
Merge "Switch to upstream NetBSD tdelete/tfind/tsearch."
Ard Biesheuvel [Tue, 14 Aug 2012 10:30:09 +0000 (12:30 +0200)]
linker: avoid clobbering the .dynamic section of shared libs
This patch removes the DT_NEEDED hack which stores pointers
to soinfo structs in the .dynamic section of the library
being loaded.
Instead, it caches the soinfo struct pointers on the stack
during relocation time. After relocation time, i.e. when
calling constructors and destructors of the shared library
and its dependencies, uncached access is used instead,
doing lookups using the string table entries pointed to by
the DT_NEEDED entries.
By removing this hack, it is no longer needed to undo the
PT_GNURELRO protection, i.e., all non-writable mappings
can remain non-writable during their entire lifespan.
Even though, strictly speaking, the algorithmic complexity
has increased somewhat, the real-world adverse effect
is negligible on the systems I have tested.
Change-Id: I2361502560b96b5878f7f94a8e8a215350d70d64
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@gmail.com>
Elliott Hughes [Tue, 14 Aug 2012 00:02:11 +0000 (17:02 -0700)]
Switch to upstream NetBSD tdelete/tfind/tsearch.
tdestroy is a GNU extension, so that stays.
Change-Id: Iedebaff25ea7e92b1ab1dd4440da12b67b99aa40
Elliott Hughes [Mon, 13 Aug 2012 23:56:17 +0000 (16:56 -0700)]
Merge "Fix nice..."
Elliott Hughes [Mon, 13 Aug 2012 23:38:29 +0000 (16:38 -0700)]
Fix nice...
...by switching to the NetBSD implementation.
Change-Id: I562b27b237a24ded95804035cc322c7bff12ff59
Elliott Hughes [Mon, 13 Aug 2012 23:17:54 +0000 (16:17 -0700)]
Merge "Clean up warnings in stubs.cpp."
Elliott Hughes [Mon, 13 Aug 2012 22:45:36 +0000 (15:45 -0700)]
Clean up warnings in stubs.cpp.
Switch to C++ to get extra warnings, and format the code Google style.
Change-Id: Ifc0131bf297a6ee8a8a6b8d049a02518b0b1a4b7
Elliott Hughes [Mon, 13 Aug 2012 21:45:27 +0000 (14:45 -0700)]
Merge "Handle naming for system uids running as secondary users"
Amith Yamasani [Mon, 13 Aug 2012 02:51:34 +0000 (19:51 -0700)]
Handle naming for system uids running as secondary users
Allow naming such as u1_system, u2_radio, u2_media.
Forward and reverse mapping for the above.
(cherry-pick of
c60a0027b1ef3bc4929d2023e7083fbce12fafe7.)
Change-Id: I46eeb23fee4f57b2907640570504123d3ce99985
Elliott Hughes [Mon, 13 Aug 2012 21:12:02 +0000 (14:12 -0700)]
Merge "Add dependencies on all the makefiles."
Elliott Hughes [Mon, 13 Aug 2012 21:06:05 +0000 (14:06 -0700)]
Add dependencies on all the makefiles.
This should help prevent broken builds next time I'm messing with
assembler/compiler/linker flags...
Change-Id: I30f15a3ce3c3f3c60cad7bc59aaba9f42d792224
Elliott Hughes [Mon, 13 Aug 2012 19:42:01 +0000 (12:42 -0700)]
Merge "Update arch-mips/asm/unistd.h for the newer syscalls"
Raghu Gandham [Mon, 13 Aug 2012 18:54:53 +0000 (11:54 -0700)]
Update arch-mips/asm/unistd.h for the newer syscalls
Change-Id: Ie292c091cbf4b972e1b5faa7d779645c6e4442f0
Elliott Hughes [Mon, 13 Aug 2012 18:06:53 +0000 (11:06 -0700)]
Merge "Fix module constructor order."
Evgeniy Stepanov [Mon, 13 Aug 2012 13:58:37 +0000 (17:58 +0400)]
Fix module constructor order.
.preinit_array goes before the constructors of LD_PRELOAD-ed libraries.
Change-Id: I1af32ce29eaf3ca4351ae8a0f7f5da5165853216
Nick Kralevich [Mon, 13 Aug 2012 16:28:54 +0000 (09:28 -0700)]
Merge "linker: don't perform unnecessary mprotects"
Nick Kralevich [Sat, 11 Aug 2012 04:08:42 +0000 (21:08 -0700)]
linker: don't perform unnecessary mprotects
The linker only needs to mark the text segment as
writable iff the file has text relocations. Unnecessarily
calling mprotect when it isn't necessary is slow, and some
security enhanced kernels don't like it. Pages which are
simultaneously writable and executable are considered a no-no.
The vast majority of executables / shared libraries on Android
do NOT have text relocations.
Change-Id: Ic38ce30a99b7e33ecf21efd9c108547a58eafa35
Elliott Hughes [Sat, 11 Aug 2012 16:36:05 +0000 (09:36 -0700)]
Merge "MIPS support to the libc Makefile"
Raghu Gandham [Tue, 7 Aug 2012 19:23:24 +0000 (12:23 -0700)]
MIPS support to the libc Makefile
Change-Id: Ia1f3f545ca61a5abb235e99046cb3cdaf24d4205
Ben Cheng [Fri, 10 Aug 2012 23:46:09 +0000 (16:46 -0700)]
Merge "Set the dynamic field in the link map for the linker itself."
Ben Cheng [Fri, 10 Aug 2012 23:07:02 +0000 (16:07 -0700)]
Set the dynamic field in the link map for the linker itself.
Otherwise gdb will print a spurious warning each time gdb is used:
warning: .dynamic section for "/system/bin/linker" is not at the expected
address (wrong library or version mismatch?)
BUG:
6946614
Change-Id: Ib21b8db0615751189c1601140deb43bc089289b6
Elliott Hughes [Fri, 10 Aug 2012 22:05:35 +0000 (15:05 -0700)]
Merge "MIPS support to sigsuspend and sigwait routines"
Nick Kralevich [Fri, 10 Aug 2012 21:29:26 +0000 (14:29 -0700)]
Merge "crtend*: Add GNU_STACK note"
Nick Kralevich [Fri, 10 Aug 2012 21:00:17 +0000 (14:00 -0700)]
crtend*: Add GNU_STACK note
Add a GNU_STACK marker to crtend* files. This tells the linker
that these files do not require an executable stack.
When linking, a missing GNU_STACK marker in any .o file can prevent
the compiler from automatically marking the final executable as NX
safe (executable stack not required). In Android, we normally work
around this by adding -Wa,--noexecstack / -Wl,-z,noexecstack.
For files like crtend.S / crtend_so.S, which are included in every
executable / shared library, it's better to add the GNU_STACK note
directly to the assembly file. This allows the compiler to
automatically mark the final executable as NX safe without any
special command line options.
References: http://www.gentoo.org/proj/en/hardened/gnu-stack.xml
Change-Id: I07bd058f9f60ddd8b146e0fb36ba26ff84c0357d