Commit Graph

2900 Commits

Author SHA1 Message Date
Elliott Hughes
63deae5e4f Add missing MALLOC_FAILURE_ACTION calls to dlmalloc.
Without these, sometimes malloc(3) returns NULL without setting errno.

Change-Id: I4708c3f675bf2c878ddcaf012fde7848b255826b
2012-09-04 15:42:23 -07:00
Elliott Hughes
1d07eda8db am c0e3b9dd: am b438c54d: am 1db615b4: Merge "bionic: Fix TINY_ANDROID build"
* commit 'c0e3b9ddd6c7dae0a402067c79609ddefcde125b':
  bionic: Fix TINY_ANDROID build
2012-09-04 13:51:57 -07:00
Elliott Hughes
c0e3b9ddd6 am b438c54d: am 1db615b4: Merge "bionic: Fix TINY_ANDROID build"
* commit 'b438c54d02b722a93a72ff6e834ab78053ca3add':
  bionic: Fix TINY_ANDROID build
2012-09-04 13:49:41 -07:00
Elliott Hughes
b438c54d02 am 1db615b4: Merge "bionic: Fix TINY_ANDROID build"
* commit '1db615b4ae469c9f33dc1d88b24924ca8efc10ef':
  bionic: Fix TINY_ANDROID build
2012-09-04 13:46:46 -07:00
Elliott Hughes
1db615b4ae Merge "bionic: Fix TINY_ANDROID build" 2012-09-04 13:42:57 -07:00
Benoit Goby
5ac9eee1d3 bionic: Fix TINY_ANDROID build
(cherry-pick of 545d5dbbcb0dc9e44323c4f2e687a3aace75a483.)

Change-Id: Ifc91e84ffed5a3a287accabd7f08b02752688db6
2012-09-04 13:36:54 -07:00
Vitaly Wool
954923858b termios: add tcdrain
Change-Id: I05c0007f7bcc6ef5295c32f86fafbf1ad31e07fa
2012-09-04 14:11:28 +02:00
The Android Automerger
2b49277d84 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-09-03 06:33:17 -07:00
Irina Tirdea
1ad10a566e 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>
2012-09-03 01:38:34 +03:00
Kirill Artamonov
3e2d2936b0 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
2012-08-31 11:11:40 -07:00
Ian Rogers
5b0e2de6ae am b9ad1a1e: am 6abab301: am 6fe901ef: Merge "Upgrade to dlmalloc 2.8.6."
* commit 'b9ad1a1e001cc06db121994ca0da7deb4c60914a':
  Upgrade to dlmalloc 2.8.6.
2012-08-31 09:01:07 -07:00
Ian Rogers
b9ad1a1e00 am 6abab301: am 6fe901ef: Merge "Upgrade to dlmalloc 2.8.6."
* commit '6abab301db84af7c98a4873fbf49997078aa19cc':
  Upgrade to dlmalloc 2.8.6.
2012-08-31 08:58:33 -07:00
Ian Rogers
6abab301db am 6fe901ef: Merge "Upgrade to dlmalloc 2.8.6."
* commit '6fe901ef38898d9cb6007720940e915f7180fc11':
  Upgrade to dlmalloc 2.8.6.
2012-08-31 08:55:41 -07:00
Ian Rogers
6fe901ef38 Merge "Upgrade to dlmalloc 2.8.6." 2012-08-31 08:42:41 -07:00
The Android Automerger
83d5e567d6 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-08-30 06:33:17 -07:00
Ian Rogers
c6d95add30 Upgrade to dlmalloc 2.8.6.
This fixes a bug and enables the use of MORECORE_CONTIGUOUS.

Change-Id: Ia7c5d32bdc46e99b3ecb92ee94d1f702c4385d5d
2012-08-29 18:18:29 -07:00
Elliott Hughes
418ecb7ec8 am 8c368b5d: am dde94f4c: am 8b4e8a93: Merge "Improve the dynamic linker diagnostics."
* commit '8c368b5d1d43bf5d9fdf1f6e99190437da882f95':
  Improve the dynamic linker diagnostics.
2012-08-29 14:09:36 -07:00
Nick Kralevich
29e526527c am fe7d7d46: am 92133ca4: am 17d9be8a: Merge "disable _FORTIFY_SOURCE under clang"
* commit 'fe7d7d4693463945155b8548f9c33db5b3c90377':
  disable _FORTIFY_SOURCE under clang
2012-08-29 14:09:32 -07:00
Elliott Hughes
8c368b5d1d am dde94f4c: am 8b4e8a93: Merge "Improve the dynamic linker diagnostics."
* commit 'dde94f4c1664c6908d9a2944aff84e8667557d02':
  Improve the dynamic linker diagnostics.
2012-08-29 14:06:58 -07:00
Nick Kralevich
fe7d7d4693 am 92133ca4: am 17d9be8a: Merge "disable _FORTIFY_SOURCE under clang"
* commit '92133ca427b9c697d5afb59b74cb2cff50840c8e':
  disable _FORTIFY_SOURCE under clang
2012-08-29 14:06:57 -07:00
Elliott Hughes
dde94f4c16 am 8b4e8a93: Merge "Improve the dynamic linker diagnostics."
* commit '8b4e8a937be2e7ac94e52d596813095ef16c9ec8':
  Improve the dynamic linker diagnostics.
2012-08-29 14:04:25 -07:00
Nick Kralevich
92133ca427 am 17d9be8a: Merge "disable _FORTIFY_SOURCE under clang"
* commit '17d9be8ad73170275f25ffe8795a0d04b3e2cd8b':
  disable _FORTIFY_SOURCE under clang
2012-08-29 14:04:24 -07:00
Elliott Hughes
8b4e8a937b Merge "Improve the dynamic linker diagnostics." 2012-08-29 13:56:40 -07:00
Nick Kralevich
17d9be8ad7 Merge "disable _FORTIFY_SOURCE under clang" 2012-08-29 13:54:49 -07:00
Elliott Hughes
b37328627b am 8900e2de: am e5b85f45: am 0d7177c0: Merge "Clean up warnings in the malloc_debug_* files."
* commit '8900e2de450726982de466bfc3639dd71630178c':
  Clean up warnings in the malloc_debug_* files.
2012-08-29 13:22:18 -07:00
Elliott Hughes
8900e2de45 am e5b85f45: am 0d7177c0: Merge "Clean up warnings in the malloc_debug_* files."
* commit 'e5b85f45f9b23b4adbea5a9bb0bc29099880ed69':
  Clean up warnings in the malloc_debug_* files.
2012-08-29 13:19:58 -07:00
Elliott Hughes
e5b85f45f9 am 0d7177c0: Merge "Clean up warnings in the malloc_debug_* files."
* commit '0d7177c0d47517514c81713427fc28e04dc3cd37':
  Clean up warnings in the malloc_debug_* files.
2012-08-29 13:15:10 -07:00
Elliott Hughes
e9b6fc6f82 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
2012-08-29 13:10:54 -07:00
Elliott Hughes
0d7177c0d4 Merge "Clean up warnings in the malloc_debug_* files." 2012-08-29 13:08:50 -07:00
Nick Kralevich
829c089f83 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
2012-08-29 12:47:41 -07:00
Elliott Hughes
c4d1fecc10 Clean up warnings in the malloc_debug_* files.
Also clean up cpplint.py-detected lint.

Change-Id: Ia18e89c4c6878764f8d7ed34b8247e7a8d8fe88b
2012-08-29 12:08:13 -07:00
Ian Rogers
71258e0d20 am 15afed42: Merge "Revert "Revert "Restore posix_memalign""" into jb-mr1-dev
* commit '15afed42ca0b9e5954b121d1a6ca1bdb6b5dc55c':
  Revert "Revert "Restore posix_memalign""
2012-08-29 08:55:24 -07:00
Ian Rogers
1df8fe33d5 am f71fa083: Merge "Revert "Revert "Upgrade to dlmalloc 2.8.5.""" into jb-mr1-dev
* commit 'f71fa0830a1d1280174f25309b05612af4f20fb3':
  Revert "Revert "Upgrade to dlmalloc 2.8.5.""
2012-08-29 08:55:23 -07:00
Ian Rogers
15afed42ca Merge "Revert "Revert "Restore posix_memalign""" into jb-mr1-dev 2012-08-29 08:53:41 -07:00
Ian Rogers
f71fa0830a Merge "Revert "Revert "Upgrade to dlmalloc 2.8.5.""" into jb-mr1-dev 2012-08-29 08:53:26 -07:00
The Android Automerger
b2d46d3632 merge in jb-mr1-release history after reset to jb-mr1-dev 2012-08-29 06:33:16 -07:00
Iliyan Malchev
7e5851922c am 66edcd9d: msm_ion: switch to using legacy_ion.h
* commit '66edcd9dad6a10622015f6350ea9bc11a358801a':
  msm_ion: switch to using legacy_ion.h
2012-08-29 01:37:21 -07:00
Iliyan Malchev
ba13ae7672 am 5f1d206d: add legacy_ion.h
* commit '5f1d206de357684365a98c53b505491e18b6694a':
  add legacy_ion.h
2012-08-29 01:37:20 -07:00
Iliyan Malchev
66edcd9dad msm_ion: switch to using legacy_ion.h
Change-Id: I0fa64cb9684062f371bd21a1f94f6c7dad8d854d
Signed-off-by: Iliyan Malchev <malchev@google.com>
2012-08-29 01:31:34 -07:00
Iliyan Malchev
5f1d206de3 add legacy_ion.h
legacy_ion.h is a pre android-3.4 copy of the ion.h header, for backwards
compatibility

Change-Id: Iaf2f1659f19a3b55334df929d9500069bf8acbdd
Signed-off-by: Iliyan Malchev <malchev@google.com>
2012-08-29 01:24:49 -07:00
Ian Rogers
e0d680176f Revert "Revert "Restore posix_memalign""
This reverts commit 78a3069f82.
2012-08-28 16:36:08 -07:00
Ian Rogers
2c344d3631 Revert "Revert "Upgrade to dlmalloc 2.8.5.""
This reverts commit f72ee26927.
2012-08-28 15:53:10 -07:00
Nick Kralevich
2868bbabf3 am 4f90a093: am d3d09f7d: am 069c64cd: Merge "ARM: make sure __on_dlclose() actually gets called"
* commit '4f90a0932c087e4bb13dab2d30a424c04c1f9f80':
  ARM: make sure __on_dlclose() actually gets called
2012-08-28 13:43:57 -07:00
Nick Kralevich
4f90a0932c am d3d09f7d: am 069c64cd: Merge "ARM: make sure __on_dlclose() actually gets called"
* commit 'd3d09f7d75726dbe7cd9dfae211427f8bebe1397':
  ARM: make sure __on_dlclose() actually gets called
2012-08-28 13:41:10 -07:00
Nick Kralevich
d3d09f7d75 am 069c64cd: Merge "ARM: make sure __on_dlclose() actually gets called"
* commit '069c64cdf2d3da7b7ff6ea5d1041f982fb10ab22':
  ARM: make sure __on_dlclose() actually gets called
2012-08-28 13:17:00 -07:00
Nick Kralevich
036fa6e669 am 54662dd4: am 1389db8b: am e026b1d8: Merge "ARM: remove dummy entries from .so init_array/fini_array"
* commit '54662dd4de8151383be4b518f4161f171359186f':
  ARM: remove dummy entries from .so init_array/fini_array
2012-08-28 13:06:48 -07:00
Nick Kralevich
773a783295 am d7440f37: am 7cab2188: am ad180738: Merge "linker: Fix ARM_R_COPY relocations"
* commit 'd7440f3725b196f6624f74d2cee50dbdac647372':
  linker: Fix ARM_R_COPY relocations
2012-08-28 13:06:47 -07:00
Nick Kralevich
54662dd4de am 1389db8b: am e026b1d8: Merge "ARM: remove dummy entries from .so init_array/fini_array"
* commit '1389db8b94ca0cff4744dc070d99f48c6cf53b07':
  ARM: remove dummy entries from .so init_array/fini_array
2012-08-28 13:04:47 -07:00
Nick Kralevich
d7440f3725 am 7cab2188: am ad180738: Merge "linker: Fix ARM_R_COPY relocations"
* commit '7cab21885ac039375264a45b2c774106415be664':
  linker: Fix ARM_R_COPY relocations
2012-08-28 13:04:46 -07:00
Nick Kralevich
069c64cdf2 Merge "ARM: make sure __on_dlclose() actually gets called" 2012-08-28 13:04:22 -07:00