4935 Commits

Author SHA1 Message Date
Elliott Hughes
c571c26820 am 9eb2d38d: am b9fdad77: am ec81b4a3: Merge "Scrub uapi headers slightly harder."
* commit '9eb2d38d53b2d00a9b5bd189a34f51afb7c385bf':
  Scrub uapi headers slightly harder.
2014-05-15 23:12:23 +00:00
Dmitriy Ivanov
623b0d05bd Register _cleanup function with atexit
* Register cleanup function with atexit
   instead of calling it explicitly on
   exit()
 * abort() no longer calls _cleanup:
   Flushing stdio buffers on abort is no
   longer required by POSIX.
 * dlmalloc no longer need to reset cleanup
   (see above)
 * Upstream findfp.c makebuf.c setvbuf.cexit.c
   to openbsd versions.

Bug: 14415367
Change-Id: I277058852485a9d3dbb13e5c232db5f9948d78ac
2014-05-15 13:05:21 -07:00
Elliott Hughes
8ed7a23309 Scrub uapi headers slightly harder.
There's no point having always-false tests. It just makes the headers
harder to read.

Bug: 11560081
Change-Id: I6187755e1514ca9ff5642b3c1b0489f22edddaf5
2014-05-15 12:01:11 -07:00
Calin Juravle
bfcc82b3c0 am 4c9eab72: am 83c94c6d: am 98efae4c: Merge "Fill in missing bits in x86(_64) ucontext_t"
* commit '4c9eab723481df5921296c2dba2dbdd8a81b1395':
  Fill in missing bits in x86(_64) ucontext_t
2014-05-15 10:34:37 +00:00
Calin Juravle
a6ab968ca0 Fill in missing bits in x86(_64) ucontext_t
Bug: 12828904
Bug: 12875898
Change-Id: I0ec0dfe16af80bfb3153f3c3b1b3d180eff30f39
2014-05-15 10:34:06 +01:00
Andrew Hsieh
61c88b5648 am 5d76a6c2: am c67e917a: am d0a89921: Merge "Rename user_i387_struct -> user_fpregs_struct in sys/ucontext.h"
* commit '5d76a6c26e47cbd1b9c98b0151dda1677db32af6':
  Rename  user_i387_struct -> user_fpregs_struct in sys/ucontext.h
2014-05-15 01:59:52 +00:00
Elliott Hughes
15b641a267 Move libstdc++ into libc.
The Android build system always links against libstdc++.so anyway. Having
operator new and operator delete in a separate library means we can't use
constructors and destructors on heap-allocated objects inside the C library,
which is quite an unfortunate limitation.

This will be cheaper too; on LP64 we can stop linking against the [now empty]
libstdc++.so giving the dynamic linker one less library to worry about for
every process.

There's precedent too --- we already have no libpthread or librt.

For now I'm leaving the include files where they are, and I'm generating a
dummy libstdc++.so and libstdc++.a. We can come back and clean that up later
if all goes well.

Bug: 13367666
Change-Id: I6f3e27ea7c30d03d6394965d0400c9dc87fa83db
2014-05-14 18:18:55 -07:00
Christopher Ferris
4903b31733 am 70240fda: am 493cfc33: am 1596b884: Merge "Increase minimum thread size for 64 bit."
* commit '70240fda03d5a375b6bb4e25dd50d1e7803a140e':
  Increase minimum thread size for 64 bit.
2014-05-15 01:13:50 +00:00
Andrew Hsieh
9b5b40b4df Rename user_i387_struct -> user_fpregs_struct in sys/ucontext.h
See 93e1907ae1794068c1018750603c9206cb700d1b

Change-Id: Icb207f4e17cfffdd6d37500656434adf1cc34427
2014-05-15 09:11:11 +08:00
Christopher Ferris
1596b88464 Merge "Increase minimum thread size for 64 bit." 2014-05-15 01:06:25 +00:00
Christopher Ferris
ea5248ee1b Increase minimum thread size for 64 bit.
Bug: 14468519
Change-Id: I642a5515acf5fbed46e77e176f6b5dd3b7c7bd45
2014-05-14 18:02:11 -07:00
Elliott Hughes
71db4f6571 am e05c4ebb: am 4cbb778b: am f280130f: Merge "Remove the unused __system_property_wait."
* commit 'e05c4ebb651dc73ba86ae45242707c285847df2b':
  Remove the unused __system_property_wait.
2014-05-15 00:30:41 +00:00
Christopher Ferris
0799b77011 am d849068a: am cd5b7920: am bc7f8a79: Merge "Do not keep struct state on the stack."
* commit 'd849068a35040083ef56cfe457011bbf3a0d305c':
  Do not keep struct state on the stack.
2014-05-15 00:12:30 +00:00
Elliott Hughes
3e786987b5 Remove the unused __system_property_wait.
This isn't declared in any header file.

Bug: 14970171
Change-Id: Ib9fce61343dfb6b6ccd7e1430e1a6e34e4e869df
2014-05-14 17:02:09 -07:00
Christopher Ferris
8a8b0c9bfc Do not keep struct state on the stack.
This structure is huge (~18000 bytes on arm64) and can blow out
the stack very easily.
Modify the code to allocate these structures instead of leaving them
on the stack.

Bug: 14468519
Change-Id: I774f71235d896d32a14ab1af06f95ca9ef819f52
2014-05-14 16:50:41 -07:00
Elliott Hughes
f693d2916b am c6057a5f: am d60d67db: am aeec2ae7: Merge "Remove the broken pthread deadlock prediction."
* commit 'c6057a5f618cca842432c3a28af1a9293b551aff':
  Remove the broken pthread deadlock prediction.
2014-05-14 19:54:24 +00:00
Sreeram Ramachandran
49ec2a0cdc Merge "Mark sockets on accept()." 2014-05-14 19:40:50 +00:00
Elliott Hughes
07f1ded139 Remove the broken pthread deadlock prediction.
This hasn't built in over one release cycle and no one even noticed.
art does this the right way and other projects should do the same.

Change-Id: I7d1fb84c4080e008f329ee73e209ce85a36e6d55
2014-05-14 11:38:22 -07:00
Sreeram Ramachandran
8f0cd8aa22 Mark sockets on accept().
(cherry picked from commit 58b1f3f6a30a660ad81637c2b50382c3d279243b)

Change-Id: I5d09be413cf720fbed905f96313b007997ada76c
2014-05-14 11:10:22 -07:00
Elliott Hughes
a0d2534ef4 am b270fd33: am 7451897c: am e6c27a7a: Merge "Fix a typo in the big g_ search/replace."
* commit 'b270fd332922b365091f835b1b61ed221a87f102':
  Fix a typo in the big g_ search/replace.
2014-05-14 18:09:56 +00:00
Elliott Hughes
cd46104cf8 Fix a typo in the big g_ search/replace.
Change-Id: I79261de70d225236d0eadff288220258d697437f
2014-05-14 10:58:58 -07:00
Elliott Hughes
73a3760ea8 am b2da973f: am 6eb0fe2b: am 15c13bd6: Merge "Switch to g_ for globals."
* commit 'b2da973fe9e7a1c9e774433eeae86c517321ebdc':
  Switch to g_ for globals.
2014-05-14 17:50:17 +00:00
Elliott Hughes
1728b23965 Switch to g_ for globals.
That's what the Google style guide recommends, and we're starting
to get a mix.

Change-Id: Ib0c53a890bb5deed5c679e887541a715faea91fc
2014-05-14 10:02:03 -07:00
Ross McIlroy
4586f8d3ae am 582cf711: am bc45edaa: am bac79558: Merge "Fix x86_64 user_fpregs_struct to use the same name for the tag word as glibc."
* commit '582cf711309138e4e7e0c46696491028c823834d':
  Fix x86_64 user_fpregs_struct to use the same name for the tag word as glibc.
2014-05-14 14:40:05 +00:00
Ross McIlroy
bac795586b Merge "Fix x86_64 user_fpregs_struct to use the same name for the tag word as glibc." 2014-05-14 14:27:41 +00:00
Ross McIlroy
0c8a5f82e6 Fix x86_64 user_fpregs_struct to use the same name for the tag word as glibc.
Glibc calls the tag pointer in user_fpregs_struct ftw instead of twd.

Change-Id: I4a8dab777fa889de0b9927035cd18557ae6f3263
2014-05-14 13:29:19 +01:00
Sreeram Ramachandran
dedf2922d5 Mark sockets on accept().
Conflicts:
	libc/SYSCALLS.TXT

Change-Id: I5d09be413cf720fbed905f96313b007997ada76c
2014-05-14 04:26:51 -07:00
Paul Jensen
41d9a50371 Add support for deleting per-network DNS resolver caches.
This is required when the possible range of NetIds is large to
prevent netd consuming excessive amounts of memory.
This required replacing the per-cache locks in favor of a single
global lock to prevent accesses to deleted caches.

Change-Id: I99d058bafea5de743e56075dbed74031da4df63f
2014-05-14 04:16:18 -07:00
Calin Juravle
7fbc7481cc am 32cd82f0: am 7c0b313d: am a7318774: Merge "Change wctype_t from int to long."
* commit '32cd82f093184fc3b6b43171f16ed5d74ca02795':
  Change wctype_t from int to long.
2014-05-14 10:47:04 +00:00
Calin Juravle
9d60edbcfe am c16e4332: am d36bbf13: am fd3171b4: Merge "Change wctype_t from enum to int"
* commit 'c16e4332e42ff152c06963c398e9195576d6aae4':
  Change wctype_t from enum to int
2014-05-14 10:47:04 +00:00
Calin Juravle
a731877406 Merge "Change wctype_t from int to long." 2014-05-14 10:33:46 +00:00
Calin Juravle
fd3171b465 Merge "Change wctype_t from enum to int" 2014-05-14 10:33:35 +00:00
Elliott Hughes
8e168d2a01 am 28c9e21f: am 2146f78c: am 3e684183: Merge "Use the NetBSD inet_ntop until the OpenBSD bug is fixed."
* commit '28c9e21fe7bfadf0af5d183d6bcad5bf638de91b':
  Use the NetBSD inet_ntop until the OpenBSD bug is fixed.
2014-05-14 02:33:31 +00:00
Elliott Hughes
5c8c88dd8d Use the NetBSD inet_ntop until the OpenBSD bug is fixed.
Stupidly I found this bug by accident when writing the existing
tests, but I didn't think any real code would hit it. It turns
out that libcore always uses an INET6_ADDRSTRLEN-sized buffer
even when working with AF_INET addresses.

Change-Id: Ieffc8e4bbe9b66b49b033e3e7101c896e097e6f8
2014-05-13 19:17:46 -07:00
Elliott Hughes
d8e8909f95 am 46afef32: am 9b1e2a14: am 3557f2f6: Merge "Fix <sys/endian.h> uint32_t build failures."
* commit '46afef329fee8de35d092e3f1e635d11d6f6e91d':
  Fix <sys/endian.h> uint32_t build failures.
2014-05-14 01:56:31 +00:00
Elliott Hughes
135b103fd9 Fix <sys/endian.h> uint32_t build failures.
Change-Id: I833b51318f0bf7749073859b7ffacc668c27558e
2014-05-13 18:42:12 -07:00
Elliott Hughes
aa8e269d29 am 239347d9: am cb6f6243: am 17f8ef87: Merge "Flesh out <arpa/inet.h>."
* commit '239347d97effbd711f07da75def7620a1557988b':
  Flesh out <arpa/inet.h>.
2014-05-14 01:21:59 +00:00
Elliott Hughes
6033068d17 am 62c24c83: am f984afd0: am 57722375: Merge "We don\'t need two copies of <nsswitch.h>."
* commit '62c24c83538258fa2cd7e31d9b616bbb32d6398f':
  We don't need two copies of <nsswitch.h>.
2014-05-14 01:21:58 +00:00
Elliott Hughes
17f8ef87b5 Merge "Flesh out <arpa/inet.h>." 2014-05-14 01:09:01 +00:00
Elliott Hughes
6a41b0fb0e Flesh out <arpa/inet.h>.
Use the upstream OpenBSD implementations of these functions.

Also ensure we have symbols for htonl, htons, ntohl, and ntohs.
gtest doesn't like us using the macro versions in ASSERT_EQ.

Bug: 14840760
Change-Id: I68720e9aca14838df457d2bb27b999d5818ac2b5
2014-05-13 18:08:29 -07:00
Elliott Hughes
5772237588 Merge "We don't need two copies of <nsswitch.h>." 2014-05-14 01:06:11 +00:00
Elliott Hughes
eed3d0d1f3 We don't need two copies of <nsswitch.h>.
Change-Id: I3f874326d96f41249f5c9b1b3c2885f858589029
2014-05-13 18:05:29 -07:00
Sreeram Ramachandran
47b93faa48 Fix build (take two).
Make sure __netdClientDispatch is defined in the same set of libraries that
refer to it (e.g.: with connect.cpp).

(cherry picked from commit 8205a61248973ac13716ae80e712c80e126b0541)

Change-Id: I86d7bf2df5bde09f75a35b204eac0e1361747e22
2014-05-13 17:48:52 -07:00
Sreeram Ramachandran
8205a61248 Fix build (take two).
Make sure __netdClientDispatch is defined in the same set of libraries that
refer to it (e.g.: with connect.cpp).

Change-Id: I86d7bf2df5bde09f75a35b204eac0e1361747e22
2014-05-13 17:24:03 -07:00
Sreeram Ramachandran
2677d133dd Fix build.
(cherry picked from commit 06e8796ee95793435c194b0a55e26d7b568c7409)

Change-Id: I33293d8bc62cbb22e23a704c4242e7e9d3fce7c5
2014-05-13 16:59:38 -07:00
Sreeram Ramachandran
06e8796ee9 Fix build.
Change-Id: I33293d8bc62cbb22e23a704c4242e7e9d3fce7c5
2014-05-13 16:30:12 -07:00
Sreeram Ramachandran
20f8da95c0 am af36c9ae: am 9b5bc6fd: am 79b56f4b: Merge "Introduce netd_client, a dynamic library that talks to netd."
* commit 'af36c9ae139b08109fa9ffad923b542e3a64f612':
  Introduce netd_client, a dynamic library that talks to netd.
2014-05-13 22:20:38 +00:00
Elliott Hughes
05ba476c11 am 5c0fe1a3: am b00435d1: am 0ccef7ec: Merge "Upgrade to tzdata2014c."
* commit '5c0fe1a39d35886e30792f3b6023bc9799e5ebc2':
  Upgrade to tzdata2014c.
2014-05-13 18:42:26 +00:00
Sreeram Ramachandran
ceb5bd787c Introduce netd_client, a dynamic library that talks to netd.
The library exists outside bionic. It is dynamically loaded, to replace selected
standard socket syscalls with versions that talk to netd.

Change connect() to use the library if available.

(cherry picked from commit 3a6b627a14df8111b03e452f2df4b5f4938e0e49)

Change-Id: Ib6198e19dbc306521a26fcecfdf6e8424d163fc9
2014-05-13 11:30:03 -07:00
Elliott Hughes
a8e0f0e633 am 1d8130e8: am 56b18bb4: am a26dd781: Merge "Add getmntent_r to our collection of <mntent.h> compatibility stubs."
* commit '1d8130e8b30e25ad8e3e33bbd0d08f8e44f73a35':
  Add getmntent_r to our collection of <mntent.h> compatibility stubs.
2014-05-13 18:27:32 +00:00