4834 Commits

Author SHA1 Message Date
Elliott Hughes
c1a6a72560 Remove localtime_tz and strftime_tz.
This also brings our copy of strftime.c much closer to upstream, though
we still have several GNU extensions and hacks to deal with Android32's
broken time_t.

Bug: 15765976

(cherry picked from commit 39d903aea901cd29a4eef3a82c2dbda59b5bc292)

Change-Id: Ie278d3e976b7adc77bad5ce795dd4899cfbf3648
2014-07-25 17:28:52 -07:00
Elliott Hughes
708c112054 Start hiding "private/bionic_time.h".
Bug: 15765976

(cherry picked from commit 905e6d58aaf515bf237e62078f8a321920fe4c6b)

Change-Id: Ic7435308e8b521886f42ac7bf59531924921ea67
2014-07-25 15:24:57 -07:00
Elliott Hughes
b902641d73 Implement twalk(3), add unit tests.
I've also added insque(3) and remque(3) (from NetBSD because the OpenBSD
ones are currently broken for non-circular lists).

I've not added the three hash table functions that should be in this header
because they operate on a single global hash table and thus aren't likely
to be useful.

Bug: https://code.google.com/p/android/issues/detail?id=73719

(cherry picked from commit 3e424d0a241f8ae5194514dabc4ad899f5a5416d)

Change-Id: I5882a6b48c80fea8ac6b9c27e7b9de10b202b4ff
2014-07-24 15:14:06 -07:00
Duane Sand
5ade7e3f6b [MIPS] Drop soft-fp targets
(cherry picked from commit ba23bd0a409bb0e43c57dabee96b2ae52481d5b7)

Change-Id: Ica09192c2760d38ceebc14e23a5d3ba94c20764c
2014-07-24 11:17:55 -07:00
Duane Sand
c86950cb3f [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
Save and restore floating point registers via 64-bit
load/stores when possible.  Use assembler's builtin macro
ops to generate pairs of 32-bit load/stores on Mips I cpus.

Some cpus or FR modes have only 16 even-numbered dp fp regs.
This is exposed by _MIPS_FPSET, defined by existing compilers.

(cherry picked from commit dd37251c473e1483faba0fd5aaf30e7a55582e8a)

Change-Id: Ibd43653701a363a77af85121d3cbd229d132a06a
2014-07-23 21:04:20 -07:00
Christopher Ferris
bc74ecfaf5 HACK: Disable syslog going to android log.
Bug: 14292866

Change-Id: I3adc448dbacfeecd32508ddccf27be3aa653e466
2014-07-23 18:08:09 -07:00
Colin Cross
49fbec6d9a HACK: remove %m support from printf.
The change that added this support causes a cpu hard lock on one
device.  This code clearly isn't at fault, but disabling it to
unblock until we can find a real fix.

Bug: 16484311
Change-Id: I33834dc49d959ae403b10d2c7cad12ae2950f772
2014-07-23 14:56:20 -07:00
Elliott Hughes
4126c12961 Fix belated review comments on syslog change.
Bug: 14292866

(cherry picked from commit afe6360627ef3f0e9bc8f45535fbfae3354f3ae0)

Change-Id: I8e3cc6b37b2539e51a27261ffb5d6e58266ce11d
2014-07-23 13:11:15 -07:00
Elliott Hughes
2aa142ffb2 Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
(cherry picked from commit 5d2f86f36341b76f84770d8966d7686a59555ae9)

Change-Id: Iddf22c8d9ff7a4d1205d37bb58c6235af681d795
2014-07-23 11:36:21 -07:00
Elliott Hughes
4ac83fad3c Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
(cherry picked from commit 3758a244cf758046b40f630a11aed41e68c9cfc2)

Change-Id: I6ffb83b4a7b7746b095205c664cf025a72ead179
2014-07-23 09:39:40 -07:00
Elliott Hughes
3ff6d95a9b Remove the unused swab.S.
(cherry picked from commit ca70453e84a88405d30f64d603f9a9b5f53f1243)

Change-Id: I4dc13de0bdeb7abb3bd47b0397546ad7d1f11d49
2014-07-22 20:43:55 -07:00
Duane Sand
5d7775c6df [MIPS] Allow united mipsel and mips64el gcc toolchain
Explicitly tell 32-bit links that they are doing 32-bit links.
This is needed when using united 32-bit and 64-bit toolchains.
This is harmless when using older separate 32-only toolchains.

(cherry picked from commit f541650828f75b3dab22c9c0caab845be78b80fc)

Change-Id: I8df0ee7d36c6409458e18bea4e0e8b132edf77dc
2014-07-22 19:41:49 -07:00
Sreeram Ramachandran
2582f02a01 Cleanup: Delete dead code.
Bug: 15413389
Change-Id: I315468832ef18ffc84174e54774ab63b86d284dc
2014-07-22 11:24:17 -07:00
Elliott Hughes
6209c81d40 Use upstream OpenBSD's arc4random.
The getentropy_linux.c is lightly modified to build on Android, but we're now
completely in sync with upstream OpenBSD's arc4random implementation.

(cherry picked from commit 2b67d7dee09852789d9ac7d8972ed6cdb2c18430)

Change-Id: Icc939b5fa2fcac3e15ff93735d2d34f67e9bb149
2014-07-21 19:17:15 -07:00
Elliott Hughes
b76613627d Rewrite syslog(3) to use Android logging.
Since we don't have syslogd on Android and you can't run one on a non-rooted
device, it's more useful if syslog output just goes to the regular Android
logging system.

Bug: 14292866

(cherry picked from commit 3ad8ecb64e9dd5614169232b84a93eb3b8aa32d7)

Change-Id: I3038855ca4f22532bf6d2c45d3f8028b866975f9
2014-07-21 18:55:04 -07:00
Hans Boehm
ed68221a82 Define atomic_charN_t only if charN_t is supported.
Some platform code is apparently compiled with switches that do
not support char16_t and char32_t.  This caused stdatomic.h to fail
to compile.  This CL makes stdatomic.h usable in those environments.

(cherry picked from commit 8b002362d996859ebfc8588d6859a9a79203dc27)
Change-Id: Ie5a17f20b8b545c97128d00605b4eabd2a6bfe3e
2014-07-18 17:53:01 -07:00
Elliott Hughes
fbd0081923 Merge "Clean up some misinformation around prctl." into lmp-dev 2014-07-18 22:16:50 +00:00
Elliott Hughes
de24f1ac00 Clean up some misinformation around prctl.
prctl shouldn't be in <unistd.h>.

(cherry picked from commit 9c07aee83b4ebbf2dba8e23d6896683187b9724e)

Change-Id: I70cda886fbf4d58d82dc70adaa981506ebff9949
2014-07-18 16:54:28 -07:00
Elliott Hughes
291da8d353 Remove SIOCKILLADDR from <sys/socket.h>.
(cherry picked from commit 8a3d1ca183e19d849728318fe8b0d36856fa000f)

Change-Id: Idb5cc4cff3ece7fa8740db12a19438d1a1c9a6a8
2014-07-18 16:53:23 -07:00
Elliott Hughes
b5bef263b3 Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
(cherry picked from commit 9f165d24f00c3bd4337ef719105bfb36bfa00a8b)

Change-Id: I009d3742cefbf36115f09824f267a0265ae215bf
2014-07-18 16:52:24 -07:00
Christopher Ferris
e8bc581333 Use the mmap/munmap for allocation routines.
To avoid any issues calling malloc related routines, use mmap/munmap.
Specifically, this avoids any problems when this is compiled into a
malloc debug shared library.

(cherry picked from commit 6425327c3278137d153b8a7505f97d2f5f058d49)

Change-Id: If43d12b2c588c9abcbfbbd2c53702cdac7695a73
2014-07-18 15:23:32 -07:00
Elliott Hughes
b46696858b Fix private/bionic_name_mem.h build breakage.
(cherry picked from commit 2f9c6e38b8f59ea6e53e95e062e04dc987ac67f3)

Change-Id: Ia8e96da98802d312011df866ac1baaa48f97811c
2014-07-17 15:15:44 -07:00
Elliott Hughes
d648f557f1 Remove non-standard prctl constants from <sys/prctl.h>.
Also remove __bionic_name_mem which has exactly one caller, and is only
ever expected to be used in this one place.

(cherry picked from commit d7453860a6b06e7d4a960c20792ce6f0b6cc5f3a)

Change-Id: I26b7638609e9d4eaf4f21ae29721ea27d4176702
2014-07-17 15:15:37 -07:00
Christopher Ferris
a694517909 Merge "Add gen syscalls step to instructions." into lmp-dev 2014-07-17 21:15:46 +00:00
Christopher Ferris
013c9b8035 Add gen syscalls step to instructions.
Also, fix incorrect path to some tools.

(cherry picked from commit ea271fdf2671707ed29bc6b564f544d2489115ff)

Change-Id: Ie93cbc84b9a46d622b0b462a33bed0ee129992cb
2014-07-18 16:56:33 -07:00
Elliott Hughes
9a7fdb2dae ptrace(3) should be varargs.
Bug: 16352070

(cherry picked from commit 98b088dce70a2625d5cfa1872e427af5f06bfd99)

Change-Id: I6193ef44df9a5668020916eaca90b47fc4c8ab77
2014-07-16 16:59:31 -07:00
Elliott Hughes
3002131da3 Use VDSO for clock_gettime(2) and gettimeofday(2).
Bug: 15387103

(cherry picked from commit 625993dfbb085a3cde7492eda8ec1cdc1ee39a78)

Change-Id: I0e156d7049ba1495902259071a96936592e74025
2014-07-16 15:15:53 -07:00
Dan Albert
a446505874 Merge "Remove isascii_l(3)." into lmp-dev 2014-07-16 13:12:22 +00:00
Elliott Hughes
97ba2a5cc4 Regenerate the syscalls list after the uapi update.
(cherry picked from commit 3fa60e10bcbfb8c7d94aeefc427640371683c920)

Change-Id: Id545a5b0b0953967effd819177f0dadb134f2011
2014-07-15 19:09:12 -07:00
Dan Albert
da8accfefe Remove isascii_l(3).
Had intended to remove this one before submitting the locale changes,
but forgot. It isn't a standard ctype function, so we don't need it.

Change-Id: Ie9c09fa6c61b1101b5992fa06da30e373a0c6bf7
2014-07-15 16:49:30 -07:00
Christopher Ferris
73c963e4c5 Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
There were two bugs here:

- For 64 bit values, this did not properly round up.
- The macro rounded to the power of 2 less than value, not to the power
  of 2 greater than value.

(cherry picked from commit 27047faf283cb9d3d025a984cd9934fd2c404407)

Change-Id: Idf1ec67854e1eb423704e599ae1c6b674d36618d
2014-07-15 13:23:06 -07:00
Elliott Hughes
ca276c40df Fix visibility for a bunch more symbols.
Bug: 11156955
Bug: 15291317

(cherry picked from commit a167eef5482d4a89d4277ec74f57adbe38052813)

Change-Id: Ib038ad34ef59631f7b4ed6dff2b7956001b8b159
2014-07-14 18:59:51 -07:00
Elliott Hughes
99ae0983c0 Implement rand/srand in terms of random/srandom.
Code developed for glibc or older versions of bionic might expect more
randomness than the BSD implementation provides.

Bug: 15829381

(cherry picked from commit 76c241b091b4d9d9a9237d40e814e52ce2917f47)

Change-Id: If721b3f16efdb21cb67df5ec5034c0ba905bd029
2014-07-14 14:06:11 -07:00
Elliott Hughes
caaf71ebb3 Sync upstream-openbsd.
(cherry picked from commit 4f0b67a8dbf0e1d8b1dae42358553fb8d14456d4)

Change-Id: I8753959853312ab978bc4eb1bbbcdc7d1b007b95
2014-07-14 13:59:03 -07:00
Dmitriy Ivanov
38778e3b6c Upstream atexit
Change-Id: Ia454a2181b5058ed9783dc02b6b1805d0e4d2715
(cherry picked from commit 53c3c271dc9927dd280981fc23409af60f460007)
2014-07-14 13:29:34 -07:00
Elliott Hughes
f6968e3c08 Define SIOCKILLADDR which isn't in the common kernel uapi headers.
(cherry picked from commit 2ba2888cac2f04daff7bbaf032d0df7a095b00c3)

Change-Id: I3845871bb44dae94d9a0428af0f562ddfb8bd660
2014-07-11 22:37:13 -07:00
Elliott Hughes
b962ab81fc am 57a5b338: Merge "Define three prctl constants that went missing from uapi."
* commit '57a5b3380a8834ecb4a32d01433a3127454443d7':
  Define three prctl constants that went missing from uapi.
2014-07-12 03:10:36 +00:00
Elliott Hughes
0594b9ddde am b8e82b5e: Merge "EM_ARM and EM_AARCH64 are now in the uapi header."
* commit 'b8e82b5e729a1f6e30ee9593b2dbcbb3ad623874':
  EM_ARM and EM_AARCH64 are now in the uapi header.
2014-07-12 01:41:51 +00:00
Christopher Ferris
efdf7862be am 385bb1ed: Merge "Add optimized memchr implementation from newlib"
* commit '385bb1ededa734e88bafb8aaf817e9a984bf0d18':
  Add optimized memchr implementation from newlib
2014-07-12 01:41:51 +00:00
Christopher Ferris
55230dd048 am 96502e27: Merge "Make jemalloc the default choice."
* commit '96502e273eea49c95899af57fa578c8055b9618c':
  Make jemalloc the default choice.
2014-07-12 01:41:51 +00:00
Christopher Ferris
18a25078f0 am c6bc0017: Merge "Update kernel headers to v3.14."
* commit 'c6bc001776931fd1c8583df2b8948dcb8bf61007':
  Update kernel headers to v3.14.
2014-07-12 01:41:50 +00:00
Elliott Hughes
ce1422b985 am 040e1187: Merge "Enable building libc with clang."
* commit '040e11877d19f2fdd7a9c730d33056e88f43a760':
  Enable building libc with clang.
2014-07-12 01:41:50 +00:00
Dan Albert
c0afc23e26 am 37f09d6d: Merge "Revert "Revert "Add locale aware APIs."""
* commit '37f09d6d2ea329984a3182b99a38f170dc86661d':
  Revert "Revert "Add locale aware APIs.""
2014-07-12 01:41:50 +00:00
Elliott Hughes
d19f2d859f am 76df69d1: Merge "The err family allow null format strings."
* commit '76df69d1f5cbbc8a2c1e899bc1ad5ada8b083e1e':
  The err family allow null format strings.
2014-07-12 01:41:49 +00:00
Elliott Hughes
35805377f9 am 9b491470: Merge "Slim down static binaries by avoiding stdio."
* commit '9b491470ac65a11775e52631ef5e655af9eb2a85':
  Slim down static binaries by avoiding stdio.
2014-07-12 01:41:49 +00:00
Elliott Hughes
7d9f1cc55c am f0f8cd1f: Merge "Remove the global lock around thread stack creation."
* commit 'f0f8cd1ff3e7f7124cab8a687370b51df4ec93de':
  Remove the global lock around thread stack creation.
2014-07-12 01:41:48 +00:00
Elliott Hughes
12ce91157a am cd23370c: Merge "Remove the obsolete _thread_created_hook."
* commit 'cd23370ca737dffc49166f8aacd19a025e72266f':
  Remove the obsolete _thread_created_hook.
2014-07-12 01:41:48 +00:00
Calin Juravle
9712d913eb am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '02459d34c9b82741155fbbb32850a7987eb7abaf':
  Move __cmsg_nxthdr to its proper file.
2014-07-12 01:41:48 +00:00
Calin Juravle
cd061f6e43 am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit '8a71a745cb2a1eb573c6dc41e30c2f94a3a99db7':
  Removed obsolete symbol cmsg_nxthdr.
2014-07-12 01:41:48 +00:00
Christopher Ferris
4306b0f82b am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit '25fba981a17c51df6cf88d5ace7ffe3c5a5766e4':
  Do not include libc_common in malloc debug code.
2014-07-12 01:41:47 +00:00