Commit Graph

6909 Commits

Author SHA1 Message Date
Calin Juravle
d9ba757ef4 Merge "Sync up nameser with upstream(2014.03.05)" 2014-03-07 11:45:58 +00:00
Elliott Hughes
d40eb1594d Merge "Fix some pthread symbols build as C++ symbol under x64 lunch." 2014-03-07 01:03:25 +00:00
Elliott Hughes
087dbc6bb7 Merge "Bring the generate-NOTICE script up to date." 2014-03-06 23:12:15 +00:00
Elliott Hughes
22a0d6fcdc Bring the generate-NOTICE script up to date.
Change-Id: I63981a2f3cb0a4d7ee7e1a2b4ce00f77898ac25b
2014-03-06 15:10:22 -08:00
Elliott Hughes
dec5bacf14 Merge "Update the NOTICE files." 2014-03-06 23:07:08 +00:00
Elliott Hughes
4e54b114f9 Update the NOTICE files.
Change-Id: Ie72a01cddd5b813393656f603689e497b0f88ddd
2014-03-06 15:06:11 -08:00
Elliott Hughes
e7ea9363cb Merge "Add ARMv8 optimized string handling functions based on cortex-strings" 2014-03-06 23:02:11 +00:00
Bernhard Rosenkraenzer
7e4fa56099 Add ARMv8 optimized string handling functions based on cortex-strings
This adds ARMv8 optimized string handling functions to Bionic.
The implementations live in a generic/ directory because there will
likely be more CPU specific versions (e.g. Cortex-A53 vs. Cortex-A57)
later.

These implementations are 50%+ faster on current v8 models.

Change-Id: If3adc54a284d9519459b0d4d4390f0cd6ded8786
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-03-06 14:59:51 -08:00
Calin Juravle
85c5202a64 Fix broken pointer overflow check ns_name_unpack()
Many compilers may optimize away the overflow check `msg + l < msg',
where `msg' is a pointer and `l' is an integer, because pointer
overflow is undefined behavior in C.

Use a safe precondition test `l >= eom - msg' instead.
Bug: 13219633

Change-Id: I3fca2125834073cc36d7e9c4e586e97842265a59
2014-03-06 18:39:29 +00:00
Calin Juravle
fcb502e3ec Sync up nameser with upstream(2014.03.05)
Bug: 13219633

Change-Id: I8ee4ddf270710e9eea415fa3db984af7719a8dd4
2014-03-06 18:36:43 +00:00
Mark Salyzyn
68a651e716 Merge "libc: libc_logging 64bit compile issue" 2014-03-06 01:01:18 +00:00
Mark Salyzyn
9fc76027f3 libc: libc_logging 64bit compile issue
- user space logger wire format for time

Change-Id: I4840653e3a6ae151a02584311d1227d2fe536d0f
2014-03-05 16:59:39 -08:00
Narayan Kamath
48d145c1ce Merge "Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC." 2014-03-05 13:19:21 +00:00
Narayan Kamath
252ee1e112 Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC.
No code is using this definition.

Change-Id: I188db63f38d62baf1cb57d0a36fcda540ad98492
2014-03-05 13:19:10 +00:00
Halton Huo
f0870c3bfe Fix some pthread symbols build as C++ symbol under x64 lunch.
Functions protected with !defined(__LP64__) will be get build as C++
symbols for X64 build. This is not the desired work. So protect the
implementation with !defined(__LP64__) as well.

Change-Id: I4ef50ec36e46289ab308063e24f6c5ac61a6ca8d
2014-03-05 16:34:20 +08:00
Elliott Hughes
bef5016491 Merge "Remove dead NULL checks from pthread code." 2014-03-04 19:04:19 +00:00
Elliott Hughes
39b644a0e2 Remove dead NULL checks from pthread code.
GCC is removing these checks anyway because it knows the arguments
must be non-null, so leaving this code around is just confusing.

We know from experience that people were shipping code with locking
bugs because they weren't checking for error returns. Failing hard
like glibc does seems the better choice. (And it's what the checked
in code was already doing; this patch doesn't change that. It just
makes it more obvious that that's what's going on.)

Change-Id: I167c6d7c0a296822baf0cb9b43b97821eba7ab35
2014-03-04 10:55:39 -08:00
Elliott Hughes
a0bf9bdea2 Merge "Implement POSIX pthread_mutex_timedlock." 2014-03-04 18:39:08 +00:00
Elliott Hughes
0e714a5b41 Implement POSIX pthread_mutex_timedlock.
This replaces the non-standard pthread_mutex_lock_timeout_np, which we have
to keep around on LP32 for binary compatibility.

Change-Id: I098dc7cd38369f0c1bec1fac35687fbd27392e00
2014-03-04 10:27:58 -08:00
Calin Juravle
8e541b1223 Merge "Moved nameser.h and namser_compat.h to public include dir" 2014-03-04 17:53:19 +00:00
Calin Juravle
569fb9887d Moved nameser.h and namser_compat.h to public include dir
This is part of the upstream sync (Net/Open/Free BSDs expose the
nameser.h in their public headers).

Change-Id: Ib063d4e50586748cc70201a8296cd90d2e48bbcf
2014-03-04 15:07:07 +00:00
Calin Juravle
4a46a68942 Merge "Moved private dns header to their own dir." 2014-03-04 14:25:51 +00:00
Calin Juravle
9f2d1bcd17 Merge "Renamed the misleading libc/netbsd directory to libc/dns." 2014-03-04 14:25:30 +00:00
Narayan Kamath
caaae7f2e9 Merge "Implement pthread_condattr_{get,set}clock." 2014-03-04 13:37:07 +00:00
Narayan Kamath
51e6cb33e3 Implement pthread_condattr_{get,set}clock.
We only support CLOCK_REALTIME and CLOCK_MONOTONIC for now,
so we us a single bit from pthread_cond_t->value to denote
the clock type. Note that this reduces the width of the counter
to 30 bits, but this should be large enough for all practical
purposes.

bug: 13232338

Change-Id: I857e7da64b3ecbb23eeac7c9f3fbd460f60231bd
2014-03-04 11:17:13 +00:00
Elliott Hughes
2c7c79e6e5 Merge "Switch to upstream alarm(3)." 2014-03-04 00:58:53 +00:00
Elliott Hughes
aedb00d04e Switch to upstream alarm(3).
The only way the setitimer call can fail is if the unsigned number of seconds is
too large to fit in the kernel's signed number of seconds. If you schedule a
68-year alarm, glibc will fail by returning 0 and BSD will fail by returning -1.

Change-Id: Ic3721b01428f5402d99f31fd7f2ba2cc58805607
2014-03-04 00:58:31 +00:00
Mark Salyzyn
f33df6a662 Merge "libc: Make calls to new user-space logger (revisit)" 2014-03-03 21:05:19 +00:00
Calin Juravle
cecc036970 Moved private dns header to their own dir.
Bug: 13219633
Change-Id: I3435ef7564b9ad3c7b54188a0809440993b36c9e
2014-03-03 20:40:41 +00:00
Mark Salyzyn
f38292862b libc: Make calls to new user-space logger (revisit)
* TARGET_USES_LOGD is true or false, yes is not valid
* was supposed to be in the libc_bionic definition

Change-Id: I7f15d0fe61205641f7310ba9762df885e6c959d0
2014-03-03 12:30:24 -08:00
Elliott Hughes
dfeb42ede6 Merge "If the kernel doesn't have MADV_MERGEABLE, stop asking for it." 2014-03-03 20:26:12 +00:00
Elliott Hughes
9bd9b7dd20 If the kernel doesn't have MADV_MERGEABLE, stop asking for it.
Note that a dynamically-linked binary will still probably see two attempts ---
one by the dynamic linker (which will set its copy of the flag so it won't try
again) and then one by the executable itself (which gets a new uninitialized
copy of the flag).

Change-Id: Id6b7e47780f0f24d2ca0384a75373f4824fa8f12
2014-03-03 11:54:21 -08:00
Elliott Hughes
15e71cd760 Merge "Remove deprecated and unused constants from <sys/klog.h>." 2014-03-03 19:01:50 +00:00
Elliott Hughes
e4ab19c67d Remove deprecated and unused constants from <sys/klog.h>.
Change-Id: I23d54b5eaf918859480f927534a3f9e3af602311
2014-03-03 10:57:28 -08:00
Elliott Hughes
ddad384dbf Merge "Fix build." 2014-03-01 01:59:55 +00:00
Elliott Hughes
a8b1eb3fcf Fix build.
Change-Id: I71cde79263d5f5a8382865b8151f65c5c05ea17b
2014-02-28 17:59:29 -08:00
Elliott Hughes
2ec592c338 Merge "Add recvmmsg and sendmmsg syscalls." 2014-03-01 01:14:23 +00:00
Elliott Hughes
ddc8cc7a68 Merge "Add getprogname/setprogname for BSD compatibility." 2014-03-01 01:12:12 +00:00
Elliott Hughes
692207eb45 Add getprogname/setprogname for BSD compatibility.
This is one less change we have to make when porting BSD code.

Bug: https://code.google.com/p/android/issues/detail?id=34898
Change-Id: If9b1a8d16996c7a19abcce8d3a456afc3e105a41
2014-02-28 16:23:27 -08:00
Calin Juravle
d51db86aaf Merge "Fix locatime.c indentation after sync" 2014-02-28 18:02:22 +00:00
Calin Juravle
4ab29a3e4a Merge "Update tzcode to 2013i" 2014-02-28 17:40:09 +00:00
Calin Juravle
d892892e8e Fix locatime.c indentation after sync
Bug: 12246757
Change-Id: I8186e75f4899161af48cbf66e8f907dac0a326a2
2014-02-28 17:15:00 +00:00
Calin Juravle
bd33537fde Renamed the misleading libc/netbsd directory to libc/dns.
Bug: 13219633
Change-Id: Ide43add0b90b3081cc709a22d1ff1f59d65f1104
2014-02-28 16:31:04 +00:00
Elliott Hughes
e9db4a976f Merge "Vastly reduce the number of read(2)s done in tzload." 2014-02-28 16:23:40 +00:00
Calin Juravle
627d37cd1f Update tzcode to 2013i
Bug: 12246757
Change-Id: I3d5d2318155b1f54ef80afd58b1e5ca9a6d7018e
2014-02-28 14:38:14 +00:00
Elliott Hughes
fd3a9fb0c3 Vastly reduce the number of read(2)s done in tzload.
This costs us about 1000 fewer syscalls, which makes "adb shell strace date"
a lot more readable (which is the reason I've been meaning to fix this for a
long time now), but also actually saves a measurable amount of time.

Longer-term we should try to keep the tzdata mmap(2)ed in like libcore
does.

Change-Id: I1dd9c81968a13d3a6a55ba17f8a7d5c1f38cd103
2014-02-27 18:18:25 -08:00
Elliott Hughes
e334540516 Merge "Fix a leak on error in tzload." 2014-02-28 02:16:40 +00:00
Elliott Hughes
3073f90b17 Fix a leak on error in tzload.
Change-Id: Ib5d9aaa7a618e478ce8e5e82f967cf535bb1a5a3
2014-02-27 17:04:38 -08:00
Guillaume Ranquet
6ff0c75c83 Add recvmmsg and sendmmsg syscalls.
Also add the corresponding constant, struct, and function declarations
to <sys/socket.h>, and perfunctory tests so we know that the symbols
actually exist.

Signed-off-by: Guillaume Ranquet <guillaumex.ranquet@intel.com>
Change-Id: Ib0d854239d3716be90ad70973c579aff4895a4f7
2014-02-27 14:29:01 -08:00
Calin Juravle
ad2cfe2f23 Merge "Fix x86_64 build" 2014-02-27 21:31:13 +00:00