Commit Graph

6837 Commits

Author SHA1 Message Date
Christopher Ferris 0ae6445e9a Keep the symbol table in the shared libc.
In order to allow the unwinder code to have meaningful names for
libc functions, leave the symbol table. This results in the libc.so
getting to be about ~130K larger on all arm platforms and about ~70K
larger on mips/x86 platforms.

Bug: 12958251
Change-Id: I6b3a97e4824142faf5de46aeabf7c1dfb98a8cc6
2014-03-24 17:56:13 -07:00
Brian Carlstrom f71c0e75e0 Merge "Add include of float.h for LDBL_MIN_EXP and LDBL_MANT_DIG" 2014-03-25 00:16:30 +00:00
Brian Carlstrom 133bd09334 Add include of float.h for LDBL_MIN_EXP and LDBL_MANT_DIG
(cherry picked from commit 1711c6ea3a0d891da665325c75738a68bd7d501f)

Change-Id: Ia64676b2b904f042fec678003e3f2cd5bd82b510
2014-03-24 16:53:22 -07:00
Calin Juravle 989a80b750 Merge "Fix LP64 libm for 128-bit long doubles" 2014-03-24 12:13:24 +00:00
Calin Juravle 9e8a8dc18c Merge "Remove ALIGNBYTES and ALIGN from <sys/param.h>" 2014-03-24 12:11:30 +00:00
Calin Juravle 4d77c1151c Fix LP64 libm for 128-bit long doubles
* reworked amd64/_fpmath.h and arm64/_fpmath.h to support 128-bit long
doubles.
* improved tests to cover long double cases
* made modfl an alias for LP32

Tests pass on x86, x86_64, arm, arm64 and mips.

Bug: 12921273

Change-Id: Ibe39acde57972447a8950fa45b1e702acc68ebeb
2014-03-24 11:48:42 +00:00
Nick Kralevich 95c1abecc0 Merge "FORTIFY_SOURCE: don't define s?printf macros if already defined" 2014-03-22 17:55:49 +00:00
Mark Salyzyn cce6c380d7 Merge "libc: Thread IDs missing from logcat -v thread" 2014-03-21 20:09:32 +00:00
Christopher Ferris 998d7b0307 Merge "Fix deadlock in timer_delete." 2014-03-21 17:26:58 +00:00
Calin Juravle c20de90287 Remove ALIGNBYTES and ALIGN from <sys/param.h>
There are only three users of bionic definition of ALIGN and keeping it
in sys/param.h polutes the namespace.

I inline the definition in the the three places that's used.

Bug: 13400663
Change-Id: I565008e8426c38ffb07422f42cd8e547d53044e9
2014-03-21 09:59:34 +00:00
Christopher Ferris 753ad778bc Fix deadlock in timer_delete.
If the callback function for a timer did a timer_delete, the function
would never return. The problem was that the timer_delete function would try
to wait until the timer thread has finished. Waiting for yourself to finish
doesn't work very well.

Bug: 13397340
Change-Id: Ica123a5bafbc8660c8a4a909e5c2dead55ca429d
2014-03-20 20:47:45 -07:00
Mark Salyzyn 8664be583a libc: Thread IDs missing from logcat -v thread
- stuff caller's thread id into the packet.

Bug: 13568206
Change-Id: If8b318ef75c7dcdddb05da8ac3038860f0fda5ec
2014-03-20 16:35:18 -07:00
Calin Juravle 2cc58603d5 Merge "Added a test flag to bionic run-test targets." 2014-03-19 18:31:26 +00:00
Calin Juravle 7227066726 Added a test flag to bionic run-test targets.
It makes it much easier to pass arguments to the tests.

Change-Id: Ia91eba4868627a3cea3f8d2c26ba01af4e860b12
2014-03-19 18:23:36 +00:00
Nick Kralevich 7eb28b59c7 FORTIFY_SOURCE: don't define s?printf macros if already defined
Clang specific: Don't #define sprintf and snprintf macros if they
are already defined.

Change-Id: I30fc507d898377e1b8a57a65a147926229e0f9e2
2014-03-18 17:03:38 -07:00
Christopher Ferris 849e162d3b Merge "Use the float/double assert macros." 2014-03-17 23:51:36 +00:00
Christopher Ferris f171b34cf0 Use the float/double assert macros.
The normal ASSERT_EQ macros don't work quite right for float/double values,
and result in false failures. Use the correct macros instead.

Bug: 13511379
Change-Id: Ic2feee7f3d3569f57b6453b8fa95222846c625cd
2014-03-17 16:40:26 -07:00
Calin Juravle f212bbf666 Merge "Update libm to the upstream head (2014.03.13)" 2014-03-14 10:58:18 +00:00
Elliott Hughes 143df89f72 Merge "Clean up reentrancy cruft." 2014-03-14 04:58:20 +00:00
Elliott Hughes 205c7887ad Clean up reentrancy cruft.
The DNS copy of reentrant.h was unused, so remove it.

The strtod implementation can use the upstream-netbsd reentrant.h and
get a little closer to what was then upstream. (It's since been replaced
by gdtoa, and we'll have to follow at some point, but for now this doesn't
make anything any worse.)

ANDROID_CHANGES is (now) only used in the DNS code, so push the -D
down.

The <locale.h> change prevents an LP32 hack from leaking into LP64.

Change-Id: Idf30b98a59d7ca8f7c6cd6d07020b512057911ef
2014-03-13 16:17:43 -07:00
Elliott Hughes d16100c1fb Merge "Clean up <stdio.h> macros." 2014-03-13 23:13:58 +00:00
Elliott Hughes f2cea021ab Clean up <stdio.h> macros.
Also neuter __isthreaded.

We should come back to try to hide struct FILE's internals for LP64.

Bug: 3453512
Bug: 3453550
Change-Id: I7e115329fb4579246a72fea367b9fc8cb6055d18
2014-03-13 14:54:53 -07:00
Elliott Hughes 6ece7fc33a Merge "property: fix getting dirty serial value" 2014-03-13 20:16:18 +00:00
jiaguo 879d330499 property: fix getting dirty serial value
__system_property_serial just returned serial value without
checking if it is dirty, so check and wait until serial
value is not dirty before return

Change-Id: If485b6251b5555b004912c66c7c2cb455a7fdbdc
Signed-off-by: jiaguo <jiaguo@marvell.com>
2014-03-13 12:42:52 -07:00
Calin Juravle bd3155dc5d Update libm to the upstream head (2014.03.13)
The most relevant changes are the ones in s_erff.c which should improve
the overall speed of exececution and the maximum error in ULP.

Change-Id: I7bd867f902db418db67f02cd58578624357b1ee8
2014-03-13 16:20:36 +00:00
Elliott Hughes 01cd78854a Merge "Upgrade to current upstream scanf implementation." 2014-03-13 00:49:23 +00:00
Elliott Hughes 603332fc4c Upgrade to current upstream scanf implementation.
Also add a basic test.

Change-Id: Icc0e68a5716b9579244f6eb8bac1ab5a24eda85a
2014-03-12 17:10:41 -07:00
Elliott Hughes 0e79338d12 Merge "Ensure we always have symbols for atof, strtof, strtold." 2014-03-12 23:32:37 +00:00
Elliott Hughes 5a8173860d Ensure we always have symbols for atof, strtof, strtold.
We'll need a better implementation of strtold for LP64, but all our
long double functions are currently broken for LP64 anyway so this
isn't a regression.

Change-Id: I2bdebac11245d31521d5fa09a16331c03dc4339c
2014-03-12 16:12:57 -07:00
Mark Salyzyn 56e1eebd39 Merge "logd: default user space logger" 2014-03-12 21:02:46 +00:00
Elliott Hughes eef2928f94 Merge "Include what you use." 2014-03-12 20:51:48 +00:00
Elliott Hughes 40488560c1 Include what you use.
Don't rely on transitive includes. (Even though that works fine in AOSP.)

Change-Id: Ifc06575e4aea383cfff24d6c5c14fc0a7aabdf2b
2014-03-12 13:50:38 -07:00
Elliott Hughes 2282e16d76 Merge "Use [u]int32_t instead of __[u]int32_t in sys/types.h" 2014-03-12 20:48:39 +00:00
Pavel Chupin 2725ca95b2 Use [u]int32_t instead of __[u]int32_t in sys/types.h
Avoid this error in -ffreestanding mode:
sys/types.h:45:1: error: unknown type name '__uint32_t'

Change-Id: I826b36873862d1d70b47401f31f4369a77666b8e
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-13 00:23:43 +04:00
Mark Salyzyn c1005aaf8e logd: default user space logger
Change-Id: Id205b01537940051c72d79def28a3c1a8b169a21
2014-03-12 13:17:38 -07:00
Elliott Hughes ef43a6fb0e Merge "Clean up our termios implementation." 2014-03-12 02:25:22 +00:00
Elliott Hughes 8d4b5849f2 Clean up our termios implementation.
It's safe to fix our constant definitions because we know we never
had symbols before, so can't be passing the bad old constants to the new
functions, or the correct new constants to the old inlines.

Change-Id: I858fc680df39bdd3ba471e867833bdfa71f6224e
2014-03-11 19:13:25 -07:00
Elliott Hughes 76b4f1a33c Merge "More stdio cleanup." 2014-03-11 22:31:00 +00:00
Elliott Hughes ad41e9a4eb More stdio cleanup.
Change-Id: Idc909cd3dc7b072f1edd2ae4980932d6550e8568
2014-03-11 15:05:50 -07:00
Elliott Hughes 55f9710ac4 Merge "Reimplement clock(3) and switch to OpenBSD time(3)." 2014-03-11 21:36:02 +00:00
Elliott Hughes cccfe1e17c Reimplement clock(3) and switch to OpenBSD time(3).
The new implementation is a better approximation to the processor time used
by the process because it's actually based on resource usage rather than just
elapsed wall clock time.

Change-Id: I9e13b69c1d3048cadf0eb9dec1e3ebc78225596a
2014-03-11 13:37:11 -07:00
Elliott Hughes 753e139906 Merge "Add a basic unit test for system(3)." 2014-03-11 20:02:49 +00:00
Elliott Hughes 3cdf5739cd Add a basic unit test for system(3).
Change-Id: Ibc5ac21f3663685d89ce261b58d6ea386fc1ff88
2014-03-11 12:54:44 -07:00
Elliott Hughes dd8c7863c6 Merge "Add various benchmarks." 2014-03-11 19:47:38 +00:00
Elliott Hughes b28e490b73 Add various benchmarks.
These are based on ones from system/extras/tests/bionic/.

Change-Id: I7b1ae15a2ca5d1031a6a511d97b88125c1770047
2014-03-11 11:20:52 -07:00
Calin Juravle 5810bcf381 Merge "Sysconfig fixes" 2014-03-11 10:50:01 +00:00
Calin Juravle 40c31ade2c Merge "Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr" 2014-03-11 10:49:47 +00:00
Calin Juravle a0ca209ac0 Sysconfig fixes
Remove _POSIX_THREAD_ATTR_STACKADDR and _POSIX_THREAD_ATTR_STACKSIZE
since they don't exists. Return -1 for their corresponding values but
don't set errno.

Bug: 13281069
Change-Id: Ice29b4dfebe2b474212e40ee726d86782a3064b9
2014-03-11 10:44:50 +00:00
Calin Juravle a4eafa6dbc Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr
Moved existing definitions to ndk_cruft to preserve NDK compatibility.

Bug: 13281069
Change-Id: I6f260de69afa55a6274f0d13145c19ac6517b9d5
2014-03-11 10:44:36 +00:00
Elliott Hughes 10f6beb3eb Merge "Add system/extras strftime and strptime tests." 2014-03-11 01:41:28 +00:00