Commit Graph

7823 Commits

Author SHA1 Message Date
Christopher Ferris
a403780538 Put all allocation functions into dispatch table.
Implement these new functions for all of the debug malloc types.

Fix a number of bugs in the debug malloc functions related to overflow
conditions.
Fix a bug in dlpvalloc due to an overflow condition.

Fix various other bugs in the debug malloc functions.

Add new tests for malloc functions.

Bug: 11225066

Change-Id: Idf50f389603e2157645565bc15cd9365eec2e9dd
2014-06-12 15:08:18 -07:00
Elliott Hughes
0ada9388e7 Merge "Add a couple more system call benchmarks." 2014-06-10 22:08:45 +00:00
Elliott Hughes
80664231b8 Merge "Revert "Temporarily expose dlmalloc_usable_size."" 2014-06-10 22:20:24 +00:00
Christopher Ferris
30d15e5499 Merge "Allow bionic-unit-tests-glibc to be built again." 2014-06-10 22:20:24 +00:00
Christopher Ferris
e9f7a9c340 Allow bionic-unit-tests-glibc to be built again.
When we switched to 64 bit host build be default, we no longer build
the glibc unit tests. Fix that, and also set all host targets to build
multilib.

This change also changes the name of bionic-unit-tests-glibc to add
the suffix of 32 or 64 depending on the host type built.

Change-Id: Ife13f9d80f351750ff02825b086d44bb0c2df828
2014-06-10 19:46:07 -07:00
Elliott Hughes
bdb8b21d05 Merge "AArch64: Fix memcmp16() test" 2014-06-10 18:25:40 +00:00
Serban Constantinescu
2aca7fe821 AArch64: Fix memcmp16() test
__memcmp16() should return an integer less than, equal to, or greater than
zero. However the tests looks for a specific value.

Change-Id: I06052f58f9ccc67146a3df9abb349c4bc19f090e
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-06-10 17:51:10 +01:00
Elliott Hughes
7634db5a06 Add a couple more system call benchmarks.
Bug: 15387103
Change-Id: I13419ddf77d201fdbde4c784259c0cb0dcfb9a77
2014-06-09 18:35:21 -07:00
Elliott Hughes
2b8246fa75 Merge "Hide rand48 implementation details." 2014-06-10 01:28:08 +00:00
Elliott Hughes
809093bc21 Hide rand48 implementation details.
Bug: 11156955
Change-Id: I130272286989487dc22e246fb4ffbee5230225c4
2014-06-09 18:10:20 -07:00
Elliott Hughes
bdcab25ee6 Merge "Hide non-standard syslog API." 2014-06-10 01:09:10 +00:00
Elliott Hughes
a382a792a4 Hide non-standard syslog API.
The definitions are still available on LP32 for binary compatibility, but
they're gone on LP64, and the declarations are gone everywhere.

We should probably just make syslog(3) log to the regular Android log,
but that's a job for another day.

Bug: 11156955
Change-Id: I74a98c92f7922ea733549ec6d37c6fa8b7014860
2014-06-09 17:42:14 -07:00
Ying Wang
199e8638df Merge "Use PRIVATE_POST_INSTALL_CMD to create symlink." 2014-06-09 23:55:19 +00:00
Ying Wang
7f722b366a Use PRIVATE_POST_INSTALL_CMD to create symlink.
Bug: 15520908
Change-Id: Ib3349f7adb6def81abf07bfb9d37093e4a599d09
2014-06-09 16:32:51 -07:00
Elliott Hughes
87d4233c72 Merge "Remove the MD5 implementation that was only used by toolbox." 2014-06-09 23:29:21 +00:00
Elliott Hughes
67401638a9 Remove the MD5 implementation that was only used by toolbox.
I've already moved toolbox over to openssl.

Change-Id: Ia75fba5b5e3335a975b97787f653bf4df78e1b4e
2014-06-09 16:26:29 -07:00
Elliott Hughes
e7baf46b86 Merge "Add a regression test for two libm bugs we didn't have." 2014-06-09 23:18:35 +00:00
Elliott Hughes
4779a11a3d Merge "Move mips fenv implementation details into fenv.c." 2014-06-09 22:27:30 +00:00
Elliott Hughes
89d61243f2 Move mips fenv implementation details into fenv.c.
Change-Id: I2415e4808e40c2981d016c01969ba14ea22bf82e
2014-06-09 15:25:15 -07:00
Elliott Hughes
385f70094e Merge "Move x86 fenv implementation details into fenv.c." 2014-06-09 22:22:10 +00:00
Elliott Hughes
43bf81e544 Move x86 fenv implementation details into fenv.c.
Change-Id: I6cb8c730483c325dc3cb75c2b2fbdd2d8455a54c
2014-06-09 15:20:59 -07:00
Elliott Hughes
8c054c51c3 Merge "Clean up the ARM fenv.h, moving implementation details into fenv.c." 2014-06-09 21:16:15 +00:00
Elliott Hughes
9812a0233c Clean up the ARM fenv.h, moving implementation details into fenv.c.
Change-Id: I919d35db27ec16a6f54a7a5c3c070f33f03d9bb9
2014-06-09 13:57:57 -07:00
Elliott Hughes
87472963c7 Merge "AArch64: libm: Fix ARM64 fenv_t and refactor ARM64 libm implementation." 2014-06-09 20:54:22 +00:00
Serban Constantinescu
a147a1da5c AArch64: libm: Fix ARM64 fenv_t and refactor ARM64 libm implementation.
This patch fixes the ARM64 ABI for libm. fenv_t is now split in 32bit status
and 32bit control. This mirrors the AArch64 FPU control and status
registers (FPCR, FPSR).

The patch also refactors the libm implementation for ARM64 into a finer
grained control over the FPU registers.

Bionic-benchmarks has been expanded with 3 more benchmarks for floating
point operations. The new libm implementation for ARM64 performs better
over all the math benchmarks available.

Change-Id: I2a7f81d6b4e55c91f8a63a4c69614fc8b1bcf2db
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-06-09 13:52:28 -07:00
Elliott Hughes
36ed5971c4 Merge "AArch64: Remove Frame Record from ARM64 syscalls" 2014-06-09 19:29:46 +00:00
Serban Constantinescu
602b4e482c AArch64: Remove Frame Record from ARM64 syscalls
This patch removes the frame record created on svc calls.

Change-Id: I67cf926ba59540e824fb9749d30538e332df7c1e
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-06-09 11:36:37 -07:00
Elliott Hughes
e18c271423 Merge "Add the missing issetugid binary compatibility stub." 2014-06-07 05:37:26 +00:00
Elliott Hughes
18b17e9775 Add a regression test for two libm bugs we didn't have.
Reported on the OpenBSD list, but we already had the fix for one from FreeBSD,
and I think the other only affected ld80 anyway. Worth having tests thuogh.

Change-Id: Ic4bbeb2384fd578a3ef13e4907be83deda50815f
2014-06-06 21:55:27 -07:00
Elliott Hughes
bffbfeed7a Add the missing issetugid binary compatibility stub.
Bug: 14569474
Change-Id: I3bedc1a0acf356af76424ceaf62ae7e85239f617
2014-06-06 20:41:42 -07:00
Elliott Hughes
19718f0cd6 Merge "Rewrite and hide longjmperror." 2014-06-07 03:35:28 +00:00
Christopher Ferris
1cada9b3ea Merge "Remove unused scripts." 2014-06-07 01:45:28 +00:00
Elliott Hughes
47ba295b06 Rewrite and hide longjmperror.
This shouldn't be public API, isn't supported on x86/x86_64, and it's
unlikely anyone would have actually seen the message before anyway.
Using __libc_fatal makes it much more likely to be seen.

Bug: 11156955
Change-Id: Icf7f654b22a7dacd89668b60c11e5705c7215c08
2014-06-06 16:49:39 -07:00
Christopher Ferris
ab39aba70e Remove unused scripts.
Change-Id: I3391d6c903f710b45e62bcf01058cf3ad9abe399
2014-06-06 15:28:42 -07:00
Elliott Hughes
6fa47ca484 Merge "Fix ndk_cruft.cpp __getdents64 build failure." 2014-06-06 22:25:19 +00:00
Elliott Hughes
1c60f8080a Merge "Rename __bionic_clone_entry to __start_thread." 2014-06-06 22:24:44 +00:00
Elliott Hughes
d1ead2af8b Fix ndk_cruft.cpp __getdents64 build failure.
Change-Id: Ia463113da0575b36b5a9935d8d45e7bd2c801357
2014-06-06 15:24:20 -07:00
Elliott Hughes
087b3cfa5b Merge "Add a few more C11 functions to the whitelist." 2014-06-06 22:21:17 +00:00
Elliott Hughes
f6b1d439cc Add a few more C11 functions to the whitelist.
Change-Id: Ie2e767910d7cc8a78c05e29960cf4ab52a59fe9d
2014-06-06 15:20:50 -07:00
Elliott Hughes
ebc8cd117a Rename __bionic_clone_entry to __start_thread.
This seems a bit less obscure.

Change-Id: I7dc528c253b73c861694f67556ad8f919bf92136
2014-06-06 15:18:54 -07:00
Elliott Hughes
3e0e7eea49 Merge "Remove getdents from bionic." 2014-06-06 22:17:59 +00:00
Christopher Ferris
b837767a63 Merge "Update kernel header generation docs." 2014-06-06 22:10:19 +00:00
Elliott Hughes
3d5cb30d23 Remove getdents from bionic.
Bug: 11156955
Change-Id: I6c306989801be552d85fba8a50dcdc79282fb9d2
2014-06-06 15:05:58 -07:00
Christopher Ferris
08b60747fe Update kernel header generation docs.
Also move the description of the cleanup data to the cleanup script.

Bug: 15433575
Change-Id: I21e2cbbfab55da483af1bbe36bbe59126b518e3c
2014-06-06 13:54:36 -07:00
Elliott Hughes
c3bdc792be Merge "Fix the printf family for non-ASCII." 2014-06-06 18:06:44 +00:00
Elliott Hughes
69f05d291d Fix the printf family for non-ASCII.
The bug here turned out to be that we hadn't increased the constant
corresponding to the maximum number of bytes in a character to match
our new implementation, so any character requiring more than a byte
in UTF-8 would break our printf family.

Bug: 15439554
Change-Id: I693e5e6eb11c640b5886e848502908ec5fff53b1
2014-06-05 23:19:15 -07:00
Elliott Hughes
e2a54ca80e Merge "Remove unnecessary instructions from x86/x86_64 syscalls." 2014-06-06 01:03:20 +00:00
Elliott Hughes
15a0456d0b Remove unnecessary instructions from x86/x86_64 syscalls.
__set_errno returns -1 exactly so that callers don't need to bother.
The other architectures were already taking advantage of this, but
no one had ever fixed x86 and x86_64.

Change-Id: Ie131494be664f6c4a1bbf8c61bbbed58eac56122
2014-06-05 17:24:30 -07:00
Elliott Hughes
50b79530c6 Merge "Fix unwinding through x86-64 __bionic_clone." 2014-06-05 23:38:19 +00:00
Elliott Hughes
aeb3016f81 Fix unwinding through x86-64 __bionic_clone.
x86-64 needs these CFI directives to stop unwinding here.
I've also cleaned up the assembler a little, and made x86 and x86-64
a little more alike.

Bug: 15195760
Change-Id: I40f92c007843c29c933bb6876fe2b4611e1b946b
2014-06-05 16:36:06 -07:00