Compare commits

..

10746 Commits

Author SHA1 Message Date
Elliott Hughes
195b85a80f Merge "Defend against -fstack-protector in libc startup." 2016-01-08 18:54:01 +00:00
Dimitry Ivanov
2afe5af77f Merge "Move __aeabi* symbols to LIBC_N version" 2016-01-08 18:50:13 +00:00
Dimitry Ivanov
6d142bcf34 Move __aeabi* symbols to LIBC_N version
We had these symbols incorrectly versioned as LIBC_PRIVATE
in M release. This change moves __aeabi* symbols from LIBC
to LIBC_N and adds __gnu_Unwind_Find_exidx to the list

Bug: https://github.com/android-ndk/ndk/issues/1
Change-Id: I0b353012adeacb00ae29ea10c63b9d1cf1cadbe7
2016-01-08 10:13:16 -08:00
Elliott Hughes
42d949ff9d Defend against -fstack-protector in libc startup.
Exactly which functions get a stack protector is up to the compiler, so
let's separate the code that sets up the environment stack protection
requires and explicitly build it with -fno-stack-protector.

Bug: http://b/26276517
Change-Id: I8719e23ead1f1e81715c32c1335da868f68369b5
2016-01-06 20:06:08 -08:00
Josh Gao
988e71b2b2 Merge "Kill BOARD_MALLOC_ALIGNMENT." 2016-01-06 22:49:30 +00:00
Josh Gao
63a42070fc Kill BOARD_MALLOC_ALIGNMENT.
Bug: http://b/26403338
Change-Id: Iba4006277fdb7c7ca60542c517634ae86c847b4f
2016-01-06 14:30:26 -08:00
Josh Gao
e1f8c66d0b Merge "Replace MALLOC_IMPL with MALLOC_SVELTE." 2016-01-06 20:08:13 +00:00
Elliott Hughes
32388ba4dc Merge "Temporary hack to avoid stack protector crashes." 2016-01-06 19:52:43 +00:00
Tom Cherry
9353089262 Merge "Revert "system_properties.cpp: special case ro.* properties"" 2016-01-06 19:16:31 +00:00
Tom Cherry
e97ce31fe7 Revert "system_properties.cpp: special case ro.* properties"
This reverts commit c5fd81ab2524a06be907d9c5234e79346bbbbd7c.

Bug: 26416032

Change-Id: Id2d6761fdf55efa28c0b08b597daaa5cd381d758
2016-01-06 19:13:54 +00:00
Elliott Hughes
2489161ce5 Temporary hack to avoid stack protector crashes.
It'll take me a while to refactor things cleanly, but if we just want
something that boots for testing...

Bug: http://b/26276517
Change-Id: I24729d3dc546e36e0eff383f0d1d05c3aa1f2e0b
2016-01-06 11:12:06 -08:00
Elliott Hughes
1464f6d8d9 Merge "Remove mktime_tz." 2016-01-06 19:02:19 +00:00
Dimitry Ivanov
4664c14fa4 Merge "Temporary move __udivdi3 back to LIBC for x86" 2016-01-06 18:37:19 +00:00
Dimitry Ivanov
bc02fb964a Temporary move __udivdi3 back to LIBC for x86
Bug: http://b/26289334
Bug: http://b/26413821
Change-Id: Ifb0eb6f16aca54cb4a9184a6394992ee57dd3408
2016-01-06 18:36:40 +00:00
Elliott Hughes
76dfa6e351 Remove mktime_tz.
Bug: http://b/15765976
Change-Id: Ifc8cd19ae621e611d66173ae927ef9a0445965c1
2016-01-06 09:15:02 -08:00
Dimitry Ivanov
74d7aa1c34 Merge "Fix gcc+arm builds" 2016-01-06 04:43:26 +00:00
Dimitry Ivanov
6f72fdede8 Fix gcc+arm builds
gcc requires unique names of symbols for .symver

Bug: http://b/26391427
Change-Id: I6392e34a45a37245fd4e53fb54243be73f443313
2016-01-05 20:41:06 -08:00
Dimitry Ivanov
52fd4ca0a0 Merge "Deprecate bzero" 2016-01-06 02:33:41 +00:00
Dimitry Ivanov
609156e266 Merge "Export public __aeabi* symbols as LIBC_PRIVATE" 2016-01-06 02:19:27 +00:00
Dimitry Ivanov
d90d067312 Export public __aeabi* symbols as LIBC_PRIVATE
But keep LIBC as default version for them

Bug: http://b/26391427
Bug: http://b/26410625
Change-Id: I819e354bbba482d1f983d9be15c23fcce10e5dd9
2016-01-05 18:18:33 -08:00
Elliott Hughes
031dfe198b Merge "Fix a broken link in a comment." 2016-01-06 01:27:09 +00:00
Elliott Hughes
7d27b68ef4 Merge "Tidy up KernelArgumentBlock::getauxval." 2016-01-06 01:24:37 +00:00
Dimitry Ivanov
6134ed8b8f Deprecate bzero
bzero is hashdefined to memset in strings.h and it
was removed from POSIX 2008.

Bug: http://b/26407170
Change-Id: Ia6d54f0e314dc7f5f3fbad0e9b00344f49f77d43
2016-01-05 17:06:45 -08:00
Nick Kralevich
ffa54cd7ba Merge "system_properties.cpp: special case ro.* properties" 2016-01-06 00:43:48 +00:00
Elliott Hughes
40c2bf6cf6 Fix a broken link in a comment.
Bug: https://code.google.com/p/android/issues/detail?id=197784
Change-Id: I2f9e5bc2dd2b8a6992c7c55bc856e4a323c7c8a8
2016-01-05 16:33:33 -08:00
Nick Kralevich
c5fd81ab25 system_properties.cpp: special case ro.* properties
Currently, reads of ro.* properties are treated differently than
writes of ro.* properties. When writing an ro.* property, we ignore
the "ro." portion of the property, and base the security decision
on the label of the remaining portion.

See e7a9e52740/init/property_service.cpp
line 120-126

For example, for writing, the label associated with
"ro.build.fingerprint" comes from the /property_contexts file
entry:

  # ro.build.fingerprint is either set in /system/build.prop, or is
  # set at runtime by system_server.
  build.fingerprint       u:object_r:fingerprint_prop:s0

However, we fail to follow this same special case when sorting
properties into files. Instead, ro.build.fingerprint is assigned
u:object_r:default_prop:s0 instead of u:object_r:fingerprint_prop:s0

Ignore the "ro." portion when sorting properties into files.
This will make reads and writes of properties use the same label.

Bug: 21852512
Change-Id: Ie88ffc6b78b31fc8ddf370ae27c218546fb25a83
2016-01-05 16:30:17 -08:00
Elliott Hughes
63fbb233cb Tidy up KernelArgumentBlock::getauxval.
Correct the comment, and remove the unused functionality. getauxval(3) does
now set errno to let you know it failed to find anything, but since none of
this function's callers care anyway it seems safer to leave errno untouched
until we actually have a demonstrated need for it.

Bug: https://code.google.com/p/android/issues/detail?id=198111
Change-Id: I232a42dc5a02c8faab94c7d69bef610408276c23
2016-01-05 16:29:33 -08:00
Dan Willemsen
507d6f2a51 Merge "libc: Update Android.bp with recent changes" 2016-01-05 23:14:43 +00:00
Dan Willemsen
9b59acc9c7 libc: Update Android.bp with recent changes
Change-Id: I54047df9db95169452bbac6d52c75161d2f3bb64
2016-01-05 14:32:54 -08:00
Dimitry Ivanov
e647db7485 Merge "Move __aeabi_ which are not in libgcc.a to LIBC" 2016-01-05 22:07:02 +00:00
Dimitry Ivanov
bb5730ecdb Move __aeabi_ which are not in libgcc.a to LIBC
The following arm symbols should be exported by libc.so:
    __aeabi_atexit; # arm
    __aeabi_memclr; # arm
    __aeabi_memclr4; # arm
    __aeabi_memclr8; # arm
    __aeabi_memcpy; # arm
    __aeabi_memcpy4; # arm
    __aeabi_memcpy8; # arm
    __aeabi_memmove; # arm
    __aeabi_memmove4; # arm
    __aeabi_memmove8; # arm
    __aeabi_memset; # arm
    __aeabi_memset4; # arm
    __aeabi_memset8; # arm

Bug: https://github.com/android-ndk/ndk/issues/1
Change-Id: I542d1ad023b8aece5dc05a28a9ca549cb51455b4
2016-01-05 13:59:20 -08:00
Josh Gao
09f4651c0e Replace MALLOC_IMPL with MALLOC_SVELTE.
Bug: http://b/26390299
Change-Id: I665f64bff4d598607e1eb7c4078819fe1d400feb
2016-01-05 11:45:45 -08:00
Elliott Hughes
c6c3b47be2 Merge "Clarify which linker we are." 2016-01-05 19:38:47 +00:00
Elliott Hughes
116b5698d4 Clarify which linker we are.
Also, we're not a debugger.

Also include LD_LIBRARY_PATH and LD_PRELOAD because they would have helped
diagnose a recent issue.

Change-Id: I7237a7236b7140ab49483c02efa705317d07bd3f
2016-01-05 11:06:50 -08:00
Dimitry Ivanov
ff164ef661 Merge "Temporary apply LIBC version to __pthread_gettid" 2016-01-05 08:22:24 +00:00
Dimitry Ivanov
0ef1d121b5 Temporary apply LIBC version to __pthread_gettid
This is workaround for http://b/26391427

Bug: http://b/26391427
Change-Id: Ibf5c611cf4c04dfa595644225e6d9503089a18da
2016-01-05 00:19:13 -08:00
Dimitry Ivanov
c1113a3fc7 Merge "Revert "Temporary apply LIBC version to __pthread_gettid"" 2016-01-05 08:04:17 +00:00
Dimitry Ivanov
c8bb96a163 Revert "Temporary apply LIBC version to __pthread_gettid"
This reverts commit eb90e91cb5872f6aac7008b0c83e103d396be196.

Change-Id: I63450087b6d3c23218b77d5eee37965f254a82d6
2016-01-05 08:03:56 +00:00
Dimitry Ivanov
56ecf28014 Merge "Temporary apply LIBC version to __pthread_gettid" 2016-01-05 07:02:15 +00:00
Dimitry Ivanov
eb90e91cb5 Temporary apply LIBC version to __pthread_gettid
This is workaround for http://b/26391427

Bug: http://b/26391427
Change-Id: I4ccc56e8b1bd2597f267df9706a33bb635abcfcb
2016-01-04 22:36:18 -08:00
Dimitry Ivanov
04673ee997 Merge changes I4fc241e6,Idca71396
* changes:
  Move __system_property* to LIBC_PRIVATE for lp64 libc
  Move ndk-cruft symbols to LIBC_PRIVATE
2016-01-04 22:52:21 +00:00
Dimitry Ivanov
ff14fb5a1f Move __system_property* to LIBC_PRIVATE for lp64 libc
Bug: http://b/26367254
Change-Id: I4fc241e69444a4b5641dfdf09576fe3ce5c1169e
2016-01-04 14:39:42 -08:00
Dimitry Ivanov
eac1d371f6 Move ndk-cruft symbols to LIBC_PRIVATE
Bug: http://b/26385283
Change-Id: Idca71396f9de4141eefc4e1851ba92ebff1ac792
2016-01-04 13:48:47 -08:00
Elliott Hughes
e13434f9da Merge "Revert "Revert "Implement getifaddrs(3)/freeifaddrs(3).""" 2016-01-04 21:03:48 +00:00
Elliott Hughes
9cddb482b4 Revert "Revert "Implement getifaddrs(3)/freeifaddrs(3).""
This reverts commit 76814a8250fd5e1502909ef5e10e4d166cc96c0e.

This differs from the original in fixing the GCC -Werror build:

  bionic/libc/bionic/ifaddrs.cpp: In function 'void __handle_netlink_response(ifaddrs**, nlmsghdr*)':
  bionic/libc/bionic/ifaddrs.cpp:113:62: error: use of old-style cast [-Werror=old-style-cast]
       ifinfomsg* ifi = reinterpret_cast<ifinfomsg*>(NLMSG_DATA(hdr));

This appears to be a GCC bug; the GCC command-line correctly uses -isystem,
and manually adding #pragma GCC system_header doesn't help. So just turn the
warning off for GCC for now. We won't need to worry about building with GCC
soon anyway.

Bug: http://b/26238832
Change-Id: I01615bd335edf11baf487b1c83a9157cd780f4a1
2016-01-04 13:00:39 -08:00
Dimitry Ivanov
2fed6aa9f0 Merge changes Ic66f6519,Ic16acea5
* changes:
  Make some of unwanted symbols LIBC_PRIVATE
  Make symbols exported via libgcc.a LIBC_PRIVATE
2016-01-04 18:55:42 +00:00
Nick Kralevich
fa8b9312d9 Merge "Add tests for /proc/self/fd and /proc/self/task/TID/fd access" 2015-12-24 04:02:47 +00:00
Nick Kralevich
bd4d45d55b Add tests for /proc/self/fd and /proc/self/task/TID/fd access
Add tests to ensure that the following kernel patches are present:

  __ptrace_may_access() should not deny sub-threads
  * https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=73af963f9f3036dffed55c3a2898598186db1045

  proc: make proc_fd_permission() thread-friendly
  * https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=96d0df79f2644fc823f26c06491e182d87a90c2a

  proc: actually make proc_fd_permission() thread-friendly
  * https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=54708d2858e79a2bdda10bf8a20c80eb96c20613

Bug: 26110743
Bug: 24912743
Bug: 26016905
Change-Id: I7eab002ddfade9e4bfe51908e190231c8dde2cc7
2015-12-23 17:42:29 -08:00
Yi Kong
b62e633ff6 Merge "Revert "Implement getifaddrs(3)/freeifaddrs(3)."" 2015-12-22 17:48:21 +00:00
Yi Kong
76814a8250 Revert "Implement getifaddrs(3)/freeifaddrs(3)."
Werror build broken. Revert while working on a fix.

This reverts commit 0945ed5cc5921243724fed4465d20881f4891a8d.

Change-Id: I67edab7a7a3b9aa673ce9d14aa95380f947838a1
2015-12-22 17:47:54 +00:00
Yi Kong
71417caa92 Merge "Implement getifaddrs(3)/freeifaddrs(3)." 2015-12-22 17:11:59 +00:00
Dimitry Ivanov
788a2bc756 Make some of unwanted symbols LIBC_PRIVATE
Bug: http://b/26274444
Change-Id: Ic66f6519a974b72779071235c1d0dd36655fd1b9
2015-12-21 23:26:53 -08:00
Dimitry Ivanov
5ce79b0af3 Make symbols exported via libgcc.a LIBC_PRIVATE
Bug: http://b/26298172
Change-Id: Ic16acea56624680d48c0b190fbe5a6142a3fca2b
2015-12-21 22:54:35 -08:00
Dimitry Ivanov
be7c7fe218 Merge "linker: implement shared namespaces" 2015-12-21 23:10:49 +00:00
Dimitry Ivanov
7331fe18d7 linker: implement shared namespaces
Shared namespaces clone the list of loaded native
libraries from the caller namespace. This allows
classloaders for bundled apps to share already loaded
libraries with default namespace.

Bug: http://b/22548808
Bug: http://b/26165097
Change-Id: I8949d45937fdb38e1f586ff0679003adac0d9dad
(cherry picked from commit e78deef364d952dd1141a2f3067a12060aaf11e6)
2015-12-19 23:38:27 -08:00
Elliott Hughes
0945ed5cc5 Implement getifaddrs(3)/freeifaddrs(3).
Time to dust off the old libcore implementation from gingerbread and add it
to bionic. Unlike the original, this actually looks at both RTM_NEWLINK and
RTM_NEWADDR.

Bug: http://b/26238832
Change-Id: I7bb4b432deb766065b66b9c9ff36ed68249aba82
2015-12-19 14:49:09 -08:00
Elliott Hughes
4afd635be1 Merge "Improve the 32-bit ABI documentation." 2015-12-19 21:47:07 +00:00
Elliott Hughes
59fc2e8557 Improve the 32-bit ABI documentation.
Change-Id: Ie5bfc8d6f7f3946100f653de0e006072e56e18d6
2015-12-19 09:36:16 -08:00
Tom Cherry
dd57119ced Merge "Reset access to system properties on reinitialization" 2015-12-17 17:54:05 +00:00
Elliott Hughes
7cb3c4af13 Merge "sem_timedwait with a null timeout doesn't mean "forever"." 2015-12-17 01:15:15 +00:00
Dimitry Ivanov
d4f86aed42 Merge "linker: add dlvsym(3)" 2015-12-17 00:40:13 +00:00
Christopher Ferris
27032a39dd Merge "Fix missing parentheses." 2015-12-17 00:30:59 +00:00
Christopher Ferris
0b13f29b2c Fix missing parentheses.
The BIONIC_ROUND_UP_POWER_OF_2 macro did not have parentheses around
the whole expression. This lead to the wrong value being computed when
used as part of a mathematical expression such as this:

  value = BIONIC_ROUND_UP_POWER_OF_2(value) - 1;

This only happens on 64 bit abis.

Change-Id: I6f8afbdaf16fe64a88fa0246d074b3534c9159c1
2015-12-16 16:11:04 -08:00
Christopher Ferris
9f20db1c94 Merge "Fix bug in dlmalloc's version of calloc." 2015-12-17 00:06:03 +00:00
Dimitry Ivanov
9cf99cbad8 linker: add dlvsym(3)
This changes implements dlvsym - dlsym for versioned symbols.

Bug: http://b/22865643
Change-Id: Ic90a60d512104261a1416c43f9100f0d88e3b46f
2015-12-16 15:24:13 -08:00
Elliott Hughes
dd586f2ebd sem_timedwait with a null timeout doesn't mean "forever".
It actually means "crash immediately". Well, it's an error. And callers are
much more likely to realize their mistake if we crash immediately rather
than return EINVAL. Historically, glibc has crashed and bionic -- before
the recent changes -- returned EINVAL, so this is a behavior change.

Change-Id: I0c2373a6703b20b8a97aacc1e66368a5885e8c51
2015-12-16 15:15:58 -08:00
Christopher Ferris
ad33ebead8 Fix bug in dlmalloc's version of calloc.
Under some circumstances, doing a calloc will make sure that the memory
returned will be zero up to the size of the requested size. However, if
there is more usable size than the requested size, that extra part
of the allocation will not be zeroed. This change fixes it so that the
entire usable memory is always zeroed.

Change-Id: I8a66d6767c074023c4ba3568bf2705e1886740fc
2015-12-16 14:48:03 -08:00
Dimitry Ivanov
d3e5301a75 Merge "Revert "Revert "Remove remaining ndk_cruft from LP64 platforms""" 2015-12-16 19:06:09 +00:00
Dimitry Ivanov
bc2e88a85d Revert "Revert "Remove remaining ndk_cruft from LP64 platforms""
This reverts commit 23af25b747b5e7b0ca513a87b32f1f6a3cb99698.

Bug: http://b/26164862
Change-Id: I201bf49530f33f8ba6a1a35b79723afb9e84c7a5
2015-12-16 19:02:04 +00:00
Elliott Hughes
4d57e669dc Merge "Add a few missing pthread tests." 2015-12-15 01:38:24 +00:00
Dimitry Ivanov
52a05f3ce7 Merge "Revert "Remove remaining ndk_cruft from LP64 platforms"" 2015-12-15 01:36:19 +00:00
Elliott Hughes
d31d4c1cc6 Add a few missing pthread tests.
This seems to be all that's tested by system/extras/tests/bionic that isn't
already better tested here.

Change-Id: Id0aa985cefd4047a6007ba9804f541069d9e92ed
2015-12-14 17:35:10 -08:00
Dimitry Ivanov
23af25b747 Revert "Remove remaining ndk_cruft from LP64 platforms"
This reverts commit b1d0a2ae7790f882d8f1ab24d7ef15e2b90c8ca2.

Change-Id: I1da06be0b78a4f2a4cad7e4a19a3ee755f55a813
2015-12-15 01:34:14 +00:00
Dimitry Ivanov
b34ae08cc6 Merge "Remove remaining ndk_cruft from LP64 platforms" 2015-12-14 23:55:55 +00:00
Dimitry Ivanov
b1d0a2ae77 Remove remaining ndk_cruft from LP64 platforms
This change removes endpwent, dlmalloc_inspect_all, dlmalloc_trim
from lp64 libc.so. It also removed necessety of having brillo
version scripts for lp64 platforms.

Bug: http://b/26164862
Change-Id: I4e9b38907bb1dc410f0eb6d2f5d5944fe713da51
2015-12-14 15:49:28 -08:00
Dimitry Ivanov
881673cb45 Merge changes Iaee1b711,Ia3dd0761
* changes:
  Generate libc version-script for brillo
  Revert "Don't verify version scripts on 32-bit Brillo"
2015-12-14 22:53:06 +00:00
Dimitry Ivanov
585e959849 Generate libc version-script for brillo
Brillo doesn't use the ndk cruft, so we need
separate set of version scripts. Added new "nobrillo"
tag to mark such symbols in *.map.txt files.

Bug: http://b/26164862
Change-Id: Iaee1b7119f75b68c2971679fc32817e6df29fd94
2015-12-14 14:23:06 -08:00
Dimitry Ivanov
a3dd076126 Revert "Don't verify version scripts on 32-bit Brillo"
This reverts commit 31951b7f0dc7ce577a21682e54362b0cf2913e11.

Bug: http://b/26164862
2015-12-14 14:19:53 -08:00
Elliott Hughes
162a8524ea Merge "Fix personality test for mips32r6" 2015-12-14 15:59:29 +00:00
Lazar Trsic
61cf963efe Fix personality test for mips32r6
When personality syscall is executed on mips64, for a 32bit process,
sys_32_personality() is called, which converts PER_LINUX32 -> PER_LINUX.
Change expected value when mips32 is a second architecture.

For more information see:
https://www.linux-mips.org/archives/linux-mips/2015-08/msg00421.html
https://www.linux-mips.org/archives/linux-mips/2015-11/msg00093.html

Change-Id: I8c9062f536ad6e513f0ac585da3568d80e5fa1b4
2015-12-14 12:29:53 +01:00
Dan Willemsen
a7ff3964ab Merge "Don't verify version scripts on 32-bit Brillo" 2015-12-12 02:29:29 +00:00
Dan Willemsen
31951b7f0d Don't verify version scripts on 32-bit Brillo
Brillo doesn't use the ndk cruft, so the same version scripts do not
apply. Until we have brillo-specific version scripts, just disable the
version script check.

Bug: 26164862
Change-Id: I682860ec1c5b36014c7a6cf24da43df553e9dc9f
2015-12-11 16:52:08 -08:00
Dimitry Ivanov
52e2db647c Merge "Remove __bionic_libgcc_unwind_symbols from version script" 2015-12-11 19:41:33 +00:00
Dimitry Ivanov
2f019872dc Remove __bionic_libgcc_unwind_symbols from version script
Bug: http://b/26004476
Change-Id: Iaa468de4cbcc94e88badc5cde0f4421c710c1f38
2015-12-11 11:30:48 -08:00
Tom Cherry
b417169d80 Reset access to system properties on reinitialization
Treat subsequent calls to __system_properties_init() as a
reinitialization of system properties and revoke access to prop files
that have been previously mapped but that the process's current context
does not have access to.  Additionally reset the no_access_ flag in
case permissions have loosened and previously unaccessible files can now
be accessed.

This is meant to work around an issue that setcon() does not revoke
mmap() mappings, so we must manually revoke them after a successful
setcon() call.

Bug 26114086

Change-Id: I4d690abb6817283ca64ac26ea4c1dad398a98fbc
2015-12-11 11:16:21 -08:00
Dimitry Ivanov
0bc3977537 Merge "Move dlsym and dladdr implementation to linker.cpp" 2015-12-11 01:26:17 +00:00
Dimitry Ivanov
4a2c5aa30c Move dlsym and dladdr implementation to linker.cpp
Bug: http://b/25716705
Bug: http://b/22865643
Change-Id: If22fc1eda219f676b5fcc06490f7901d21d1749c
2015-12-10 16:24:57 -08:00
Tom Cherry
e46ded5ce1 Merge "Do not set properties in bionic_systrace" 2015-12-10 23:05:15 +00:00
Tom Cherry
46e2eadad2 Do not set properties in bionic_systrace
Currently, if the debug.atrace.tags.enableflags property is not found,
it is set to a safe value such that a pointer to this property can be
stored for later access.  This may result in selinux denials because not
all processes write permissions for this property or permission to
connect to the property write socket at all.

Change I6d953c0c281fd72ad3eba8a479fd258023579b5b writes this property to
a safe value upon boot, which greatly decreases the cases in which this
property will not be accessible and removes the need to write it here.
This commit removes this write.

Bug 26115803

Change-Id: Ief72c5f731d3a1231b5080eb531fa0a491a8b1d1
2015-12-10 13:33:37 -08:00
Dimitry Ivanov
cb025e55f7 Merge "Revert "Add /odm/lib to shared lib search path"" 2015-12-10 20:17:02 +00:00
Dimitry Ivanov
9d8632e1a7 Merge "constexpr constructor for atfork_list_t" 2015-12-10 17:39:48 +00:00
Dimitry Ivanov
39801757c3 Merge "Add permitted_when_isolated_path to linker namespaces" 2015-12-10 04:34:38 +00:00
Elliott Hughes
6500f51c0e Merge "Fix -fstack-protector-strong for x86." 2015-12-10 02:33:34 +00:00
Dimitry Ivanov
284ae3559e Add permitted_when_isolated_path to linker namespaces
The permitted_when_isolated_path is a way to white-list
directories not present in search-path. It is ignored for
not isolated namespaces.

Bug: http://b/25853516
Bug: http://b/22548808
Change-Id: Ib1538037268eea69323ea49968a34a4a1d1938a5
2015-12-09 13:54:01 -08:00
Dimitry Ivanov
5a3ab3422d Merge "Revert "Ensure that readlink has access to /proc/self/fd"" 2015-12-09 21:50:54 +00:00
Dimitry Ivanov
db43526581 Revert "Ensure that readlink has access to /proc/self/fd"
This reverts commit 4e50d0247b9ace095e371865fad08b1a59672e3a.

Bug: http://b/24912743
Change-Id: I5d32c670f0e16aec9c74add143158e919a301673
2015-12-09 19:36:47 +00:00
Dimitry Ivanov
40728bccbc Revert "Add /odm/lib to shared lib search path"
This reverts commit f74b041cce75091b922151d4fa57e63c8a6caf4b.

Bug: 25654402
Change-Id: I77386ea3655868d7cd1a8130afbc95e70549389e
2015-12-09 19:35:02 +00:00
Dan Willemsen
df196131f3 Merge "libm: Use LOCAL_SRC_FILES_EXCLUDE_{arch}" 2015-12-08 23:41:24 +00:00
Todd Kjos
5736959094 Merge "bionic: Build Breakage" 2015-12-08 21:46:17 +00:00
Mark Salyzyn
9da687e2f4 bionic: Build Breakage
Bug: 23668800
Change-Id: Ic7cf5864d3f5881e6f7105a49ecf62b1bc4a604c
2015-12-08 13:42:41 -08:00
Elliott Hughes
6c54ddd20f Fix -fstack-protector-strong for x86.
We need to ensure %gs:20 is set up early enough for -fstack-protector-strong
on x86, and that __set_tls doesn't get stack protector checks because it's a
prerequisite for them. x86 devices/emulators won't boot without this.

Bug: http://b/26073874
Change-Id: Icf0d34294648cc0c8cb406a3617befe0d45c525a
2015-12-08 12:48:42 -08:00
Dimitry Ivanov
89a50fe1eb constexpr constructor for atfork_list_t
Bug: http://b/26026986
Change-Id: Iad95383a23f81eea776bebce641c555d26547b77
2015-12-08 11:40:51 -08:00
Mark Salyzyn
eaccfde075 Merge "Add monotonic logging for bionic" 2015-12-08 18:59:05 +00:00
Elliott Hughes
cf0c1af1dd Merge "Base bcopy on memmove rather than memcpy."
am: f0a451dcd1

* commit 'f0a451dcd10241c8f2ead2448ed922eb80f387f6':
  Base bcopy on memmove rather than memcpy.
2015-12-07 23:20:58 +00:00
Elliott Hughes
36545d2e76 Merge "Make all of ndk_cruft.cpp one big extern "C"."
am: 9dec0a775b

* commit '9dec0a775b07f58d133ae5c35713e7cf60ddcc7c':
  Make all of ndk_cruft.cpp one big extern "C".
2015-12-07 23:16:43 +00:00
Elliott Hughes
1190230f33 Merge "Fix stdio static initializers to make both clang and GCC happy."
am: 7bd33cdf15

* commit '7bd33cdf15c26c5855628eb2ac0e7d0f52189010':
  Fix stdio static initializers to make both clang and GCC happy.
2015-12-07 23:16:39 +00:00
Elliott Hughes
568ad51d80 Merge "Revert "Revert "Remove __sinit and __sdidinit."""
am: c4eef1fb5b

* commit 'c4eef1fb5ba325317e94b598c6fbf8e4c4bf83e1':
  Revert "Revert "Remove __sinit and __sdidinit.""
2015-12-07 23:14:29 +00:00
Elliott Hughes
f0a451dcd1 Merge "Base bcopy on memmove rather than memcpy." 2015-12-07 22:07:11 +00:00
Rohit Agrawal
d51a0b0f9d Base bcopy on memmove rather than memcpy.
POSIX defined bcopy to handle overlapping memory akin to memmove and
bionic appears to have always done so.

Change-Id: I2599113411e3532913270ba1c1b49e35cbc5f106
2015-12-07 13:06:14 -08:00
Elliott Hughes
9dec0a775b Merge "Make all of ndk_cruft.cpp one big extern "C"." 2015-12-07 19:14:46 +00:00
Elliott Hughes
cfd5a46b09 Make all of ndk_cruft.cpp one big extern "C".
Change-Id: Iddd9b5f36e661e443fa13d12326e72df8c0d209c
2015-12-07 11:13:23 -08:00
Elliott Hughes
7bd33cdf15 Merge "Fix stdio static initializers to make both clang and GCC happy." 2015-12-07 19:10:32 +00:00
Elliott Hughes
29ee6397a8 Fix stdio static initializers to make both clang and GCC happy.
Previously only clang was happy. GCC said:

  error: missing initializer for field 'wcio_mbstate_in' of 'struct wchar_io_data'

Change-Id: I25a11b64f4dfa22a5dd5daded152191fe2cfacaf
2015-12-07 11:07:15 -08:00
Elliott Hughes
c4eef1fb5b Merge "Revert "Revert "Remove __sinit and __sdidinit.""" 2015-12-07 18:19:07 +00:00
Elliott Hughes
bb46afd6c4 Revert "Revert "Remove __sinit and __sdidinit.""
This reverts commit c8bae05f3ff9f1c736f7be70fa17d02795d748bb.

We were breaking init (ueventd) because we initialize system properties
before we initialize stdio. The new system property implementation uses
stdio to read from /property_contexts, so we end up touching stdio data
structures before they've been initialized.

This second attempt takes things further by removing the stdio initialization
function altogether. The data structures for stdin/stdout/stderr can be
statically initialized as data, and -- since we already had to give the
atexit implementation a backdoor for stdio -- we can just admit that we
need to clean up stdio, and that we always do so last.

This patch also removes the 17 statically pre-allocated file structures,
so the first fopen will now allocate a block of 10 (the usual overflow
behavior). I did this just to make my life simpler, but it's not actually
necessary to remove it if we want it back.

Change-Id: I936b2eb5e88e4ebaf5516121872b71fc88e5609c
2015-12-05 07:30:59 -08:00
Dimitry Ivanov
d5ce2a93af Merge "Allow dlopening public libs using absolute path"
am: e371ae68ac

* commit 'e371ae68ac0d6d39cacf5edc893bda2f4a61e883':
  Allow dlopening public libs using absolute path
2015-12-05 05:29:52 +00:00
Dimitry Ivanov
e371ae68ac Merge "Allow dlopening public libs using absolute path" 2015-12-05 05:25:57 +00:00
Dimitry Ivanov
22840aab47 Allow dlopening public libs using absolute path
dlopen on isolated namespaces should be able to open
public libraries using absolute path not only soname.

Bug: http://b/25853820
Change-Id: If574a67853dc51226f0f376e9e2d108316002f84
2015-12-04 21:21:35 -08:00
Elliott Hughes
f4e511ecf9 Merge "Revert "Remove __sinit and __sdidinit.""
am: 0d89913e74

* commit '0d89913e74981cd51532e66a2e2f138392be4de1':
  Revert "Remove __sinit and __sdidinit."
2015-12-05 01:58:40 +00:00
Elliott Hughes
0d89913e74 Merge "Revert "Remove __sinit and __sdidinit."" 2015-12-05 01:53:21 +00:00
Elliott Hughes
c8bae05f3f Revert "Remove __sinit and __sdidinit."
This reverts commit 4371961e00ad83fca033992c8a19c7d262fe6f84.

This broke booting; ueventd crashes with a null pointer dereference
somewhere in __sfp (but the kernel doesn't unwind, so I don't know
what was calling __sfp).

Change-Id: I65375fdfdf1d339a06558b4057b580cacd6324e2
2015-12-04 17:47:20 -08:00
Tom Cherry
071234cfd9 Merge "Do not create prop files for ctl.* properties"
am: 4ade5195f1

* commit '4ade5195f188b84ce3599c71ef058d040b141da4':
  Do not create prop files for ctl.* properties
2015-12-05 00:27:56 +00:00
Tom Cherry
4ade5195f1 Merge "Do not create prop files for ctl.* properties" 2015-12-05 00:21:46 +00:00
Elliott Hughes
70d477c913 Merge "Fix GCC build."
am: ef2ba3dbf9

* commit 'ef2ba3dbf986257ded12531fe15bf0d1d4a87d50':
  Fix GCC build.
2015-12-04 16:02:27 -08:00
Tom Cherry
21eadee6e9 Do not create prop files for ctl.* properties
Change-Id: Ia6660c68c9e0cb89938751dbc0747ee038394778
2015-12-04 15:55:32 -08:00
Elliott Hughes
ef2ba3dbf9 Merge "Fix GCC build." 2015-12-04 23:54:15 +00:00
Elliott Hughes
8766edc098 Fix GCC build.
error: '__sdidinit' initialized and declared 'extern' [-Werror]

Change-Id: I97d9c174da6a99ca61b72572dfb4694813372a60
2015-12-04 15:53:25 -08:00
Elliott Hughes
a3f5912129 Merge "Track rename from base/ to android-base/."
am: 0b40c13a5a

* commit '0b40c13a5a2da127cb1203d33a3d170671b39247':
  Track rename from base/ to android-base/.
2015-12-04 23:33:45 +00:00
Elliott Hughes
942d81c246 Merge "Remove __sinit and __sdidinit."
am: 2558b11230

* commit '2558b112300e0a27590b9e31f627fe94594fa6a0':
  Remove __sinit and __sdidinit.
2015-12-04 23:33:39 +00:00
Elliott Hughes
0b40c13a5a Merge "Track rename from base/ to android-base/." 2015-12-04 23:30:09 +00:00
Elliott Hughes
939a7e0119 Track rename from base/ to android-base/.
Change-Id: I0a4592945400b1fa6892bf7c1fa8659fd711efa3
2015-12-04 15:27:46 -08:00
Elliott Hughes
2558b11230 Merge "Remove __sinit and __sdidinit." 2015-12-04 23:27:07 +00:00
Tom Cherry
e049fa71cb Merge "add checks for initialization for system properties"
am: 136bf8fa45

* commit '136bf8fa45b243b56a8f2543d43970f253118cd7':
  add checks for initialization for system properties
2015-12-04 15:09:42 -08:00
Tom Cherry
136bf8fa45 Merge "add checks for initialization for system properties" 2015-12-04 23:06:31 +00:00
Mark Salyzyn
870f165ceb Add monotonic logging for bionic
Primarily a debug feature that can be switched at runtime to permit
developer to have the option of high-resolution Android logs with
either CLOCK_REALTIME (default) or CLOCK_MONOTONIC to correlate with
other system activities like kernel logs or systrace.

Bug: 23668800
Change-Id: Ib29024899540f51a72cad5dde25517a7134d68f7
2015-12-04 14:45:25 -08:00
Tom Cherry
6ed51c0e85 add checks for initialization for system properties
If a __system_property* function is called before
__system_properties_init() then the app will will abort.  This commit
returns either an error code or a safe return value instead.

Bug 26027140

Change-Id: I95ffd143e9563658ab67a397991e84fb4c46ab77
2015-12-04 13:26:47 -08:00
Dan Willemsen
a29ed0bbce libm: Use LOCAL_SRC_FILES_EXCLUDE_{arch}
Instead of adding the used common files to each arch that doesn't
override a file, make the architectures list the files they override.

Also updates the Android.bp file to match the Android.mk file.

Change-Id: I7d6a9c2e1c6b6cc9430aa818a89a2ccf52f62c98
2015-12-03 18:09:36 -08:00
Yabin Cui
21cca02a52 Merge "Clear pthread_internal_t allocated on user provided stack."
am: 2452cf3c33

* commit '2452cf3c332fdfdae6b6b27b57acaa6786a91c87':
  Clear pthread_internal_t allocated on user provided stack.
2015-12-04 01:05:37 +00:00
Yabin Cui
2452cf3c33 Merge "Clear pthread_internal_t allocated on user provided stack." 2015-12-04 00:58:05 +00:00
Yabin Cui
304348af19 Clear pthread_internal_t allocated on user provided stack.
Several parts in pthread_internal_t should be initialized
to zero, like tls, key_data and thread_local_dtors. So
just clear the whole pthread_internal_t is more convenient.

Bug: 25990348
Change-Id: Ibb6d1200ea5e6e1afbc77971f179197e8239f6ea
2015-12-03 16:51:20 -08:00
Yabin Cui
fb3708640f Merge "Don\'t use StringPrintf() in gtest runner."
am: 514f46b74c

* commit '514f46b74c5424eb10f21349654e90fcf69b3b10':
  Don't use StringPrintf() in gtest runner.
2015-12-04 00:35:30 +00:00
Yabin Cui
514f46b74c Merge "Don't use StringPrintf() in gtest runner." 2015-12-04 00:29:47 +00:00
Yabin Cui
a32fc8685d Don't use StringPrintf() in gtest runner.
Change-Id: I0cd0b3cbb952c65b1c449e88ce12964b93029538
2015-12-03 16:28:03 -08:00
Tom Cherry
e670e2f859 Merge "Remove c++14\'isms from system_properties"
am: b35a2fb370

* commit 'b35a2fb370db711fcea38441a1295cd542fc3daa':
  Remove c++14'isms from system_properties
2015-12-03 23:53:24 +00:00
Dimitry Ivanov
0ee40ef239 Merge "libm: stop exporting __muldc3"
am: bf20d0226b

* commit 'bf20d0226b28a029f4cade8dc8f3aa38d1e51a1a':
  libm: stop exporting __muldc3
2015-12-03 23:53:13 +00:00
Tom Cherry
b35a2fb370 Merge "Remove c++14'isms from system_properties" 2015-12-03 23:48:54 +00:00
Dimitry Ivanov
bf20d0226b Merge "libm: stop exporting __muldc3" 2015-12-03 23:44:59 +00:00
Tom Cherry
845e24a05e Remove c++14'isms from system_properties
Change-Id: If78e7d2770e8f8321f0d1824c3c52f93820dd325
2015-12-03 15:40:23 -08:00
Dimitry Ivanov
a2ead18657 libm: stop exporting __muldc3
Bug: http://b/26004493
Change-Id: I991268d5e7b59bca646da25d0ad90a1cb4a9d4b9
2015-12-03 15:25:37 -08:00
Tom Cherry
84bc4f5cc7 Merge "Separate properties by selabel"
am: 376b94f1e7

* commit '376b94f1e777375eb9ebb04a882b898aafa94625':
  Separate properties by selabel
2015-12-03 22:58:48 +00:00
Tom Cherry
376b94f1e7 Merge "Separate properties by selabel" 2015-12-03 22:55:32 +00:00
Yabin Cui
b561043d3a Merge "Improve unit test runner."
am: f57ae1cd43

* commit 'f57ae1cd433f2bdc02cec6b0d2666f7708f1fc37':
  Improve unit test runner.
2015-12-03 22:34:44 +00:00
Yabin Cui
f57ae1cd43 Merge "Improve unit test runner." 2015-12-03 22:29:29 +00:00
Elliott Hughes
4371961e00 Remove __sinit and __sdidinit.
We're eagerly initializing stdio now, so this can all be simplified.

Change-Id: Icb288f8dd0ee08f02bea0d23670f75e78bed6b99
2015-12-03 13:23:03 -08:00
Yabin Cui
d4c9b9d5ac Improve unit test runner.
1. Read unit test's output while the test is running. Previously
we only read output when the test finishes, which has trouble
when the test outputs too many stuff.
2. Report failed unit test's exit code. It is useful when the
test doesn't fail in ASSERT_xxx, but in somewhere else.

Bug: 25392375
Change-Id: Ie90823337f7c2ee25fa489a5534801d991258f95
2015-12-03 13:20:39 -08:00
Dan Willemsen
5bfa22ceab Merge "Re-add putw for LP32"
am: 22dca83e1c

* commit '22dca83e1c37d3b465b9fa432bbf7cb4bd0df868':
  Re-add putw for LP32
2015-12-03 02:01:07 +00:00
Dan Willemsen
22dca83e1c Merge "Re-add putw for LP32" 2015-12-03 01:56:00 +00:00
Dan Willemsen
b9055518fc Re-add putw for LP32
This was missed when switching to LOCAL_SRC_FILES_EXCLUDE

Change-Id: I6ea23c9eb31abe11e0ec4abfc2ee2f2a43c76ce2
2015-12-02 17:31:32 -08:00
Tom Cherry
49a309ff6a Separate properties by selabel
The purpose of this change is to add read access control to the property
space.

In the current design, a process either has access to the single
/dev/__properties__ file and therefore all properties that it contains
or it has access to no properties.  This change separates properties
into multiple property files based on their selabel, which allows
creation of sepolicies that allow read access of only specific sets of
properties to specific domains.

Bug 21852512

Change-Id: Ice265db79201ca811c6b6cf6d851703f53224f03
2015-12-02 15:17:03 -08:00
Dimitry Ivanov
9f525b66eb Merge "Explicitly disallow default c-tor"
am: b24f7a0513

* commit 'b24f7a0513f7468ccf7563d7d347c6e7bab391d9':
  Explicitly disallow default c-tor
2015-12-02 18:47:27 +00:00
Dimitry Ivanov
b24f7a0513 Merge "Explicitly disallow default c-tor" 2015-12-02 18:44:20 +00:00
Dimitry Ivanov
a5e183c066 Explicitly disallow default c-tor
Change-Id: Ia52995a459443159e80383d5b396c3edd90a08ae
2015-12-01 16:57:19 -08:00
Chih-hung Hsieh
d74566026d Merge "Add bionic-unit-tests-gcc{32,64}, compiled with gcc."
am: 9cbabd8fe5

* commit '9cbabd8fe5ef3834682996ff23b4a5325e0586cb':
  Add bionic-unit-tests-gcc{32,64}, compiled with gcc.
2015-12-01 00:27:13 +00:00
Chih-hung Hsieh
9cbabd8fe5 Merge "Add bionic-unit-tests-gcc{32,64}, compiled with gcc." 2015-12-01 00:23:32 +00:00
Yabin Cui
1f4b0c44b3 Merge "Init stdio in __libc_init_common."
am: 6bef152af2

* commit '6bef152af2c622ee0c57f9c374b76f3dd352e52b':
  Init stdio in __libc_init_common.
2015-11-30 23:58:50 +00:00
Yabin Cui
4262d3e9ac Merge "Enable using clang to build __cxa_thread_atexit_impl."
am: af87c9ccfc

* commit 'af87c9ccfc3afbc7db9f0bc131d122453b5c882d':
  Enable using clang to build __cxa_thread_atexit_impl.
2015-11-30 23:58:41 +00:00
Yabin Cui
6bef152af2 Merge "Init stdio in __libc_init_common." 2015-11-30 23:57:02 +00:00
Yabin Cui
af87c9ccfc Merge "Enable using clang to build __cxa_thread_atexit_impl." 2015-11-30 23:56:41 +00:00
Yabin Cui
9b687dc243 Enable using clang to build __cxa_thread_atexit_impl.
Remove previous workaround as we no longer use
__thread in __cxa_thread_atexit_impl.cpp.

Change-Id: Ic1062995db488859b341acdda0b5f6635e10d7e8
2015-11-30 14:43:52 -08:00
Yabin Cui
51ca18d2a1 Merge "Don\'t use __thread in __cxa_thread_finalize()."
am: 28d3f00cf4

* commit '28d3f00cf4545812503c835ea906fa83309e48ed':
  Don't use __thread in __cxa_thread_finalize().
2015-11-30 22:01:36 +00:00
Yabin Cui
28d3f00cf4 Merge "Don't use __thread in __cxa_thread_finalize()." 2015-11-30 21:59:47 +00:00
Yabin Cui
d68c9e5906 Init stdio in __libc_init_common.
Previously we call __sinit() lazily. But it is likely to cause data
races like in https://android-review.googlesource.com/#/c/183237/. So
we prefer to call __sinit() explicitly at libc initialization.

Bug: 25392375

Change-Id: I181ea7a4b2e4c7350b45f2e6c86886ea023e80b8
2015-11-30 13:51:07 -08:00
Yabin Cui
6ac2fdd0f4 Merge "Fix pthread_test according to tsan report."
am: aec13988da

* commit 'aec13988dab7ff32cb005f42b952e3b9b55a4779':
  Fix pthread_test according to tsan report.
2015-11-30 21:42:42 +00:00
Yabin Cui
aec13988da Merge "Fix pthread_test according to tsan report." 2015-11-30 21:38:59 +00:00
Chih-hung Hsieh
4f94b7bfc0 Merge "Consider when building libc_thread_atexit_impl module"
am: 2bb85c848a

* commit '2bb85c848abb89951ec01342d6c8278311346395':
  Consider $(use_clang) when building libc_thread_atexit_impl module
2015-11-30 19:02:05 +00:00
Chih-hung Hsieh
2bb85c848a Merge "Consider $(use_clang) when building libc_thread_atexit_impl module" 2015-11-30 18:58:59 +00:00
Chih-Hung Hsieh
f688c5d5b4 Add bionic-unit-tests-gcc{32,64}, compiled with gcc.
* bionic-unit-tests{32,64} are compiled with clang/llvm.
* Skip one single test in __cxa_thread_atexit_test.cpp
  when compiled with aarch64 clang/llvm.
  Aarch64 clang/llvm generates relocation references to
  "thread_local" symbols not supported by Android linker.

BUG: 25642296
Change-Id: Ia0497b79c4b335228afeb48a26e0592217909953
2015-11-30 10:52:16 -08:00
Nikola Veljkovic
83f314f060 Consider $(use_clang) when building libc_thread_atexit_impl module
Change-Id: Ia369d94979f418198a2ee891385942d9bc5604d7
2015-11-25 18:09:34 +00:00
Yabin Cui
952e9eb086 Don't use __thread in __cxa_thread_finalize().
Currently we use __thread variable to store thread_local_dtors,
which makes tsan test fork_atexit.cc hang. The problem is as below:
The main thread creates a worker thread, the worker thread calls
pthread_exit() -> __cxa_thread_finalize() -> __emutls_get_address()
-> pthread_once(emutls_init) -> emutls_init().
Then the main thread calls fork(), the child process cals
exit() -> __cxa_thread_finalize() -> __emutls_get_address()
-> pthread_once(emutls_init).
So the child process is waiting for pthread_once(emutls_init)
to finish which will never occur.

It might be the test's fault because POSIX standard says if a
multi-threaded process calls fork(), the new process may only
execute async-signal-safe operations until exec functions are
called. And exit() is not async-signal-safe. But we can make
bionic more reliable by not using __thread in
__cxa_thread_finalize().

Bug: 25392375
Change-Id: Ife403dd7379dad8ddf1859c348c1c0adea07afb3
2015-11-24 17:24:06 -08:00
Colin Cross
a36d1e0d31 Merge "Remove cflags and ldflags from crt defaults"
am: a01108d9bf

* commit 'a01108d9bf415854b9d36334483133adff3d7405':
  Remove cflags and ldflags from crt defaults
2015-11-24 21:41:22 +00:00
Colin Cross
a01108d9bf Merge "Remove cflags and ldflags from crt defaults" 2015-11-24 21:33:54 +00:00
Colin Cross
912e27a4b2 Merge "move arch variant structs down a level"
am: 8bd27182c5

* commit '8bd27182c505cdc8031ab23fea5d1dccb6b7405a':
  move arch variant structs down a level
2015-11-24 20:24:24 +00:00
Colin Cross
8bd27182c5 Merge "move arch variant structs down a level" 2015-11-24 20:21:20 +00:00
Colin Cross
bff87d19f1 Remove cflags and ldflags from crt defaults
After ToolchainCflags were added to soong crt no longer needs to try to
recreate the bare minimum cflags for compiling for each architecture.
Also always use GCC to match crt.mk

Change-Id: I01a833ab70d989033c84f072e3660d060189688c
2015-11-24 11:11:02 -08:00
Dimitry Ivanov
321314f2e9 Merge "Introduce anonymous namespace"
am: db8caa740a

* commit 'db8caa740a409c2ce75f875df84857e6be69eb9f':
  Introduce anonymous namespace
2015-11-24 02:45:14 +00:00
Dimitry Ivanov
db8caa740a Merge "Introduce anonymous namespace" 2015-11-24 02:23:34 +00:00
Dmitriy Ivanov
1ffec1cc4d Introduce anonymous namespace
The anonymous namespace is introduced to
handle cases when linker can not find the
caller. This usually happens when caller
code was not loaded by dynamic linker;
for example mono-generated code.

Bug: http://b/25844435
Bug: http://b/22548808
Change-Id: I9e5b1d23c1c75bc78548d68e79216a6a943a33cf
2015-11-23 16:13:10 -08:00
Colin Cross
6ab8f89d1c move arch variant structs down a level
Use blueprint's new anonymous embedded struct feature to move the arch
variant properties down a level, replacing arch.cortex_a9.srcs with
arch.arm.cortex_a9.srcs, while still supporting top-level properties
like arch.arm.srcs.

Change-Id: Ib41c80e3549440d5efdfd293a15cffa3f51a0fe4
2015-11-23 14:14:57 -08:00
Yabin Cui
edcee4e401 Merge "Change _stdio_handles_locking into _caller_handles_locking."
am: 17554356cc

* commit '17554356cc865908e5cbd7814c8be7e47c9c4ec5':
  Change _stdio_handles_locking into _caller_handles_locking.
2015-11-23 19:02:08 +00:00
Yabin Cui
17554356cc Merge "Change _stdio_handles_locking into _caller_handles_locking." 2015-11-23 18:57:26 +00:00
Dimitry Ivanov
a8f8cbb3fc Merge "Handling invalid section headers"
am: a7fc7f9909

* commit 'a7fc7f9909c221a0f64c5c5ecc5fadd5fba467c5':
  Handling invalid section headers
2015-11-23 07:33:23 +00:00
Dimitry Ivanov
a7fc7f9909 Merge "Handling invalid section headers" 2015-11-23 07:28:32 +00:00
Dmitriy Ivanov
3c5248182e Handling invalid section headers
The linker crashes if native library has invalid section
headers. This change adds boundary checks on target offsets
and generates dlerror instead of crash.

Bug: http://b/25800330
Change-Id: Ibe282029997302b9b557637c3aad064d7d0febc5
2015-11-22 23:25:06 -08:00
Yabin Cui
4469973bfb Merge "Use FUTEX_WAIT_BITSET to avoid converting timeouts."
am: 74ed96d597

* commit '74ed96d59731aa3661494330804d866e825209d3':
  Use FUTEX_WAIT_BITSET to avoid converting timeouts.
2015-11-21 01:55:27 +00:00
Yabin Cui
74ed96d597 Merge "Use FUTEX_WAIT_BITSET to avoid converting timeouts." 2015-11-21 01:50:29 +00:00
Yabin Cui
76144aaa63 Change _stdio_handles_locking into _caller_handles_locking.
It is reported by tsan that funlockfile() can unlock an unlocked mutex.
It happens when printf() is called before fopen() or other stdio stuff.
As FLOCKFILE(fp) is called before __sinit(), _stdio_handles_locking is false,
and _FLOCK(fp) will not be locked. But then cantwrite(fp) in __vfprintf()
calls__sinit(), which makes _stdio_handles_locking become true, and
FUNLOCKFILE(fp) unlocks _FLOCK(fp).

Change _stdio_handles_locking into _caller_handles_locking,
so __sinit() won't change its value. Add test due to my previous fault.

Bug: 25392375
Change-Id: I483e3c3cdb28da65e62f1fd9615bf58c5403b4dd
2015-11-20 17:44:26 -08:00
Dimitry Ivanov
8bd9e9ec69 Merge "Move some utility functions to linker_utils"
am: fb3219fbd1

* commit 'fb3219fbd1dbb0a369d52cbd0200330fd8852bc1':
  Move some utility functions to linker_utils
2015-11-20 21:45:36 +00:00
Dimitry Ivanov
fb3219fbd1 Merge "Move some utility functions to linker_utils" 2015-11-20 21:42:18 +00:00
Dmitriy Ivanov
84bab5a955 Move some utility functions to linker_utils
Also adds unit-tests for page_start, page_offset, and safe_add

Change-Id: Ia1325b4682d367328a01599a19848e4ffcd2c0ea
2015-11-20 21:37:51 +00:00
Dimitry Ivanov
d34c33764e Merge "Improve error message for files with no sections"
am: a1ab0d8ed1

* commit 'a1ab0d8ed1c4025233b0d816164eefb1b84159b9':
  Improve error message for files with no sections
2015-11-20 19:19:40 +00:00
Dimitry Ivanov
a1ab0d8ed1 Merge "Improve error message for files with no sections" 2015-11-20 19:16:14 +00:00
Chih-hung Hsieh
bb06a84672 Merge "Disable clang for mips/mips64 libc."
am: 8d5fb0d787

* commit '8d5fb0d78716379d07eddbd75c88c9b7082436ef':
  Disable clang for mips/mips64 libc.
2015-11-20 18:57:17 +00:00
Dmitriy Ivanov
b76123fed8 Improve error message for files with no sections
Bug: http://b/25801618
Change-Id: I4f4f368e727ff48c84781279e3d17d4ac2d1b6b0
2015-11-20 10:49:12 -08:00
Chih-hung Hsieh
8d5fb0d787 Merge "Disable clang for mips/mips64 libc." 2015-11-20 18:27:14 +00:00
Chih-Hung Hsieh
b4bc156c6c Disable clang for mips/mips64 libc.
* Many processes, including adbd, failed to start in mips/mips64
  emulator when libc.so was compiled by clang.

BUG: 25291096
Change-Id: If3434ebdca4a3a6bf6102b120ee838a7ab66cd74
2015-11-20 09:55:35 -08:00
Elliott Hughes
cb3af215dc Merge "mmap: fix calculation of is_private_anonymous variable"
am: 43c9045017

* commit '43c90450174ab8839c05702ac01c4092f5b6cd19':
  mmap: fix calculation of is_private_anonymous variable
2015-11-20 17:34:03 +00:00
Elliott Hughes
43c9045017 Merge "mmap: fix calculation of is_private_anonymous variable" 2015-11-20 17:19:19 +00:00
Vitaly Vul
ee67dd75e2 mmap: fix calculation of is_private_anonymous variable
Currently is_private_anonymous is calculated as true if _either_
MAP_PRIVATE or MAP_ANONYMOUS is set, which is a mistake.
According to Documentation/vm/ksm.txt, "KSM only merges anonymous
(private) pages, never pagecache (file) pages". MAP_PRIVATE can
still be set on file cache pages so in order to not redundantly
set MADV_MERGEABLE on pages that are not fitted for it, both
MAP_PRIVATE and MAP_ANONYMOUS should be set.

Along with this fix, add an extra check that the mapped page is
not a stack page before setting MADV_MERGEABLE for it. Stack pages
change too quickly and always end up in KSM 'page_volatile' list.

Change-Id: If4954142852f17cc61f02985ea1cb625a7f3dec6
2015-11-20 09:16:59 -08:00
Josh Gao
8af9a739c9 Merge changes I73a39c6d,Iab2af242
am: f30170dfa5

* commit 'f30170dfa514266a0bf007091aa54a866920208c':
  Fix test build break.
  extend the PTRDIFF_MAX size check to mremap
2015-11-20 02:00:16 +00:00
Josh Gao
f30170dfa5 Merge changes I73a39c6d,Iab2af242
* changes:
  Fix test build break.
  extend the PTRDIFF_MAX size check to mremap
2015-11-20 01:55:56 +00:00
Yabin Cui
b690cae8dd Merge "Fix tsan abort for lake of __libc_auxv initialization."
am: 79f8d64632

* commit '79f8d64632a57ccd62315286b809819de09e0317':
  Fix tsan abort for lake of __libc_auxv initialization.
2015-11-20 00:48:40 +00:00
Yabin Cui
79f8d64632 Merge "Fix tsan abort for lake of __libc_auxv initialization." 2015-11-20 00:40:00 +00:00
Colin Cross
75ba57de43 Merge "Update libc/Android.bp to match libc/Android.mk"
am: 9c6157c81d

* commit '9c6157c81d123d8c6ba1aa8d7ee5c67b0840666c':
  Update libc/Android.bp to match libc/Android.mk
2015-11-19 22:58:20 +00:00
Colin Cross
9c6157c81d Merge "Update libc/Android.bp to match libc/Android.mk" 2015-11-19 22:48:33 +00:00
Yabin Cui
284068f44f Fix tsan abort for lake of __libc_auxv initialization.
If tsan is used, the following callchain can happen:
__libc_preinit() -> __libc_init_globals() ->
__libc_init_vdso() -> strcmp() -> __tsan_init()
-> sysconf(_SC_PAGE_SIZE) -> getauxval().
But __libc_auxv is initialized in __libc_init_common(),
after __libc_init_globals(). One simple way to fix
this is to initialize __libc_auxv at __libc_init_globals().

Bug: 25392375
Change-Id: I3893b1f567d5f3b7a8c881c0c1b8234b06b7751b
2015-11-19 14:24:06 -08:00
Colin Cross
a35d23d251 Update libc/Android.bp to match libc/Android.mk
Change-Id: I4dfadc55688213f095949c56306e5071b2ab6135
2015-11-19 14:18:06 -08:00
Josh Gao
2feb9dde60 Fix test build break.
Change-Id: I73a39c6d4bb9baebbfb5572e9259bcd405116039
2015-11-19 13:44:20 -08:00
Yabin Cui
c9a659c57b Use FUTEX_WAIT_BITSET to avoid converting timeouts.
Add unittests for pthread APIs with timeout parameter.

Bug: 17569991

Change-Id: I6b3b9b2feae03680654cd64c3112ce7644632c87
2015-11-19 13:42:03 -08:00
Hung-ying Tyan
ce77e47b2f Merge "Add /odm/lib to shared lib search path"
am: 0ebe2f07c3

* commit '0ebe2f07c35d4b764bc5d8b5226004e3db46da91':
  Add /odm/lib to shared lib search path
2015-11-19 16:45:08 +00:00
Hung-ying Tyan
0ebe2f07c3 Merge "Add /odm/lib to shared lib search path" 2015-11-19 16:38:51 +00:00
Daniel Micay
c22a7de798 extend the PTRDIFF_MAX size check to mremap
This removes another way to obtain objects larger than PTRDIFF_MAX. The
only known remaining hole is now jemalloc's merging of virtual memory
spans.

Technically this could be wrapped in an __LP64__ ifndef since it can't
occur on 64-bit due to the 1:1 split. It doesn't really matter either
way.

Change-Id: Iab2af242b775bc98a59421994d87aca0433215bd
2015-11-19 08:57:47 -05:00
Junichi Uekawa
1ab4088062 Merge "Do not depend on host bits to get the right size to write."
am: 313632db57

* commit '313632db574d101275206ca025d21a5a3cd62150':
  Do not depend on host bits to get the right size to write.
2015-11-19 12:51:01 +00:00
Junichi Uekawa
313632db57 Merge "Do not depend on host bits to get the right size to write." 2015-11-19 12:44:19 +00:00
Junichi Uekawa
ff35b1e659 Do not depend on host bits to get the right size to write.
x86_64 32-bit or 64-bit relocations do not depend on ELF bit size, they
are 32-bit or 64-bit respectively.

Known compiler that emits such code is nacl-clang which emits
R_X86_64_PC32 which should write 32 bits but ended up writing 64 bits.

Change-Id: Ibb6b484c0fea6a7e291362148e8ac749d6674529
2015-11-19 11:28:20 +09:00
Yabin Cui
f091c1f2f1 Merge "Implement pthread spin."
am: 2c09e5de29

* commit '2c09e5de299ca87a9e68807e2b4af41ba61710f3':
  Implement pthread spin.
2015-11-19 02:03:24 +00:00
Yabin Cui
9d4bd6f0ca Merge "Avoid tsan warning about pthread_mutex_destroy."
am: ea5bb151af

* commit 'ea5bb151af5e1e364968cb1eac70c8a2c13ca7a7':
  Avoid tsan warning about pthread_mutex_destroy.
2015-11-19 02:03:13 +00:00
Yabin Cui
2c09e5de29 Merge "Implement pthread spin." 2015-11-19 01:55:37 +00:00
Yabin Cui
ea5bb151af Merge "Avoid tsan warning about pthread_mutex_destroy." 2015-11-19 01:55:25 +00:00
Yabin Cui
fe3a83a934 Implement pthread spin.
In order to run tsan unit tests, we need to support pthread spin APIs.

Bug: 18623621
Bug: 25392375
Change-Id: Icbb4a74e72e467824b3715982a01600031868e29
2015-11-18 17:51:21 -08:00
Hung-ying Tyan
f74b041cce Add /odm/lib to shared lib search path
ODM's shared libs should live in /odm/lib on the ODM partition.

BUG: 25654402
Change-Id: I3f5c26f208af87ff2817e490e51d0b4f5b8ec98e
2015-11-18 23:45:25 +08:00
Dimitry Ivanov
3f539a1655 Merge "Ignore target sdk version for the public namespace"
am: 63f0e0db76

* commit '63f0e0db768ea9be4db3dd6a2fb62ea942afb9d6':
  Ignore target sdk version for the public namespace
2015-11-18 03:52:50 +00:00
Dimitry Ivanov
63f0e0db76 Merge "Ignore target sdk version for the public namespace" 2015-11-18 03:43:59 +00:00
Dmitriy Ivanov
3cc35e224c Ignore target sdk version for the public namespace
This fixes the bug with using the libraries loaded
prior to android_set_target_sdk_version call.

Bug: http://b/22548808
Change-Id: I3ca2d367b0fa930a437bbb65f780834803d2ef0a
2015-11-17 18:45:12 -08:00
Yabin Cui
0307eee293 Avoid tsan warning about pthread_mutex_destroy.
If calling pthread_mutex_trylock from pthread_mutex_destroy, tsan
warns about an attempt to destroy a locked mutex.

Bug: 25392375
Change-Id: I5feee20e7a0d0915adad24da874ec1ccce241381
2015-11-17 16:17:44 -08:00
Yabin Cui
a36158a77d Fix pthread_test according to tsan report.
1. Fix leak threads and data races related to spin_flag.
2. Increase stack size to run under tsan.

This doesn't pass all pthread tests, as some tests are used
to run intentionally in race situations.

Bug: 25392375
Change-Id: Icfba3e141e7170abd890809586e89b99adc8bd02
2015-11-16 21:15:58 -08:00
Yabin Cui
278fe431b6 Merge "Implement pthread barrier."
am: b804b9d67b

* commit 'b804b9d67b9e3a8c63471ff9892f6abea2a58684':
  Implement pthread barrier.
2015-11-17 00:28:20 +00:00
Yabin Cui
b804b9d67b Merge "Implement pthread barrier." 2015-11-17 00:22:54 +00:00
Dimitry Ivanov
159c3d617f Merge "Remove the warning about empty LD_LIBRARY_PATH"
am: 3c8c16022a

* commit '3c8c16022a513a32eb6b92cf23f4ef43ccf7ad6d':
  Remove the warning about empty LD_LIBRARY_PATH
2015-11-16 22:30:32 +00:00
Dimitry Ivanov
3c8c16022a Merge "Remove the warning about empty LD_LIBRARY_PATH" 2015-11-16 22:25:50 +00:00
Dmitriy Ivanov
fbfba64068 Remove the warning about empty LD_LIBRARY_PATH
Change-Id: I3eca11512d8055ab94dd0a6badcd83ce6440d675
2015-11-16 14:23:37 -08:00
Yabin Cui
e7c2fffa16 Implement pthread barrier.
Bug: 24341262
Change-Id: I5472549e5d7545c1c3f0bef78235f545557b9630
2015-11-16 14:02:26 -08:00
Chih-hung Hsieh
4d87f17621 Merge "Enable clang to compile more tests."
am: 949bfb9e3c

* commit '949bfb9e3cceac7913fe1debc39617c9ec01ae5e':
  Enable clang to compile more tests.
2015-11-16 21:36:51 +00:00
Chih-hung Hsieh
949bfb9e3c Merge "Enable clang to compile more tests." 2015-11-16 21:31:36 +00:00
Dimitry Ivanov
b061c9250d Merge "Fix arm64 and x86 builds"
am: 61f186d067

* commit '61f186d067a3efb6a86450092a567fb18c1641c3':
  Fix arm64 and x86 builds
2015-11-16 21:25:31 +00:00
Dimitry Ivanov
61f186d067 Merge "Fix arm64 and x86 builds" 2015-11-16 21:23:18 +00:00
Dmitriy Ivanov
d9b08a0bc0 Fix arm64 and x86 builds
Change-Id: Ic3746b2f200f42218b6ac857c1631e873c767c17
2015-11-16 13:17:27 -08:00
Dimitry Ivanov
2616cdcdb9 Merge "Introducing linker namespaces"
am: 1f0ccbb59c

* commit '1f0ccbb59cd32dfad0e6d9fd9619905e067076a6':
  Introducing linker namespaces
2015-11-16 20:21:05 +00:00
Dimitry Ivanov
1f0ccbb59c Merge "Introducing linker namespaces" 2015-11-16 20:14:37 +00:00
Chih-Hung Hsieh
1e79540807 Enable clang to compile more tests.
* Disable optimization only in gtest.h of atexit_test.c for arm/aarch64
  to keep VTT for std::__1::basic_stringstream<char, std::__1::char_traits<char>,
  std::__1::allocator<char> > to link with g++ compiled modules.
* bionic-unit-tests source files are not affected by clang x86_64 fp128 bug
  so they can be compiled with clang.

BUG: 25643775
Change-Id: I3da2a0de61edcdca07b7fcd73a16de9da4a1f7d6
2015-11-16 11:36:15 -08:00
Dmitriy Ivanov
42d5fcb9f4 Introducing linker namespaces
Bug: http://b/22548808
Change-Id: Ia3af3c0a167f1d16447a3d83bb045d143319b1e1
2015-11-15 12:09:16 -08:00
Elliott Hughes
69536213d6 Merge "Improve libc time zone fallback behavior."
am: 1b42c54471

* commit '1b42c544711316281e09c5da25850fac531b27cb':
  Improve libc time zone fallback behavior.
2015-11-13 18:28:57 +00:00
Elliott Hughes
1b42c54471 Merge "Improve libc time zone fallback behavior." 2015-11-13 18:24:41 +00:00
Elliott Hughes
d1c28a361b Improve libc time zone fallback behavior.
We should fall back to GMT if neither the environment variable nor the
system property is set. This is the case if you wipe a WiFi-only device,
because we currently only take the time zone from cell networks.

Bug: http://b/24773112
Change-Id: I90d236d4d492b6562d75021bd312030b91c1e298
2015-11-13 08:38:48 -08:00
Elliott Hughes
5187baa387 Merge "Fix strftime if tm_zone is null."
am: 5780f9d809

* commit '5780f9d80963fbe7b93f501dd3dd7edc7fab46b0':
  Fix strftime if tm_zone is null.
2015-11-13 03:04:31 +00:00
Elliott Hughes
5780f9d809 Merge "Fix strftime if tm_zone is null." 2015-11-13 02:58:30 +00:00
Nick Kralevich
bb725f7b77 Merge "FORTIFY_SOURCE: make sure gcc unittests are compiled with gcc"
am: 4ea67f6950

* commit '4ea67f695066b73796b24563d83e8b5a9190334d':
  FORTIFY_SOURCE: make sure gcc unittests are compiled with gcc
2015-11-13 01:12:41 +00:00
Nick Kralevich
4ea67f6950 Merge "FORTIFY_SOURCE: make sure gcc unittests are compiled with gcc" 2015-11-13 01:09:44 +00:00
Elliott Hughes
a9cac4c87a Fix strftime if tm_zone is null.
Upstream tzcode said "On platforms with tm_zone, strftime.c now assumes it
is not NULL". Which is fine for any struct tm generated by tzcode, but not
necessarily true of a struct tm constructed by arbitrary code. In particular,
Netflix on Nexus Player was failing to start because they format "%Z" with
a struct tm whose tm_zone is null (the other fields are valid, but, yeah,
that's probably not intentional).

glibc takes a null tm_zone to mean "the current time zone", so let's do that
too. (Historically Android would use the empty string, and POSIX doesn't
clarify which of this is the appropriate behavior when tm_zone is null.)

Bug: http://b/25170306
Change-Id: Idbf68bfe90d143aca7dada8607742905188b1d33
2015-11-12 16:51:31 -08:00
Nick Kralevich
2ed1b29d00 FORTIFY_SOURCE: make sure gcc unittests are compiled with gcc
The default compiler is clang. We need to explicitly indicate
that we should use gcc.

Change-Id: I37859c2e303f2a86a2565fe72eda1fda7c557a59
2015-11-12 15:55:13 -08:00
Chih-hung Hsieh
a2e9d90811 Merge "Still cannot compile with clang on arm64."
am: 7c10ee9473

* commit '7c10ee9473b5c46da733b2d3d24cf90fb8ac7672':
  Still cannot compile with clang on arm64.
2015-11-12 20:51:05 +00:00
Chih-hung Hsieh
7c10ee9473 Merge "Still cannot compile with clang on arm64." 2015-11-12 20:45:48 +00:00
Chih-Hung Hsieh
c04647f8c2 Still cannot compile with clang on arm64.
When __cxa_thread_atexit_impl.cpp is compiled with clang on arm64,
Android cannot boot up.

BUG: 25662915
Change-Id: If997b544f43e956172ce605d86fe147d42fd39e0
2015-11-12 12:39:13 -08:00
Chih-hung Hsieh
c0116bd3db Merge "Enable clang for modules failed with TLS."
am: 0c447053de

* commit '0c447053de4b87d50ebec260c7e1d949fe934065':
  Enable clang for modules failed with TLS.
2015-11-12 01:09:37 +00:00
Chih-hung Hsieh
0c447053de Merge "Enable clang for modules failed with TLS." 2015-11-12 01:04:51 +00:00
Elliott Hughes
fd57638117 Merge "Clean up pthread_gettid_np test."
am: dbc6398e95

* commit 'dbc6398e95df44a18715ce5ba19b8e1a93b969d4':
  Clean up pthread_gettid_np test.
2015-11-12 01:04:38 +00:00
Elliott Hughes
dbc6398e95 Merge "Clean up pthread_gettid_np test." 2015-11-12 00:59:08 +00:00
Chih-Hung Hsieh
5058a005b8 Enable clang for modules failed with TLS.
New 3.8 clang/llvm can compile TLS code now.
* For x86_64, still disable clang due to f128 bug.
* For b/25643775, arm and arm64, disable clang in unit tests.
* Fix thread_local_test.cpp to compile with clang and
  limit gcc workaround only to arm and aarch64.

BUG: 25643775

Change-Id: Iecd006bf1fc417dbcce2c63343a59c4bf1fa77ea
2015-11-11 16:22:38 -08:00
Josh Gao
504e3274a0 Merge "Add 100 column limit to .clang-format."
am: b03e6bf924

* commit 'b03e6bf9247bb36162b9f4c61d07e488a18e126c':
  Add 100 column limit to .clang-format.
2015-11-11 22:25:42 +00:00
Josh Gao
b03e6bf924 Merge "Add 100 column limit to .clang-format." 2015-11-11 22:22:59 +00:00
Josh Gao
615f3aa8b4 Add 100 column limit to .clang-format.
Change-Id: I3c3fa5e61cfb2af7f2888dcee56229692ec1479c
2015-11-11 14:21:09 -08:00
Elliott Hughes
f208361b2b Clean up pthread_gettid_np test.
Change-Id: I0fad26c7824981bfa3ad3a8a0b28a1984062dcd1
2015-11-11 13:32:28 -08:00
Elliott Hughes
2b1e258fec Merge "Fix potential race condition on CTS TC pthread_gettid_np"
am: ffe5c24c86

* commit 'ffe5c24c8693f1f4fc8edb68075fb36df558b801':
  Fix potential race condition on CTS TC pthread_gettid_np
2015-11-11 21:25:38 +00:00
Elliott Hughes
ffe5c24c86 Merge "Fix potential race condition on CTS TC pthread_gettid_np" 2015-11-11 21:21:33 +00:00
Junjie Hu
de1246202a Fix potential race condition on CTS TC pthread_gettid_np
Root cause:
If start_routine thread exits before pthread_gettid_np is invokded, the "tid" field
will be cleared so that pthread_gettid_np will get "0" (which is cleared by kernel, 
due to the flag "CLONE_CHILD_CLEARTID" is set while calling clone system call inside
pthread_create).

Proposed patch:
Use a mutex to guarantee pthread_gettid_np will be invoked and returned before the
start_routine exits

Signed-off-by: Junjie Hu <junjie.hu@mediatek.com>

Change-Id: I22411f1b0f7446d76a0373cef4ccec858fac7018
(cherry picked from commit 4f8010293506d4e08d184e66bf4af44ef3483611)
2015-11-11 21:21:21 +00:00
Nick Kralevich
8640233fef Merge "libc_init_common.cpp: Clarify when environment stripping occurs"
am: 6209b99a73

* commit '6209b99a7351ed732ab25bb2ffa75465366b244f':
  libc_init_common.cpp: Clarify when environment stripping occurs
2015-11-11 02:09:36 +00:00
Nick Kralevich
6209b99a73 Merge "libc_init_common.cpp: Clarify when environment stripping occurs" 2015-11-11 02:06:59 +00:00
Nick Kralevich
2fb02651c8 libc_init_common.cpp: Clarify when environment stripping occurs
The current comment implies that we only strip sensitive
environment variables on executing a setuid program. This is
true but incomplete. The AT_SECURE flag is set whenever a
security transition occurs, such as executing a setuid program,
SELinux security transition, executing a file with file capabilities,
etc...

Fixup the comments.

Change-Id: I30a73992adfde14d6e5f642b3a1ead2ee56726be
2015-11-10 16:45:49 -08:00
Tom Cherry
8e86f33690 Merge "Refactor prop_area into a class"
am: 2a7f1b335d

* commit '2a7f1b335dcd08a480c4acc948ba202bae1a0a1f':
  Refactor prop_area into a class
2015-11-10 21:58:23 +00:00
Tom Cherry
2a7f1b335d Merge "Refactor prop_area into a class" 2015-11-10 21:54:39 +00:00
Tom Cherry
926ebe1094 Refactor prop_area into a class
Bug 21852512

Change-Id: I432bf592f1a71a046c32616fc334ad77c220f0ca
2015-11-09 17:22:44 -08:00
Josh Gao
2fdaa6c599 Merge "Fix test failure."
am: 11b3916b83

* commit '11b3916b83e33fce9e3123659fe4e61ef84d39b5':
  Fix test failure.
2015-11-10 00:10:20 +00:00
Josh Gao
11b3916b83 Merge "Fix test failure." 2015-11-10 00:08:09 +00:00
Josh Gao
09fac86ca3 Fix test failure.
Bug: http://b/25596173
Change-Id: I0cf8f550837d4a936d6a784063a0ec9509150358
2015-11-09 16:04:50 -08:00
Dan Willemsen
dcf501913d Merge "Update Android.bp with latest Android.mk changes"
am: 704e048cbf

* commit '704e048cbfcb69b7906371f9f4cae4cb6357096e':
  Update Android.bp with latest Android.mk changes
2015-11-09 22:31:50 +00:00
Dan Willemsen
704e048cbf Merge "Update Android.bp with latest Android.mk changes" 2015-11-09 22:28:18 +00:00
Dan Willemsen
dc6b0a7b93 Update Android.bp with latest Android.mk changes
Change-Id: I45f6292fcc4d4559519d88f948b4478204b08f25
2015-11-09 14:03:46 -08:00
Yabin Cui
a74eb4dbf5 Merge "Add fileno_unlocked to support thread sanitizer."
am: 0e6542b75b

* commit '0e6542b75b2f3ca155b452782d2122f34f807485':
  Add fileno_unlocked to support thread sanitizer.
2015-11-07 00:30:09 +00:00
Yabin Cui
0e6542b75b Merge "Add fileno_unlocked to support thread sanitizer." 2015-11-07 00:24:52 +00:00
Yabin Cui
fb994f4c04 Add fileno_unlocked to support thread sanitizer.
Bug: 25392375
Change-Id: If3f92a0e08a53f4b59e01397e8efa307d8572349
2015-11-06 16:13:47 -08:00
Elliott Hughes
4eba804ca0 Merge "fix the mremap signature"
am: 8b5b2c4672

* commit '8b5b2c467281de502ba1c8ffbe447ef95fbf5219':
  fix the mremap signature
2015-11-06 21:24:59 +00:00
Elliott Hughes
8b5b2c4672 Merge "fix the mremap signature" 2015-11-06 21:18:08 +00:00
Daniel Micay
4200e260d2 fix the mremap signature
The mremap definition was incorrect (unsigned long instead of int) and
it was missing the optional new_address parameter.

Change-Id: Ib9d0675aaa098c21617cedc9b2b8cf267be3aec4
2015-11-06 13:14:43 -08:00
Dimitry Ivanov
bc0b61e407 Merge "linker: cleanup solist after unsuccessful read"
am: 3482613685

* commit '3482613685342da365a7569220f8e6c27a1fe7e5':
  linker: cleanup solist after unsuccessful read
2015-11-06 19:02:08 +00:00
Dimitry Ivanov
3482613685 Merge "linker: cleanup solist after unsuccessful read" 2015-11-06 19:00:24 +00:00
Dmitriy Ivanov
fd7a91e692 linker: cleanup solist after unsuccessful read
Bug: http://b/25560017
Change-Id: I03c5a1d7aed34c480d341aacfb3b1afdfa037b99
2015-11-06 10:44:37 -08:00
Dimitry Ivanov
2dc1e91dba Merge "Fix linked_list::remove_if()"
am: 004fead6bc

* commit '004fead6bc55d1e65b4fb9ca1ac36646b99e5fdd':
  Fix linked_list::remove_if()
2015-11-06 02:35:02 +00:00
Dimitry Ivanov
004fead6bc Merge "Fix linked_list::remove_if()" 2015-11-06 02:32:34 +00:00
Dmitriy Ivanov
7a9311f7f1 Fix linked_list::remove_if()
When remove_if removes last element from the list
following push_back stops working.

Change-Id: Ia3e92763b83a2e172eaa10de7aecfb7a4be452d7
2015-11-05 17:41:05 -08:00
Colin Cross
10c6a7c7b9 Merge "Use cc_defaults"
am: ef5e647891

* commit 'ef5e647891f1a0aefeab4a87e9225e47087c6301':
  Use cc_defaults
2015-11-05 02:00:22 +00:00
Colin Cross
ef5e647891 Merge "Use cc_defaults" 2015-11-05 01:56:58 +00:00
Josh Gao
824084ce76 Merge "Fix GNU/POSIX basename headers."
am: dd7dcfcfdb

* commit 'dd7dcfcfdbab3b38fc40551defdf81c3b734e336':
  Fix GNU/POSIX basename headers.
2015-11-04 22:28:19 +00:00
Josh Gao
dd7dcfcfdb Merge "Fix GNU/POSIX basename headers." 2015-11-04 22:26:13 +00:00
Josh Gao
eb9b925012 Fix GNU/POSIX basename headers.
Including glibc's <libgen.h> will result in the user getting the POSIX
version of basename always, regardless of when it is included relative
to <string.h>. Prior to this patch, our implementation would result in
the one that's included first winning.

Bug: http://b/25459151
Change-Id: Id4aaf1670dad317d6bbc05763a84ee87596e8e59
2015-11-04 14:19:55 -08:00
Colin Cross
50c21ab47d Use cc_defaults
Use a cc_defaults module to reduce duplication.

Change-Id: Iaee6bf20b84123babcdc68d4feb06308f5f61a59
2015-11-03 17:25:36 -08:00
Dan Willemsen
021d959eba Merge "Update Android.bp with arch-specific version scripts"
am: 4b920f042a

* commit '4b920f042ac4b35c4dd3ff51f7b8f164a22e3500':
  Update Android.bp with arch-specific version scripts
2015-11-03 23:26:08 +00:00
Josh Gao
a59479434c Merge "fix PTRDIFF_MAX check in the 32-bit mmap wrapper"
am: af909869d8

* commit 'af909869d868585a47914ab51536192da50935cb':
  fix PTRDIFF_MAX check in the 32-bit mmap wrapper
2015-11-03 23:25:55 +00:00
Dan Willemsen
4b920f042a Merge "Update Android.bp with arch-specific version scripts" 2015-11-03 22:38:23 +00:00
Dan Willemsen
9e6f98fe9d Update Android.bp with arch-specific version scripts
Change-Id: I59b34f21b54e8a2084bb318a08c4092064f48083
2015-11-03 14:30:57 -08:00
Bill Yi
a4bff2106b Merge commit '6ebfb7b4ea158005a725f43564267e0aed764d80' into HEAD 2015-11-03 14:28:57 -08:00
Josh Gao
af909869d8 Merge "fix PTRDIFF_MAX check in the 32-bit mmap wrapper" 2015-11-03 19:35:05 +00:00
Daniel Micay
706186d266 fix PTRDIFF_MAX check in the 32-bit mmap wrapper
It wasn't making use of the page-rounded size.

Change-Id: I911345fcfd6419a4dbc18a4622b42e1b76729abb
2015-11-03 05:30:29 -05:00
Christopher Ferris
9fe02f3e3c Merge "Fix comment to reflect the actual reality."
am: e07558fb80

* commit 'e07558fb80da4e196e8b7e371041c1e75c56b29b':
  Fix comment to reflect the actual reality.
2015-11-02 21:10:19 +00:00
Christopher Ferris
e07558fb80 Merge "Fix comment to reflect the actual reality." 2015-11-02 21:07:04 +00:00
Christopher Ferris
384ffe3463 Fix comment to reflect the actual reality.
The original comment implied that Android 32 bit was the only one
using a bad time_t, but it turns out 32 bit glibc has the same time_t
as Android. Update the comment to reflect this reality.

Change-Id: I72cdd2c677a6521f7b43d4695a52fd8fdc3305bd
2015-11-02 12:56:37 -08:00
Dimitry Ivanov
86bf87c054 Merge "Generate libdl.so per-architecture version script"
am: 75dd3710e7

* commit '75dd3710e72e819ce6710e93672f937550ed3818':
  Generate libdl.so per-architecture version script
2015-10-31 18:20:28 +00:00
Dimitry Ivanov
75dd3710e7 Merge "Generate libdl.so per-architecture version script" 2015-10-31 18:17:17 +00:00
Christopher Ferris
0ba085de2c Merge "Make _signal hidden in all cases."
am: 6a8a09f7c4

* commit '6a8a09f7c40fb677a8dc8a233b58f62df8ae79dc':
  Make _signal hidden in all cases.
2015-10-31 16:15:17 +00:00
Christopher Ferris
6a8a09f7c4 Merge "Make _signal hidden in all cases." 2015-10-31 16:11:48 +00:00
Dmitriy Ivanov
bc75047a1b Generate libdl.so per-architecture version script
Bug: http://b/24767418
Change-Id: I3d5775ba44d4c8e7fc5f2fbebae10e022100f1e2
2015-10-30 17:43:27 -07:00
Christopher Ferris
1721cd6a74 Make _signal hidden in all cases.
_signal was static in 64 bit, and hidden on 32 bit. There is no
reason to have this distinction, so make it hidden in all cases.

Change-Id: I09d5d93ac8cab4fe14dc7bdfeb25aa46a3b7413d
2015-10-30 17:10:47 -07:00
Elliott Hughes
a8f69017e5 Merge "Add prlimit to LP32."
am: c36be975ce

* commit 'c36be975ce4525b452435f43beb1fb9fc26a7fdc':
  Add prlimit to LP32.
2015-10-30 23:40:48 +00:00
Elliott Hughes
c36be975ce Merge "Add prlimit to LP32." 2015-10-30 23:35:40 +00:00
Elliott Hughes
caa61b03b2 Merge "Remove <sys/shm.h>."
am: bdac9ec142

* commit 'bdac9ec142347a0dc9784bddd0f8336535e73529':
  Remove <sys/shm.h>.
2015-10-30 22:16:58 +00:00
Elliott Hughes
bdac9ec142 Merge "Remove <sys/shm.h>." 2015-10-30 22:06:26 +00:00
Christopher Ferris
6297e3231c Merge "Move __set_errno to ndk_cruft.cpp."
am: e75453d5dd

* commit 'e75453d5dd8b373f6e7ef61ec22a6a3074d51e02':
  Move __set_errno to ndk_cruft.cpp.
2015-10-30 16:06:45 +00:00
Christopher Ferris
e75453d5dd Merge "Move __set_errno to ndk_cruft.cpp." 2015-10-30 16:02:01 +00:00
Elliott Hughes
38eca07826 Remove <sys/shm.h>.
Android doesn't allow SysV IPC, so this only serves two purposes. It's
good in that it helps random code (especially code that doesn't actually
need this header) to compile anyway. But it's bad for the same reason:
it's misleading for configure scripts that test for the header but not
for the corresponding functions.

Bug: http://b/19340456
Change-Id: I4a5f319d9aecf46fc512fc94bb4f9e3f6ea64e71
2015-10-29 19:52:44 -07:00
Christopher Ferris
9978a9a82e Move __set_errno to ndk_cruft.cpp.
Change-Id: I5caa1cc161961d2e4629429c0d406875b93cdbd0
2015-10-29 18:11:32 -07:00
Elliott Hughes
4151db5f99 Add prlimit to LP32.
Bug: http://b/24918750
Change-Id: I0151cd66ccf79a6169610de35bb9c288c0fa4917
2015-10-28 20:04:59 -07:00
Dimitry Ivanov
6ebfb7b4ea Merge "Fix mips and x86 builds" am: 50e9279589
am: fedb167c55

* commit 'fedb167c551540133d88d46a1de7c17b865cbf32':
  Fix mips and x86 builds
2015-10-29 00:59:46 +00:00
Dimitry Ivanov
fedb167c55 Merge "Fix mips and x86 builds"
am: 50e9279589

* commit '50e92795890c0d8b4bf54c535f66f3b2edf7bd59':
  Fix mips and x86 builds
2015-10-29 00:56:57 +00:00
Dimitry Ivanov
50e9279589 Merge "Fix mips and x86 builds" 2015-10-29 00:53:52 +00:00
Dmitriy Ivanov
c176440c90 Fix mips and x86 builds
Change-Id: Idda2494876fd6bf64b3efe6de2e384da9b6a0dbc
2015-10-28 17:51:47 -07:00
Dimitry Ivanov
316938a676 Merge "Fix LDFLAGS for arm and x86" am: 5ccad497d4
am: bd5bf272a0

* commit 'bd5bf272a0fbb65ad1658106cde4c2ec5f5ce520':
  Fix LDFLAGS for arm and x86
2015-10-29 00:50:51 +00:00
Dimitry Ivanov
bd5bf272a0 Merge "Fix LDFLAGS for arm and x86"
am: 5ccad497d4

* commit '5ccad497d43e7587ec5581845e5094488093f76d':
  Fix LDFLAGS for arm and x86
2015-10-29 00:47:16 +00:00
Dimitry Ivanov
5ccad497d4 Merge "Fix LDFLAGS for arm and x86" 2015-10-29 00:43:00 +00:00
Dmitriy Ivanov
e85fb580c8 Fix LDFLAGS for arm and x86
Change-Id: I5366f4499cb4da3a51b8484ab3e4ff785f0888ab
2015-10-28 17:25:34 -07:00
Dimitry Ivanov
c5f943eb2e Merge "Generate per-architecture version scripts." am: 578d949e8d
am: b420ddd27e

* commit 'b420ddd27e1ce0becf0e57c0fc0efe9ec726ab21':
  Generate per-architecture version scripts.
2015-10-28 23:55:10 +00:00
Dimitry Ivanov
b420ddd27e Merge "Generate per-architecture version scripts."
am: 578d949e8d

* commit '578d949e8df782134127b4ae384f731d9d7c6694':
  Generate per-architecture version scripts.
2015-10-28 23:51:49 +00:00
Elliott Hughes
7f337bd1e3 Merge "Remove the legacy endusershell/getusershell/setusershell stubs." am: d9146c2404
am: 601183efaf

* commit '601183efafffb2a145736b4a3f73be1034d761b0':
  Remove the legacy endusershell/getusershell/setusershell stubs.
2015-10-28 23:48:12 +00:00
Dimitry Ivanov
578d949e8d Merge "Generate per-architecture version scripts." 2015-10-28 23:44:03 +00:00
Elliott Hughes
601183efaf Merge "Remove the legacy endusershell/getusershell/setusershell stubs."
am: d9146c2404

* commit 'd9146c24041ad571e3725ab630d9ac94df3ff6d1':
  Remove the legacy endusershell/getusershell/setusershell stubs.
2015-10-28 23:43:05 +00:00
Dmitriy Ivanov
284b468524 Generate per-architecture version scripts.
Bug: http://b/24767418
Change-Id: I23e49d8d30c0def3215ffbd99d09f207d9483624
2015-10-28 16:40:53 -07:00
Elliott Hughes
d9146c2404 Merge "Remove the legacy endusershell/getusershell/setusershell stubs." 2015-10-28 23:35:25 +00:00
Elliott Hughes
d7c7daada2 Remove the legacy endusershell/getusershell/setusershell stubs.
These don't work, aren't thread-safe, aren't in POSIX (or our header
files), and are only used by one app (whose developers I've contacted).
But the presence of these symbols causes configure to be confused, which
is a pain for Brillo.

Bug: http://b/24812426
Change-Id: I7fa6ef82864d5563929d9b8a7f8fcacb30b26d45
2015-10-28 14:20:16 -07:00
Elliott Hughes
2c11b07ee0 Merge "Implement scandirat and scandirat64." am: 1721be2229
am: a1be410fd7

* commit 'a1be410fd7f916063164fd9daf28ca992af828d7':
  Implement scandirat and scandirat64.
2015-10-27 22:02:54 +00:00
Elliott Hughes
a1be410fd7 Merge "Implement scandirat and scandirat64."
am: 1721be2229

* commit '1721be2229d07b5eea830f02a76e7be56d172aa9':
  Implement scandirat and scandirat64.
2015-10-27 21:57:55 +00:00
Elliott Hughes
1721be2229 Merge "Implement scandirat and scandirat64." 2015-10-27 21:40:31 +00:00
Elliott Hughes
6331e806de Implement scandirat and scandirat64.
Bug: http://b/12612339
Change-Id: Id3b249a884fe08964b26a017ae9574961f0cb441
2015-10-27 13:47:36 -07:00
Dimitry Ivanov
75347e52b0 Merge "Implement load at fixed address feature" am: 5238eb0984
am: 9e599956b2

* commit '9e599956b2ece835b480182eee27209b4a831a19':
  Implement load at fixed address feature
2015-10-27 19:17:38 +00:00
Dimitry Ivanov
9e599956b2 Merge "Implement load at fixed address feature"
am: 5238eb0984

* commit '5238eb09844f9c1578353d4c9e297aadb34c71be':
  Implement load at fixed address feature
2015-10-27 19:12:34 +00:00
Dimitry Ivanov
5238eb0984 Merge "Implement load at fixed address feature" 2015-10-27 19:03:53 +00:00
Dmitriy Ivanov
126af757c6 Implement load at fixed address feature
Bug: http://b/24683631
Change-Id: I3a39ab526c8f9e213339b60e135e5459d0f41381
2015-10-27 11:27:34 -07:00
Elliott Hughes
3b9b14830b Merge "Fix <utmp.h> declarations." am: 60752a2eea
am: 6e780f2f47

* commit '6e780f2f47655ce264cfe90c4a721eb609fdbfec':
  Fix <utmp.h> declarations.
2015-10-27 15:15:10 +00:00
Elliott Hughes
6e780f2f47 Merge "Fix <utmp.h> declarations."
am: 60752a2eea

* commit '60752a2eeab8cd0b344b27c67a47e30628962211':
  Fix <utmp.h> declarations.
2015-10-27 15:11:58 +00:00
Elliott Hughes
60752a2eea Merge "Fix <utmp.h> declarations." 2015-10-27 15:07:12 +00:00
Elliott Hughes
9216a64c90 Fix <utmp.h> declarations.
If we're going to keep this useless header -- and I think it's too late to
remove it -- it may as well be correct.

Bug: http://b/17700469
Change-Id: Ifec4f8f1a984483d7fa7d81d47786f75b70ff4ba
2015-10-26 19:29:12 -07:00
Elliott Hughes
164bd7349b Merge "Remove swap16/swap32/swap64 header pollution." am: a2cf3783d4
am: 00e9bfe523

* commit '00e9bfe523a045131142b13a766774f1ee43555e':
  Remove swap16/swap32/swap64 header pollution.
2015-10-27 02:14:39 +00:00
Elliott Hughes
00e9bfe523 Merge "Remove swap16/swap32/swap64 header pollution."
am: a2cf3783d4

* commit 'a2cf3783d4e9a4008ed468ef3204593f8f549934':
  Remove swap16/swap32/swap64 header pollution.
2015-10-27 02:11:17 +00:00
Elliott Hughes
a2cf3783d4 Merge "Remove swap16/swap32/swap64 header pollution." 2015-10-27 02:07:35 +00:00
Elliott Hughes
bf4c32df6b Remove swap16/swap32/swap64 header pollution.
This seems to be obsolete BSD stuff, and the only references to it in the
tree are people #undef'ing it.

Bug: http://b/2735009
Change-Id: Icde523ae2d15cf1025357d861f97b415e89e4f9a
2015-10-26 17:51:42 -07:00
Dimitry Ivanov
159f0d4013 Merge "Implement Library Load Order Randomization" am: 6a4ddeb56e
am: 3d784087cd

* commit '3d784087cd292f5ed10f9560f28152db3c4d550e':
  Implement Library Load Order Randomization
2015-10-26 22:43:06 +00:00
Dimitry Ivanov
3d784087cd Merge "Implement Library Load Order Randomization"
am: 6a4ddeb56e

* commit '6a4ddeb56ef2144e98437ae82f84b09ea785e411':
  Implement Library Load Order Randomization
2015-10-26 22:38:01 +00:00
Dimitry Ivanov
6a4ddeb56e Merge "Implement Library Load Order Randomization" 2015-10-26 22:30:35 +00:00
Christopher Ferris
382524878a Merge "Fix arm64 fenv warnings, and make warnings errors." am: 1ab8251030
am: 25a7efa7e9

* commit '25a7efa7e9a4bee5cae872c59a5edab8cae147da':
  Fix arm64 fenv warnings, and make warnings errors.
2015-10-24 16:10:07 +00:00
Christopher Ferris
25a7efa7e9 Merge "Fix arm64 fenv warnings, and make warnings errors."
am: 1ab8251030

* commit '1ab8251030407ec397009b46db025f8e9688abc8':
  Fix arm64 fenv warnings, and make warnings errors.
2015-10-24 16:06:17 +00:00
Christopher Ferris
1ab8251030 Merge "Fix arm64 fenv warnings, and make warnings errors." 2015-10-24 16:00:29 +00:00
Christopher Ferris
fa7752986d Fix arm64 fenv warnings, and make warnings errors.
Even though the control registers being read/written in fenv.c only
have 32 bits that are used, the instructions take a 64 bit register.
Make sure the inline assembler in the macros use 64 bit values.

Verified that before the change and after the change, the disassembly
is exactly the same.

In addition, add -Werror to the cflags.

Change-Id: I6603779327488c23e3aab13300edf2e02b101916
2015-10-23 16:41:17 -07:00
Christopher Ferris
c9ad2274b2 Merge "Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC." am: ca430d9787
am: c5b9c4d72f

* commit 'c5b9c4d72f141fea8b03561c0c8f5f7068ea93ea':
  Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC.
2015-10-23 21:08:31 +00:00
Dimitry Ivanov
172cdd79a5 Merge "refactoring: introduce MappedFileFragment" am: e08ab4b414
am: 67e282d511

* commit '67e282d5111fd8920b271dd1bbbb7348e06f719f':
  refactoring: introduce MappedFileFragment
2015-10-23 21:08:26 +00:00
Christopher Ferris
c5b9c4d72f Merge "Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC."
am: ca430d9787

* commit 'ca430d9787f1c11c2df8e908c64fe2ef2e6d54ed':
  Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC.
2015-10-23 21:02:56 +00:00
Dimitry Ivanov
67e282d511 Merge "refactoring: introduce MappedFileFragment"
am: e08ab4b414

* commit 'e08ab4b4144b8c4c920221b403daa220b43df2fb':
  refactoring: introduce MappedFileFragment
2015-10-23 21:02:51 +00:00
Christopher Ferris
ca430d9787 Merge "Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC." 2015-10-23 20:56:09 +00:00
Dimitry Ivanov
e08ab4b414 Merge "refactoring: introduce MappedFileFragment" 2015-10-23 20:54:00 +00:00
Christopher Ferris
a818445622 Rename LIBC64_HIDDEN to LIBC32_LEGACY_PUBLIC.
Change-Id: If4da9e46398ca5524f6f0680d70588e3dc7e80b4
2015-10-23 12:32:52 -07:00
Andreas Gampe
bdff4ce8ed resolve merge conflicts of 216bff9ff3 to mnc-dr-dev.
am: 807032d0e1

* commit '807032d0e12877a4c92ac7f6072d5dd9e1f76f3c':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-23 05:39:52 +00:00
Andreas Gampe
807032d0e1 resolve merge conflicts of 216bff9ff3 to mnc-dr-dev.
Change-Id: I63c4f3a4e56f30d6f476ad2c623c23ee7e1a3778
2015-10-22 22:15:26 -07:00
Yabin Cui
12b46fb00e Merge "Use bionic lock in pthread_internal_t." am: c45f3bf3e6
am: 0507b6e9e6

* commit '0507b6e9e65132a95bc0e366faa0df729b219b43':
  Use bionic lock in pthread_internal_t.
2015-10-23 04:36:12 +00:00
Yabin Cui
0507b6e9e6 Merge "Use bionic lock in pthread_internal_t."
am: c45f3bf3e6

* commit 'c45f3bf3e691f48af63c5ea2bf7a348a698013ac':
  Use bionic lock in pthread_internal_t.
2015-10-23 04:32:44 +00:00
Yabin Cui
c45f3bf3e6 Merge "Use bionic lock in pthread_internal_t." 2015-10-23 04:26:54 +00:00
Yabin Cui
d26e780df6 Use bionic lock in pthread_internal_t.
It removes calling to pthread_mutex_lock() at the beginning of new
thread, which helps to support thread sanitizer.

Change-Id: Ia3601c476de7976a9177b792bd74bb200cee0e13
2015-10-22 20:14:33 -07:00
Dmitriy Ivanov
4f7a7ad3fe Implement Library Load Order Randomization
Bug: http://b/24047022
Change-Id: I36e05b403bfbaae8542a95147f9114a8b9c8ac0e
2015-10-22 18:26:07 -07:00
Dmitriy Ivanov
cf1cbbe432 refactoring: introduce MappedFileFragment
Change-Id: I97b0c1131711ed0ac13ab33e3357e99e0b6b1a4e
2015-10-22 18:01:56 -07:00
Christopher Ferris
216bff9ff3 resolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.
am: afff4442ae

* commit 'afff4442ae092469f298a71862d61c65ceb67b03':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-22 22:27:54 +00:00
Christopher Ferris
afff4442ae resolve merge conflicts of d676080a37 to lmp-mr1-ub-dev.
Change-Id: I56c1bb2adb4b6a48733c928415e788e689b4944e
2015-10-21 14:56:52 -07:00
Elliott Hughes
d676080a37 Sync with upstream NetBSD lib/libc/regex.
am: 055a66c9b1

* commit '055a66c9b1017c01b82c12b65a571bf9efad8b19':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-21 21:45:01 +00:00
Dan Willemsen
258a775d75 Merge "Switch to LOCAL_SRC_FILES_EXCLUDE" am: 5edf077c5b
am: 788eae7286

* commit '788eae728675bcf59f2b0809e85532c6ac357e2c':
  Switch to LOCAL_SRC_FILES_EXCLUDE
2015-10-20 20:58:25 +00:00
Dan Willemsen
788eae7286 Merge "Switch to LOCAL_SRC_FILES_EXCLUDE"
am: 5edf077c5b

* commit '5edf077c5b92f0db212e45ed5402339a6e4c7334':
  Switch to LOCAL_SRC_FILES_EXCLUDE
2015-10-20 20:52:01 +00:00
Dan Willemsen
5edf077c5b Merge "Switch to LOCAL_SRC_FILES_EXCLUDE" 2015-10-20 20:44:29 +00:00
Dan Willemsen
268a673bd1 Switch to LOCAL_SRC_FILES_EXCLUDE
This moves the generic arm/arm64/x86 settings into the main makefiles
and makes the rest of them derivatives. This better aligns with how
soong handles arch/cpu variants.

Also updates the Android.bp to make it consistent with the make
versions.

Change-Id: I5a0275d992bc657459eb6fe1697ad2336731d122
2015-10-20 11:58:28 -07:00
Mike Frysinger
4e0c4032d1 Merge "dlfcn: update ifdef around old_name_" am: 5c495dacda
am: 0fb6704e82

* commit '0fb6704e82fef450a01cca3b13d2fa02f66d47a5':
  dlfcn: update ifdef around old_name_
2015-10-20 18:42:59 +00:00
Mike Frysinger
0fb6704e82 Merge "dlfcn: update ifdef around old_name_"
am: 5c495dacda

* commit '5c495dacdadff9dfbe48be31d4b30c5fe75ac7db':
  dlfcn: update ifdef around old_name_
2015-10-20 18:31:32 +00:00
Mike Frysinger
5c495dacda Merge "dlfcn: update ifdef around old_name_" 2015-10-20 18:23:22 +00:00
Mike Frysinger
747d30ebf3 dlfcn: update ifdef around old_name_
Commit 9185e04f72c16d2a66d92ac89b38ee926d7f706b changed the ifdef around
old_name_ from __arm__ to __work_around_b_###__, but missed one place in
dlfcn.cpp.  So if you do a build w/out that workaround for arm, you end
up with a build failure:
bionic/linker/dlfcn.cpp:275:27: error: no member named 'old_name_' in 'soinfo'
    strlcpy(__libdl_info->old_name_, __libdl_info->soname_, sizeof(__libdl_info->old_name_));
            ~~~~~~~~~~~~  ^
bionic/linker/dlfcn.cpp:275:82: error: no member named 'old_name_' in 'soinfo'
    strlcpy(__libdl_info->old_name_, __libdl_info->soname_, sizeof(__libdl_info->old_name_));
                                                                   ~~~~~~~~~~~~  ^

Bug: 24425865
Change-Id: Idbe1cc1c28083afeee6d90203c221f30f661c69c
2015-10-20 14:06:25 -04:00
Josh Gao
56ecb9bf2a Merge "Remove deprecated use of ldm/stm in ARM setjmp." am: f5ea085844
am: 053867ded8

* commit '053867ded82271f3f2795f3dcf62b4e7735619c8':
  Remove deprecated use of ldm/stm in ARM setjmp.
2015-10-20 01:48:47 +00:00
Josh Gao
053867ded8 Merge "Remove deprecated use of ldm/stm in ARM setjmp."
am: f5ea085844

* commit 'f5ea085844c66e7a65709edd7485a49396e556ce':
  Remove deprecated use of ldm/stm in ARM setjmp.
2015-10-20 01:30:32 +00:00
Josh Gao
f5ea085844 Merge "Remove deprecated use of ldm/stm in ARM setjmp." 2015-10-20 01:01:19 +00:00
Josh Gao
b24d743f62 Remove deprecated use of ldm/stm in ARM setjmp.
ARM deprecates using the SP register in the register lists for ldm
and stm, which LLVM emits a warning for.

Bug: http://b/25017080
Change-Id: Ib427e3dfd5740e251f1ad91ebb66534e0d7b72a9
2015-10-19 17:13:51 -07:00
Elliott Hughes
64f628f8d3 am 43b1f823: am 1a61896b: am 98384649: am 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '43b1f823b5a739437cbe14e24d8449028e3c8f6e':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 17:46:59 +00:00
Elliott Hughes
055a66c9b1 Sync with upstream NetBSD lib/libc/regex.
Bug: http://b/22850181
Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904

(cherry-picked from commit 71927a82379f7a72559ea96e6678d6215090937f)
2015-10-19 10:42:31 -07:00
Elliott Hughes
43b1f823b5 am 1a61896b: am 98384649: am 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '1a61896b1bc470f9377eeeafec461aba0d0dda6c':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 17:32:59 +00:00
Elliott Hughes
1a61896b1b am 98384649: am 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '98384649b2d3f3eb5b03077bc0004e14a99a4d55':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 17:29:49 +00:00
Elliott Hughes
98384649b2 am 75316283: am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '753162836a0d3a82739611c9e30aa872363558b1':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 17:25:29 +00:00
Elliott Hughes
753162836a am 2d23418e: am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '2d23418e68acdab7e142cc75db2850a54aa829aa':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 10:14:41 -07:00
Elliott Hughes
2d23418e68 am 18442e02: (-s ours) am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit '18442e023536c5cf205b820ed5d74b972b710acb':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 10:07:34 -07:00
Elliott Hughes
18442e0235 am beb6e08a: Sync with upstream NetBSD lib/libc/regex.
* commit 'beb6e08abf1393663151afde2742bb23eccab4e1':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-19 15:34:19 +00:00
Elliott Hughes
630855a6d5 am 6764e0b5: am d29ba555: Merge "Opt Brillo out of the ndk cruft."
* commit '6764e0b5e546c318d13fcac0ddbf0bea88271768':
  Opt Brillo out of the ndk cruft.
2015-10-17 03:16:47 +00:00
Elliott Hughes
6764e0b5e5 am d29ba555: Merge "Opt Brillo out of the ndk cruft."
* commit 'd29ba555130f1e61164cf6186cd6a29c7aa14719':
  Opt Brillo out of the ndk cruft.
2015-10-16 20:10:48 -07:00
Elliott Hughes
d29ba55513 Merge "Opt Brillo out of the ndk cruft." 2015-10-17 03:06:41 +00:00
Elliott Hughes
beb6e08abf Sync with upstream NetBSD lib/libc/regex.
Bug: http://b/22850181
(cherry-picked from commit 71927a82379f7a72559ea96e6678d6215090937f)

Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904
2015-10-16 17:52:55 -07:00
Dimitry Ivanov
a60b1aebb7 am 114605b0: am 5fd94dfe: Merge "Replace auto -> const auto&/auto&&"
* commit '114605b03666230f11113990b828356bfe692278':
  Replace auto -> const auto&/auto&&
2015-10-16 20:48:32 +00:00
Dimitry Ivanov
56cd1962b2 am c0e917ab: am 9c2122e8: Merge "Fix R_AARCH64_ABS/PREL relocations"
* commit 'c0e917abe5e94ce9729a8302b5ef3cb318003ea5':
  Fix R_AARCH64_ABS/PREL relocations
2015-10-16 20:48:30 +00:00
Dimitry Ivanov
114605b036 am 5fd94dfe: Merge "Replace auto -> const auto&/auto&&"
* commit '5fd94dfe3b36ee56e54d2002ad3a5e0fa8bff683':
  Replace auto -> const auto&/auto&&
2015-10-16 13:41:45 -07:00
Dimitry Ivanov
c0e917abe5 am 9c2122e8: Merge "Fix R_AARCH64_ABS/PREL relocations"
* commit '9c2122e803a01c80bef550eac2b24b5a79635a2a':
  Fix R_AARCH64_ABS/PREL relocations
2015-10-16 13:41:44 -07:00
Dimitry Ivanov
5fd94dfe3b Merge "Replace auto -> const auto&/auto&&" 2015-10-16 20:37:34 +00:00
Dimitry Ivanov
9c2122e803 Merge "Fix R_AARCH64_ABS/PREL relocations" 2015-10-16 20:36:25 +00:00
Dmitriy Ivanov
77f91c6d99 Fix R_AARCH64_ABS/PREL relocations
According to specification arm64 relocations
should not use *reloc value.

See http://infocenter.arm.com/help/topic/com.arm.doc.ihi0056b/IHI0056B_aaelf64.pdf
section 4.6.5

Bug: http://b/24977219
Bug: http://b/24527155
Change-Id: I3813255771f408ba957963c6ad56ed08e5110d83
2015-10-16 10:42:16 -07:00
Neil Fuller
3676052ce7 am 842866bd: Merge "Update timezone data to 2015g" into mnc-dr-dev
* commit '842866bd00220119e03fd8d2e6b77d7187b4b38c':
  Update timezone data to 2015g
2015-10-15 09:21:59 +00:00
Neil Fuller
842866bd00 Merge "Update timezone data to 2015g" into mnc-dr-dev 2015-10-15 08:25:58 +00:00
Dmitriy Ivanov
845dd0266b resolved conflicts for 95ac6dbb to mnc-dr-dev-plus-aosp
Change-Id: I8937cd33aa375824965d4f919038a99b30ab75ea
2015-10-14 18:41:36 -07:00
Dimitry Ivanov
c70d479dc6 am 8c9cb682: am 074efa02: Merge "Ensure that readlink has access to /proc/self/fd"
* commit '8c9cb6820fca3f73414219d816e10355a7052dbd':
  Ensure that readlink has access to /proc/self/fd
2015-10-15 01:37:37 +00:00
Dimitry Ivanov
8c9cb6820f am 074efa02: Merge "Ensure that readlink has access to /proc/self/fd"
* commit '074efa02a7de67589c36f75222e3b45c3f15206a':
  Ensure that readlink has access to /proc/self/fd
2015-10-15 01:31:15 +00:00
Christopher Ferris
9e2d37ccae am 3c30a156: Merge "Sync with upstream NetBSD lib/libc/regex." into mnc-dr-dev
* commit '3c30a156523f40250361e6ed8791919d1c71a4bb':
  Sync with upstream NetBSD lib/libc/regex.
2015-10-15 01:29:05 +00:00
Dimitry Ivanov
074efa02a7 Merge "Ensure that readlink has access to /proc/self/fd" 2015-10-15 01:27:17 +00:00
Dmitriy Ivanov
4e50d0247b Ensure that readlink has access to /proc/self/fd
/proc/self/fd is not available when PR_DUMPABLE is set to 0
which is default for the user builds. It leads to permission
denials on readlink.

This change fixes the problem by setting PR_DUMPABLE flag to 1
for readlink and restoring it's previous value after the call.

Bug: http://b/24912743
Change-Id: I3fd179c5c6b56af96d6a15ee597024ccb15e1a13
(cherry picked from commit cf92738fa5dee24050028a1235f815f2a0fd33b5)
2015-10-14 18:24:54 -07:00
Dimitry Ivanov
95ac6dbbb2 Merge "Ensure that readlink has access to /proc/self/fd" into mnc-dr-dev 2015-10-15 01:17:55 +00:00
Christopher Ferris
3c30a15652 Merge "Sync with upstream NetBSD lib/libc/regex." into mnc-dr-dev 2015-10-15 01:15:22 +00:00
Josh Gao
b16f1b4b89 am 559d9cf5: am c433a36f: Merge "Move malloc dispatch table to __libc_globals."
* commit '559d9cf5fa6d5339d1578530a73ecb81a91c27d9':
  Move malloc dispatch table to __libc_globals.
2015-10-14 23:54:59 +00:00
Josh Gao
559d9cf5fa am c433a36f: Merge "Move malloc dispatch table to __libc_globals."
* commit 'c433a36fb5fb8a1050e8ecbd94d215123b829e07':
  Move malloc dispatch table to __libc_globals.
2015-10-14 23:50:51 +00:00
Josh Gao
c433a36fb5 Merge "Move malloc dispatch table to __libc_globals." 2015-10-14 23:47:41 +00:00
Elliott Hughes
9a9572d577 Sync with upstream NetBSD lib/libc/regex.
Bug: http://b/22850181

(cherry picked from commit 71927a82379f7a72559ea96e6678d6215090937f)

Change-Id: I4a914f0594a66f38efb3026b7ba9d28a4887cb2d
2015-10-14 16:30:08 -07:00
Dmitriy Ivanov
cf92738fa5 Ensure that readlink has access to /proc/self/fd
/proc/self/fd is not available when PR_DUMPABLE is set to 0
which is default for the user builds. It leads to permission
denials on readlink.

This change fixes the problem by setting PR_DUMPABLE flag to 1
for readlink and restoring it's previous value after the call.

Bug: http://b/24912743
Change-Id: I3fd179c5c6b56af96d6a15ee597024ccb15e1a13
2015-10-14 11:15:45 -07:00
Neil Fuller
cd9278798a Update timezone data to 2015g
Changes affecting future time stamps

    Turkey's 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.
    (Thanks to Fatih.)

    Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
    (Thanks to Alexander Krivenyshev.)

    Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
    (Thanks to Ken Rylander.)

    Fort Nelson, British Columbia will not fall back on 2015-11-01. It has
    effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
    New zone America/Fort_Nelson.  (Thanks to Matt Johnson.)

  Changes affecting past time stamps

    Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.

Bug: 24595281
(cherry-picked from commit 31740bfdb942399235e42ea920b6b717dfa0279c)

Change-Id: I6a57fbdaf12a4b4ebf2a760fd3bd872055621106
2015-10-14 08:54:17 +00:00
Josh Gao
87bb58064d am 36ebee4f: am 198d13e8: Merge "make mmap fail on requests larger than PTRDIFF_MAX"
* commit '36ebee4f495b0c49ed686221dfe127f4ccd12b52':
  make mmap fail on requests larger than PTRDIFF_MAX
2015-10-14 02:27:42 +00:00
Josh Gao
36ebee4f49 am 198d13e8: Merge "make mmap fail on requests larger than PTRDIFF_MAX"
* commit '198d13e8c25e69f7dbda3f5e1a3258b13fe8db5d':
  make mmap fail on requests larger than PTRDIFF_MAX
2015-10-14 02:21:04 +00:00
Josh Gao
198d13e8c2 Merge "make mmap fail on requests larger than PTRDIFF_MAX" 2015-10-14 02:17:10 +00:00
Dimitry Ivanov
b8ab96910f am 090278d6: am 11c2179d: Merge "Log dlopen failures caused by text relocations"
* commit '090278d6c6e3501836c70ce555996511b96a38d9':
  Log dlopen failures caused by text relocations
2015-10-13 23:01:36 +00:00
Dimitry Ivanov
090278d6c6 am 11c2179d: Merge "Log dlopen failures caused by text relocations"
* commit '11c2179d468bba3336c3a3e8418ddaa98f58afce':
  Log dlopen failures caused by text relocations
2015-10-13 22:53:03 +00:00
Dimitry Ivanov
11c2179d46 Merge "Log dlopen failures caused by text relocations" 2015-10-13 22:50:05 +00:00
Dmitriy Ivanov
fae39d2bf9 Log dlopen failures caused by text relocations
Some apps will fail to load native libraries with
text relocations when switching target sdk version to M.
It could be hard to diagnose because some of them
suppress dlerror and/or UnsatisfiedLinkError.

This change unconditionally logs the error message making
the cause of the failure more visible to developers.

Bug: http://b/24876001
Change-Id: I0477a0d1307d0879000f3a3a43b974b4cf34bdb2
(cherry picked from commit f32b689d3dbe7a1317bce58d1d9bef9bba173c66)
2015-10-13 15:48:57 -07:00
Dmitriy Ivanov
1002265d0a resolved conflicts for f32b689d to mnc-dr-dev-plus-aosp
Change-Id: I95f90eb68dcb4b3f4b3d80260b2285c78692b535
2015-10-13 14:59:20 -07:00
Dimitry Ivanov
7197c2909d am 5db60c04: am 30cd7065: Merge "Correctly resolve realpath for absolute paths"
* commit '5db60c04c68ed5f0d9ef9bc0e8c2a84062287b8d':
  Correctly resolve realpath for absolute paths
2015-10-13 20:51:11 +00:00
Dimitry Ivanov
5db60c04c6 am 30cd7065: Merge "Correctly resolve realpath for absolute paths"
* commit '30cd7065b6cd37342e23904cb512c409b8bbd4f1':
  Correctly resolve realpath for absolute paths
2015-10-13 20:43:36 +00:00
Dimitry Ivanov
30cd7065b6 Merge "Correctly resolve realpath for absolute paths" 2015-10-13 20:37:55 +00:00
Dmitriy Ivanov
5dce8948b6 Replace auto -> const auto&/auto&&
Change-Id: Ie484e5a296b5dd222a9545d8539d40d97a6c158c
2015-10-13 12:14:16 -07:00
Dmitriy Ivanov
f32b689d3d Log dlopen failures caused by text relocations
Some apps will fail to load native libraries with
text relocations when switching target sdk version to M.
It could be hard to diagnose because some of them
suppress dlerror and/or UnsatisfiedLinkError.

This change unconditionally logs the error message making
the cause of the failure more visible to developers.

Bug: http://b/24876001
Change-Id: I0477a0d1307d0879000f3a3a43b974b4cf34bdb2
2015-10-13 11:13:19 -07:00
Lazar Trsic
6f2d3104c8 Correctly resolve realpath for absolute paths
Introduced by: https://android-review.googlesource.com/174475

Change-Id: I44e00040b28be167d5141454f919340afec6084e
2015-10-13 10:57:41 -07:00
Neil Fuller
1cdd99bcb9 am 12b4f21e: am fb7f45b6: Merge "Update timezone data to 2015g"
* commit '12b4f21e1969b0eceeedb52b2ff0f77a1f791908':
  Update timezone data to 2015g
2015-10-13 09:24:08 +00:00
Neil Fuller
12b4f21e19 am fb7f45b6: Merge "Update timezone data to 2015g"
* commit 'fb7f45b6a3242c9a9a547705de08cf59e6b7f935':
  Update timezone data to 2015g
2015-10-13 09:14:17 +00:00
Neil Fuller
fb7f45b6a3 Merge "Update timezone data to 2015g" 2015-10-13 08:26:44 +00:00
Dimitry Ivanov
433cdaa85f am 5a805d91: am a5ad727e: Merge "linker: Switch to clang"
* commit '5a805d919c0a531c0e8bbae746d192db218d625d':
  linker: Switch to clang
2015-10-13 01:46:10 +00:00
Dimitry Ivanov
5a805d919c am a5ad727e: Merge "linker: Switch to clang"
* commit 'a5ad727e7619f4497792d67ae05b8ef15315b362':
  linker: Switch to clang
2015-10-13 01:40:49 +00:00
Dimitry Ivanov
a5ad727e76 Merge "linker: Switch to clang" 2015-10-13 01:34:59 +00:00
Dmitriy Ivanov
b28ffc7744 linker: Switch to clang
x86_64 gcc exports malloc/free and co functions because they
are defined with visibility "default" somewhere in gcc builtins;
and vector d-tors for some reason. Switching to clang fixes
this problem.

Bug: http://b/24785482
Change-Id: I741503b4b446523e7ff3fb16de13ed99991fd0c0
2015-10-12 18:20:26 -07:00
Josh Gao
3c8fc2fea9 Move malloc dispatch table to __libc_globals.
Change-Id: Ic20b980d1e8b6c2d4b773ebe336658fd17c737cb
2015-10-12 17:54:58 -07:00
Elliott Hughes
fb8fd5076e Opt Brillo out of the ndk cruft.
Bug: http://b/24812426
Change-Id: I6a858d8ceebce9e2285e5b12de9fd89d2b42b352
2015-10-12 17:53:48 -07:00
Dmitriy Ivanov
78f1871f4e resolved conflicts for a828a2f8 to mnc-dr-dev-plus-aosp
Change-Id: Ibe8c145eaadcd1fa9229d8a6eda1e33c0e59fb12
2015-10-12 15:02:28 -07:00
Elliott Hughes
452ab8f7e3 am 25cba7df: Merge "Make struct FILE opaque."
* commit '25cba7df5120a32b144769843781442031fc597b':
  Make struct FILE opaque.
2015-10-12 20:40:41 +00:00
Elliott Hughes
25cba7df51 Merge "Make struct FILE opaque." 2015-10-12 20:33:04 +00:00
Elliott Hughes
f0141dfab1 Make struct FILE opaque.
Bug: http://b/24807045
Change-Id: I3cb4e436325a65bef3b203e3970e4d967101fcce
2015-10-12 12:53:42 -07:00
Elliott Hughes
7c585f2b01 am e7839263: Merge "Fix stdio read after EOF behavior."
* commit 'e78392637d5086384a5631ddfdfa8d7ec8326ee3':
  Fix stdio read after EOF behavior.
2015-10-12 15:23:48 +00:00
Elliott Hughes
e78392637d Merge "Fix stdio read after EOF behavior." 2015-10-12 15:20:29 +00:00
Elliott Hughes
8ab433df13 Fix stdio read after EOF behavior.
Bug: https://code.google.com/p/android/issues/detail?id=184847
Change-Id: Ia20ce94007c2a09649f0763b1dc7ba959f2f618d
2015-10-09 17:57:26 -07:00
Elliott Hughes
d8c03b774e am 1ab3f303: Merge "Fix inet_aton on LP32."
* commit '1ab3f303d2e7c8cc498a28fc3c8d9ded1fc46994':
  Fix inet_aton on LP32.
2015-10-10 00:44:51 +00:00
Elliott Hughes
1ab3f303d2 Merge "Fix inet_aton on LP32." 2015-10-10 00:39:11 +00:00
Elliott Hughes
7b77cb35af Fix inet_aton on LP32.
I wasn't checking for overflow. Luckily, I had a test that overflows on LP32.

Change-Id: If2cf33d88f459eb26d0ce75f3c5ed192f516ab7a
2015-10-09 17:36:05 -07:00
Mike Frysinger
132b9c90fc am c6f704bf: Merge "utmp.h: add more ut_type defines"
* commit 'c6f704bf77576b2cf27decd8ee50c99aeeb9e209':
  utmp.h: add more ut_type defines
2015-10-09 23:37:18 +00:00
Mike Frysinger
c6f704bf77 Merge "utmp.h: add more ut_type defines" 2015-10-09 23:33:37 +00:00
Josh Gao
ac47790ad8 am 902ab885: Merge "Move setjmp cookie to a shared globals struct."
* commit '902ab8859f360d81d6bd03a76a77900743018a15':
  Move setjmp cookie to a shared globals struct.
2015-10-09 23:33:32 +00:00
Josh Gao
dc9ff1b80b am 73a91218: Merge "Move VDSO pointers to a shared globals struct."
* commit '73a91218d1f0b334b97648461b19eed96e6c4336':
  Move VDSO pointers to a shared globals struct.
2015-10-09 23:33:30 +00:00
Josh Gao
902ab8859f Merge "Move setjmp cookie to a shared globals struct." 2015-10-09 23:27:07 +00:00
Josh Gao
73a91218d1 Merge "Move VDSO pointers to a shared globals struct." 2015-10-09 23:26:53 +00:00
Josh Gao
fe9d0ed6cb Move setjmp cookie to a shared globals struct.
Change-Id: I59a4c187d61524c4e48655c4c6376dba0d41eee2
2015-10-09 15:59:04 -07:00
Josh Gao
93c0f5ee00 Move VDSO pointers to a shared globals struct.
Change-Id: I01cbc9cf0917dc1fac52d9205bda2c68529d12ef
2015-10-09 15:59:04 -07:00
Elliott Hughes
8733118fa5 am 487a1823: Merge "Fix inet_addr/inet_aton/inet_network."
* commit '487a1823e8617011009eded8eae9a75c1f871887':
  Fix inet_addr/inet_aton/inet_network.
2015-10-09 22:53:45 +00:00
Mike Frysinger
68af0adeb9 utmp.h: add more ut_type defines
This fills out the defines that utmp.h normally offers on other systems
such as glibc.

BUG=24810744

Change-Id: If57f9ced22e8673f072245fce3f5c0f8e1f591e5
2015-10-09 18:52:49 -04:00
Elliott Hughes
487a1823e8 Merge "Fix inet_addr/inet_aton/inet_network." 2015-10-09 22:48:13 +00:00
Elliott Hughes
047866672c Fix inet_addr/inet_aton/inet_network.
Rewrite inet_addr and inet_network in terms of inet_aton, and reimplement
that to include all the missing error checks.

Bug: http://b/24754503
Change-Id: I5dfa971c87201968985a0894df419f0fbf54768a
2015-10-09 15:44:24 -07:00
Elliott Hughes
c1d7d92201 am f41fe717: Merge "Sync with upstream tzcode (2015g)."
* commit 'f41fe717655f01affc1d8244ff9efccc04d86620':
  Sync with upstream tzcode (2015g).
2015-10-09 22:42:25 +00:00
Elliott Hughes
f41fe71765 Merge "Sync with upstream tzcode (2015g)." 2015-10-09 22:35:24 +00:00
Elliott Hughes
9fb22a3ec4 Sync with upstream tzcode (2015g).
This is quite a large patch because we haven't updated for some time,
but the good news is that upstream is now thread-safe so a lot of our
changes go away in this update and the remaining diff is a lot smaller.

(Note that our whitespace still doesn't match upstream. I use diff -wub
to compare. Upstream doesn't even really have a consistent style. New
code seems to be two spaces, old code tabs.)

From the intervening changelogs (eliding the changes that only affected
the tools, which we don't use):

2014a:
     An uninitialized-storage bug in 'localtime' has been fixed.
     (Thanks to Logan Chien.)

2014b:
     'zic' and 'localtime' no longer reject locations needing four
     transitions per year for the forseeable future.  (Thanks to Andrew
     Main (Zefram).)

2014c:
     <None>

2014d:
     <None>

2014e:
     <None>

2014f:
     'localtime', 'mktime', etc. now use much less stack space if
     ALL_STATE is defined.  (Thanks to Elliott Hughes for reporting the
     problem.)

     Some lint has been removed when using GCC_DEBUG_FLAGS with GCC
     4.9.0.

2014g:
     Unless NETBSD_INSPIRED is defined to 0, the tz library now
     supplies functions for creating and using objects that represent
     time zones. The new functions are tzalloc, tzfree, localtime_rz,
     mktime_z, and (if STD_INSPIRED is also defined) posix2time_z and
     time2posix_z.  They are intended for performance: for example,
     localtime_rz (unlike localtime_r) is trivially thread-safe without
     locking.  (Thanks to Christos Zoulas for proposing NetBSD-inspired
     functions, and to Alan Barrett and Jonathan Lennox for helping to
     debug the change.)

     If THREAD_SAFE is defined to 1, the tz library is now thread-safe.
     Although not needed for tz's own applications, which are single-threaded,
     this supports POSIX better if the tz library is used in multithreaded apps.

     Some crashes have been fixed when zdump or the tz library is given
     invalid or outlandish input.

     The tz library no longer mishandles leap seconds on platforms with
     unsigned time_t in time zones that lack ordinary transitions after 1970.

     The tz code now attempts to infer TM_GMTOFF and TM_ZONE if not
     already defined, to make it easier to configure on common platforms.
     Define NO_TM_GMTOFF and NO_TM_ZONE to suppress this.

     Unless the new macro UNINIT_TRAP is defined to 1, the tz code now
     assumes that reading uninitialized memory yields garbage values
     but does not cause other problems such as traps.

     If TM_GMTOFF is defined and UNINIT_TRAP is 0, mktime is now
     more likely to guess right for ambiguous time stamps near
     transitions where tm_isdst does not change.

     If HAVE_STRFTIME_L is defined to 1, the tz library now defines
     strftime_l for compatibility with recent versions of POSIX.
     Only the C locale is supported, though.  HAVE_STRFTIME_L defaults
     to 1 on recent POSIX versions, and to 0 otherwise.

     tzselect -c now uses a hybrid distance measure that works better
     in Africa.  (Thanks to Alan Barrett for noting the problem.)

     The C source code now ports to NetBSD when GCC_DEBUG_FLAGS is used,
     or when time_tz is defined.

     When HAVE_UTMPX_H is set the 'date' command now builds on systems
     whose <utmpx.h> file does not define WTMPX_FILE, and when setting
     the date it updates the wtmpx file if _PATH_WTMPX is defined.
     This affects GNU/Linux and similar systems.

     For easier maintenance later, some C code has been simplified,
     some lint has been removed, and the code has been tweaked so that
     plain 'make' is more likely to work.

     The C type 'bool' is now used for boolean values, instead of 'int'.

     The long-obsolete LOCALE_HOME code has been removed.

     The long-obsolete 'gtime' function has been removed.

2014h:
     The tz library's localtime and mktime functions now set tzname to a value
     appropriate for the requested time stamp, and zdump now uses this
     on platforms not defining TM_ZONE, fixing a 2014g regression.
     (Thanks to Tim Parenti for reporting the problem.)

     The tz library no longer sets tzname if localtime or mktime fails.

     An access to uninitalized data has been fixed.
     (Thanks to Jörg Richter for reporting the problem.)

     When THREAD_SAFE is defined, the code ports to the C11 memory model.
     A memory leak has been fixed if ALL_STATE and THREAD_SAFE are defined
     and two threads race to initialize data used by gmtime-like functions.
     (Thanks to Andy Heninger for reporting the problems.)

2014i:
     The time-related library functions now set errno on failure,
     and some crashes in the new tzalloc-related library functions
     have been fixed.  (Thanks to Christos Zoulas for reporting
     most of these problems and for suggesting fixes.)

     If USG_COMPAT is defined and the requested time stamp is
     standard time, the tz library's localtime and mktime functions
     now set the extern variable timezone to a value appropriate
     for that time stamp; and similarly for ALTZONE, daylight
     saving time, and the altzone variable.  This change is a
     companion to the tzname change in 2014h, and is designed to
     make timezone and altzone more compatible with tzname.

     The tz library's functions now set errno to EOVERFLOW if they
     fail because the result cannot be represented.  ctime and
     ctime_r now return NULL and set errno when a time stamp is out
     of range, rather than having undefined behavior.

     Some bugs associated with the new 2014g functions have been
     fixed.  This includes a bug that largely incapacitated the new
     functions time2posix_z and posix2time_z.  (Thanks to Christos
     Zoulas.)  It also includes some uses of uninitialized
     variables after tzalloc.  The new code uses the standard type
     'ssize_t', which the Makefile now gives porting advice about.

2014j:
     <None>

2015a:
     tzalloc now scrubs time zone abbreviations compatibly with the way
     that tzset always has, by replacing invalid bytes with '_' and by
     shortening too-long abbreviations.

2015b:
     Fix integer overflow bug in reference 'mktime' implementation.
     (Problem reported by Jörg Richter.)

     Allow -Dtime_tz=time_t compilations, and allow -Dtime_tz=... libraries
     to be used in the same executable as standard-library time_t functions.
     (Problems reported by Bradley White.)

2015c:
     <None>

2015d:
     <None>

2015e:
     <None>

2015f:
     <None>

2015g:
    localtime no longer mishandles America/Anchorage after 2037.
    (Thanks to Bradley White for reporting the bug.)

    On hosts with signed 32-bit time_t, localtime no longer mishandles
    Pacific/Fiji after 2038-01-16 14:00 UTC.

    The localtime module allows the variables 'timezone', 'daylight',
    and 'altzone' to be in common storage shared with other modules,
    and declares them in case the system <time.h> does not.
    (Problems reported by Kees Dekker.)

    On platforms with tm_zone, strftime.c now assumes it is not NULL.
    This simplifies the code and is consistent with zdump.c.
    (Problem reported by Christos Zoulas.)

Change-Id: I9eb0a8323cb8bd9968fcfe612dc14f45aa3b59d2
2015-10-09 15:15:39 -07:00
Dimitry Ivanov
533d7e403d am 6a59289b: Merge "Remove textrels support for platform libs"
* commit '6a59289b06deafe5eed49d86753297c604eadc86':
  Remove textrels support for platform libs
2015-10-09 21:14:26 +00:00
Dimitry Ivanov
6a59289b06 Merge "Remove textrels support for platform libs" 2015-10-09 21:09:46 +00:00
Dmitriy Ivanov
8068786ae6 Remove textrels support for platform libs
Bug: http://b/20013628
Change-Id: Ia9382c7113e09bb6aed65072543e4ebe33026cf8
2015-10-09 13:59:42 -07:00
Josh Gao
786807b26c am d8df28ff: Merge "Implement setjmp cookies on MIPS and MIPS64"
* commit 'd8df28ff3833e620db1b61dd4038028dd160c870':
  Implement setjmp cookies on MIPS and MIPS64
2015-10-09 18:39:57 +00:00
Josh Gao
d8df28ff38 Merge "Implement setjmp cookies on MIPS and MIPS64" 2015-10-09 18:32:20 +00:00
Neil Fuller
31740bfdb9 Update timezone data to 2015g
Changes affecting future time stamps

    Turkey's 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.
    (Thanks to Fatih.)

    Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
    (Thanks to Alexander Krivenyshev.)

    Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
    (Thanks to Ken Rylander.)

    Fort Nelson, British Columbia will not fall back on 2015-11-01. It has
    effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
    New zone America/Fort_Nelson.  (Thanks to Matt Johnson.)

  Changes affecting past time stamps

    Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.

Bug: 24595281
Change-Id: I7e4e4c53b4843110540f573ba82d3761c871c096
2015-10-09 17:58:58 +01:00
Nikola Veljkovic
1b519c0ae4 Implement setjmp cookies on MIPS and MIPS64
Bug: http://b/23942752
Change-Id: Ie58892a97b5075d30d7607667251007cda99d38c
2015-10-09 13:42:58 +02:00
Dan Albert
17e3aec523 am 599af934: Merge "Fix bionic_coverage for kati."
* commit '599af9346e3ea697dda1b0c38a99cce842154307':
  Fix bionic_coverage for kati.
2015-10-08 22:08:28 +00:00
Dimitry Ivanov
ec48a72a00 am 268f7391: Merge "Make dt_runpath work for libraries opened from apk"
* commit '268f73917831e709bc6a201658c19ffb5c8cbfd1':
  Make dt_runpath work for libraries opened from apk
2015-10-08 22:08:17 +00:00
Dan Albert
599af9346e Merge "Fix bionic_coverage for kati." 2015-10-08 21:35:12 +00:00
Dan Albert
697e261d4b Fix bionic_coverage for kati.
Kati won't override something set with :=, only ?=.

Note that the actually reveals that our coverage build has been broken
for... some time. The issue is that we have static libraries built
with clang and others built with gcc linked into the same .so. If we
use both libclang_rt.profile and libgcov together, we get duplicate
symbol errors. If we only use one or the other, we don't have all the
symbols we need.

This will be fixed once chh's TLS stuff makes it into our clang and we
can start building libc_thread_atexit_impl with clang.

Change-Id: I45d0f2e558a881ad8be71088102320724ced8fe5
2015-10-08 14:04:53 -07:00
Dimitry Ivanov
268f739178 Merge "Make dt_runpath work for libraries opened from apk" 2015-10-08 19:45:45 +00:00
Torne (Richard Coles)
a828a2f8e6 linker: don't pass dlextinfo to dependent loads.
Don't pass the parent load's dlextinfo to dependent loads, since this
causes the linker to try to load the dependencies using the same
addresses/relro/fds/etc as the main library, which is never going to
work. This was how it worked before ae69a95 which broke this.

Bug: 23742664
Change-Id: I53d8cdf0982d8758e6d2ced4864c704cdf74118f
2015-10-08 12:28:39 -07:00
Josh Gao
10f71abc4e am cc56abbb: Merge "Add missing register preserve in x86/x86_64 longjmp."
* commit 'cc56abbb007e090b830f510df6cb300ae12e1a89':
  Add missing register preserve in x86/x86_64 longjmp.
2015-10-07 21:32:47 +00:00
Josh Gao
cc56abbb00 Merge "Add missing register preserve in x86/x86_64 longjmp." 2015-10-07 21:17:47 +00:00
Josh Gao
8dbf02d76a Add missing register preserve in x86/x86_64 longjmp.
Change-Id: I3fc442f819229640e9c0ec4f9c865d9bf0e70881
2015-10-07 14:01:45 -07:00
Dmitriy Ivanov
a1feb117e4 Make dt_runpath work for libraries opened from apk
This patch also fixes realpath for libraries opened directly
from apks.

Bug: http://b/21960914
Bug: http://b/21961857
Change-Id: I35ade661c87f1d448191f385811f6e9fd3cacf11
2015-10-07 11:44:53 -07:00
Yabin Cui
b5e05d29b5 am f9604906: Merge "Remove the workaround which fixes JOB_COUNT in CTS test."
* commit 'f96049062f04a922fda937aecc562517101a38cc':
  Remove the workaround which fixes JOB_COUNT in CTS test.
2015-10-07 17:20:29 +00:00
Yabin Cui
f96049062f Merge "Remove the workaround which fixes JOB_COUNT in CTS test." 2015-10-07 17:05:29 +00:00
Yabin Cui
bc6379d7da Remove the workaround which fixes JOB_COUNT in CTS test.
Bug: 24376925
Change-Id: Ib195ce1577ee9412068cc1b6223fc051b5bcfcaa
2015-10-06 16:30:14 -07:00
Dimitry Ivanov
29fe356575 am 98be6be1: am 748421be: Merge "Fix linker tests"
* commit '98be6be171b3792c51d83d19f015052112f8ddbf':
  Fix linker tests
2015-10-05 20:24:37 +00:00
Dimitry Ivanov
98be6be171 am 748421be: Merge "Fix linker tests"
* commit '748421beef0ed8625920a27b3753a79c2652b6ef':
  Fix linker tests
2015-10-05 20:17:39 +00:00
Dimitry Ivanov
748421beef Merge "Fix linker tests" 2015-10-05 20:10:26 +00:00
Dmitriy Ivanov
a0f187bec7 Fix linker tests
Change-Id: I4794f2d9dcc5ceb419e1bf9151607a650eb801d9
2015-10-05 12:06:40 -07:00
Elliott Hughes
8daf53db75 am df62e317: am 5c50449b: Merge "Use const auto& in for loops."
* commit 'df62e3171ca52cbdadb3c3edc93c42cfacbad054':
  Use const auto& in for loops.
2015-10-03 16:35:32 +00:00
Elliott Hughes
df62e3171c am 5c50449b: Merge "Use const auto& in for loops."
* commit '5c50449b0c098cb8191fe3f7791e91a7ec4f7029':
  Use const auto& in for loops.
2015-10-03 16:29:55 +00:00
Elliott Hughes
5c50449b0c Merge "Use const auto& in for loops." 2015-10-03 16:23:19 +00:00
Elliott Hughes
0b2acdfcc9 Use const auto& in for loops.
Change-Id: Ic437c59797ee4e7dc38291da35c72d827bc89c8d
2015-10-02 18:25:19 -07:00
Mark Salyzyn
991a8a6bf7 am ee9dea83: am f7cf8b2c: Merge "bionic: tzset running hot"
* commit 'ee9dea83fbaf2261066fbb20e5942c147018c949':
  bionic: tzset running hot
2015-10-02 21:17:39 +00:00
Mark Salyzyn
ee9dea83fb am f7cf8b2c: Merge "bionic: tzset running hot"
* commit 'f7cf8b2c1fbf6250e12d1e59aa353990eca4f109':
  bionic: tzset running hot
2015-10-02 21:10:18 +00:00
Mark Salyzyn
f7cf8b2c1f Merge "bionic: tzset running hot" 2015-10-02 21:04:50 +00:00
Mark Salyzyn
d0578949ac bionic: tzset running hot
logd makes a non-insignificant number of calls to localtime, 3% of
the time in logd is spent performing __system_property_get within the
context of tzset_locked().

Bug: 23685592
Change-Id: I75f8c2d436b60374e92c166b87393abda9487af7
2015-10-02 13:30:34 -07:00
Josh Gao
e22d32d06c am a7d5919c: am cf92ebcf: Merge "Use foreach loop to match setuid unsafe env vars."
* commit 'a7d5919cc92db395a943d8f5094e47d50148c39c':
  Use foreach loop to match setuid unsafe env vars.
2015-10-02 18:41:55 +00:00
Josh Gao
a7d5919cc9 am cf92ebcf: Merge "Use foreach loop to match setuid unsafe env vars."
* commit 'cf92ebcfe323ee2ea58168ed008d2a08565809ce':
  Use foreach loop to match setuid unsafe env vars.
2015-10-02 18:37:22 +00:00
Josh Gao
cf92ebcfe3 Merge "Use foreach loop to match setuid unsafe env vars." 2015-10-02 18:32:44 +00:00
Josh Gao
a5d5d16c3c Use foreach loop to match setuid unsafe env vars.
Change-Id: I1e94daefac8e601281f38c7ce29ba3172a4a60bb
2015-10-02 11:31:09 -07:00
Dimitry Ivanov
a978ec9e7b am 27f2e04c: am 143409d7: Merge "Fix the comment"
* commit '27f2e04c8c31cb4fbcc842ff457a1a4e53b61f4d':
  Fix the comment
2015-10-01 22:59:58 +00:00
Dimitry Ivanov
27f2e04c8c am 143409d7: Merge "Fix the comment"
* commit '143409d75b093c89042e25cab1757d6b2bae8ec5':
  Fix the comment
2015-10-01 22:11:31 +00:00
Dimitry Ivanov
143409d75b Merge "Fix the comment" 2015-10-01 21:18:36 +00:00
Dmitriy Ivanov
7e039937b8 Fix the comment
Change-Id: Ic8126cf92d12851cccaa3e2e781f075c9f6c283a
2015-10-01 14:02:19 -07:00
Stephen Hines
03d14f9276 am 14b7c94f: am 4a65557d: Merge "Remove invalid left shifts of -1."
* commit '14b7c94f40c845715561d1f4031f650a03df0336':
  Remove invalid left shifts of -1.
2015-10-01 05:42:13 +00:00
Stephen Hines
14b7c94f40 am 4a65557d: Merge "Remove invalid left shifts of -1."
* commit '4a65557d0ebd167e557958687f50510742cb238a':
  Remove invalid left shifts of -1.
2015-10-01 05:33:49 +00:00
Stephen Hines
4a65557d0e Merge "Remove invalid left shifts of -1." 2015-10-01 05:23:14 +00:00
Christopher Ferris
240a0a9068 am dc813fe3: am ad157a3c: Merge "Add a no dwarf version of assembler macros."
* commit 'dc813fe338626b28a8e9066c81fac6dac0982af5':
  Add a no dwarf version of assembler macros.
2015-09-30 23:59:48 +00:00
Christopher Ferris
b33e6097fe am 8bb2141b: am 3230d96a: Merge "libc: krait: Use performance version of memcpy"
* commit '8bb2141b7707b593245b77e3c73c26b7bb6f29fd':
  libc: krait: Use performance version of memcpy
2015-09-30 23:59:47 +00:00
Christopher Ferris
dc813fe338 am ad157a3c: Merge "Add a no dwarf version of assembler macros."
* commit 'ad157a3c3353ba69d3bd155a7c09f9943a22f8d2':
  Add a no dwarf version of assembler macros.
2015-09-30 23:44:34 +00:00
Christopher Ferris
8bb2141b77 am 3230d96a: Merge "libc: krait: Use performance version of memcpy"
* commit '3230d96a10ab0cfa128487ef03fa5f08c77ebf20':
  libc: krait: Use performance version of memcpy
2015-09-30 23:44:12 +00:00
Christopher Ferris
ad157a3c33 Merge "Add a no dwarf version of assembler macros." 2015-09-30 23:18:32 +00:00
Christopher Ferris
3230d96a10 Merge "libc: krait: Use performance version of memcpy" 2015-09-30 22:54:09 +00:00
Christopher Ferris
8f8308c974 Add a no dwarf version of assembler macros.
For the __release and __release_rt functions, the previous macros
would add a dwarf cfi entry for the function with no values. This works
with libunwind since it always tries the arm unwind information first.

This change removes those entries by creating a no dwarf version of the
assembler macro.

Change-Id: Ib93e42fff5a79b8d770eab0071fdee7d2afa988d
2015-09-30 15:32:15 -07:00
Brent DeGraaf
1d0268c6b8 libc: krait: Use performance version of memcpy
Change-Id: Iaa52635240da8b8746693186b66b69778e833c32
2015-09-30 20:59:36 +00:00
Dimitry Ivanov
84b24d62d0 am 889dd564: am a0b9cad0: Merge "Optimize dlopen from a zip file"
* commit '889dd56428fdecedb55e11b990609993294561ff':
  Optimize dlopen from a zip file
2015-09-30 20:16:52 +00:00
Dimitry Ivanov
889dd56428 am a0b9cad0: Merge "Optimize dlopen from a zip file"
* commit 'a0b9cad07629439bab926373515d964253426a69':
  Optimize dlopen from a zip file
2015-09-30 20:10:49 +00:00
Dimitry Ivanov
a0b9cad076 Merge "Optimize dlopen from a zip file" 2015-09-30 19:11:30 +00:00
Dmitriy Ivanov
b48275045d Optimize dlopen from a zip file
This change makes dynamic linker reuse ZipArchiveHandles in
ld_library_path on dlopen to optimize the lookup of dt_needed
libraries.

Bug: http://b/21960534
Change-Id: I65f897910d46dd2ffabdcb0b7842db2f127eee30
2015-09-30 10:47:11 -07:00
Yabin Cui
8db320637c am 8cd11809: am c1eebd5f: Merge "Fix the way to count online cpus."
* commit '8cd1180904a0b8713c20feed5255bbedcfabe4e9':
  Fix the way to count online cpus.
2015-09-30 01:33:22 +00:00
Yabin Cui
8cd1180904 am c1eebd5f: Merge "Fix the way to count online cpus."
* commit 'c1eebd5ff42cdf8f8a08be76bfdeaad6a327976c':
  Fix the way to count online cpus.
2015-09-30 01:23:33 +00:00
Yabin Cui
c1eebd5ff4 Merge "Fix the way to count online cpus." 2015-09-30 01:17:32 +00:00
Yabin Cui
cb6f599c44 Fix the way to count online cpus.
Read /proc/stat to count online cpus is not correct for all android
kernels. Change to reading /sys/devices/system/cpu/online instead.

Bug: 24376925
Change-Id: I3785a6c7aa15a467022a9a261b457194d688fb38
2015-09-29 17:49:37 -07:00
Stephen Hines
23360cc498 Remove invalid left shifts of -1.
Bug: 24492248

Shifting sign bits left is considered undefined behavior, so we need to
switch these uses to unsigned equivalents. The time_t-related code is
updated relative to upstream sources.

Change-Id: I226e5a929a10f5c57dfcb90c748fdac34eb377c2
2015-09-29 10:04:54 -07:00
Christopher Ferris
86fdb6bf23 am 4f3e3591: am 93a91f0c: Force cts to only run one test at a time.
* commit '4f3e3591ace36b6d86e3a1bc8b3f438989cb0618':
  Force cts to only run one test at a time.
2015-09-29 15:26:43 +00:00
Christopher Ferris
4f3e3591ac am 93a91f0c: Force cts to only run one test at a time.
* commit '93a91f0cf4f015762ac1ed57395c4c0de8ba7db3':
  Force cts to only run one test at a time.
2015-09-29 15:11:45 +00:00
Colin Cross
6a753ffec6 am 1c34fea8: am 8b279ead: Merge "Pass -q is zip for test"
* commit '1c34fea8033d64b7f2c54366add908aba7fa44dc':
  Pass -q is zip for test
2015-09-28 23:17:43 +00:00
Colin Cross
1c34fea803 am 8b279ead: Merge "Pass -q is zip for test"
* commit '8b279eadd3a635c31df9c570ab2144212bfd07cc':
  Pass -q is zip for test
2015-09-28 23:11:58 +00:00
Colin Cross
8b279eadd3 Merge "Pass -q is zip for test" 2015-09-28 23:07:04 +00:00
Colin Cross
195a5bef1f am 289e58e8: am c80aa3f9: Merge "Turn common INFO messages down to VLOG(1)"
* commit '289e58e83e62b600c2b1764c6f9cfd07f1717bdc':
  Turn common INFO messages down to VLOG(1)
2015-09-28 22:57:48 +00:00
Colin Cross
298d176813 Pass -q is zip for test
Pass -q to zip for dlext_testzip to avoid printing:
  adding: empty_file.txt (stored 0%)
on every compile.

Bug: 24409581
Change-Id: I2320f31182a9a332b3ef8b32a22561092ab5aceb
2015-09-28 15:56:18 -07:00
Colin Cross
289e58e83e am c80aa3f9: Merge "Turn common INFO messages down to VLOG(1)"
* commit 'c80aa3f9e2be9f9390b1e11f8f2b67a2adbd1faa':
  Turn common INFO messages down to VLOG(1)
2015-09-28 22:52:32 +00:00
Colin Cross
c80aa3f9e2 Merge "Turn common INFO messages down to VLOG(1)" 2015-09-28 22:46:11 +00:00
Colin Cross
4032d344d4 Turn common INFO messages down to VLOG(1)
Turn messages that are printed on every run of relocation_packer down to
VLOG(1) to clean up ninja build output.

Bug: 24409581
Change-Id: I040aed6a7b4261eefa6f7278fa451180115b0716
2015-09-28 15:30:37 -07:00
Dan Willemsen
3fb798c8ac am bfd9255d: am f16f4f8a: Merge "Fix file-check-cxx to handle quoted arguments"
* commit 'bfd9255ddba7db2e07de6483bf55f567c7f1f7a3':
  Fix file-check-cxx to handle quoted arguments
2015-09-28 20:48:00 +00:00
Dan Willemsen
bfd9255ddb am f16f4f8a: Merge "Fix file-check-cxx to handle quoted arguments"
* commit 'f16f4f8a6bac035db5f25538ddb4fe810d0719db':
  Fix file-check-cxx to handle quoted arguments
2015-09-28 20:43:06 +00:00
Dan Willemsen
f16f4f8a6b Merge "Fix file-check-cxx to handle quoted arguments" 2015-09-28 20:37:07 +00:00
Dan Willemsen
808602a485 Fix file-check-cxx to handle quoted arguments
If the OVERRIDE_C_DATE_TIME environment variable is set, the build
system will add a macro to the global cflags that contains a static
quoted date, like:

  -D__DATE__="\"Sep 28 2015\""

file-check-cxx needs to properly pass that through as a single, still
quoted argument. So use the quoted "$@" instead of turning each word
into an argument.

Change-Id: I6929d712c280d0452062640e0cba8a176d045c97
2015-09-28 13:14:19 -07:00
Dimitry Ivanov
2027e5e4ca am 97233047: am d5e8a049: Merge "Fix bug number for linker related workarounds"
* commit '972330476c26d5f610026fc006d05b128dc45e56':
  Fix bug number for linker related workarounds
2015-09-28 18:34:00 +00:00
Dimitry Ivanov
972330476c am d5e8a049: Merge "Fix bug number for linker related workarounds"
* commit 'd5e8a0499b9efa147d45aabd47cfb2d2204c2323':
  Fix bug number for linker related workarounds
2015-09-28 18:23:48 +00:00
Dimitry Ivanov
d5e8a0499b Merge "Fix bug number for linker related workarounds" 2015-09-28 17:54:23 +00:00
Dmitriy Ivanov
280d54680d Fix bug number for linker related workarounds
Bug: 24425865
Change-Id: I2021674a9df0e768f312ca024d906302db1c494f
2015-09-28 10:31:12 -07:00
Colin Cross
fd7251acd4 am b99b3f77: am 55f87a0c: Merge "Force non-color output for bionic FileCheck tests"
* commit 'b99b3f773cef7d160481f8c30b41c01839ca7090':
  Force non-color output for bionic FileCheck tests
2015-09-25 22:39:49 +00:00
Colin Cross
b74e9ddda5 am 0f575d44: am 4a54ec82: Merge "Add .PHONY for phony bionic test targets"
* commit '0f575d4482cebbedcc9d44634ba453fa57f21c3f':
  Add .PHONY for phony bionic test targets
2015-09-25 22:39:48 +00:00
Colin Cross
b99b3f773c am 55f87a0c: Merge "Force non-color output for bionic FileCheck tests"
* commit '55f87a0c0bb587ee85b5662967563462d52db560':
  Force non-color output for bionic FileCheck tests
2015-09-25 22:33:53 +00:00
Colin Cross
0f575d4482 am 4a54ec82: Merge "Add .PHONY for phony bionic test targets"
* commit '4a54ec8200356a755aeeb212c4dd9cefad39754c':
  Add .PHONY for phony bionic test targets
2015-09-25 22:33:51 +00:00
Christopher Ferris
93a91f0cf4 Force cts to only run one test at a time.
Also, slightly increase the timeout for each test run.

Bug: 24198050

(cherry picked from commit daaaed18ce1d2f2da9d2240e974922299d937670)

Change-Id: I29e169e962da803a89abf0a28e071abcafa315b7
2015-09-25 15:33:20 -07:00
Colin Cross
55f87a0c0b Merge "Force non-color output for bionic FileCheck tests" 2015-09-25 22:27:16 +00:00
Colin Cross
4a54ec8200 Merge "Add .PHONY for phony bionic test targets" 2015-09-25 22:25:58 +00:00
Christopher Ferris
a64bb4c172 am c1d4ba88: am b48ca46d: Merge "Force cts to only run one test at a time."
* commit 'c1d4ba88cfd824b938feed68a706d2a06e993d3a':
  Force cts to only run one test at a time.
2015-09-25 22:17:12 +00:00
Christopher Ferris
c1d4ba88cf am b48ca46d: Merge "Force cts to only run one test at a time."
* commit 'b48ca46d88d9e664763eff39604f772a57d8e2fb':
  Force cts to only run one test at a time.
2015-09-25 22:11:46 +00:00
Christopher Ferris
b48ca46d88 Merge "Force cts to only run one test at a time." 2015-09-25 21:50:35 +00:00
Colin Cross
840be7cb79 Force non-color output for bionic FileCheck tests
Turning on color output will break the bionic compilation tests that
check for expected warnings, as they will be matching color output
against non-color expected values.  Turn off color locally.

Bug: 24273983
Change-Id: Ia3b3262ccece121217f0dc0997734b3ad65b928b
2015-09-25 14:42:07 -07:00
Colin Cross
b67afb3eb5 Add .PHONY for phony bionic test targets
Bug: 24384320
Change-Id: I41038ff8b34391d03ce1e204e30e5ae34ec56614
2015-09-25 14:36:15 -07:00
Christopher Ferris
aaff959fc0 am 4344a02a: am 931e1399: Merge "Add cortex-a53.a57 target for 32 bit big/little."
* commit '4344a02a9efc93ff4f772f5722f1a455d8ef25cd':
  Add cortex-a53.a57 target for 32 bit big/little.
2015-09-25 16:44:03 +00:00
Christopher Ferris
4344a02a9e am 931e1399: Merge "Add cortex-a53.a57 target for 32 bit big/little."
* commit '931e1399f13b35a139977354e179403184c649fa':
  Add cortex-a53.a57 target for 32 bit big/little.
2015-09-25 16:35:53 +00:00
Christopher Ferris
931e1399f1 Merge "Add cortex-a53.a57 target for 32 bit big/little." 2015-09-25 16:29:33 +00:00
Christopher Ferris
daaaed18ce Force cts to only run one test at a time.
Also, slightly increase the timeout for each test run.

Bug: 24198050
Change-Id: I2b0ebdebb909023d0f179e0a433c564266a99161
2015-09-25 09:16:31 -07:00
Christopher Ferris
774a4703e8 am 6eb06b03: am 70a9f0a3: Merge "Fix over read in strcpy/stpcpy/strcat."
* commit '6eb06b0399c95f52cd28ff7971582ebec42f45f7':
  Fix over read in strcpy/stpcpy/strcat.
2015-09-24 21:48:52 +00:00
Christopher Ferris
6eb06b0399 am 70a9f0a3: Merge "Fix over read in strcpy/stpcpy/strcat."
* commit '70a9f0a3bc310c863b5c90c9860aae842f82e47f':
  Fix over read in strcpy/stpcpy/strcat.
2015-09-24 21:38:47 +00:00
Christopher Ferris
70a9f0a3bc Merge "Fix over read in strcpy/stpcpy/strcat." 2015-09-24 21:26:40 +00:00
Christopher Ferris
fdfcfce7c6 Fix over read in strcpy/stpcpy/strcat.
This bug will happen when these circumstances are met:

- Destination address & 0x7 == 1, strlen of src is 11, 12, 13.
- Destination address & 0x7 == 2, strlen of src is 10, 11, 12.
- Destination address & 0x7 == 3, strlen of src is 9, 10, 11.
- Destination address & 0x7 == 4, strlen of src is 8, 9, 10.

In these cases, the dest alignment code does a ldr which reads 4 bytes,
and it will read past the end of the source. In most cases, this is
probably benign, but if this crosses into a new page it could cause a
crash.

Fix the labels in the cortex-a9 strcat.

Modify the overread test to vary the dst alignment to expost this bug.
Also, shrink the strcat/strlcat overread cases since the dst alignment
variation increases the runtime too much.

Bug: 24345899
Change-Id: Ib34a559bfcebd89861985b29cae6c1e47b5b5855
2015-09-24 14:17:36 -07:00
Christopher Ferris
54ee0407dc Add cortex-a53.a57 target for 32 bit big/little.
The routines optimized for cortex-a7 and cortex-a53 cause performance
drops on cortex-a57. Instead create a target that is the middle ground
that works relatively well on either core.

Change-Id: Ie2b6cc9a59a01c7b30602ee368b2b90f5e886289
2015-09-24 14:00:00 -07:00
Yabin Cui
609716ae95 am 01030c24: Increase alternative signal stack size on 64-bit devices.
* commit '01030c24b0e3ace1b4cdaf415354e2f315f4f3a9':
  Increase alternative signal stack size on 64-bit devices.
2015-09-24 00:21:13 +00:00
Yabin Cui
01030c24b0 Increase alternative signal stack size on 64-bit devices.
Bug: 23041777
Bug: 24187462
Change-Id: I7d84c0cc775a74753a3e8e101169c0fb5dbf7437
2015-09-23 16:36:20 -07:00
Dan Albert
2c60af3e81 am 56446a6c: am c38cee59: Merge "Prevent the build system from hiding our ABI."
* commit '56446a6c8e2fd54f23a348060a2bc121c0846603':
  Prevent the build system from hiding our ABI.
2015-09-23 20:22:04 +00:00
Dan Albert
56446a6c8e am c38cee59: Merge "Prevent the build system from hiding our ABI."
* commit 'c38cee59dcba23576cc01bfbb97cecc5eb01a75c':
  Prevent the build system from hiding our ABI.
2015-09-23 20:15:35 +00:00
Dan Albert
c38cee59dc Merge "Prevent the build system from hiding our ABI." 2015-09-23 20:08:09 +00:00
Elliott Hughes
678752ed2a am 83911975: am cb696c50: Merge "Remove libpagemap include hack."
* commit '839119757d4d841359ad5f16d3bde8e4581f8322':
  Remove libpagemap include hack.
2015-09-23 19:04:18 +00:00
Elliott Hughes
839119757d am cb696c50: Merge "Remove libpagemap include hack."
* commit 'cb696c50c293f387c7de46cd3c8573a335e273bf':
  Remove libpagemap include hack.
2015-09-23 18:56:25 +00:00
Elliott Hughes
cb696c50c2 Merge "Remove libpagemap include hack." 2015-09-23 18:49:22 +00:00
Elliott Hughes
7660a088cd Remove libpagemap include hack.
Change-Id: I4c75ae4e311342c9ab4f317026904f893e931384
2015-09-22 22:40:22 -07:00
Elliott Hughes
fff13b9196 am 12432ca4: am 8d92afe3: Merge "Fix another duplicate maps parser."
* commit '12432ca4839b4df9b040b2bd3b4401a48e1f8a06':
  Fix another duplicate maps parser.
2015-09-23 00:36:13 +00:00
Elliott Hughes
12432ca483 am 8d92afe3: Merge "Fix another duplicate maps parser."
* commit '8d92afe32265be8c36ea2adb3c4059298cd583eb':
  Fix another duplicate maps parser.
2015-09-23 00:26:38 +00:00
Elliott Hughes
8d92afe322 Merge "Fix another duplicate maps parser." 2015-09-23 00:18:50 +00:00
Dan Albert
0aa96aedbe Prevent the build system from hiding our ABI.
Unfortunately --exclude-libs (now passed globally) clobbers our
version script, so we have to prevent the build system from using this
flag.

Bug: http://b/24166967
Change-Id: I33c766d399c418fdc17983c8c0a56608d463201e
2015-09-22 16:49:40 -07:00
Elliott Hughes
15dfd63aba Fix another duplicate maps parser.
Change-Id: Icb69f59ffbd0d5de7f727142260fae152d36a904
2015-09-22 16:40:14 -07:00
Elliott Hughes
afba67bd2f am f599ea97: am 9e3a2491: Merge "Clean up /proc/<pid>/maps sscanfs."
* commit 'f599ea9743098a694262b7ab6c3b3d3f11eeb0dd':
  Clean up /proc/<pid>/maps sscanfs.
2015-09-22 23:05:43 +00:00
Elliott Hughes
f599ea9743 am 9e3a2491: Merge "Clean up /proc/<pid>/maps sscanfs."
* commit '9e3a24915241c07d8ea886533c8de6a85744a734':
  Clean up /proc/<pid>/maps sscanfs.
2015-09-22 22:54:45 +00:00
Elliott Hughes
9e3a249152 Merge "Clean up /proc/<pid>/maps sscanfs." 2015-09-22 22:49:20 +00:00
Elliott Hughes
0dec228921 Clean up /proc/<pid>/maps sscanfs.
sscanf will swallow whitespace for us.

Change-Id: I59931cbad00f0144fd33ed4749ac0aaad15e6de6
2015-09-22 15:45:50 -07:00
Jorge Lucangeli Obes
eb83e971b4 am 9583f7e7: am dd514539: Merge "Add preliminary OEM UID/GID support."
* commit '9583f7e7c2863c63596429ccb23a34fdbf272102':
  Add preliminary OEM UID/GID support.
2015-09-22 22:09:43 +00:00
Elliott Hughes
4e9118c25c am 1085de1c: am efcb5d9d: Merge "Remove some <sys/cdefs.h> cruft."
* commit '1085de1cc5f56bf3538ff75ec93939b8c868eb2a':
  Remove some <sys/cdefs.h> cruft.
2015-09-22 22:09:42 +00:00
Jorge Lucangeli Obes
9583f7e7c2 am dd514539: Merge "Add preliminary OEM UID/GID support."
* commit 'dd51453904f609347ce7951661eff8bc12a1c0a4':
  Add preliminary OEM UID/GID support.
2015-09-22 21:59:02 +00:00
Elliott Hughes
1085de1cc5 am efcb5d9d: Merge "Remove some <sys/cdefs.h> cruft."
* commit 'efcb5d9d4c4b482cf21318b2bb4aec6cf6d8e0f5':
  Remove some <sys/cdefs.h> cruft.
2015-09-22 21:59:00 +00:00
Jorge Lucangeli Obes
dd51453904 Merge "Add preliminary OEM UID/GID support." 2015-09-22 21:53:39 +00:00
Elliott Hughes
efcb5d9d4c Merge "Remove some <sys/cdefs.h> cruft." 2015-09-22 21:52:28 +00:00
Yabin Cui
78f5504b92 am 042a61de: am 3d00f79f: Merge "Increase alternative signal stack size on 64-bit devices."
* commit '042a61de21296a7c5e4243b1e50ec591d124de98':
  Increase alternative signal stack size on 64-bit devices.
2015-09-22 20:59:44 +00:00
Yabin Cui
042a61de21 am 3d00f79f: Merge "Increase alternative signal stack size on 64-bit devices."
* commit '3d00f79f98c8b981a36a79657f07a303a2288a55':
  Increase alternative signal stack size on 64-bit devices.
2015-09-22 20:51:36 +00:00
Yabin Cui
3d00f79f98 Merge "Increase alternative signal stack size on 64-bit devices." 2015-09-22 20:44:05 +00:00
Elliott Hughes
cccb36036f am d97f4224: am 822c40a3: Merge "<netinet/udp.h> should include <linux/udp.h>."
* commit 'd97f422405cfb3f1d6287f879ce828f7195e68d3':
  <netinet/udp.h> should include <linux/udp.h>.
2015-09-22 20:34:32 +00:00
Jorge Lucangeli Obes
a39e30141d Add preliminary OEM UID/GID support.
Until we implement full support for passwd/group files, add a simple
way to use the new OEM UID/GID range (5000-5999).

oem_XXX -> 5000 + XXX iff 0 <= XXX < 1000.

Bug: 23225475

Change-Id: If48b88135d5df538313414f747d6c4c63bf0a103
2015-09-22 13:33:17 -07:00
Elliott Hughes
d97f422405 am 822c40a3: Merge "<netinet/udp.h> should include <linux/udp.h>."
* commit '822c40a3389a953d9b43f05ad6e40640fd55f9c4':
  <netinet/udp.h> should include <linux/udp.h>.
2015-09-22 20:25:03 +00:00
Elliott Hughes
822c40a338 Merge "<netinet/udp.h> should include <linux/udp.h>." 2015-09-22 20:19:14 +00:00
Elliott Hughes
44ddb31e75 Remove some <sys/cdefs.h> cruft.
In particular, we don't need to record the peculiarities of every
version of GCC ever shipped. It just makes this file harder to follow.

Change-Id: Ie9035d78eae86b4aed9dff3576c6f54e268aaced
2015-09-22 13:00:21 -07:00
Elliott Hughes
f8a2243ebe <netinet/udp.h> should include <linux/udp.h>.
The comment about "other stuff" referred to pre-uapi headers. Everything
in the current <linux/udp.h> should be exposed to userspace. The only
problem is that BSD and Linux use different names for the members of
struct udphdr. We can move the Linux udphdr out of the way and use an
anonymous union to get the best of both worlds. (Though unfortunately
this means that code that includes <linux/udp.h> directly instead of
using <netinet/udp.h> now won't have any definition of struct udphdr.
We've taken the stance in the past that you shouldn't include a linux/
header if there's a standard equivalent --- you should rely on us
transitively including it for you.)

Change-Id: Ie625892441b0edd8df3b76d3fcf2cbe299077bc4
2015-09-22 12:34:13 -07:00
Yabin Cui
33ac04a215 Increase alternative signal stack size on 64-bit devices.
Bug: 23041777
Bug: 24187462
Change-Id: I7d84c0cc775a74753a3e8e101169c0fb5dbf7437
2015-09-22 11:18:26 -07:00
Dan Albert
a2308b7f67 am 208d8e36: am 13997591: Merge "Add a hint about using --no-isolate for GDB."
* commit '208d8e369604e76363027289c09e08c9b4fc818b':
  Add a hint about using --no-isolate for GDB.
2015-09-19 19:59:53 +00:00
Christopher Ferris
a1ae03e21d am 4ed36397: am 777bd95c: Merge "Import scsi headers."
* commit '4ed363972e1120f924c84a56c513eb7e8077dcbc':
  Import scsi headers.
2015-09-19 19:59:52 +00:00
Greg Hackmann
672ff19c65 am 5fb12bc2: am 96b1323a: Merge "Define WIFCONTINUED()"
* commit '5fb12bc23273266b6afb08b61f1b5e558165c3d1':
  Define WIFCONTINUED()
2015-09-19 19:59:52 +00:00
Greg Hackmann
51c4d51d8f am a4ab398c: am 7c460451: Merge "Fix SOCK_* flag definitions"
* commit 'a4ab398c617055f5f5895f6b9f6ca5bf0f6e520f':
  Fix SOCK_* flag definitions
2015-09-19 19:59:51 +00:00
Dan Albert
208d8e3696 am 13997591: Merge "Add a hint about using --no-isolate for GDB."
* commit '1399759118f50071d499f88b18828e36aa2bad00':
  Add a hint about using --no-isolate for GDB.
2015-09-19 19:52:23 +00:00
Christopher Ferris
4ed363972e am 777bd95c: Merge "Import scsi headers."
* commit '777bd95c63fcbb461deac40b303d706d3b672837':
  Import scsi headers.
2015-09-19 19:52:13 +00:00
Greg Hackmann
5fb12bc232 am 96b1323a: Merge "Define WIFCONTINUED()"
* commit '96b1323a403bbd946487e4107a076b0a307136b1':
  Define WIFCONTINUED()
2015-09-19 19:52:12 +00:00
Greg Hackmann
a4ab398c61 am 7c460451: Merge "Fix SOCK_* flag definitions"
* commit '7c4604518bcd27e27fb305388188275f49dea468':
  Fix SOCK_* flag definitions
2015-09-19 19:52:09 +00:00
Dan Albert
1399759118 Merge "Add a hint about using --no-isolate for GDB." 2015-09-18 21:18:06 +00:00
Christopher Ferris
777bd95c63 Merge "Import scsi headers." 2015-09-18 20:44:58 +00:00
Greg Hackmann
96b1323a40 Merge "Define WIFCONTINUED()" 2015-09-18 20:39:07 +00:00
Greg Hackmann
7c4604518b Merge "Fix SOCK_* flag definitions" 2015-09-18 20:38:54 +00:00
Greg Hackmann
c6043f6b27 Define WIFCONTINUED()
Change-Id: Id0feebd90d0525f3b479eb119b942eae8ca568d1
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2015-09-18 13:37:53 -07:00
Greg Hackmann
d75abb9614 Fix SOCK_* flag definitions
MIPS and the rest of the world only disagree on the first two SOCK_*
constants, so restructure the #ifdef accordingly.

As a deliberate side effect, this fixes SOCK_DCCP being missing on
non-MIPS platforms.

Change-Id: I2267008f1121a7eebe1ed9097afab6e612bce7f0
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2015-09-18 13:37:53 -07:00
Dan Albert
1af434cc02 Add a hint about using --no-isolate for GDB.
Change-Id: Ib9df5ed986a1c4082c9c7cd793a4d670be21ca66
2015-09-18 13:17:02 -07:00
Elliott Hughes
10292607e4 am c0c6bcc8: am 355f3d0c: Merge "Fix mips FP abi bug in the linker."
* commit 'c0c6bcc8f7f90a7bb65d683efc97825625f072b0':
  Fix mips FP abi bug in the linker.
2015-09-18 15:34:09 +00:00
Elliott Hughes
c0c6bcc8f7 am 355f3d0c: Merge "Fix mips FP abi bug in the linker."
* commit '355f3d0c12a3cca3bf8304073f81b5e0d544ac59':
  Fix mips FP abi bug in the linker.
2015-09-18 15:29:12 +00:00
Elliott Hughes
355f3d0c12 Merge "Fix mips FP abi bug in the linker." 2015-09-18 15:20:40 +00:00
Christopher Ferris
1e9b59d37e am 577c64eb: am d9639559: Merge "Add support for manually modified kernel headers."
* commit '577c64ebbfc3fe183394e14b67d543d8ec0f6425':
  Add support for manually modified kernel headers.
2015-09-18 04:30:42 +00:00
Christopher Ferris
577c64ebbf am d9639559: Merge "Add support for manually modified kernel headers."
* commit 'd9639559ccccf055919a4d1487ca8a6cba953715':
  Add support for manually modified kernel headers.
2015-09-18 04:23:55 +00:00
Christopher Ferris
6048173b36 Import scsi headers.
Linux's scsi headers are a mix of userspace-facing and kernel-facing
declarations that can't be directly used by userspace.  The glibc
maintainers manually copy-and-pasted these definitions into their own
scsi headers and haven't substantially updated them in 15 years.  musl
has a similar set of definitions in its scsi headers.

This change generates the scsi headers from external/kernel-headers,
using the updated generation script so that the single modified scsi.h
takes the place of the non-modified one.

Change-Id: Ic14d155aa534b0edc1ee686d61113ce5cdf0e6af
2015-09-17 21:22:44 -07:00
Christopher Ferris
d9639559cc Merge "Add support for manually modified kernel headers." 2015-09-18 04:15:32 +00:00
Christopher Ferris
d12c332018 Add support for manually modified kernel headers.
This changes the scripts so that if some kernel files exists
in external/kernel-headers/modified, that they will be preferred
over the same files found in original. This is to support the case
where the kernel headers cannot be taken without some small modifications.

Included with this change, is a general cleanup of the python scripts.

This also modifies the generate uapi headers script to indicate if the
source of the modified headers has changed.

Change-Id: Id13523b244ced52a2ecd9f1399c43996dd8296fa
2015-09-17 21:02:52 -07:00
Dan Willemsen
e06ef6709f am 305af045: am 353e7e5d: Merge "Update Android.bp for setjmp cookies"
* commit '305af04561b9b8bd612f16350f0dd41a25be7cc2':
  Update Android.bp for setjmp cookies
2015-09-17 22:52:33 +00:00
Dan Willemsen
305af04561 am 353e7e5d: Merge "Update Android.bp for setjmp cookies"
* commit '353e7e5d11fa59750c5358ad3e239765dcbeb335':
  Update Android.bp for setjmp cookies
2015-09-17 22:44:57 +00:00
Dan Willemsen
353e7e5d11 Merge "Update Android.bp for setjmp cookies" 2015-09-17 22:34:35 +00:00
Josh Gao
ec94ca9284 am 91624eae: am 57866a6d: Merge changes Iea8d03de,I2014f959
* commit '91624eae9aa90e123ae37843d94861120d2433a4':
  Implement setjmp cookies on x86_64.
  Implement setjmp cookies on x86.
2015-09-17 22:31:45 +00:00
Dan Willemsen
35e91a10e0 Update Android.bp for setjmp cookies
Change-Id: I57245e4eedf9b8e1edc7de46208be5aa47c94b28
2015-09-17 15:28:45 -07:00
Josh Gao
91624eae9a am 57866a6d: Merge changes Iea8d03de,I2014f959
* commit '57866a6ddef66e9c331df4f20e6c39920aba2a99':
  Implement setjmp cookies on x86_64.
  Implement setjmp cookies on x86.
2015-09-17 22:22:33 +00:00
Douglas Leung
dccc40883a Fix mips FP abi bug in the linker.
Change-Id: I1ffab938eb06f9dc0963ee15bc10eca216618792
2015-09-17 15:17:06 -07:00
Josh Gao
57866a6dde Merge changes Iea8d03de,I2014f959
* changes:
  Implement setjmp cookies on x86_64.
  Implement setjmp cookies on x86.
2015-09-17 22:14:41 +00:00
Josh Gao
2342e643d4 Implement setjmp cookies on x86_64.
Bug: http://b/23942752
Change-Id: Iea8d03de1dd9ca5a128c072c94b10de3a8056348
2015-09-17 14:51:44 -07:00
Josh Gao
85c14fb086 Implement setjmp cookies on x86.
Bug: http://b/23942752
Change-Id: I2014f95989d0ab094b225234d98ccee477166c9d
2015-09-17 14:51:44 -07:00
Josh Gao
5c12a504cf am 9e3d8730: am 823cff84: Merge changes I81408ef0,Id0eb8d06
* commit '9e3d873036b581b9986f42cc40f2d43f057ed7f1':
  Implement setjmp cookies on AArch64.
  Implement setjmp cookies on ARM.
2015-09-17 21:22:32 +00:00
Josh Gao
9e3d873036 am 823cff84: Merge changes I81408ef0,Id0eb8d06
* commit '823cff847b3b202b235ddd84650338f07bc61511':
  Implement setjmp cookies on AArch64.
  Implement setjmp cookies on ARM.
2015-09-17 21:15:57 +00:00
Josh Gao
823cff847b Merge changes I81408ef0,Id0eb8d06
* changes:
  Implement setjmp cookies on AArch64.
  Implement setjmp cookies on ARM.
2015-09-17 21:09:23 +00:00
Josh Gao
54db0df8d6 Implement setjmp cookies on AArch64.
Bug: http://b/23942752
Change-Id: I81408ef0dd53010140b51e3083d357d3f2961112
2015-09-17 14:07:24 -07:00
Josh Gao
7fda8d2aa4 Implement setjmp cookies on ARM.
Reuse the top bits of _JB_SIGFLAG field previously used to store a
boolean to store a cookie that's validated by [sig]longjmp to make it
harder to use as a ROP gadget. Additionally, encrypt saved registers
with the cookie so that an attacker can't modify a register's value to
a specific value without knowing the cookie.

Bug: http://b/23942752
Change-Id: Id0eb8d06916e89d5d776bfcaa9458f8826717ba3
2015-09-17 14:07:24 -07:00
Dan Willemsen
c101cc20bf am 64ce4787: am 90fc8e24: Merge "Add Android.bp for libc/libm/libdl"
* commit '64ce4787e593a547dab41210b28bc74e19318820':
  Add Android.bp for libc/libm/libdl
2015-09-17 19:52:53 +00:00
Dan Willemsen
64ce4787e5 am 90fc8e24: Merge "Add Android.bp for libc/libm/libdl"
* commit '90fc8e24876412a816776d44bedc77e1f1888a13':
  Add Android.bp for libc/libm/libdl
2015-09-17 19:40:42 +00:00
Dan Willemsen
90fc8e2487 Merge "Add Android.bp for libc/libm/libdl" 2015-09-17 19:31:07 +00:00
Yabin Cui
a59905b80c am 72e678c8: am cbd0a15b: Merge "Fix the way to get main thread stack start address."
* commit '72e678c8a7f78a04dffc57a6b2add45aeee4d1ec':
  Fix the way to get main thread stack start address.
2015-09-17 02:50:56 +00:00
Yabin Cui
72e678c8a7 am cbd0a15b: Merge "Fix the way to get main thread stack start address."
* commit 'cbd0a15be881abb8ce1feb5b389da2f517a9a4c6':
  Fix the way to get main thread stack start address.
2015-09-17 02:42:52 +00:00
Yabin Cui
cbd0a15be8 Merge "Fix the way to get main thread stack start address." 2015-09-17 02:37:20 +00:00
Dan Willemsen
208ae17e5f Add Android.bp for libc/libm/libdl
Change-Id: I3537363849ba1244348996ff17c5ace1b95dbeee
2015-09-16 16:50:01 -07:00
Mor-sarid, Nitzan
569333293a Fix the way to get main thread stack start address.
For previous way to get the stack using the [stack] string from
/proc/self/task/<pid>/maps is not enough. On x86/x86_64, if an
alternative signal stack is used while a task switch happens,
the [stack] indicator may no longer be correct.

Instead, stack_start from /proc/self/stat which is always inside
the main stack, is used to find the main stack in /proc/self/maps.

Change-Id: Ieb010e71518b57560d541cd3b3563e5aa9660750
Signed-off-by: Nitzan Mor-sarid <nitzan.mor-sarid@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
2015-09-16 11:45:13 -07:00
Elliott Hughes
5278af69ac am bab1044d: am 14545d4c: Merge "Move several FreeBSD functions to OpenBSD."
* commit 'bab1044d27cc5b88809f2fc0e5be7e23f2ab6623':
  Move several FreeBSD functions to OpenBSD.
2015-09-15 15:25:18 +00:00
Elliott Hughes
bab1044d27 am 14545d4c: Merge "Move several FreeBSD functions to OpenBSD."
* commit '14545d4ce3dd446f20a14dcff37d60ff8d756f7a':
  Move several FreeBSD functions to OpenBSD.
2015-09-15 15:19:20 +00:00
Elliott Hughes
8abd365509 am 364dbb3c: am 44c8ac8b: Merge "Sync with upstream NetBSD lib/libc/regex."
* commit '364dbb3cf493b00e48d8f29e4a845e78f8139f4f':
  Sync with upstream NetBSD lib/libc/regex.
2015-09-15 15:18:56 +00:00
Elliott Hughes
14545d4ce3 Merge "Move several FreeBSD functions to OpenBSD." 2015-09-15 15:13:35 +00:00
Elliott Hughes
364dbb3cf4 am 44c8ac8b: Merge "Sync with upstream NetBSD lib/libc/regex."
* commit '44c8ac8bd7747d907720c63538625a4b95245234':
  Sync with upstream NetBSD lib/libc/regex.
2015-09-15 15:12:36 +00:00
Elliott Hughes
44c8ac8bd7 Merge "Sync with upstream NetBSD lib/libc/regex." 2015-09-15 15:05:21 +00:00
Elliott Hughes
26a8322972 Move several FreeBSD functions to OpenBSD.
There's no difference between the two BSDs for these functions, so let's go
with the majority.

Change-Id: Ic296f23153a48bed5ad152f5b31989c4e00e60bd
2015-09-14 19:01:58 -07:00
Elliott Hughes
71927a8237 Sync with upstream NetBSD lib/libc/regex.
Bug: http://b/22850181
Change-Id: I11a51a2031e68a953ccd5691da98c699c7d01904
2015-09-14 18:45:52 -07:00
Daniel Micay
5ca66528c5 make mmap fail on requests larger than PTRDIFF_MAX
Allocations larger than PTRDIFF_MAX can be successfully created on
32-bit with a 3:1 split, or in 32-bit processes running on 64-bit.

Allowing these allocations to succeed is dangerous, as it introduces
overflows for `end - start` and isn't compatible with APIs (mis)using
ssize_t to report either the size or an error. POSIX is guilty of this,
as are many other Android APIs. LLVM even considers the `ptr + size`
case to be undefined, as all pointer arithmetic compiles down to signed
operations and overflow is treated as undefined for standard C pointer
arithmetic (GNU C `void *` arithmetic works differently).

This also prevents dlmalloc from allocating > PTRDIFF_MAX as it doesn't
merge mappings like jemalloc. A similar check will need to be added in
jemalloc's code path for huge allocations.

The musl libc implementation also performs this sanity check.

Change-Id: I5f849543f94a39719f5d27b00cef3079bb5933e9
2015-09-12 01:52:12 -04:00
Dan Albert
a4b45b70f5 am a1a46a8e: am cd0ed2f1: Merge "CMSG_DATA should return an unsigned char*."
* commit 'a1a46a8e946d1fd1c50f44e7e23f462e179ddbb1':
  CMSG_DATA should return an unsigned char*.
2015-09-11 23:04:58 +00:00
Dan Albert
a1a46a8e94 am cd0ed2f1: Merge "CMSG_DATA should return an unsigned char*."
* commit 'cd0ed2f174d9015da5ae7206bc4c5190cd0bb51e':
  CMSG_DATA should return an unsigned char*.
2015-09-11 22:14:07 +00:00
Dan Albert
cd0ed2f174 Merge "CMSG_DATA should return an unsigned char*." 2015-09-11 17:39:12 +00:00
Dan Albert
268af26359 CMSG_DATA should return an unsigned char*.
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_socket.h.html
> CMSG_DATA(cmsg)
>    If the argument is a pointer to a cmsghdr structure, this macro
>    shall return an unsigned character pointer to the data array
>    associated with the cmsghdr structure.

Change-Id: I3f89ba19cbca4e6727abc65a2bbcd59267892ba8
2015-09-11 09:47:27 -07:00
Dan Albert
b3c3fb5b59 am 32ec7498: am 1c7b84ca: Merge changes Ia1777fd4,I3998d88b
* commit '32ec74987344cedb5596e6da1891a9d54962f149':
  Unify unistd.h.
  Use attribute availability.
2015-09-08 20:38:46 +00:00
Dan Albert
32ec749873 am 1c7b84ca: Merge changes Ia1777fd4,I3998d88b
* commit '1c7b84ca0095e0dc4da8434e9e0c59cd2326f763':
  Unify unistd.h.
  Use attribute availability.
2015-09-08 20:32:37 +00:00
Dan Albert
1c7b84ca00 Merge changes Ia1777fd4,I3998d88b
* changes:
  Unify unistd.h.
  Use attribute availability.
2015-09-08 20:24:39 +00:00
Dan Albert
af4713e6a5 Unify unistd.h.
Make unistd.h usable from all platform versions.

Also name all function parameters for Android Studio.

Bug: http://b/21952040
Change-Id: Ia1777fd4a6d4e37f25cc402c28fb78c003e481e3
2015-09-04 13:02:09 -07:00
Dan Albert
a6435a186d Use attribute availability.
Bug: http://b/21952040
Change-Id: I3998d88bc6076d60ae5cf7efd112817f80f17971
2015-09-04 13:02:03 -07:00
Elliott Hughes
a775a41130 am edc73f62: am ba9c1705: Merge "linker: don\'t pass dlextinfo to dependent loads"
* commit 'edc73f6286bcd1f7d0278d25d4484bf23a0e53b2':
  linker: don't pass dlextinfo to dependent loads
2015-09-04 18:21:34 +00:00
Elliott Hughes
edc73f6286 am ba9c1705: Merge "linker: don\'t pass dlextinfo to dependent loads"
* commit 'ba9c17053456aed4452a349cf45c5960d9231f25':
  linker: don't pass dlextinfo to dependent loads
2015-09-04 18:12:33 +00:00
Elliott Hughes
ba9c170534 Merge "linker: don't pass dlextinfo to dependent loads" 2015-09-04 18:02:18 +00:00
Christopher Ferris
23ff8fc4ee am 2fe50aa3: am cb0d96e6: Merge "Only close stdin/stdout/stderr for debug malloc."
* commit '2fe50aa3806f2c367dddfc5ddedd1c636223b823':
  Only close stdin/stdout/stderr for debug malloc.
2015-09-04 01:31:18 +00:00
Christopher Ferris
2fe50aa380 am cb0d96e6: Merge "Only close stdin/stdout/stderr for debug malloc."
* commit 'cb0d96e6a218cc37eb0ab764740a8bf1ea385511':
  Only close stdin/stdout/stderr for debug malloc.
2015-09-04 01:17:48 +00:00
Christopher Ferris
cb0d96e6a2 Merge "Only close stdin/stdout/stderr for debug malloc." 2015-09-04 01:09:11 +00:00
Christopher Ferris
efc134dba3 Only close stdin/stdout/stderr for debug malloc.
The debug malloc code unconditionally closes stdin/stdout/stderr,
which means that other atexit functions cannot use them. Only
close these if there is a debug malloc final function to call.

This doesn't appear to be a problem on most normal applications or the
atexit_exit bionic unit test would be failing. However, if you
enable stat dumping in jemalloc, nothing prints. Most likely trying
to add an atexit function from within libc is causing that atexit
to run after the debug malloc atexit function.

Change-Id: I963720d4ccaaa511e44af07a7461f17eb3f84e8e
2015-09-03 17:45:33 -07:00
Christopher Ferris
407dea47bd am 7bb544cc: am b423ffa6: Merge "Update to v3.18.21 kernel headers."
* commit '7bb544cc7c3d70af5f06dd5cf8b33e841b816ded':
  Update to v3.18.21 kernel headers.
2015-09-03 18:14:10 +00:00
Christopher Ferris
7bb544cc7c am b423ffa6: Merge "Update to v3.18.21 kernel headers."
* commit 'b423ffa6c27ade8485f1f061fd3775553e9bb457':
  Update to v3.18.21 kernel headers.
2015-09-03 18:00:09 +00:00
Christopher Ferris
b423ffa6c2 Merge "Update to v3.18.21 kernel headers." 2015-09-03 17:52:47 +00:00
Christopher Ferris
915bf813ad Update to v3.18.21 kernel headers.
Change-Id: I4ade68d62981c7f6f361750cc811e8d84be9d5b9
2015-09-02 17:23:31 -07:00
Dmitriy Ivanov
edfc9f63a2 linker: don't pass dlextinfo to dependent loads
Don't pass the parent load's dlextinfo to dependent loads, since this
causes the linker to try to load the dependencies using the same
addresses/relro/fds/etc as the main library, which is never going to
work. This was how it worked before ae69a95 which broke this.

Bug: http://b/23742664
Bug: http://b/20948231
Bug: http://b/20841817
Change-Id: I340ebae1127666d5c6c6f9c6521b89fb93f15bdd
2015-09-02 16:32:02 -07:00
Elliott Hughes
eb457e212e am 67c6da80: am cc251966: Merge "Rename debug_stacktrace to debug_backtrace."
* commit '67c6da80bb3b6b4febc783db04ce19cdeb187092':
  Rename debug_stacktrace to debug_backtrace.
2015-09-02 04:00:02 +00:00
Elliott Hughes
67c6da80bb am cc251966: Merge "Rename debug_stacktrace to debug_backtrace."
* commit 'cc25196662cab824117e7cb79e435bd3aaf37dcc':
  Rename debug_stacktrace to debug_backtrace.
2015-09-02 03:52:24 +00:00
Elliott Hughes
cc25196662 Merge "Rename debug_stacktrace to debug_backtrace." 2015-09-02 03:44:31 +00:00
Yabin Cui
80dbedc95a am d3c7f67a: am 32c85daa: Merge "build bionic gtest runner on mac."
* commit 'd3c7f67aed0b5ac0bd7fd03c6925cbaf6b1305ba':
  build bionic gtest runner on mac.
2015-09-01 23:29:21 +00:00
Yabin Cui
d3c7f67aed am 32c85daa: Merge "build bionic gtest runner on mac."
* commit '32c85daa1570e589ce953c42b40fb34cf2b5e989':
  build bionic gtest runner on mac.
2015-09-01 23:08:34 +00:00
Elliott Hughes
32bf43f44a Rename debug_stacktrace to debug_backtrace.
All the functions say "backtrace", so it's weird that the filename
says "stacktrace".

Change-Id: I1c88a56c1f9adb1bae4615edc8af3e73db270a8c
2015-09-01 16:01:50 -07:00
Yabin Cui
32c85daa15 Merge "build bionic gtest runner on mac." 2015-09-01 22:58:23 +00:00
Yabin Cui
767fb1c5c6 build bionic gtest runner on mac.
Change-Id: I39a7e94b6662256646dfaeb8f9ecd5c03cd5fbc6
2015-09-01 15:40:38 -07:00
Elliott Hughes
695d4c62fd am c121e179: am a992004c: Merge "Regenerate NOTICE files."
* commit 'c121e179a2897e3e21d8455420dbd62822b32e53':
  Regenerate NOTICE files.
2015-08-29 04:14:22 +00:00
Elliott Hughes
c121e179a2 am a992004c: Merge "Regenerate NOTICE files."
* commit 'a992004c9edf4db0c11aae8610cce6ebf13d53b4':
  Regenerate NOTICE files.
2015-08-29 04:07:20 +00:00
Elliott Hughes
0cc8e665fd am 74c5bba5: am cb58f528: Merge "Sync with upstream FreeBSD libm."
* commit '74c5bba5404f2c286eae3a492898656e80097b11':
  Sync with upstream FreeBSD libm.
2015-08-29 04:02:34 +00:00
Elliott Hughes
a992004c9e Merge "Regenerate NOTICE files." 2015-08-29 04:00:21 +00:00
Elliott Hughes
74c5bba540 am cb58f528: Merge "Sync with upstream FreeBSD libm."
* commit 'cb58f528bfc19bbc32d8a8b9d7e954f61d622c52':
  Sync with upstream FreeBSD libm.
2015-08-29 03:55:19 +00:00
Elliott Hughes
cb58f528bf Merge "Sync with upstream FreeBSD libm." 2015-08-29 03:46:21 +00:00
Elliott Hughes
44ead71726 Regenerate NOTICE files.
Change-Id: Ia5c340220bb75e4e3166cc483ea77d19cfb08a71
2015-08-28 20:23:52 -07:00
Elliott Hughes
8cff2f95d8 Sync with upstream FreeBSD libm.
Change-Id: I97e9b23903f1d993d84825806065e85626007d31
2015-08-28 20:21:43 -07:00
Elliott Hughes
0f0c7197b5 am b57e9efd: am c2e634dd: Merge "Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64."
* commit 'b57e9efd40d5765f9ff62f2aa3b6b2ca8523b024':
  Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64.
2015-08-27 23:32:58 +00:00
Elliott Hughes
b57e9efd40 am c2e634dd: Merge "Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64."
* commit 'c2e634dd303a44b11e30ab31e39ffc4eae5467f8':
  Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64.
2015-08-27 23:24:33 +00:00
Elliott Hughes
c2e634dd30 Merge "Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64." 2015-08-27 23:17:43 +00:00
Dan Albert
5e98eaee2d am a71f81a0: am 46c7bc83: Merge "Don\'t re-export libunwind_llvm."
* commit 'a71f81a08b6a94ef79c96b62733bb97de5350d79':
  Don't re-export libunwind_llvm.
2015-08-27 22:37:01 +00:00
Dan Albert
a71f81a08b am 46c7bc83: Merge "Don\'t re-export libunwind_llvm."
* commit '46c7bc83ab0324983312f16bd40cc1cdfe11cce6':
  Don't re-export libunwind_llvm.
2015-08-27 22:27:38 +00:00
Dan Albert
46c7bc83ab Merge "Don't re-export libunwind_llvm." 2015-08-27 22:20:51 +00:00
Elliott Hughes
adf5c7237d Fix regoff_t for LP32 and _FILE_OFFSET_BITS=64.
bionic is built without _FILE_OFFSET_BITS=64, so internally regoff_t
was 32-bit on LP32, but code compiled with _FILE_OFFSET_BITS would
expect rm_so and rm_eo in struct regmatch_t to be 64-bit, leading to
confusion.

Bug: http://b/23566443
Change-Id: Iae92fa545104068e4f64ce1977f5ec616859638c
2015-08-27 14:48:32 -07:00
Chih-hung Hsieh
4afb130399 am e7a09ff7: am bfaee4bd: Merge "Add test cases for __emutls_get_address."
* commit 'e7a09ff7d99740c5e74308abc1e209522811b814':
  Add test cases for __emutls_get_address.
2015-08-27 12:40:33 +00:00
Elliott Hughes
a0d1cda1a6 am c6effb3a: am 848808c6: Merge "Add preadv/pwritev."
* commit 'c6effb3af6f27c1acfbc2f776bb516e5f4d24476':
  Add preadv/pwritev.
2015-08-27 12:40:32 +00:00
Chih-hung Hsieh
e7a09ff7d9 am bfaee4bd: Merge "Add test cases for __emutls_get_address."
* commit 'bfaee4bd6ad901a699df21fd44d95f34e2e7444d':
  Add test cases for __emutls_get_address.
2015-08-27 05:22:56 +00:00
Elliott Hughes
c6effb3af6 am 848808c6: Merge "Add preadv/pwritev."
* commit '848808c660ec4811f4ff5a2748b6f754b008cd21':
  Add preadv/pwritev.
2015-08-27 05:22:55 +00:00
Christopher Ferris
ed90d4caea am 1154bcb3: (-s ours) am d518a6d3: Merge "Fix the 16 bit/32 bit instruction check for arm."
* commit '1154bcb3c095606fcaa5e836e935cb3406f6703d':
2015-08-27 05:06:25 +00:00
Elliott Hughes
a56db54d1d am 03deb828: (-s ours) am 629ed517: Merge "Add strchrnul."
* commit '03deb8287b019e9d526b193a0b7fa5e3fa6e8f77':
2015-08-27 05:06:24 +00:00
Elliott Hughes
83c7b596e4 am 5f55f32e: (-s ours) am 4d5c4f08: Merge "Add the missing aarch64 user structs."
* commit '5f55f32e49c804b21a66b7656297e8a426660afe':
2015-08-27 05:06:24 +00:00
Neil Fuller
268344457e am 1c751e5e: (-s ours) am 82911942: Update timezone data to 2015f
* commit '1c751e5ec76085aced87d50757495083a0f46a73':
2015-08-27 05:06:23 +00:00
Neil Fuller
b455457761 am 58cf5d6b: (-s ours) am 53f2abb5: Merge "Update timezone data to 2015f"
* commit '58cf5d6b1daf54b50c7864df563227787cb91375':
2015-08-27 05:06:22 +00:00
Neil Fuller
356868f8ac am 7336be05: (-s ours) am f7286a26: Merge "Move tzdata scripts from bionic to external/icu"
* commit '7336be059850edf23ad51f16520a9a08eff7cfe5':
2015-08-27 05:06:21 +00:00
Elliott Hughes
11a740e879 am 0ed97d1b: (-s ours) am 5bf79420: Merge "Revert "Revert "Use compiler builtins for fabs."""
* commit '0ed97d1b5fc136226d1ab62a2aa982ee5d99cabd':
2015-08-27 05:06:20 +00:00
Elliott Hughes
82f20c916e am 1a265558: (-s ours) am c868b4c3: Merge "Revert "Use compiler builtins for fabs.""
* commit '1a26555846f49a9f7d15772ab014e01cac7a6f5b':
2015-08-27 05:06:18 +00:00
Josh Gao
d32cadd1a5 am ebcaf389: (-s ours) am 0f8f9300: Merge "Add exported __popcount_tab for libgcc compat under compiler-rt."
* commit 'ebcaf389cdcb1d18622c500a6c7021259171dd39':
2015-08-27 05:06:17 +00:00
Josh Gao
b8c276b778 am df4492f3: (-s ours) am fad8370c: Merge "Improve .clang-format."
* commit 'df4492f339662ae1468bce3ee33270142227146c':
2015-08-27 05:06:16 +00:00
Elliott Hughes
756574d53e am 51b0bf03: (-s ours) am a19a9348: Merge "Use compiler builtins for fabs."
* commit '51b0bf03c074aa36f100a3d4d688f9b1687d3300':
2015-08-27 05:06:15 +00:00
Dan Albert
4ca3de4502 am 8c6b0d16: (-s ours) am a80ae8b8: Merge "Add a .clang-format file."
* commit '8c6b0d164e0d7a1a3ae4a2497e3bb9d5ae208a02':
2015-08-27 05:06:14 +00:00
Nick Kralevich
437c3e48f9 am f94b491c: (-s ours) am 4d7d05bd: Merge "Revert "fix incompatibility with -fstack-protector-strong""
* commit 'f94b491c2b9f8f01038af73863b6ba3945f70d0b':
2015-08-27 05:06:13 +00:00
Nick Kralevich
40773fb797 am abd1975d: (-s ours) am 5f7a5125: Merge "fix incompatibility with -fstack-protector-strong"
* commit 'abd1975dcc814087afb1fe262b5f2ce389fb4ff9':
2015-08-27 05:06:12 +00:00
Yabin Cui
3aa60b82ef am 65248069: (-s ours) am 62c26ed9: Merge "add fortified implementations of write/pwrite{,64}"
* commit '652480695172d90209e5163e92180a3952fba29a':
2015-08-27 05:06:10 +00:00
Elliott Hughes
806055dace am 9835b61d: (-s ours) am 49715dcc: Merge "Fix a mistype in segment overrange checking"
* commit '9835b61d636720712f79e49a5672518ead4753f9':
2015-08-27 05:06:09 +00:00
Christopher Ferris
f962a1848e am 55cd7b0b: (-s ours) am 079fc833: Merge "Modify ip to get the instr being executed."
* commit '55cd7b0b761ffb62ea522204fb2b0567862e920d':
2015-08-27 05:06:08 +00:00
Dan Albert
91aeb800d6 am af86eeec: (-s ours) am df0891ad: Merge "Add a TLS slot for TSAN."
* commit 'af86eeecc90442530ae6fa6f99188913c0198281':
2015-08-27 05:06:07 +00:00
Christopher Ferris
393e69d77e am 888ad399: (-s ours) am e4d51cf3: Merge "Add optimized cortex-a7/cortex-a53 memset/memcpy."
* commit '888ad399ee0b4da90d745fb9b45e89aec18bd8e1':
2015-08-27 05:06:06 +00:00
Elliott Hughes
a849fe6e2e am 37763e7a: (-s ours) am 4a8c4ce4: Merge "libc: remove bcopy from memmove on 64-bit architectures"
* commit '37763e7a7a3fc4b045d8a330306d652991bfed62':
2015-08-27 05:06:04 +00:00
Ying Wang
8abc375ec9 am e46c4212: (-s ours) am 85197af9: Merge "Don\'t attach linker_asan to linker in module definition."
* commit 'e46c4212d6478975dbbb7f7105ad05c2cdb07d7b':
2015-08-27 05:06:03 +00:00
Elliott Hughes
f92664cbe5 am 3034028d: (-s ours) am 6816d8cc: Merge "Use __builtin_* in <math.h>."
* commit '3034028d7a1f93e46e212061efe7b57fe8758107':
2015-08-27 05:06:01 +00:00
Elliott Hughes
b635c4ebb2 am 0ff5dda1: (-s ours) am dd8adc35: Merge "libm: ARM: reorganize a bit to match ARM64"
* commit '0ff5dda1020c4da9c4d21d8d3d4ad9ba15848441':
2015-08-27 05:06:00 +00:00
Elliott Hughes
ec6a557b38 am 1789ac90: (-s ours) am b4f2112f: Merge "[MIPS] Invalidate cached pid in vfork."
* commit '1789ac90f7ca94c161958640297b6b4aafa152fd':
2015-08-27 05:05:58 +00:00
Dan Albert
79697a7096 am 9423fb23: (-s ours) am f2985ed8: Merge "Fix test steps for 64-bit bionic"
* commit '9423fb23757a0d6d4f112a3f231717896444207b':
2015-08-27 05:05:57 +00:00
Dan Albert
8cc0d89a9d am 34afc42a: (-s ours) am 2b934924: Merge "Add missing include."
* commit '34afc42ae749c9cd7ce660ef6ab0c50bdbb41497':
2015-08-27 05:05:53 +00:00
Yabin Cui
0bbda9838b am 2bcb25c1: (-s ours) am 0660be89: am a6a12a78: am 0fdcdd00: Merge "Fix flaky test time.timer_settime_0." into lollipop-mr1-cts-dev
* commit '2bcb25c1c3153a28229bffcdd4d289ac72b987cc':
2015-08-27 05:05:46 +00:00
Dan Albert
3ce99a04a9 am ee8576d1: (-s ours) am a3c01467: Merge "Move up to C++14."
* commit 'ee8576d11413c7b9d42f466fb378921b4cdb01f3':
2015-08-27 05:05:44 +00:00
Yabin Cui
7b02991de7 am c23143a5: (-s ours) am ff4afc13: Merge "Omit comment when reading --gtest_list_tests option\'s output."
* commit 'c23143a5fdd32a1cc0ca0efdb435d9f46b596113':
2015-08-27 05:05:42 +00:00
Elliott Hughes
29eaaa6ee5 am 23e0bdf7: (-s ours) am 182b91f6: Merge "Invalidate cached pid in vfork."
* commit '23e0bdf7d4476399c04557396e288ad21938e65f':
2015-08-27 05:05:40 +00:00
Andreas Gampe
34df06eb8a am fd202300: (-s ours) am e80369ab: Merge "Bionic: Add a TLS slot for ART for Thread self"
* commit 'fd202300d8639065406f054e7232e9135572bb81':
2015-08-27 05:05:38 +00:00
Elliott Hughes
45f262c084 am 711d7b9f: (-s ours) am b3db7764: Merge "name the arc4random structure mappings"
* commit '711d7b9f90648183af684f80b9de80fc83b43824':
2015-08-27 05:05:37 +00:00
Elliott Hughes
a31ba88d4c am 65941221: (-s ours) am f57f7945: Merge "Cherrypick upstream fnmatch.c fix."
* commit '65941221b5985c824783f8c549241695a0cb6f92':
2015-08-27 05:05:35 +00:00
Elliott Hughes
f1a2cd9713 am dc181dd7: (-s ours) am 2278d29a: Merge "[MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment"
* commit 'dc181dd7882e1a633400fe410266dc58152c7c10':
2015-08-27 05:05:32 +00:00
Yabin Cui
37c4110f41 am 993a2bee: (-s ours) am 7e919dae: Merge "add a fortified implementation of getcwd"
* commit '993a2bee84e25604e7ef8c1d386e7cd3904627e0':
2015-08-27 05:05:30 +00:00
Elliott Hughes
ba06d5519e am 5b916453: (-s ours) am 25907058: Merge "Sync current upstream fnmatch.c."
* commit '5b916453f3d75ca9bbac6825191442c4b159e6a9':
2015-08-27 05:05:25 +00:00
Elliott Hughes
dc5970d025 am 9d7c6a7e: (-s ours) am 61c21b63: Merge "Revert "add a fortified implementation of getcwd""
* commit '9d7c6a7e570a8b91a094f0df4407b5624b469730':
2015-08-27 05:05:22 +00:00
Yabin Cui
e6623ebcaf am 4279bac2: (-s ours) am 442a3fca: Merge "add a fortified implementation of getcwd"
* commit '4279bac26a15b69a85d3d98a57ff7094b579f207':
2015-08-27 05:05:20 +00:00
Elliott Hughes
b51b07117c am 19a8b3fc: (-s ours) am 807f27f9: Merge "Stop sending SIGPIPE to debuggerd."
* commit '19a8b3fc8296974a4c65f52bd5da050b442bf901':
2015-08-27 05:05:18 +00:00
Elliott Hughes
1dd6f6436b am d473681f: (-s ours) am 44989174: Merge "Prevent buffer over-read in linker.cpp\'s parse_path."
* commit 'd473681fb1ba8e93154a16ca5d9290c66c6da224':
2015-08-27 05:05:15 +00:00
Elliott Hughes
3cb8b52334 am 89a64c0f: (-s ours) am 34c5f5ea: Merge "Remove PAGE_SIZE from <limits.h>."
* commit '89a64c0f2ee1abfbda37049b7700c104a0092946':
2015-08-27 05:05:12 +00:00
Elliott Hughes
d4cc5122d2 am 5c104603: (-s ours) am 374adfee: Merge "Don\'t transitively include <limits.h> from <sys/user.h>."
* commit '5c104603a01ef3bffa6819313508a29722756bcf':
2015-08-27 05:05:09 +00:00
Elliott Hughes
6ed2717b28 am c5de153b: (-s ours) am 1ff4094a: Merge "Remove PAGESIZE."
* commit 'c5de153bc6600a73722a594416a9398361dfb942':
2015-08-27 05:05:06 +00:00
Elliott Hughes
6141acb75f am a3c3a6b2: (-s ours) am c8ba22c8: Merge "Move PAGE_MASK into <sys/user.h>."
* commit 'a3c3a6b2df6de20f22139fae79c6bd124fc7fdb6':
2015-08-27 05:04:56 +00:00
Mark Salyzyn
9f80696d4e am 835a23cc: (-s ours) am 1923d4c0: Merge "deprecate TARGET_USES_LOGD"
* commit '835a23cc9caeeee7f591bd241dc88fbd205c7ef8':
2015-08-27 05:04:53 +00:00
Elliott Hughes
21b3d798e8 am c9bee108: (-s ours) am 4955cde2: Merge "Add a regression test for a fixed strnlen bug."
* commit 'c9bee108050ab367953f8f1d9cb73e837c1d06df':
2015-08-27 05:04:49 +00:00
Chih-hung Hsieh
8a955e1493 am c11758f2: (-s ours) am cebef1a7: Merge "Add one simple thread local storage test."
* commit 'c11758f2c9ff88d069c1fa22be5165220a07dc5c':
2015-08-27 05:04:47 +00:00
Christopher Ferris
741d5ae03d am e1f1a635: (-s ours) am e8ceb95c: Merge "Remove pushes from memsets (krait/cortex-a9)."
* commit 'e1f1a6353a4a537cca7ecc1a128bf98bf3790df1':
2015-08-27 05:04:44 +00:00
Yabin Cui
73a6ac348d am 0e63c39c: (-s ours) am 8af32633: Merge "add fortified implementations of fread/fwrite"
* commit '0e63c39cca56ae1d2b5877b6ffced3c6a4ca312b':
2015-08-27 05:04:41 +00:00
Elliott Hughes
273292a11a am d79de83b: (-s ours) am f16c6e17: Merge "Restore protection flags for ifunc during relocs."
* commit 'd79de83bfca0da705dbced60e0294f29da4aa63d':
2015-08-27 05:04:34 +00:00
Dmitriy Ivanov
a3b90f275a am ab6ca484: (-s ours) am de0fb393: Restore protection flags for ifunc during relocs.
* commit 'ab6ca484bd69842e9a56f01c7eef72e5368936d1':
2015-08-27 05:04:29 +00:00
Elliott Hughes
89722d9f65 am fd3cd1cc: (-s ours) am bff19682: Merge "name the atexit handler pages"
* commit 'fd3cd1cc2a508a8a70780253fbe60ef1798aca21':
2015-08-27 05:04:26 +00:00
Elliott Hughes
010563c886 am 7835c65c: (-s ours) am adc5795f: Merge "Use AT_PAGESZ for sysconf(_SC_PAGE_SIZE)."
* commit '7835c65ca777cd88b9ec656d780a7a48b591467f':
2015-08-27 05:04:24 +00:00
Christopher Ferris
f616c70e20 am dd3eb086: (-s ours) am a3a61983: Merge "Make all labels local."
* commit 'dd3eb0862e8a025783f952a32c3b785a255035c2':
2015-08-27 05:04:21 +00:00
Yabin Cui
fda41cce04 am 0bfe75bc: (-s ours) am b8320b80: Don\'t abort when failed to write tracing message.
* commit '0bfe75bc317d351404df13c560242dd3e44cf54b':
2015-08-27 05:04:11 +00:00
Yabin Cui
1ebd90caf1 am b9da7c15: (-s ours) am 9e1c862c: Merge "Don\'t abort when failed to write tracing message."
* commit 'b9da7c151df389426b379477676ddaceff43543a':
2015-08-27 05:04:09 +00:00
Yabin Cui
5ca7a74838 am c0c9704e: (-s ours) am 2565492d: Merge "Add getgrgid_r/getgrnam_r."
* commit 'c0c9704e1128bcc1e172e23032b63b7b31c75283':
2015-08-27 05:04:07 +00:00
Elliott Hughes
775339f00e am da24f8af: (-s ours) am 3b49d61a: Merge "libc: arch-x86: implement kernel vdso time functions"
* commit 'da24f8af38cb7829a3947ee320449c05f79f6a63':
2015-08-27 05:04:05 +00:00
Ying Wang
5f8b4eb2a8 am 9c4f3522: (-s ours) am 86ac443c: Merge "We don\'t have CXX_BARE any more"
* commit '9c4f35229df162e42a34aae94b3eb2e2436c4469':
2015-08-27 05:04:03 +00:00
Elliott Hughes
0931e46f64 am 2329b721: (-s ours) am bc0b8ff2: Merge "Use a less misleading name for the code that sets up the main thread."
* commit '2329b7218e2ca65767020f135b524d1c22957791':
2015-08-27 05:04:01 +00:00
Dan Albert
9405119369 am 8cc83e5c: (-s ours) am 7e52dbe4: Merge "Revert "Stop libc from cross-referencing unwind symbols"" into mnc-dev
* commit '8cc83e5c6669fe815d69abf9d3263425e751c741':
2015-08-27 05:03:59 +00:00
Ying Wang
8f137f06ea am 40e2b72f: (-s ours) am e39b279b: Merge "We don\'t have CXX_BARE any more" into mnc-dev
* commit '40e2b72fb30cd0aace5b85185e1d0989c9ff2e1a':
2015-08-27 05:03:57 +00:00
Christopher Ferris
3ff0bae759 am 953611ba: (-s ours) am aa55e7ad: Add support for non-zero vaddr in maps.
* commit '953611bae03e92e728226a729b990b9516914f9c':
2015-08-27 05:03:55 +00:00
Christopher Ferris
3a647e158d am a41556d3: (-s ours) am c99fabb7: Merge "Add support for non-zero vaddr in maps."
* commit 'a41556d398e3222d6e6d468c997a78c809c146fd':
2015-08-27 05:03:53 +00:00
Elliott Hughes
78f34b981e am ded55525: (-s ours) am 3bcfd47c: Merge "Revert "Revert "make vdso function pointers read-only at runtime"""
* commit 'ded555256d72c0f8491b5edc0e4550c45d61059d':
2015-08-27 05:03:51 +00:00
Dan Albert
930936ae7b am a645ebed: (-s ours) am f37c237b: Merge "Revert "Stop libc from cross-referencing unwind symbols""
* commit 'a645ebed9c42264f41bece4f9bf378ed37abc97b':
2015-08-27 05:03:49 +00:00
Dmitriy Ivanov
f98c881d8e am 8bdf8ab9: (-s ours) am e70d7a78: Merge "Fix dt_runpath test."
* commit '8bdf8ab97c59f6c0a0152d923dcb668681e4e031':
2015-08-27 05:03:47 +00:00
Elliott Hughes
70a5005ea6 am f8457c2d: (-s ours) am e5544ae1: Merge "<sys/time.h> should include [most of] <sys/select.h>."
* commit 'f8457c2d95e217f26553e8454f1e91673cf7ac8f':
2015-08-27 05:03:46 +00:00
Elliott Hughes
4110bb6452 am 6071a7b9: (-s ours) am 6c9ad82b: Merge "Revert "make vdso function pointers read-only at runtime""
* commit '6071a7b9ef107d0928588b9232c0bcbd4de82a53':
2015-08-27 05:03:44 +00:00
Elliott Hughes
f86b5a751c am ba1c89e9: (-s ours) am 4f2e1d3b: Merge "Add all the glibc one-line "synonym" header files."
* commit 'ba1c89e9b33c4bde320bcafcb564ac69c0303d92':
2015-08-27 05:03:42 +00:00
Elliott Hughes
93ec254b9e am 4ec3dcf8: (-s ours) am ca7bc509: Merge "make vdso function pointers read-only at runtime"
* commit '4ec3dcf8ecd34d6d530c94b0e45775eac43a92f4':
2015-08-27 05:03:40 +00:00
Dmitriy Ivanov
3d397fa661 am 436ff890: (-s ours) am a58d2498: Merge "Fix potential race condition on dlopen"
* commit '436ff890df2dedc6fc1083a8a71873a9731bb6c1':
2015-08-27 05:03:37 +00:00
Bertrand SIMONNET
09f2ae9b40 am df6eee9f: (-s ours) am 60bc9090: Merge "Add timespec/timeval conversion helpers."
* commit 'df6eee9f85d9482c9b561b6817fcfd8ce1a56d5c':
2015-08-27 05:03:35 +00:00
Dmitriy Ivanov
256e992517 am 0ee0dd8b: (-s ours) am cd588f84: Merge "Add constant for zip separator"
* commit '0ee0dd8b3d66e05a86ca12c35d16752b574bcad0':
2015-08-27 05:03:33 +00:00
Evgenii Stepanov
4972c73602 am fb186d55: (-s ours) am b3140904: Merge "Replace spaces with tabs in a Makefile."
* commit 'fb186d55e87c2c5817872fda81c29c18e9e0a22d':
2015-08-27 05:03:31 +00:00
Evgenii Stepanov
67e5c7f06f am 760345a9: (-s ours) am e9774a52: Merge "A special linker for ASan executables."
* commit '760345a959fdc9fbc849e6f72bbf386960f2d838':
2015-08-27 05:03:29 +00:00
Yabin Cui
9d4bfe17b9 am a89821ab: (-s ours) am 60a11dcb: Merge "Add test for an Android kernel bug about prctl."
* commit 'a89821abe3f2f3e763a95ac1e8e330fbbbca4996':
2015-08-27 05:03:27 +00:00
Christopher Ferris
eafe28f85a am bf880978: (-s ours) am a8d82f12: Merge "Update to v3.18.18 kernel headers."
* commit 'bf8809782ea6f13ae0c14750d53d5077e51c0205':
2015-08-27 05:03:25 +00:00
Christopher Ferris
74484e8bd4 am 72361125: (-s ours) am 5e3dc45a: Merge "Do not hold hash table lock while backtracing."
* commit '723611256117f2328101a1db4a7cad8ac8043978':
2015-08-27 05:03:20 +00:00
Christopher Ferris
ac02082fa0 am 6db9c199: (-s ours) am 43d35c35: Merge "Do not hold hash table lock while backtracing." into mnc-dev
* commit '6db9c199a81e8c104abc011246796faa22bfacc8':
2015-08-27 05:03:17 +00:00
Elliott Hughes
44cb343e4d am 45baf0f3: (-s ours) am 147a50d0: Merge "Prevent user-defined basename_r from breaking basename(3)."
* commit '45baf0f384e6e2cbaa5383765a8671a00c85ea55':
2015-08-27 05:03:15 +00:00
Neil Fuller
44808d163f am c64ed22e: (-s ours) am 64c82544: Merge "Update timezone data to 2015e" into mnc-dev
* commit 'c64ed22e9b7c341d7e95ce526b37aaacadd420e2':
2015-08-27 05:03:13 +00:00
Dmitriy Ivanov
91ceb2b70a am db996ae7: (-s ours) am a5bb841d: Fix memory-leak on soinfo_free()
* commit 'db996ae74c36e334899ad381d84a84c67cbe8bcc':
2015-08-27 05:03:11 +00:00
Dmitriy Ivanov
e875510e17 am 7974b834: (-s ours) am 880a2933: Merge "Fix memory-leak on soinfo_free()"
* commit '7974b83443d782c361f2bb92abfcdcba6dffa3c9':
2015-08-27 05:03:09 +00:00
Pirama Arumuga Nainar
9b8179fb7e am fcd01714: (-s ours) am d1e10d7d: Merge "Use delete[] to de-allocate pointers from new[]"
* commit 'fcd017148ba7ecf181f2f4065437c01c1c66cd4e':
2015-08-27 05:03:04 +00:00
Daniel Erat
22b9e685bc am 818295c3: (-s ours) am c6f25641: Merge "libc: Add sys/fcntl.h for compatibility."
* commit '818295c3f7e204baa1cd3f2d6e44c773dcd052af':
2015-08-27 05:03:02 +00:00
Evgenii Stepanov
9b484289e1 am b4f5d6d8: (-s ours) am 33ef6c20: Merge "Respect caller DT_RUNPATH in dlopen()."
* commit 'b4f5d6d89471ffc4cd5f528e95b4fbf869c339d5':
2015-08-27 05:02:59 +00:00
Christopher Ferris
82ff96be56 am ce302bff: (-s ours) am 90de6820: Merge "Replace bx lr with update of pc from the stack."
* commit 'ce302bff6ad655a46a04ef680d332b6ad72e2650':
2015-08-27 05:02:57 +00:00
Elliott Hughes
e75d37eb5a am b82a5a96: (-s ours) am 7a9732d6: Merge "Add some glibc-like #defines for libchrome."
* commit 'b82a5a96f8df82bc02878628d8549366bbe78fa0':
2015-08-27 05:02:53 +00:00
Elliott Hughes
0746d0f175 am 95997b69: (-s ours) am 89bbb846: Merge "Fix alignment after variable-length data."
* commit '95997b691f788c06b68710ad015c9dc668e7b91f':
2015-08-27 05:02:49 +00:00
Elliott Hughes
fca5c4413a am a6441ac5: (-s ours) am 65dd8582: Fix alignment after variable-length data.
* commit 'a6441ac5bf85d187aa47be7a22483c7d5d321599':
2015-08-27 05:02:45 +00:00
Elliott Hughes
12ec03e3af am 4059fcd2: (-s ours) am f542b309: Merge "Name the thread stack and signal stack guard pages."
* commit '4059fcd29ba2731b30001f7a8a12300431461cd3':
2015-08-27 05:02:40 +00:00
Chih-hung Hsieh
bfaee4bd6a Merge "Add test cases for __emutls_get_address." 2015-08-26 22:27:35 +00:00
Elliott Hughes
848808c660 Merge "Add preadv/pwritev." 2015-08-26 22:04:32 +00:00
Elliott Hughes
6f4594d5dc Add preadv/pwritev.
Bug: http://b/12612572
Change-Id: I38ff2684d69bd0fe3f21b1d371b88fa60d5421cb
2015-08-26 14:48:55 -07:00
Chih-Hung Hsieh
83380b5cf0 Add test cases for __emutls_get_address.
BUG: 22984770
Change-Id: I193c3612190260a08f3b3ad8b856c0ae8f94e03d
2015-08-26 13:10:14 -07:00
Christopher Ferris
6501864af4 am d518a6d3: Merge "Fix the 16 bit/32 bit instruction check for arm."
* commit 'd518a6d3bccc82cffb61fb7615b8ba09a564dec0':
  Fix the 16 bit/32 bit instruction check for arm.
2015-08-26 19:59:06 +00:00
Christopher Ferris
1154bcb3c0 am d518a6d3: Merge "Fix the 16 bit/32 bit instruction check for arm."
* commit 'd518a6d3bccc82cffb61fb7615b8ba09a564dec0':
  Fix the 16 bit/32 bit instruction check for arm.
2015-08-26 19:55:21 +00:00
Christopher Ferris
d518a6d3bc Merge "Fix the 16 bit/32 bit instruction check for arm." 2015-08-26 19:39:36 +00:00
Elliott Hughes
f2700df2ae am 629ed517: Merge "Add strchrnul."
* commit '629ed517126b3be32f2b2e8b710e63358691c296':
  Add strchrnul.
2015-08-26 18:43:58 +00:00
Elliott Hughes
7443dd5805 am 4d5c4f08: Merge "Add the missing aarch64 user structs."
* commit '4d5c4f085bc880af838d50f6bbd60d86e800b6e1':
  Add the missing aarch64 user structs.
2015-08-26 18:43:57 +00:00
Elliott Hughes
03deb8287b am 629ed517: Merge "Add strchrnul."
* commit '629ed517126b3be32f2b2e8b710e63358691c296':
  Add strchrnul.
2015-08-26 18:42:45 +00:00
Elliott Hughes
5f55f32e49 am 4d5c4f08: Merge "Add the missing aarch64 user structs."
* commit '4d5c4f085bc880af838d50f6bbd60d86e800b6e1':
  Add the missing aarch64 user structs.
2015-08-26 18:42:45 +00:00
Elliott Hughes
629ed51712 Merge "Add strchrnul." 2015-08-26 18:27:05 +00:00
Christopher Ferris
b72c9d80ab Fix the 16 bit/32 bit instruction check for arm.
The current code only looks for a branch, instead make this more
general.

Change-Id: Ib442d6f2f04074e274b320ca0cf04734cc78e5d2
2015-08-26 10:55:09 -07:00
Elliott Hughes
7ac3c128bb Add strchrnul.
Bug: http://b/18374026
Change-Id: Iea923309c090a51a2d41c5a83320ab3789f40f1c
2015-08-26 09:59:29 -07:00
Elliott Hughes
4d5c4f085b Merge "Add the missing aarch64 user structs." 2015-08-26 01:39:38 +00:00
Dan Albert
cc6461861e Don't re-export libunwind_llvm.
Change-Id: Ic16be4ada4cff374209d5eea89a7f81ed2fff398
2015-08-25 16:29:28 -07:00
Elliott Hughes
03f22465ae Add the missing aarch64 user structs.
Bug: http://b/23377194
Change-Id: I7d36717e129d2e044dc2cf24de4227c3bcdd60ce
2015-08-25 14:18:26 -07:00
Neil Fuller
cc4245a8de am 82911942: Update timezone data to 2015f
* commit '829119425bcc2b5fcec8fdf219026a5192c81234':
  Update timezone data to 2015f
2015-08-25 20:09:02 +00:00
Neil Fuller
1c751e5ec7 am 82911942: Update timezone data to 2015f
* commit '829119425bcc2b5fcec8fdf219026a5192c81234':
  Update timezone data to 2015f
2015-08-25 19:48:50 +00:00
Neil Fuller
829119425b Update timezone data to 2015f
Changes affecting future time stamps

    North Korea switches to +0830 on 2015-08-15.  (Thanks to Steffen Thorsen.)
    The abbreviation remains "KST".  (Thanks to Robert Elz.)

    Uruguay no longer observes DST.  (Thanks to Steffen Thorsen
    and Pablo Camargo.)

  Changes affecting past and future time stamps

    Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.
    (Thanks to Roman Tudos.)

Bug: 23480367
(cherry-picked from commit 6e7bc700e287f5d46165862a7031236670fa94d5)

Change-Id: I4d82604366e9e30a2100e09433e2772fe6957fff
2015-08-25 20:03:11 +01:00
Neil Fuller
58cf5d6b1d am 53f2abb5: Merge "Update timezone data to 2015f"
* commit '53f2abb5ffc103b9ea7fbe2fee13edead2553f3a':
  Update timezone data to 2015f
2015-08-25 18:55:00 +00:00
Neil Fuller
ff78def4fc am 53f2abb5: Merge "Update timezone data to 2015f"
* commit '53f2abb5ffc103b9ea7fbe2fee13edead2553f3a':
  Update timezone data to 2015f
2015-08-25 18:49:51 +00:00
Neil Fuller
53f2abb5ff Merge "Update timezone data to 2015f" 2015-08-25 18:31:26 +00:00
Neil Fuller
6e7bc700e2 Update timezone data to 2015f
Changes affecting future time stamps

    North Korea switches to +0830 on 2015-08-15.  (Thanks to Steffen Thorsen.)
    The abbreviation remains "KST".  (Thanks to Robert Elz.)

    Uruguay no longer observes DST.  (Thanks to Steffen Thorsen
    and Pablo Camargo.)

  Changes affecting past and future time stamps

    Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.
    (Thanks to Roman Tudos.)

Bug: 23480367
Change-Id: I6a46b79be3a547d4af5f3f7ca1452640ed764e1c
2015-08-25 12:46:33 +01:00
Neil Fuller
650e66cd7e am f7286a26: Merge "Move tzdata scripts from bionic to external/icu"
* commit 'f7286a26deba0da370003eb97918176a69b6cfa6':
  Move tzdata scripts from bionic to external/icu
2015-08-25 10:04:12 +00:00
Neil Fuller
7336be0598 am f7286a26: Merge "Move tzdata scripts from bionic to external/icu"
* commit 'f7286a26deba0da370003eb97918176a69b6cfa6':
  Move tzdata scripts from bionic to external/icu
2015-08-25 10:04:11 +00:00
Neil Fuller
f7286a26de Merge "Move tzdata scripts from bionic to external/icu" 2015-08-25 09:22:36 +00:00
Elliott Hughes
1b22327893 am 5bf79420: Merge "Revert "Revert "Use compiler builtins for fabs."""
* commit '5bf7942008287381e6d2aa2216d9ded24f639142':
  Revert "Revert "Use compiler builtins for fabs.""
2015-08-24 23:23:14 +00:00
Elliott Hughes
0ed97d1b5f am 5bf79420: Merge "Revert "Revert "Use compiler builtins for fabs."""
* commit '5bf7942008287381e6d2aa2216d9ded24f639142':
  Revert "Revert "Use compiler builtins for fabs.""
2015-08-24 23:23:02 +00:00
Elliott Hughes
5bf7942008 Merge "Revert "Revert "Use compiler builtins for fabs.""" 2015-08-24 23:12:49 +00:00
Elliott Hughes
f9f4a432ee Revert "Revert "Use compiler builtins for fabs.""
Don't enable the inlines when building libm itself. Otherwise clang gets
upset by seeing both an inline and a non-inline definition.

This reverts commit c5deb0f883cbdca7e5ab75f92f82c31d21367f49.

Change-Id: If7abdb351f5a5549d6a331b33af408e8fcfa9868
2015-08-24 16:05:48 -07:00
Elliott Hughes
66a7be9961 am c868b4c3: Merge "Revert "Use compiler builtins for fabs.""
* commit 'c868b4c35184683fe74ff8c8d780d021c2b07464':
  Revert "Use compiler builtins for fabs."
2015-08-24 21:22:09 +00:00
Elliott Hughes
1a26555846 am c868b4c3: Merge "Revert "Use compiler builtins for fabs.""
* commit 'c868b4c35184683fe74ff8c8d780d021c2b07464':
  Revert "Use compiler builtins for fabs."
2015-08-24 21:22:06 +00:00
Elliott Hughes
c868b4c351 Merge "Revert "Use compiler builtins for fabs."" 2015-08-24 21:08:28 +00:00
Elliott Hughes
c5deb0f883 Revert "Use compiler builtins for fabs."
Use of "extern inline" breaks clang build.

This reverts commit d76f16973a9d06765fb1f482239b9559f893ffd0.

Change-Id: I995d0d38c3776f5c50b060f16770741c92a2acac
2015-08-24 21:08:13 +00:00
Josh Gao
5ad3ebf08d am 0f8f9300: Merge "Add exported __popcount_tab for libgcc compat under compiler-rt."
* commit '0f8f9300b84fff37088218c69cc13bdc489963eb':
  Add exported __popcount_tab for libgcc compat under compiler-rt.
2015-08-24 21:00:03 +00:00
Josh Gao
aad7f33e2a am fad8370c: Merge "Improve .clang-format."
* commit 'fad8370cfbf24c8913fc898950698c3675133e23':
  Improve .clang-format.
2015-08-24 21:00:02 +00:00
Josh Gao
ebcaf389cd am 0f8f9300: Merge "Add exported __popcount_tab for libgcc compat under compiler-rt."
* commit '0f8f9300b84fff37088218c69cc13bdc489963eb':
  Add exported __popcount_tab for libgcc compat under compiler-rt.
2015-08-24 20:59:46 +00:00
Josh Gao
df4492f339 am fad8370c: Merge "Improve .clang-format."
* commit 'fad8370cfbf24c8913fc898950698c3675133e23':
  Improve .clang-format.
2015-08-24 20:59:45 +00:00
Josh Gao
0f8f9300b8 Merge "Add exported __popcount_tab for libgcc compat under compiler-rt." 2015-08-24 20:49:05 +00:00
Josh Gao
fad8370cfb Merge "Improve .clang-format." 2015-08-24 20:47:46 +00:00
Elliott Hughes
b8c08f44ab am a19a9348: Merge "Use compiler builtins for fabs."
* commit 'a19a9348b7160ce967c70a9f4f38afede8dcafa9':
  Use compiler builtins for fabs.
2015-08-24 20:45:59 +00:00
Elliott Hughes
51b0bf03c0 am a19a9348: Merge "Use compiler builtins for fabs."
* commit 'a19a9348b7160ce967c70a9f4f38afede8dcafa9':
  Use compiler builtins for fabs.
2015-08-24 20:45:45 +00:00
Elliott Hughes
a19a9348b7 Merge "Use compiler builtins for fabs." 2015-08-24 20:33:15 +00:00
Elliott Hughes
d76f16973a Use compiler builtins for fabs.
Change-Id: Id3bf761d6dfc187f218b5215c53d76bddc83d50b
2015-08-24 13:32:40 -07:00
Josh Gao
06b3f70cfe Add exported __popcount_tab for libgcc compat under compiler-rt.
Change-Id: I8df09e8f199761edbba290d7f1ea530781054b03
2015-08-24 13:06:10 -07:00
Dan Albert
8c6b0d164e am a80ae8b8: Merge "Add a .clang-format file."
* commit 'a80ae8b84812d69ca63647262ab888b2f40d55a0':
  Add a .clang-format file.
2015-08-24 20:02:15 +00:00
Dan Albert
784ccf07bf am a80ae8b8: Merge "Add a .clang-format file."
* commit 'a80ae8b84812d69ca63647262ab888b2f40d55a0':
  Add a .clang-format file.
2015-08-24 20:00:37 +00:00
Josh Gao
8258cd7c1b Improve .clang-format.
Change-Id: Idfd7879cc3bf1a1cdbe33262c2506fac2f07b428
2015-08-24 13:00:13 -07:00
Dan Albert
a80ae8b848 Merge "Add a .clang-format file." 2015-08-24 19:47:16 +00:00
Dan Albert
6e68c07550 Add a .clang-format file.
Change-Id: I6c4c492d9b571dd654b4993d1de1827813963ce1
2015-08-24 11:27:58 -07:00
Neil Fuller
ac77536b79 Move tzdata scripts from bionic to external/icu
The scripts affect files in external/icu, bionic
and the generated files affect libcore. The files must
be updated together so there is no "obvious" home.

OEM developers seem to want to update ICU
themselves and have been asking how. Moving the
scripts to external/icu and splitting the ICU generation
code into a sub-script they can run makes some sense.

Bug: 23419215
Change-Id: Ia26fa526fd2b560a79f36d327a10e262a85db752
2015-08-24 18:25:05 +01:00
Nick Kralevich
f94b491c2b am 4d7d05bd: Merge "Revert "fix incompatibility with -fstack-protector-strong""
* commit '4d7d05bd60b1d0bc20c95dd764fc2d916a12bb74':
  Revert "fix incompatibility with -fstack-protector-strong"
2015-08-24 07:10:16 +00:00
Nick Kralevich
f17f8157b2 am 4d7d05bd: Merge "Revert "fix incompatibility with -fstack-protector-strong""
* commit '4d7d05bd60b1d0bc20c95dd764fc2d916a12bb74':
  Revert "fix incompatibility with -fstack-protector-strong"
2015-08-24 07:10:15 +00:00
Nick Kralevich
4d7d05bd60 Merge "Revert "fix incompatibility with -fstack-protector-strong"" 2015-08-24 06:59:43 +00:00
Nick Kralevich
3d01422272 Revert "fix incompatibility with -fstack-protector-strong"
Reports of devices not booting with a build range including
this patch. Reverting while I investigate.

This reverts commit 96dd2b6e85e03ca9ab2600c2031490c22d5626ad.

Bug: 23470962
Change-Id: I056f1d8668f52d31412868975f2143249fc7e8f0
2015-08-24 06:58:39 +00:00
Nick Kralevich
51d2579367 am 5f7a5125: Merge "fix incompatibility with -fstack-protector-strong"
* commit '5f7a5125a53951543e27276877fa6b71eb08a5d8':
  fix incompatibility with -fstack-protector-strong
2015-08-24 04:30:22 +00:00
Nick Kralevich
abd1975dcc am 5f7a5125: Merge "fix incompatibility with -fstack-protector-strong"
* commit '5f7a5125a53951543e27276877fa6b71eb08a5d8':
  fix incompatibility with -fstack-protector-strong
2015-08-24 04:29:15 +00:00
Nick Kralevich
5f7a5125a5 Merge "fix incompatibility with -fstack-protector-strong" 2015-08-23 16:21:18 +00:00
Yabin Cui
d54d116352 am 62c26ed9: Merge "add fortified implementations of write/pwrite{,64}"
* commit '62c26ed93e76ca9b3dd265f41eb3685ed2e72808':
  add fortified implementations of write/pwrite{,64}
2015-08-21 03:17:54 +00:00
Yabin Cui
6524806951 am 62c26ed9: Merge "add fortified implementations of write/pwrite{,64}"
* commit '62c26ed93e76ca9b3dd265f41eb3685ed2e72808':
  add fortified implementations of write/pwrite{,64}
2015-08-21 03:17:34 +00:00
Yabin Cui
62c26ed93e Merge "add fortified implementations of write/pwrite{,64}" 2015-08-21 03:03:22 +00:00
Elliott Hughes
21a285029b am 49715dcc: Merge "Fix a mistype in segment overrange checking"
* commit '49715dcc8a8be1b4545b91e453467e1c45343e51':
  Fix a mistype in segment overrange checking
2015-08-20 23:26:37 +00:00
Elliott Hughes
9835b61d63 am 49715dcc: Merge "Fix a mistype in segment overrange checking"
* commit '49715dcc8a8be1b4545b91e453467e1c45343e51':
  Fix a mistype in segment overrange checking
2015-08-20 23:26:19 +00:00
Elliott Hughes
49715dcc8a Merge "Fix a mistype in segment overrange checking" 2015-08-20 23:13:15 +00:00
Daniel Micay
afdd15456a add fortified implementations of write/pwrite{,64}
These are just based on the read/pread{,64} implementations with the
function calls and error messages adjusted as appropriate. The only
difference is that the buffer parameters are const.

Change-Id: Ida1597a903807f583f230d74bcedffdb7b24fcf6
2015-08-20 13:46:51 -04:00
Christopher Ferris
55cd7b0b76 am 079fc833: Merge "Modify ip to get the instr being executed."
* commit '079fc833137d5067c0cd3dc5211e72019314dd80':
  Modify ip to get the instr being executed.
2015-08-19 22:31:02 +00:00
Christopher Ferris
3c0d78d576 am 079fc833: Merge "Modify ip to get the instr being executed."
* commit '079fc833137d5067c0cd3dc5211e72019314dd80':
  Modify ip to get the instr being executed.
2015-08-19 22:20:21 +00:00
skvalex
93ce35434c Fix a mistype in segment overrange checking
Change-Id: Ibea93514aa7ba3b1ac2bc00420f5124fb34f5f66
Signed-off-by: skvalex <skvalex@gmail.com>
2015-08-20 01:06:42 +03:00
Christopher Ferris
079fc83313 Merge "Modify ip to get the instr being executed." 2015-08-19 18:25:38 +00:00
Dan Albert
af86eeecc9 am df0891ad: Merge "Add a TLS slot for TSAN."
* commit 'df0891adcfe97dd8e4c825ea6ea586cc5bd09ef6':
  Add a TLS slot for TSAN.
2015-08-18 22:57:57 +00:00
Dan Albert
4a8f4867fc am df0891ad: Merge "Add a TLS slot for TSAN."
* commit 'df0891adcfe97dd8e4c825ea6ea586cc5bd09ef6':
  Add a TLS slot for TSAN.
2015-08-18 22:55:41 +00:00
Dan Albert
df0891adcf Merge "Add a TLS slot for TSAN." 2015-08-18 22:43:47 +00:00
Christopher Ferris
224bef8ec4 Modify ip to get the instr being executed.
The ip values being reported are always pointing at the next
instruction to execute, not the currently executing instruction.
Change the ip address to point at the currently executing instruction.

This fixes a problem where the next instruction is not actually
part of the same function, so if an addr2line is used, it reports
the wrong value.

This does not modify the ip for mips.

Bug: 22565486
Change-Id: Ie0df4c9727f62ce06948b9a2b0e4b7956eb6e752
2015-08-18 15:41:31 -07:00
Dan Albert
aa23b2ee5e Add a TLS slot for TSAN.
This is so TSAN won't need to rely on pthread_getspecific for finding
the current thread state.

Change-Id: Id3befeabec0a9f7ca77b5549fbc427e22e6aaa34
2015-08-18 15:09:00 -07:00
Christopher Ferris
e6f16b2d7d am e4d51cf3: Merge "Add optimized cortex-a7/cortex-a53 memset/memcpy."
* commit 'e4d51cf37a861e258e423de14619982af51d2527':
  Add optimized cortex-a7/cortex-a53 memset/memcpy.
2015-08-18 17:33:46 +00:00
Christopher Ferris
888ad399ee am e4d51cf3: Merge "Add optimized cortex-a7/cortex-a53 memset/memcpy."
* commit 'e4d51cf37a861e258e423de14619982af51d2527':
  Add optimized cortex-a7/cortex-a53 memset/memcpy.
2015-08-18 17:33:22 +00:00
Christopher Ferris
e4d51cf37a Merge "Add optimized cortex-a7/cortex-a53 memset/memcpy." 2015-08-18 17:18:11 +00:00
Elliott Hughes
4400c1d448 am 4a8c4ce4: Merge "libc: remove bcopy from memmove on 64-bit architectures"
* commit '4a8c4ce403f702c0b8279873fae3d62497c4a123':
  libc: remove bcopy from memmove on 64-bit architectures
2015-08-18 00:39:54 +00:00
Elliott Hughes
37763e7a7a am 4a8c4ce4: Merge "libc: remove bcopy from memmove on 64-bit architectures"
* commit '4a8c4ce403f702c0b8279873fae3d62497c4a123':
  libc: remove bcopy from memmove on 64-bit architectures
2015-08-18 00:39:50 +00:00
Ying Wang
fa20d51e91 am 85197af9: Merge "Don\'t attach linker_asan to linker in module definition."
* commit '85197af92b52dd02caa7146ea5f47fad5cbc0101':
  Don't attach linker_asan to linker in module definition.
2015-08-18 00:24:04 +00:00
Elliott Hughes
4a8c4ce403 Merge "libc: remove bcopy from memmove on 64-bit architectures" 2015-08-18 00:23:49 +00:00
Ying Wang
e46c4212d6 am 85197af9: Merge "Don\'t attach linker_asan to linker in module definition."
* commit '85197af92b52dd02caa7146ea5f47fad5cbc0101':
  Don't attach linker_asan to linker in module definition.
2015-08-18 00:23:29 +00:00
Ying Wang
85197af92b Merge "Don't attach linker_asan to linker in module definition." 2015-08-18 00:07:03 +00:00
Ying Wang
d1afa661af Don't attach linker_asan to linker in module definition.
With this change, we only define the rules to create the symlinks in
this Android.mk but without attaching the symlinks to the module linker.
Instead the core build system will set up the dependency whenever a
module needs these symlinks.

Bug: 22850550
Change-Id: I36c58fd411f1c27f3f638b229699d7dc1d66abb2
2015-08-17 16:17:03 -07:00
Jake Weinstein
2926f9a31e libc: remove bcopy from memmove on 64-bit architectures
* bcopy is deprecated on LP64 by the following commit:

  ce9ce28e5d

Change-Id: I6849916f0ec4a2d0db9a360999ad1dc8edda952b
2015-08-17 22:06:12 +00:00
Christopher Ferris
5930772286 Add optimized cortex-a7/cortex-a53 memset/memcpy.
Add an optimized memset that is ~20% faster for cortex-a7 and
cortex-a53.

Add a 32 bit optimized cortex-a53 memcpy that is about ~20% faster
on cached data.

Fix the cortex-a15 __str{cat,cpy}_chk.S, memcpy_base.S to remove
the phony functions, since they aren't needed any more. Then add
a direct include of these for cortex-a53.

Verified the new functions by stepping through all of the major
paths and verifying the backtrace is still correct.

Bug: 22696180
Change-Id: Iec92a3f82d51243cca76c9aff9f35d920ff865ae
2015-08-17 13:02:03 -07:00
Elliott Hughes
3034028d7a am 6816d8cc: Merge "Use __builtin_* in <math.h>."
* commit '6816d8cc69dc1d142d722686d006f25df94afcd3':
  Use __builtin_* in <math.h>.
2015-08-14 23:47:49 +00:00
Elliott Hughes
6ac9e42958 am 6816d8cc: Merge "Use __builtin_* in <math.h>."
* commit '6816d8cc69dc1d142d722686d006f25df94afcd3':
  Use __builtin_* in <math.h>.
2015-08-14 23:47:34 +00:00
Elliott Hughes
6816d8cc69 Merge "Use __builtin_* in <math.h>." 2015-08-14 22:57:10 +00:00
Elliott Hughes
b662280aaf Use __builtin_* in <math.h>.
Also remove cruft meant to support long-obsolete compilers. More
benchmarks.

Bug: http://b/23195789
Change-Id: Ief538e41e77a77e8013b2f4f359584e8df2c47d8
2015-08-14 15:20:57 -07:00
Elliott Hughes
0ff5dda102 am dd8adc35: Merge "libm: ARM: reorganize a bit to match ARM64"
* commit 'dd8adc35346e671b3c3b2ecb26c13b84c742695c':
  libm: ARM: reorganize a bit to match ARM64
2015-08-14 21:24:04 +00:00
Elliott Hughes
12229387f4 am dd8adc35: Merge "libm: ARM: reorganize a bit to match ARM64"
* commit 'dd8adc35346e671b3c3b2ecb26c13b84c742695c':
  libm: ARM: reorganize a bit to match ARM64
2015-08-14 21:23:32 +00:00
Elliott Hughes
dd8adc3534 Merge "libm: ARM: reorganize a bit to match ARM64" 2015-08-14 21:09:26 +00:00
Jake Weinstein
8d959505bc libm: ARM: reorganize a bit to match ARM64
* Cleaner naming, especially if there are more ARM-specific routines in
  the future.

Change-Id: Id29db728800ccd612a906e86ccb95c1e7620514d
2015-08-13 23:02:10 +00:00
Elliott Hughes
ee6c6845c0 am b4f2112f: Merge "[MIPS] Invalidate cached pid in vfork."
* commit 'b4f2112fa99dab401cd65db4c524d95b1e97614e':
  [MIPS] Invalidate cached pid in vfork.
2015-08-12 03:02:38 +00:00
Elliott Hughes
1789ac90f7 am b4f2112f: Merge "[MIPS] Invalidate cached pid in vfork."
* commit 'b4f2112fa99dab401cd65db4c524d95b1e97614e':
  [MIPS] Invalidate cached pid in vfork.
2015-08-12 03:02:35 +00:00
Elliott Hughes
b4f2112fa9 Merge "[MIPS] Invalidate cached pid in vfork." 2015-08-12 02:28:25 +00:00
Duane Sand
61d9ae5ab1 [MIPS] Invalidate cached pid in vfork.
Bug: http://b/23008979
Change-Id: I43e0c7db42602441313af4607a992caa8c7d6221
2015-08-12 02:28:05 +00:00
Dan Albert
9423fb2375 am f2985ed8: Merge "Fix test steps for 64-bit bionic"
* commit 'f2985ed840af2d5572fafb03074f17afa516d967':
  Fix test steps for 64-bit bionic
2015-08-12 02:14:57 +00:00
Dan Albert
e7cf1de6b9 am f2985ed8: Merge "Fix test steps for 64-bit bionic"
* commit 'f2985ed840af2d5572fafb03074f17afa516d967':
  Fix test steps for 64-bit bionic
2015-08-12 02:11:05 +00:00
Dan Albert
f2985ed840 Merge "Fix test steps for 64-bit bionic" 2015-08-12 01:58:18 +00:00
Dan Albert
4c615501e5 am 2b934924: Merge "Add missing include."
* commit '2b93492478b497181edf51f5829b984c4e904e52':
  Add missing include.
2015-08-12 00:43:41 +00:00
Dan Albert
34afc42ae7 am 2b934924: Merge "Add missing include."
* commit '2b93492478b497181edf51f5829b984c4e904e52':
  Add missing include.
2015-08-12 00:43:03 +00:00
Dan Albert
2b93492478 Merge "Add missing include." 2015-08-12 00:28:07 +00:00
Duane Sand
a40a21110d Fix test steps for 64-bit bionic
Change-Id: Ibe76f22cdb5c0dbc69a24ffd0acffff89686ca35
2015-08-11 17:21:27 -07:00
Dan Albert
3fe1515e38 Add missing include.
libc++ cleaned up a leaky header.

Change-Id: I5ac0f43a075257a9138a82be379c9cffe96e0ab9
2015-08-11 16:46:26 -07:00
Yabin Cui
857336809e am 0660be89: am a6a12a78: am 0fdcdd00: Merge "Fix flaky test time.timer_settime_0." into lollipop-mr1-cts-dev
* commit '0660be899f2d907dedbcb643315b73e652ec9510':
  Fix flaky test time.timer_settime_0.
2015-08-11 19:32:20 +00:00
Yabin Cui
2bcb25c1c3 am 0660be89: am a6a12a78: am 0fdcdd00: Merge "Fix flaky test time.timer_settime_0." into lollipop-mr1-cts-dev
* commit '0660be899f2d907dedbcb643315b73e652ec9510':
  Fix flaky test time.timer_settime_0.
2015-08-11 19:10:33 +00:00
Yabin Cui
0660be899f am a6a12a78: am 0fdcdd00: Merge "Fix flaky test time.timer_settime_0." into lollipop-mr1-cts-dev
* commit 'a6a12a7804402273e193074a58162cc0b3890812':
  Fix flaky test time.timer_settime_0.
2015-08-11 19:05:43 +00:00
Yabin Cui
a6a12a7804 am 0fdcdd00: Merge "Fix flaky test time.timer_settime_0." into lollipop-mr1-cts-dev
* commit '0fdcdd0067af88e7deef73070d0861ceb9f53c37':
  Fix flaky test time.timer_settime_0.
2015-08-11 18:56:43 +00:00
Yabin Cui
0fdcdd0067 Merge "Fix flaky test time.timer_settime_0." into lollipop-mr1-cts-dev 2015-08-11 18:41:17 +00:00
Yabin Cui
bf572d91b5 Fix flaky test time.timer_settime_0.
It fixes the problem reported in https://code.google.com/p/android/issues/detail?id=182395.

Change-Id: Ie16aa04095dac08a62dd0d4c50e763b36526624c
2015-08-11 11:25:02 -07:00
Dan Albert
ee8576d114 am a3c01467: Merge "Move up to C++14."
* commit 'a3c01467ecf31cab1410ce7b8554e2e77dae3309':
  Move up to C++14.
2015-08-11 00:00:14 +00:00
Dan Albert
4b99bef35b am a3c01467: Merge "Move up to C++14."
* commit 'a3c01467ecf31cab1410ce7b8554e2e77dae3309':
  Move up to C++14.
2015-08-10 23:59:12 +00:00
Dan Albert
a3c01467ec Merge "Move up to C++14." 2015-08-10 23:45:48 +00:00
Dan Albert
5341691955 Move up to C++14.
The default standard version is now ahead of us. Stop specifying C++11
so we get that too.

Change-Id: Ic96942cd7fd134118e29b744601b0119e49b6ac4
2015-08-10 16:40:06 -07:00
Yabin Cui
b23720dfc4 am ff4afc13: Merge "Omit comment when reading --gtest_list_tests option\'s output."
* commit 'ff4afc136ef5d00d33a611e7bc1950249db9fbcf':
  Omit comment when reading --gtest_list_tests option's output.
2015-08-10 22:22:47 +00:00
Yabin Cui
c23143a5fd am ff4afc13: Merge "Omit comment when reading --gtest_list_tests option\'s output."
* commit 'ff4afc136ef5d00d33a611e7bc1950249db9fbcf':
  Omit comment when reading --gtest_list_tests option's output.
2015-08-10 22:22:04 +00:00
Yabin Cui
ff4afc136e Merge "Omit comment when reading --gtest_list_tests option's output." 2015-08-10 22:01:07 +00:00
Elliott Hughes
23e0bdf7d4 am 182b91f6: Merge "Invalidate cached pid in vfork."
* commit '182b91f62809b03870f561a88135f5453966fe41':
  Invalidate cached pid in vfork.
2015-08-10 20:08:09 +00:00
Elliott Hughes
9a549011ad am 182b91f6: Merge "Invalidate cached pid in vfork."
* commit '182b91f62809b03870f561a88135f5453966fe41':
  Invalidate cached pid in vfork.
2015-08-10 20:08:08 +00:00
Elliott Hughes
182b91f628 Merge "Invalidate cached pid in vfork." 2015-08-10 19:47:11 +00:00
Yabin Cui
bf830ade7f Omit comment when reading --gtest_list_tests option's output.
Gtest add comments when listing typed tests. And we should omit them.

Bug: 23040880
Change-Id: If6034af301337fc06eeab294d2dbe5317a6b7f91
2015-08-10 12:12:39 -07:00
Elliott Hughes
5891abdc66 Invalidate cached pid in vfork.
Bug: http://b/23008979
Change-Id: I1dd900ac988cdbe10aad3abc53240c5d352891d5
2015-08-07 19:44:12 -07:00
Andreas Gampe
fd202300d8 am e80369ab: Merge "Bionic: Add a TLS slot for ART for Thread self"
* commit 'e80369ab0c484a99925a49a81ab0675538fab38a':
  Bionic: Add a TLS slot for ART for Thread self
2015-08-04 22:54:42 +00:00
Andreas Gampe
5e64d60690 am e80369ab: Merge "Bionic: Add a TLS slot for ART for Thread self"
* commit 'e80369ab0c484a99925a49a81ab0675538fab38a':
  Bionic: Add a TLS slot for ART for Thread self
2015-08-04 22:51:40 +00:00
Andreas Gampe
e80369ab0c Merge "Bionic: Add a TLS slot for ART for Thread self" 2015-08-04 22:35:34 +00:00
Elliott Hughes
711d7b9f90 am b3db7764: Merge "name the arc4random structure mappings"
* commit 'b3db7764d0757392c73c716423f49dc0809c5a23':
  name the arc4random structure mappings
2015-08-04 01:13:13 +00:00
Elliott Hughes
6a5a09be4e am b3db7764: Merge "name the arc4random structure mappings"
* commit 'b3db7764d0757392c73c716423f49dc0809c5a23':
  name the arc4random structure mappings
2015-08-04 01:12:55 +00:00
Elliott Hughes
b3db7764d0 Merge "name the arc4random structure mappings" 2015-08-04 00:58:57 +00:00
Elliott Hughes
d6edf15728 am f57f7945: Merge "Cherrypick upstream fnmatch.c fix."
* commit 'f57f7945159a0abbca248817d1d4af1e9d89e323':
  Cherrypick upstream fnmatch.c fix.
2015-08-03 21:46:53 +00:00
Elliott Hughes
3926593b36 am 2278d29a: Merge "[MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment"
* commit '2278d29ada4cda53d81b87446254cea16e1b24fa':
  [MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment
2015-08-03 19:32:35 +00:00
Elliott Hughes
65941221b5 am f57f7945: Merge "Cherrypick upstream fnmatch.c fix."
* commit 'f57f7945159a0abbca248817d1d4af1e9d89e323':
  Cherrypick upstream fnmatch.c fix.
2015-08-03 18:41:36 +00:00
Elliott Hughes
f57f794515 Merge "Cherrypick upstream fnmatch.c fix." 2015-08-03 18:22:42 +00:00
Elliott Hughes
17379d2b08 Cherrypick upstream fnmatch.c fix.
Bug: http://b/22855370
Change-Id: I3865cff1e2ffeb6709cea092be3770c1bebf1623
2015-08-03 11:11:22 -07:00
Yabin Cui
c028e4aaa3 am 7e919dae: Merge "add a fortified implementation of getcwd"
* commit '7e919daeaad62515ebbbf7b06badc77625a14d90':
  add a fortified implementation of getcwd
2015-08-03 18:02:03 +00:00
Elliott Hughes
dc181dd788 am 2278d29a: Merge "[MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment"
* commit '2278d29ada4cda53d81b87446254cea16e1b24fa':
  [MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment
2015-08-03 15:27:07 +00:00
Elliott Hughes
2278d29ada Merge "[MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment" 2015-08-03 15:17:18 +00:00
Daniel Micay
516fcb28f2 name the arc4random structure mappings
Change-Id: I6e150e526f6ceee31aa9bd219fa45317d5a729cb
2015-08-02 19:22:26 -04:00
Elliott Hughes
90acccbd97 am 25907058: Merge "Sync current upstream fnmatch.c."
* commit '259070585820b4900622363dd7f968d6b644d75d':
  Sync current upstream fnmatch.c.
2015-08-01 15:48:05 +00:00
Elliott Hughes
52d8e318f9 am 61c21b63: Merge "Revert "add a fortified implementation of getcwd""
* commit '61c21b63bc1602bce8685757fb1c2a788cc9eb8d':
  Revert "add a fortified implementation of getcwd"
2015-08-01 15:47:56 +00:00
Yabin Cui
f11ff78db5 am 442a3fca: Merge "add a fortified implementation of getcwd"
* commit '442a3fcae68152a95ef481ef99932d1bc001dc08':
  add a fortified implementation of getcwd
2015-08-01 15:47:52 +00:00
Yabin Cui
993a2bee84 am 7e919dae: Merge "add a fortified implementation of getcwd"
* commit '7e919daeaad62515ebbbf7b06badc77625a14d90':
  add a fortified implementation of getcwd
2015-08-01 05:25:13 +00:00
Yabin Cui
7e919daeaa Merge "add a fortified implementation of getcwd" 2015-08-01 05:14:20 +00:00
Daniel Micay
9101b00400 add a fortified implementation of getcwd
Change-Id: Ice3e6d3e1ff07788305dc85f8ee4059baad5fac4
2015-08-01 00:42:30 -04:00
Duane Sand
0acb15ead6 [MIPS] Link .dex or .oat code lacking .MIPS.abiflags segment
This corrects an issue with mips32 Art on mips64r6 Android, where
Java ran slowly due to unintended use of kernel-trap emulation of
single-precision floating point registers. This also regressed all
Art tests due to an extra logcat line
    WARNING: linker: Using FRE=1 mode to run "..."

When targeting mips32r6, Art generates modeless or FR=1 floating point
code, same as Android's own native mips32r6 modules. So the trapping was
unneeded. Linker was confusing Art-generated modules with those from
old NDK compilers, which do need that trapping mode.

This linker filename check may become unnecessary, if Art learns how to
generate .MIPS.abiflags segments in its generated elf-like codefiles.

Change-Id: I18069d1234960c680c5df739514da09015a7fdb6
2015-07-31 13:55:42 -07:00
Elliott Hughes
5b916453f3 am 25907058: Merge "Sync current upstream fnmatch.c."
* commit '259070585820b4900622363dd7f968d6b644d75d':
  Sync current upstream fnmatch.c.
2015-07-31 18:16:55 +00:00
Elliott Hughes
2590705858 Merge "Sync current upstream fnmatch.c." 2015-07-31 18:04:38 +00:00
Elliott Hughes
c46c0e960d Sync current upstream fnmatch.c.
Bug: http://b/22855370
Change-Id: I589f849aaede3b69b6b3682989bab7d8649dcd97
2015-07-31 10:57:27 -07:00
Elliott Hughes
9d7c6a7e57 am 61c21b63: Merge "Revert "add a fortified implementation of getcwd""
* commit '61c21b63bc1602bce8685757fb1c2a788cc9eb8d':
  Revert "add a fortified implementation of getcwd"
2015-07-31 17:41:05 +00:00
Elliott Hughes
61c21b63bc Merge "Revert "add a fortified implementation of getcwd"" 2015-07-31 17:33:05 +00:00
Elliott Hughes
4c43aac9a5 Revert "add a fortified implementation of getcwd"
This reverts commit 89a121d43a274131cf9f84b0e685bebf1e70cc1b.

Change-Id: Ib6f6fd424acea68a063777e9f324405450e23316
2015-07-31 17:32:50 +00:00
Yabin Cui
4279bac26a am 442a3fca: Merge "add a fortified implementation of getcwd"
* commit '442a3fcae68152a95ef481ef99932d1bc001dc08':
  add a fortified implementation of getcwd
2015-07-31 17:11:27 +00:00
Yabin Cui
442a3fcae6 Merge "add a fortified implementation of getcwd" 2015-07-31 16:55:12 +00:00
Daniel Micay
89a121d43a add a fortified implementation of getcwd
Change-Id: I95001ae4fe8f206db83e5c44d129ba11310695ce
2015-07-30 17:16:40 -04:00
Elliott Hughes
19a8b3fc82 am 807f27f9: Merge "Stop sending SIGPIPE to debuggerd."
* commit '807f27f9548077f114dc009f60764fb0241a2620':
  Stop sending SIGPIPE to debuggerd.
2015-07-30 15:39:45 +00:00
Elliott Hughes
125481fe3c am 807f27f9: Merge "Stop sending SIGPIPE to debuggerd."
* commit '807f27f9548077f114dc009f60764fb0241a2620':
  Stop sending SIGPIPE to debuggerd.
2015-07-30 15:39:23 +00:00
Elliott Hughes
807f27f954 Merge "Stop sending SIGPIPE to debuggerd." 2015-07-30 15:10:59 +00:00
Elliott Hughes
9f03ed12a6 Stop sending SIGPIPE to debuggerd.
SIGPIPE is a pretty normal way for command-line apps to die, but because
we catch it and report it via debuggerd, we get a lot of bogus bugs. We
could catch SIGPIPE in our tools, but that's not really legit and slightly
misleading.

"But", you say, "catching SIGPIPE is useful for app bugs!". Except a trawl
through buganizer suggests it's misleading there too. Not least because
it's usually an innocent victim that dies --- the problem is usually on the
other end of the pipe (which you learn nothing about because that process
already died, which is what closed the pipe).

We also don't catch SIGALRM, which is another signal that will terminate
your process if you don't catch it, but that one actually represents a
logic error in the crashing process, so there's a stronger argument for
catching that. (Except it too is not a real source of bugs.)

Bug: http://b/20659371
Change-Id: I79820b36573ddaa9a7bad0561a52f23e7a8d15ac
2015-07-29 22:24:13 -07:00
Elliott Hughes
d473681fb1 am 44989174: Merge "Prevent buffer over-read in linker.cpp\'s parse_path."
* commit '4498917406ee543116ea7ed987d26a15b2c1496c':
  Prevent buffer over-read in linker.cpp's parse_path.
2015-07-30 00:51:02 +00:00
Elliott Hughes
73854d9f1a am 44989174: Merge "Prevent buffer over-read in linker.cpp\'s parse_path."
* commit '4498917406ee543116ea7ed987d26a15b2c1496c':
  Prevent buffer over-read in linker.cpp's parse_path.
2015-07-30 00:50:45 +00:00
Elliott Hughes
4498917406 Merge "Prevent buffer over-read in linker.cpp's parse_path." 2015-07-30 00:22:48 +00:00
tony.ys_liu
b447440a4b Prevent buffer over-read in linker.cpp's parse_path.
Also, the old behavior of skipping empty entries doesn't match glibc.

Change-Id: I497774377113ab6c5d962e0f20066e2192748f06
2015-07-29 17:21:30 -07:00
Elliott Hughes
45ea30c472 am 34c5f5ea: Merge "Remove PAGE_SIZE from <limits.h>."
* commit '34c5f5eacdedcea6b987854a4bca07c703495d62':
  Remove PAGE_SIZE from <limits.h>.
2015-07-29 15:58:32 +00:00
Elliott Hughes
89a64c0f2e am 34c5f5ea: Merge "Remove PAGE_SIZE from <limits.h>."
* commit '34c5f5eacdedcea6b987854a4bca07c703495d62':
  Remove PAGE_SIZE from <limits.h>.
2015-07-29 15:58:28 +00:00
Elliott Hughes
34c5f5eacd Merge "Remove PAGE_SIZE from <limits.h>." 2015-07-29 15:18:06 +00:00
Elliott Hughes
5c104603a0 am 374adfee: Merge "Don\'t transitively include <limits.h> from <sys/user.h>."
* commit '374adfee473725994ee2568ce5aba93a7500064e':
  Don't transitively include <limits.h> from <sys/user.h>.
2015-07-29 07:33:28 +00:00
Elliott Hughes
c5de153bc6 am 1ff4094a: Merge "Remove PAGESIZE."
* commit '1ff4094a7f106b3de390acb1e36c45bbb878a153':
  Remove PAGESIZE.
2015-07-29 07:33:25 +00:00
Elliott Hughes
73ca982c97 am 374adfee: Merge "Don\'t transitively include <limits.h> from <sys/user.h>."
* commit '374adfee473725994ee2568ce5aba93a7500064e':
  Don't transitively include <limits.h> from <sys/user.h>.
2015-07-29 07:17:51 +00:00
Elliott Hughes
475b542458 am 1ff4094a: Merge "Remove PAGESIZE."
* commit '1ff4094a7f106b3de390acb1e36c45bbb878a153':
  Remove PAGESIZE.
2015-07-29 07:17:48 +00:00
Elliott Hughes
36443fd542 Remove PAGE_SIZE from <limits.h>.
It turns out that everyone's still getting PAGE_SIZE from <sys/user.h> via
<sys/ucontext.h> via <signal.h> anyway.

glibc has PAGE_SIZE in <sys/user.h> rather than <limits.h> so this part is
good. The bad part is that we have such wide transitive inclusion of
<sys/user.h>!

Bug: http://b/22735893
Change-Id: I363adffe4a27b4ca1eedf695ea621f5dd2d5ca10
2015-07-28 19:54:53 -07:00
Andreas Gampe
9bbb5a7a09 Bionic: Add a TLS slot for ART for Thread self
To improve the performance of Thread::Current(), add a tls slot so
ART can avoid a pthreads call.

Change-Id: Icc86a2b7590734637366f9d5e41a5c6d18cc5772
2015-07-28 19:53:54 -07:00
Elliott Hughes
374adfee47 Merge "Don't transitively include <limits.h> from <sys/user.h>." 2015-07-29 01:02:37 +00:00
Elliott Hughes
5390173ad4 Don't transitively include <limits.h> from <sys/user.h>.
Bug: http://b/22735893
Change-Id: I27d0a1f7e2d477b8038e76bfc7fe05dd7e187344
2015-07-28 17:44:32 -07:00
Elliott Hughes
1ff4094a7f Merge "Remove PAGESIZE." 2015-07-29 00:09:20 +00:00
Elliott Hughes
a3c3a6b2df am c8ba22c8: Merge "Move PAGE_MASK into <sys/user.h>."
* commit 'c8ba22c847bd5bfc97d29a4c565fd32993200a01':
  Move PAGE_MASK into <sys/user.h>.
2015-07-29 00:05:13 +00:00
Elliott Hughes
cd6b01e214 am c8ba22c8: Merge "Move PAGE_MASK into <sys/user.h>."
* commit 'c8ba22c847bd5bfc97d29a4c565fd32993200a01':
  Move PAGE_MASK into <sys/user.h>.
2015-07-29 00:01:51 +00:00
Elliott Hughes
820a86f2df Remove PAGESIZE.
This was pretty much unused, and isn't in glibc.

Bug: http://b/22735893
Change-Id: If17f0dcd931c90ef1ccb134a3950c3b0011a03f4
2015-07-28 16:46:06 -07:00
Elliott Hughes
c8ba22c847 Merge "Move PAGE_MASK into <sys/user.h>." 2015-07-28 23:11:18 +00:00
Elliott Hughes
afab3ffcce Move PAGE_MASK into <sys/user.h>.
I'm removing the TODO on the assumption that being compatible with glibc
is more useful than BSD. The new internal "bionic_page.h" header factors
out some duplication between libc and the linker.

Bug: http://b/22735893
Change-Id: I4aec4dcba5886fb6f6b9290a8f85660643261321
2015-07-28 14:58:37 -07:00
Mark Salyzyn
6f0c9b4827 am 1923d4c0: Merge "deprecate TARGET_USES_LOGD"
* commit '1923d4c03a68c89f304b601545f5e8db026b9be0':
  deprecate TARGET_USES_LOGD
2015-07-28 19:51:17 +00:00
Mark Salyzyn
835a23cc9c am 1923d4c0: Merge "deprecate TARGET_USES_LOGD"
* commit '1923d4c03a68c89f304b601545f5e8db026b9be0':
  deprecate TARGET_USES_LOGD
2015-07-28 19:50:24 +00:00
Mark Salyzyn
1923d4c03a Merge "deprecate TARGET_USES_LOGD" 2015-07-28 17:48:08 +00:00
Mark Salyzyn
667dc75ee1 deprecate TARGET_USES_LOGD
This is not the kernel logger you are looking for

Bug: 22787659
Change-Id: I340d8bb5cdaa73be9565521681ee238b7033934b
2015-07-28 08:51:17 -07:00
Elliott Hughes
c9bee10805 am 4955cde2: Merge "Add a regression test for a fixed strnlen bug."
* commit '4955cde2c55d4860f12039a96d14fc756b1308a3':
  Add a regression test for a fixed strnlen bug.
2015-07-28 15:30:24 +00:00
Elliott Hughes
26ac060046 am 4955cde2: Merge "Add a regression test for a fixed strnlen bug."
* commit '4955cde2c55d4860f12039a96d14fc756b1308a3':
  Add a regression test for a fixed strnlen bug.
2015-07-28 15:27:25 +00:00
Elliott Hughes
4955cde2c5 Merge "Add a regression test for a fixed strnlen bug." 2015-07-28 14:55:50 +00:00
Elliott Hughes
d2a9fb3267 Add a regression test for a fixed strnlen bug.
Bug: https://code.google.com/p/android/issues/detail?id=74741
Change-Id: I78b0114bdbe8e680b0e938af608a634e73c86eda
2015-07-27 20:55:03 -07:00
Chih-hung Hsieh
d3d40b1531 am cebef1a7: Merge "Add one simple thread local storage test."
* commit 'cebef1a7812fe3552f12dd7e885a1f879a9946ed':
  Add one simple thread local storage test.
2015-07-28 02:02:20 +00:00
Chih-hung Hsieh
c11758f2c9 am cebef1a7: Merge "Add one simple thread local storage test."
* commit 'cebef1a7812fe3552f12dd7e885a1f879a9946ed':
  Add one simple thread local storage test.
2015-07-28 02:01:16 +00:00
Chih-hung Hsieh
cebef1a781 Merge "Add one simple thread local storage test." 2015-07-28 01:33:01 +00:00
Chih-Hung Hsieh
7656d0cec0 Add one simple thread local storage test.
This test should pass with gcc and fail with clang,
until clang/llvm supports emutls or Android linker supports
ELF TLS models.

BUG: 21082792
Change-Id: Id8c97da52c68ec230c7d26af703f6ed32d53a4fe
2015-07-27 17:20:19 -07:00
Christopher Ferris
e1f1a6353a am e8ceb95c: Merge "Remove pushes from memsets (krait/cortex-a9)."
* commit 'e8ceb95c680eacc3b5d16644a48a28b45f421e2f':
  Remove pushes from memsets (krait/cortex-a9).
2015-07-28 00:17:16 +00:00
Yabin Cui
0e63c39cca am 8af32633: Merge "add fortified implementations of fread/fwrite"
* commit '8af32633498184e58e6f8d5d75b9f9cdbef5b6be':
  add fortified implementations of fread/fwrite
2015-07-28 00:17:08 +00:00
Christopher Ferris
4f4dd3caae am e8ceb95c: Merge "Remove pushes from memsets (krait/cortex-a9)."
* commit 'e8ceb95c680eacc3b5d16644a48a28b45f421e2f':
  Remove pushes from memsets (krait/cortex-a9).
2015-07-27 23:33:21 +00:00
Yabin Cui
98fc81cf5e am 8af32633: Merge "add fortified implementations of fread/fwrite"
* commit '8af32633498184e58e6f8d5d75b9f9cdbef5b6be':
  add fortified implementations of fread/fwrite
2015-07-27 23:14:45 +00:00
Christopher Ferris
e8ceb95c68 Merge "Remove pushes from memsets (krait/cortex-a9)." 2015-07-27 23:09:32 +00:00
Yabin Cui
8af3263349 Merge "add fortified implementations of fread/fwrite" 2015-07-27 22:46:29 +00:00
Dmitriy Ivanov
e6464678b3 am de0fb393: Restore protection flags for ifunc during relocs.
* commit 'de0fb393ae8136a5958fe17eee0c6285e2f7f91a':
  Restore protection flags for ifunc during relocs.
2015-07-27 22:23:32 +00:00
Elliott Hughes
291c314005 am f16c6e17: Merge "Restore protection flags for ifunc during relocs."
* commit 'f16c6e17b22c278320d0e662d1f1e1213f8fbc71':
  Restore protection flags for ifunc during relocs.
2015-07-27 22:02:23 +00:00
Elliott Hughes
d79de83bfc am f16c6e17: Merge "Restore protection flags for ifunc during relocs."
* commit 'f16c6e17b22c278320d0e662d1f1e1213f8fbc71':
  Restore protection flags for ifunc during relocs.
2015-07-27 22:01:48 +00:00
Dmitriy Ivanov
ab6ca484bd am de0fb393: Restore protection flags for ifunc during relocs.
* commit 'de0fb393ae8136a5958fe17eee0c6285e2f7f91a':
  Restore protection flags for ifunc during relocs.
2015-07-27 21:39:11 +00:00
Elliott Hughes
f16c6e17b2 Merge "Restore protection flags for ifunc during relocs." 2015-07-27 21:34:53 +00:00
Christopher Ferris
8264cbba7e Remove pushes from memsets (krait/cortex-a9).
On the path that only uses r0 in both the krait and cortex-a9
memset, remove the push and use r3 instead.

In addition, for cortex-a9, remove the artificial function since
it's not needed since dwarf unwinding is now supported on arm.

Change-Id: Ia4ed1cc435b03627a7193215e76c8ea3335f949a
2015-07-27 14:07:37 -07:00
Elliott Hughes
9816016893 am bff19682: Merge "name the atexit handler pages"
* commit 'bff196822230b5a8b1f5bafeed88ded821d390a9':
  name the atexit handler pages
2015-07-27 18:50:47 +00:00
Elliott Hughes
fd3cd1cc2a am bff19682: Merge "name the atexit handler pages"
* commit 'bff196822230b5a8b1f5bafeed88ded821d390a9':
  name the atexit handler pages
2015-07-27 18:32:37 +00:00
Elliott Hughes
bff1968222 Merge "name the atexit handler pages" 2015-07-27 18:06:35 +00:00
Daniel Micay
f0a73476a1 name the atexit handler pages
Change-Id: I1718ddee7415a673b5818bc1455b8d90f1e8f9c6
2015-07-27 11:04:58 -07:00
Dmitriy Ivanov
ec83a61c8b Restore protection flags for ifunc during relocs.
IFUNC relocations require executable flag for the load
segment containing .text. When dso has text relocs linker
removes exec which causes crash during ifunc relocations.

This patch fixes this problem by restoring segments protection
for ifunc relocs.

Bug: http://b/22611399
Change-Id: Icbf3be0fec0e42bf805bcad7533e2032a2e11b9c
(cherry picked from commit de0fb393ae8136a5958fe17eee0c6285e2f7f91a)
2015-07-26 08:23:01 -07:00
Dmitriy Ivanov
de0fb393ae Restore protection flags for ifunc during relocs.
IFUNC relocations require executable flag for the load
segment containing .text. When dso has text relocs linker
removes exec which causes crash during ifunc relocations.

This patch fixes this problem by restoring segments protection
for ifunc relocs.

Bug: http://b/22611399
Change-Id: Icbf3be0fec0e42bf805bcad7533e2032a2e11b9c
2015-07-26 07:37:09 -07:00
Elliott Hughes
7835c65ca7 am adc5795f: Merge "Use AT_PAGESZ for sysconf(_SC_PAGE_SIZE)."
* commit 'adc5795fb7b674e6d40d1f190c675607c1379343':
  Use AT_PAGESZ for sysconf(_SC_PAGE_SIZE).
2015-07-25 18:58:57 +00:00
Elliott Hughes
e9f23862fe am adc5795f: Merge "Use AT_PAGESZ for sysconf(_SC_PAGE_SIZE)."
* commit 'adc5795fb7b674e6d40d1f190c675607c1379343':
  Use AT_PAGESZ for sysconf(_SC_PAGE_SIZE).
2015-07-25 18:56:53 +00:00
Elliott Hughes
adc5795fb7 Merge "Use AT_PAGESZ for sysconf(_SC_PAGE_SIZE)." 2015-07-25 18:32:46 +00:00
Elliott Hughes
189394b885 Use AT_PAGESZ for sysconf(_SC_PAGE_SIZE).
Bug: http://b/18342333
Change-Id: Id12ed4e85a0f35d7d27202f7792df42a65a74b4e
2015-07-24 23:22:07 -07:00
Yabin Cui
22091a09ae am b8320b80: Don\'t abort when failed to write tracing message.
* commit 'b8320b8021856ae61b3012b82c2ae96df97e3ec4':
  Don't abort when failed to write tracing message.
2015-07-24 04:16:39 +00:00
Christopher Ferris
dd3eb0862e am a3a61983: Merge "Make all labels local."
* commit 'a3a619835d302f5414883e2307ca48406b15a4a5':
  Make all labels local.
2015-07-24 01:17:28 +00:00
Christopher Ferris
beebbff0a0 am a3a61983: Merge "Make all labels local."
* commit 'a3a619835d302f5414883e2307ca48406b15a4a5':
  Make all labels local.
2015-07-24 01:17:09 +00:00
Christopher Ferris
a3a619835d Merge "Make all labels local." 2015-07-24 00:47:06 +00:00
Daniel Micay
fed2659869 add fortified implementations of fread/fwrite
A __size_mul_overflow utility is used to take advantage of the checked
overflow intrinsics in Clang and GCC (>= 5). The fallback for older
compilers is the optimized but less than ideal overflow checking pattern
used in OpenBSD.

Change-Id: Ibb0d4fd9b5acb67983e6a9f46844c2fd444f7e69
2015-07-23 18:55:46 -04:00
Yabin Cui
0bfe75bc31 am b8320b80: Don\'t abort when failed to write tracing message.
* commit 'b8320b8021856ae61b3012b82c2ae96df97e3ec4':
  Don't abort when failed to write tracing message.
2015-07-23 22:42:23 +00:00
Dan Albert
c9d373e2d9 am 7e52dbe4: Merge "Revert "Stop libc from cross-referencing unwind symbols"" into mnc-dev
* commit '7e52dbe4d24daf61a8bd4bbbd0761c55468c3c7e':
  Revert "Stop libc from cross-referencing unwind symbols"
2015-07-23 21:50:48 +00:00
Yabin Cui
b8320b8021 Don't abort when failed to write tracing message.
Also make the code thread-safe with lock.

Bug: 20666100
Change-Id: I0f331a617b75280f36179c187418450230d713ef
(cherry picked from commit 166112531558a1d4ea179c29147f27db7045db22)
2015-07-23 12:24:42 -07:00
Christopher Ferris
795a8e3d69 Make all labels local.
Change the non-local labels to .L labels.

Change-Id: I720e894f2e311af8f4a0970303d8b86575fb69a5
2015-07-23 12:12:55 -07:00
Yabin Cui
bb65e61f6b am 9e1c862c: Merge "Don\'t abort when failed to write tracing message."
* commit '9e1c862cb649f054aaa1c2141409387bf3d5f3eb':
  Don't abort when failed to write tracing message.
2015-07-23 19:10:22 +00:00
Yabin Cui
b9da7c151d am 9e1c862c: Merge "Don\'t abort when failed to write tracing message."
* commit '9e1c862cb649f054aaa1c2141409387bf3d5f3eb':
  Don't abort when failed to write tracing message.
2015-07-23 18:53:37 +00:00
Yabin Cui
9e1c862cb6 Merge "Don't abort when failed to write tracing message." 2015-07-23 17:20:30 +00:00
Yabin Cui
c0c9704e11 am 2565492d: Merge "Add getgrgid_r/getgrnam_r."
* commit '2565492db0d67b95348cd1c3026ed338ca59aa37':
  Add getgrgid_r/getgrnam_r.
2015-07-23 02:06:56 +00:00
Elliott Hughes
da24f8af38 am 3b49d61a: Merge "libc: arch-x86: implement kernel vdso time functions"
* commit '3b49d61ac2f7a02d5e7f25a24836b060f922f079':
  libc: arch-x86: implement kernel vdso time functions
2015-07-23 02:06:55 +00:00
Ying Wang
9c4f35229d am 86ac443c: Merge "We don\'t have CXX_BARE any more"
* commit '86ac443cd1df83bbef4a18046714e067a9d13247':
  We don't have CXX_BARE any more
2015-07-23 02:06:19 +00:00
Elliott Hughes
2329b7218e am bc0b8ff2: Merge "Use a less misleading name for the code that sets up the main thread."
* commit 'bc0b8ff2fbfb38f73114aef7df8e302025245441':
  Use a less misleading name for the code that sets up the main thread.
2015-07-23 02:06:17 +00:00
Yabin Cui
1661125315 Don't abort when failed to write tracing message.
Also make the code thread-safe with lock.

Bug: 20666100
Change-Id: I0f331a617b75280f36179c187418450230d713ef
2015-07-22 18:24:53 -07:00
Dan Albert
8cc83e5c66 am 7e52dbe4: Merge "Revert "Stop libc from cross-referencing unwind symbols"" into mnc-dev
* commit '7e52dbe4d24daf61a8bd4bbbd0761c55468c3c7e':
  Revert "Stop libc from cross-referencing unwind symbols"
2015-07-22 20:17:30 +00:00
Yabin Cui
758bc0a806 am 2565492d: Merge "Add getgrgid_r/getgrnam_r."
* commit '2565492db0d67b95348cd1c3026ed338ca59aa37':
  Add getgrgid_r/getgrnam_r.
2015-07-22 03:44:16 +00:00
Yabin Cui
2565492db0 Merge "Add getgrgid_r/getgrnam_r." 2015-07-22 03:22:26 +00:00
Yabin Cui
c4786d366b Add getgrgid_r/getgrnam_r.
Bug: 22568551
Change-Id: I3c0772d119d6041063c6be53f5bcc5ea1768f0d5
2015-07-21 19:33:34 -07:00
Elliott Hughes
cf3d602b28 am 3b49d61a: Merge "libc: arch-x86: implement kernel vdso time functions"
* commit '3b49d61ac2f7a02d5e7f25a24836b060f922f079':
  libc: arch-x86: implement kernel vdso time functions
2015-07-22 02:12:02 +00:00
Elliott Hughes
3b49d61ac2 Merge "libc: arch-x86: implement kernel vdso time functions" 2015-07-22 01:51:00 +00:00
Robert Jarzmik
10726d52ac libc: arch-x86: implement kernel vdso time functions
This patch give the possibility of time vdso support on 32bit kernel.
If the 32bit x86 kernel provides gettimeofday() and clock_gettime()
primitives in vdso. In this case make bionic use them. If the kernel
doesn't provide them, fallback to the legacy system call versions.

Change-Id: I87b772a9486fa356903e1f98f486ab9eb0b6f6f7
Signed-off-by: Robert Jarzmik <robert.jarzmik@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
2015-07-22 01:31:38 +00:00
Dan Albert
7e52dbe4d2 Merge "Revert "Stop libc from cross-referencing unwind symbols"" into mnc-dev 2015-07-21 23:09:35 +00:00
Ying Wang
788e7c9937 am e39b279b: Merge "We don\'t have CXX_BARE any more" into mnc-dev
* commit 'e39b279bb4971d0c3322214ea977275f1bc58c0b':
  We don't have CXX_BARE any more
2015-07-21 21:50:27 +00:00
Ying Wang
e16cf1d531 am 86ac443c: Merge "We don\'t have CXX_BARE any more"
* commit '86ac443cd1df83bbef4a18046714e067a9d13247':
  We don't have CXX_BARE any more
2015-07-21 21:40:44 +00:00
Ying Wang
86ac443cd1 Merge "We don't have CXX_BARE any more" 2015-07-21 21:10:23 +00:00
Ying Wang
361d4b4c87 We don't have CXX_BARE any more
Now we have split CXX_WRAPPER from TARGET_CXX and CXX_BARE isn't needed
any more.

Bug: 22612634
Change-Id: I52c78b0d1b325910e875a786d17f780731778b4b
(cherry-pick from commit 9d11a7087c860195bf23f2825a7fe70d43ff7b78)
2015-07-21 14:08:42 -07:00
Ying Wang
40e2b72fb3 am e39b279b: Merge "We don\'t have CXX_BARE any more" into mnc-dev
* commit 'e39b279bb4971d0c3322214ea977275f1bc58c0b':
  We don't have CXX_BARE any more
2015-07-21 21:01:46 +00:00
Elliott Hughes
41298d1aae am bc0b8ff2: Merge "Use a less misleading name for the code that sets up the main thread."
* commit 'bc0b8ff2fbfb38f73114aef7df8e302025245441':
  Use a less misleading name for the code that sets up the main thread.
2015-07-21 20:53:23 +00:00
Ying Wang
e39b279bb4 Merge "We don't have CXX_BARE any more" into mnc-dev 2015-07-21 20:51:28 +00:00
Elliott Hughes
bc0b8ff2fb Merge "Use a less misleading name for the code that sets up the main thread." 2015-07-21 20:28:17 +00:00
Christopher Ferris
bbfdd50518 am aa55e7ad: Add support for non-zero vaddr in maps.
* commit 'aa55e7ad249e49025d0507f513a6c45f8491a4e5':
  Add support for non-zero vaddr in maps.
2015-07-21 19:46:36 +00:00
Christopher Ferris
953611bae0 am aa55e7ad: Add support for non-zero vaddr in maps.
* commit 'aa55e7ad249e49025d0507f513a6c45f8491a4e5':
  Add support for non-zero vaddr in maps.
2015-07-21 19:05:24 +00:00
Elliott Hughes
d29486343a Use a less misleading name for the code that sets up the main thread.
Change-Id: I50c1b0a3b633cf8bc40a6bd86f12adb6b91e2888
2015-07-21 11:57:09 -07:00
Christopher Ferris
e47102098b am c99fabb7: Merge "Add support for non-zero vaddr in maps."
* commit 'c99fabb7a097e9aeed49ce03584cce113d086905':
  Add support for non-zero vaddr in maps.
2015-07-21 18:28:52 +00:00
Elliott Hughes
c2b097252a am 3bcfd47c: Merge "Revert "Revert "make vdso function pointers read-only at runtime"""
* commit '3bcfd47c6836a952b2093c64feb9f1e382891256':
  Revert "Revert "make vdso function pointers read-only at runtime""
2015-07-21 18:28:13 +00:00
Christopher Ferris
a41556d398 am c99fabb7: Merge "Add support for non-zero vaddr in maps."
* commit 'c99fabb7a097e9aeed49ce03584cce113d086905':
  Add support for non-zero vaddr in maps.
2015-07-21 18:26:13 +00:00
Elliott Hughes
ded555256d am 3bcfd47c: Merge "Revert "Revert "make vdso function pointers read-only at runtime"""
* commit '3bcfd47c6836a952b2093c64feb9f1e382891256':
  Revert "Revert "make vdso function pointers read-only at runtime""
2015-07-21 18:25:35 +00:00
Christopher Ferris
aa55e7ad24 Add support for non-zero vaddr in maps.
If a map has a non-zero vaddr then it needs to be added to the
computed relative offset.

Bug: 22532054

(cherry picked from commit 70b6e1daffd58ebce006d4b504cd0fb9672b6d07)

Change-Id: I1e98741d6ff3b5bbb7fc5f88cc85b27ace75ee2e
2015-07-21 10:32:28 -07:00
Christopher Ferris
c99fabb7a0 Merge "Add support for non-zero vaddr in maps." 2015-07-21 17:29:10 +00:00
Dan Albert
5905cee174 am f37c237b: Merge "Revert "Stop libc from cross-referencing unwind symbols""
* commit 'f37c237b8b15c00ac748fe2657a50df54fa55d5a':
  Revert "Stop libc from cross-referencing unwind symbols"
2015-07-21 02:35:27 +00:00
Dan Albert
a645ebed9c am f37c237b: Merge "Revert "Stop libc from cross-referencing unwind symbols""
* commit 'f37c237b8b15c00ac748fe2657a50df54fa55d5a':
  Revert "Stop libc from cross-referencing unwind symbols"
2015-07-21 02:34:52 +00:00
Elliott Hughes
3bcfd47c68 Merge "Revert "Revert "make vdso function pointers read-only at runtime""" 2015-07-21 02:15:21 +00:00
Ying Wang
9d11a7087c We don't have CXX_BARE any more
Now we have split CXX_WRAPPER from TARGET_CXX and CXX_BARE isn't needed
any more.

Bug: 22612634
Change-Id: I52c78b0d1b325910e875a786d17f780731778b4b
2015-07-20 18:51:30 -07:00
Dan Albert
d7ce90090f Revert "Stop libc from cross-referencing unwind symbols"
This reverts commit cd13b14e98d4921af126667fae0cf6613a5615c5.

Bug: http://b/19958712
Change-Id: I7cc7f69728c42c37e129aee30d761c4cd7e30e94
(cherry picked from commit 95fd031c4d22b90c542621170bb6d4d05bb94457)
2015-07-20 17:25:26 -07:00
Dan Albert
f37c237b8b Merge "Revert "Stop libc from cross-referencing unwind symbols"" 2015-07-21 00:22:21 +00:00
Dan Albert
95fd031c4d Revert "Stop libc from cross-referencing unwind symbols"
This reverts commit cd13b14e98d4921af126667fae0cf6613a5615c5.

Bug: http://b/19958712
Change-Id: I7cc7f69728c42c37e129aee30d761c4cd7e30e94
2015-07-20 16:57:11 -07:00
Elliott Hughes
613f814508 Revert "Revert "make vdso function pointers read-only at runtime""
This reverts commit 1946856b1f18a27c51ba30bb9e304f25b722ee05.

This goes back to the original scheme of PROT_NONEing a page within
libc. Allocating a new page didn't fail safe for cases where these
functions are called from the dynamic linker.

Bug: http://b/22568628
Change-Id: I3e7241c8b54c27ea4a898bc952375c1e9ae38c80
2015-07-20 15:59:33 -07:00
Dmitriy Ivanov
d2aeefed8e am e70d7a78: Merge "Fix dt_runpath test."
* commit 'e70d7a78f0bfba8b09d37c145769cb8d1d7c5fb6':
  Fix dt_runpath test.
2015-07-20 19:17:27 +00:00
Dmitriy Ivanov
8bdf8ab97c am e70d7a78: Merge "Fix dt_runpath test."
* commit 'e70d7a78f0bfba8b09d37c145769cb8d1d7c5fb6':
  Fix dt_runpath test.
2015-07-20 19:17:02 +00:00
Elliott Hughes
2733ec035d am e5544ae1: Merge "<sys/time.h> should include [most of] <sys/select.h>."
* commit 'e5544ae1f8a23ae77908e822e83a73ebd4b656ec':
  <sys/time.h> should include [most of] <sys/select.h>.
2015-07-20 18:44:56 +00:00
Elliott Hughes
039b290b9d am 6c9ad82b: Merge "Revert "make vdso function pointers read-only at runtime""
* commit '6c9ad82b1c0f26f5edb5d5ca246b88451c5ea238':
  Revert "make vdso function pointers read-only at runtime"
2015-07-20 18:44:55 +00:00
Elliott Hughes
f8457c2d95 am e5544ae1: Merge "<sys/time.h> should include [most of] <sys/select.h>."
* commit 'e5544ae1f8a23ae77908e822e83a73ebd4b656ec':
  <sys/time.h> should include [most of] <sys/select.h>.
2015-07-20 18:44:00 +00:00
Elliott Hughes
6071a7b9ef am 6c9ad82b: Merge "Revert "make vdso function pointers read-only at runtime""
* commit '6c9ad82b1c0f26f5edb5d5ca246b88451c5ea238':
  Revert "make vdso function pointers read-only at runtime"
2015-07-20 18:43:59 +00:00
Dmitriy Ivanov
e70d7a78f0 Merge "Fix dt_runpath test." 2015-07-20 18:31:09 +00:00
Dmitriy Ivanov
3fef96f827 Fix dt_runpath test.
Bfd linker produces DT_RPATH instead of DT_RUNPATH
unless --enable-new-dtags option is specified.

Bug: http://b/22560945
Change-Id: I71bdc5137b899ab736e55c5a9574cfbba8e1983b
2015-07-20 10:47:49 -07:00
Elliott Hughes
e5544ae1f8 Merge "<sys/time.h> should include [most of] <sys/select.h>." 2015-07-20 17:36:53 +00:00
Elliott Hughes
6c9ad82b1c Merge "Revert "make vdso function pointers read-only at runtime"" 2015-07-20 17:30:50 +00:00
Elliott Hughes
1946856b1f Revert "make vdso function pointers read-only at runtime"
This reverts commit df1a3c6d21702e3e96cfcddadee4a50bfac82110.

This change prevented N9 from booting (http://b/22568628).

Change-Id: I071d6d6a0ae7881d65641839e665acdcf58462b4
2015-07-20 17:30:33 +00:00
Elliott Hughes
a7a87dda4a <sys/time.h> should include [most of] <sys/select.h>.
Found by trying to build c-ares with bionic.

Change-Id: I38684abcb806ef1e8806c68b4a6dd9200f48849e
2015-07-17 19:10:24 -07:00
Elliott Hughes
af584b5e7b am 4f2e1d3b: Merge "Add all the glibc one-line "synonym" header files."
* commit '4f2e1d3b1e3b3729b551c22c5a0be8d07795adfd':
  Add all the glibc one-line "synonym" header files.
2015-07-17 22:04:59 +00:00
Elliott Hughes
ba1c89e9b3 am 4f2e1d3b: Merge "Add all the glibc one-line "synonym" header files."
* commit '4f2e1d3b1e3b3729b551c22c5a0be8d07795adfd':
  Add all the glibc one-line "synonym" header files.
2015-07-17 22:04:41 +00:00
Elliott Hughes
4f2e1d3b1e Merge "Add all the glibc one-line "synonym" header files." 2015-07-17 21:42:03 +00:00
Elliott Hughes
2cc41d3e00 Add all the glibc one-line "synonym" header files.
Ported code keeps needing these one by one, so let's just add the whole
set...

Change-Id: I9662b256aeaa1b0ffb22354130e503f0c4aa472b
2015-07-17 13:59:36 -07:00
Elliott Hughes
87b64fb447 am ca7bc509: Merge "make vdso function pointers read-only at runtime"
* commit 'ca7bc509cf3b321b4721137df1e5407415fc7dd7':
  make vdso function pointers read-only at runtime
2015-07-17 18:39:31 +00:00
Elliott Hughes
4ec3dcf8ec am ca7bc509: Merge "make vdso function pointers read-only at runtime"
* commit 'ca7bc509cf3b321b4721137df1e5407415fc7dd7':
  make vdso function pointers read-only at runtime
2015-07-17 18:39:05 +00:00
Dmitriy Ivanov
436ff890df am a58d2498: Merge "Fix potential race condition on dlopen"
* commit 'a58d24984045b474883ad14500a465ab331db47d':
  Fix potential race condition on dlopen
2015-07-17 18:18:14 +00:00
Dmitriy Ivanov
c6a87cc8cb am a58d2498: Merge "Fix potential race condition on dlopen"
* commit 'a58d24984045b474883ad14500a465ab331db47d':
  Fix potential race condition on dlopen
2015-07-17 18:17:06 +00:00
Elliott Hughes
ca7bc509cf Merge "make vdso function pointers read-only at runtime" 2015-07-17 18:13:31 +00:00
Daniel Micay
df1a3c6d21 make vdso function pointers read-only at runtime
Global, writable function pointers are low-hanging fruit for hijacking
control flow with an overflow from a global buffer or an arbitrary write
vulnerability. This moves the function pointer table into a dedicated
page and makes it read-only at runtime, similar to RELRO.

This increases the memory usage of the library by just under one page.
This could be avoided by having the linker load the vdso by replacing
weak symbols. It's not significant within the Zygote spawning model
though because it's read-only after early init.

Change-Id: Id7a49c96c1b15c2e1926528304b3c54a81e78caf
2015-07-17 11:11:42 -07:00
Dmitriy Ivanov
a58d249840 Merge "Fix potential race condition on dlopen" 2015-07-17 17:49:21 +00:00
Dmitriy Ivanov
e5cfafe344 Fix potential race condition on dlopen
Call to find_containing_library should be guarded.

Change-Id: I985a903da48b83bcd35e957a979158eb9b80e70b
2015-07-17 10:36:10 -07:00
Bertrand SIMONNET
cca803af0c am 60bc9090: Merge "Add timespec/timeval conversion helpers."
* commit '60bc90909a49121789bf86f5d14f63967e8000e0':
  Add timespec/timeval conversion helpers.
2015-07-16 22:27:51 +00:00
Christopher Ferris
70b6e1daff Add support for non-zero vaddr in maps.
If a map has a non-zero vaddr then it needs to be added to the
computed relative offset.

Bug: 22532054
Change-Id: If55015165d25ecc4b530f674b481c8c7ef760a23
2015-07-16 15:25:39 -07:00
Bertrand SIMONNET
df6eee9f85 am 60bc9090: Merge "Add timespec/timeval conversion helpers."
* commit '60bc90909a49121789bf86f5d14f63967e8000e0':
  Add timespec/timeval conversion helpers.
2015-07-16 22:25:25 +00:00
Bertrand SIMONNET
60bc90909a Merge "Add timespec/timeval conversion helpers." 2015-07-16 21:53:26 +00:00
Daniel Micay
96dd2b6e85 fix incompatibility with -fstack-protector-strong
The __libc_init_tls function in libc_init_common.cpp takes a reference
to a local variable so it ends up being protected. Since this happens
before TLS and the stack guard value are initialized, it breaks.

The libc_init_common code needs to be compiled with -fno-stack-protector
and can then be merged into libc_bionic.

Change-Id: Ie95ea2ff533d4af1cfad1c9bc59e49f20a8e119d
2015-07-16 17:07:43 -04:00
Bertrand SIMONNET
0875ba3095 Add timespec/timeval conversion helpers.
TIMESPEC_TO_TIMEVAL and TIMEVAL_TO_TIMESPEC are usually provided by
sys/time.h.

BUG: 22532790

Change-Id: I8b9d7298e3250323faa20b1adf9a7514954c6096
2015-07-16 13:10:50 -07:00
Dmitriy Ivanov
9bd373c4fc am cd588f84: Merge "Add constant for zip separator"
* commit 'cd588f847f3f23a9c60e32ab1e37c170e9f5be57':
  Add constant for zip separator
2015-07-16 16:26:33 +00:00
Dmitriy Ivanov
0ee0dd8b3d am cd588f84: Merge "Add constant for zip separator"
* commit 'cd588f847f3f23a9c60e32ab1e37c170e9f5be57':
  Add constant for zip separator
2015-07-16 16:26:06 +00:00
Dmitriy Ivanov
cd588f847f Merge "Add constant for zip separator" 2015-07-16 15:59:16 +00:00
Dmitriy Ivanov
730ed9dfec Add constant for zip separator
Change-Id: I1dcbb15ac612fc28e922eb3de8148fcaebbc0820
2015-07-16 04:52:06 -07:00
Evgenii Stepanov
fb186d55e8 am b3140904: Merge "Replace spaces with tabs in a Makefile."
* commit 'b31409040f1766d92e76e72bbdc1b346f4bb9d8e':
  Replace spaces with tabs in a Makefile.
2015-07-15 23:58:44 +00:00
Evgenii Stepanov
beaf565cd4 am b3140904: Merge "Replace spaces with tabs in a Makefile."
* commit 'b31409040f1766d92e76e72bbdc1b346f4bb9d8e':
  Replace spaces with tabs in a Makefile.
2015-07-15 23:57:15 +00:00
Evgenii Stepanov
b31409040f Merge "Replace spaces with tabs in a Makefile." 2015-07-15 23:22:39 +00:00
Evgenii Stepanov
d11c3e5c3a Replace spaces with tabs in a Makefile.
Sorry, I undertested my previous change and these guys somehow sneaked in.
This only affects SANITIZE_TARGET builds.

Change-Id: Id6986d89fa3d4965339f7b6fe973e9db73b380da
2015-07-15 16:19:59 -07:00
Evgenii Stepanov
760345a959 am e9774a52: Merge "A special linker for ASan executables."
* commit 'e9774a5227749035dc55357ae3a34edaf545c3b3':
  A special linker for ASan executables.
2015-07-15 17:51:04 +00:00
Evgenii Stepanov
43a783714f am e9774a52: Merge "A special linker for ASan executables."
* commit 'e9774a5227749035dc55357ae3a34edaf545c3b3':
  A special linker for ASan executables.
2015-07-15 17:50:49 +00:00
Evgenii Stepanov
e9774a5227 Merge "A special linker for ASan executables." 2015-07-15 17:24:20 +00:00
Evgenii Stepanov
d640b225ec A special linker for ASan executables.
Setup a /system/bin/linker_asan as a symlink to "linker".
Read the linker name from PT_INTERP, and if it is linker_asan,
switch default library lookup paths to the ASan set, which
starts with the path to the instrumented libraries
(/data/lib), followed by /system/lib as a fallback.

This ensures that ASan binaries prefer ASan libraries, when
available. This approach is way better then RPATH/RUNPATH and even
better than LD_LIBRARY_PATH:
- RUNPATH is per-DSO, while default paths are global.
- LD_LIBRARY_PATH is overwritten by android_update_LD_LIBRARY_PATH.
- neither RUNPATH nor LD_LIBRARY_PATH appear in
  android_get_LD_LIBRARY_PATH which is used to build java.lang.path.
  Having ASan libraries in java.lang.path is a good thing.

Bug: 22355945
Change-Id: I1d2791fbf5740618f18f71a3ae3d873714669d3f
2015-07-14 16:12:27 -07:00
Yabin Cui
a89821abe3 am 60a11dcb: Merge "Add test for an Android kernel bug about prctl."
* commit '60a11dcb44992f610e696fc246c70731012080dd':
  Add test for an Android kernel bug about prctl.
2015-07-14 22:52:49 +00:00
Christopher Ferris
bf8809782e am a8d82f12: Merge "Update to v3.18.18 kernel headers."
* commit 'a8d82f126d1830ebee99e2622d08489a844e3e62':
  Update to v3.18.18 kernel headers.
2015-07-14 22:52:40 +00:00
Christopher Ferris
7236112561 am 5e3dc45a: Merge "Do not hold hash table lock while backtracing."
* commit '5e3dc45a16c63b716bc4b7bed2f5752b41a5d5d5':
  Do not hold hash table lock while backtracing.
2015-07-14 21:30:11 +00:00
Yabin Cui
2f54a44110 am 60a11dcb: Merge "Add test for an Android kernel bug about prctl."
* commit '60a11dcb44992f610e696fc246c70731012080dd':
  Add test for an Android kernel bug about prctl.
2015-07-14 20:27:23 +00:00
Christopher Ferris
3b9900d346 am a8d82f12: Merge "Update to v3.18.18 kernel headers."
* commit 'a8d82f126d1830ebee99e2622d08489a844e3e62':
  Update to v3.18.18 kernel headers.
2015-07-14 20:27:06 +00:00
Christopher Ferris
653f4b1504 am 43d35c35: Merge "Do not hold hash table lock while backtracing." into mnc-dev
* commit '43d35c356e2fbe0b022cef52445e93053c4ddbfd':
  Do not hold hash table lock while backtracing.
2015-07-14 17:15:51 +00:00
Yabin Cui
60a11dcb44 Merge "Add test for an Android kernel bug about prctl." 2015-07-14 02:48:45 +00:00
Yabin Cui
91ce715af1 Add test for an Android kernel bug about prctl.
Bug: 20017123

Change-Id: I8c109a06999a8bffcc8e8298b04ee637bb67d878
2015-07-13 19:15:38 -07:00
Christopher Ferris
a8d82f126d Merge "Update to v3.18.18 kernel headers." 2015-07-14 01:29:46 +00:00
Christopher Ferris
dda4fd4644 Update to v3.18.18 kernel headers.
Change-Id: I0a0f423bda89500ad8e13a80582f05ec8bc756ea
2015-07-13 17:21:18 -07:00
Christopher Ferris
287cf2664f am 5e3dc45a: Merge "Do not hold hash table lock while backtracing."
* commit '5e3dc45a16c63b716bc4b7bed2f5752b41a5d5d5':
  Do not hold hash table lock while backtracing.
2015-07-13 20:53:02 +00:00
Christopher Ferris
5e3dc45a16 Merge "Do not hold hash table lock while backtracing." 2015-07-13 20:27:38 +00:00
Christopher Ferris
6db9c199a8 am 43d35c35: Merge "Do not hold hash table lock while backtracing." into mnc-dev
* commit '43d35c356e2fbe0b022cef52445e93053c4ddbfd':
  Do not hold hash table lock while backtracing.
2015-07-13 20:25:57 +00:00
Christopher Ferris
3a40a0000a Do not hold hash table lock while backtracing.
There is a deadlock if holding the hash table lock while trying to do
a backtrace. Change the code so that the hash table lock is only held
while actually modifying either g_hash_table, or while modifying an
entry from g_hash_table.

Bug: 22423683
(cherry picked from commit 9fee99b06013787054a312449b94115038e2ad7c)

Change-Id: I72173bfe6f824ceaceea625c24e7851b87467135
2015-07-13 13:18:31 -07:00
Christopher Ferris
43d35c356e Merge "Do not hold hash table lock while backtracing." into mnc-dev 2015-07-13 20:15:30 +00:00
Christopher Ferris
9fee99b060 Do not hold hash table lock while backtracing.
There is a deadlock if holding the hash table lock while trying to do
a backtrace. Change the code so that the hash table lock is only held
while actually modifying either g_hash_table, or while modifying an
entry from g_hash_table.

Bug: 22423683
Change-Id: I604ea56f940f22e99da41ea4dcdf97bedaac268d
2015-07-13 12:17:50 -07:00
Elliott Hughes
45baf0f384 am 147a50d0: Merge "Prevent user-defined basename_r from breaking basename(3)."
* commit '147a50d06e1183e3f39f4f6d0fa28748b33d4aa9':
  Prevent user-defined basename_r from breaking basename(3).
2015-07-11 07:25:20 +00:00
Elliott Hughes
acf2b7bea6 am 147a50d0: Merge "Prevent user-defined basename_r from breaking basename(3)."
* commit '147a50d06e1183e3f39f4f6d0fa28748b33d4aa9':
  Prevent user-defined basename_r from breaking basename(3).
2015-07-11 07:23:37 +00:00
Elliott Hughes
147a50d06e Merge "Prevent user-defined basename_r from breaking basename(3)." 2015-07-11 07:03:54 +00:00
Elliott Hughes
a20a35fdda Prevent user-defined basename_r from breaking basename(3).
LP64 is immune because basename_r is hidden there, but on LP32 a basename_r
defined in the executable breaks basename because its call to basename_r
will resolve to that one rather than the one in libc.

Bug: http://b/22415484
Change-Id: Ied3ca7ad3fb0e744eb705fc924743f893b4ad490
2015-07-10 23:58:59 -07:00
Neil Fuller
c64ed22e9b am 64c82544: Merge "Update timezone data to 2015e" into mnc-dev
* commit '64c825441637b379be56a04622089e8e9b4b0da4':
  Update timezone data to 2015e
2015-07-10 17:00:49 +00:00
Neil Fuller
533efc20b7 am 64c82544: Merge "Update timezone data to 2015e" into mnc-dev
* commit '64c825441637b379be56a04622089e8e9b4b0da4':
  Update timezone data to 2015e
2015-07-10 10:35:23 +00:00
Neil Fuller
64c8254416 Merge "Update timezone data to 2015e" into mnc-dev 2015-07-10 09:47:55 +00:00
Dmitriy Ivanov
db996ae74c am a5bb841d: Fix memory-leak on soinfo_free()
* commit 'a5bb841df799e10e7d0ae3202b097da8a1c23507':
  Fix memory-leak on soinfo_free()
2015-07-10 01:44:15 +00:00
Dmitriy Ivanov
538a4d7029 am a5bb841d: Fix memory-leak on soinfo_free()
* commit 'a5bb841df799e10e7d0ae3202b097da8a1c23507':
  Fix memory-leak on soinfo_free()
2015-07-10 00:59:25 +00:00
Dmitriy Ivanov
a5bb841df7 Fix memory-leak on soinfo_free()
Bug: http://b/22290728
Change-Id: I00747056db2cd3ff8b33936278464daed7236536
(cherry picked from commit 609f11b31ecedc4e9f2a1f6017b60b1f51b15c22)
2015-07-09 17:03:37 -07:00
Dmitriy Ivanov
9d4402a95c am 880a2933: Merge "Fix memory-leak on soinfo_free()"
* commit '880a293390b64da806a072f4ace2c2784b340876':
  Fix memory-leak on soinfo_free()
2015-07-09 23:54:12 +00:00
Dmitriy Ivanov
7974b83443 am 880a2933: Merge "Fix memory-leak on soinfo_free()"
* commit '880a293390b64da806a072f4ace2c2784b340876':
  Fix memory-leak on soinfo_free()
2015-07-09 23:53:33 +00:00
Dmitriy Ivanov
880a293390 Merge "Fix memory-leak on soinfo_free()" 2015-07-09 23:32:19 +00:00
Pirama Arumuga Nainar
a13ece0d6c am d1e10d7d: Merge "Use delete[] to de-allocate pointers from new[]"
* commit 'd1e10d7d168a8461d9eb47e48802ea11d8bd0640':
  Use delete[] to de-allocate pointers from new[]
2015-07-09 23:06:07 +00:00
Pirama Arumuga Nainar
fcd017148b am d1e10d7d: Merge "Use delete[] to de-allocate pointers from new[]"
* commit 'd1e10d7d168a8461d9eb47e48802ea11d8bd0640':
  Use delete[] to de-allocate pointers from new[]
2015-07-09 23:04:30 +00:00
Pirama Arumuga Nainar
d1e10d7d16 Merge "Use delete[] to de-allocate pointers from new[]" 2015-07-09 22:40:51 +00:00
Pirama Arumuga Nainar
4d44675283 Use delete[] to de-allocate pointers from new[]
Upstream clang has a new diagnostic, '-Wmismatched-new-delete' to
generate a warning (that becomes an error with -Werror) when delete is
used to deallocate pointers created with 'new[]'.  This patch fixes
'delete's that trigger this warning/error.

Change-Id: Id7b6f6c2df3e860e576de55e2f61f3d2be3a3986
2015-07-09 10:15:15 -07:00
Dmitriy Ivanov
609f11b31e Fix memory-leak on soinfo_free()
Bug: http://b/22290728
Change-Id: I00747056db2cd3ff8b33936278464daed7236536
2015-07-08 15:26:46 -07:00
Daniel Erat
818295c3f7 am c6f25641: Merge "libc: Add sys/fcntl.h for compatibility."
* commit 'c6f25641eb874cd15f92759beff1ad67cfd8228b':
  libc: Add sys/fcntl.h for compatibility.
2015-07-08 21:45:39 +00:00
Daniel Erat
16d78688b4 am c6f25641: Merge "libc: Add sys/fcntl.h for compatibility."
* commit 'c6f25641eb874cd15f92759beff1ad67cfd8228b':
  libc: Add sys/fcntl.h for compatibility.
2015-07-08 21:44:59 +00:00
Daniel Erat
c6f25641eb Merge "libc: Add sys/fcntl.h for compatibility." 2015-07-08 21:15:23 +00:00
Daniel Erat
e55151472b libc: Add sys/fcntl.h for compatibility.
Add a /usr/include/sys/fcntl.h file that includes <fcntl.h>.

Change-Id: Ie34bf7519607c5aae1fbea7c7dca249c9b7801cc
2015-07-08 15:07:17 -06:00
Evgenii Stepanov
c9bd26e96b am 33ef6c20: Merge "Respect caller DT_RUNPATH in dlopen()."
* commit '33ef6c20f2ddf19b29ed3a4e50139fa391b1a3d4':
  Respect caller DT_RUNPATH in dlopen().
2015-07-08 20:16:59 +00:00
Evgenii Stepanov
b4f5d6d894 am 33ef6c20: Merge "Respect caller DT_RUNPATH in dlopen()."
* commit '33ef6c20f2ddf19b29ed3a4e50139fa391b1a3d4':
  Respect caller DT_RUNPATH in dlopen().
2015-07-08 20:16:35 +00:00
Evgenii Stepanov
33ef6c20f2 Merge "Respect caller DT_RUNPATH in dlopen()." 2015-07-08 19:50:03 +00:00
Christopher Ferris
ce302bff6a am 90de6820: Merge "Replace bx lr with update of pc from the stack."
* commit '90de6820f736de1239b218ea2b63d15c38505e93':
  Replace bx lr with update of pc from the stack.
2015-07-08 19:41:10 +00:00
Christopher Ferris
a2e2c3d2ae am 90de6820: Merge "Replace bx lr with update of pc from the stack."
* commit '90de6820f736de1239b218ea2b63d15c38505e93':
  Replace bx lr with update of pc from the stack.
2015-07-08 19:40:38 +00:00
Christopher Ferris
90de6820f7 Merge "Replace bx lr with update of pc from the stack." 2015-07-08 19:15:38 +00:00
Christopher Ferris
e1e434af12 Replace bx lr with update of pc from the stack.
When there is arm assembler of this format:

ldmxx sp!, {..., lr} or pop {..., lr}
bx lr

It can be replaced with:

ldmxx sp!, {..., pc} or pop {..., pc}

Change-Id: Ic27048c52f90ac4360ad525daf0361a830dc22a3
2015-07-08 11:20:27 -07:00
Evgenii Stepanov
0cdef7e7f3 Respect caller DT_RUNPATH in dlopen().
When dlopen-ing a library, add the caller's DT_RUNPATH to the directory search
list. This fixes dlfcn.dt_runpath in bionic-unit-tests-glibc(32|64).

Bug: 21899363
Change-Id: Ife6a7e192939292cf4dc291b7e6b95945761cde3
2015-07-07 10:56:06 -07:00
Elliott Hughes
b82a5a96f8 am 7a9732d6: Merge "Add some glibc-like #defines for libchrome."
* commit '7a9732d663906bedd8734c9952e35728c2662767':
  Add some glibc-like #defines for libchrome.
2015-07-07 17:26:41 +00:00
Elliott Hughes
049a5ae002 am 7a9732d6: Merge "Add some glibc-like #defines for libchrome."
* commit '7a9732d663906bedd8734c9952e35728c2662767':
  Add some glibc-like #defines for libchrome.
2015-07-07 17:24:48 +00:00
Elliott Hughes
7a9732d663 Merge "Add some glibc-like #defines for libchrome." 2015-07-07 16:56:53 +00:00
Elliott Hughes
7ea817d39e Add some glibc-like #defines for libchrome.
libchrome uses __USE_XOPEN2K8 to decide whether futimens is
available. That's perhaps not the best idea, but there are other
cases where we defined the same feature macros as glibc to aid
portability.

Change-Id: Ie6e04cb181d88698d618e7dbd26cd347a6bf076c
2015-07-07 09:22:32 -07:00
Elliott Hughes
805844ff0c am 65dd8582: Fix alignment after variable-length data.
* commit '65dd858239c4e32a5a1afbc14ac30dbcdd2a50a3':
  Fix alignment after variable-length data.
2015-07-06 23:29:41 +00:00
Elliott Hughes
95997b691f am 89bbb846: Merge "Fix alignment after variable-length data."
* commit '89bbb846b9831f232b87d54a6eeb759ac603cc43':
  Fix alignment after variable-length data.
2015-07-06 22:55:21 +00:00
Elliott Hughes
b6c2d3f30b am 89bbb846: Merge "Fix alignment after variable-length data."
* commit '89bbb846b9831f232b87d54a6eeb759ac603cc43':
  Fix alignment after variable-length data.
2015-07-06 22:54:52 +00:00
Elliott Hughes
a6441ac5bf am 65dd8582: Fix alignment after variable-length data.
* commit '65dd858239c4e32a5a1afbc14ac30dbcdd2a50a3':
  Fix alignment after variable-length data.
2015-07-06 22:32:06 +00:00
Elliott Hughes
89bbb846b9 Merge "Fix alignment after variable-length data." 2015-07-06 21:44:31 +00:00
Elliott Hughes
dbb17b2831 Fix alignment after variable-length data.
In the serialized output from netd, the strings come first. Some code
assumes -- reasonably enough -- that it can do unaligned reads of pointers,
so we need to ensure alignment after all the strings.

(cherrypick of 65dd858239c4e32a5a1afbc14ac30dbcdd2a50a3.)

Bug: http://b/21192318
Change-Id: I456639127db9a2583f7f738e6b8103375d9387fd
2015-07-06 14:43:28 -07:00
Elliott Hughes
65dd858239 Fix alignment after variable-length data.
In the serialized output from netd, the strings come first. Some code
assumes -- reasonably enough -- that it can do unaligned reads of pointers,
so we need to ensure alignment after all the strings.

Bug: http://b/21192318
Change-Id: I456639127db9a2583f7f738e6b8103375d9387fd
2015-07-06 14:37:46 -07:00
Elliott Hughes
6a31a37cc1 am f542b309: Merge "Name the thread stack and signal stack guard pages."
* commit 'f542b30970ae863caceea1f635115f1195461e31':
  Name the thread stack and signal stack guard pages.
2015-07-06 20:22:48 +00:00
Elliott Hughes
4059fcd29b am f542b309: Merge "Name the thread stack and signal stack guard pages."
* commit 'f542b30970ae863caceea1f635115f1195461e31':
  Name the thread stack and signal stack guard pages.
2015-07-06 20:22:43 +00:00
Elliott Hughes
f542b30970 Merge "Name the thread stack and signal stack guard pages." 2015-07-06 19:59:43 +00:00
Elliott Hughes
eeb6b57e75 Name the thread stack and signal stack guard pages.
Bug: http://b/22228722
Change-Id: I1dae672e386e404fb304a34496a29fe21134c784
2015-07-01 23:48:39 -07:00
Dmitriy Ivanov
4bb5ea22bc am f643eb38: Improve personality initialization
* commit 'f643eb38c36eb63f612e20dea09fd43ac6a6b360':
  Improve personality initialization
2015-07-01 17:12:54 +00:00
Elliott Hughes
8d04081196 am 77455f85: Merge "Fixed uchar.h for clang3.6"
* commit '77455f85ab46bed6dc5f7246b474ede44ae9ede2':
  Fixed uchar.h for clang3.6
2015-07-01 15:58:17 +00:00
Elliott Hughes
77455f85ab Merge "Fixed uchar.h for clang3.6" 2015-07-01 15:32:58 +00:00
Neil Fuller
66379bb11d am 86061f39: Merge "Update timezone data to 2015e"
* commit '86061f39c2c5f5a5ee91b349d1c8cb7bf04003a3':
  Update timezone data to 2015e
2015-07-01 10:06:29 +00:00
Neil Fuller
86061f39c2 Merge "Update timezone data to 2015e" 2015-07-01 09:42:22 +00:00
Dmitriy Ivanov
7830dcf1b5 am 416695a7: Merge "Improve personality initialization"
* commit '416695a75c3892dd709a80ea8a640da07082594e':
  Improve personality initialization
2015-07-01 02:36:04 +00:00
Dmitriy Ivanov
416695a75c Merge "Improve personality initialization" 2015-07-01 02:12:53 +00:00
Dmitriy Ivanov
c2247478d5 Improve personality initialization
1. Personality parameter should be unsigned int (not long)
2. Do not reset bits outside of PER_MASK when setting
   personality value.
3. Set personality for static executables.

Bug: http://b/21900686
Change-Id: I4c7e34079cbd59b818ce221eed325c05b9bb2303
(cherry picked from commit f643eb38c36eb63f612e20dea09fd43ac6a6b360)
2015-06-30 19:01:24 -07:00
Dmitriy Ivanov
f643eb38c3 Improve personality initialization
1. Personality parameter should be unsigned int (not long)
2. Do not reset bits outside of PER_MASK when setting
   personality value.
3. Set personality for static executables.

Bug: http://b/21900686
Change-Id: I4c7e34079cbd59b818ce221eed325c05b9bb2303
2015-06-30 18:45:59 -07:00
Neil Fuller
ae02a0ae00 Update timezone data to 2015e
Changes affecting future time stamps

    Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
    not 06-13 and 07-18 as we had guessed.  (Thanks to Milamber.)

    Assume Cayman Islands will observe DST starting next year, using US rules.
    Although it isn't guaranteed, it is the most likely.

Bug: 21836574
Change-Id: I30ab9ba8524c79e389ed0ff8c4af4378b7048265
2015-06-30 16:21:34 +01:00
Neil Fuller
b9f76dc829 Update timezone data to 2015e
Changes affecting future time stamps

    Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
    not 06-13 and 07-18 as we had guessed.  (Thanks to Milamber.)

    Assume Cayman Islands will observe DST starting next year, using US rules.
    Although it isn't guaranteed, it is the most likely.

Bug: 21836574
Change-Id: I6eda60c220d5c55d2aa0934544866ec0f1ce62ab
2015-06-30 14:48:06 +01:00
Erik Kline
063670156f am 754f6690: Pass around struct android_net_context for better behaviour
* commit '754f669076ec1edfc0d597aaf89600d4c93f9a7c':
  Pass around struct android_net_context for better behaviour
2015-06-30 06:22:24 +00:00
Erik Kline
754f669076 Pass around struct android_net_context for better behaviour
Group network context elements in to a single struct and
add a version of android_getaddrinfofornet() that accepts it.

The introduction of UID-based routing means that the UID is an
integral part of the network context when evaluating connectivity,
sorting addresses, etc.

Also, introduce a distinction between DNS netids/marks and those
expected to be used by the application.  This can be important
when the network an application is using is not the same as the
network on which DNS queries will be issued.

Additionally, de-duplicate the UDP connect logic (collapse both
_test_connect() and _find_src_addr() into just the latter).

Bug: 19470192
Bug: 20733156
Bug: 21832279
Change-Id: If16c2f4744695f507993afdac078ca105eb5d3e4
(cherry picked from commit 01e37c9665018534c798daaa59d5b0adb408e0a4)
2015-06-30 12:12:08 +09:00
Erik Kline
2ce0969b83 am 7f46cf9a: Merge "Pass around struct android_net_context for better behaviour"
* commit '7f46cf9a5f0b3e54d97fc94a83b955ae4c335a31':
  Pass around struct android_net_context for better behaviour
2015-06-30 02:42:17 +00:00
Erik Kline
7f46cf9a5f Merge "Pass around struct android_net_context for better behaviour" 2015-06-30 02:21:03 +00:00
Dmitriy Ivanov
10b0b96ff6 am f7d5bf33: Lock on dl_interate_phdr
* commit 'f7d5bf334dc4bc5b7399d4c8268e1b0bf676548f':
  Lock on dl_interate_phdr
2015-06-29 22:41:55 +00:00
Dmitriy Ivanov
c66bcd2a3f am 83474cd3: Merge "Lock on dl_interate_phdr"
* commit '83474cd38712c0f955174609a880deabebb27518':
  Lock on dl_interate_phdr
2015-06-29 22:38:20 +00:00
Dmitriy Ivanov
83474cd387 Merge "Lock on dl_interate_phdr" 2015-06-29 22:17:36 +00:00
Dmitriy Ivanov
7271caf93d Lock on dl_interate_phdr
There is possibility of someone dlclosing a library
while dl_iterate_phdr in progress which can lead to
dl_iterate_phdr calling callback with invalid address
if it was unmapped by dlclose.

Bug: http://b/22047255
Change-Id: I3fc0d9fd2c51fb36fd34cb035f37271fa893a7be
(cherry picked from commit f7d5bf334dc4bc5b7399d4c8268e1b0bf676548f)
2015-06-29 15:14:28 -07:00
Dmitriy Ivanov
f7d5bf334d Lock on dl_interate_phdr
There is possibility of someone dlclosing a library
while dl_iterate_phdr in progress which can lead to
dl_iterate_phdr calling callback with invalid address
if it was unmapped by dlclose.

Bug: http://b/22047255
Change-Id: I3fc0d9fd2c51fb36fd34cb035f37271fa893a7be
2015-06-29 14:48:25 -07:00
Dmitriy Ivanov
168ebad960 am 46d24d12: Merge "Replace NULL with nullptr"
* commit '46d24d12e167a0b5afa4ded218aa4db0a477141a':
  Replace NULL with nullptr
2015-06-29 21:34:07 +00:00
Elliott Hughes
6bae84af9b am 25da2d7c: Merge "Add <sysexits.h>."
* commit '25da2d7ca2795156552ed96e1f3c3245330682b0':
  Add <sysexits.h>.
2015-06-29 21:23:22 +00:00
Dmitriy Ivanov
46d24d12e1 Merge "Replace NULL with nullptr" 2015-06-29 21:08:49 +00:00
Elliott Hughes
25da2d7ca2 Merge "Add <sysexits.h>." 2015-06-29 21:01:05 +00:00
Elliott Hughes
59d5854d14 Add <sysexits.h>.
Taken from current upstream OpenBSD.

Bug: http://b/22172963
Change-Id: Ic899e08541335777296fa8ec99e518f35a100144
2015-06-29 13:44:34 -07:00
Yusuke Sato
f7d88aefb8 am 71107cdd: Merge "Rename ZipEntryName to ZipString"
* commit '71107cdd028461c433a39a10eb192edbdf03dede':
  Rename ZipEntryName to ZipString
2015-06-29 18:14:58 +00:00
Yusuke Sato
71107cdd02 Merge "Rename ZipEntryName to ZipString" 2015-06-29 17:49:41 +00:00
egor.kochetov
a05bee544a Fixed uchar.h for clang3.6
The NDK self-test issue64679-prctl failed to build because by default
clang3.6 builds in C11 mode, but the ifdef in the file 'uchar.h' hid the
required char16_t and char32_t declarations based on the GCC version,
which is declared as 4 by clang.

The ifdef is changed so that it is based on C version rather than a
compiler version. This way it is compatible with gcc 4, gcc 5 and clang
which are actually the only used toolchains.

See also: b.android.com/177609

Change-Id: I78c4bdc681c6f8a31b92dbe8ffe35e84ef2eda36
Signed-off-by: Egor Kochetov <egor.kochetov@intel.com>
2015-06-29 13:27:28 +03:00
Erik Kline
01e37c9665 Pass around struct android_net_context for better behaviour
Group network context elements in to a single struct and
add a version of android_getaddrinfofornet() that accepts it.

The introduction of UID-based routing means that the UID is an
integral part of the network context when evaluating connectivity,
sorting addresses, etc.

Also, introduce a distinction between DNS netids/marks and those
expected to be used by the application.  This can be important
when the network an application is using is not the same as the
network on which DNS queries will be issued.

Additionally, de-duplicate the UDP connect logic (collapse both
_test_connect() and _find_src_addr() into just the latter).

Bug: 19470192
Bug: 20733156
Bug: 21832279
Change-Id: If16c2f4744695f507993afdac078ca105eb5d3e4
2015-06-29 18:39:54 +09:00
Dmitriy Ivanov
4b42cb93c9 am 06700b2b: Fix crash when trying to load invalid ELF file.
* commit '06700b2b5e92a365505b15d0d05e2d5b0706c511':
  Fix crash when trying to load invalid ELF file.
2015-06-26 15:09:23 +00:00
Dmitriy Ivanov
61ad0cf24c am eeb9f5e4: Merge "Fix crash when trying to load invalid ELF file."
* commit 'eeb9f5e41662828989f3913d81ec23229a668434':
  Fix crash when trying to load invalid ELF file.
2015-06-26 04:12:23 +00:00
Dmitriy Ivanov
eeb9f5e416 Merge "Fix crash when trying to load invalid ELF file." 2015-06-26 03:51:27 +00:00
Dmitriy Ivanov
3f987f5b3e Fix crash when trying to load invalid ELF file.
Bug: http://b/22047255
Bug: http://b/22091640
Change-Id: I6c51cff43287a6ac4b25fa9ce6a6fc3d232fd047
(cherry picked from commit 06700b2b5e92a365505b15d0d05e2d5b0706c511)
2015-06-25 20:05:50 -07:00
Dmitriy Ivanov
06700b2b5e Fix crash when trying to load invalid ELF file.
Bug: http://b/22047255
Bug: http://b/22091640
Change-Id: I6c51cff43287a6ac4b25fa9ce6a6fc3d232fd047
2015-06-25 17:03:26 -07:00
Yusuke Sato
56f40fbb82 Rename ZipEntryName to ZipString
This is for https://android-review.googlesource.com/#/c/156771/.

Bug: 21957428
Change-Id: Ida30c28c0fff0b2dadddbdb1aa1999ae3250610b
2015-06-25 14:56:07 -07:00
Elliott Hughes
6845f45ef9 am d19c2715: Merge "Fix x86 gdbserver build."
* commit 'd19c271599a4b8881213c7bfbb81f87d8e56a101':
  Fix x86 gdbserver build.
2015-06-25 14:44:51 +00:00
Elliott Hughes
d19c271599 Merge "Fix x86 gdbserver build." 2015-06-25 14:30:22 +00:00
Dimitry Ivanov
a56ecc3405 am 6589febe: Merge "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"
* commit '6589febec212bb1d72b7e3d593a1b7fe77692f7f':
  [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
2015-06-25 01:24:07 +00:00
Dimitry Ivanov
6589febec2 Merge "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers" 2015-06-25 01:02:20 +00:00
Elliott Hughes
fef58353f4 Fix x86 gdbserver build.
Add the x86-only elf_fpxregset_t to <sys/procfs.h>, and rename
user_fxsr_struct (the kernel's name) to user_fpxregs_struct (the
userspace name).

Bug: http://b/22068064
Change-Id: Id466096bf02baf6bd49b193f49d9036848d33548
2015-06-24 17:31:24 -07:00
Duane Sand
bc425c73e0 [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
Enables running of older MIPS NDK-built apps on mips64r6.

Works with kernel supporting FRE emulation, and old kernels.

Change-Id: If5e392ed89e9910cd1ccd30e0fd5c4a5acea2c7d
2015-06-24 16:43:19 -07:00
Dimitry Ivanov
ee01bb6374 am c666838a: Merge "Revert "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers""
* commit 'c666838ad6e578f429783a82f9b9a5bbddd3a9a8':
  Revert "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"
2015-06-24 21:47:39 +00:00
Dimitry Ivanov
beb609bba8 am fb3357e2: Revert "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"
* commit 'fb3357e2eb9366d87a8da96e1a0744c9b1f22af9':
  Revert "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"
2015-06-24 21:09:43 +00:00
Dimitry Ivanov
c666838ad6 Merge "Revert "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"" 2015-06-24 20:44:36 +00:00
Dimitry Ivanov
cc83890464 Revert "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"
This reverts commit d02ec08427b006e80191ce60690ce48a788fb832.

Bug: http://b/22045439
Change-Id: Iaf10ff1e2948083cce0098f29d5b87b32bfae1b7
2015-06-24 20:43:33 +00:00
Dimitry Ivanov
fb3357e2eb Revert "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"
This reverts commit 40d9e7bf842423e328cda58e21ff5fc0cbab5c8a.

Bug: http://b/22045439
Change-Id: Ia9c56f65d35e404332a462f46460335cef39f0a4
2015-06-24 20:42:33 +00:00
Chih-Hung Hsieh
4ab0edac1a am d807b9a1: Merge "Use gcc to build and test x86_64 long double code."
* commit 'd807b9a12d3e49132b095df3d883618452033b51':
  Use gcc to build and test x86_64 long double code.
2015-06-24 00:40:16 +00:00
Chih-Hung Hsieh
d807b9a12d Merge "Use gcc to build and test x86_64 long double code." 2015-06-24 00:15:51 +00:00
Chih-Hung Hsieh
e79d06b0e8 Use gcc to build and test x86_64 long double code.
Clang/llvm x86_64 configuration of long double is still
incompatible with gcc.
https://llvm.org/bugs/show_bug.cgi?id=23897

BUG: 21899249
Change-Id: I47fd6d0ce2daa84ae0035e7885a4d90e4c3056f7
2015-06-23 23:13:39 +00:00
Dmitriy Ivanov
0a9df9a13e am af6ee5b5: Merge "Work around compiler optimization"
* commit 'af6ee5b5bc446ef5a6f2bf41bc4f2e13657978be':
  Work around compiler optimization
2015-06-23 22:17:08 +00:00
Dmitriy Ivanov
af6ee5b5bc Merge "Work around compiler optimization" 2015-06-23 21:51:35 +00:00
Dmitriy Ivanov
aff18fd608 Replace NULL with nullptr
Change-Id: If66d0c5ae1ea1ed371b44e067d4ae59ac54a8842
2015-06-23 13:58:22 -07:00
Dmitriy Ivanov
7d09a8cd11 Work around compiler optimization
This makes bionic-unit-test-glibc64 behave consistently
when testing dlopen from a library with dt_runpath.

Bug: http://b/21899363
Change-Id: I9d446eb6852876975874d6b7761f6f81cc4e9916
2015-06-23 13:47:23 -07:00
Duane Sand
bbac1d19d7 am 40d9e7bf: [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
* commit '40d9e7bf842423e328cda58e21ff5fc0cbab5c8a':
  [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
2015-06-23 20:45:57 +00:00
Elliott Hughes
9209b0a169 am 2b028f5c: Fix bad merge of 64e9e71cdb7d88397e510e1986d494b797ed3b45.
* commit '2b028f5ce47b8d27ca6d3b86e135f7d9b0359547':
  Fix bad merge of 64e9e71cdb7d88397e510e1986d494b797ed3b45.
2015-06-23 18:08:10 +00:00
Duane Sand
40d9e7bf84 [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
Enables running of older MIPS NDK-built apps on mips64r6.

Works with kernel supporting FRE emulation, and old kernels.

Bug: http://b/21555893
Change-Id: I13923fe62cd83ad1d337f13a50f2eda2dfdd906f
(cherry picked from commit d02ec08427b006e80191ce60690ce48a788fb832)
2015-06-23 10:33:37 -07:00
Elliott Hughes
2b028f5ce4 Fix bad merge of 64e9e71cdb7d88397e510e1986d494b797ed3b45.
Bug: http://b/22029751
Change-Id: I6245fe5f274c9af8a632da5eebe50cf9fe29dc4a
2015-06-23 09:14:16 -07:00
Dmitriy Ivanov
3226cad538 am d6d6c0c4: Merge "Remove libdl* tests from bionic-unit-tests-static" into mnc-dev
* commit 'd6d6c0c4f10c047b25b45289f5c30338cd1da239':
  Remove libdl* tests from bionic-unit-tests-static
2015-06-22 19:51:19 +00:00
Dmitriy Ivanov
02102d95f8 am 5fa858c5: Merge "Remove text-relocs support for apps targeting M+" into mnc-dev
* commit '5fa858c5655ed721696719ce07d81a983d4b0f5e':
  Remove text-relocs support for apps targeting M+
2015-06-22 19:51:18 +00:00
Dmitriy Ivanov
6f2bce5b8a am a8993c99: Merge "Remove text-relocs support for apps targeting M+"
* commit 'a8993c994e45ec2dc00dcef15910560e22d67be9':
  Remove text-relocs support for apps targeting M+
2015-06-22 19:50:50 +00:00
Dmitriy Ivanov
c29626c12a am 13cee57d: Merge "Remove libdl* tests from bionic-unit-tests-static"
* commit '13cee57dee4ebd14b57e7b5acd372228eb9c4a37':
  Remove libdl* tests from bionic-unit-tests-static
2015-06-22 19:50:49 +00:00
Dmitriy Ivanov
a8993c994e Merge "Remove text-relocs support for apps targeting M+" 2015-06-22 19:27:34 +00:00
Dmitriy Ivanov
e4ad91f86a Remove text-relocs support for apps targeting M+
Remove support of text-relocations for apps targeting sdk version > 22

Bug: http://b/20013628
Change-Id: I2127739544480c747315e32df15dfbd1b79de4f5
(cherry picked from commit 3e6f7807541bab8157f9c26e55829fd193683349)
2015-06-22 12:26:53 -07:00
Dmitriy Ivanov
d6d6c0c4f1 Merge "Remove libdl* tests from bionic-unit-tests-static" into mnc-dev 2015-06-22 19:25:37 +00:00
Dmitriy Ivanov
5fa858c565 Merge "Remove text-relocs support for apps targeting M+" into mnc-dev 2015-06-22 19:25:15 +00:00
Dmitriy Ivanov
96ebdcdca0 Remove libdl* tests from bionic-unit-tests-static
Bug: http://b/21900592
Change-Id: I907cc15684b121ec2fbdeca49fc584bb6d2eaacc
(cherry picked from commit de4e27e231143e4e1982b4ca9effd03c1ca12d86)
2015-06-22 12:24:36 -07:00
Dmitriy Ivanov
13cee57dee Merge "Remove libdl* tests from bionic-unit-tests-static" 2015-06-22 19:24:15 +00:00
Dmitriy Ivanov
de4e27e231 Remove libdl* tests from bionic-unit-tests-static
Bug: http://b/21900592
Change-Id: I907cc15684b121ec2fbdeca49fc584bb6d2eaacc
2015-06-22 11:54:58 -07:00
Dimitry Ivanov
3ebe2c78e4 am 6a5ead69: Merge "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers"
* commit '6a5ead6990ef16e858309928c4b14e3a5e2d89af':
  [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
2015-06-21 21:46:39 +00:00
Dimitry Ivanov
6a5ead6990 Merge "[MIPS] Support FR=0 emulation on FR=1 64-bit FP registers" 2015-06-21 21:25:54 +00:00
Duane Sand
d02ec08427 [MIPS] Support FR=0 emulation on FR=1 64-bit FP registers
Enables running of older MIPS NDK-built apps on mips64r6.

Works with kernel supporting FRE emulation, and old kernels.

Change-Id: I13923fe62cd83ad1d337f13a50f2eda2dfdd906f
2015-06-21 11:36:57 -07:00
Yabin Cui
1df44bd0a4 am cb060759: am 8beb0c34: am b245bc75: am 0f455612: Merge "Fix flaky test of timer_create_multiple in L." into lollipop-mr1-cts-dev
* commit 'cb0607590341ed2512a55015e66e19e7f7db3723':
  Fix flaky test of timer_create_multiple in L.
2015-06-19 20:29:49 +00:00
David Srbecky
324bd8d0bb am c08c88b5: Merge "Add flag that makes linker honor min(p_vaddr)" into mnc-dev
* commit 'c08c88b5fcec05551858c32bc57f4ae614c0ce5c':
  Add flag that makes linker honor min(p_vaddr)
2015-06-19 20:29:33 +00:00
Yabin Cui
cb06075903 am 8beb0c34: am b245bc75: am 0f455612: Merge "Fix flaky test of timer_create_multiple in L." into lollipop-mr1-cts-dev
* commit '8beb0c34da46a5146a2de8256db8bb42febb283c':
  Fix flaky test of timer_create_multiple in L.
2015-06-19 19:06:22 +00:00
Yabin Cui
8beb0c34da am b245bc75: am 0f455612: Merge "Fix flaky test of timer_create_multiple in L." into lollipop-mr1-cts-dev
* commit 'b245bc750021ce6d220e71625fca66620cdd1f05':
  Fix flaky test of timer_create_multiple in L.
2015-06-19 18:55:51 +00:00
Yabin Cui
b245bc7500 am 0f455612: Merge "Fix flaky test of timer_create_multiple in L." into lollipop-mr1-cts-dev
* commit '0f455612d3325932a851418634a17a61307948c5':
  Fix flaky test of timer_create_multiple in L.
2015-06-19 18:40:59 +00:00
David Srbecky
c08c88b5fc Merge "Add flag that makes linker honor min(p_vaddr)" into mnc-dev 2015-06-19 18:26:21 +00:00
Yabin Cui
a4c422026a am 6cc98af7: Merge "Don\'t use TIMER_ABSTIME in time_test."
* commit '6cc98af72b0c48c58b2ab5fdb5f7abb842175299':
  Don't use TIMER_ABSTIME in time_test.
2015-06-19 18:25:21 +00:00
Yabin Cui
0f455612d3 Merge "Fix flaky test of timer_create_multiple in L." into lollipop-mr1-cts-dev 2015-06-19 18:00:53 +00:00
Yabin Cui
6cc98af72b Merge "Don't use TIMER_ABSTIME in time_test." 2015-06-19 17:56:52 +00:00
Yabin Cui
d1ade7ce02 Don't use TIMER_ABSTIME in time_test.
If TIMER_ABSTIME is used in timer_settime(), the timer is always fired
immediately, which is not the intent of the tests.

Change-Id: I76047dbeb2bdded272ee6d028630b53bfd7d8514
2015-06-19 00:54:34 +00:00
Yabin Cui
410c1adf5f Fix flaky test of timer_create_multiple in L.
Bug: 20677618
Change-Id: I0cb5faf77edce042b10611543180f3e2e73d3d05
2015-06-18 16:19:02 -07:00
Dmitriy Ivanov
34e8e47d32 Add flag that makes linker honor min(p_vaddr)
(cherry picked from commit 8a1162835597be38705b381ac34c07da17932568)

Bug: 21924613
Bug: http://b/21523078
Change-Id: I3f944a08dd2ed1df4d8a807da4fee423fdd35eb7
2015-06-18 23:58:34 +01:00
Christopher Ferris
e0e1e91322 resolved conflicts for merge of 7d6410e9 to mnc-dev-plus-aosp
Change-Id: I0f050e4eba3d68907dd6bfa24563f7ddfae1d73e
2015-06-17 18:25:22 -07:00
Dmitriy Ivanov
aac38762a2 am 547fa54e: Merge "Improve library lookup logic"
* commit '547fa54e6d5342f4ce68c7d78bd270595caf4b97':
  Improve library lookup logic
2015-06-18 00:55:37 +00:00
Dmitriy Ivanov
850424716c resolved conflicts for merge of 28154f5c to mnc-dev-plus-aosp
Change-Id: I26d4a341d19b6ef1e430f5365626f3c274ba7320
2015-06-17 17:43:12 -07:00
Dmitriy Ivanov
547fa54e6d Merge "Improve library lookup logic" 2015-06-18 00:30:48 +00:00
Christopher Ferris
7d6410e957 Merge "[MIPS] Add optimized string functions" into mnc-dev 2015-06-18 00:18:40 +00:00
Dmitriy Ivanov
a9703332f6 Improve library lookup logic
Linker tries to open a library even if it can
be found by soname. This only happens if the
library was previously opened under different
target sdk version.

Bug: http://b/21876587
Bug: http://b/21153477
Bug: http://b/21171302
Bug: https://code.google.com/p/android/issues/detail?id=160921
Change-Id: I7dbbcc3b49933bffd89ca0af55371e1a1f2bf4c2
(cherry picked from commit 28154f5c56dc4a64270cae2374b47a168d1bd7fa)
2015-06-17 17:16:44 -07:00
Christopher Ferris
496a128076 am bfa601a9: Merge "[MIPS] Add optimized string functions"
* commit 'bfa601a9992547147fa66a95273bd5b891723bcc':
  [MIPS] Add optimized string functions
2015-06-18 00:15:29 +00:00
Nikola Veljkovic
1d824c3912 [MIPS] Add optimized string functions
Use same string functions for all MIPS architectures.

Bug: 21555893
(cherry picked from commit 38f2eaa07b0ad2e01a40607d3a0ac240ff53abbf)

Change-Id: I94521f023d0bb136a4672782148a9f6e77cc6f1e
2015-06-17 17:02:11 -07:00
Christopher Ferris
bfa601a999 Merge "[MIPS] Add optimized string functions" 2015-06-17 23:50:56 +00:00
Dmitriy Ivanov
28154f5c56 Improve library lookup logic
Linker tries to open a library even if it can
be found by soname. This only happens if the
library was previously opened under different
target sdk version.

Bug: http://b/21876587
Bug: http://b/21153477
Bug: http://b/21171302
Bug: https://code.google.com/p/android/issues/detail?id=160921
Change-Id: I7dbbcc3b49933bffd89ca0af55371e1a1f2bf4c2
2015-06-17 16:36:03 -07:00
Dimitry Ivanov
b5bab69239 am 9ae6f794: Merge "Revert "Improve library lookup logic""
* commit '9ae6f794cae7280385dfa172b12b7bd110f24693':
  Revert "Improve library lookup logic"
2015-06-17 21:57:17 +00:00
Dimitry Ivanov
9ae6f794ca Merge "Revert "Improve library lookup logic"" 2015-06-17 21:35:28 +00:00
Dimitry Ivanov
d2c81ed000 Revert "Improve library lookup logic"
This reverts commit 455c145e3c451b2b6dc00663e4040d79acefd496.

Bug: http://b/21876587
Bug: http://b/21153477
Bug: http://b/21171302
Bug: https://code.google.com/p/android/issues/detail?id=160921
Change-Id: Iad21ddfc1ac749d12bcb52384a8d937b307dd03b
2015-06-17 21:34:25 +00:00
Dmitriy Ivanov
0d9057b153 am f448ef49: Merge "Add versions to libm.so symbols"
* commit 'f448ef491c3d733ca0b5935304b41c9df3ff93d5':
  Add versions to libm.so symbols
2015-06-17 21:12:49 +00:00
Dmitriy Ivanov
a8a1e8112f am 4d0d3147: Add versions to libm.so symbols
* commit '4d0d31475f1584ed7bf4a52ce784c62c30ad522c':
  Add versions to libm.so symbols
2015-06-17 21:07:27 +00:00
Dimitry Ivanov
e4faf3af9f am 6b37515c: Merge "Revert "Improve library lookup logic"" into mnc-dev
* commit '6b37515c38ce1d5701915ffcd3bc6b6840d90fa7':
  Revert "Improve library lookup logic"
2015-06-17 21:07:26 +00:00
Dmitriy Ivanov
4d0d31475f Add versions to libm.so symbols
Bug: http://b/20139821
Change-Id: Ifdfcac62d59eb8f0985990aa8512046ecb87449e
(cherry picked from commit 636f5ddddcd9e0bcfc7139b0905ebc92d4adc40a)
2015-06-17 13:50:37 -07:00
Dmitriy Ivanov
f448ef491c Merge "Add versions to libm.so symbols" 2015-06-17 20:49:44 +00:00
Dimitry Ivanov
6b37515c38 Merge "Revert "Improve library lookup logic"" into mnc-dev 2015-06-17 20:43:23 +00:00
Dimitry Ivanov
1eba2f4ce1 Revert "Improve library lookup logic"
This reverts commit ea4ef52fa46602a5853df0e5b1ddd71b194d54ce.

Bug: http://b/21876587
Bug: http://b/21153477
Bug: http://b/21171302
Bug: https://code.google.com/p/android/issues/detail?id=160921
Change-Id: I23ddbd69294023c56c9cbabad29d26c8f736ab43
2015-06-17 20:42:20 +00:00
Dmitriy Ivanov
8d8477fd17 am 61cbd02f: Merge "Improve library lookup logic"
* commit '61cbd02f1030132a4a4f0bfc2bbde3311dd620da':
  Improve library lookup logic
2015-06-17 17:45:39 +00:00
Dmitriy Ivanov
df0ebf4e92 am 462df829: Merge "Improve library lookup logic" into mnc-dev
* commit '462df82902e6982f5b5c2ea443e84f39980259e1':
  Improve library lookup logic
2015-06-17 17:38:32 +00:00
Dmitriy Ivanov
61cbd02f10 Merge "Improve library lookup logic" 2015-06-17 17:28:50 +00:00
Elliott Hughes
d1289f8bdb am 3b5a4b0c: Merge "Revert "[MIPS] Do not use compact branches until GDB supports them""
* commit '3b5a4b0c3394e45b766188e0bede4d5acdc0c678':
  Revert "[MIPS] Do not use compact branches until GDB supports them"
2015-06-17 17:19:50 +00:00
Dmitriy Ivanov
455c145e3c Improve library lookup logic
Linker tries to open a library even if it can
be found by soname. This only happens if the
library was previously opened under different
target sdk version.

Bug: http://b/21876587
Bug: http://b/21153477
Bug: http://b/21171302
Bug: https://code.google.com/p/android/issues/detail?id=160921
Change-Id: I769a04b6b1368a107d43f399297be14050338bbc
(cherry picked from commit ea4ef52fa46602a5853df0e5b1ddd71b194d54ce)
2015-06-17 10:18:28 -07:00
Dmitriy Ivanov
462df82902 Merge "Improve library lookup logic" into mnc-dev 2015-06-17 17:15:06 +00:00
Elliott Hughes
3b5a4b0c33 Merge "Revert "[MIPS] Do not use compact branches until GDB supports them"" 2015-06-17 17:05:14 +00:00
Nikola Veljkovic
dee130f598 Revert "[MIPS] Do not use compact branches until GDB supports them"
This reverts commit 3cec6eca929de5d627a8cc1fbe72c564ba5175cc.
2015-06-17 17:17:54 +02:00
Nikola Veljkovic
38f2eaa07b [MIPS] Add optimized string functions
Use same string functions for all MIPS architectures.

Change-Id: I5575b16f3f66fa3609d7dafd151b6091bfe3517f
2015-06-17 17:02:10 +02:00
Elliott Hughes
2efe8b1fde am d49850d6: Fixes for building gdbserver (and gdb) out of the box.
* commit 'd49850d6abb1b70c34be99a46e383a6a878ae19e':
  Fixes for building gdbserver (and gdb) out of the box.
2015-06-17 00:45:38 +00:00
Elliott Hughes
9f01ac812d am 81b2382d: Merge "Fixes for building gdbserver (and gdb) out of the box."
* commit '81b2382df6985d5e2495797bb4e03fa597340a37':
  Fixes for building gdbserver (and gdb) out of the box.
2015-06-17 00:20:43 +00:00
Elliott Hughes
d49850d6ab Fixes for building gdbserver (and gdb) out of the box.
Bug: http://b/21695943
Change-Id: Iadb600b2ae619515d7038a4db9bf464ba31adb36
(cherry picked from commit 895241efbba344c1590b76fcada89c48f4743cf2)
2015-06-16 16:59:49 -07:00
Elliott Hughes
81b2382df6 Merge "Fixes for building gdbserver (and gdb) out of the box." 2015-06-16 23:58:34 +00:00
Dmitriy Ivanov
ea4ef52fa4 Improve library lookup logic
Linker tries to open a library even if it can
be found by soname. This only happens if the
library was previously opened under different
target sdk version.

Bug: http://b/21876587
Bug: http://b/21153477
Bug: http://b/21171302
Bug: https://code.google.com/p/android/issues/detail?id=160921
Change-Id: I769a04b6b1368a107d43f399297be14050338bbc
2015-06-16 16:52:21 -07:00
Elliott Hughes
895241efbb Fixes for building gdbserver (and gdb) out of the box.
Bug: http://b/21695943
Change-Id: Iadb600b2ae619515d7038a4db9bf464ba31adb36
2015-06-16 16:04:35 -07:00
Dan Albert
47af493008 am b628b7db: Merge "Use new sanitizer option."
* commit 'b628b7db3952594d06c8063dc863a4dd6eaa8b89':
  Use new sanitizer option.
2015-06-16 21:45:35 +00:00
Tim Murray
16bbd8cbaf am 84827605: Merge "Add support for cortex-a53 in bionic." into mnc-dev
* commit '848276051a24266e1eacf2e508692c62d5a6176d':
  Add support for cortex-a53 in bionic.
2015-06-16 21:26:04 +00:00
Dan Albert
b628b7db39 Merge "Use new sanitizer option." 2015-06-16 21:23:50 +00:00
Dmitriy Ivanov
11fbf03fd3 am 42057469: Add version to libc.so symbols
* commit '420574690cc7096c3f894d5d88a65e8fd13de25c':
  Add version to libc.so symbols
2015-06-16 21:23:47 +00:00
Elliott Hughes
352eb5f628 am 929be688: Hide accidentally-exposed __clock_nanosleep.
* commit '929be68849b7e94caaa7ffe62b8a7b506d2cc042':
  Hide accidentally-exposed __clock_nanosleep.
2015-06-16 21:23:46 +00:00
Dan Albert
11ea08c5cb Use new sanitizer option.
Change-Id: I21b04a1f3be3b10ee557bf9e0caa5db638686364
2015-06-16 13:57:54 -07:00
Tim Murray
848276051a Merge "Add support for cortex-a53 in bionic." into mnc-dev 2015-06-16 20:47:17 +00:00
Tim Murray
c34df8b280 Add support for cortex-a53 in bionic.
allows -mcpu=cortex-a53 to be passed as part of a command line.

Change-Id: Id4203a9fd197f4c3b661bad21ac58c32819fd687
2015-06-16 13:43:19 -07:00
Tim Murray
e6d80afb58 am 9876aa27: Merge "Add support for cortex-a53 in bionic."
* commit '9876aa273da6795aa6d257de5b779a68a0c2eccf':
  Add support for cortex-a53 in bionic.
2015-06-16 19:27:36 +00:00
Tim Murray
9876aa273d Merge "Add support for cortex-a53 in bionic." 2015-06-16 19:04:14 +00:00
Dmitriy Ivanov
2e1f6107fe am 48fa28ba: Merge "Add version to libc.so symbols"
* commit '48fa28bacd7e84651d381e2428944916e45b5508':
  Add version to libc.so symbols
2015-06-16 18:27:09 +00:00
Dmitriy Ivanov
420574690c Add version to libc.so symbols
Bug: http://b/21617095
Bug: http://b/20139821
Change-Id: If3d42d2a0b4a0c49721fd9b9ecbb4f7bee5a1eff
(cherry picked from commit 665607a6b7a7a8f129c30ee73c6606f4a56cea0c)
2015-06-16 11:08:01 -07:00
Dmitriy Ivanov
48fa28bacd Merge "Add version to libc.so symbols" 2015-06-16 18:04:33 +00:00
Elliott Hughes
7e0946a623 am cd1be3b6: Merge "Hide accidentally-exposed __clock_nanosleep."
* commit 'cd1be3b69e1b47ac27ffc5d74e5276aeee688abc':
  Hide accidentally-exposed __clock_nanosleep.
2015-06-16 18:01:27 +00:00
Elliott Hughes
929be68849 Hide accidentally-exposed __clock_nanosleep.
Bug: http://b/21858067
Change-Id: Iaa83a5e17cfff796aed4f641d0d14427614d9399
(cherry picked from commit b1304935b64ffcd59cd787cc9ac83a2d14dc587b)
2015-06-16 10:44:24 -07:00
Elliott Hughes
cd1be3b69e Merge "Hide accidentally-exposed __clock_nanosleep." 2015-06-16 17:43:36 +00:00
Dmitriy Ivanov
665607a6b7 Add version to libc.so symbols
Bug: http://b/21617095
Bug: http://b/20139821
Change-Id: If3d42d2a0b4a0c49721fd9b9ecbb4f7bee5a1eff
2015-06-16 10:32:07 -07:00
Tim Murray
a73b2c961f Add support for cortex-a53 in bionic.
allows -mcpu=cortex-a53 to be passed as part of a command line.

Change-Id: Id4203a9fd197f4c3b661bad21ac58c32819fd687
2015-06-15 21:43:30 -07:00
Elliott Hughes
b1304935b6 Hide accidentally-exposed __clock_nanosleep.
Bug: http://b/21858067
Change-Id: Iaa83a5e17cfff796aed4f641d0d14427614d9399
2015-06-15 19:39:04 -07:00
Elliott Hughes
26501a0ae9 am f1c85411: Avoid name collision with user_fpsimd_state in <asm/ptrace.h>.
* commit 'f1c85411a8edd71366d723bc297d49a52112cb74':
  Avoid name collision with user_fpsimd_state in <asm/ptrace.h>.
2015-06-16 02:21:08 +00:00
Elliott Hughes
41bc5aeb93 am df11f340: Merge "Avoid name collision with user_fpsimd_state in <asm/ptrace.h>."
* commit 'df11f340cac2e7aa5ef69c3180d0f4089f46c96b':
  Avoid name collision with user_fpsimd_state in <asm/ptrace.h>.
2015-06-16 02:14:40 +00:00
Dan Albert
cfbe6014b4 am cce405a1: Add a sys/procfs.h.
* commit 'cce405a134c338ff6b76c56aafe02ef73c93a38c':
  Add a sys/procfs.h.
2015-06-16 02:02:46 +00:00
Elliott Hughes
55a70cd113 am 7051c0f2: Fix two accidentally leaked mips64 symbols.
* commit '7051c0f2a50cb2bafee23182c3cbc9a86d361a13':
  Fix two accidentally leaked mips64 symbols.
2015-06-16 02:02:45 +00:00
Elliott Hughes
f1c85411a8 Avoid name collision with user_fpsimd_state in <asm/ptrace.h>.
We don't want to use <asm/ptrace.h> because (a) it'll drag in a bunch of
namespace pollution and (b) the registers should be "long double" for
userspace, not the kernel's uint128s. So just use a slightly different
name for our struct (which matches the traditional names for these structs
anyway).

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: I8812ca98cfe6b649dbd31f7d6aea41928ba2acbd
(cherry picked from commit 0577733c2e15a4745d5c75f59e5f56dd179a4aa7)
2015-06-15 19:02:40 -07:00
Dmitriy Ivanov
636f5ddddc Add versions to libm.so symbols
Bug: http://b/20139821
Change-Id: Ifdfcac62d59eb8f0985990aa8512046ecb87449e
2015-06-15 18:52:20 -07:00
Elliott Hughes
df11f340ca Merge "Avoid name collision with user_fpsimd_state in <asm/ptrace.h>." 2015-06-16 01:50:25 +00:00
Elliott Hughes
2309b36b8f am 27f5c37b: Merge "Fix two accidentally leaked mips64 symbols."
* commit '27f5c37b12042dea3d9521b7b0287820c1e669f0':
  Fix two accidentally leaked mips64 symbols.
2015-06-16 01:50:12 +00:00
Elliott Hughes
a7ba695ad0 am 333bdad3: Merge "Add a sys/procfs.h."
* commit '333bdad361b566df2d9d2d5968fb23e8d3983019':
  Add a sys/procfs.h.
2015-06-16 01:50:11 +00:00
Elliott Hughes
0577733c2e Avoid name collision with user_fpsimd_state in <asm/ptrace.h>.
We don't want to use <asm/ptrace.h> because (a) it'll drag in a bunch of
namespace pollution and (b) the registers should be "long double" for
userspace, not the kernel's uint128s. So just use a slightly different
name for our struct (which matches the traditional names for these structs
anyway).

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: I8812ca98cfe6b649dbd31f7d6aea41928ba2acbd
2015-06-15 18:47:39 -07:00
Dan Albert
cce405a134 Add a sys/procfs.h.
Needed for building gdbserver out of the box.

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: Ieadda2b595f08bfddfa61fcd68006b8e7c1a438d
(cherry picked from commit bf18c61798d1ae9197ae087ed85e94eef55e8678)
2015-06-15 18:39:02 -07:00
Elliott Hughes
7051c0f2a5 Fix two accidentally leaked mips64 symbols.
Bug: http://b/21857154
Change-Id: Ie1fb63f54c6c527b8c1172e8f6ce48f23fca9b41
(cherry picked from commit 469b418784a01c759a2ddd889437d6e6c18b256e)
2015-06-15 18:36:48 -07:00
Elliott Hughes
27f5c37b12 Merge "Fix two accidentally leaked mips64 symbols." 2015-06-16 01:36:29 +00:00
Elliott Hughes
333bdad361 Merge "Add a sys/procfs.h." 2015-06-16 01:28:48 +00:00
Elliott Hughes
469b418784 Fix two accidentally leaked mips64 symbols.
Bug: http://b/21857154
Change-Id: Ie1fb63f54c6c527b8c1172e8f6ce48f23fca9b41
2015-06-15 17:49:54 -07:00
Dan Albert
bf18c61798 Add a sys/procfs.h.
Needed for building gdbserver out of the box.

Bug: http://b/21695943
Bug: https://code.google.com/p/android/issues/detail?id=86712
Change-Id: Ieadda2b595f08bfddfa61fcd68006b8e7c1a438d
2015-06-15 14:33:54 -07:00
Sharvil Nanavati
f5aba62718 am fdcaeac1: am 00cef820: am 64e9e71c: Define nonportable pthread mutex macros with the _NP suffix.
* commit 'fdcaeac1a91c3e0a1a13498b7d1d8b223e700a86':
  Define nonportable pthread mutex macros with the _NP suffix.
2015-06-15 16:13:36 +00:00
Sharvil Nanavati
fdcaeac1a9 am 00cef820: am 64e9e71c: Define nonportable pthread mutex macros with the _NP suffix.
* commit '00cef82013c0826bb43c11651d25de8b99335618':
  Define nonportable pthread mutex macros with the _NP suffix.
2015-06-15 15:48:00 +00:00
Dmitriy Ivanov
ec7f603cc2 am 713ae464: Merge "Make path to apk compliant with jar url format"
* commit '713ae464abb942dafcafd738d9e00fcc8c3bb601':
  Make path to apk compliant with jar url format
2015-06-13 02:25:50 +00:00
Dmitriy Ivanov
713ae464ab Merge "Make path to apk compliant with jar url format" 2015-06-13 00:44:07 +00:00
Dmitriy Ivanov
3e6f780754 Remove text-relocs support for apps targeting M+
Remove support of text-relocations for apps targeting sdk version > 22

Bug: http://b/20013628
Change-Id: I2127739544480c747315e32df15dfbd1b79de4f5
2015-06-12 15:09:54 -07:00
Sharvil Nanavati
00cef82013 am 64e9e71c: Define nonportable pthread mutex macros with the _NP suffix.
* commit '64e9e71cdb7d88397e510e1986d494b797ed3b45':
  Define nonportable pthread mutex macros with the _NP suffix.
2015-06-12 20:13:46 +00:00
Sharvil Nanavati
64e9e71cdb Define nonportable pthread mutex macros with the _NP suffix.
Change-Id: I1066352e5b2607f64daf6aeb0030d0bbe88ead8d
2015-06-12 10:56:17 -07:00
Dmitriy Ivanov
65126c93a2 am ae1e7545: Merge "Make path to apk compliant with jar url format" into mnc-dev
* commit 'ae1e75458ad281f121116c8c5dfe9d8086e43a2b':
  Make path to apk compliant with jar url format
2015-06-11 22:43:14 +00:00
Dmitriy Ivanov
ae1e75458a Merge "Make path to apk compliant with jar url format" into mnc-dev 2015-06-11 21:55:09 +00:00
Dmitriy Ivanov
402a75060d Make path to apk compliant with jar url format
Bug: http://b/21726698
Bug: http://b/8076853
Change-Id: I8c1942a98fe3119746b4dc9f60a7ff215ea7009c
(cherry picked from commit 524f1f1efe0cb32714c61e26f21701ac952b9e42)
2015-06-11 11:01:23 -07:00
Elliott Hughes
05923bacbc am 9ef26a3c: Merge "Always build libm with clang."
* commit '9ef26a3c4cd2e6d469f771815a07cb820800beb6':
  Always build libm with clang.
2015-06-11 17:20:22 +00:00
Elliott Hughes
9ef26a3c4c Merge "Always build libm with clang." 2015-06-11 16:58:23 +00:00
Dmitriy Ivanov
9edb1a2b31 am 38263dd9: Fix l_addr for the linker
* commit '38263dd91a4b68e2ad0afe458c9a20cb360dafeb':
  Fix l_addr for the linker
2015-06-11 12:52:30 +00:00
Elliott Hughes
173ad0a53e Always build libm with clang.
Change-Id: I00df3b83dfa76a7e12f097fb622ceaec3e2bb5a4
2015-06-10 22:55:09 -07:00
Dmitriy Ivanov
571b01186a am b90e9b71: Merge "Fix l_addr for the linker"
* commit 'b90e9b71835957a5f816b9a6da1c23c3b6db4802':
  Fix l_addr for the linker
2015-06-11 03:24:41 +00:00
Dmitriy Ivanov
38263dd91a Fix l_addr for the linker
Bug: http://b/21765603
Change-Id: I97710ef2436eac2160e29ba3e4521f6e63a1907c
(cherry picked from commit 175dae92d78cc6338125a49ea8dbabbd2f22ddf0)
2015-06-10 20:05:48 -07:00
Dmitriy Ivanov
b90e9b7183 Merge "Fix l_addr for the linker" 2015-06-11 03:05:10 +00:00
Elliott Hughes
351a876407 am 25ac753f: Add process_vm_readv and process_vm_writev.
* commit '25ac753f474492ffa3625ca6b5aae254bb205c33':
  Add process_vm_readv and process_vm_writev.
2015-06-11 02:54:21 +00:00
Elliott Hughes
9165c8579f resolved conflicts for merge of eeb1d33a to mnc-dev-plus-aosp
Change-Id: I5ef79ff7851172189b959bad7d5f8b1431c38b39
2015-06-10 19:49:40 -07:00
Dmitriy Ivanov
175dae92d7 Fix l_addr for the linker
Bug: http://b/21765603
Change-Id: I97710ef2436eac2160e29ba3e4521f6e63a1907c
2015-06-10 19:47:26 -07:00
Elliott Hughes
1a587162a8 am c910de9d: Merge "Add process_vm_readv and process_vm_writev."
* commit 'c910de9d5e6ff5c00356883fb567227ab04e0389':
  Add process_vm_readv and process_vm_writev.
2015-06-11 02:31:54 +00:00
Dmitriy Ivanov
248bb62680 am db68b460: Merge "Fix application_sdk_versions_smoke test"
* commit 'db68b4600d84a213b4714525332f359f3f01c686':
  Fix application_sdk_versions_smoke test
2015-06-11 02:31:43 +00:00
Evgenii Stepanov
98c99d111b am 72af1235: Merge "Support DT_RUNPATH in the linker."
* commit '72af1235e49fa797987dd719e398f53995a50ec4':
  Support DT_RUNPATH in the linker.
2015-06-11 02:31:42 +00:00
Dmitriy Ivanov
e1f3c8b63a am 79b3877a: Fix application_sdk_versions_smoke test
* commit '79b3877a137510946ddd39ab71c0badf1a769c11':
  Fix application_sdk_versions_smoke test
2015-06-11 02:08:30 +00:00
Dmitriy Ivanov
fdf9f04906 am 07f4f5f9: Check if strtab exists before using it
* commit '07f4f5f9edc33d22c41f51224f8be0c0a51e5b6b':
  Check if strtab exists before using it
2015-06-11 02:08:29 +00:00
Elliott Hughes
25ac753f47 Add process_vm_readv and process_vm_writev.
Bug: http://b/21761353
Change-Id: Ic8ef3f241d62d2a4271fbc783c8af50257bac498
(cherry picked from commit be57a40d2973739c4fb0aa1cfb0014f34aeec2bd)
2015-06-10 18:55:06 -07:00
Elliott Hughes
c910de9d5e Merge "Add process_vm_readv and process_vm_writev." 2015-06-11 01:31:17 +00:00
Elliott Hughes
eeb1d33a31 Merge "Statically linked executables should honor AT_SECURE." into mnc-dev 2015-06-11 00:55:40 +00:00
Elliott Hughes
be57a40d29 Add process_vm_readv and process_vm_writev.
Bug: http://b/21761353
Change-Id: Ic8ef3f241d62d2a4271fbc783c8af50257bac498
2015-06-10 17:24:20 -07:00
Dmitriy Ivanov
db68b4600d Merge "Fix application_sdk_versions_smoke test" 2015-06-11 00:03:46 +00:00
Dmitriy Ivanov
bd3b961186 Fix application_sdk_versions_smoke test
Bug: http://b/21364029
Change-Id: I9716d6b0ea7fae6483629a290dbe695b68526588
(cherry picked from commit 79b3877a137510946ddd39ab71c0badf1a769c11)
2015-06-10 17:03:12 -07:00
Evgenii Stepanov
72af1235e4 Merge "Support DT_RUNPATH in the linker." 2015-06-10 23:56:03 +00:00
Dmitriy Ivanov
79b3877a13 Fix application_sdk_versions_smoke test
Bug: http://b/21364029
Change-Id: I9716d6b0ea7fae6483629a290dbe695b68526588
2015-06-10 16:55:50 -07:00
Evgenii Stepanov
6865082ca6 Support DT_RUNPATH in the linker.
Only $ORIGIN substitution is supported, but not linux-specific $LIB
or $PLATFORM.

Change-Id: I5814a016c7c91afba080230a547a863686e7c2b9
2015-06-10 16:44:22 -07:00
Elliott Hughes
46019789bb am ba1d40a3: Merge "Statically linked executables should honor AT_SECURE."
* commit 'ba1d40a3f16525e70e4b68c5a82e7cc9f8a4b76a':
  Statically linked executables should honor AT_SECURE.
2015-06-10 23:12:08 +00:00
Elliott Hughes
66c3b2db2f Statically linked executables should honor AT_SECURE.
Bug: http://b/19647373
Change-Id: I10e7682d9cec26a523f1a3597ca5326c3ca42ebe
(cherry picked from commit 1801db3d3fe17df543e721b9fb355e5c882dc6cc)
2015-06-10 16:10:18 -07:00
Dmitriy Ivanov
be98337273 am f3463db7: Merge "Check if strtab exists before using it"
* commit 'f3463db7eb37cb7d9dd5e32dfb5b2bd24f808fb3':
  Check if strtab exists before using it
2015-06-10 22:53:07 +00:00
Elliott Hughes
ba1d40a3f1 Merge "Statically linked executables should honor AT_SECURE." 2015-06-10 22:49:57 +00:00
Dmitriy Ivanov
f3463db7eb Merge "Check if strtab exists before using it" 2015-06-10 22:26:07 +00:00
Dmitriy Ivanov
07f4f5f9ed Check if strtab exists before using it
Bug: http://b/21696087
Change-Id: I1e22d5fd6fe2faead332249493123c9a085081e9
(cherry picked from commit 624b8f17a1ce9b968f11e73231733442a07ac001)
2015-06-10 15:25:48 -07:00
Christopher Ferris
8cba773269 am 6a494915: Merge "Allow NULL in pthread_mutex_lock/unlock."
* commit '6a494915d795d4f1c4d27aab3da0b65e7e4c0b18':
  Allow NULL in pthread_mutex_lock/unlock.
2015-06-10 20:36:49 +00:00
Christopher Ferris
3c716b1b80 am 511cfd9d: Allow NULL in pthread_mutex_lock/unlock.
* commit '511cfd9dc8cb41bca4920687c7d816ee916ee8e5':
  Allow NULL in pthread_mutex_lock/unlock.
2015-06-10 18:15:04 +00:00
Christopher Ferris
6a494915d7 Merge "Allow NULL in pthread_mutex_lock/unlock." 2015-06-10 17:53:46 +00:00
Christopher Ferris
60907c7f4e Allow NULL in pthread_mutex_lock/unlock.
The pthread_mutex_lock and pthread_mutex_unlock were allowed to
fail silently on L 32 bit devices when passed a NULL. We changed
this to a crash on 32 bit devices, but there are still games that make
these calls and are not likely to be updated. Therefore, once again
allow NULL to be passed in on 32 bit devices.

Bug: 19995172
(cherry picked from commit 511cfd9dc8cb41bca4920687c7d816ee916ee8e5)

Change-Id: I159a99a941cff94297ef3fffda7075f8ef1ae252
2015-06-10 10:50:43 -07:00
Elliott Hughes
1801db3d3f Statically linked executables should honor AT_SECURE.
Bug: http://b/19647373
Change-Id: I10e7682d9cec26a523f1a3597ca5326c3ca42ebe
2015-06-09 20:10:25 -07:00
Christopher Ferris
511cfd9dc8 Allow NULL in pthread_mutex_lock/unlock.
The pthread_mutex_lock and pthread_mutex_unlock were allowed to
fail silently on L 32 bit devices when passed a NULL. We changed
this to a crash on 32 bit devices, but there are still games that make
these calls and are not likely to be updated. Therefore, once again
allow NULL to be passed in on 32 bit devices.

Bug: 19995172
Change-Id: If7e8860075ecd63c0064d80f64e226fad7bd3c26
2015-06-09 18:46:15 -07:00
Dmitriy Ivanov
787d4388e3 am 1cfbd94a: Merge "Add flag that makes linker honor min(p_vaddr)"
* commit '1cfbd94a2f40743757cdecd51cfa3e3ab545a5c5':
  Add flag that makes linker honor min(p_vaddr)
2015-06-09 21:26:04 +00:00
Dmitriy Ivanov
1cfbd94a2f Merge "Add flag that makes linker honor min(p_vaddr)" 2015-06-09 21:02:28 +00:00
Dmitriy Ivanov
524f1f1efe Make path to apk compliant with jar url format
Bug: http://b/21726698
Bug: http://b/8076853
Change-Id: I8c1942a98fe3119746b4dc9f60a7ff215ea7009c
2015-06-09 13:47:46 -07:00
Dmitriy Ivanov
8a11628355 Add flag that makes linker honor min(p_vaddr)
Bug: http://b/21523078
Change-Id: Ice72766fb6ad3bd333c32b496e7870121e17a763
2015-06-09 13:44:31 -07:00
Ying Wang
a950c9ef00 am 866d6fb0: Merge "Fix Mac checkbuild."
* commit '866d6fb09085d5b74670b5c6137fcfe130b6c2ca':
  Fix Mac checkbuild.
2015-06-08 20:08:11 +00:00
Ying Wang
98af7902ee am 26e663d4: (-s ours) Fix Mac checkbuild.
* commit '26e663d4796e74fc40a62b3d2a438b726bbb056e':
  Fix Mac checkbuild.
2015-06-08 19:53:02 +00:00
Ying Wang
866d6fb090 Merge "Fix Mac checkbuild." 2015-06-08 19:26:55 +00:00
Ying Wang
4900f1c4cd Fix Mac checkbuild.
Bug: 21669400
Change-Id: I54691661605a2e2c1871781964aed343840b8560

(cherry-pick from commit 33c2d441b8f816722bed984c6e12b82b888c3ca2)
2015-06-08 12:23:48 -07:00
Ying Wang
26e663d479 Fix Mac checkbuild.
Bug: 21669400
Change-Id: I54691661605a2e2c1871781964aed343840b8560
(cherry-pick from commit 33c2d441b8f816722bed984c6e12b82b888c3ca2)
2015-06-08 12:20:16 -07:00
Nick Kralevich
59e553c7e0 am 12fb28bb: Merge "Add O_PATH support for flistxattr()"
* commit '12fb28bbd85cea72bd951d8263b05e54415780e7':
  Add O_PATH support for flistxattr()
2015-06-08 18:02:31 +00:00
Dmitriy Ivanov
624b8f17a1 Check if strtab exists before using it
Bug: http://b/21696087
Change-Id: I1e22d5fd6fe2faead332249493123c9a085081e9
2015-06-08 10:41:33 -07:00
Nick Kralevich
12fb28bbd8 Merge "Add O_PATH support for flistxattr()" 2015-06-08 17:39:01 +00:00
Christopher Ferris
7a9cfcce43 am e49af9bc: Export two dlmalloc functions everywhere.
* commit 'e49af9bca5706ecbc9c4f3cf15be990294106952':
  Export two dlmalloc functions everywhere.
2015-06-06 21:47:45 +00:00
Christopher Ferris
c9ef605751 am 7a799f2b: Fix a few libc makefile mishaps.
* commit '7a799f2b02ee453a46ee368cd8c41477e0567852':
  Fix a few libc makefile mishaps.
2015-06-06 21:47:44 +00:00
Christopher Ferris
84128f2523 am d9dc13d4: Merge "Export two dlmalloc functions everywhere."
* commit 'd9dc13d4172516342ceebf1b16624ed9fdf3fca2':
  Export two dlmalloc functions everywhere.
2015-06-06 21:05:55 +00:00
Christopher Ferris
e49af9bca5 Export two dlmalloc functions everywhere.
The functions dlmalloc_inspect_all and dlmalloc_trim get
exported on devices that use dlmalloc, so be consistent and
export them everywhere.

Bug: 21640784
(cherry picked from commit f9554a17765fd91d97d1f74913a626f01e880cee)

Change-Id: I1000221423c16c356bb6301e55f726db01c3f209
2015-06-06 13:25:56 -07:00
Christopher Ferris
7a799f2b02 Fix a few libc makefile mishaps.
These are the problems fixed in this CL:

- The ndk_cruft.cpp file was not compiled for 64 bit.
- Some files where not compiled for libc_bionic.a due to a missing
  patch-up-arch-specific-flags call.
- The libc_bionic_ndk.a patch up call was using bionic src, not
  the bionic_ndk_src_files.
- Move mmap.cpp to the ndk src list where it was before because of
  the above errors.

Bug: 21640784
(cherry picked from commit 19fee2ca8beb4fae5b5c142de19757410171dc93)

Change-Id: Ib9a9cfd72720586d3400b11cd7189f021e9a06c6
2015-06-06 13:25:32 -07:00
Christopher Ferris
d9dc13d417 Merge "Export two dlmalloc functions everywhere." 2015-06-06 20:17:27 +00:00
Nick Kralevich
e1d0810cd7 Add O_PATH support for flistxattr()
A continuation of commit 2825f10b7f61558c264231a536cf3affc0d84204.

Add O_PATH compatibility support for flistxattr(). This allows
a process to list out all the extended attributes associated with
O_PATH file descriptors.

Change-Id: Ie2285ac7ad2e4eac427ddba6c2d182d41b130f75
2015-06-06 11:25:41 -07:00
Christopher Ferris
a3ae51aa89 am 966f84b1: Merge "Fix a few libc makefile mishaps."
* commit '966f84b11dca7caf53c67664d811b99567cab7ee':
  Fix a few libc makefile mishaps.
2015-06-06 00:35:17 +00:00
Christopher Ferris
f9554a1776 Export two dlmalloc functions everywhere.
The functions dlmalloc_inspect_all and dlmalloc_trim get
exported on devices that use dlmalloc, so be consistent and
export them everywhere.

Bug: 21640784
Change-Id: I5b8796cd03c8f401d37d9c22823144f766f9c4c7
2015-06-05 17:12:17 -07:00
Christopher Ferris
966f84b11d Merge "Fix a few libc makefile mishaps." 2015-06-06 00:07:58 +00:00
Yabin Cui
eb641b0d4a am e997e915: am 61b040a5: resolved conflicts for merge of ea248d9c to lmp-mr1-ub-dev
* commit 'e997e9155e72f1b0b40d832ac91fd39951acc1b9':
  Make sys_resource test more robust.
2015-06-05 02:43:18 +00:00
Christopher Ferris
19fee2ca8b Fix a few libc makefile mishaps.
These are the problems fixed in this CL:

- The ndk_cruft.cpp file was not compiled for 64 bit.
- Some files where not compiled for libc_bionic.a due to a missing
  patch-up-arch-specific-flags call.
- The libc_bionic_ndk.a patch up call was using bionic src, not
  the bionic_ndk_src_files.
- Move mmap.cpp to the ndk src list where it was before because of
  the above errors.

Bug: 21640784
Change-Id: I31e97bc8bf347c8e584cc17aa4b984a7d122b298
2015-06-04 19:40:50 -07:00
Yabin Cui
e997e9155e am 61b040a5: resolved conflicts for merge of ea248d9c to lmp-mr1-ub-dev
* commit '61b040a57094093cfb090ebb1c321d4a69c20b64':
  Make sys_resource test more robust.
2015-06-05 02:18:45 +00:00
Dmitriy Ivanov
1385421573 am c534603f: Hide __atexit
* commit 'c534603f8d2a03e0ace678adc83d6194a7afdbe9':
  Hide __atexit
2015-06-04 23:07:59 +00:00
Dmitriy Ivanov
ffcd909534 am 12ca831b: Merge "Hide __atexit"
* commit '12ca831b0e03e85a2f5588bdf834dc6046d1ac6c':
  Hide __atexit
2015-06-04 22:14:01 +00:00
Dmitriy Ivanov
c534603f8d Hide __atexit
Bug: http://b/21640806
Change-Id: I778b35c8c7538859179e97fcf5a82db2fcd9e50f
(cherry picked from commit 9cf6fc304bbbfb26911e0b624b80d862c40b0308)
2015-06-04 14:51:26 -07:00
Dmitriy Ivanov
12ca831b0e Merge "Hide __atexit" 2015-06-04 21:50:05 +00:00
Dmitriy Ivanov
9cf6fc304b Hide __atexit
Bug: http://b/21640806
Change-Id: I778b35c8c7538859179e97fcf5a82db2fcd9e50f
2015-06-04 14:33:18 -07:00
Christopher Ferris
16c64d4aa1 am b68b8b4b: Merge "Reorder DIR structure due to bad apps."
* commit 'b68b8b4b95d3e373a8975c0b650cde4d348ff118':
  Reorder DIR structure due to bad apps.
2015-06-04 21:30:25 +00:00
Christopher Ferris
699df5ca48 am f2e86cd9: Merge "Reorder DIR structure due to bad apps." into mnc-dev
* commit 'f2e86cd98038d6239265d936c32774b7289bfdc7':
  Reorder DIR structure due to bad apps.
2015-06-04 21:22:41 +00:00
Christopher Ferris
b68b8b4b95 Merge "Reorder DIR structure due to bad apps." 2015-06-04 21:06:23 +00:00
Christopher Ferris
c062218a9b Reorder DIR structure due to bad apps.
It turns out that apportable apps expect that the DIR structure is
the same as in L and below. Modify the structure to have the same
order, and move the new variable to the end of the structure.

Bug: 21037208
(cherry picked from commit 5edb0f40f654c804d38f1bff43f91719e189c892)

Change-Id: I0c1ab5e295ec8bef638daa4cfea5830aeea602e6
2015-06-04 14:04:16 -07:00
Christopher Ferris
f2e86cd980 Merge "Reorder DIR structure due to bad apps." into mnc-dev 2015-06-04 20:57:57 +00:00
Christopher Ferris
5edb0f40f6 Reorder DIR structure due to bad apps.
It turns out that apportable apps expect that the DIR structure is
the same as in L and below. Modify the structure to have the same
order, and move the new variable to the end of the structure.

Bug: 21037208
Change-Id: Id1258e9dc19423109a2c3a8086d3022965591166
2015-06-04 13:30:45 -07:00
Dmitriy Ivanov
c677d69258 am 34de7f84: Strip version info when extracting symbols
* commit '34de7f849799ea47534d617595ab566690a16f2f':
  Strip version info when extracting symbols
2015-06-04 19:22:21 +00:00
Dmitriy Ivanov
2706592b24 am 5cce2e72: Merge "Strip version info when extracting symbols"
* commit '5cce2e7205c92e6c4199dc5f4155e003f0a5b832':
  Strip version info when extracting symbols
2015-06-04 19:00:32 +00:00
Dmitriy Ivanov
34de7f8497 Strip version info when extracting symbols
Bug: http://b/20139821
Change-Id: I1c1ed1b97a75936407e996698b98b94a7175ac30
(cherry picked from commit 6cda0742895e46aa4ad0e4e8d5637d166f9f46f2)
2015-06-04 11:15:13 -07:00
Dmitriy Ivanov
5cce2e7205 Merge "Strip version info when extracting symbols" 2015-06-04 18:06:03 +00:00
Dmitriy Ivanov
6cda074289 Strip version info when extracting symbols
Bug: http://b/20139821
Change-Id: I1c1ed1b97a75936407e996698b98b94a7175ac30
2015-06-04 17:56:02 +00:00
Dmitriy Ivanov
9fbb73352d am 0c29aaba: Merge "Backward compatibility for dlsym(RTLD_DEFAULT, ...)" into mnc-dev
* commit '0c29aabad25832ec249288c8da3cf080c898ba74':
  Backward compatibility for dlsym(RTLD_DEFAULT, ...)
2015-06-03 02:22:59 +00:00
Dmitriy Ivanov
61e327fdf5 am 3931b6d9: Merge "Backward compatibility for dlsym(RTLD_DEFAULT, ...)"
* commit '3931b6d9b37a47e0921e329ff5846b7fd21cdd7b':
  Backward compatibility for dlsym(RTLD_DEFAULT, ...)
2015-06-03 01:31:48 +00:00
Dmitriy Ivanov
3931b6d9b3 Merge "Backward compatibility for dlsym(RTLD_DEFAULT, ...)" 2015-06-03 01:11:12 +00:00
Dmitriy Ivanov
0c29aabad2 Merge "Backward compatibility for dlsym(RTLD_DEFAULT, ...)" into mnc-dev 2015-06-03 01:09:34 +00:00
Dmitriy Ivanov
1913352c6b Backward compatibility for dlsym(RTLD_DEFAULT, ...)
Do not skip RTLD_LOCAL libraries in dlsym(RTLD_DEFAULT, ...)
 if the library is opened by application with target api level <= 22

Bug: http://b/21565766
Bug: http://b/17512583
Change-Id: Ic45ed1e4f53e84cba9d74cab6b0049c0c7aa8423
(cherry picked from commit 04f7e3e955ba7de5f449c995e667659319dc1cce)
2015-06-02 18:09:23 -07:00
Dmitriy Ivanov
04f7e3e955 Backward compatibility for dlsym(RTLD_DEFAULT, ...)
Do not skip RTLD_LOCAL libraries in dlsym(RTLD_DEFAULT, ...)
 if the library is opened by application with target api level <= 22

Bug: http://b/21565766
Bug: http://b/17512583
Change-Id: Ic45ed1e4f53e84cba9d74cab6b0049c0c7aa8423
2015-06-02 18:06:24 -07:00
Yabin Cui
61b040a570 resolved conflicts for merge of ea248d9c to lmp-mr1-ub-dev
Change-Id: I362ab2e25e3368c71cb1af51cee2e8fb5ce53e61
2015-06-02 16:47:42 -07:00
Nick Kralevich
e587e0c92a am f56bad97: Merge "libc: Add O_PATH support for fgetxattr / fsetxattr" into mnc-dev
* commit 'f56bad974bced86671030b13d99f8ec2f497521e':
  libc: Add O_PATH support for fgetxattr / fsetxattr
2015-06-02 22:21:20 +00:00
Yabin Cui
ea248d9ca8 Merge "Make sys_resource test more robust." into lollipop-cts-dev
automerge: 492a0bf

* commit '492a0bf212973baa1c33d584d57e75395774447f':
  Make sys_resource test more robust.
2015-06-02 22:03:23 +00:00
Nick Kralevich
f56bad974b Merge "libc: Add O_PATH support for fgetxattr / fsetxattr" into mnc-dev 2015-06-02 22:02:43 +00:00
Yabin Cui
492a0bf212 Merge "Make sys_resource test more robust." into lollipop-cts-dev 2015-06-02 22:02:29 +00:00
Yabin Cui
e7ece90b50 Make sys_resource test more robust.
Bug: 19482626

"ulimit -c xxx" command may run before bionic-unit-tests.
Make sure sys_resource test fails gently in that case.

Change-Id: Ic3b5ed8b20acba56df8c5ef082c88e5050e761aa
(cherry picked from commit 4853f40f3fb6664cb1b7af97b6b3e795717026b1)
2015-06-02 14:40:26 -07:00
Dmitriy Ivanov
27b002baef am 11b15b23: Merge "Work around for libraries without dt_soname"
* commit '11b15b23aa6044b1fa2ce89744643a0cc072b348':
  Work around for libraries without dt_soname
2015-06-02 21:30:54 +00:00
Dmitriy Ivanov
719278b5e4 am 38c37d67: Work around for libraries without dt_soname
* commit '38c37d6705f420ecac4146c11d79bee6e0ca8a03':
  Work around for libraries without dt_soname
2015-06-02 21:30:11 +00:00
Dmitriy Ivanov
11b15b23aa Merge "Work around for libraries without dt_soname" 2015-06-02 21:09:41 +00:00
Dmitriy Ivanov
75108f4f83 Work around for libraries without dt_soname
Applies only for apps targeting sdk version <= 22

Bug: http://b/21565766
Change-Id: If0bf2229dc1341e9ca09f9a05d0890515273d5a2
(cherry picked from commit 38c37d6705f420ecac4146c11d79bee6e0ca8a03)
2015-06-02 14:02:22 -07:00
Dmitriy Ivanov
38c37d6705 Work around for libraries without dt_soname
Applies only for apps targeting sdk version <= 22

Bug: http://b/21565766
Change-Id: If0bf2229dc1341e9ca09f9a05d0890515273d5a2
2015-06-02 13:45:15 -07:00
Nick Kralevich
c92f9f8069 libc: Add O_PATH support for fgetxattr / fsetxattr
Support O_PATH file descriptors when handling fgetxattr and fsetxattr.
This avoids requiring file read access to pull extended attributes.

This is needed to support O_PATH file descriptors when calling
SELinux's fgetfilecon() call. In particular, this allows the querying
and setting of SELinux file context by using something like the following
code:

  int dirfd = open("/path/to/dir", O_DIRECTORY);
  int fd = openat(dirfd, "file", O_PATH | O_NOFOLLOW);
  char *context;
  fgetfilecon(fd, &context);

This change was motivated by a comment in
https://android-review.googlesource.com/#/c/152680/1/toys/posix/ls.c

(cherrypicked from commit 2825f10b7f61558c264231a536cf3affc0d84204)

Change-Id: Ic0cdf9f9dd0e35a63b44a4c4a08400020041eddf
2015-06-02 10:08:05 -07:00
Dmitriy Ivanov
8d67a598c5 am c4ebe60e: Fix dlsym(handle_of_main_executable, ...)
* commit 'c4ebe60e1a2fc165ff11442765325628e27f2a05':
  Fix dlsym(handle_of_main_executable, ...)
2015-06-02 14:22:58 +00:00
Dmitriy Ivanov
4af36c8d99 am ef55f967: Merge "Fix dlsym(handle_of_main_executable, ...)"
* commit 'ef55f967234f160a4e00a51ca53377fadd17715d':
  Fix dlsym(handle_of_main_executable, ...)
2015-06-02 00:11:05 +00:00
Dmitriy Ivanov
c4ebe60e1a Fix dlsym(handle_of_main_executable, ...)
According to man dlopen(3) and posix docs in the case when si is handle
  of the main executable we need to search not only in the executable and its
  dependencies but also in all libraries loaded with RTLD_GLOBAL.

  see also: http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlopen.html

Bug: http://b/21528224
Bug: http://b/17512583
Bug: https://code.google.com/p/android/issues/detail?id=173822
Change-Id: Ib2801367ba48b6f3704da89a6d9f5e6911430013
(cherry picked from commit f439b5a3186ca0fef1092f45770abc716da9d87a)
2015-06-01 16:57:33 -07:00
Dmitriy Ivanov
ef55f96723 Merge "Fix dlsym(handle_of_main_executable, ...)" 2015-06-01 23:51:24 +00:00
Nick Kralevich
1c9347866f am e7deb145: Merge "libc: Add O_PATH support for fgetxattr / fsetxattr"
* commit 'e7deb145c66cc3434bf0f499de20b2c9d66cb2db':
  libc: Add O_PATH support for fgetxattr / fsetxattr
2015-06-01 23:42:37 +00:00
Dan Albert
0c4314b658 am c5e02eeb: Cleanup ftruncate negative test.
* commit 'c5e02eeb353c3cdd357413f563701d5018fc76a5':
  Cleanup ftruncate negative test.
2015-06-01 23:21:38 +00:00
Dan Albert
654c28e0a3 am 5f3e19db: (-s ours) Fix error handling for negative size in ftruncate.
* commit '5f3e19dbbeb851fff5cf7f9869d344feca479413':
  Fix error handling for negative size in ftruncate.
2015-06-01 23:21:37 +00:00
Nick Kralevich
e7deb145c6 Merge "libc: Add O_PATH support for fgetxattr / fsetxattr" 2015-06-01 23:16:14 +00:00
Nick Kralevich
2825f10b7f libc: Add O_PATH support for fgetxattr / fsetxattr
Support O_PATH file descriptors when handling fgetxattr and fsetxattr.
This avoids requiring file read access to pull extended attributes.

This is needed to support O_PATH file descriptors when calling
SELinux's fgetfilecon() call. In particular, this allows the querying
and setting of SELinux file context by using something like the following
code:

  int dirfd = open("/path/to/dir", O_DIRECTORY);
  int fd = openat(dirfd, "file", O_PATH | O_NOFOLLOW);
  char *context;
  fgetfilecon(fd, &context);

This change was motivated by a comment in
https://android-review.googlesource.com/#/c/152680/1/toys/posix/ls.c

Change-Id: Ic0cdf9f9dd0e35a63b44a4c4a08400020041eddf
2015-06-01 15:51:56 -07:00
Dmitriy Ivanov
f439b5a318 Fix dlsym(handle_of_main_executable, ...)
According to man dlopen(3) and posix docs in the case when si is handle
  of the main executable we need to search not only in the executable and its
  dependencies but also in all libraries loaded with RTLD_GLOBAL.

  see also: http://pubs.opengroup.org/onlinepubs/9699919799/functions/dlopen.html

Bug: http://b/21528224
Bug: http://b/17512583
Bug: https://code.google.com/p/android/issues/detail?id=173822
Change-Id: Ib2801367ba48b6f3704da89a6d9f5e6911430013
2015-06-01 14:33:43 -07:00
Dan Albert
944d901cfd am ef607cda: Merge "Cleanup ftruncate negative test."
* commit 'ef607cdae24363c5e6b6fc72607a4cff78623851':
  Cleanup ftruncate negative test.
2015-06-01 20:45:10 +00:00
Dan Albert
c5e02eeb35 Cleanup ftruncate negative test.
Addresses post-submit comments from
I54692ab8105dd09db6af7a2c0894a17bdd118aa0.

Bug: http://b/21309901
Change-Id: Ie19ee8cdcc4055a65fe7dfc103156e54eafe8977
(cherry picked from commit 9d476a02e9a14e847669a6683c585028175aa322)
2015-06-01 13:24:36 -07:00
Dan Albert
ef607cdae2 Merge "Cleanup ftruncate negative test." 2015-06-01 20:24:15 +00:00
Dan Albert
9d476a02e9 Cleanup ftruncate negative test.
Addresses post-submit comments from
I54692ab8105dd09db6af7a2c0894a17bdd118aa0.

Bug: http://b/21309901
Change-Id: Ie19ee8cdcc4055a65fe7dfc103156e54eafe8977
2015-06-01 13:22:57 -07:00
Dan Albert
5f3e19dbbe Fix error handling for negative size in ftruncate.
Bug: 21309901
Change-Id: I54692ab8105dd09db6af7a2c0894a17bdd118aa0
(cherry picked from commit c05554ec5c9aff5e0f1e83de9bb62c3569eecca2)
2015-06-01 11:28:13 -07:00
Elliott Hughes
a673ad06c8 am d7089168: Merge "[MIPS] Do not use compact branches until GDB supports them"
* commit 'd70891687d742414d457e41a998726e5eb0a09bd':
  [MIPS] Do not use compact branches until GDB supports them
2015-05-29 05:01:57 +00:00
Elliott Hughes
d70891687d Merge "[MIPS] Do not use compact branches until GDB supports them" 2015-05-29 04:39:24 +00:00
Dmitriy Ivanov
e5744bb553 am 55115510: Merge "Improve some of error/warning messages"
* commit '5511551009c5b8b7495af8278ffe914d4a8147b1':
  Improve some of error/warning messages
2015-05-29 00:04:53 +00:00
Dmitriy Ivanov
d5dd23ad09 am 6c2dba86: Merge "Work around incorrect dt_needed entries"
* commit '6c2dba8651f8cf9e406a5c7879fbaee1b0f29980':
  Work around incorrect dt_needed entries
2015-05-29 00:04:52 +00:00
Dmitriy Ivanov
9843fdd82b am ca10ac6d: Improve some of error/warning messages
* commit 'ca10ac6dd45f73752e8822fee606d83116a5721a':
  Improve some of error/warning messages
2015-05-28 23:29:27 +00:00
Dmitriy Ivanov
87298989ea am 4a7c3af0: Work around incorrect dt_needed entries
* commit '4a7c3af054fdb525c8e458434f57f20696f43e31':
  Work around incorrect dt_needed entries
2015-05-28 23:29:26 +00:00
Dmitriy Ivanov
ca10ac6dd4 Improve some of error/warning messages
Bug: http://b/20464031
Change-Id: I948141c46f9e054fc45f5934153dee56ce3cd558
(cherry picked from commit 087005f37e02b48809746947159d824493885b1e)
2015-05-28 15:28:41 -07:00
Dmitriy Ivanov
5511551009 Merge "Improve some of error/warning messages" 2015-05-28 22:28:13 +00:00
Dmitriy Ivanov
4a7c3af054 Work around incorrect dt_needed entries
This applies for apps targeting sdk<=22 and
  only for lp32 platforms.

Bug: http://b/21364029
Change-Id: I903e81c9ccda2a8beaba1d132d68c77d30a4cdb2
(cherry picked from commit d974e8804689058714dc4fe9adcb57ee9a6996a8)
2015-05-28 15:25:55 -07:00
Dmitriy Ivanov
6c2dba8651 Merge "Work around incorrect dt_needed entries" 2015-05-28 22:25:15 +00:00
Dmitriy Ivanov
d974e88046 Work around incorrect dt_needed entries
This applies for apps targeting sdk<=22 and
  only for lp32 platforms.

Bug: http://b/21364029
Change-Id: I903e81c9ccda2a8beaba1d132d68c77d30a4cdb2
2015-05-28 14:56:42 -07:00
Dmitriy Ivanov
087005f37e Improve some of error/warning messages
Bug: http://b/20464031
Change-Id: I948141c46f9e054fc45f5934153dee56ce3cd558
2015-05-28 11:44:31 -07:00
Dmitriy Ivanov
656d176157 am d8ead181: Add functions to provide target sdk version
* commit 'd8ead18145cba98fdc7256f9a0e69b8c1c90cd1c':
  Add functions to provide target sdk version
2015-05-27 23:50:05 +00:00
Dmitriy Ivanov
d8ead18145 Add functions to provide target sdk version
Bug: http://b/21364029
Change-Id: I8648d1bff6c8fd6e7cd12da7f128e048b9f2829a
(cherry picked from commit 79fd668bb4ddb22432eeda2ebd8d10359013d9a8)
2015-05-27 16:20:16 -07:00
Dmitriy Ivanov
80eded99d3 am d717b1a3: Merge "Add functions to provide target sdk version"
* commit 'd717b1a3e55db9b7625a46bec950e856cc107951':
  Add functions to provide target sdk version
2015-05-27 23:14:48 +00:00
Dmitriy Ivanov
d717b1a3e5 Merge "Add functions to provide target sdk version" 2015-05-27 22:44:28 +00:00
Dmitriy Ivanov
79fd668bb4 Add functions to provide target sdk version
Bug: http://b/21364029
Change-Id: I8648d1bff6c8fd6e7cd12da7f128e048b9f2829a
2015-05-27 14:31:36 -07:00
Simon Baldwin
6fbb7cf4a9 am 560aacee: Merge "Fix unit tests, and extend for other architectures"
* commit '560aacee84ecfd1aa8983d0ab58b81fbbe34911d':
  Fix unit tests, and extend for other architectures
2015-05-27 17:09:45 +00:00
Simon Baldwin
560aacee84 Merge "Fix unit tests, and extend for other architectures" 2015-05-27 16:42:38 +00:00
Simon Baldwin
1011e1a402 Fix unit tests, and extend for other architectures
On unpacking, reinstate any p_align values that packing reduced to
page size.  Ensures a round-trip pack and unpack is bit-equivalent
to the original input.
https://android-review.googlesource.com/#/c/148492/

Extend unit tests to include ia32, x64, and mips32.

Recreate test data for arm32 and arm64.  Generate new test data for
ia32, x64, and mips32.

Bug: http://b/20687795
Bug: http://b/18051137
Change-Id: Ifbca8e206ef447297ba4f19272b813702be27a35
2015-05-27 13:20:00 +01:00
Dmitriy Ivanov
68da29608b am fad15145: Merge "Remove LOCAL_CONLY_FLAGS it is no-op."
* commit 'fad15145f8ee28be45cf2c870d3b87f22a2f07c3':
  Remove LOCAL_CONLY_FLAGS it is no-op.
2015-05-26 21:21:30 +00:00
Dmitriy Ivanov
fad15145f8 Merge "Remove LOCAL_CONLY_FLAGS it is no-op." 2015-05-26 20:56:37 +00:00
Dmitriy Ivanov
41c99cdbb9 Remove LOCAL_CONLY_FLAGS it is no-op.
Change-Id: Ib52b85d176dc9d46d7550f01537b2635e873d6ad
2015-05-26 11:38:59 -07:00
Nikola Veljkovic
3cec6eca92 [MIPS] Do not use compact branches until GDB supports them
GDB does not yet have support for compact branches, and is not able
to set a breakpoint on rtld_db_dlactivity(), which is compiled into
one JIC instruction. Unfortunately, We cannot turn off generation of
JIC compact branch. Instead, add unoptimized FP handling code, so GDB
will have something to land on.

Change-Id: Iddcf40ec018972398179018d049b8323fcd258b7
2015-05-25 16:28:14 +02:00
Dmitriy Ivanov
bd1d447821 am 15309fde: Fix RTLD_NEXT lookup for the local_group
* commit '15309fde91b3989a1af139db422acf68e16a9258':
  Fix RTLD_NEXT lookup for the local_group
2015-05-22 22:45:39 +00:00
Dmitriy Ivanov
e0e07a9f96 am aaafbe12: Merge "Fix RTLD_NEXT lookup for the local_group"
* commit 'aaafbe128f51dff92da3cf4f5fc9b47f04f05261':
  Fix RTLD_NEXT lookup for the local_group
2015-05-22 22:36:32 +00:00
Dmitriy Ivanov
15309fde91 Fix RTLD_NEXT lookup for the local_group
Linker used to skip RTLD_NEXT within local_group when
  caller->next is nullptr (which represents load order
  but not the order within local_group dependency tree)

Bug: http://b/21380474
Change-Id: I178fc4657b19bceb871635b177c1df67855b1708
(cherry picked from commit b96ac41b32e61799c48f3fd07831cc168b95068d)
2015-05-22 15:24:13 -07:00
Dmitriy Ivanov
aaafbe128f Merge "Fix RTLD_NEXT lookup for the local_group" 2015-05-22 22:22:22 +00:00
Dmitriy Ivanov
b96ac41b32 Fix RTLD_NEXT lookup for the local_group
Linker used to skip RTLD_NEXT within local_group when
  caller->next is nullptr (which represents load order
  but not the order within local_group dependency tree)

Bug: http://b/21380474
Change-Id: I178fc4657b19bceb871635b177c1df67855b1708
2015-05-22 19:46:11 +00:00
Dan Albert
4ee60d1c4f am ffe01a3d: Merge "Fix error handling for negative size in ftruncate."
* commit 'ffe01a3de62d17cbe1cdf3b40a91d1ac9a9d36b5':
  Fix error handling for negative size in ftruncate.
2015-05-21 21:03:17 +00:00
Dan Albert
ffe01a3de6 Merge "Fix error handling for negative size in ftruncate." 2015-05-21 20:41:25 +00:00
Yabin Cui
2737227842 am 4fc106d3: Merge "Fix pthread_attr_getstack__main_thread failure on glibc."
* commit '4fc106d34b70da868d194e8a0f0a3cddd1f4c22d':
  Fix pthread_attr_getstack__main_thread failure on glibc.
2015-05-20 23:16:02 +00:00
Yabin Cui
4fc106d34b Merge "Fix pthread_attr_getstack__main_thread failure on glibc." 2015-05-20 22:52:38 +00:00
Yabin Cui
b042c78e36 am c15a9352: am fd20a8c2: resolved conflicts for merge of 473d96c0 to lmp-mr1-ub-dev
* commit 'c15a935202319a41ee0be94afcdbde1d07568ec8':
  Fix timer flaky test in lollipop-mr1-cts-dev.
2015-05-20 22:12:31 +00:00
Yabin Cui
c15a935202 am fd20a8c2: resolved conflicts for merge of 473d96c0 to lmp-mr1-ub-dev
* commit 'fd20a8c2d669b3f2d63e2d33a32b90d1b7f17b82':
  Fix timer flaky test in lollipop-mr1-cts-dev.
2015-05-20 21:48:09 +00:00
Yabin Cui
b0c6f2dba2 Fix pthread_attr_getstack__main_thread failure on glibc.
Move test of bionic specific implementation into bionic ifdef.

Bug: 19805726
Change-Id: Idf369b16e7f41f060c75b0aaf34e05cf3c161aa9
2015-05-20 14:41:15 -07:00
Dan Albert
c05554ec5c Fix error handling for negative size in ftruncate.
Bug: 21309901
Change-Id: I54692ab8105dd09db6af7a2c0894a17bdd118aa0
2015-05-20 14:20:33 -07:00
Yabin Cui
fd20a8c2d6 resolved conflicts for merge of 473d96c0 to lmp-mr1-ub-dev
Change-Id: I48269218b152054d527d9257d40490b54205140f
2015-05-20 13:36:56 -07:00
Yabin Cui
369208d597 am 7490c5c5: Hide rt_sigqueueinfo.
* commit '7490c5c5944391e99bc6c3564bce03d3cd4a39e0':
  Hide rt_sigqueueinfo.
2015-05-18 21:10:25 +00:00
Yabin Cui
1e63d31e77 am c02bdc76: Merge "Hide rt_sigqueueinfo."
* commit 'c02bdc76a21f6149c7867982e66ab16982e01c1b':
  Hide rt_sigqueueinfo.
2015-05-18 20:46:23 +00:00
Yabin Cui
7490c5c594 Hide rt_sigqueueinfo.
Bug: 19358804
Change-Id: I38a53ad64c81d0eefdd1d24599e769fd8a477a56
(cherry picked from commit 40a8f214a5264efe5feaaffd55cea67fb87d097b)
2015-05-18 13:34:51 -07:00
Yabin Cui
c02bdc76a2 Merge "Hide rt_sigqueueinfo." 2015-05-18 20:29:44 +00:00
Yabin Cui
40a8f214a5 Hide rt_sigqueueinfo.
Bug: 19358804
Change-Id: I38a53ad64c81d0eefdd1d24599e769fd8a477a56
2015-05-18 11:29:20 -07:00
Yabin Cui
f18a9f9662 am 2b5c2285: Remove pthread_detach_no_leak test.
* commit '2b5c2285c0679190b90b954d5e71f7ee8698adba':
  Remove pthread_detach_no_leak test.
2015-05-18 17:56:14 +00:00
Yabin Cui
2b5c2285c0 Remove pthread_detach_no_leak test.
This test has lost its purpose as we are using mmap/munmap for pthread_internal_t. And it is a flaky test.

Bug: 21205574
Bug: 20860440
Change-Id: I7cbb6bc3fd8a2ca430415beab5ee27a856ce4ea7
(cherry picked from commit 2957cc5f1043adf0b9c0f1cdfff2d408952e40f5)
2015-05-18 10:31:20 -07:00
Dmitriy Ivanov
75b7b39e9f am 8557eeb0: Merge "Apply work around b/19059885 to x86" into mnc-dev
* commit '8557eeb0add011ff37edc86f50f423ce681eeb2b':
  Apply work around b/19059885 to x86
2015-05-16 17:19:01 +00:00
Dmitriy Ivanov
dae8ad3da0 am a42b5bcd: Merge "Apply work around b/19059885 to x86"
* commit 'a42b5bcd896daa83b479e7964c0fa8cf1abf5a1d':
  Apply work around b/19059885 to x86
2015-05-16 17:12:03 +00:00
Dmitriy Ivanov
8557eeb0ad Merge "Apply work around b/19059885 to x86" into mnc-dev 2015-05-16 16:57:16 +00:00
Dmitriy Ivanov
a42b5bcd89 Merge "Apply work around b/19059885 to x86" 2015-05-16 16:56:49 +00:00
Dmitriy Ivanov
9185e04f72 Apply work around b/19059885 to x86
Bug: http://b/19059885
Bug: http://b/21203348
Change-Id: Ic375e9f877d68de8f866d17362879a7dde638465
(cherry picked from commit 69a5fb951d69689dedd83cb033ae3dcd0ef05b65)
2015-05-15 18:42:14 -07:00
Dmitriy Ivanov
69a5fb951d Apply work around b/19059885 to x86
Bug: http://b/19059885
Bug: http://b/21203348
Change-Id: Ic375e9f877d68de8f866d17362879a7dde638465
2015-05-15 18:39:16 -07:00
Chih-Hung Hsieh
dea8937f90 am 43850d19: Use unified syntax to compile with both llvm and gcc.
* commit '43850d19f422d4850bebf765607e4f4d4b99df2e':
  Use unified syntax to compile with both llvm and gcc.
2015-05-16 00:21:18 +00:00
Chih-Hung Hsieh
11ebac5e01 resolved conflicts for merge of 22c21c6b to mnc-dev-plus-aosp
Change-Id: I8a3c79c441ec8d1002f20c9d55bffaa5efa01d14
2015-05-15 17:18:22 -07:00
Elliott Hughes
5f13fa2239 am fa7ba622: Don\'t use TEMP_FAILURE_RETRY on close in bionic.
* commit 'fa7ba6227f918dadca787a78ed3269bf86fd234d':
  Don't use TEMP_FAILURE_RETRY on close in bionic.
2015-05-15 23:40:08 +00:00
Elliott Hughes
1d8336d037 am 882283e9: Merge "Don\'t use TEMP_FAILURE_RETRY on close in bionic."
* commit '882283e9e2e64e596f1a244fa25d3586b2dea4da':
  Don't use TEMP_FAILURE_RETRY on close in bionic.
2015-05-15 23:39:38 +00:00
Chih-Hung Hsieh
43850d19f4 Use unified syntax to compile with both llvm and gcc.
All arch-arm and arch-arm64 .S files were compiled
by gcc with and without this patch. The output object files
were identical. When compiled with llvm and this patch,
the output files were also identical to gcc's output.

BUG: 18061004
Change-Id: I458914d512ddf5496e4eb3d288bf032cd526d32b
(cherry picked from commit 33f33515b503b634d9fbc57dda7123ea9cf23fc6)
2015-05-15 16:29:10 -07:00
Chih-Hung Hsieh
22c21c6b4e Fix opcode to compile with both gcc and llvm.
BUG: 17302991

Change-Id: I31febd9ad24312388068803ce247b295bd73b607
(cherry picked from commit 0a93df369cf3f44d40ca1f0cb4a58aeab42fb39c)
2015-05-15 16:28:38 -07:00
Elliott Hughes
fa7ba6227f Don't use TEMP_FAILURE_RETRY on close in bionic.
Bug: http://b/20501816
Change-Id: Id64b5109cc2b165fa0351b6edbb865a5e5058008
(cherry picked from commit 4e8ef698d0d76be3f8d75de32701e6e6327c1fbd)
2015-05-15 16:24:33 -07:00
Elliott Hughes
882283e9e2 Merge "Don't use TEMP_FAILURE_RETRY on close in bionic." 2015-05-15 23:24:12 +00:00
Elliott Hughes
4e8ef698d0 Don't use TEMP_FAILURE_RETRY on close in bionic.
Bug: http://b/20501816
Change-Id: Id64b5109cc2b165fa0351b6edbb865a5e5058008
2015-05-15 16:20:07 -07:00
Dmitriy Ivanov
ad41d7f76b am ff407803: Remove -z global workaround for target x86
* commit 'ff407803dbbee26ab19c02aaece0e75c019534c4':
  Remove -z global workaround for target x86
2015-05-15 20:10:33 +00:00
Dmitriy Ivanov
408023a498 am 1d52b8b0: Merge "Remove -z global workaround for target x86"
* commit '1d52b8b07c327a6ef4936a7b9b08ddd4ee85002e':
  Remove -z global workaround for target x86
2015-05-15 18:05:43 +00:00
Dmitriy Ivanov
ff407803db Remove -z global workaround for target x86
Change-Id: I08e75a1c7437c97e4af59316d2c14c7fa3f65e03
(cherry picked from commit 933332462d37dfa121fa691095cdce218a0139bf)
2015-05-15 10:30:47 -07:00
Dmitriy Ivanov
1d52b8b07c Merge "Remove -z global workaround for target x86" 2015-05-15 17:30:02 +00:00
John Reck
1a7a109409 am b00c23a8: Merge "Fix regression in crash reporting"
* commit 'b00c23a8dbc285673a4124797f8224f42082fd5a':
  Fix regression in crash reporting
2015-05-15 16:57:03 +00:00
John Reck
9f2ae81510 am d7ad443c: Fix regression in crash reporting
* commit 'd7ad443cfd4e1315cdf45210bc94bb68e0564b8f':
  Fix regression in crash reporting
2015-05-15 16:37:57 +00:00
John Reck
b00c23a8db Merge "Fix regression in crash reporting" 2015-05-15 16:29:42 +00:00
John Reck
e77e335b54 Fix regression in crash reporting
Bug: 19532651

Partial revert of be0e43b77676338fd5e6a82c9cc2b6302d579de2

Change-Id: I99e220328aff985facb920ebcd84ac1a016759b5
(cherry picked from commit d7ad443cfd4e1315cdf45210bc94bb68e0564b8f)
2015-05-15 09:28:10 -07:00
John Reck
d7ad443cfd Fix regression in crash reporting
Bug: 19532651

Partial revert of be0e43b77676338fd5e6a82c9cc2b6302d579de2

Change-Id: I99e220328aff985facb920ebcd84ac1a016759b5
2015-05-15 07:48:33 -07:00
Dmitriy Ivanov
933332462d Remove -z global workaround for target x86
Change-Id: I08e75a1c7437c97e4af59316d2c14c7fa3f65e03
2015-05-14 21:28:21 -07:00
Spencer Low
8c5509ee5a am 2a44cfbd: ScopedFd: Don\'t use TEMP_FAILURE_RETRY() with close()
* commit '2a44cfbd7d64596795836e9ae6f6c642869d6d78':
  ScopedFd: Don't use TEMP_FAILURE_RETRY() with close()
2015-05-14 01:45:59 +00:00
Elliott Hughes
f12a2d6708 am 0378d8f6: Merge "ScopedFd: Don\'t use TEMP_FAILURE_RETRY() with close()"
* commit '0378d8f65126b2d94c731f2719a68773e370f615':
  ScopedFd: Don't use TEMP_FAILURE_RETRY() with close()
2015-05-14 00:48:29 +00:00
Spencer Low
2a44cfbd7d ScopedFd: Don't use TEMP_FAILURE_RETRY() with close()
According to the comments in Posix_close(), TEMP_FAILURE_RETRY() should
not be used with close():

462bdac45c%5E%21/#F12

Kill ScopedFd by simplifying the single caller.

Bug: http://b/20501816
Change-Id: I248c40b8c2fc95f1938a6edfc245c81847fc44af
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
(cherry picked from commit 0346ad7a4fb6e253317577ee8b9cc79d958f4349)
2015-05-13 17:47:08 -07:00
Elliott Hughes
0378d8f651 Merge "ScopedFd: Don't use TEMP_FAILURE_RETRY() with close()" 2015-05-14 00:27:46 +00:00
Elliott Hughes
8ba08b634c am 706eafc9: Merge "Fix unused result errors in bionic."
* commit '706eafc9b05b2662e1bf139e678cbc784440cb58':
  Fix unused result errors in bionic.
2015-05-13 21:26:55 +00:00
Elliott Hughes
706eafc9b0 Merge "Fix unused result errors in bionic." 2015-05-13 21:09:42 +00:00
Spencer Low
0346ad7a4f ScopedFd: Don't use TEMP_FAILURE_RETRY() with close()
According to the comments in Posix_close(), TEMP_FAILURE_RETRY() should
not be used with close():

462bdac45c%5E%21/#F12

Kill ScopedFd by simplifying the single caller.

Change-Id: I248c40b8c2fc95f1938a6edfc245c81847fc44af
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2015-05-13 13:27:11 -07:00
Elliott Hughes
c217373bd6 Fix unused result errors in bionic.
This lets us use _FORTIFY_SOURCE=2 on the host.

Change-Id: I69f5ff9834bfd595aae6584104bee10c4d8a5eeb
2015-05-13 13:18:04 -07:00
Dmitriy Ivanov
25f9d52810 am fe77d2d0: Merge "Improved dlsym tests and fixes to linker"
* commit 'fe77d2d0036306eec978eccf7b4db81fa424a2f3':
  Improved dlsym tests and fixes to linker
2015-05-13 15:52:28 +00:00
Elliott Hughes
1d6e8f4345 am d0763ba0: Merge "Update NOTICE files (the second time today)."
* commit 'd0763ba07693ec1d56f94e53e615eb4d7019eefa':
  Update NOTICE files (the second time today).
2015-05-13 15:42:00 +00:00
Elliott Hughes
ebd4fc9328 resolved conflicts for merge of 3ff027e5 to mnc-dev-plus-aosp
Change-Id: I2ed217729d8f0d60f9e8e21735bb0a070b6a813f
2015-05-13 08:39:55 -07:00
Elliott Hughes
5a9ab18d94 am 8a330cad: Merge "Simplify three copyright headers."
* commit '8a330cad8db512f5119251f55ac7bf606c552ed0':
  Simplify three copyright headers.
2015-05-13 15:22:09 +00:00
Dmitriy Ivanov
e598be94de am 4bac6ea4: Improved dlsym tests and fixes to linker
* commit '4bac6ea463a8f20793f5c1425965729ded1419fe':
  Improved dlsym tests and fixes to linker
2015-05-12 21:09:22 +00:00
Dmitriy Ivanov
4bac6ea463 Improved dlsym tests and fixes to linker
Answers the question: what if dependent library
 was preloaded with RTLD_LOCAL flag.

 Also add test for RTLD_NEXT within local_group.

Bug: http://b/17512583
Change-Id: I79e081e68b3a8c0ed8980d4275a06515fea94ec9
(cherry picked from commit 697bd9fd38ab078a117ad9a5777cf286c467b9b9)
2015-05-12 13:49:13 -07:00
Dmitriy Ivanov
fe77d2d003 Merge "Improved dlsym tests and fixes to linker" 2015-05-12 20:48:17 +00:00
Dmitriy Ivanov
697bd9fd38 Improved dlsym tests and fixes to linker
Answers the question: what if dependent library
 was preloaded with RTLD_LOCAL flag.

 Also add test for RTLD_NEXT within local_group.

Bug: http://b/17512583
Change-Id: I79e081e68b3a8c0ed8980d4275a06515fea94ec9
2015-05-12 13:46:40 -07:00
Elliott Hughes
898685ffd2 am 9cde1dc0: Update NOTICE files (the second time today).
* commit '9cde1dc007c0965c7fd2a63d759e80627ee88f0f':
  Update NOTICE files (the second time today).
2015-05-12 18:10:50 +00:00
Elliott Hughes
fe20ea1547 am dd57029e: Simplify three copyright headers.
* commit 'dd57029ed1dfc9cd3116d3797c40d92d5310594e':
  Simplify three copyright headers.
2015-05-12 17:54:48 +00:00
Elliott Hughes
e38f97ade7 am 97139e6a: Merge "Update NOTICE files." into mnc-dev
* commit '97139e6adc255460a1b12e3ccc7b425d11e05eb1':
  Update NOTICE files.
2015-05-12 17:54:47 +00:00
Elliott Hughes
9cde1dc007 Update NOTICE files (the second time today).
Change-Id: Ifb031d29ee697ee0682bd651e0081493e8016e67
(cherry picked from commit f58ac87182da214c7cdd697a4fa09aeb7b995305)
2015-05-12 10:52:52 -07:00
Elliott Hughes
d0763ba076 Merge "Update NOTICE files (the second time today)." 2015-05-12 17:47:05 +00:00
Elliott Hughes
f58ac87182 Update NOTICE files (the second time today).
Change-Id: Ifb031d29ee697ee0682bd651e0081493e8016e67
2015-05-12 10:44:37 -07:00
Elliott Hughes
3ff027e550 Merge "Update NOTICE files." 2015-05-12 17:43:46 +00:00
Elliott Hughes
dd57029ed1 Simplify three copyright headers.
There's no reason to have multiple years in our own copyright headers,
and given the stupidity of our NOTICE file generation, it just creates
more junk.

Change-Id: I065a3811c2e2584e3b649a18ad9460286bc72b92
(cherry picked from commit c69ace87ec110a91005bdf19dbafeb355f399c06)
2015-05-12 10:34:22 -07:00
Elliott Hughes
7e54c762fc Update NOTICE files.
(cherry-pick of f0bd92db8966b04062fda0986dacf80891e1a378.)
Change-Id: I4e170118abf452dd87ffe79d343ba1e2b53955de
2015-05-12 10:33:20 -07:00
Elliott Hughes
97139e6adc Merge "Update NOTICE files." into mnc-dev 2015-05-12 17:29:25 +00:00
Elliott Hughes
8a330cad8d Merge "Simplify three copyright headers." 2015-05-12 17:27:04 +00:00
Elliott Hughes
c69ace87ec Simplify three copyright headers.
There's no reason to have multiple years in our own copyright headers,
and given the stupidity of our NOTICE file generation, it just creates
more junk.

Change-Id: I065a3811c2e2584e3b649a18ad9460286bc72b92
2015-05-12 10:10:01 -07:00
Elliott Hughes
f0bd92db89 Update NOTICE files.
Change-Id: I4e170118abf452dd87ffe79d343ba1e2b53955de
2015-05-12 10:09:01 -07:00
Chih-Hung Hsieh
2e956c1a26 am 972d7fe6: Merge "Use unified syntax to compile with both llvm and gcc."
* commit '972d7fe63a2e0636b070bec266479c27e0bb8c5f':
  Use unified syntax to compile with both llvm and gcc.
2015-05-12 04:50:28 +00:00
Chih-Hung Hsieh
972d7fe63a Merge "Use unified syntax to compile with both llvm and gcc." 2015-05-12 04:31:10 +00:00
Chih-Hung Hsieh
33f33515b5 Use unified syntax to compile with both llvm and gcc.
All arch-arm and arch-arm64 .S files were compiled
by gcc with and without this patch. The output object files
were identical. When compiled with llvm and this patch,
the output files were also identical to gcc's output.

BUG: 18061004
Change-Id: I458914d512ddf5496e4eb3d288bf032cd526d32b
2015-05-11 17:15:03 -07:00
Elliott Hughes
06d3a9c7dd am c9310266: Merge "Fix various bugs in the check-symbols script."
* commit 'c9310266dcdd65e4c5a55ab85d2f9e67a52750bf':
  Fix various bugs in the check-symbols script.
2015-05-11 20:47:29 +00:00
Elliott Hughes
c9310266dc Merge "Fix various bugs in the check-symbols script." 2015-05-11 20:28:57 +00:00
Elliott Hughes
ec738d9494 Fix various bugs in the check-symbols script.
It had bitrotted away during the last release cycle.

Change-Id: I20f0a3b409af4530b81f26299bef9de01530c9fd
2015-05-11 12:10:40 -07:00
Yabin Cui
473d96c0a8 Merge "Fix timer flaky test in lollipop-mr1-cts-dev." into lollipop-mr1-cts-dev 2015-05-09 00:07:45 +00:00
Andres Morales
e5c9a8e4cf am 75f2dfca: Merge "remove rootdir build.prop"
* commit '75f2dfca653dd57b6f65bf898ec4f45d87d18926':
  remove rootdir build.prop
2015-05-08 22:30:17 +00:00
Andres Morales
75f2dfca65 Merge "remove rootdir build.prop" 2015-05-08 22:13:44 +00:00
Andres Morales
4e8cda641a remove rootdir build.prop
merge with default.prop

Change-Id: I6cff4527dec2b31bdde42ec26c42ef2782f8deb4
2015-05-08 22:13:15 +00:00
Dmitriy Ivanov
7eb944edee am f7009f45: Switch libc/libcstdc++/libm to hash-style=both
* commit 'f7009f450e596dc76352da7ceefc8caeeb74ff14':
  Switch libc/libcstdc++/libm to hash-style=both
2015-05-08 21:36:45 +00:00
Dmitriy Ivanov
1a31d128b9 am 267f39bf: Merge "Switch libc/libcstdc++/libm to hash-style=both"
* commit '267f39bf63044efe734c82c66f25f9b275a63c0b':
  Switch libc/libcstdc++/libm to hash-style=both
2015-05-08 21:33:57 +00:00
Dmitriy Ivanov
267f39bf63 Merge "Switch libc/libcstdc++/libm to hash-style=both" 2015-05-08 21:07:09 +00:00
Yabin Cui
5c0996a969 Fix timer flaky test in lollipop-mr1-cts-dev.
It is partically cherry-pick from https://android-review.googlesource.com/#/c/123410/.
And as lollipop-mr1-cts-dev still uses stlport, <stdatomic.h> is used instead of <atomic>.

Bug: 20677618
Change-Id: I952a6fd074facc4227c955fecf3ecbfbbaec4193
2015-05-08 13:12:01 -07:00
Dmitriy Ivanov
f7009f450e Switch libc/libcstdc++/libm to hash-style=both
Bug: http://b/19059885
Change-Id: Ie42703d91f291fd689a1cf9c35bcab5c487b9a84
(cherry picked from commit 88e777d6f46709abebab88421e8c4ea7a9e3d9c4)
2015-05-08 12:17:21 -07:00
Dmitriy Ivanov
88e777d6f4 Switch libc/libcstdc++/libm to hash-style=both
Bug: http://b/19059885
Change-Id: Ie42703d91f291fd689a1cf9c35bcab5c487b9a84
2015-05-08 12:06:20 -07:00
Dan Albert
e16e0e75e2 am 11fc3f47: Merge "Apply same URL workaround to clean build."
* commit '11fc3f47afa6c9566875df02f880dc317cb94437':
  Apply same URL workaround to clean build.
2015-05-08 17:36:58 +00:00
Dan Albert
d9d0207d56 am 5040aa4c: Merge changes from topic \'blobs\' into mnc-dev
* commit '5040aa4c393b12ea12fde0fc757995559c0c8e5d':
  Revert "Fix volantis boot."
  Revert "Fix clang build."
  Revert "Try again to fix clang build."
2015-05-08 17:24:10 +00:00
Dan Albert
11fc3f47af Merge "Apply same URL workaround to clean build." 2015-05-08 17:15:31 +00:00
Dan Albert
5040aa4c39 Merge changes from topic 'blobs' into mnc-dev
* changes:
  Revert "Fix volantis boot."
  Revert "Fix clang build."
  Revert "Try again to fix clang build."
2015-05-08 17:01:29 +00:00
Dan Albert
8ffddd1725 am a924d4ba: Merge changes from topic \'volantis-blobs\'
* commit 'a924d4ba2673246087b3b16e343e92ad67aefc71':
  Revert "Fix volantis boot."
  Revert "Fix clang build."
  Revert "Try again to fix clang build."
2015-05-08 16:54:37 +00:00
Andres Morales
bc79ee1d45 am 271f0514: Merge "remove rootdir build.prop" into mnc-dev
* commit '271f05148258bfb539099d02856d884aade86ae4':
  remove rootdir build.prop
2015-05-08 16:40:43 +00:00
Dmitriy Ivanov
d950830406 am f41ed6e5: Add definitions of Elf32_Sxword and ELFXX_R_INFO
* commit 'f41ed6e5490864e625c6c3d05d86e3c490602cad':
  Add definitions of Elf32_Sxword and ELFXX_R_INFO
2015-05-08 16:40:12 +00:00
Dan Albert
6b27e6e8e0 Revert "Fix volantis boot."
Bug: http://b/20065774
This reverts commit 76e1cbca75e9fdaf7a7943f2c58e65433b283f4a.

(cherry picked from commit 7c2c01d681d7f2faa256a263996a35ac3edc94b3)
2015-05-08 09:36:03 -07:00
Dan Albert
20db140181 Revert "Fix clang build."
Bug: http://b/20065774
This reverts commit 0975a5d9d29019e764dc0ab2ddc75759bebffb9b.

(cherry picked from commit 6f0d7005f9bc6d293e5cfcd60c13a6af0ffa99fc)
2015-05-08 09:35:54 -07:00
Dan Albert
6accf55bf3 Revert "Try again to fix clang build."
Bug: http://b/20065774
This reverts commit dffd3c58389103d6ee712fac6544217c00c1f315.

Change-Id: I5dd095ff4ab133baa2afcbd4c79fbee55d05c459
(cherry picked from commit f920f821e27c845d2de54c1c92c3ab74587ed31a)
2015-05-08 09:35:48 -07:00
Dan Albert
a924d4ba26 Merge changes from topic 'volantis-blobs'
* changes:
  Revert "Fix volantis boot."
  Revert "Fix clang build."
  Revert "Try again to fix clang build."
2015-05-08 16:35:13 +00:00
Andres Morales
271f051482 Merge "remove rootdir build.prop" into mnc-dev 2015-05-08 15:00:42 +00:00
Dmitriy Ivanov
d7a6c3d2ae am 7d6b8db2: Merge "Add definitions of Elf32_Sxword and ELFXX_R_INFO"
* commit '7d6b8db28ea4607dbefc25a4f799c4fd1bcc7869':
  Add definitions of Elf32_Sxword and ELFXX_R_INFO
2015-05-08 07:08:27 +00:00
Dmitriy Ivanov
f41ed6e549 Add definitions of Elf32_Sxword and ELFXX_R_INFO
Bug: http://b/17056684
Change-Id: If35302245ac3ab40d1c80fb2b04620778c114f87
(cherry picked from commit ce16a53d393512336f30c21a244afd70b7d57cf6)
2015-05-07 23:49:40 -07:00
Dmitriy Ivanov
7d6b8db28e Merge "Add definitions of Elf32_Sxword and ELFXX_R_INFO" 2015-05-08 06:49:05 +00:00
Dmitriy Ivanov
ce16a53d39 Add definitions of Elf32_Sxword and ELFXX_R_INFO
Bug: http://b/17056684
Change-Id: If35302245ac3ab40d1c80fb2b04620778c114f87
2015-05-07 23:10:16 -07:00
Yabin Cui
86af743d96 am f9eeea6d: Merge "Remove pthread_detach_no_leak test."
* commit 'f9eeea6d6531b0dea837027c7e1f47bec837f311':
  Remove pthread_detach_no_leak test.
2015-05-08 01:59:26 +00:00
Yabin Cui
f9eeea6d65 Merge "Remove pthread_detach_no_leak test." 2015-05-08 01:36:30 +00:00
Yabin Cui
2957cc5f10 Remove pthread_detach_no_leak test.
This test has lost its purpose as we are using mmap/munmap for pthread_internal_t. And it is a flaky test.

Bug: 20860440
Change-Id: I7cbb6bc3fd8a2ca430415beab5ee27a856ce4ea7
2015-05-07 16:53:25 -07:00
Dan Albert
ded34ce94f Apply same URL workaround to clean build.
Change-Id: I63e63f6ffb879f49e36ee2d09821fc6fc47952c8
2015-05-07 16:33:42 -07:00
Andres Morales
d3cea8725f remove rootdir build.prop
merge with default.prop

Change-Id: I6cff4527dec2b31bdde42ec26c42ef2782f8deb4
2015-05-07 15:15:46 -07:00
Dan Albert
7c2c01d681 Revert "Fix volantis boot."
Bug: http://b/20065774
This reverts commit 76e1cbca75e9fdaf7a7943f2c58e65433b283f4a.
2015-05-07 15:12:24 -07:00
Dan Albert
6f0d7005f9 Revert "Fix clang build."
Bug: http://b/20065774
This reverts commit 0975a5d9d29019e764dc0ab2ddc75759bebffb9b.
2015-05-07 15:12:16 -07:00
Dan Albert
f920f821e2 Revert "Try again to fix clang build."
Bug: http://b/20065774
This reverts commit dffd3c58389103d6ee712fac6544217c00c1f315.

Change-Id: I5dd095ff4ab133baa2afcbd4c79fbee55d05c459
2015-05-07 15:11:48 -07:00
Dmitriy Ivanov
d48c8ace18 am dc10b077: Merge "Properly align init/fini_arrays for crtend.o"
* commit 'dc10b077ea52baaa1b7be42eb5d2ba05a8a8c860':
  Properly align init/fini_arrays for crtend.o
2015-05-07 20:21:53 +00:00
Dmitriy Ivanov
174bbdbf9e am af7e806c: Properly align init/fini_arrays for crtend.o
* commit 'af7e806cec7088d5d8e9898c13aaa1bbdc07a082':
  Properly align init/fini_arrays for crtend.o
2015-05-07 20:21:48 +00:00
Dmitriy Ivanov
af7e806cec Properly align init/fini_arrays for crtend.o
Also remove them from crtend_so.o

Bug: http://b/20532404
Change-Id: I56a0f80c4b3a83cf11d28bbf17791ff4ce10c5d2
(cherry picked from commit e543c7612e97c4c0f11143b8fcd2fff46364f936)
2015-05-07 12:56:15 -07:00
Dmitriy Ivanov
dc10b077ea Merge "Properly align init/fini_arrays for crtend.o" 2015-05-07 19:55:25 +00:00
Dmitriy Ivanov
cf8231e7a8 am b3c01d05: Use realpath for log and error messages
* commit 'b3c01d05387e8576edcb0df1ad80a326d1d3a418':
  Use realpath for log and error messages
2015-05-07 19:11:31 +00:00
Dmitriy Ivanov
e543c7612e Properly align init/fini_arrays for crtend.o
Also remove them from crtend_so.o

Bug: http://b/20532404
Change-Id: I56a0f80c4b3a83cf11d28bbf17791ff4ce10c5d2
2015-05-07 11:57:53 -07:00
Dmitriy Ivanov
3ab5146c03 am 9c189418: Merge "Use realpath for log and error messages"
* commit '9c1894186cb33391732a6c33bd08e14d7b43cc89':
  Use realpath for log and error messages
2015-05-07 18:27:19 +00:00
Dmitriy Ivanov
b3c01d0538 Use realpath for log and error messages
Bug: http://b/20885931
Change-Id: Ida8ab7982ca75fa73da13c4cb10a6b2e53bc2c8e
(cherry picked from commit 3edb9182ff2fddfa2d835aab0cad151616f2eac5)
2015-05-07 11:04:28 -07:00
Dmitriy Ivanov
9c1894186c Merge "Use realpath for log and error messages" 2015-05-07 17:55:39 +00:00
Dmitriy Ivanov
3edb9182ff Use realpath for log and error messages
Bug: http://b/20885931
Change-Id: Ida8ab7982ca75fa73da13c4cb10a6b2e53bc2c8e
2015-05-07 10:48:00 -07:00
Dmitriy Ivanov
15eabcc295 am fff06e62: Merge "Move pthread_atfork_dlclose test out of static lib"
* commit 'fff06e624db96f1d876627fa0a122cdf65f41698':
  Move pthread_atfork_dlclose test out of static lib
2015-05-07 16:15:44 +00:00
Dmitriy Ivanov
597fd464de am c95a9e9d: Merge "VersionTracker: Ignore libraries without soname"
* commit 'c95a9e9dad126108a0106844f4d572d4cd4ae103':
  VersionTracker: Ignore libraries without soname
2015-05-07 09:00:10 +00:00
Dmitriy Ivanov
4c95c08bca am a60fd09e: Move pthread_atfork_dlclose test out of static lib
* commit 'a60fd09e2692e17c8bfa210d3cb64b490aea4c9d':
  Move pthread_atfork_dlclose test out of static lib
2015-05-07 05:27:54 +00:00
Dmitriy Ivanov
a60fd09e26 Move pthread_atfork_dlclose test out of static lib
Bug: http://b/20858755
Change-Id: I0d84e8b43dc33902d75af18db6b7c8e0b619d718
(cherry picked from commit 5624a6a1e52ff959b0f88765d38f190700422773)
2015-05-06 16:47:54 -07:00
Dmitriy Ivanov
fff06e624d Merge "Move pthread_atfork_dlclose test out of static lib" 2015-05-06 23:47:22 +00:00
Dmitriy Ivanov
ecc4086032 am f3392791: Merge "Fix protected symbol lookups for mips"
* commit 'f3392791bc0f8f3638a04e15cea893c7c102f3c3':
  Fix protected symbol lookups for mips
2015-05-06 22:55:50 +00:00
Dmitriy Ivanov
a8c31a3f5f am 2c3d8d8b: Merge "Do not adjust PT_GNU_STACK segment"
* commit '2c3d8d8b2c77a2439e324f8ef2369589024f33ed':
  Do not adjust PT_GNU_STACK segment
2015-05-06 22:43:57 +00:00
Dmitriy Ivanov
5624a6a1e5 Move pthread_atfork_dlclose test out of static lib
Bug: http://b/20858755
Change-Id: I0d84e8b43dc33902d75af18db6b7c8e0b619d718
2015-05-06 14:15:28 -07:00
Dmitriy Ivanov
84b973ad42 am 8264afb3: VersionTracker: Ignore libraries without soname
* commit '8264afb37778bea2a3c6e9aa7144f4877401c3f8':
  VersionTracker: Ignore libraries without soname
2015-05-06 19:29:32 +00:00
Dmitriy Ivanov
c95a9e9dad Merge "VersionTracker: Ignore libraries without soname" 2015-05-06 19:06:20 +00:00
Dmitriy Ivanov
406d99665c VersionTracker: Ignore libraries without soname
Bug: http://b/20872443
Change-Id: I7bd076885c1feae39af6ea64c9442bcc5ae5a1dc
(cherry picked from commit 8264afb37778bea2a3c6e9aa7144f4877401c3f8)
2015-05-06 12:04:57 -07:00
Dmitriy Ivanov
8264afb377 VersionTracker: Ignore libraries without soname
Bug: http://b/20872443
Change-Id: I7bd076885c1feae39af6ea64c9442bcc5ae5a1dc
2015-05-06 11:06:32 -07:00
Dmitriy Ivanov
e08840c591 am 456afe24: Fix protected symbol lookups for mips
* commit '456afe24b6460f75b3abc296f8f5885f4d8d907a':
  Fix protected symbol lookups for mips
2015-05-05 23:02:59 +00:00
Dmitriy Ivanov
456afe24b6 Fix protected symbol lookups for mips
Bug: http://b/20694161
Change-Id: I5cc58034f9776e1db9cddc34abe48ef85f6048f4
(cherry picked from commit dbe26fdcc7de503539837467299b96c4a93084cc)
2015-05-05 15:39:42 -07:00
Dmitriy Ivanov
f3392791bc Merge "Fix protected symbol lookups for mips" 2015-05-05 22:39:20 +00:00
Dmitriy Ivanov
dbe26fdcc7 Fix protected symbol lookups for mips
Bug: http://b/20694161
Change-Id: I5cc58034f9776e1db9cddc34abe48ef85f6048f4
2015-05-04 19:30:49 -07:00
Dmitriy Ivanov
2531bd8576 am 064a9800: Do not adjust PT_GNU_STACK segment
* commit '064a9800f372b8efd6d7b08150ab5204e5304c84':
  Do not adjust PT_GNU_STACK segment
2015-05-05 01:24:25 +00:00
Dmitriy Ivanov
2c3d8d8b2c Merge "Do not adjust PT_GNU_STACK segment" 2015-05-04 19:35:51 +00:00
Dmitriy Ivanov
4637f3d66d Do not adjust PT_GNU_STACK segment
Bug: http://b/20687795
Bug: http://b/18051137
Change-Id: Ie8af3892cfbebcc0249e7981284c4ad97ff40317
(cherry picked from commit 064a9800f372b8efd6d7b08150ab5204e5304c84)
2015-05-04 12:34:42 -07:00
Dmitriy Ivanov
064a9800f3 Do not adjust PT_GNU_STACK segment
Bug: http://b/20687795
Bug: http://b/18051137
Change-Id: Ie8af3892cfbebcc0249e7981284c4ad97ff40317
2015-05-04 18:35:43 +00:00
Christopher Ferris
ede9292ca2 am 64a86988: Modify test to avoid race condition. automerge: 3da136a
* commit '64a869880921b7e12d092b3fe7adc68fc74f98c6':
2015-05-04 17:08:06 +00:00
Christopher Ferris
64a8698809 Modify test to avoid race condition.
automerge: 3da136a

* commit '3da136aa47e2d1608b98abb2580f024b36f92831':
  Modify test to avoid race condition.
2015-05-04 16:45:13 +00:00
Dmitriy Ivanov
088d6d6756 am dc145b51: Lookup version info when relocating mips got
* commit 'dc145b510640202a60b0dfaef9d56cd8fc1c05a9':
  Lookup version info when relocating mips got
2015-05-01 23:08:49 +00:00
Dmitriy Ivanov
f5724b6001 am f92a417d: Refactoring: move VersionTracker to link_image
* commit 'f92a417d07d70730fda15d7d98d36968a6a7362e':
  Refactoring: move VersionTracker to link_image
2015-05-01 23:08:48 +00:00
Dmitriy Ivanov
2f77ec14e9 am 7fbd6355: Merge changes I28bd3bc4,I6860013d
* commit '7fbd6355ae809089ae9a62d0c738aea200ac20fe':
  Lookup version info when relocating mips got
  Refactoring: move VersionTracker to link_image
2015-05-01 23:05:20 +00:00
Dmitriy Ivanov
dc145b5106 Lookup version info when relocating mips got
Bug: http://b/20693971
Bug: http://b/20139821
Change-Id: I28bd3bc44dafe048761b2c598facfe20320128c4
(cherry picked from commit f39cb63603da949325b4d186e870d0c3de01eb30)
2015-05-01 15:45:51 -07:00
Dmitriy Ivanov
f92a417d07 Refactoring: move VersionTracker to link_image
Use one instance of VersionTracker per link (instead of 2).

Change-Id: I6860013df65f5969975c82ebdae8bd90a82e0a82
(cherry picked from commit 7e4bbbae4a1e2034e6fa47ac2b0e1e7ca970acf0)
2015-05-01 15:44:50 -07:00
Dmitriy Ivanov
7fbd6355ae Merge changes I28bd3bc4,I6860013d
* changes:
  Lookup version info when relocating mips got
  Refactoring: move VersionTracker to link_image
2015-05-01 22:43:36 +00:00
Neil Fuller
49196ee324 am f6fdb79b: Merge "Update to tzdata 2015d" into mnc-dev
* commit 'f6fdb79b4fe2ff6362e82a0380304ac61654396f':
  Update to tzdata 2015d
2015-05-01 09:19:32 +00:00
Neil Fuller
f6fdb79b4f Merge "Update to tzdata 2015d" into mnc-dev 2015-05-01 08:18:15 +00:00
Dmitriy Ivanov
f39cb63603 Lookup version info when relocating mips got
Bug: http://b/20693971
Bug: http://b/20139821
Change-Id: I28bd3bc44dafe048761b2c598facfe20320128c4
2015-04-30 20:17:03 -07:00
Dmitriy Ivanov
7e4bbbae4a Refactoring: move VersionTracker to link_image
Use one instance of VersionTracker per link (instead of 2).

Change-Id: I6860013df65f5969975c82ebdae8bd90a82e0a82
2015-04-30 19:49:19 -07:00
Dmitriy Ivanov
60b30b4090 Merge commit '114bd835' into manualmerge 2015-04-30 18:25:41 -07:00
Dmitriy Ivanov
4026b5d369 am 788ea593: Merge "Refactoring: extract lookup_version_info(..)"
* commit '788ea593ec27f4bb8600c88d5717a914fe79ed8b':
  Refactoring: extract lookup_version_info(..)
2015-05-01 01:03:05 +00:00
Dmitriy Ivanov
114bd835a7 Refactoring: extract lookup_version_info(..)
Change-Id: I47f9c21a1738dc520fd83281c8227dc3a7e79650
(cherry picked from commit 31b408d2c2e070c35838e7859ca4a4e5eb0c45fc)
2015-04-30 17:42:01 -07:00
Dmitriy Ivanov
788ea593ec Merge "Refactoring: extract lookup_version_info(..)" 2015-05-01 00:40:59 +00:00
Dmitriy Ivanov
31b408d2c2 Refactoring: extract lookup_version_info(..)
Change-Id: I47f9c21a1738dc520fd83281c8227dc3a7e79650
2015-04-30 16:12:32 -07:00
Alan Viverette
7ddbffe6fd Merge branch 'mnc-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into mnc-dev-plus-aosp 2015-04-30 21:21:02 +00:00
Mark Salyzyn
7960fb5600 am 62075bcc: bionic: fortify comments in _system_properties.h
* commit '62075bcc91d60f5269ed6f5b5303662b556a86c4':
  bionic: fortify comments in _system_properties.h
2015-04-30 21:20:41 +00:00
Mark Salyzyn
3d6bdcf285 am 033a68f1: Merge "bionic: fortify comments in _system_properties.h"
* commit '033a68f1acd059dc3c5f656ce16999863d077d8a':
  bionic: fortify comments in _system_properties.h
2015-04-30 21:20:40 +00:00
Mark Salyzyn
62075bcc91 bionic: fortify comments in _system_properties.h
(Cherry pick from commit c3f4c964a3326ba81e1d61ebc47980f787dfcf24)

Change-Id: I2ef8fb7ae5ae03d5d2a50b5a417d585710099760
2015-04-30 14:00:09 -07:00
Mark Salyzyn
033a68f1ac Merge "bionic: fortify comments in _system_properties.h" 2015-04-30 20:57:49 +00:00
Dan Albert
b04c68164d am 6a4c9d9b: Merge "Define char16_t and char32_t to make gcc 5.1 happy"
* commit '6a4c9d9bf9e3d2679394850ab49a42f368e12c2d':
  Define char16_t and char32_t to make gcc 5.1 happy
2015-04-30 19:55:45 +00:00
Dan Albert
6a4c9d9bf9 Merge "Define char16_t and char32_t to make gcc 5.1 happy" 2015-04-30 19:29:47 +00:00
Neil Fuller
3a7ed8f55c Update to tzdata 2015d
Changes affecting future time stamps

    Egypt will not observe DST in 2015 and will consider canceling it
    permanently.  For now, assume no DST indefinitely.
    (Thanks to Ahmed Nazmy and Tim Parenti.)

  Changes affecting past time stamps

    America/Whitehorse switched from UTC-9 to UTC-8 on 1967-05-28, not
    1966-07-01.  Also, Yukon's time zone history is documented better.
    (Thanks to Brian Inglis and Dennis Ferguson.)

  Change affecting past and future time zone abbreviations

    The abbreviations for Hawaii-Aleutian standard and daylight times
    have been changed from HAST/HADT to HST/HDT, as per US Government
    Printing Office style.  This affects only America/Adak since 1983,
    as America/Honolulu was already using the new style.

Bug: 20551453
(cherry-picked from commit 520cbf51b11470d1ca70a4dcd90bc12042c25b8a)

Change-Id: I60d3b683aeccbc44bd038ff6aebd75045809b1c5
2015-04-30 16:48:11 +01:00
Dmitriy Ivanov
e99dce4960 am 126b5efa: Adjust DT_MIPS_RLD_MAP2 value
* commit '126b5efa9d2fa0956a12a66305d7a4dac7feb4f9':
  Adjust DT_MIPS_RLD_MAP2 value
2015-04-30 15:19:51 +00:00
Dmitriy Ivanov
775ef1b68b am df877d7b: Merge "Adjust DT_MIPS_RLD_MAP2 value"
* commit 'df877d7b289543e5a969566e0dcbb6102b08f002':
  Adjust DT_MIPS_RLD_MAP2 value
2015-04-30 05:28:42 +00:00
Dmitriy Ivanov
126b5efa9d Adjust DT_MIPS_RLD_MAP2 value
DT_MIPS_RLD_MAP2 stores the difference between dynamic
  entry address and the address of the _r_debug (used by GDB)
  since the dynamic section and target address are on the
  different sides of the hole it needs to be adjusted accordingly

Bug: http://b/20658994
Bug: http://b/18051137
Change-Id: I4c5e379e8a4c68f029467df6dc660f81a7013a09
(cherry picked from commit 18c935ceabb54a32aff42f99c6d20680ac333157)
2015-04-29 22:10:53 -07:00
Dmitriy Ivanov
df877d7b28 Merge "Adjust DT_MIPS_RLD_MAP2 value" 2015-04-30 05:07:40 +00:00
Dmitriy Ivanov
18c935ceab Adjust DT_MIPS_RLD_MAP2 value
DT_MIPS_RLD_MAP2 stores the difference between dynamic
  entry address and the address of the _r_debug (used by GDB)
  since the dynamic section and target address are on the
  different sides of the hole it needs to be adjusted accordingly

Bug: http://b/20658994
Bug: http://b/18051137
Change-Id: I4c5e379e8a4c68f029467df6dc660f81a7013a09
2015-04-29 19:53:31 -07:00
Dmitriy Ivanov
17d2d7bec5 am f29640c2: Merge "linker: initialize system properties"
* commit 'f29640c2d8920c98f4cfd461d80c297a1cafa86a':
  linker: initialize system properties
2015-04-30 00:10:16 +00:00
Dmitriy Ivanov
bbd88ad57b am 0b9e1c60: linker: initialize system properties
* commit '0b9e1c6051a6c75bf9040fd1da6109988900d0ac':
  linker: initialize system properties
2015-04-30 00:04:23 +00:00
Dmitriy Ivanov
0b9e1c6051 linker: initialize system properties
Bug: http://b/20567629
Bug: https://code.google.com/p/chromium/issues/detail?id=478886
Change-Id: I8d2d89b749015e7fcd6e7ea646911f2e617dd1ba
(cherry picked from commit b4e5067cab9f17fa76bd7695f41a0b5070e10df8)
2015-04-29 16:46:41 -07:00
Dmitriy Ivanov
f29640c2d8 Merge "linker: initialize system properties" 2015-04-29 23:44:57 +00:00
Dmitriy Ivanov
f38aedecb1 am e97d519a: Fix mips relocation to use load_bias as intended
* commit 'e97d519a6b5d5f3272a0c851dff7bcf1f8ac0157':
  Fix mips relocation to use load_bias as intended
2015-04-29 22:29:01 +00:00
Dmitriy Ivanov
1f688c2c2a am c6b9b254: Merge "Fix mips relocation to use load_bias as intended"
* commit 'c6b9b254dc042c9c2b8be72430a9f59803eb0794':
  Fix mips relocation to use load_bias as intended
2015-04-29 22:22:13 +00:00
Dmitriy Ivanov
e97d519a6b Fix mips relocation to use load_bias as intended
Bug: http://b/20658994
Change-Id: I5a15605fe34db359e26d563e13841ae993083c4a
(cherry picked from commit 0373d4f47342e0a6f146af9023a146b0b707442b)
2015-04-29 15:02:50 -07:00
Dmitriy Ivanov
c6b9b254dc Merge "Fix mips relocation to use load_bias as intended" 2015-04-29 21:58:57 +00:00
Dmitriy Ivanov
0373d4f473 Fix mips relocation to use load_bias as intended
Bug: http://b/20658994
Change-Id: I5a15605fe34db359e26d563e13841ae993083c4a
2015-04-29 14:41:06 -07:00
Mark Salyzyn
c3f4c964a3 bionic: fortify comments in _system_properties.h
Change-Id: I2ef8fb7ae5ae03d5d2a50b5a417d585710099760
2015-04-29 13:57:42 -07:00
Neil Fuller
944e97c13d am fa6f6496: Merge "Update to tzdata 2015d"
* commit 'fa6f6496078426fe332a5ae9bba009c98dfabc94':
  Update to tzdata 2015d
2015-04-29 11:04:09 +00:00
Neil Fuller
fa6f649607 Merge "Update to tzdata 2015d" 2015-04-29 10:42:16 +00:00
Dmitriy Ivanov
b452858e47 am 53ba6636: Fix LD_PRELOAD for dlopen()
* commit '53ba6636178b7fb5d837b52aa6b2983263e3df4e':
  Fix LD_PRELOAD for dlopen()
2015-04-29 03:54:24 +00:00
Dmitriy Ivanov
5757a78b4b am e1a61f5e: Merge "Fix LD_PRELOAD for dlopen()"
* commit 'e1a61f5e931461288c931ce0b5a4e3bfef2e104e':
  Fix LD_PRELOAD for dlopen()
2015-04-29 03:43:23 +00:00
Jeff Brown
436f7a6502 am cb73d0e0: Merge "Add float support to binary event log." into mnc-dev
* commit 'cb73d0e0daff3804092efd49abf3aab9a65c05ff':
  Add float support to binary event log.
2015-04-29 02:11:21 +00:00
Mark Salyzyn
2761571dc4 am 123927df: bionic: add __system_property_area_serial()
* commit '123927dffc28018a1feb1d42c625b601cb948f34':
  bionic: add __system_property_area_serial()
2015-04-29 02:11:19 +00:00
Dmitriy Ivanov
143d6dd6ce am 452742d2: Do not pack relocations for libc.so
* commit '452742d2bf4247106055696c11bc4e59ca630f11':
  Do not pack relocations for libc.so
2015-04-29 02:11:16 +00:00
Dmitriy Ivanov
1e4e857d25 am 62a0a63e: linker: use libc\'s environ variable to store envp
* commit '62a0a63e072c97ba7650bb564d87ac6daf767558':
  linker: use libc's environ variable to store envp
2015-04-29 02:11:14 +00:00
Jeff Brown
317b3bf24a am 0bf65037: Merge "Add float support to binary event log."
* commit '0bf650373e963cb772466092fbc5fd5a25b144d0':
  Add float support to binary event log.
2015-04-29 02:09:52 +00:00
Dmitriy Ivanov
53ba663617 Fix LD_PRELOAD for dlopen()
We did not set DF_1_GLOBAL flag for LD_PRELOADed
 libraries which led to the situation when ld_preloads
 where ignored during on dlopen()

Change-Id: I696b3b2506a8ed4c0984ad2c803210a7a4f8e686
(cherry picked from commit f8093a9485402584f75b774ddf2ca051fa9b8aad)
2015-04-28 19:01:01 -07:00
Dmitriy Ivanov
e1a61f5e93 Merge "Fix LD_PRELOAD for dlopen()" 2015-04-29 01:59:53 +00:00
Jeff Brown
0bf650373e Merge "Add float support to binary event log." 2015-04-29 01:42:49 +00:00
Jeff Brown
11331f60dd Add float support to binary event log.
Bug: 20664753
Change-Id: I6e43c07daa727c19d87f5192bb719af63dd93654
2015-04-28 18:20:22 -07:00
Jeff Brown
cb73d0e0da Merge "Add float support to binary event log." into mnc-dev 2015-04-29 01:18:13 +00:00
Dmitriy Ivanov
f8093a9485 Fix LD_PRELOAD for dlopen()
We did not set DF_1_GLOBAL flag for LD_PRELOADed
 libraries which led to the situation when ld_preloads
 where ignored during on dlopen()

Change-Id: I696b3b2506a8ed4c0984ad2c803210a7a4f8e686
2015-04-28 18:09:53 -07:00
Jeff Brown
66fd2a278b Add float support to binary event log.
Bug: 20664753
Change-Id: I6e43c07daa727c19d87f5192bb719af63dd93654
2015-04-28 17:51:45 -07:00
Dmitriy Ivanov
b4e5067cab linker: initialize system properties
Bug: http://b/20567629
Bug: https://code.google.com/p/chromium/issues/detail?id=478886
Change-Id: I8d2d89b749015e7fcd6e7ea646911f2e617dd1ba
2015-04-28 15:52:52 -07:00
Mark Salyzyn
46ba0ac2a0 am b904afa1: Merge "bionic: add __system_property_area_serial()"
* commit 'b904afa16eb02266f4e72c241cc745340698f5fc':
  bionic: add __system_property_area_serial()
2015-04-28 22:30:30 +00:00
Dmitriy Ivanov
0045456336 am 9f0d99d2: Merge "Do not pack relocations for libc.so"
* commit '9f0d99d2983c7692cec8e866514335488a930058':
  Do not pack relocations for libc.so
2015-04-28 22:30:29 +00:00
Mark Salyzyn
123927dffc bionic: add __system_property_area_serial()
Adds a new _internal_ function. Provide a global serial number to
support more efficient private caching algorithms. This allows
to skip re-running the __system_property_find() call on misses until
there is a global change in the properties. This call is a read
barrier, the property data to be read following this call will be
read sequentially and up to date.

(Cherry pick from bfd65279a5a9018b01f71773270e462f1b9a7768)

Bug: 19544788
Change-Id: I58e6a92baa0f3e8e7b9ec79b10af6d56407dab48
2015-04-28 22:20:41 +00:00
Mark Salyzyn
b904afa16e Merge "bionic: add __system_property_area_serial()" 2015-04-28 22:11:52 +00:00
Dmitriy Ivanov
9f0d99d298 Merge "Do not pack relocations for libc.so" 2015-04-28 22:06:43 +00:00
Dmitriy Ivanov
62d6533c1a Do not pack relocations for libc.so
Bug: http://b/20645321
Bug: http://b/20655855
(cherry picked from commit 452742d2bf4247106055696c11bc4e59ca630f11)

Change-Id: Ic9125cc1bc4c9ba9eb20d030de72e3ce1fb86fa6
2015-04-28 15:05:20 -07:00
Dmitriy Ivanov
6253e40251 am bed7a7e5: Merge "linker: use libc\'s environ variable to store envp"
* commit 'bed7a7e5eb4b22dbddd2358f759ad925149b6ed3':
  linker: use libc's environ variable to store envp
2015-04-28 22:02:30 +00:00
Dmitriy Ivanov
452742d2bf Do not pack relocations for libc.so
Bug: http://b/20645321
Bug: http://b/20655855
Change-Id: Ia4470e0a6d388a7f8445c7f7f9a5639689c0fe32
2015-04-28 14:54:11 -07:00
Dmitriy Ivanov
62a0a63e07 linker: use libc's environ variable to store envp
This is to make getenv() work correctly.

Bug: http://b/20567629
(cherry picked from commit a85bcc2e99739420b5b4f9a5c337af1d26ac652b)

Change-Id: I7c2289279b331793335029dc17a792d416efff4b
2015-04-28 14:43:58 -07:00
Dmitriy Ivanov
bed7a7e5eb Merge "linker: use libc's environ variable to store envp" 2015-04-28 21:35:59 +00:00
Christopher Ferris
d3f0a1f3de am 6fa65e7c: Merge "cortex-a9: Fix reference to __memcpy_base_aligned."
* commit '6fa65e7cd54aeffbb2eb2116e30d2d34a5b655a2':
  cortex-a9: Fix reference to __memcpy_base_aligned.
2015-04-28 21:33:40 +00:00
Dmitriy Ivanov
a85bcc2e99 linker: use libc's environ variable to store envp
This is to make getenv() work correctly.

Bug: http://b/20567629
Change-Id: I148627e1efea1649fb0822c95876811652fb4082
2015-04-28 14:21:36 -07:00
Christopher Ferris
6fa65e7cd5 Merge "cortex-a9: Fix reference to __memcpy_base_aligned." 2015-04-28 20:28:42 +00:00
Kyle Repinski
e0905c94d3 cortex-a9: Fix reference to __memcpy_base_aligned.
With a different memcpy, __memcpy_base_aligned ceased to exist.
Instead, point to the name defined by whatever includes memcpy_base.S

Change-Id: I242cf49cbada35337ba155d7f170e86a905ff55f
2015-04-28 14:29:15 -05:00
Neil Fuller
520cbf51b1 Update to tzdata 2015d
Changes affecting future time stamps

    Egypt will not observe DST in 2015 and will consider canceling it
    permanently.  For now, assume no DST indefinitely.
    (Thanks to Ahmed Nazmy and Tim Parenti.)

  Changes affecting past time stamps

    America/Whitehorse switched from UTC-9 to UTC-8 on 1967-05-28, not
    1966-07-01.  Also, Yukon's time zone history is documented better.
    (Thanks to Brian Inglis and Dennis Ferguson.)

  Change affecting past and future time zone abbreviations

    The abbreviations for Hawaii-Aleutian standard and daylight times
    have been changed from HAST/HADT to HST/HDT, as per US Government
    Printing Office style.  This affects only America/Adak since 1983,
    as America/Honolulu was already using the new style.

Bug: 20551453
Change-Id: I02364f15ca4ae20ed1a3b327f8517214bee938e5
2015-04-28 17:11:03 +01:00
Neil Fuller
c9865b656f am 17b602c9: Update to tzdata 2015c
* commit '17b602c903c3199fad6353c43b0e6086c54bcce7':
  Update to tzdata 2015c
2015-04-28 14:55:03 +00:00
Dmitriy Ivanov
652d65a56d am 7936fa65: Reduce p_align for program header to page size.
* commit '7936fa6536934b67b5f9bd836c205f962bd0cea3':
  Reduce p_align for program header to page size.
2015-04-28 14:54:22 +00:00
Neil Fuller
17b602c903 Update to tzdata 2015c
Changes affecting future time stamps

    Egypt's spring-forward transition is at 24:00 on April's last Thursday,
    not 00:00 on April's last Friday.  2015's transition will therefore be on
    Thursday, April 30 at 24:00, not Friday, April 24 at 00:00.  Similar fixes
    apply to 2026, 2037, 2043, etc.  (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps

    The following changes affect some pre-1991 Chile-related time stamps
    in America/Santiago, Antarctica/Palmer, and Pacific/Easter.

      The 1910 transition was January 10, not January 1.

      The 1918 transition was September 10, not September 1.

      The UTC-4 time observed from 1932 to 1942 is now considered to be
      standard time, not year-round DST.

      Santiago observed DST (UTC-3) from 1946-07-15 through 1946-08-31,
      then reverted to standard time, then switched its time zone to
      UTC-5 on 1947-04-01.

      Assume transitions before 1968 were at 00:00, since we have no data
      saying otherwise.

      The spring 1988 transition was 1988-10-09, not 1988-10-02.
      The fall 1990 transition was 1990-03-11, not 1990-03-18.

      Assume no UTC offset change for Pacific/Easter on 1890-01-01,
      and omit all transitions on Pacific/Easter from 1942 through 1946
      since we have no data suggesting that they existed.

    One more zone has been turned into a link, as it differed
    from an existing zone only for older time stamps.  As usual,
    this change affects UTC offsets in pre-1970 time stamps only.
    The zone's old contents have been moved to the 'backzone' file.
    The affected zone is America/Montreal.

Bug: 20287125
(cherry-picked from commit d2177404e28290064e087ecb2655e5fdcb9057e5)

Change-Id: I55224cc63b314a8e4c2f1c83f8bc4921316c8e4d
2015-04-28 10:51:48 +01:00
Dmitriy Ivanov
d583433eea am 42d7468f: Merge "Reduce p_align for program header to page size."
* commit '42d7468f99a49bd598fca9c3cebba33b9bdd0e57':
  Reduce p_align for program header to page size.
2015-04-28 04:10:46 +00:00
Dmitriy Ivanov
7936fa6536 Reduce p_align for program header to page size.
Having p_align > page_size leads to the situation when striping
 packed executables results in unnecessary p_vaddr adjustments.
 And it also may result (with probability 1 - 1/sizeof(uintptr_t)) in
 misaligned segments following .dynstr

Bug: http://b/20629834
Bug: http://b/18051137

(cherry picked from commit b293969c6d4acede62ac7b035dcb598e63574ca0)

Change-Id: I2fb15cf5cb52fada6511d5af93df099fc2cbf7ba
2015-04-27 20:45:04 -07:00
Dmitriy Ivanov
42d7468f99 Merge "Reduce p_align for program header to page size." 2015-04-28 03:38:27 +00:00
Dmitriy Ivanov
b293969c6d Reduce p_align for program header to page size.
Having p_align > page_size leads to the situation when striping
 packed executables results in unnecessary p_vaddr adjustments.
 And it also may result (with probability 1 - 1/sizeof(uintptr_t)) in
 misaligned segments following .dynstr

Bug: http://b/20629834
Bug: http://b/18051137
Change-Id: I1c5da4911e4409d63cb09f6b6b0a16ef54f6501b
2015-04-27 20:37:17 -07:00
Dmitriy Ivanov
f27336f276 am 032907d8: Merge "Remove outdated warning"
* commit '032907d8c7ad7a15798c123114b9c8e7601bb3ae':
  Remove outdated warning
2015-04-27 19:01:06 +00:00
Dmitriy Ivanov
032907d8c7 Merge "Remove outdated warning" 2015-04-27 18:28:31 +00:00
Dmitriy Ivanov
2ea504fed1 Remove outdated warning
It is ok to use malloc in linker.

Bug: http://b/20567629
Change-Id: I54183dbe8ebcd223a44e710e511c339688a65dba
2015-04-27 11:24:36 -07:00
Chih-Hung Hsieh
8f893fdb05 am 59bce688: Merge "Fix opcode to compile with both gcc and llvm."
* commit '59bce688c7edfa2479f63a76268cc30f98d1044c':
  Fix opcode to compile with both gcc and llvm.
2015-04-27 17:50:18 +00:00
Chih-Hung Hsieh
59bce688c7 Merge "Fix opcode to compile with both gcc and llvm." 2015-04-27 17:17:45 +00:00
Mark Salyzyn
bfd65279a5 bionic: add __system_property_area_serial()
Adds a new _internal_ function. Provide a global serial number to
support more efficient private caching algorithms. This allows
to skip re-running the __system_property_find() call on misses until
there is a global change in the properties. This call is a read
barrier, the property data to be read following this call will be
read sequentially and up to date.

Bug: 19544788
Change-Id: I58e6a92baa0f3e8e7b9ec79b10af6d56407dab48
2015-04-27 07:44:03 -07:00
Nick Kralevich
85ae807689 am 9e22d0ff: am bb4961cd: am 1d76f1cc: Merge "add a fortified implementation of realpath"
* commit '9e22d0ff3c12e51c20a72e148112bcbb207f816f':
2015-04-27 12:48:51 +00:00
Neil Fuller
45a92efcf4 am 682a240c: Merge "Update to tzdata 2015c"
* commit '682a240c5d6a479ed3b8187ea99044627bf2394c':
  Update to tzdata 2015c
2015-04-27 09:59:18 +00:00
Neil Fuller
682a240c5d Merge "Update to tzdata 2015c" 2015-04-27 08:19:16 +00:00
Nick Kralevich
c2e2a9ddec am 1d76f1cc: Merge "add a fortified implementation of realpath"
* commit '1d76f1cc8be1f40141adac6147cd51061f1ee0b4':
  add a fortified implementation of realpath
2015-04-26 22:14:54 +00:00
Nick Kralevich
9e22d0ff3c am bb4961cd: am 1d76f1cc: Merge "add a fortified implementation of realpath"
* commit 'bb4961cd4f0348b5e88bdf81dded7b63d1aadb0b':
  add a fortified implementation of realpath
2015-04-26 18:39:37 +00:00
Nick Kralevich
bb4961cd4f am 1d76f1cc: Merge "add a fortified implementation of realpath"
* commit '1d76f1cc8be1f40141adac6147cd51061f1ee0b4':
  add a fortified implementation of realpath
2015-04-26 02:44:29 +00:00
Nick Kralevich
1d76f1cc8b Merge "add a fortified implementation of realpath" 2015-04-26 02:23:04 +00:00
Nick Kralevich
51069872d1 am 73621d02: am 42502d70: Merge "add fortified memchr/memrchr implementations"
* commit '73621d02ec3ff45315ee6ddff534a46309723baf':
  add fortified memchr/memrchr implementations
2015-04-25 22:00:20 +00:00
Nick Kralevich
73621d02ec am 42502d70: Merge "add fortified memchr/memrchr implementations"
* commit '42502d702e1625c9f3337f7a18ea5fc4cfc6090c':
  add fortified memchr/memrchr implementations
2015-04-25 21:41:45 +00:00
Nick Kralevich
42502d702e Merge "add fortified memchr/memrchr implementations" 2015-04-25 21:29:57 +00:00
Dmitriy Ivanov
d14f85df52 am a6441765: am 2eaff078: Merge "Include pthread_atfork.h to mips64 crtbegin"
* commit 'a644176578e73b0ab1bf6adfed6bba944d6e7b00':
  Include pthread_atfork.h to mips64 crtbegin
2015-04-25 20:04:32 +00:00
Dmitriy Ivanov
a644176578 am 2eaff078: Merge "Include pthread_atfork.h to mips64 crtbegin"
* commit '2eaff07839393485fec522fd0bd17bbf1af72ca6':
  Include pthread_atfork.h to mips64 crtbegin
2015-04-25 19:42:22 +00:00
Dmitriy Ivanov
2eaff07839 Merge "Include pthread_atfork.h to mips64 crtbegin" 2015-04-25 19:20:00 +00:00
Dmitriy Ivanov
f327fae69c Include pthread_atfork.h to mips64 crtbegin
Bug: http://b/20339788
Change-Id: I2a8c7881f90a05ca768cb9b4c2f8b07c74c64469
2015-04-25 11:59:32 -07:00
Elliott Hughes
704b3164b3 am ea46b36f: am 9a2744df: Merge "Fix POSIX timer thread naming."
* commit 'ea46b36f894477755487d8caec15a8f35f81ac2c':
  Fix POSIX timer thread naming.
2015-04-25 18:44:05 +00:00
Elliott Hughes
ea46b36f89 am 9a2744df: Merge "Fix POSIX timer thread naming."
* commit '9a2744df301c509ea48361016ab441c792ec6d5a':
  Fix POSIX timer thread naming.
2015-04-25 18:23:51 +00:00
Elliott Hughes
9a2744df30 Merge "Fix POSIX timer thread naming." 2015-04-25 18:01:18 +00:00
Elliott Hughes
d1aea30b2a Fix POSIX timer thread naming.
Spencer Low points out that we never actually set a name because the constant
part of the string was longer than the kernel's maximum, and the kernel
rejects long names rather than truncate.

Shorten the fixed part of the string while still keeping it meaningful. 9999
POSIX timers should be enough for any process...

Bug: https://code.google.com/p/android/issues/detail?id=170089
Change-Id: Ic05f07584c1eac160743519091a540ebbf8d7eb1
2015-04-25 10:05:24 -07:00
Dmitriy Ivanov
988cb3bd69 am f41ab7fa: am 2c256a0f: Merge "Unregister pthread_atfork handlers on dlclose()"
* commit 'f41ab7fa68cfab33881a97d25f1c046e26e35d99':
  Unregister pthread_atfork handlers on dlclose()
2015-04-25 06:14:51 +00:00
Dmitriy Ivanov
f41ab7fa68 am 2c256a0f: Merge "Unregister pthread_atfork handlers on dlclose()"
* commit '2c256a0f0927abd94f2210b37c18ead210d30477':
  Unregister pthread_atfork handlers on dlclose()
2015-04-25 05:52:51 +00:00
Dmitriy Ivanov
2c256a0f09 Merge "Unregister pthread_atfork handlers on dlclose()" 2015-04-25 05:36:07 +00:00
Dmitriy Ivanov
2a1badcfcd am 504e7605: am 440242f0: Merge "Use bfd linker for x86/x86_64 targets"
* commit '504e76055c29a3cb7cdbe1e6f731cd3ca9d1a91e':
  Use bfd linker for x86/x86_64 targets
2015-04-25 04:49:52 +00:00
Dmitriy Ivanov
504e76055c am 440242f0: Merge "Use bfd linker for x86/x86_64 targets"
* commit '440242f03805872a0c62528d763e5e98dad9b580':
  Use bfd linker for x86/x86_64 targets
2015-04-25 04:27:52 +00:00
Dmitriy Ivanov
440242f038 Merge "Use bfd linker for x86/x86_64 targets" 2015-04-25 04:09:43 +00:00
Dmitriy Ivanov
e91e66f223 Use bfd linker for x86/x86_64 targets
ld.gold in current toolchain for x86_64
 does not support -z global.

Change-Id: Iea2b192f0f0aa998a02adb356fd4eec4e10a1739
2015-04-24 21:05:49 -07:00
Dmitriy Ivanov
6a76d3a2fe am 1f4c9067: am ebfb55e4: Merge "Enable dlsym_df_1_global test for arm/arm64"
* commit '1f4c9067af716dc9419cb2e33adc3abf9b2dcb2c':
  Enable dlsym_df_1_global test for arm/arm64
2015-04-25 02:07:39 +00:00
Dmitriy Ivanov
1f4c9067af am ebfb55e4: Merge "Enable dlsym_df_1_global test for arm/arm64"
* commit 'ebfb55e4cdf03473d66eaf5928fb3c3a8b0c2f85':
  Enable dlsym_df_1_global test for arm/arm64
2015-04-25 01:10:54 +00:00
Dmitriy Ivanov
ea295f68f1 Unregister pthread_atfork handlers on dlclose()
Bug: http://b/20339788
Change-Id: I874c87faa377645fa9e0752f4fc166d81fd9ef7e
2015-04-24 17:57:37 -07:00
Dmitriy Ivanov
ebfb55e4cd Merge "Enable dlsym_df_1_global test for arm/arm64" 2015-04-25 00:50:05 +00:00
Dmitriy Ivanov
6612d7a347 Enable dlsym_df_1_global test for arm/arm64
Change-Id: I1fdebced93175cb14053e2239e79f97239fc2dc2
2015-04-24 16:26:03 -07:00
Dmitriy Ivanov
7336ab23ee am 71abd9cc: am 2bb93482: Merge "Exit normally when relocations are already packed."
* commit '71abd9cc2ffb0c75288f5064e5e5d5a223e15a41':
  Exit normally when relocations are already packed.
2015-04-24 21:09:41 +00:00
Dmitriy Ivanov
71abd9cc2f am 2bb93482: Merge "Exit normally when relocations are already packed."
* commit '2bb93482a7793640205ade2f7316db5b3f5cac19':
  Exit normally when relocations are already packed.
2015-04-24 20:05:05 +00:00
Dmitriy Ivanov
2bb93482a7 Merge "Exit normally when relocations are already packed." 2015-04-24 19:42:39 +00:00
Dmitriy Ivanov
b0b9338ff8 Exit normally when relocations are already packed.
Bug: http://b/18051137
Change-Id: Idfffac5fe965e3cdeabe6d3b2dcd8c275c6ae5df
2015-04-24 12:39:14 -07:00
Bernhard Rosenkränzer
6f88821e5d Define char16_t and char32_t to make gcc 5.1 happy
gcc 5.1 doesn't define char16_t and char32_t (unless in C++ mode),
causing compile failures.

Change-Id: I08dcd13cdf8cd59a4a2f191864bedf4c0d1bb313
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2015-04-24 16:21:38 +02:00
Neil Fuller
d2177404e2 Update to tzdata 2015c
Changes affecting future time stamps

    Egypt's spring-forward transition is at 24:00 on April's last Thursday,
    not 00:00 on April's last Friday.  2015's transition will therefore be on
    Thursday, April 30 at 24:00, not Friday, April 24 at 00:00.  Similar fixes
    apply to 2026, 2037, 2043, etc.  (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps

    The following changes affect some pre-1991 Chile-related time stamps
    in America/Santiago, Antarctica/Palmer, and Pacific/Easter.

      The 1910 transition was January 10, not January 1.

      The 1918 transition was September 10, not September 1.

      The UTC-4 time observed from 1932 to 1942 is now considered to be
      standard time, not year-round DST.

      Santiago observed DST (UTC-3) from 1946-07-15 through 1946-08-31,
      then reverted to standard time, then switched its time zone to
      UTC-5 on 1947-04-01.

      Assume transitions before 1968 were at 00:00, since we have no data
      saying otherwise.

      The spring 1988 transition was 1988-10-09, not 1988-10-02.
      The fall 1990 transition was 1990-03-11, not 1990-03-18.

      Assume no UTC offset change for Pacific/Easter on 1890-01-01,
      and omit all transitions on Pacific/Easter from 1942 through 1946
      since we have no data suggesting that they existed.

    One more zone has been turned into a link, as it differed
    from an existing zone only for older time stamps.  As usual,
    this change affects UTC offsets in pre-1970 time stamps only.
    The zone's old contents have been moved to the 'backzone' file.
    The affected zone is America/Montreal.

Bug: 20287125
Change-Id: I8512c4e9ab09725395b256aba59ca34a23d1c995
2015-04-24 13:56:11 +01:00
Dimitry Ivanov
690a87096b am e5d3ad4a: am 6c63ee41: Merge "Revert "Unregister pthread_atfork handlers on dlclose()""
* commit 'e5d3ad4abe6331955c172a2151d19e64f3c39549':
  Revert "Unregister pthread_atfork handlers on dlclose()"
2015-04-24 04:32:20 +00:00
Dimitry Ivanov
e5d3ad4abe am 6c63ee41: Merge "Revert "Unregister pthread_atfork handlers on dlclose()""
* commit '6c63ee41ac5a246fb46c51753cd4d50ccae0dd8f':
  Revert "Unregister pthread_atfork handlers on dlclose()"
2015-04-24 04:07:13 +00:00
Dimitry Ivanov
6c63ee41ac Merge "Revert "Unregister pthread_atfork handlers on dlclose()"" 2015-04-24 03:49:30 +00:00
Dimitry Ivanov
094f58fb2a Revert "Unregister pthread_atfork handlers on dlclose()"
The visibility control in pthread_atfork.h is incorrect.
 It breaks 64bit libc.so by hiding pthread_atfork.

 This reverts commit 6df122f8528f9b9fcf7dfea14ae98b0ef66274e1.

Change-Id: I21e4b344d500c6f6de0ccb7420b916c4e233dd34
2015-04-24 03:46:57 +00:00
Dmitriy Ivanov
08d62b2310 am 83ebe0c3: am 41ebceaf: Merge "Exit normally when packing relocs saves no space."
* commit '83ebe0c37b5338d0940d45497144fe8aa4a4bfea':
  Exit normally when packing relocs saves no space.
2015-04-23 23:44:36 +00:00
Dmitriy Ivanov
e8743e2759 am 24ffcb3e: am e3ecedd3: Merge "Remove jemalloc.a from libc_nomalloc.a"
* commit '24ffcb3ec6e488b469ebe148361915a3d75b9e3d':
  Remove jemalloc.a from libc_nomalloc.a
2015-04-23 23:16:05 +00:00
Elliott Hughes
788b063961 am 347b83ff: am 3da9373f: Merge "Simplify close(2) EINTR handling."
* commit '347b83ff9c6d53322b8bfbaac05f4a71b2855bbb':
  Simplify close(2) EINTR handling.
2015-04-23 23:16:04 +00:00
Dmitriy Ivanov
e80f32521a am 4d9c009f: am dc405b52: Merge "Unregister pthread_atfork handlers on dlclose()"
* commit '4d9c009faeb091766139621be118acd04dd8b1e2':
  Unregister pthread_atfork handlers on dlclose()
2015-04-23 23:16:02 +00:00
Dmitriy Ivanov
83ebe0c37b am 41ebceaf: Merge "Exit normally when packing relocs saves no space."
* commit '41ebceaf3ad392b4a3f40d96d5750d95ef206546':
  Exit normally when packing relocs saves no space.
2015-04-23 23:13:57 +00:00
Dmitriy Ivanov
41ebceaf3a Merge "Exit normally when packing relocs saves no space." 2015-04-23 22:55:34 +00:00
Dmitriy Ivanov
adfcb97317 Exit normally when packing relocs saves no space.
Bug: http://b/18051137
Change-Id: I43ea5678a677e5d39fb54fafcf3a2f3a252c79b0
2015-04-23 22:54:25 +00:00
Dmitriy Ivanov
24ffcb3ec6 am e3ecedd3: Merge "Remove jemalloc.a from libc_nomalloc.a"
* commit 'e3ecedd306ec16ecb31c6b7d6f9fdcb65c03b70f':
  Remove jemalloc.a from libc_nomalloc.a
2015-04-23 22:12:41 +00:00
Dmitriy Ivanov
e3ecedd306 Merge "Remove jemalloc.a from libc_nomalloc.a" 2015-04-23 21:50:15 +00:00
Chih-Hung Hsieh
0a93df369c Fix opcode to compile with both gcc and llvm.
BUG: 17302991

Change-Id: I31febd9ad24312388068803ce247b295bd73b607
2015-04-23 21:40:31 +00:00
Elliott Hughes
347b83ff9c am 3da9373f: Merge "Simplify close(2) EINTR handling."
* commit '3da9373fe0ada19d13c6c3f9831dee93ec0ba7a6':
  Simplify close(2) EINTR handling.
2015-04-23 21:33:07 +00:00
Elliott Hughes
3da9373fe0 Merge "Simplify close(2) EINTR handling." 2015-04-23 21:14:25 +00:00
Dmitriy Ivanov
7280e507b6 Remove jemalloc.a from libc_nomalloc.a
Change-Id: I86edc1a6cf3a26c46e6daef2c859459c1b0f29af
2015-04-23 12:24:43 -07:00
Elliott Hughes
3391a9ff13 Simplify close(2) EINTR handling.
This doesn't affect code like Chrome that correctly ignores EINTR on
close, makes code that tries TEMP_FAILURE_RETRY work (where before it might
have closed a different fd and appeared to succeed, or had a bogus EBADF),
and makes "goto fail" code work (instead of mistakenly assuming that EINTR
means that the close failed).

Who loses? Anyone actively trying to detect that they caught a signal while
in close(2). I don't think those people exist, and I think they have better
alternatives available.

Bug: https://code.google.com/p/chromium/issues/detail?id=269623
Bug: http://b/20501816
Change-Id: I11e2f66532fe5d1b0082b2433212e24bdda8219b
2015-04-23 08:41:45 -07:00
Dmitriy Ivanov
4d9c009fae am dc405b52: Merge "Unregister pthread_atfork handlers on dlclose()"
* commit 'dc405b5230c3d72107b57798a2c23b1a46069f4d':
  Unregister pthread_atfork handlers on dlclose()
2015-04-23 09:56:57 +00:00
Dmitriy Ivanov
dc405b5230 Merge "Unregister pthread_atfork handlers on dlclose()" 2015-04-23 08:05:25 +00:00
Dmitriy Ivanov
6df122f852 Unregister pthread_atfork handlers on dlclose()
Change-Id: I326fdf6bb06bed12743f08980b5c69d849c015b8
2015-04-22 19:19:37 -07:00
Dmitriy Ivanov
f75e6efbe4 am 8f01955d: am ff181089: Merge "Always use signed leb128 decoder"
* commit '8f01955d1ef985d79f581f2913eea30cb0258bb4':
  Always use signed leb128 decoder
2015-04-23 00:56:57 +00:00
Dmitriy Ivanov
eb98813e1a am 511e09c5: am 9ceec1a7: Merge "Always use signed leb128 encoding"
* commit '511e09c5282bdf68c2d3aaa85bc93cbc9ad4449b':
  Always use signed leb128 encoding
2015-04-23 00:06:12 +00:00
Dmitriy Ivanov
8f01955d1e am ff181089: Merge "Always use signed leb128 decoder"
* commit 'ff18108981aa1fa73696d6db1919cdc38788bd4e':
  Always use signed leb128 decoder
2015-04-22 22:38:01 +00:00
Dmitriy Ivanov
ff18108981 Merge "Always use signed leb128 decoder" 2015-04-22 22:16:31 +00:00
Dmitriy Ivanov
18870d350c Always use signed leb128 decoder
Relocation packer no longer encodes relocation tables
  using unsigned leb128: https://android-review.googlesource.com/147745

Bug: http://b/18051137
Change-Id: I620b7188e5f3dd9d5123431aa1fc7feca76be607
2015-04-22 13:29:42 -07:00
Dmitriy Ivanov
511e09c528 am 9ceec1a7: Merge "Always use signed leb128 encoding"
* commit '9ceec1a75dfcc8b032aa3a974b0cfc3bff5a306e':
  Always use signed leb128 encoding
2015-04-22 20:23:01 +00:00
Tao Bao
0223d2c018 am 423a0e91: am 457c34ad: Merge "Update the search path for libclang.so"
* commit '423a0e9123a14f7b716268d7883b61b11ab90152':
  Update the search path for libclang.so
2015-04-22 20:18:52 +00:00
Dmitriy Ivanov
22e7ddd56e am 9f49c34e: am 913fe559: Merge "Statically link libc++ for prebuilts"
* commit '9f49c34eecc7407fce674a82ae3a6126911efa34':
  Statically link libc++ for prebuilts
2015-04-22 20:18:48 +00:00
Dmitriy Ivanov
9ceec1a75d Merge "Always use signed leb128 encoding" 2015-04-22 20:02:04 +00:00
Dmitriy Ivanov
f15ceeb784 Always use signed leb128 encoding
According to runs on /system/lib there using
 unsigned leb128 does not save us any additional
 space. In order to keep packing as simple as
 possible switch to using signed leb128 for
 everything.

Bug: http://b/18051137
Change-Id: I1a47cb9eb2175895b3c3f7c13b4c6b1060de86c0
2015-04-22 12:58:38 -07:00
Tao Bao
423a0e9123 am 457c34ad: Merge "Update the search path for libclang.so"
* commit '457c34ad84093ec45ebe2e2f1ef635e3dcaddbe0':
  Update the search path for libclang.so
2015-04-22 18:55:11 +00:00
Dmitriy Ivanov
9f49c34eec am 913fe559: Merge "Statically link libc++ for prebuilts"
* commit '913fe559f69395aaf160653c1d3994df3272810b':
  Statically link libc++ for prebuilts
2015-04-22 18:46:43 +00:00
Tao Bao
457c34ad84 Merge "Update the search path for libclang.so" 2015-04-22 18:25:45 +00:00
Dmitriy Ivanov
913fe559f6 Merge "Statically link libc++ for prebuilts" 2015-04-22 18:15:27 +00:00
Tao Bao
7592008030 Update the search path for libclang.so
Prebuilt shared libraries (libclang.so, libLLVM.so and etc) have been
moved to prebuilts/sdk/tools/linux/lib64. Update the search path in
cpp.py to match the change.

Bug: 20485471
Change-Id: Ib7784db4d5529d16a1e2bfc07cb0237929bc5a64
2015-04-22 10:47:01 -07:00
Dmitriy Ivanov
2a6342187a Statically link libc++ for prebuilts
Statically link libc++ to relocation_packer in
 order to make it work from prebuilts

Bug: http://b/18051137
Change-Id: I933ed6a0e48780a26b261069eb6a293432824fe7
2015-04-22 10:43:12 -07:00
Chih-Hung Hsieh
76a24d0584 am 7f5d7b2b: am a00a9f0b: Merge "Allow building libc long double code with clang/llvm."
* commit '7f5d7b2b7642cb9f89505fe22e94006628c5efd9':
  Allow building libc long double code with clang/llvm.
2015-04-22 00:23:44 +00:00
Chih-Hung Hsieh
7f5d7b2b76 am a00a9f0b: Merge "Allow building libc long double code with clang/llvm."
* commit 'a00a9f0b7ed39589a768798de6a584a4baae030b':
  Allow building libc long double code with clang/llvm.
2015-04-22 00:05:31 +00:00
Chih-Hung Hsieh
a00a9f0b7e Merge "Allow building libc long double code with clang/llvm." 2015-04-21 23:44:59 +00:00
Dmitriy Ivanov
0eb4326023 am 2cfdac5c: am da3c4f2f: Merge "Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections"
* commit '2cfdac5cb286525f4f2117faddc9ba7b60dde5fb':
  Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections
2015-04-21 23:33:43 +00:00
Dmitriy Ivanov
2cfdac5cb2 am da3c4f2f: Merge "Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections"
* commit 'da3c4f2f0d86b7e249c9b9b6cdf3bc0225b7178e':
  Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections
2015-04-21 23:08:41 +00:00
Chih-Hung Hsieh
6fb8e96e5f Allow building libc long double code with clang/llvm.
This requires fix of clang's Android x86 long double size and format.
That bug has been fixed in https://android-review.git.corp.google.com/#/c/146254/

Change-Id: I182c6c493085212f88c694356659f72227c8b8c7
2015-04-21 21:20:37 +00:00
Dmitriy Ivanov
da3c4f2f0d Merge "Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections" 2015-04-21 19:29:19 +00:00
Dmitriy Ivanov
bb25bbe19e Adjust DT_VERSYM/VERNEED/VERDEF dynamic sections
This is recent addition to bionic linker. The symbol
  versioning was not supported before therefore this bug
  went unnoticed.

  Also normal exit when there is not enought relocations
  to pack. This is to enable integration of relocation_packer
  to android build system.

Bug: http://b/20139821
Bug: http://b/18051137
Change-Id: Iaf36ae11c8e4b15cf785b6dd1712a3bdcf47cc45
2015-04-21 12:28:21 -07:00
Dmitriy Ivanov
94146a09ae am ec44b45a: am 0776f0f6: Merge "Add library name to error message"
* commit 'ec44b45aa7cc55037c0fba12f36e3e723da02885':
  Add library name to error message
2015-04-21 02:13:59 +00:00
Dmitriy Ivanov
ec44b45aa7 am 0776f0f6: Merge "Add library name to error message"
* commit '0776f0f6e2fc926ae90f460ceac2b0e025292363':
  Add library name to error message
2015-04-21 01:17:34 +00:00
Dmitriy Ivanov
0776f0f6e2 Merge "Add library name to error message" 2015-04-21 00:51:36 +00:00
Dmitriy Ivanov
3d7bea1fa0 Add library name to error message
Change-Id: I079e6f1dd95fe9cae2135fcd7358c51f8b584ac9
2015-04-20 17:40:39 -07:00
Daniel Micay
3244d9f07f add a fortified implementation of realpath
Change-Id: Icc59eacd1684f7cddd83d7a2b57dad0c7ada5eb7
2015-04-20 17:31:24 -04:00
Yabin Cui
80e1d86701 am 8b44eab5: am c5bd96ef: Merge "Fix bug in app_id_from_name in stubs.cpp."
* commit '8b44eab5b84c82de204f05291b9551043fd3310c':
  Fix bug in app_id_from_name in stubs.cpp.
2015-04-18 23:38:16 +00:00
Yabin Cui
8b44eab5b8 am c5bd96ef: Merge "Fix bug in app_id_from_name in stubs.cpp."
* commit 'c5bd96efd27f756d07f1a306e4120cede17b39f5':
  Fix bug in app_id_from_name in stubs.cpp.
2015-04-18 23:15:50 +00:00
Yabin Cui
c5bd96efd2 Merge "Fix bug in app_id_from_name in stubs.cpp." 2015-04-18 22:54:35 +00:00
Yabin Cui
72a6fdcdc7 Fix bug in app_id_from_name in stubs.cpp.
It seems that a break statement is missing.

Bug: 19872411
Change-Id: I9362783ab726d01f6eb27418563e716dd95688dc
2015-04-18 14:10:12 -07:00
Nick Kralevich
8db4332814 am 546cf0a0: am af7538b4: Merge "add fortified readlink/readlinkat implementations"
* commit '546cf0a06ff120a8db51ed31eec5a1ff4b3f1446':
  add fortified readlink/readlinkat implementations
2015-04-18 16:12:44 +00:00
Nick Kralevich
546cf0a06f am af7538b4: Merge "add fortified readlink/readlinkat implementations"
* commit 'af7538b49625f1c1c82e984610f26729a18d56bf':
  add fortified readlink/readlinkat implementations
2015-04-18 15:51:28 +00:00
Nick Kralevich
af7538b496 Merge "add fortified readlink/readlinkat implementations" 2015-04-18 15:30:18 +00:00
Dan Albert
906c4bb029 am c269aca7: am 7a8c7c48: Merge "Also send bionicbb logs to a file."
* commit 'c269aca791fe6f01a906135c1104b7eee5214901':
  Also send bionicbb logs to a file.
2015-04-18 01:43:02 +00:00
Dan Albert
09980c4ca3 am 02a25c49: am cb6ae56b: Merge "Merge the two bionicbb services into one."
* commit '02a25c49edc3d6b6b33561fd5740a73dcd1b3440':
  Merge the two bionicbb services into one.
2015-04-18 01:43:00 +00:00
Daniel Micay
4ae773633a add fortified memchr/memrchr implementations
Change-Id: I38c473cc0c608b08f971409a95eb8b853cb2ba1c
2015-04-17 21:17:12 -04:00
Dan Albert
c269aca791 am 7a8c7c48: Merge "Also send bionicbb logs to a file."
* commit '7a8c7c48db11b81bc53c63ddfbaeca12e7f5e8cb':
  Also send bionicbb logs to a file.
2015-04-18 01:10:22 +00:00
Dan Albert
02a25c49ed am cb6ae56b: Merge "Merge the two bionicbb services into one."
* commit 'cb6ae56b3e4ee50e99e9f3335d2676a21000d400':
  Merge the two bionicbb services into one.
2015-04-18 01:10:21 +00:00
Dan Albert
7a8c7c48db Merge "Also send bionicbb logs to a file." 2015-04-18 00:58:23 +00:00
Dan Albert
21988a3b16 Also send bionicbb logs to a file.
Change-Id: If9a6fdbe004e3b4bb7d868b7255f83c232759f80
2015-04-17 17:57:15 -07:00
Dan Albert
cb6ae56b3e Merge "Merge the two bionicbb services into one." 2015-04-18 00:55:31 +00:00
Dan Albert
d3fe4f1229 Merge the two bionicbb services into one.
Change-Id: I6490da1ec96b2e24b330296950be84424e11bd35
2015-04-17 17:39:36 -07:00
Daniel Micay
42281880a8 add fortified readlink/readlinkat implementations
Change-Id: Ia4b1824d20cad3a072b9162047492dade8576779
2015-04-17 18:49:12 -04:00
Dmitriy Ivanov
17dd78472f am d4709744: am 3875744f: Merge "Support symbol versioning"
* commit 'd4709744a26f232500f34c3fd13db21830f29d65':
  Support symbol versioning
2015-04-17 06:13:19 +00:00
Dmitriy Ivanov
d4709744a2 am 3875744f: Merge "Support symbol versioning"
* commit '3875744f89600027c69ea68650fff1eeb4b29723':
  Support symbol versioning
2015-04-17 04:19:39 +00:00
Dmitriy Ivanov
3875744f89 Merge "Support symbol versioning" 2015-04-17 03:57:46 +00:00
Elliott Hughes
84111de007 am 3c35b0a4: am fc4850e3: Merge "Fix clang build."
* commit '3c35b0a427cbc3aa049acfbf9c04084b4c519ed6':
  Fix clang build.
2015-04-17 02:11:32 +00:00
Elliott Hughes
dd44ccdf9d am ea154268: am 31128da2: Merge "add fortified implementations of pread/pread64"
* commit 'ea154268ff7ce0789c5c9093c0a06be44cbf33cf':
  add fortified implementations of pread/pread64
2015-04-17 02:04:28 +00:00
Elliott Hughes
3c35b0a427 am fc4850e3: Merge "Fix clang build."
* commit 'fc4850e37b713eae12d0bde7f6e0b4e9b444bfef':
  Fix clang build.
2015-04-17 01:16:45 +00:00
Elliott Hughes
fc4850e37b Merge "Fix clang build." 2015-04-17 00:57:52 +00:00
Dmitriy Ivanov
2a81536144 Support symbol versioning
Bug: http://b/20139821
Change-Id: I64122a0fb0960c20b2ce614161b7ab048456b681
2015-04-16 17:57:30 -07:00
Elliott Hughes
a9325133aa Fix clang build.
Change-Id: I70a9ebe806cb4f7e23a7d8e486157ddd70ae3008
2015-04-16 17:56:12 -07:00
Elliott Hughes
ea154268ff am 31128da2: Merge "add fortified implementations of pread/pread64"
* commit '31128da28f561152f5b663e6b4849691b3951525':
  add fortified implementations of pread/pread64
2015-04-17 00:54:24 +00:00
Elliott Hughes
31128da28f Merge "add fortified implementations of pread/pread64" 2015-04-17 00:34:26 +00:00
Dan Albert
0a0165e53f am 7e045ce9: am f84a5c6c: Merge "Clean up "logging"."
* commit '7e045ce97cc2c3b27543254e0cdf6f16290502cc':
  Clean up "logging".
2015-04-16 22:53:23 +00:00
Dan Albert
7e045ce97c am f84a5c6c: Merge "Clean up "logging"."
* commit 'f84a5c6c5c5fa2507458086a2f9a077bd9e2c9ec':
  Clean up "logging".
2015-04-16 22:31:49 +00:00
Dan Albert
f84a5c6c5c Merge "Clean up "logging"." 2015-04-16 22:08:39 +00:00
Dan Albert
a4061cddbe Clean up "logging".
Print is bad and I should feel bad. Use the logging module instead.
Will follow up by adding a persistent log destination instead of just
the console.

Change-Id: I396ff10712f88a03f8d8183b6de29ea273815962
2015-04-16 14:20:13 -07:00
Elliott Hughes
e04b476e17 am ecd73583: am 14af27a1: Merge "Remove PROP_PATH_SYSTEM_DEFAULT."
* commit 'ecd73583e16a1337223924e2a9df2185499f5a2b':
  Remove PROP_PATH_SYSTEM_DEFAULT.
2015-04-16 20:43:23 +00:00
Elliott Hughes
ecd73583e1 am 14af27a1: Merge "Remove PROP_PATH_SYSTEM_DEFAULT."
* commit '14af27a147b5e91eeb8632a3f99d4b6cc2ed26dc':
  Remove PROP_PATH_SYSTEM_DEFAULT.
2015-04-16 20:20:31 +00:00
Elliott Hughes
14af27a147 Merge "Remove PROP_PATH_SYSTEM_DEFAULT." 2015-04-16 19:58:00 +00:00
Daniel Micay
e7e1c875b0 add fortified implementations of pread/pread64
Change-Id: Iec39c3917e0bc94371bd81541619392f5abe29b9
2015-04-16 10:33:35 -04:00
Dmitriy Ivanov
9e66105685 am 261ebb63: am a40cb0ca: Merge "Call __cxa_thread_finalize for the main thread."
* commit '261ebb63478e5d30cc3da6c3f37a1ae3e08551da':
  Call __cxa_thread_finalize for the main thread.
2015-04-16 10:02:56 +00:00
Dmitriy Ivanov
261ebb6347 am a40cb0ca: Merge "Call __cxa_thread_finalize for the main thread."
* commit 'a40cb0ca7fe8ddc146831e92ec543be9feb26a65':
  Call __cxa_thread_finalize for the main thread.
2015-04-16 09:40:53 +00:00
Dmitriy Ivanov
a40cb0ca7f Merge "Call __cxa_thread_finalize for the main thread." 2015-04-16 08:06:03 +00:00
Christopher Ferris
80a18851f5 am 22081158: am 12d89027: Merge "Update the number of jemalloc reserved keys."
* commit '22081158da5605e87d5db5c98a1c6d4a24802063':
  Update the number of jemalloc reserved keys.
2015-04-16 05:23:48 +00:00
Christopher Ferris
22081158da am 12d89027: Merge "Update the number of jemalloc reserved keys."
* commit '12d89027457b4d5dce6c3a7fd01a2951f273d9a9':
  Update the number of jemalloc reserved keys.
2015-04-16 05:01:51 +00:00
Christopher Ferris
12d8902745 Merge "Update the number of jemalloc reserved keys." 2015-04-16 04:42:38 +00:00
Yabin Cui
459676c3b3 am 86ad2037: am 2587c6a2: Merge "Change on handling of SIGEV_THREAD timers."
* commit '86ad2037793d1f125d59d115ee90f2f105f94f41':
  Change on handling of SIGEV_THREAD timers.
2015-04-16 01:59:15 +00:00
Yabin Cui
86ad203779 am 2587c6a2: Merge "Change on handling of SIGEV_THREAD timers."
* commit '2587c6a2f0f946bd7c1e526c20b2623c01accd60':
  Change on handling of SIGEV_THREAD timers.
2015-04-16 01:28:28 +00:00
Yabin Cui
2587c6a2f0 Merge "Change on handling of SIGEV_THREAD timers." 2015-04-16 01:08:25 +00:00
Yabin Cui
95f1ee235a Change on handling of SIGEV_THREAD timers.
1. Don't prevent calling callback when SIGEV_THREAD timers are disarmed by timer_settime.
As in POSIX standard: The effect of disarming or resetting a timer with pending
expiration notifications is unspecified. And glibc didn't prevent in this situation, so I
think it is fine to remove the support.
2. Still prevent calling callback when SIGEV_THREAD timers are deleted by timer_delete.
As in POSIX standard: The disposition of pending signals for the deleted timer is unspecified.
However, glibc handles this (although that is not perfect). And some of our tests in
time_test.cpp depend on this feature as described in b/18039727. so I retain the support.
3. Fix some flaky test in time_test.cpp, and make "time*" test pass on bionic-unit-tests-glibcxx.

Bug: 18263854

Change-Id: I8ced184eacdbfcf433fd81b0c69c38824beb8ebc
2015-04-15 17:36:01 -07:00
Christopher Ferris
c0f89283cc Update the number of jemalloc reserved keys.
jemalloc now uses a single key pointing to a structure rather
than multiple keys.

Change-Id: Ib76185a594ab2cd4dc400d9a7a5bc0a57a7ac92d
2015-04-15 17:20:10 -07:00
Elliott Hughes
43e020ce93 Remove PROP_PATH_SYSTEM_DEFAULT.
Change-Id: Ib01d9c2f9d890eb5e7ba1e15bd11767195e84967
2015-04-15 17:03:43 -07:00
Dmitriy Ivanov
a2f29a1375 am 4e8f791b: am c6ccdfaf: Merge "Hide emutls* symbols in libc.so"
* commit '4e8f791b43c0ec44ee884cf90b4241d947bd2b72':
  Hide emutls* symbols in libc.so
2015-04-16 00:00:05 +00:00
Dmitriy Ivanov
4e8f791b43 am c6ccdfaf: Merge "Hide emutls* symbols in libc.so"
* commit 'c6ccdfaf1ff4665ec96962863054263510d73e7b':
  Hide emutls* symbols in libc.so
2015-04-15 23:45:37 +00:00
Dmitriy Ivanov
c6ccdfaf1f Merge "Hide emutls* symbols in libc.so" 2015-04-15 23:27:38 +00:00
Dmitriy Ivanov
163ab8ba86 Call __cxa_thread_finalize for the main thread.
Bug: http://b/20231984
Bug: http://b/16696563
Change-Id: I71cfddd0d404d1d4a593ec8d3bca9741de8cb90f
2015-04-15 16:24:21 -07:00
Dmitriy Ivanov
66aa0b61f7 Hide emutls* symbols in libc.so
Also make thread_local in test static to avoid ld.bfd
 warning for arm64.

Change-Id: I09a3f2aa9b73a4fafa3f3bbc64ddc2a128ad50ee
2015-04-15 14:23:00 -07:00
Christopher Ferris
27b6c01562 am 4a9e3d76: am cafc9480: Merge "Fix addition of extra arg to cfi_restore."
* commit '4a9e3d76a5be7d60e259cb36a2e467ee34c46a26':
  Fix addition of extra arg to cfi_restore.
2015-04-15 00:47:51 +00:00
Christopher Ferris
4a9e3d76a5 am cafc9480: Merge "Fix addition of extra arg to cfi_restore."
* commit 'cafc948069d447aa1e4dde599ee83bf6c0c5d5d8':
  Fix addition of extra arg to cfi_restore.
2015-04-15 00:22:59 +00:00
Christopher Ferris
7707542aa1 am ffecd6ce: am a529efac: Merge "Add missing cfi directives for x86 assembler."
* commit 'ffecd6cef91cbd3d01b1a09737d9e2b3bdfe9818':
  Add missing cfi directives for x86 assembler.
2015-04-15 00:22:44 +00:00
Christopher Ferris
cafc948069 Merge "Fix addition of extra arg to cfi_restore." 2015-04-15 00:07:35 +00:00
Christopher Ferris
940d3122c9 Fix addition of extra arg to cfi_restore.
Change-Id: I8fdcc1ae3e91b69ccbcec756a89e1ccb4fa1be53
2015-04-14 17:02:31 -07:00
Christopher Ferris
ffecd6cef9 am a529efac: Merge "Add missing cfi directives for x86 assembler."
* commit 'a529efac4efa4641186fef5003752cc1c43ec763':
  Add missing cfi directives for x86 assembler.
2015-04-15 00:00:48 +00:00
Christopher Ferris
a529efac4e Merge "Add missing cfi directives for x86 assembler." 2015-04-14 23:43:09 +00:00
Christopher Ferris
605ee81b06 Add missing cfi directives for x86 assembler.
Change-Id: I80d3e33a71bbaeab5f39b667ebe61e865fd54b80
2015-04-14 16:42:10 -07:00
Yabin Cui
530288f1be am c2eac94a: am 8f3f0418: Merge "Prevent using static-allocated pthread keys before creation."
* commit 'c2eac94a8792b621765d102f918103b58bed693e':
  Prevent using static-allocated pthread keys before creation.
2015-04-14 21:53:45 +00:00
Yabin Cui
c2eac94a87 am 8f3f0418: Merge "Prevent using static-allocated pthread keys before creation."
* commit '8f3f04184a5772b421867b59acd3d0dfbc6fa4eb':
  Prevent using static-allocated pthread keys before creation.
2015-04-14 21:00:19 +00:00
Yabin Cui
8f3f04184a Merge "Prevent using static-allocated pthread keys before creation." 2015-04-14 20:35:08 +00:00
Yabin Cui
5ddbb3f936 Prevent using static-allocated pthread keys before creation.
Bug: 19993460

Change-Id: I244dea7f5df3c8384f88aa48d635348fafc9cbaf
2015-04-14 13:32:09 -07:00
Dan Albert
43b59137e7 am 2bd1560e: am 447cd196: Merge "Skip merge-failed messages from Gerrit."
* commit '2bd1560eda2f51bd34d70d56087e59888709753d':
  Skip merge-failed messages from Gerrit.
2015-04-14 03:01:38 +00:00
Dan Albert
2bd1560eda am 447cd196: Merge "Skip merge-failed messages from Gerrit."
* commit '447cd19681cfd0a71282c87d1b32a7757bbaba81':
  Skip merge-failed messages from Gerrit.
2015-04-14 01:52:51 +00:00
Dan Albert
447cd19681 Merge "Skip merge-failed messages from Gerrit." 2015-04-14 01:33:35 +00:00
Dan Albert
a0ecd5b2b4 Skip merge-failed messages from Gerrit.
Change-Id: I2d8055a44cd78f95e64d6cf88e9efdd610a4fa88
2015-04-13 17:33:51 -07:00
Dmitriy Ivanov
2eff46f170 am ffc34e51: am de889741: Merge "Fix dl* tests to run-on-host"
* commit 'ffc34e51f71cbf88230023b7ce1d7a2c5b253c0c':
  Fix dl* tests to run-on-host
2015-04-11 01:06:30 +00:00
Dmitriy Ivanov
ffc34e51f7 am de889741: Merge "Fix dl* tests to run-on-host"
* commit 'de889741201faa338e01babdfd10bbd597769e60':
  Fix dl* tests to run-on-host
2015-04-11 00:45:59 +00:00
Dmitriy Ivanov
de88974120 Merge "Fix dl* tests to run-on-host" 2015-04-11 00:28:05 +00:00
Dan Albert
bdf9bb8fc4 am 1adfe6b2: am c921eb67: Merge "Don\'t build any changes that touch bionicbb."
* commit '1adfe6b20d096b5271b5eef1c15f8fc37e3caaf8':
  Don't build any changes that touch bionicbb.
2015-04-10 04:34:56 +00:00
Dmitriy Ivanov
34ecca9c3c am 1eb37bae: am 9ce9bf5a: Merge "Add Elfxx_Ver* types"
* commit '1eb37baed8b9cb90cf6f59a876f7e9b1c817e45b':
  Add Elfxx_Ver* types
2015-04-10 04:32:44 +00:00
Dan Albert
1adfe6b20d am c921eb67: Merge "Don\'t build any changes that touch bionicbb."
* commit 'c921eb677077f96c09c66ac34cad490356afde6c':
  Don't build any changes that touch bionicbb.
2015-04-10 00:37:47 +00:00
Dan Albert
c921eb6770 Merge "Don't build any changes that touch bionicbb." 2015-04-10 00:25:18 +00:00
Dan Albert
d032378790 Don't build any changes that touch bionicbb.
Right now any changes in here would be innocuous because I manually
update bionicbb, but I'd like to check in the various job
configurations. Once I have we don't want anyone to be able to make
the buildbot run any untrusted code.

Change-Id: Ic050859cd5017615f71c75f995ba21bb45407b05
2015-04-09 17:18:53 -07:00
Dmitriy Ivanov
1eb37baed8 am 9ce9bf5a: Merge "Add Elfxx_Ver* types"
* commit '9ce9bf5aec5ed2ec75acdc05f00a49728563a782':
  Add Elfxx_Ver* types
2015-04-09 22:34:29 +00:00
Dmitriy Ivanov
9ce9bf5aec Merge "Add Elfxx_Ver* types" 2015-04-09 22:14:09 +00:00
Dmitriy Ivanov
ef25592f14 Fix dl* tests to run-on-host
Bug: http://b/20121152
Change-Id: I1e1f41d885c75dbb26f91565a53a15d62ef72ce6
2015-04-09 14:56:26 -07:00
Dmitriy Ivanov
c0e7dbb1db Add Elfxx_Ver* types
Bug: http://b/20139821
Change-Id: I7a367b08faa3bf5c005996c066cd35709f533265
2015-04-09 13:58:53 -07:00
Christopher Ferris
64420c5fd4 am 0b93c0c1: am 0a92ac88: Merge "Use assembly memmove for all arm32 processors."
* commit '0b93c0c19280bc57c732a8f6a93b4735730f91c5':
  Use assembly memmove for all arm32 processors.
2015-04-09 18:27:19 +00:00
Christopher Ferris
0b93c0c192 am 0a92ac88: Merge "Use assembly memmove for all arm32 processors."
* commit '0a92ac884891b167d6393592fbf9ecf26218f9aa':
  Use assembly memmove for all arm32 processors.
2015-04-09 18:02:53 +00:00
Yabin Cui
56cda5cc09 am e29db673: am 9f2c2f53: Merge "Provide writer preference option in rwlock."
* commit 'e29db67312f4e2856a92b11498fc067d7f46dcac':
  Provide writer preference option in rwlock.
2015-04-09 17:52:17 +00:00
Christopher Ferris
0a92ac8848 Merge "Use assembly memmove for all arm32 processors." 2015-04-09 17:41:58 +00:00
Yabin Cui
e29db67312 am 9f2c2f53: Merge "Provide writer preference option in rwlock."
* commit '9f2c2f53d372001ac6565b060a07d4416ca58e47':
  Provide writer preference option in rwlock.
2015-04-09 17:36:48 +00:00
Yabin Cui
9f2c2f53d3 Merge "Provide writer preference option in rwlock." 2015-04-09 17:19:44 +00:00
Neil Fuller
e42cb680a3 am 37eca951: am f9ff2eea: Merge "Upgrade timezone data to 2015b"
* commit '37eca9511be51e2c37ab843b791c9ab52b604954':
  Upgrade timezone data to 2015b
2015-04-09 14:16:45 +00:00
Neil Fuller
37eca9511b am f9ff2eea: Merge "Upgrade timezone data to 2015b"
* commit 'f9ff2eeaeeb841fa9f197ee8b6bc9521e63210dd':
  Upgrade timezone data to 2015b
2015-04-09 14:01:07 +00:00
Neil Fuller
f9ff2eeaee Merge "Upgrade timezone data to 2015b" 2015-04-09 13:45:03 +00:00
Neil Fuller
753e9836ad am 062795f7: am 694282b1: Merge "Update update-tzdata.py tool to generate ICU4J data jars"
* commit '062795f773764b3576f987f2b90a7c04c53ba60a':
  Update update-tzdata.py tool to generate ICU4J data jars
2015-04-09 10:16:59 +00:00
Neil Fuller
aba687a09c Upgrade timezone data to 2015b
Changes affecting future time stamps

    Mongolia will start observing DST again this year, from the last
    Saturday in March at 02:00 to the last Saturday in September at 00:00.
    (Thanks to Ganbold Tsagaankhuu.)

    Palestine will start DST on March 28, not March 27.  Also,
    correct the fall 2014 transition from September 26 to October 24.
    Adjust future predictions accordingly.  (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps

    The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a
    regression.  (Thanks to Stuart Bishop for reporting the problem.)

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: America/Antigua, America/Cayman,
    Pacific/Midway, and Pacific/Saipan.

  Changes affecting time zone abbreviations

    Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD".
    (Thanks to Hank W.)

Bug: 19887183
Change-Id: I1b4bdc5ae5cf778908a77893d7f8db8a4117e1e1
2015-04-09 11:15:27 +01:00
Neil Fuller
062795f773 am 694282b1: Merge "Update update-tzdata.py tool to generate ICU4J data jars"
* commit '694282b1726a6c5f64df3695594bf23707cf4771':
  Update update-tzdata.py tool to generate ICU4J data jars
2015-04-09 09:56:53 +00:00
Neil Fuller
694282b172 Merge "Update update-tzdata.py tool to generate ICU4J data jars" 2015-04-09 09:39:57 +00:00
Neil Fuller
4d3abcb033 Update update-tzdata.py tool to generate ICU4J data jars
The ICU4J changes are not necessary for use on Android (since
we use the ICU4C .dat file), but updating them ensures that
the .jars in sync with everything else and the jars are currently
required for host tests.

Change-Id: Ie56b31af87e8fbd27a6489af8287e4b6a7be6b8f
2015-04-09 09:38:31 +00:00
Dan Albert
00627f94b4 am b7460a35: am 5cf46f81: Merge "Reject changes with cleanspecs."
* commit 'b7460a352e8456d2f77d990a6e76edc9de102e98':
  Reject changes with cleanspecs.
2015-04-09 01:13:18 +00:00
Dan Albert
b7460a352e am 5cf46f81: Merge "Reject changes with cleanspecs."
* commit '5cf46f81ead958f43178ee8f613432b5f66045e5':
  Reject changes with cleanspecs.
2015-04-09 00:31:59 +00:00
Christopher Ferris
41efc92e35 Use assembly memmove for all arm32 processors.
Bug: 15110993
Change-Id: Ia3dcd6b8c4032f8c72b6f2e628b635ce99667c09
2015-04-08 16:53:16 -07:00
Dan Albert
5cf46f81ea Merge "Reject changes with cleanspecs." 2015-04-08 22:52:44 +00:00
Yabin Cui
76615dae93 Provide writer preference option in rwlock.
Previous implementation of rwlock contains four atomic variables, which
is hard to maintain and change. So I make following changes in this CL:

1. Add pending flags in rwlock.state, so we don't need to synchronize
between different atomic variables. Using compare_and_swap operations
on rwlock.state is enough for all state change.

2. Add pending_lock to protect readers/writers waiting and wake up
operations. As waiting/wakeup is not performance critical, using a
lock is easier to maintain.

3. Add writer preference option.

4. Add unit tests for rwlock.

Bug: 19109156

Change-Id: Idcaa58d695ea401d64445610b465ac5cff23ec7c
2015-04-08 13:11:13 -07:00
Dmitriy Ivanov
8614073ef3 am e2aa8002: am 598493e7: Merge "Stop libc from cross-referencing unwind symbols"
* commit 'e2aa80028999fbb896d40f27c2fe5f0691f992f0':
  Stop libc from cross-referencing unwind symbols
2015-04-07 20:12:59 +00:00
Dmitriy Ivanov
e2aa800289 am 598493e7: Merge "Stop libc from cross-referencing unwind symbols"
* commit '598493e725e0298ae11ddbdee62c3a7007eb503c':
  Stop libc from cross-referencing unwind symbols
2015-04-07 19:39:40 +00:00
Dmitriy Ivanov
598493e725 Merge "Stop libc from cross-referencing unwind symbols" 2015-04-07 19:21:32 +00:00
Neil Fuller
fb2c7ab1f0 am d4451f13: am 957f6188: Merge "Changes to re-enable overrides for tz data"
* commit 'd4451f130c754243f6c98880fa652874c567c4c3':
  Changes to re-enable overrides for tz data
2015-04-07 13:33:42 +00:00
Neil Fuller
d4451f130c am 957f6188: Merge "Changes to re-enable overrides for tz data"
* commit '957f6188fa7494ea8b7701b14df4c9127d27a9ef':
  Changes to re-enable overrides for tz data
2015-04-07 13:16:45 +00:00
Neil Fuller
957f6188fa Merge "Changes to re-enable overrides for tz data" 2015-04-07 12:55:07 +00:00
Dmitriy Ivanov
5f43c7a9bb am 6c4ef816: am 9fbd8fd4: Merge "Fix x86_64 build"
* commit '6c4ef816db5f7b9b4a659f997327d6edee65973b':
  Fix x86_64 build
2015-04-07 02:48:19 +00:00
Dmitriy Ivanov
6c4ef816db am 9fbd8fd4: Merge "Fix x86_64 build"
* commit '9fbd8fd4bc1767b65abd0fdbdb5e35cdc4dafe13':
  Fix x86_64 build
2015-04-07 02:28:57 +00:00
Dmitriy Ivanov
9fbd8fd4bc Merge "Fix x86_64 build" 2015-04-07 02:08:43 +00:00
Dmitriy Ivanov
1dce3ed249 Fix x86_64 build
Change-Id: Id81c059bf3ecdb9cc84d04d16ffda34baaadc5a1
2015-04-06 19:05:58 -07:00
Dmitriy Ivanov
cd13b14e98 Stop libc from cross-referencing unwind symbols
This makes unwind symbols 'protected',
  which should prevent them from relocating
  against libc++.so/libcutls.so.

  This is temporary file and it is going
  to be removed once libc.so stops exporting
  them.

Bug: http://b/19958712
Change-Id: I96a765afe47e68d2e2ceb288870e63a25ca52081
2015-04-07 01:48:35 +00:00
Dmitriy Ivanov
03930d4476 am 0e67ab32: am 8a1007db: Merge "Add realpath for soinfo"
* commit '0e67ab32f2a7ab6685d9e4c5a38c0d5a5396800a':
  Add realpath for soinfo
2015-04-07 00:52:43 +00:00
Dmitriy Ivanov
0e67ab32f2 am 8a1007db: Merge "Add realpath for soinfo"
* commit '8a1007dbababa6c4812c267ca9119cf0765afc3f':
  Add realpath for soinfo
2015-04-07 00:32:46 +00:00
Dmitriy Ivanov
8a1007dbab Merge "Add realpath for soinfo" 2015-04-07 00:14:57 +00:00
Elliott Hughes
53296ddab0 am 04b59972: am 67de2593: Merge "Add a test for getdelim(3) on a directory."
* commit '04b59972814b8d9c93b0fb72cbcaeeaa761894cd':
  Add a test for getdelim(3) on a directory.
2015-04-06 23:14:43 +00:00
Dan Albert
dadac10fcc Reject changes with cleanspecs.
Cleanspecs must not be removed once they have been built. This means
they can't be reverted, or reliably cherry-picked. Just skip any
changes that include them since they make such a mess.

Change-Id: I3df8d81f93651d573485de7a75ecf5c6278c0001
2015-04-06 14:22:37 -07:00
Dmitriy Ivanov
aae859cc3c Add realpath for soinfo
This change adds realpath to soinfo and
  extends limit on filenames from 128 to PATH_MAX.

  It also removes soinfo::name field, linker uses
  dt_soname instead.

Bug: http://b/19818481
Bug: https://code.google.com/p/android/issues/detail?id=80336
Change-Id: I9cff4cb5bda3ee2bc74e1bbded9594ea7fbe2a08
2015-04-06 21:15:43 +00:00
Elliott Hughes
04b5997281 am 67de2593: Merge "Add a test for getdelim(3) on a directory."
* commit '67de2593b3d7e9e94ac8993efd51da4b512c6af5':
  Add a test for getdelim(3) on a directory.
2015-04-06 19:49:26 +00:00
Elliott Hughes
67de2593b3 Merge "Add a test for getdelim(3) on a directory." 2015-04-06 19:36:13 +00:00
Elliott Hughes
694fd2d880 Add a test for getdelim(3) on a directory.
Apparently uClibc has a bug here. We don't, but let's keep it that way.

Bug: http://landley.net/notes.html#21-03-2015
Change-Id: If406df963db9bee47921d7a1c116ebcab08d96bf
2015-04-05 10:51:56 -07:00
Yabin Cui
f297fca177 am 9c4d0941: am 4bd8f963: Merge "Fix bug for recursive/errorcheck mutex on 32-bit devices."
* commit '9c4d0941f985e2ab9ec5fca579dc98d4ad26fec2':
  Fix bug for recursive/errorcheck mutex on 32-bit devices.
2015-04-04 20:07:23 +00:00
Yabin Cui
9c4d0941f9 am 4bd8f963: Merge "Fix bug for recursive/errorcheck mutex on 32-bit devices."
* commit '4bd8f9637daaada333ff35945b00cfe6cb822376':
  Fix bug for recursive/errorcheck mutex on 32-bit devices.
2015-04-04 19:47:57 +00:00
Yabin Cui
4bd8f9637d Merge "Fix bug for recursive/errorcheck mutex on 32-bit devices." 2015-04-04 19:31:55 +00:00
Yabin Cui
f796985923 Fix bug for recursive/errorcheck mutex on 32-bit devices.
Bug: 19216648
Change-Id: I3b43b2d18d25b9bde352da1e35f9568133dec7cf
2015-04-03 19:01:17 -07:00
Dmitriy Ivanov
ccacf7c16a am 5a811bed: am e686df8d: Merge "Add libdl dependency for target libraries"
* commit '5a811bed273651406c91c543eefb19d12a55f9b4':
  Add libdl dependency for target libraries
2015-04-03 23:34:13 +00:00
Dmitriy Ivanov
5a811bed27 am e686df8d: Merge "Add libdl dependency for target libraries"
* commit 'e686df8d839216460f02cf7db6c4e26a13e49afd':
  Add libdl dependency for target libraries
2015-04-03 23:14:29 +00:00
Dmitriy Ivanov
e686df8d83 Merge "Add libdl dependency for target libraries" 2015-04-03 22:54:06 +00:00
Dmitriy Ivanov
45c57131d2 Add libdl dependency for target libraries
Fixed x86_64 target build with gcc 4.9

Change-Id: Id3b1e9286c2bcbb8e3ac117bcef957304db7cfd3
2015-04-03 15:17:52 -07:00
Elliott Hughes
329aefb20f am d7e64284: am cec2ab20: Merge "Try again to fix clang build."
* commit 'd7e64284ca7fa71d298d26e1ba84ce993bb98c92':
  Try again to fix clang build.
2015-04-03 21:19:41 +00:00
Elliott Hughes
d7e64284ca am cec2ab20: Merge "Try again to fix clang build."
* commit 'cec2ab20a0d2b24c15aa289cbac5d4291c856092':
  Try again to fix clang build.
2015-04-03 20:58:48 +00:00
Elliott Hughes
4c8c63a4de am f29f8ae6: am ec8b3a7d: Merge "Fix clang build."
* commit 'f29f8ae6e3fb8af2944cdbb2c0d29894c51cf3e5':
  Fix clang build.
2015-04-03 20:53:13 +00:00
Elliott Hughes
cec2ab20a0 Merge "Try again to fix clang build." 2015-04-03 20:38:15 +00:00
Elliott Hughes
dffd3c5838 Try again to fix clang build.
I got the condition the wrong way round in the previous change.

Bug: http://b/20065774
Change-Id: I218b224b37f5fb2f7c7ec2f9af27472b340c4b15
2015-04-03 13:37:18 -07:00
Elliott Hughes
f29f8ae6e3 am ec8b3a7d: Merge "Fix clang build."
* commit 'ec8b3a7dde3c282c4f9ca5c8bf5a7e1b7469def0':
  Fix clang build.
2015-04-03 20:36:55 +00:00
Dmitriy Ivanov
c461b78e43 am 5057929f: am aea165cb: Merge "Add ANDROID_DLEXT_FORCE_LOAD flag"
* commit '5057929fc8a71feedffaf7a688468d9f8ea1621f':
  Add ANDROID_DLEXT_FORCE_LOAD flag
2015-04-03 20:24:27 +00:00
Elliott Hughes
003b1639bd am 97c78020: am b1f1de4d: Merge "Fix volantis boot."
* commit '97c7802038b3c2472d2377984e749f398eee078c':
  Fix volantis boot.
2015-04-03 20:24:26 +00:00
Elliott Hughes
ec8b3a7dde Merge "Fix clang build." 2015-04-03 20:12:02 +00:00
Elliott Hughes
0975a5d9d2 Fix clang build.
Apparently clang really doesn't want you to take the address of a builtin.
Since this is only a temporary hack, let's just shrug and accept that
clang-built volantis images won't work until we have new NVIDIA blobs.

Bug: http://b/20065774
Change-Id: I4c8e893b15a1af8f9c54d3f89bfef112b63d09b4
2015-04-03 13:10:04 -07:00
Dmitriy Ivanov
5057929fc8 am aea165cb: Merge "Add ANDROID_DLEXT_FORCE_LOAD flag"
* commit 'aea165cb03abceb85062e94f22f72e1c9d9800a4':
  Add ANDROID_DLEXT_FORCE_LOAD flag
2015-04-03 19:59:03 +00:00
Elliott Hughes
97c7802038 am b1f1de4d: Merge "Fix volantis boot."
* commit 'b1f1de4dd4b1a3802abd5284de9ebfe6a98057f1':
  Fix volantis boot.
2015-04-03 19:59:01 +00:00
Dmitriy Ivanov
aea165cb03 Merge "Add ANDROID_DLEXT_FORCE_LOAD flag" 2015-04-03 19:45:24 +00:00
Elliott Hughes
b1f1de4dd4 Merge "Fix volantis boot." 2015-04-03 19:38:31 +00:00
Elliott Hughes
76e1cbca75 Fix volantis boot.
NVIDIA binary blobs are assuming that __cache_clear, _Unwind_Backtrace,
and _Unwind_GetIP are all in some library that they link, but now we've
cleaned up this leakage, they're no longer getting it. Deliberately leak
the symbols from libc.so until we get new blobs.

Bug: http://b/20065774
Change-Id: I92ef07b2bce8d1ad719bf40dab41d745cd6904d4
2015-04-03 12:37:03 -07:00
Dmitriy Ivanov
9b82136b98 Add ANDROID_DLEXT_FORCE_LOAD flag
This flag allows to force loading of the library
  in the case when for some reason multiple ELF files
  share the same filename (because the already-loaded
  library has been removed and overwritten, for example).

Change-Id: I798d44409ee13d63eaa75d685e99c4d028d2b0c1
2015-04-03 10:50:48 -07:00
Dmitriy Ivanov
3eef109c40 am 76832b63: am 06b6e3c5: Merge "Look into local group on dlsym with RTLD_DEFAULT"
* commit '76832b63967c81549a6628f7bd02eada1b11e238':
  Look into local group on dlsym with RTLD_DEFAULT
2015-04-02 22:35:49 +00:00
Dmitriy Ivanov
76832b6396 am 06b6e3c5: Merge "Look into local group on dlsym with RTLD_DEFAULT"
* commit '06b6e3c51d38d70c5ca99f3a3f795697031ac27f':
  Look into local group on dlsym with RTLD_DEFAULT
2015-04-02 22:14:58 +00:00
Dmitriy Ivanov
06b6e3c51d Merge "Look into local group on dlsym with RTLD_DEFAULT" 2015-04-02 21:55:01 +00:00
Dmitriy Ivanov
76ac1acdac Look into local group on dlsym with RTLD_DEFAULT
Fix dlsym to look into local group when called with
  RTLD_DEFAULT and RTLD_NEXT.

Bug: 17512583
Change-Id: I541354e89539c712af2ea4ec751e546913027084
2015-04-02 14:12:45 -07:00
Elliott Hughes
84afcc3e1e am 918415f3: am d619d6ff: Merge "Remove _memset16 and _memset32 from mips/mips64 bionic."
* commit '918415f3dc8590f422fa3540c0c6877360745466':
  Remove _memset16 and _memset32 from mips/mips64 bionic.
2015-04-02 21:08:58 +00:00
Yabin Cui
9e2f2b4d88 am 801bf53a: am 00d1101c: Merge "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices."
* commit '801bf53a2740fadd23752ce8fdb8484fb478897b':
  Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.
2015-04-02 21:08:57 +00:00
Elliott Hughes
918415f3dc am d619d6ff: Merge "Remove _memset16 and _memset32 from mips/mips64 bionic."
* commit 'd619d6ffb876de6a8f051c850762a6f7a7e55c76':
  Remove _memset16 and _memset32 from mips/mips64 bionic.
2015-04-02 20:47:54 +00:00
Yabin Cui
801bf53a27 am 00d1101c: Merge "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices."
* commit '00d1101cc170ce786f26143a897b4a3e3363b55f':
  Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.
2015-04-02 20:47:53 +00:00
Elliott Hughes
d619d6ffb8 Merge "Remove _memset16 and _memset32 from mips/mips64 bionic." 2015-04-02 20:35:22 +00:00
Yabin Cui
00d1101cc1 Merge "Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices." 2015-04-02 20:27:40 +00:00
Christopher Ferris
9d4c2337b0 am 5c0dc67b: am 618935d2: Merge "gtest_repeat should allow negative values."
* commit '5c0dc67be53100f64e678e4b19ae46ea287c75ea':
  gtest_repeat should allow negative values.
2015-04-02 20:02:35 +00:00
Christopher Ferris
5c0dc67be5 am 618935d2: Merge "gtest_repeat should allow negative values."
* commit '618935d2679e84cc839316c042ee3dde5f7d7097':
  gtest_repeat should allow negative values.
2015-04-02 19:42:49 +00:00
Christopher Ferris
618935d267 Merge "gtest_repeat should allow negative values." 2015-04-02 19:19:38 +00:00
Christopher Ferris
119cb55d43 gtest_repeat should allow negative values.
If you pass in a negative value to gtest_repeat, it should run forever.
The new runner didn't allow this, now it does.

Change-Id: Ie0002c12e2fdad22b264adca37c165cfcfe05c7a
2015-04-02 12:16:00 -07:00
Elliott Hughes
b0cf9288cd Remove _memset16 and _memset32 from mips/mips64 bionic.
These should be in libcutils instead.

Change-Id: Ibbc94755e6da61bf9ce2c8f9a047a082bb9bce24
2015-04-02 10:34:58 -07:00
Nick Kralevich
c68d6bcd8e am 3b84e4bc: am 3cc3f17a: Merge "linker: never mark pages simultaneously writable / executable"
* commit '3b84e4bcd020cb917067fa87e4a60a62c5c42928':
  linker: never mark pages simultaneously writable / executable
2015-04-02 14:21:58 +00:00
Nick Kralevich
3b84e4bcd0 am 3cc3f17a: Merge "linker: never mark pages simultaneously writable / executable"
* commit '3cc3f17aa4b241da7303299032e4269fcf92a4e6':
  linker: never mark pages simultaneously writable / executable
2015-04-02 13:59:26 +00:00
Nick Kralevich
3cc3f17aa4 Merge "linker: never mark pages simultaneously writable / executable" 2015-04-02 13:29:50 +00:00
Yabin Cui
e69c24543d Refactor pthread_mutex to support 32-bit owner_tid on 64-bit devices.
Bug: 19216648
Change-Id: I765ecacc9036659c766f5d1f6600e1a65364199b
2015-04-01 21:12:22 -07:00
Dan Albert
5856150605 am 004d0048: am ab7c79e2: Merge "Don\'t export new/delete from libc shared libraries."
* commit '004d004868613b9ad00453661838e0f372958dba':
  Don't export new/delete from libc shared libraries.
2015-04-02 02:59:52 +00:00
Dimitry Ivanov
84f634469b am b3c17a19: am 202af3a2: Merge "Revert "Remove text-relocation support for lp32""
* commit 'b3c17a196222cc09af98f095a0863fc048309fa7':
  Revert "Remove text-relocation support for lp32"
2015-04-02 01:38:57 +00:00
Dan Albert
004d004868 am ab7c79e2: Merge "Don\'t export new/delete from libc shared libraries."
* commit 'ab7c79e22e5495a2aa171047a044ce1037e461a9':
  Don't export new/delete from libc shared libraries.
2015-04-02 01:13:18 +00:00
Nick Kralevich
8fdb3419a5 linker: never mark pages simultaneously writable / executable
When the Android dynamic linker handles a text relocation,
it first relaxes the permissions on the segment being modified,
performs the modifications, and then restores the page permissions.
The relaxation worked by adding PROT_WRITE to whatever protection
bits were set in the section. In effect, the pages were getting set
to PROT_READ|PROT_WRITE|PROT_EXEC, modified, then restored to
PROT_READ|PROT_EXEC

The SELinux kernel code differentiates between 4 different kinds
of executable memory:
* Executable stack (execstack)
* Executable heap (execheap)
* File-based executable code which has been modified (execmod)
* All other executable memory (execmem)

The execmod capability is only triggered by the kernel when a
dirty but non-executable mmap()ed page becomes executable. When that
occurs, an SELinux policy check is done to see if the execmod capability
is provided by policy.

However, if the page is already executable, and PROT_WRITE is added
to the page, it's considered an execmem permission check, not an execmod
permission check.

There are certain circumstances where we may want to distinguish between
execmod and execmem. This change adjusts the dynamic linker to avoid
using RWX pages, so that an RX -> RW -> RX transition will properly
be detected as an execmod permission check instead of an execmem permission
check.

Bug: 20013628
Change-Id: I14d7be29170b156942f9809023f3b2fc1f37846c
2015-04-01 18:05:19 -07:00
Dan Albert
ab7c79e22e Merge "Don't export new/delete from libc shared libraries." 2015-04-01 23:33:53 +00:00
Dan Albert
d6bf3d5e19 Don't export new/delete from libc shared libraries.
This used to be handled by -fvisibility=hidden on libc_cxa, but that
was broken by the resolution of https://llvm.org/PR22419 (introduced
to Android in today's clang update).

Now we just use a version script that prevents these from being
re-exported from our shared libraries.

Change-Id: Ib290e1d0d7426e09ad17a91178162fff6dbdcfa9
2015-04-01 16:31:57 -07:00
Elliott Hughes
08c16b17a1 am d4144fd7: am b023799a: Merge "Fix ftw tests when run as non-root."
* commit 'd4144fd700974911fc28e69174ec526d081ea902':
  Fix ftw tests when run as non-root.
2015-04-01 22:09:30 +00:00
Elliott Hughes
ee7ec71284 am a031e93d: am d227d57d: Merge "Update README.md for running tests on the host."
* commit 'a031e93df3578f46507ce0efa3a40a6a391fd81f':
  Update README.md for running tests on the host.
2015-04-01 22:09:26 +00:00
Dimitry Ivanov
b3c17a1962 am 202af3a2: Merge "Revert "Remove text-relocation support for lp32""
* commit '202af3a23cb23e2571011ea76367ff3e88dfd48e':
  Revert "Remove text-relocation support for lp32"
2015-04-01 21:44:47 +00:00
Dimitry Ivanov
202af3a23c Merge "Revert "Remove text-relocation support for lp32"" 2015-04-01 21:28:29 +00:00
Dimitry Ivanov
56be6ed9e4 Revert "Remove text-relocation support for lp32"
This reverts commit cb00add1b382d1e3045876d7e1ccbee2fdce976b.

Bug: 20020312
Bug: 20013628
Change-Id: I8baa3d4b6c7fef50c9e2531257d5b96762099eb3
2015-04-01 21:18:48 +00:00
Elliott Hughes
d4144fd700 am b023799a: Merge "Fix ftw tests when run as non-root."
* commit 'b023799a6027924aad13b0f91c0b5b7f1b9cfe2d':
  Fix ftw tests when run as non-root.
2015-04-01 19:48:51 +00:00
Elliott Hughes
a031e93df3 am d227d57d: Merge "Update README.md for running tests on the host."
* commit 'd227d57d50f7a5251dbbfa3f2b41d3fe882851fa':
  Update README.md for running tests on the host.
2015-04-01 19:37:45 +00:00
Elliott Hughes
b023799a60 Merge "Fix ftw tests when run as non-root." 2015-04-01 19:32:15 +00:00
Elliott Hughes
0ad256c1b2 Fix ftw tests when run as non-root.
Root can create subdirectories inside non-writable directories, but
other users can't.

Change-Id: I102fe610d1bd2733aebf184b544e58612465287d
2015-04-01 12:22:40 -07:00
Elliott Hughes
d227d57d50 Merge "Update README.md for running tests on the host." 2015-04-01 19:20:09 +00:00
Elliott Hughes
d3d018b2b4 Update README.md for running tests on the host.
Change-Id: Ib360d91bffd269e7acdb20ad33a7bd85345a1475
2015-04-01 12:16:56 -07:00
Dmitriy Ivanov
fd5f718d6e am b3f8daab: am 61a35fa4: Merge "Remove text-relocation support for lp32"
* commit 'b3f8daab591fef3eabb8f9151334bb4a5c6eafda':
  Remove text-relocation support for lp32
2015-04-01 02:32:07 +00:00
Mark Salyzyn
80416cca09 am 64226a48: am 8f41142c: Merge "stubs missing include for string.h"
* commit '64226a48a1e9b25bb6985c9c14097d400039be35':
  stubs missing include for string.h
2015-04-01 02:32:05 +00:00
Elliott Hughes
1fe8a49ed4 am c325dfdd: am 72035734: Merge "Make ThreadLocalBuffer a class rather than a macro."
* commit 'c325dfdd8e44d4124e7122b1435ba66287ef6e08':
  Make ThreadLocalBuffer a class rather than a macro.
2015-04-01 02:32:03 +00:00
Christopher Ferris
0ddef60c42 am 8f604eb4: am 89a4a541: Merge "Upgrade kernel headers to 3.18.10."
* commit '8f604eb4097ae6e0ac89981fe2ff85a9c22d3a4c':
  Upgrade kernel headers to 3.18.10.
2015-04-01 02:32:01 +00:00
Dmitriy Ivanov
b3f8daab59 am 61a35fa4: Merge "Remove text-relocation support for lp32"
* commit '61a35fa40c898dc08c28c9da8b174ba5d5614579':
  Remove text-relocation support for lp32
2015-04-01 01:51:51 +00:00
Mark Salyzyn
64226a48a1 am 8f41142c: Merge "stubs missing include for string.h"
* commit '8f41142cd631bdd8bf02dcfbb599e5edbfcbd67e':
  stubs missing include for string.h
2015-04-01 01:40:57 +00:00
Elliott Hughes
c325dfdd8e am 72035734: Merge "Make ThreadLocalBuffer a class rather than a macro."
* commit '72035734af2d8558a3ccd7e29626216e20aed6f2':
  Make ThreadLocalBuffer a class rather than a macro.
2015-04-01 01:40:56 +00:00
Dmitriy Ivanov
61a35fa40c Merge "Remove text-relocation support for lp32" 2015-04-01 01:37:46 +00:00
Christopher Ferris
8f604eb409 am 89a4a541: Merge "Upgrade kernel headers to 3.18.10."
* commit '89a4a54104d566bbfd226ed1e3abcf047b871690':
  Upgrade kernel headers to 3.18.10.
2015-04-01 01:32:54 +00:00
Mark Salyzyn
8f41142cd6 Merge "stubs missing include for string.h" 2015-04-01 00:55:19 +00:00
Elliott Hughes
72035734af Merge "Make ThreadLocalBuffer a class rather than a macro." 2015-04-01 00:51:57 +00:00
Dmitriy Ivanov
cb00add1b3 Remove text-relocation support for lp32
Bug: 20013628
Change-Id: Idaf8012f00ee1304d429c3b42f9ebc6b648c55b8
2015-03-31 17:42:45 -07:00
Mark Salyzyn
56b2768176 stubs missing include for string.h
stubs.cpp gets string.h inherited from private/android_filesystem_config.h
it should not rely on this in the future. The intent is to move fs_config
function into libcutils and thus deprecate any need for string.h in this
include file.

Change-Id: I946ec1979ef5bbb34fbcb4a99bf2cd79280bb2a3
2015-03-31 16:58:35 -07:00
Dmitriy Ivanov
41b70f5374 am d7d6d13b: am 52a0f014: Merge "Fix long lines and replace macros with functions."
* commit 'd7d6d13be8565a7d2fb43ecc8c60b0d627bb9dc1':
  Fix long lines and replace macros with functions.
2015-03-31 23:01:04 +00:00
Christopher Ferris
89a4a54104 Merge "Upgrade kernel headers to 3.18.10." 2015-03-31 22:37:05 +00:00
Christopher Ferris
e01d32f802 Upgrade kernel headers to 3.18.10.
Change-Id: Iff1f1c830780585990856a5114b559c61282dcd6
2015-03-31 14:57:48 -07:00
Dmitriy Ivanov
d7d6d13be8 am 52a0f014: Merge "Fix long lines and replace macros with functions."
* commit '52a0f01421fde3cd4f879b491a9f491d792fa2d5':
  Fix long lines and replace macros with functions.
2015-03-31 20:28:51 +00:00
Dmitriy Ivanov
52a0f01421 Merge "Fix long lines and replace macros with functions." 2015-03-31 20:19:53 +00:00
Dmitriy Ivanov
20d89cb5b0 Fix long lines and replace macros with functions.
Change-Id: I4e1cab488d5b2c8e4289da617350a86e72a4ba12
2015-03-31 11:49:25 -07:00
Elliott Hughes
6170693e28 Make ThreadLocalBuffer a class rather than a macro.
Bug: 19995392
Change-Id: I497c512648fbe66257da3fb3bcd5c9911f983705
2015-03-31 10:56:58 -07:00
Yabin Cui
934eca1cb4 am e58918f7: am 611fd2cc: Merge "Revert "Revert "add guard pages to the internal signal stacks"""
* commit 'e58918f73aec07d0d3e857718f90e6282ce0056b':
  Revert "Revert "add guard pages to the internal signal stacks""
2015-03-31 04:49:32 +00:00
Yabin Cui
e58918f73a am 611fd2cc: Merge "Revert "Revert "add guard pages to the internal signal stacks"""
* commit '611fd2cc91f79be6759f6e630e1e81998326dfe8':
  Revert "Revert "add guard pages to the internal signal stacks""
2015-03-31 04:36:45 +00:00
Yabin Cui
611fd2cc91 Merge "Revert "Revert "add guard pages to the internal signal stacks""" 2015-03-31 04:24:08 +00:00
Yabin Cui
ef11500301 Revert "Revert "add guard pages to the internal signal stacks""
This reverts commit a3125fd1396a09a7fc4872dc4653f342150a3deb.
And Fix the prctl() problem that cause system crash.

Change-Id: Icc8d12d848cfba881a7984ca2827fd81be41f9fd
2015-03-30 20:51:39 -07:00
Elliott Hughes
558f6b0177 am 85f42bd3: am 8225ad63: Merge "Revert "add guard pages to the internal signal stacks""
* commit '85f42bd31b55b83df7503480673a1d3112e50291':
  Revert "add guard pages to the internal signal stacks"
2015-03-31 03:07:18 +00:00
Elliott Hughes
832253b966 am 0c2b7a72: am 2746b928: Merge "Revert "Fix clang build breakage ("arithmetic on a pointer to void").""
* commit '0c2b7a72af0c64d3d3cf33311be99a4f25e01a29':
  Revert "Fix clang build breakage ("arithmetic on a pointer to void")."
2015-03-31 03:07:16 +00:00
Elliott Hughes
85f42bd31b am 8225ad63: Merge "Revert "add guard pages to the internal signal stacks""
* commit '8225ad63fac7c5cc298884c101a344959b87dc39':
  Revert "add guard pages to the internal signal stacks"
2015-03-31 02:54:14 +00:00
Elliott Hughes
0c2b7a72af am 2746b928: Merge "Revert "Fix clang build breakage ("arithmetic on a pointer to void").""
* commit '2746b9289abc0fd5e38b94fc96d101e5e242d9f2':
  Revert "Fix clang build breakage ("arithmetic on a pointer to void")."
2015-03-31 02:54:11 +00:00
Elliott Hughes
8225ad63fa Merge "Revert "add guard pages to the internal signal stacks"" 2015-03-31 02:42:51 +00:00
Elliott Hughes
a3125fd139 Revert "add guard pages to the internal signal stacks"
This reverts commit 595752f623ae88f7e4193a6e531a0805f1c6c4dc.

Change-Id: Iefa66e9049ca0424e53cd5fc320d161b93556dcb
2015-03-31 02:42:39 +00:00
Elliott Hughes
2746b9289a Merge "Revert "Fix clang build breakage ("arithmetic on a pointer to void")."" 2015-03-31 02:41:33 +00:00
Elliott Hughes
3925f32ffb Revert "Fix clang build breakage ("arithmetic on a pointer to void")."
This reverts commit 16c77212792808b9e4d8229e64c5b42f4327b6dc.

Change-Id: I568dee5400599693b1585ce6d4be7a0b5f37dc74
2015-03-31 02:41:20 +00:00
Elliott Hughes
a134eda3fa am aa23e36c: am 2d84d870: Merge "Fix clang build breakage ("arithmetic on a pointer to void")."
* commit 'aa23e36ceef86f8a73d4c100c8e5a126253c5ff5':
  Fix clang build breakage ("arithmetic on a pointer to void").
2015-03-30 23:14:42 +00:00
Elliott Hughes
ec5998271c am 935967bd: am 373748f4: Merge "add guard pages to the internal signal stacks"
* commit '935967bde1b03fb53e661d8e037819209dee97c9':
  add guard pages to the internal signal stacks
2015-03-30 21:46:07 +00:00
Elliott Hughes
aa23e36cee am 2d84d870: Merge "Fix clang build breakage ("arithmetic on a pointer to void")."
* commit '2d84d870db0e6db54cf09441434bf2f5b28c6492':
  Fix clang build breakage ("arithmetic on a pointer to void").
2015-03-30 21:45:37 +00:00
Elliott Hughes
935967bde1 am 373748f4: Merge "add guard pages to the internal signal stacks"
* commit '373748f4c66bb37e564716590e7b4fc8a64e0884':
  add guard pages to the internal signal stacks
2015-03-30 21:35:56 +00:00
Elliott Hughes
2d84d870db Merge "Fix clang build breakage ("arithmetic on a pointer to void")." 2015-03-30 21:34:07 +00:00
Elliott Hughes
16c7721279 Fix clang build breakage ("arithmetic on a pointer to void").
Change-Id: Ia0953fc1cd0f8ea2d4423b3c6e34f6dc7a9f31e9
2015-03-30 14:33:02 -07:00
Elliott Hughes
373748f4c6 Merge "add guard pages to the internal signal stacks" 2015-03-30 21:24:36 +00:00
Daniel Micay
595752f623 add guard pages to the internal signal stacks
Signal handlers tend to be lean, but can still overflow the (tiny)
stack.

Change-Id: Ia21c6453d92a9f8d1536ad01ff26a1a84c05f8fb
2015-03-30 17:13:20 -04:00
Nick Kralevich
e9311f0b7c am c9397b74: am 203082b8: Merge "linker_environ: clear MALLOC_CONF when AT_SECURE=1"
* commit 'c9397b74a96764a434f2206c4fb8471f382966e3':
  linker_environ: clear MALLOC_CONF when AT_SECURE=1
2015-03-27 23:43:40 +00:00
Dmitriy Ivanov
f57a0367f7 am 267422ac: am 5c136382: Merge "Fix libstdc++.so hash-style."
* commit '267422ac858ae8cb38c655e4ac7b5f755d02881f':
  Fix libstdc++.so hash-style.
2015-03-27 23:43:39 +00:00
Nick Kralevich
c9397b74a9 am 203082b8: Merge "linker_environ: clear MALLOC_CONF when AT_SECURE=1"
* commit '203082b8217cd853eee510ad371b382701960610':
  linker_environ: clear MALLOC_CONF when AT_SECURE=1
2015-03-27 23:22:04 +00:00
Dmitriy Ivanov
267422ac85 am 5c136382: Merge "Fix libstdc++.so hash-style."
* commit '5c136382a6f1ad796a60463898d4c08fadead669':
  Fix libstdc++.so hash-style.
2015-03-27 23:22:02 +00:00
Dmitriy Ivanov
5f1a2f44ea am 85ca90c7: am cd79a59b: Merge "Add test for thread_local keyword."
* commit '85ca90c72e9ca2605640cc94ae1ce45cae02e9e4':
  Add test for thread_local keyword.
2015-03-27 23:21:55 +00:00
Nick Kralevich
203082b821 Merge "linker_environ: clear MALLOC_CONF when AT_SECURE=1" 2015-03-27 22:55:20 +00:00
Nick Kralevich
e001ca3e18 linker_environ: clear MALLOC_CONF when AT_SECURE=1
Clear JE_MALLOC_CONF and MALLOC_CONF

Change-Id: Ia76e263783194ecaa362e8ccafbe13a28a4a1ba6
2015-03-27 15:49:33 -07:00
Dmitriy Ivanov
5c136382a6 Merge "Fix libstdc++.so hash-style." 2015-03-27 22:46:52 +00:00
Dmitriy Ivanov
402d199450 Fix libstdc++.so hash-style.
Bug: 19059885
Bug: 19958712
Change-Id: I167457a54cc688d64912a50f5fb75e4e2f3e3937
2015-03-27 15:27:07 -07:00
Dmitriy Ivanov
85ca90c72e am cd79a59b: Merge "Add test for thread_local keyword."
* commit 'cd79a59b18f8e81b5f37258f376a726dc8acb81a':
  Add test for thread_local keyword.
2015-03-27 21:41:56 +00:00
Dmitriy Ivanov
cd79a59b18 Merge "Add test for thread_local keyword." 2015-03-27 20:07:35 +00:00
Dmitriy Ivanov
947adedebc Add test for thread_local keyword.
For gcc only for the time being.

Bug: 19800080
Bug: 16696563
Change-Id: Ifaa59a131ca2d9030554cee7ce631dcb1d081938
2015-03-27 12:05:36 -07:00
Dmitriy Ivanov
708d0423d9 am 09ffd5b8: am cfd794a9: Merge "Explain why we need objcopy for the linker"
* commit '09ffd5b8d560106759be8fe2b34e5e6e58e27ca5':
  Explain why we need objcopy for the linker
2015-03-27 00:15:01 +00:00
Dmitriy Ivanov
09ffd5b8d5 am cfd794a9: Merge "Explain why we need objcopy for the linker"
* commit 'cfd794a96d0c4f1d97e54b701b408dafdb514d17':
  Explain why we need objcopy for the linker
2015-03-27 00:01:30 +00:00
Dmitriy Ivanov
cfd794a96d Merge "Explain why we need objcopy for the linker" 2015-03-26 23:49:23 +00:00
Dmitriy Ivanov
797bffb760 Explain why we need objcopy for the linker
Change-Id: I646673abc6095b56f72add493b60925375b75b78
2015-03-26 16:47:18 -07:00
Yabin Cui
d6eb84ea2c am 71fe7f4a: am 8f3eb5a4: Merge "Revert "Cause Fatal error when invalid pthread_id is detected.""
* commit '71fe7f4ad7499bb225ec05330288f6bee2dc0ab0':
  Revert "Cause Fatal error when invalid pthread_id is detected."
2015-03-26 19:23:15 +00:00
Simon Baldwin
988d91d384 am 59409c68: am 7c01e3a9: Merge "Fix comment drift in assorted relocation packer modules."
* commit '59409c68ebdc8cdcb3b3ff9f4a5bdee9570c67d0':
  Fix comment drift in assorted relocation packer modules.
2015-03-26 18:29:21 +00:00
Yabin Cui
71fe7f4ad7 am 8f3eb5a4: Merge "Revert "Cause Fatal error when invalid pthread_id is detected.""
* commit '8f3eb5a4e5dbbac1fb431e40e25eec07ecc24ee8':
  Revert "Cause Fatal error when invalid pthread_id is detected."
2015-03-26 18:27:10 +00:00
Dmitriy Ivanov
9dfe17cc7c am 73f4a8b6: am f2d153f8: Merge "Initial implementation of __cxa_thread_atexit_impl"
* commit '73f4a8b616b9a51fcce2b46da526620aa04ae9f4':
  Initial implementation of __cxa_thread_atexit_impl
2015-03-26 18:23:07 +00:00
Simon Baldwin
59409c68eb am 7c01e3a9: Merge "Fix comment drift in assorted relocation packer modules."
* commit '7c01e3a9ba80c85c7e7998d2347885e9a6e3bbf2':
  Fix comment drift in assorted relocation packer modules.
2015-03-26 18:16:10 +00:00
Yabin Cui
8f3eb5a4e5 Merge "Revert "Cause Fatal error when invalid pthread_id is detected."" 2015-03-26 18:14:23 +00:00
Yabin Cui
220b99bdc1 Revert "Cause Fatal error when invalid pthread_id is detected."
Some code like in https://buganizer.corp.google.com/u/0/issues/19942911 need to change first.

This reverts commit 03324780aae9ff28c8acf52debf0ea39120e5ab8.

Change-Id: I13ff1e5b3d0672bae9cde234ffba32fbbf33d338
2015-03-26 18:13:07 +00:00
Dmitriy Ivanov
73f4a8b616 am f2d153f8: Merge "Initial implementation of __cxa_thread_atexit_impl"
* commit 'f2d153f836e529892854b91452fabd2c2fa79c05':
  Initial implementation of __cxa_thread_atexit_impl
2015-03-26 18:08:37 +00:00
Simon Baldwin
7c01e3a9ba Merge "Fix comment drift in assorted relocation packer modules." 2015-03-26 18:01:13 +00:00
Dmitriy Ivanov
f2d153f836 Merge "Initial implementation of __cxa_thread_atexit_impl" 2015-03-26 17:50:23 +00:00
Simon Baldwin
32123dac5f am 20003502: am 7f8d91ea: Merge "Remove unused/unusable relocation packer files."
* commit '20003502df967d15e194bd032f0ccf14f6b71e3f':
  Remove unused/unusable relocation packer files.
2015-03-26 17:46:05 +00:00
Simon Baldwin
569a752689 Fix comment drift in assorted relocation packer modules.
Some of the commentary in relocation packer code is relevant
only to the packing strategy employed by chromium, and no
longer applies here.  This change fixes or deletes it.

Code comment change only; no functional effect.

Change-Id: Id229ee1d802bba608be15b79bc75bf90df557dab
Signed-off-by: Simon Baldwin <simonb@google.com>
2015-03-26 17:13:19 +00:00
Simon Baldwin
20003502df am 7f8d91ea: Merge "Remove unused/unusable relocation packer files."
* commit '7f8d91ea8e24e89db39ae868085913e763e04557':
  Remove unused/unusable relocation packer files.
2015-03-26 16:55:09 +00:00
Simon Baldwin
7f8d91ea8e Merge "Remove unused/unusable relocation packer files." 2015-03-26 16:41:02 +00:00
Yabin Cui
c1033489bf am efe1aff0: am b9232c94: Merge "Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER."
* commit 'efe1aff09daef1b1cbe9d9f37c0922f596f01977':
  Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER.
2015-03-26 16:27:34 +00:00
Yabin Cui
efe1aff09d am b9232c94: Merge "Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER."
* commit 'b9232c94da831d485b3896580a3d1ac9abc46a4f':
  Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER.
2015-03-26 04:36:16 +00:00
Yabin Cui
03717a8adf am 6f9a3522: am 69847bc2: Merge "Hide internal of pthread_mutex_t."
* commit '6f9a35222bccc19dbd66a8a25a0f53b8e53603d9':
  Hide internal of pthread_mutex_t.
2015-03-26 04:28:52 +00:00
Yabin Cui
8cb44aa974 am 0682e44f: am fa3dcecc: Merge "Fix in error handling in pthread_create.cpp."
* commit '0682e44f7c2b961e8e36016829ea4cdca3e0fbe1':
  Fix in error handling in pthread_create.cpp.
2015-03-26 04:28:51 +00:00
Yabin Cui
b9232c94da Merge "Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER." 2015-03-26 04:21:15 +00:00
Yabin Cui
6f9a35222b am 69847bc2: Merge "Hide internal of pthread_mutex_t."
* commit '69847bc298de62917663d22b6733ef75b57124fa':
  Hide internal of pthread_mutex_t.
2015-03-26 04:19:40 +00:00
Yabin Cui
0682e44f7c am fa3dcecc: Merge "Fix in error handling in pthread_create.cpp."
* commit 'fa3dcecc0fd7bbbf04234e41be690a5d33277870':
  Fix in error handling in pthread_create.cpp.
2015-03-26 04:19:39 +00:00
Yabin Cui
377243b78c Remove PTHREAD_RECURSIVE_MUTEX_INITIALIZER and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER.
These macros are also not used in glibc. And we should use
PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
and PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP instead.

Change-Id: I35195e2f499712dcde9305bbb93622d0f7ca874b
2015-03-25 21:02:36 -07:00
Yabin Cui
69847bc298 Merge "Hide internal of pthread_mutex_t." 2015-03-26 02:10:07 +00:00
Dmitriy Ivanov
df79c330d8 Initial implementation of __cxa_thread_atexit_impl
This is initial implementations; does not yet handle
  dlclose - undefined behavior, needs linker support to
  handle it right.

Bug: 19800080
Bug: 16696563
Change-Id: I7a3e21ed7f7ec01e62ea1b7cb2ab253590ea0686
2015-03-25 18:07:59 -07:00
Yabin Cui
17393b06ba Hide internal of pthread_mutex_t.
Bug: 19249079
Change-Id: Iffb79c8d861b698d474f212dc80c638fc2cf1620
2015-03-25 17:54:17 -07:00
Yabin Cui
fa3dcecc0f Merge "Fix in error handling in pthread_create.cpp." 2015-03-26 00:26:59 +00:00
Yabin Cui
55139f17fd am 3ae2774a: am 36d5b6f4: Merge "Cause Fatal error when invalid pthread_id is detected."
* commit '3ae2774aa0b05e0c80d7e0820a33325795c23df2':
  Cause Fatal error when invalid pthread_id is detected.
2015-03-25 23:41:19 +00:00
Yabin Cui
799cb35f45 Fix in error handling in pthread_create.cpp.
It is due to a previous change "Let g_thread_list_lock only protect g_thread_list".
We need to add the newly created thread to thread_list even if
__init_thread fails, so the thread can exit successfully.

Change-Id: I0332df11acfdd181350bcc092b12d90d679057a4
2015-03-25 16:18:21 -07:00
Yabin Cui
3ae2774aa0 am 36d5b6f4: Merge "Cause Fatal error when invalid pthread_id is detected."
* commit '36d5b6f47dd14fd9733d935174d2b8e0deb979c6':
  Cause Fatal error when invalid pthread_id is detected.
2015-03-25 23:04:27 +00:00
Yabin Cui
36d5b6f47d Merge "Cause Fatal error when invalid pthread_id is detected." 2015-03-25 22:53:50 +00:00
Yabin Cui
03324780aa Cause Fatal error when invalid pthread_id is detected.
This is a patch testing whether we can use abort() instead of
returning ESRCH for invalid pthread ids. It is an intermediate
step to remove g_thread_list/g_thread_list_lock.

Bug: 19636317
Change-Id: Idd8e4a346c7ce91e1be0c2ebcb78ce51c0d0a31d
2015-03-25 15:30:39 -07:00
Yabin Cui
6c06d5d4d5 am 2d55dd58: am 0c3b632b: Merge "Add O_APPEND flag for __libc_write_stderr."
* commit '2d55dd58bdbb37e108d22352a7905f6257822ce6':
  Add O_APPEND flag for __libc_write_stderr.
2015-03-25 22:05:51 +00:00
Christopher Ferris
2f7c0b71dd am d35c24e7: am f6364486: Merge "Use ALIAS_SYMBOL for assembler aliasing."
* commit 'd35c24e795216f3a4f5d309d616ed766e0d73086':
  Use ALIAS_SYMBOL for assembler aliasing.
2015-03-25 21:07:52 +00:00
Yabin Cui
2d55dd58bd am 0c3b632b: Merge "Add O_APPEND flag for __libc_write_stderr."
* commit '0c3b632bd6570064bab1055d2b8a51cfb85e60bb':
  Add O_APPEND flag for __libc_write_stderr.
2015-03-25 20:28:51 +00:00
Yabin Cui
0c3b632bd6 Merge "Add O_APPEND flag for __libc_write_stderr." 2015-03-25 20:17:34 +00:00
Yabin Cui
28e69f7508 Add O_APPEND flag for __libc_write_stderr.
For DeathTests, we are testing the output of stderr to check if it is the
death we are expecting. To collect the output, Gtest redirects stderr to
a temporary file. But in __libc_write_stderr in libc_logging.cpp, we are
writing to stderr without a O_APPEND flag, so a new message will overwrite
a previous message.
The above situation makes almost all the DeathTests fail on host. Because
the expected message are always overwritten in host DeathTests. So I add
O_APPEND flag in __libc_write_stderr, which makes all host DeathTests pass.

Change-Id: Ic2f6044fdb181eebe132a6f170b57db43c5c3289
2015-03-25 13:01:23 -07:00
Christopher Ferris
d35c24e795 am f6364486: Merge "Use ALIAS_SYMBOL for assembler aliasing."
* commit 'f6364486fb0fcd2891094a871041a3dc6c2334f8':
  Use ALIAS_SYMBOL for assembler aliasing.
2015-03-25 18:59:06 +00:00
Christopher Ferris
f6364486fb Merge "Use ALIAS_SYMBOL for assembler aliasing." 2015-03-25 17:52:50 +00:00
Simon Baldwin
d2bd5739ed Remove unused/unusable relocation packer files.
Removes:
- src/run_length_encoder.h
    artifact of the original packing tool, not used here
- test_data/generate_elf_file_unittest_relocs.sh
- test_data/generate_elf_file_unittest_relocs.py
    test data generation for chromium/gyp, not usable here
- README.TXT
    because it is now almost entirely outdated

Change-Id: Ic4cd372647d9a365dc52833a6cc1cf66f0c95ec9
2015-03-25 16:23:01 +00:00
Christopher Ferris
24958514b9 Use ALIAS_SYMBOL for assembler aliasing.
Change-Id: I8d04d2da0a1ac440cc9044fc819c9a8eda5ff17d
2015-03-25 09:12:00 -07:00
Neil Fuller
1f95ffecc2 Changes to re-enable overrides for tz data
Bug: 10637303
Change-Id: I5d525b66cf30d34b421803b876445596bed8d64d
2015-03-25 16:08:37 +00:00
Christopher Ferris
7a47d7c12c am 44a6dcc2: am f5e0ba94: Merge "Make gensyscalls.py use the ALIAS_SYMBOL macro."
* commit '44a6dcc2a4a3d5bcdbd51fe385121600ad05657f':
  Make gensyscalls.py use the ALIAS_SYMBOL macro.
2015-03-25 04:43:39 +00:00
Christopher Ferris
44a6dcc2a4 am f5e0ba94: Merge "Make gensyscalls.py use the ALIAS_SYMBOL macro."
* commit 'f5e0ba94d911ef2622ecfd3f7fabc4432a4806d3':
  Make gensyscalls.py use the ALIAS_SYMBOL macro.
2015-03-25 04:31:15 +00:00
Christopher Ferris
f5e0ba94d9 Merge "Make gensyscalls.py use the ALIAS_SYMBOL macro." 2015-03-25 04:20:45 +00:00
Christopher Ferris
fa5faa0ce6 Make gensyscalls.py use the ALIAS_SYMBOL macro.
Change-Id: Ib94c0abb6fc85126ecc5ed3f1962b2b8b90b9952
2015-03-24 21:08:26 -07:00
Dmitriy Ivanov
30d10dba39 am 26bca5b1: am 70cafb16: Merge "Replace fixed arrays with vectors"
* commit '26bca5b14008e576838f9a8f4f617777e24615f0':
  Replace fixed arrays with vectors
2015-03-25 01:34:08 +00:00
Dmitriy Ivanov
26bca5b140 am 70cafb16: Merge "Replace fixed arrays with vectors"
* commit '70cafb16ec9ab23ad65542534af5a1ac7d6e70e4':
  Replace fixed arrays with vectors
2015-03-25 00:55:44 +00:00
Dmitriy Ivanov
70cafb16ec Merge "Replace fixed arrays with vectors" 2015-03-25 00:45:20 +00:00
Dmitriy Ivanov
d165f56fb6 Replace fixed arrays with vectors
This effectively removes limit on length and count
  of LD_LIBRARY_PATH and LD_PRELOAD entries.

Change-Id: Ie7ea34a50d99c4018f9dd1a33aaebc4049a7f424
2015-03-24 16:55:52 -07:00
Dan Albert
7080634340 am 4ca2cda2: am ee4997ec: Merge "Convert result of a call to JSON."
* commit '4ca2cda213c8dacacfd420c70de33862a52f8a67':
  Convert result of a call to JSON.
2015-03-24 22:09:39 +00:00
Dan Albert
4ca2cda213 am ee4997ec: Merge "Convert result of a call to JSON."
* commit 'ee4997ecc3daeb9af110d932ddb27f969cc7271a':
  Convert result of a call to JSON.
2015-03-24 21:41:56 +00:00
Dan Albert
ee4997ecc3 Merge "Convert result of a call to JSON." 2015-03-24 21:28:31 +00:00
Dan Albert
7d57623755 Convert result of a call to JSON.
I still had the service that was relying on this running on top of
local changes, so this hadn't been a problem yet.

Change-Id: I63b45b8c7cf81972dbb7128013c1c777a2342d4c
2015-03-24 11:43:55 -07:00
Yabin Cui
d1c2fad9cc am e39f3200: am 93d44ff2: Merge "Let g_thread_list_lock only protect g_thread_list."
* commit 'e39f3200a926d5bb18fbaec92eed5fc00dad9fb2':
  Let g_thread_list_lock only protect g_thread_list.
2015-03-24 03:25:46 +00:00
Dmitriy Ivanov
67a37cd1a3 am efaf8ff6: am 32b039e4: Merge "RTLD_LAZY is not supported, use RTLD_NOW instead."
* commit 'efaf8ff6e4553c22ee481e873edcccd9d4b36748':
  RTLD_LAZY is not supported, use RTLD_NOW instead.
2015-03-24 03:25:37 +00:00
Yabin Cui
6884bcd02a am ecf010ed: am f8246ac6: Merge "Add test for pthread types alignment check."
* commit 'ecf010ed4138f37d5916961f7aaf52270ba715ea':
  Add test for pthread types alignment check.
2015-03-24 03:25:20 +00:00
Dan Albert
3190c5128d am 7472b500: am 27b38599: Merge "Work around a bug in the Jenkins queue API."
* commit '7472b500a3545b603c56b3fb7f6f7075c3872b84':
  Work around a bug in the Jenkins queue API.
2015-03-24 02:58:59 +00:00
Yabin Cui
e39f3200a9 am 93d44ff2: Merge "Let g_thread_list_lock only protect g_thread_list."
* commit '93d44ff2a6e0febe18d42d5690e85023545318b4':
  Let g_thread_list_lock only protect g_thread_list.
2015-03-24 02:51:53 +00:00
Yabin Cui
93d44ff2a6 Merge "Let g_thread_list_lock only protect g_thread_list." 2015-03-24 02:39:51 +00:00
Yabin Cui
673b15e4ee Let g_thread_list_lock only protect g_thread_list.
As glibc/netbsd don't protect access to thread struct members by a global
lock, we don't want to do it either. This change reduces the
responsibility of g_thread_list_lock to only protect g_thread_list.

Bug: 19636317
Change-Id: I897890710653dac165d8fa4452c7ecf74abdbf2b
2015-03-23 19:03:49 -07:00
Dmitriy Ivanov
efaf8ff6e4 am 32b039e4: Merge "RTLD_LAZY is not supported, use RTLD_NOW instead."
* commit '32b039e46eee4d40b9979eab873a957e86fbf969':
  RTLD_LAZY is not supported, use RTLD_NOW instead.
2015-03-24 01:00:49 +00:00
Dmitriy Ivanov
32b039e46e Merge "RTLD_LAZY is not supported, use RTLD_NOW instead." 2015-03-24 00:48:58 +00:00
Yabin Cui
ecf010ed41 am f8246ac6: Merge "Add test for pthread types alignment check."
* commit 'f8246ac65f1985e23023df12112a6ce47057a4dd':
  Add test for pthread types alignment check.
2015-03-23 23:28:49 +00:00
Yabin Cui
d1fe16f448 am adebbfc9: am 7f1e2068: Merge "Fix alignment error for pthread_internal_t/pthread stack."
* commit 'adebbfc994e56b53e0c8ae420373b6ee57a9d4d3':
  Fix alignment error for pthread_internal_t/pthread stack.
2015-03-23 23:24:18 +00:00
Yabin Cui
f8246ac65f Merge "Add test for pthread types alignment check." 2015-03-23 23:18:27 +00:00
Dmitriy Ivanov
84c10c2e79 RTLD_LAZY is not supported, use RTLD_NOW instead.
Change-Id: Ia08ed6416aef686435224b50b3e58955d09f04e2
2015-03-23 14:58:45 -07:00
Dan Albert
7472b500a3 am 27b38599: Merge "Work around a bug in the Jenkins queue API."
* commit '27b38599dc4b0b4941906d8da30022f516abf143':
  Work around a bug in the Jenkins queue API.
2015-03-23 20:44:52 +00:00
Dan Albert
27b38599dc Merge "Work around a bug in the Jenkins queue API." 2015-03-23 20:32:15 +00:00
Dan Albert
c889f13493 Work around a bug in the Jenkins queue API.
https://issues.jenkins-ci.org/browse/JENKINS-27256

1.601 broke the ability to get a build's URL before the build had
actually started. The bug is pseudo-fixed, but would require
installing a new plugin and fixing the python jenkinsapi plugin for
the time being to use /queuefix/ rather than /queue/.

Just avoiding logging a URL for now.

Change-Id: Ibf90e5887fc4532dac688082ad7729787897da11
2015-03-23 13:29:15 -07:00
Yabin Cui
adebbfc994 am 7f1e2068: Merge "Fix alignment error for pthread_internal_t/pthread stack."
* commit '7f1e206815032aa152e9f181e477ae2a3f128d67':
  Fix alignment error for pthread_internal_t/pthread stack.
2015-03-21 17:11:22 +00:00
Yabin Cui
b584572213 Add test for pthread types alignment check.
Bug: 19249079
Change-Id: I83c4f0d11ec5d82a346ae0057d02a92bb1d519e8
2015-03-20 17:42:09 -07:00
Yabin Cui
7f1e206815 Merge "Fix alignment error for pthread_internal_t/pthread stack." 2015-03-20 23:26:24 +00:00
Yabin Cui
a2db50d5d7 Fix alignment error for pthread_internal_t/pthread stack.
aligned attribute can only control compiler's behavior, but we
are manually allocating pthread_internal_t. So we need to make
sure of alignment manually.

Change-Id: Iea4c46eadf10dfd15dc955c5f41cf6063cfd8536
2015-03-20 14:41:52 -07:00
Dmitriy Ivanov
52d092b140 am e0423890: am 9bc8ce7c: Merge "Limit soinfo compatibility fields to arm32"
* commit 'e0423890778668403562f1f0afc6d3ebec4dc4fa':
  Limit soinfo compatibility fields to arm32
2015-03-20 04:23:44 +00:00
Dmitriy Ivanov
e042389077 am 9bc8ce7c: Merge "Limit soinfo compatibility fields to arm32"
* commit '9bc8ce7c6a8abc09e76b0f35064d881385861537':
  Limit soinfo compatibility fields to arm32
2015-03-20 04:18:23 +00:00
Dmitriy Ivanov
9bc8ce7c6a Merge "Limit soinfo compatibility fields to arm32" 2015-03-20 04:05:51 +00:00
Dmitriy Ivanov
e631f91a01 Limit soinfo compatibility fields to arm32
Change-Id: I3924cd68397c223c0d206295d587f9dd8ebdc086
2015-03-19 17:50:29 -07:00
Yabin Cui
23c719f940 am 2e7617f2: am 4149dc94: Merge "Return EINVAL when calling pthread_detach for joined thread."
* commit '2e7617f2a0a703ae8dd0ba1b090464279482f893':
  Return EINVAL when calling pthread_detach for joined thread.
2015-03-20 00:21:22 +00:00
Yabin Cui
2e7617f2a0 am 4149dc94: Merge "Return EINVAL when calling pthread_detach for joined thread."
* commit '4149dc944bbe3c5f1c14fc998106975e68bdd6bf':
  Return EINVAL when calling pthread_detach for joined thread.
2015-03-20 00:11:58 +00:00
Yabin Cui
4149dc944b Merge "Return EINVAL when calling pthread_detach for joined thread." 2015-03-20 00:00:30 +00:00
Yabin Cui
07d9fe9c16 am 09170b99: am 7875b506: Merge "Fix two errors in pthread_detach.cpp."
* commit '09170b9968ac1c778026777f76d000a2afdd7459':
  Fix two errors in pthread_detach.cpp.
2015-03-19 23:58:51 +00:00
Yabin Cui
09170b9968 am 7875b506: Merge "Fix two errors in pthread_detach.cpp."
* commit '7875b506edfb1fe593034eaf4bc9aa156179fbd2':
  Fix two errors in pthread_detach.cpp.
2015-03-19 23:53:04 +00:00
Yabin Cui
bbb0432a33 Return EINVAL when calling pthread_detach for joined thread.
Change-Id: I717015132187e087e0ad485284a13c8801e25e77
2015-03-19 16:48:19 -07:00
Yabin Cui
7875b506ed Merge "Fix two errors in pthread_detach.cpp." 2015-03-19 23:38:40 +00:00
Yabin Cui
aec2bb5ec6 Fix two errors in pthread_detach.cpp.
The errors are introduced in "Make pthread join_state not protected by g_thread_list_lock".

Bug: 19636317
Change-Id: I58ae9711da94bfbac809abfd81311eeb70301a4b
2015-03-19 23:35:23 +00:00
Dmitriy Ivanov
39b079d25e am cdc02185: am 2e495081: Merge "Move open from zip tests to dlext"
* commit 'cdc02185fe6254ddd68cb7a6c0938892b007f2a7':
  Move open from zip tests to dlext
2015-03-19 17:32:17 +00:00
Dmitriy Ivanov
cdc02185fe am 2e495081: Merge "Move open from zip tests to dlext"
* commit '2e49508187254903943b83df7bb241d5fb6a8593':
  Move open from zip tests to dlext
2015-03-19 17:19:32 +00:00
Dmitriy Ivanov
2e49508187 Merge "Move open from zip tests to dlext" 2015-03-19 17:06:16 +00:00
Dmitriy Ivanov
52393a5633 Move open from zip tests to dlext
To avoid building them for glibc.

 Also replace snprintf with std::string

Change-Id: I12e1d2e4ab46ff5af6c05453da67842e0d838fc5
2015-03-18 22:50:01 -07:00
Yabin Cui
2f251f146f am 436310c3: am 6943f296: Merge "Make __get_thread inlined."
* commit '436310c3d5835725afc498c23a788eab0cf7afc2':
  Make __get_thread inlined.
2015-03-19 03:11:21 +00:00
Yabin Cui
436310c3d5 am 6943f296: Merge "Make __get_thread inlined."
* commit '6943f2968cb6054f8874e30b309985b41a37e2e0':
  Make __get_thread inlined.
2015-03-19 03:03:21 +00:00
Dmitriy Ivanov
b9d1539fa8 am 16ac4ee7: am 6420fb46: Merge "Implement lookup by DT_SONAME"
* commit '16ac4ee7c468d11bb53265a16c7fd16bed3e2232':
  Implement lookup by DT_SONAME
2015-03-19 03:00:36 +00:00
Dmitriy Ivanov
16ac4ee7c4 am 6420fb46: Merge "Implement lookup by DT_SONAME"
* commit '6420fb467f52f7c27c921b1bf53dc95ad5851077':
  Implement lookup by DT_SONAME
2015-03-19 02:53:57 +00:00
Yabin Cui
6943f2968c Merge "Make __get_thread inlined." 2015-03-19 02:50:20 +00:00
Dmitriy Ivanov
6420fb467f Merge "Implement lookup by DT_SONAME" 2015-03-19 02:40:31 +00:00
Yabin Cui
2f836d4989 Make __get_thread inlined.
Bug: 19825434

Change-Id: Ifb672a45a5776b83625a25654ed0d6f7fc368ae3
2015-03-18 19:35:34 -07:00
Dmitriy Ivanov
618f1a36f8 Implement lookup by DT_SONAME
This CL also fixes SEARCH_NAME hack and resolves
  https://code.google.com/p/android/issues/detail?id=6670
  once and for all.

Bug: https://code.google.com/p/android/issues/detail?id=6670
Change-Id: I9b8d6a672cd722f30fbfbb40cdee8d9b39cfe56e
2015-03-18 18:14:30 -07:00
Elliott Hughes
b7e03b98f1 am 6cd7d024: am c6fbbb42: Merge "Hide statfs/fstatfs\' ST_VALID flag from userspace."
* commit '6cd7d02478588069c964ca6c783fa458a718abe7':
  Hide statfs/fstatfs' ST_VALID flag from userspace.
2015-03-18 23:51:15 +00:00
Dmitriy Ivanov
f5e1acef2c am 10d70143: am 0cf2657b: Merge "Fix library lookup for filenames with slash."
* commit '10d70143eac283bf5206d1b6e48170dbd83882c8':
  Fix library lookup for filenames with slash.
2015-03-18 23:50:18 +00:00
Elliott Hughes
6cd7d02478 am c6fbbb42: Merge "Hide statfs/fstatfs\' ST_VALID flag from userspace."
* commit 'c6fbbb42e69bef4f058d0cbfaaaf3cbf51f95694':
  Hide statfs/fstatfs' ST_VALID flag from userspace.
2015-03-18 23:22:56 +00:00
Elliott Hughes
c6fbbb42e6 Merge "Hide statfs/fstatfs' ST_VALID flag from userspace." 2015-03-18 23:11:52 +00:00
Elliott Hughes
fa495d51b0 Hide statfs/fstatfs' ST_VALID flag from userspace.
Spotted while debugging the strace 4.10 upgrade.

Change-Id: I1af1be9c9440151f55f74a835e1df71529b0e4fe
2015-03-18 15:46:48 -07:00
Dmitriy Ivanov
10d70143ea am 0cf2657b: Merge "Fix library lookup for filenames with slash."
* commit '0cf2657bc25242c097d42346d17eaae4107b1d55':
  Fix library lookup for filenames with slash.
2015-03-18 22:22:59 +00:00
Dmitriy Ivanov
0cf2657bc2 Merge "Fix library lookup for filenames with slash." 2015-03-18 22:09:07 +00:00
Dimitry Ivanov
feb41625b4 am 02f528f3: am c0eaa732: Merge "Support loading shared libraries from zip files"
* commit '02f528f3adeaf1227d178e426fca7482e85866af':
  Support loading shared libraries from zip files
2015-03-18 17:46:15 +00:00
Dimitry Ivanov
02f528f3ad am c0eaa732: Merge "Support loading shared libraries from zip files"
* commit 'c0eaa732844a8397d40a7ec82641f709e4b47a61':
  Support loading shared libraries from zip files
2015-03-18 17:37:58 +00:00
Dmitriy Ivanov
e44fffd7f9 Fix library lookup for filenames with slash.
If filename contains a slash, then it is interpreted
  as a (relative or absolute) pathname.

Bug: https://code.google.com/p/android/issues/detail?id=6670
Change-Id: Iba57d638301f3089ad47ba083edca2dd36b801ed
2015-03-18 10:32:11 -07:00
Dimitry Ivanov
c0eaa73284 Merge "Support loading shared libraries from zip files" 2015-03-18 17:25:33 +00:00
Elliott Hughes
bcd0f553b9 am 46950420: am ab12dc70: Merge "Fix _PATH_DEFPATH to correspond to the actual default path."
* commit '469504209489350a4cbf5a9018e74af367aa3acf':
  Fix _PATH_DEFPATH to correspond to the actual default path.
2015-03-18 10:58:19 +00:00
Elliott Hughes
d527e65906 am 45c4ef3c: am b380b7d7: Merge "set errno to ENOENT in getauxval per glibc 2.19"
* commit '45c4ef3cde5529bdaac41ad1f30ca3180361e060':
  set errno to ENOENT in getauxval per glibc 2.19
2015-03-18 10:58:18 +00:00
Elliott Hughes
4695042094 am ab12dc70: Merge "Fix _PATH_DEFPATH to correspond to the actual default path."
* commit 'ab12dc70f3ef551c490dcfede76033e57ceee64d':
  Fix _PATH_DEFPATH to correspond to the actual default path.
2015-03-18 01:24:59 +00:00
Elliott Hughes
45c4ef3cde am b380b7d7: Merge "set errno to ENOENT in getauxval per glibc 2.19"
* commit 'b380b7d78cf4dbd034f51fcf7fc8ebdb037330c3':
  set errno to ENOENT in getauxval per glibc 2.19
2015-03-18 01:18:01 +00:00
Elliott Hughes
ab12dc70f3 Merge "Fix _PATH_DEFPATH to correspond to the actual default path." 2015-03-18 01:15:04 +00:00
Elliott Hughes
b380b7d78c Merge "set errno to ENOENT in getauxval per glibc 2.19" 2015-03-18 01:05:24 +00:00
Elliott Hughes
1101962447 Fix _PATH_DEFPATH to correspond to the actual default path.
This is currently set in init.rc, but I plan on making init
set PATH to _PATH_DEFPATH and removing the line from init.rc...

Bug: 19564110
Change-Id: Ifa7226a3a5a90d141a788d7d6b1ae86245674218
2015-03-17 17:34:14 -07:00
Daniel Micay
ee7649c5ac set errno to ENOENT in getauxval per glibc 2.19
Bionic's getauxval(...) implementation returns zero when entries are
missing. Zero can be a valid value, so there is no unambiguous way of
detecting an error. Since glibc 2.19, errno is set to ENOENT when an
entry is missing to make it possible to detect this. Bionic should match
this behavior as code in the Linux ecosystem will start relying on it to
check for the presence of newly added entries.

Change-Id: Ic1efe29bc45fc87489274c96c4d2193f3a7b8854
Signed-off-by: Daniel Micay <danielmicay@gmail.com>
2015-03-17 19:50:55 -04:00
Yabin Cui
0ce026d9c4 am b1d1d0cc: am d917b20b: Merge "Change name of rwlock benchmark."
* commit 'b1d1d0cc5ba060a292907503e42a40dc158b156d':
  Change name of rwlock benchmark.
2015-03-17 21:40:53 +00:00
Yabin Cui
b1d1d0cc5b am d917b20b: Merge "Change name of rwlock benchmark."
* commit 'd917b20b613fd51e5f1056c8648fe8769ae8161e':
  Change name of rwlock benchmark.
2015-03-17 21:33:33 +00:00
Yabin Cui
d917b20b61 Merge "Change name of rwlock benchmark." 2015-03-17 21:20:52 +00:00
Yabin Cui
dc93db20a9 Change name of rwlock benchmark.
rw_lock is not easy for me to remember, so I prefer changing it to rwlock.

Change-Id: I0784acaca0c3b46c28184a77eb29ffe696f9ea07
2015-03-17 13:38:57 -07:00
Yabin Cui
a10afcc9cc am 46f9b3e7: am a75771e3: Merge "Fix build: pthread_mutex/pthread_detach."
* commit '46f9b3e7662d946d775d30dbe91828e4cb935af5':
  Fix build: pthread_mutex/pthread_detach.
2015-03-17 19:07:03 +00:00
Yabin Cui
48fc08e1e6 am f7dbefb0: am 94babaee: Merge "Make pthread join_state not protected by g_thread_list_lock."
* commit 'f7dbefb08f974a368d19b482997570e375f2bf84':
  Make pthread join_state not protected by g_thread_list_lock.
2015-03-17 19:06:48 +00:00
Yabin Cui
62059a07da am ca7ac7d3: am 5490bebd: Merge "Remove duplication in pthread_mutex.cpp."
* commit 'ca7ac7d36a3f7f31d65d1a4740f95f43de7ab1e4':
  Remove duplication in pthread_mutex.cpp.
2015-03-17 19:06:46 +00:00
Yabin Cui
46f9b3e766 am a75771e3: Merge "Fix build: pthread_mutex/pthread_detach."
* commit 'a75771e3ab429fae2f9af770416150733264a281':
  Fix build: pthread_mutex/pthread_detach.
2015-03-17 18:52:13 +00:00
Yabin Cui
a75771e3ab Merge "Fix build: pthread_mutex/pthread_detach." 2015-03-17 18:40:39 +00:00
Yabin Cui
ecbfb25c50 Fix build: pthread_mutex/pthread_detach.
Change-Id: I9c7b6297d3bf3ab8004d05d44cc4c95159315c9e
2015-03-17 11:37:51 -07:00
Yabin Cui
f7dbefb08f am 94babaee: Merge "Make pthread join_state not protected by g_thread_list_lock."
* commit '94babaee1b6598b15bd807461055d4dcaaa52f10':
  Make pthread join_state not protected by g_thread_list_lock.
2015-03-17 18:21:49 +00:00
Yabin Cui
ca7ac7d36a am 5490bebd: Merge "Remove duplication in pthread_mutex.cpp."
* commit '5490bebd7cdd4406780358f590391b75ab8a7d84':
  Remove duplication in pthread_mutex.cpp.
2015-03-17 18:21:48 +00:00
Yabin Cui
94babaee1b Merge "Make pthread join_state not protected by g_thread_list_lock." 2015-03-17 18:12:59 +00:00
Yabin Cui
5490bebd7c Merge "Remove duplication in pthread_mutex.cpp." 2015-03-17 18:12:32 +00:00
Dmitriy Ivanov
c331d67d1b am 72c6b79d: am 5f8ddf69: Merge "Fix build: align pthread_cond_t to sizeof(long)"
* commit '72c6b79ddb14bbf185cc3b59adf095ab65e77a06':
  Fix build: align pthread_cond_t to sizeof(long)
2015-03-17 14:30:04 +00:00
Simon Baldwin
aef719510a Support loading shared libraries from zip files
Add code to support loading shared libraries directly from within
APK files.

Extends the linker's handling of LD_LIBRARY_PATH, DT_RUNPATH, etc
to allow elements to be either directories as normal, or ZIP
format files.  For ZIP, the ZIP subdirectory string is separated
from the path to file by '!'.

For example, if DT_NEEDED is libchrome.so and Chrome.apk is the
Android ARM APK then the path element

  /system/app/Chrome.apk!lib/armeabi-v7a

would cause the linker to load lib/armeabi-v7a/libchrome.so
directly from inside Chrome.apk.  For loading to succeed,
libchrome.so must be 'stored' and not compressed in Chrome.apk,
and must be page aligned within the file.

Motivation:
  Chromium tracking issue:
  https://code.google.com/p/chromium/issues/detail?id=390618

Bug: 8076853
Change-Id: Ic49046600b1417eae3ee8f37ee98c8ac1ecc19e7
2015-03-16 17:50:50 -07:00
Dmitriy Ivanov
b3ac2145f4 Fix build: align pthread_cond_t to sizeof(long)
(cherry picked from commit b5cd3c7a7503d8155ea17424c00f7e77603252c0)

Change-Id: I69d8feeda2c8e0423c5626bcd40914e7eb9d85e4
2015-03-16 17:44:05 -07:00
Dmitriy Ivanov
72c6b79ddb am 5f8ddf69: Merge "Fix build: align pthread_cond_t to sizeof(long)"
* commit '5f8ddf69e59b13653d016e236599b95daf6501a8':
  Fix build: align pthread_cond_t to sizeof(long)
2015-03-17 00:25:06 +00:00
Dmitriy Ivanov
5f8ddf69e5 Merge "Fix build: align pthread_cond_t to sizeof(long)" 2015-03-17 00:10:49 +00:00
Dmitriy Ivanov
b5cd3c7a75 Fix build: align pthread_cond_t to sizeof(long)
Change-Id: Ieaee6d09089b161ec516ba22cafaee1ecb4342da
2015-03-16 17:06:59 -07:00
Christopher Ferris
28654c922d am 1ffc89e3: am f14fe856: Merge "Add alignment to opaque types."
* commit '1ffc89e301ae167ad5843ae570be0d779e37bec8':
  Add alignment to opaque types.
2015-03-16 23:51:31 +00:00
Christopher Ferris
1ffc89e301 am f14fe856: Merge "Add alignment to opaque types."
* commit 'f14fe856b40afc38540988b408edc508298ec116':
  Add alignment to opaque types.
2015-03-16 23:45:16 +00:00
Christopher Ferris
f14fe856b4 Merge "Add alignment to opaque types." 2015-03-16 23:33:38 +00:00
Christopher Ferris
eb8b122d67 Add alignment to opaque types.
If there is no alignment forced, then the compiler might put these
structures at any alignment.

Change-Id: I6416db72433504e0ec1178bfae6f5b18b6e363fb
2015-03-16 16:28:54 -07:00
Dmitriy Ivanov
c6cc6f6312 am 862b088a: am 3d170a6d: Merge "Remove obsolete test_isolated wrapper function"
* commit '862b088ac30881221500122955fc9e13933cbafd':
  Remove obsolete test_isolated wrapper function
2015-03-16 22:40:08 +00:00
Dmitriy Ivanov
1f5ede0a6e am bca13d41: am 3b7239fe: Merge "General purpose memory allocator for linker."
* commit 'bca13d417798ac3bab751d40da25cc4cfba76397':
  General purpose memory allocator for linker.
2015-03-16 22:40:06 +00:00
Yabin Cui
69929b34e7 am 19631034: am 0f3fcd12: Merge "Fix atomic_load on const variable in pthread_cond_t."
* commit '19631034a4e155f5e5ed061a2dcf30b377a8c04b':
  Fix atomic_load on const variable in pthread_cond_t.
2015-03-16 22:39:33 +00:00
Dan Albert
cc42165788 am f13f9ec1: am 169a84f9: Merge "Revert "Revert "Moving StringPrintf to libbase."""
* commit 'f13f9ec12eb10c94473da34fdd736e0c0ed439d1':
  Revert "Revert "Moving StringPrintf to libbase.""
2015-03-16 22:39:23 +00:00
Dmitriy Ivanov
862b088ac3 am 3d170a6d: Merge "Remove obsolete test_isolated wrapper function"
* commit '3d170a6d6c650cb81260ea9157d6f4df99e41e8c':
  Remove obsolete test_isolated wrapper function
2015-03-16 22:03:53 +00:00
Dmitriy Ivanov
bca13d4177 am 3b7239fe: Merge "General purpose memory allocator for linker."
* commit '3b7239feb9265f0b677e845dec0514583de9c6be':
  General purpose memory allocator for linker.
2015-03-16 22:03:52 +00:00
Yabin Cui
6b865a7a83 am 533bc4a0: am d3e2a207: Merge "Hide content of pthread_cond_t in pthread_cond_internal_t."
* commit '533bc4a09cebbecd1c871f0d8481e9449216f5f5':
  Hide content of pthread_cond_t in pthread_cond_internal_t.
2015-03-16 21:58:43 +00:00
Dmitriy Ivanov
970dd7d985 am a5bd2a10: am 9923c8cd: Merge "Fix typo"
* commit 'a5bd2a1039d545cbcb0fe187f76240ecaa84e45f':
  Fix typo
2015-03-16 21:58:33 +00:00
Dmitriy Ivanov
3d170a6d6c Merge "Remove obsolete test_isolated wrapper function" 2015-03-16 21:50:16 +00:00
Dmitriy Ivanov
3b7239feb9 Merge "General purpose memory allocator for linker." 2015-03-16 21:49:59 +00:00
Yabin Cui
19631034a4 am 0f3fcd12: Merge "Fix atomic_load on const variable in pthread_cond_t."
* commit '0f3fcd12ddde0e10fbeab0a98cf0efb9d64bea76':
  Fix atomic_load on const variable in pthread_cond_t.
2015-03-16 21:43:21 +00:00
Yabin Cui
0f3fcd12dd Merge "Fix atomic_load on const variable in pthread_cond_t." 2015-03-16 21:31:09 +00:00
Yabin Cui
9e6c7bc618 Fix atomic_load on const variable in pthread_cond_t.
Change-Id: I60f55a53294a09332a3fbec669ed793359d1bdf5
2015-03-16 14:26:53 -07:00
Dmitriy Ivanov
cb0443c0fa Remove obsolete test_isolated wrapper function
We already run all of our tests in isolated mode.

Change-Id: I8236baa302b1026a9b4a1c33a4aa65e223771bc7
2015-03-16 14:20:57 -07:00
Dan Albert
f13f9ec12e am 169a84f9: Merge "Revert "Revert "Moving StringPrintf to libbase."""
* commit '169a84f980d7a55c5f829cdd53a3eaba8f968442':
  Revert "Revert "Moving StringPrintf to libbase.""
2015-03-16 21:16:48 +00:00
Yabin Cui
533bc4a09c am d3e2a207: Merge "Hide content of pthread_cond_t in pthread_cond_internal_t."
* commit 'd3e2a207ffcaefedf2d3baaaad3d62be1abdb33c':
  Hide content of pthread_cond_t in pthread_cond_internal_t.
2015-03-16 21:09:26 +00:00
Dan Albert
169a84f980 Merge "Revert "Revert "Moving StringPrintf to libbase.""" 2015-03-16 21:02:51 +00:00
Yabin Cui
d3e2a207ff Merge "Hide content of pthread_cond_t in pthread_cond_internal_t." 2015-03-16 20:58:02 +00:00
Dan Albert
4c1dbb4000 Revert "Revert "Moving StringPrintf to libbase.""
This reverts commit d2dad2b24fb82604f9dbe7a082e630a524f1473d.

(cherry picked from commit 3e87c785434fdfed2fb00496cb391c411a426bdd)
2015-03-16 13:50:15 -07:00
Dmitriy Ivanov
a5bd2a1039 am 9923c8cd: Merge "Fix typo"
* commit '9923c8cd13d1e8305a908ef23712c7d3e4d4131d':
  Fix typo
2015-03-16 20:39:00 +00:00
Dmitriy Ivanov
9923c8cd13 Merge "Fix typo" 2015-03-16 20:30:01 +00:00
Dmitriy Ivanov
b1ada3dd3f Fix typo
Change-Id: Ie6dad7d09873c88f6bbb2d45c2780e3b0c618bd6
2015-03-16 13:20:23 -07:00
Dmitriy Ivanov
19656ce537 General purpose memory allocator for linker.
Add basic general purpose memory allocator to
 linker in order to enable usage of other libraries
 like libziparchive.

Change-Id: I4a680ebb36ed5ba67c61249f81dba9f567808434
2015-03-16 11:19:53 -07:00
Yabin Cui
32651b8e8e Hide content of pthread_cond_t in pthread_cond_internal_t.
Bug: 19249079
Change-Id: I6f55af30bcd6211ce71630c6cacbef0e1663dcee
2015-03-16 11:09:52 -07:00
Dan Albert
3e87c78543 Revert "Revert "Moving StringPrintf to libbase.""
This reverts commit d2dad2b24fb82604f9dbe7a082e630a524f1473d.
2015-03-16 10:06:29 -07:00
Nicolas Geoffray
e5fff0831c am 645621ec: am 11a06c73: Merge "Revert "Moving StringPrintf to libbase.""
* commit '645621ec8bbd8c6ffca7c3b48580b20feb3b76a2':
  Revert "Moving StringPrintf to libbase."
2015-03-16 12:37:10 +00:00
Nicolas Geoffray
645621ec8b am 11a06c73: Merge "Revert "Moving StringPrintf to libbase.""
* commit '11a06c73f6e7d31442429a58a346d881b0a8a441':
  Revert "Moving StringPrintf to libbase."
2015-03-16 12:30:48 +00:00
Nicolas Geoffray
11a06c73f6 Merge "Revert "Moving StringPrintf to libbase."" 2015-03-16 12:20:27 +00:00
Nicolas Geoffray
d2dad2b24f Revert "Moving StringPrintf to libbase."
libbase has been reverted

This reverts commit 7ed5fa1e4d37722a644518594bf2b0e1529c05e9.

Change-Id: I5d8ff8c38ff8c9123e6cee5dc15a101a79e94b2e
2015-03-16 12:19:26 +00:00
Dan Albert
7d332c216c am e63140db: am 83e95878: Merge "Moving StringPrintf to libbase."
* commit 'e63140dbed059ac2042c31762660cced6baac253':
  Moving StringPrintf to libbase.
2015-03-15 22:34:10 +00:00
Christopher Ferris
90cd0a1bf4 am 3abc6d1c: am 593a75ee: Merge "Fix typo in alias symbol."
* commit '3abc6d1c5724d266381b257078bf988f52873fc0':
  Fix typo in alias symbol.
2015-03-15 22:34:09 +00:00
Christopher Ferris
442c6c1d02 am 79641f96: am 83c0028e: Merge "For libm, use a macro for aliasing symbols."
* commit '79641f96eb68fff13f6265abcfd18477cd3650c3':
  For libm, use a macro for aliasing symbols.
2015-03-15 22:34:08 +00:00
Dan Albert
e63140dbed am 83e95878: Merge "Moving StringPrintf to libbase."
* commit '83e95878735a62cea108f3c1f1de1358b5565038':
  Moving StringPrintf to libbase.
2015-03-15 15:44:38 +00:00
Christopher Ferris
3abc6d1c57 am 593a75ee: Merge "Fix typo in alias symbol."
* commit '593a75ee6b9857a452e57b21fb28507da30f89cf':
  Fix typo in alias symbol.
2015-03-15 15:44:37 +00:00
Christopher Ferris
79641f96eb am 83c0028e: Merge "For libm, use a macro for aliasing symbols."
* commit '83c0028e030bad1f7cf54ba3f04962b9a6a9e1e4':
  For libm, use a macro for aliasing symbols.
2015-03-15 15:44:36 +00:00
Dan Albert
83e9587873 Merge "Moving StringPrintf to libbase." 2015-03-14 23:55:10 +00:00
Christopher Ferris
593a75ee6b Merge "Fix typo in alias symbol." 2015-03-14 19:22:29 +00:00
Christopher Ferris
6e86146b85 Fix typo in alias symbol.
Change-Id: I41d2c29bd4a9ba382bbe3440541c8e1506fc5809
2015-03-14 12:17:45 -07:00
Christopher Ferris
83c0028e03 Merge "For libm, use a macro for aliasing symbols." 2015-03-14 17:44:32 +00:00
Christopher Ferris
995b813e91 For libm, use a macro for aliasing symbols.
Change-Id: Ibd42ebc387c2bf3eba9aa96091770915b4b34184
2015-03-13 23:57:15 -07:00
Dan Albert
7ed5fa1e4d Moving StringPrintf to libbase.
Change-Id: I47ef28bb294ffb7c7c065c5624417edf23503b77
2015-03-13 22:34:37 -07:00
Yabin Cui
a7a12565bb am 6c143484: am d2cf59d4: Merge "Hide content of pthread_rwlock_t in pthread_rwlock_internal_t."
* commit '6c1434842a3c29f96c332d12cadc82f9b71746d9':
  Hide content of pthread_rwlock_t in pthread_rwlock_internal_t.
2015-03-14 04:08:32 +00:00
Yabin Cui
6c1434842a am d2cf59d4: Merge "Hide content of pthread_rwlock_t in pthread_rwlock_internal_t."
* commit 'd2cf59d4633d9e731d0342d4f94b6e925589ab1e':
  Hide content of pthread_rwlock_t in pthread_rwlock_internal_t.
2015-03-14 02:51:12 +00:00
Yabin Cui
d2cf59d463 Merge "Hide content of pthread_rwlock_t in pthread_rwlock_internal_t." 2015-03-14 02:38:32 +00:00
Yabin Cui
2fabea47ac Hide content of pthread_rwlock_t in pthread_rwlock_internal_t.
Bug: 19249079
Change-Id: Ifbe634c716b6793bef897ec5134b55eb44c6b8d5
2015-03-13 19:35:05 -07:00
Christopher Ferris
969320874d am 0d54094a: am 81c31bdd: Merge "Add some GNU specific elf constants."
* commit '0d54094a86eded929edaa35a63ac831b1cb95c91':
  Add some GNU specific elf constants.
2015-03-13 21:54:56 +00:00
Dmitriy Ivanov
5a35783fba am 173a61f2: am d7e091ef: Merge "Switch libc and libm to sysv-only hash style"
* commit '173a61f29bb44f70140b9167a7333e79b1d9bf1b':
  Switch libc and libm to sysv-only hash style
2015-03-13 21:54:55 +00:00
Christopher Ferris
0d54094a86 am 81c31bdd: Merge "Add some GNU specific elf constants."
* commit '81c31bdd43e50538fa45f5e7783782a5ae5666e9':
  Add some GNU specific elf constants.
2015-03-13 21:23:43 +00:00
Dmitriy Ivanov
173a61f29b am d7e091ef: Merge "Switch libc and libm to sysv-only hash style"
* commit 'd7e091efc477c17da97415fa944675c6f16dcdb5':
  Switch libc and libm to sysv-only hash style
2015-03-13 21:16:47 +00:00
Christopher Ferris
81c31bdd43 Merge "Add some GNU specific elf constants." 2015-03-13 21:12:07 +00:00
Dmitriy Ivanov
d7e091efc4 Merge "Switch libc and libm to sysv-only hash style" 2015-03-13 21:04:08 +00:00
Dmitriy Ivanov
2e16d2cf1e Switch libc and libm to sysv-only hash style
Bug: 19059885
Change-Id: I60a23dc5f9c756994d566818332ca42b305b4a05
2015-03-13 19:48:03 +00:00
Christopher Ferris
58ea845dd6 am c30d7a67: am f074b531: Merge "Add the optimized implementation of 18 math functions for x86 and x86_64 respectively"
* commit 'c30d7a67e092b95036aba0f0f93e9f382c9e9a8e':
  Add the optimized implementation of 18 math functions for x86 and x86_64 respectively
2015-03-13 17:36:21 +00:00
Christopher Ferris
c94c7ff2bb Add some GNU specific elf constants.
Change-Id: I6c668463a27a641c9a280ce1937857d622344ff8
2015-03-13 10:32:45 -07:00
Christopher Ferris
c30d7a67e0 am f074b531: Merge "Add the optimized implementation of 18 math functions for x86 and x86_64 respectively"
* commit 'f074b531d266deb63c17e1d3bff751f3f3740d9d':
  Add the optimized implementation of 18 math functions for x86 and x86_64 respectively
2015-03-13 17:27:43 +00:00
Christopher Ferris
f074b531d2 Merge "Add the optimized implementation of 18 math functions for x86 and x86_64 respectively" 2015-03-13 17:18:21 +00:00
Yabin Cui
a4a914b522 am 1e795957: am 5507deda: Merge "Make gtest_main exit 1 when some test are failed."
* commit '1e795957f44bff53b27dad686ed56b26d85f84b0':
  Make gtest_main exit 1 when some test are failed.
2015-03-13 17:12:53 +00:00
Yabin Cui
1e795957f4 am 5507deda: Merge "Make gtest_main exit 1 when some test are failed."
* commit '5507dedaeb43e01edfab4b0e2cc290622b20e678':
  Make gtest_main exit 1 when some test are failed.
2015-03-13 17:09:14 +00:00
Yabin Cui
5507dedaeb Merge "Make gtest_main exit 1 when some test are failed." 2015-03-13 17:02:19 +00:00
Mark Salyzyn
8e2d61963d am ee7b80d7: am f6f96df5: Merge "syslog.h: missing LOG_MAKEPRI definition"
* commit 'ee7b80d7cf09c32ea806dfbaa401ba5790670064':
  syslog.h: missing LOG_MAKEPRI definition
2015-03-13 07:20:41 +00:00
Yabin Cui
64a9c4f697 Make gtest_main exit 1 when some test are failed.
This is the gtest behavior, which I think can make test status
judgement more convenient.

Change-Id: I7d3c210d1744b954a4148cd905dd5c353207fce8
2015-03-12 23:36:29 -07:00
Yabin Cui
5b8e7cd957 Remove duplication in pthread_mutex.cpp.
Also add unit tests about thread woken up by pthread_mutex_unlock.

Bug: 19216648

Change-Id: I8bde8105b00186c52a2f41d92458ae4a5eb90426
2015-03-12 21:54:41 -07:00
Yabin Cui
58cf31b506 Make pthread join_state not protected by g_thread_list_lock.
1. Move the representation of thread join_state from pthread.attr.flag
   to pthread.join_state. This clarifies thread state change.
2. Use atomic operations for pthread.join_state. So we don't need to
   protect it by g_thread_list_lock. g_thread_list_lock will be reduced
   to only protect g_thread_list or even removed in further changes.

Bug: 19636317
Change-Id: I31fb143a7c69508c7287307dd3b0776993ec0f43
2015-03-12 21:39:49 -07:00
Mark Salyzyn
ee7b80d7cf am f6f96df5: Merge "syslog.h: missing LOG_MAKEPRI definition"
* commit 'f6f96df5b031b0bf79eb8ad49bd73a3ceab87db5':
  syslog.h: missing LOG_MAKEPRI definition
2015-03-12 21:39:12 +00:00
Mark Salyzyn
f6f96df5b0 Merge "syslog.h: missing LOG_MAKEPRI definition" 2015-03-12 20:33:25 +00:00
Mark Salyzyn
c4a586da49 syslog.h: missing LOG_MAKEPRI definition
Bug: 19681572
Change-Id: Ice5f5cb1f71522ffc47b2243a8dc4c277c2a288f
2015-03-12 13:21:35 -07:00
Elliott Hughes
8ae530ca63 am 59e911c7: am be86f877: Merge "Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>."
* commit '59e911c7fda705ca50d558c73bae9decdcf1b040':
  Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>.
2015-03-12 15:35:54 +00:00
Dmitriy Ivanov
3e7d8d200f am 452ddd02: am e8107b66: Merge "Rename LinkerAllocator and LinkerAllocatorPage"
* commit '452ddd0245d9fb790d55206fc9535d02665c28fa':
  Rename LinkerAllocator and LinkerAllocatorPage
2015-03-11 23:02:18 +00:00
Dmitriy Ivanov
714a70f692 am 36927c79: am 57e800d5: Merge "Refactoring: rename linker_allocator files"
* commit '36927c796b26f6c4f9771e4935615e9edf2205c3':
  Refactoring: rename linker_allocator files
2015-03-11 23:02:17 +00:00
Dimitry Ivanov
bc6aa41dd7 am 1f2b704c: am e842dc0d: am c16c8368: Merge "Generate gnu hash for arm only"
* commit '1f2b704ccf5102ca759f0721f0612bcf84fd5cc9':
  Generate gnu hash for arm only
2015-03-11 20:09:29 +00:00
Elliott Hughes
59e911c7fd am be86f877: Merge "Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>."
* commit 'be86f87711ee71ff971da2e2ae7a092081177951':
  Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>.
2015-03-11 16:56:26 +00:00
Elliott Hughes
be86f87711 Merge "Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>." 2015-03-11 16:42:49 +00:00
Elliott Hughes
ba87fe5145 Add the UMOUNT_NOFOLLOW flag to <sys/mount.h>.
Change-Id: I2b81cfc3147d9a0a6ac2a8f064e6d9864fa7e04d
2015-03-11 09:32:25 -07:00
Dmitriy Ivanov
452ddd0245 am e8107b66: Merge "Rename LinkerAllocator and LinkerAllocatorPage"
* commit 'e8107b66c56509a8d1b1d21f217e4e71a9f74bee':
  Rename LinkerAllocator and LinkerAllocatorPage
2015-03-11 03:19:21 +00:00
Dmitriy Ivanov
36927c796b am 57e800d5: Merge "Refactoring: rename linker_allocator files"
* commit '57e800d534b43bda849858ed4bb47d556469032f':
  Refactoring: rename linker_allocator files
2015-03-11 03:19:20 +00:00
Dmitriy Ivanov
e8107b66c5 Merge "Rename LinkerAllocator and LinkerAllocatorPage" 2015-03-11 00:38:49 +00:00
Dmitriy Ivanov
57e800d534 Merge "Refactoring: rename linker_allocator files" 2015-03-11 00:35:22 +00:00
Dmitriy Ivanov
600bc3cb93 Rename LinkerAllocator and LinkerAllocatorPage
Change-Id: I87d80fbcd4ec26c0ee4f601b9c4c64f600418dd9
2015-03-10 15:43:50 -07:00
Dmitriy Ivanov
c9ce70d783 Refactoring: rename linker_allocator files
Change-Id: Ifc08e64b3a85205f072b7abab1149c7ab71e2f75
2015-03-10 15:30:26 -07:00
Dmitriy Ivanov
88f587421d am 6d0735fa: am dca2fadd: am a94cf791: Merge "Generate sysv hash for libc, libstdc++ and libm"
* commit '6d0735fa2bd9690252c0f26cafffb7614ffd3556':
  Generate sysv hash for libc, libstdc++ and libm
2015-03-10 22:04:33 +00:00
Yabin Cui
3b18a6510e am 981fdd0e: am 50119cec: am 37c71b14: Merge "Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink."
* commit '981fdd0e5580f5a51e52dc1105fa95ec6705d017':
  Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink.
2015-03-10 22:04:32 +00:00
Dmitriy Ivanov
eed4cb3869 am 240a7910: am 8af6a7b3: am 017f94d3: Merge "Store fields for gnu_hash separately"
* commit '240a7910ab46bc1f247270c3edafbb4e18616f60':
  Store fields for gnu_hash separately
2015-03-10 18:15:58 +00:00
Dimitry Ivanov
1f2b704ccf am e842dc0d: am c16c8368: Merge "Generate gnu hash for arm only"
* commit 'e842dc0de5ce5f9950e323ae8805909f60867bf6':
  Generate gnu hash for arm only
2015-03-10 17:48:29 +00:00
Dimitry Ivanov
e842dc0de5 am c16c8368: Merge "Generate gnu hash for arm only"
* commit 'c16c8368773452e2d18d761a7b3ea6f249dc2ac5':
  Generate gnu hash for arm only
2015-03-10 17:41:18 +00:00
Dimitry Ivanov
c16c836877 Merge "Generate gnu hash for arm only" 2015-03-10 17:34:51 +00:00
Goran Jakovljevic
1156508265 Generate gnu hash for arm only
Fixes build failure caused by:
https://android-review.googlesource.com/#/c/139660

As previously discussed [1], MIPS does not support GNU-style ELF hashes.

[1] https://android-review.googlesource.com/#/c/49282/2/tests/Android.mk

Change-Id: I9a7966eebfd1ef0a587a20b71faefde38e84ab62
2015-03-10 10:01:50 -07:00
Dmitriy Ivanov
6d0735fa2b am dca2fadd: am a94cf791: Merge "Generate sysv hash for libc, libstdc++ and libm"
* commit 'dca2fadd8252a5c0664d2811187bc39bd7916aa4':
  Generate sysv hash for libc, libstdc++ and libm
2015-03-10 15:12:09 +00:00
Yabin Cui
981fdd0e55 am 50119cec: am 37c71b14: Merge "Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink."
* commit '50119cec8d872df02547af39a3a85aea9125299b':
  Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink.
2015-03-10 15:12:07 +00:00
Dmitriy Ivanov
dca2fadd82 am a94cf791: Merge "Generate sysv hash for libc, libstdc++ and libm"
* commit 'a94cf791c1c9b93d49f5573716de93348757ae15':
  Generate sysv hash for libc, libstdc++ and libm
2015-03-10 15:03:35 +00:00
Yabin Cui
50119cec8d am 37c71b14: Merge "Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink."
* commit '37c71b14e51c53b0cb5daa19bf38559d063453dc':
  Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink.
2015-03-10 15:03:34 +00:00
Dmitriy Ivanov
a94cf791c1 Merge "Generate sysv hash for libc, libstdc++ and libm" 2015-03-10 04:41:02 +00:00
Yabin Cui
37c71b14e5 Merge "Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink." 2015-03-10 04:14:12 +00:00
Dmitriy Ivanov
4a55c46d30 Generate sysv hash for libc, libstdc++ and libm
Bug: 19059885
Change-Id: I35e2a9cd0bb3914d9d0c82d163bfaf0fff844667
2015-03-09 19:38:56 -07:00
Yabin Cui
c6e5874a4c Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink.
It has been reported in b2/19657449 and b2/19381040 that fchmodat
AT_SYMLINK_NOFOLLOW operation on symlink can succeed. It seems to be
controlled by kernel(version or configuration) or user configuration
whether chmod is allowed on symlinks. Unless we can disable chmod on
symlinks in bionic explicitly, we can not guarantee that the test can
pass. But it seems reasonable to allow chmod on symlink if kernel allows
to. So We prefer to loosen the test here, accepting both success and
failure when doing chmod operation on symlinks.

Bug: 19657449
Bug: 19381040
Change-Id: I780e84f0b50d0412fbac9f1c240d07e984892a28
2015-03-09 18:13:15 -07:00
Dmitriy Ivanov
240a7910ab am 8af6a7b3: am 017f94d3: Merge "Store fields for gnu_hash separately"
* commit '8af6a7b38e1ce134d537f359d8cf4780ed9d8f58':
  Store fields for gnu_hash separately
2015-03-09 21:15:50 +00:00
Dmitriy Ivanov
8af6a7b38e am 017f94d3: Merge "Store fields for gnu_hash separately"
* commit '017f94d34eedfaca1c62cb35a65b8436f04b8f62':
  Store fields for gnu_hash separately
2015-03-09 21:11:02 +00:00
Dmitriy Ivanov
017f94d34e Merge "Store fields for gnu_hash separately" 2015-03-09 21:05:52 +00:00
Dmitriy Ivanov
3597b8055d Store fields for gnu_hash separately
Kindle app relies on soinfo's sysv hash
  fields while linking native libraries.

  This change allows to keep sysv hash fields
  intact for the libraries linked with --hash-style=both.

Bug: 19059885
Change-Id: I12528652955638f1a6586bda99e111bb1c8aa7a3
2015-03-09 21:01:01 +00:00
Jingwei Zhang
5d4f0e6a26 Add the optimized implementation of 18 math functions for x86 and x86_64 respectively
Change-Id: I31bf601448a9427f825517f3a0ff24de47f49bfa
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
2015-03-09 13:19:08 -07:00
Nick Kralevich
7a507ba202 am 563fd91a: am 9e08606c: am edc1d3e3: Merge "linker: Allow an app to update it\'s own LD_LIBRARY_PATH"
* commit '563fd91a314958ae0fec09471056e6071e71f72a':
  linker: Allow an app to update it's own LD_LIBRARY_PATH
2015-03-08 00:18:04 +00:00
Christopher Ferris
da597738d8 am 0e2b8b80: am 5c329e45: am 9afb08dd: Merge "libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64"
* commit '0e2b8b800036c79bf05760e28896041028a2fa3c':
  libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64
2015-03-08 00:18:03 +00:00
Dmitriy Ivanov
5e05683975 am 7d62778c: am 2bf9f30a: am 536ec735: Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
* commit '7d62778c0f7b404961361e0a1745ff8f880ec805':
  Add support for packed relocations.
  Refactoring: introduce reloc_iterators
  Generalize compression tool
  Import relocation packer from chromium repo
2015-03-08 00:18:02 +00:00
Yabin Cui
a01387a16b am 7db2acbb: am 2bb873ae: am e86a86f9: Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD."
* commit '7db2acbb694871da2b02ccf2261c01e0faf812ae':
  Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
2015-03-08 00:18:01 +00:00
Yabin Cui
a2d3511e36 am 39416d70: am a1d1f658: am 45ee73a7: Merge "Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp."
* commit '39416d701cdbcff68d7ed11720b61d8a4a9e66bd':
  Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp.
2015-03-08 00:18:00 +00:00
Yabin Cui
1493be412e am 185d511b: am af1ad422: am fe4f2a67: Merge "Use pthread_once for g_uselocale_key creation."
* commit '185d511bf827d864397e8ac2dd886ae19618f71d':
  Use pthread_once for g_uselocale_key creation.
2015-03-08 00:17:59 +00:00
Nick Kralevich
563fd91a31 am 9e08606c: am edc1d3e3: Merge "linker: Allow an app to update it\'s own LD_LIBRARY_PATH"
* commit '9e08606c8353b543f414625a475aaab390de161f':
  linker: Allow an app to update it's own LD_LIBRARY_PATH
2015-03-08 00:08:43 +00:00
Christopher Ferris
0e2b8b8000 am 5c329e45: am 9afb08dd: Merge "libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64"
* commit '5c329e45dc5b4216be673459bcc7c5abcce5f2d3':
  libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64
2015-03-08 00:08:32 +00:00
Dmitriy Ivanov
7d62778c0f am 2bf9f30a: am 536ec735: Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
* commit '2bf9f30a3ae9892660b7f7f64fd4d60bae712ed6':
  Add support for packed relocations.
  Refactoring: introduce reloc_iterators
  Generalize compression tool
  Import relocation packer from chromium repo
2015-03-08 00:08:30 +00:00
Yabin Cui
7db2acbb69 am 2bb873ae: am e86a86f9: Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD."
* commit '2bb873aee94db4f317a62480b07f6d4d1d33da6d':
  Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
2015-03-08 00:08:29 +00:00
Yabin Cui
39416d701c am a1d1f658: am 45ee73a7: Merge "Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp."
* commit 'a1d1f658b5ed0508a21c87008a13830530660eba':
  Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp.
2015-03-08 00:07:50 +00:00
Yabin Cui
185d511bf8 am af1ad422: am fe4f2a67: Merge "Use pthread_once for g_uselocale_key creation."
* commit 'af1ad4220885bc37a347086cac15863fe9bbe16e':
  Use pthread_once for g_uselocale_key creation.
2015-03-08 00:07:22 +00:00
Nick Kralevich
9e08606c83 am edc1d3e3: Merge "linker: Allow an app to update it\'s own LD_LIBRARY_PATH"
* commit 'edc1d3e3c6266eadcd05a9aa7bcdec701ba060aa':
  linker: Allow an app to update it's own LD_LIBRARY_PATH
2015-03-07 23:38:35 +00:00
Nick Kralevich
edc1d3e3c6 Merge "linker: Allow an app to update it's own LD_LIBRARY_PATH" 2015-03-07 23:31:32 +00:00
Nick Kralevich
6bb01b6e63 linker: Allow an app to update it's own LD_LIBRARY_PATH
When the kernel executes a program which is setuid, setgid, has
file capabilities, or causes an SELinux domain transition, the
AT_SECURE flag is set. This flag instructs the dynamic linker to
prune any dangerous environment variables passed across security
boundaries.

For SELinux in particular, whether this flag is set depends on the
the "noatsecure" process permission. If that permission does not
exist, then AT_SECURE=1 whenever a domain transition occurs.

In https://android-review.googlesource.com/129971 , Android stopped
using noatsecure when executing init services. In
https://android-review.googlesource.com/130610 , init was flipped
back into SELinux enforcing mode, making ag/129971 active. The
combination of those two changes ensured that AT_SECURE=1 was
set when executing init spawned services.

In particular, AT_SECURE=1 is set when init executes zygote. Due to
the forking nature of zygote, AT_SECURE remains untouched when
executing zygote's children.

This causes problems for the code added in
https://android-review.googlesource.com/48409 . Specifically, if
AT_SECURE=1, an attempt to call android_update_LD_LIBRARY_PATH()
is silently ignored. This causes problems when art tries to adjust
the LD_LIBRARY_PATH for Android apps. Ultimately, apps are unable
to find shared libraries they depend on.

As discussed in bug 7896159, there's no security reason for
preventing an application from updating it's own LD_LIBRARY_PATH.
We only need to prune LD_LIBRARY_PATH when transitioning across
security boundaries, but not when we're entirely within a security
boundary.

Remove the AT_SECURE check within do_android_update_LD_LIBRARY_PATH().
It's unneeded and prevents an application from modifying it's own
LD_LIBRARY_PATH. This allows an application to specify a location
where it's dlopen()ed shared libraries should be loaded from.

There is no change to AT_SECURE handling in
__sanitize_environment_variables(). We continue to honor it there
to prevent using security sensitive environment variables across
an exec boundary.

Bug: 19559835
Change-Id: If4af2ee8e84265aaa0c93de8b281208b20d7942a
2015-03-07 13:37:05 -08:00
Christopher Ferris
5c329e45dc am 9afb08dd: Merge "libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64"
* commit '9afb08dd0984acea49da5aae21b41522cb805dac':
  libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64
2015-03-07 17:13:22 +00:00
Dmitriy Ivanov
2bf9f30a3a am 536ec735: Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
* commit '536ec7359eb951655e389443aa918a4bb16b2d8b':
  Add support for packed relocations.
  Refactoring: introduce reloc_iterators
  Generalize compression tool
  Import relocation packer from chromium repo
2015-03-07 17:13:21 +00:00
Yabin Cui
2bb873aee9 am e86a86f9: Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD."
* commit 'e86a86f9f24df7028d2596c69ff008cf88e039e4':
  Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
2015-03-07 17:13:21 +00:00
Christopher Ferris
9afb08dd09 Merge "libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64" 2015-03-07 16:46:27 +00:00
Dmitriy Ivanov
536ec7359e Merge changes I796a4ce8,I6165d062,I66c95d90,Ia67fa11d
* changes:
  Add support for packed relocations.
  Refactoring: introduce reloc_iterators
  Generalize compression tool
  Import relocation packer from chromium repo
2015-03-07 07:08:51 +00:00
Dmitriy Ivanov
18a6956b76 Add support for packed relocations.
Change-Id: I796a4ce86d3fccb8361c19889419c96147ee3c9f
2015-03-06 17:12:47 -08:00
James Rose
45789b63db libm: Add hardware sqrt, ceil, floor and trunc for x86 & x86_64
Add hardware implementations for sqrt, ceil, floor and trunc for
x86 and x86_64. These routines, and in particular sqrt are much
faster than the BSD C language versions of these functions.

Fixed whitespace errors.

Revised x86 versions with respect to alignment.
Rebased for Android 5.0

Change-Id: I86bdb520ce5e589b0cf63778f353fbd3263c8f0e
Author: James Rose <james.rose@intel.com>
Signed-off-by: James Rose <james.rose@intel.com>
2015-03-06 16:48:30 -08:00
Yabin Cui
e86a86f9f2 Merge "Remove PTHREAD_ATTR_FLAG_MAIN_THREAD." 2015-03-06 23:21:12 +00:00
Yabin Cui
9d0c79304d Remove PTHREAD_ATTR_FLAG_MAIN_THREAD.
Make this change because I think it is more reasonable to check stack info
in pthread_getattr_np. I believe pthread_attr_t is not tied with any thread,
and can't have a flag saying who using it is the main thread.
This change also helps refactor of g_thread_list_lock.

Bug: 19636317
Change-Id: Iedbb85a391ac3e1849dd036d01445dac4bc63db9
2015-03-06 15:16:44 -08:00
Dmitriy Ivanov
fa26eee776 Refactoring: introduce reloc_iterators
Replace rel/rela array with reloc_iterators.

Change-Id: I6165d062e0390b6bc60da2e8279aabbedf828ec9
2015-03-06 13:01:08 -08:00
Dmitriy Ivanov
f8ff6b103b Generalize compression tool
1. One binary for all architectures
 2. Generalize (and slightly improve) compression
 2.1 works on all relocation types (rela?.dyn section only so far)
 2.2 Uses same format to encode ElfW(Rel) as well as ElfW(Rela) tables

Bug: 18051137
Change-Id: I66c95d9076954ca115816fc577d0f5ef274e5e72
2015-03-06 13:01:08 -08:00
Dmitriy Ivanov
87a0617ebe Import relocation packer from chromium repo
Bug: 18051137
Change-Id: Ia67fa11da8247e3f86f70a8ce99e6695f2c05423
2015-03-06 13:01:08 -08:00
Yabin Cui
a1d1f658b5 am 45ee73a7: Merge "Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp."
* commit '45ee73a7fbe98cba2ccb007b60c027d27dfca1cb':
  Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp.
2015-03-06 21:00:16 +00:00
Yabin Cui
45ee73a7fb Merge "Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp." 2015-03-06 20:52:31 +00:00
Yabin Cui
af1ad42208 am fe4f2a67: Merge "Use pthread_once for g_uselocale_key creation."
* commit 'fe4f2a6734ed3ace50606900143e84993f450caf':
  Use pthread_once for g_uselocale_key creation.
2015-03-06 05:34:31 +00:00
Yabin Cui
fe4f2a6734 Merge "Use pthread_once for g_uselocale_key creation." 2015-03-06 05:28:24 +00:00
Yabin Cui
f7e3b3e48a Use pthread_once for g_uselocale_key creation.
Bug: 19625804
Change-Id: I57ec4c965067dc0c157c795c1f7217a3ca403286
2015-03-05 20:39:10 -08:00
Christopher Ferris
bef6cbbe79 am 35e88f9b: am e953f3cf: am 71bf8379: Merge "libm: arm: add arm specific sqrt and sqrtf"
* commit '35e88f9b8bf51b75bb4fe7a72d43875bfed228f6':
  libm: arm: add arm specific sqrt and sqrtf
2015-03-05 22:43:24 +00:00
Christopher Ferris
35e88f9b8b am e953f3cf: am 71bf8379: Merge "libm: arm: add arm specific sqrt and sqrtf"
* commit 'e953f3cf985e810071d707bcc296b20ec6e2e8dd':
  libm: arm: add arm specific sqrt and sqrtf
2015-03-05 22:35:46 +00:00
Christopher Ferris
e953f3cf98 am 71bf8379: Merge "libm: arm: add arm specific sqrt and sqrtf"
* commit '71bf837982446b31f435031ed2d10aa1c8c15988':
  libm: arm: add arm specific sqrt and sqrtf
2015-03-05 21:59:08 +00:00
Christopher Ferris
71bf837982 Merge "libm: arm: add arm specific sqrt and sqrtf" 2015-03-05 21:55:21 +00:00
Yabin Cui
120a29749d am 807c623b: am 9ecb7f40: am c3307dc4: Merge "Better control of pthread keys used in bionic."
* commit '807c623b58c7020e8419057fac0c58f0a7099bbe':
  Better control of pthread keys used in bionic.
2015-03-05 19:26:31 +00:00
Yabin Cui
807c623b58 am 9ecb7f40: am c3307dc4: Merge "Better control of pthread keys used in bionic."
* commit '9ecb7f40d01d7ee258d11277944cc2415635ea17':
  Better control of pthread keys used in bionic.
2015-03-05 18:39:22 +00:00
Yabin Cui
9ecb7f40d0 am c3307dc4: Merge "Better control of pthread keys used in bionic."
* commit 'c3307dc43b2526c4031837738b139d22831c5d09':
  Better control of pthread keys used in bionic.
2015-03-05 18:33:31 +00:00
Yabin Cui
c3307dc43b Merge "Better control of pthread keys used in bionic." 2015-03-05 18:26:44 +00:00
Yabin Cui
93e094f9c3 am 4710b5fb: am 917cb395: am 5d400204: Merge "Fix fortify compilation test in x86_64."
* commit '4710b5fb5d0939c2212769b054d700152f7fd885':
  Fix fortify compilation test in x86_64.
2015-03-05 08:59:33 +00:00
Yabin Cui
4710b5fb5d am 917cb395: am 5d400204: Merge "Fix fortify compilation test in x86_64."
* commit '917cb395bc7c71b34d3a4feca0c619d2aaf89fd8':
  Fix fortify compilation test in x86_64.
2015-03-05 08:53:16 +00:00
Yabin Cui
917cb395bc am 5d400204: Merge "Fix fortify compilation test in x86_64."
* commit '5d400204589ceb781fa11864c2e8f3001e5dc96f':
  Fix fortify compilation test in x86_64.
2015-03-05 08:47:12 +00:00
Yabin Cui
24e8871faa Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp.
Bug: 19234260
Change-Id: Ife27ca13eeae317739eda25b40dd2a08606d6d6f
2015-03-05 00:46:18 -08:00
Yabin Cui
5d40020458 Merge "Fix fortify compilation test in x86_64." 2015-03-05 08:40:58 +00:00
Yabin Cui
d9647594de Fix fortify compilation test in x86_64.
Change-Id: Ic243f6583e4f435899d01c7845dddacacbfc916e
2015-03-05 00:39:09 -08:00
Yabin Cui
97bd338e55 am 3801fb1e: am f9b3f25e: am 1c78181a: Merge "Fix fortify compilation test on x86."
* commit '3801fb1e8bbaeef23f6a0cf8709ecd60d4ec5f6a':
  Fix fortify compilation test on x86.
2015-03-05 06:51:36 +00:00
Yabin Cui
3801fb1e8b am f9b3f25e: am 1c78181a: Merge "Fix fortify compilation test on x86."
* commit 'f9b3f25e0ba641cc59a741492737f4712f2d798a':
  Fix fortify compilation test on x86.
2015-03-05 06:44:02 +00:00
Yabin Cui
f9b3f25e0b am 1c78181a: Merge "Fix fortify compilation test on x86."
* commit '1c78181a9da19778dbbcc162854f9564a51243bf':
  Fix fortify compilation test on x86.
2015-03-05 06:39:55 +00:00
Yabin Cui
1c78181a9d Merge "Fix fortify compilation test on x86." 2015-03-05 06:36:47 +00:00
Yabin Cui
94545eba37 Fix fortify compilation test on x86.
Change-Id: I9b88cbcec51b6f1dbac2780a9bf82851bd6cc87c
2015-03-04 22:35:13 -08:00
Yabin Cui
2295b54492 am 9336f832: am c2917ec7: am 5ad57ce6: Merge "Fix fortify compilation test on mips."
* commit '9336f83244956c9dcea2ecb0c7a2768b85a953be':
  Fix fortify compilation test on mips.
2015-03-05 06:02:53 +00:00
Yabin Cui
9336f83244 am c2917ec7: am 5ad57ce6: Merge "Fix fortify compilation test on mips."
* commit 'c2917ec702d25955c6d139d76cfb7d607079141e':
  Fix fortify compilation test on mips.
2015-03-05 05:55:57 +00:00
Yabin Cui
c2917ec702 am 5ad57ce6: Merge "Fix fortify compilation test on mips."
* commit '5ad57ce6ab95a12ab738eb7cd3595745ddd60d8d':
  Fix fortify compilation test on mips.
2015-03-05 05:50:33 +00:00
Yabin Cui
5ad57ce6ab Merge "Fix fortify compilation test on mips." 2015-03-05 05:46:16 +00:00
Yabin Cui
f3bd305b8f Fix fortify compilation test on mips.
Change-Id: Icff5b859ae58067bfa34430d3f5684335fe063b4
2015-03-04 21:43:14 -08:00
Yabin Cui
de40b37882 am 8e91a1ff: am 80aa71aa: am e1c0213b: Merge "Switch pthread_rwlock_t to stdatomic."
* commit '8e91a1ff73b865f9ed5f8ee4a493394e8b3ba302':
  Switch pthread_rwlock_t to stdatomic.
2015-03-05 05:00:35 +00:00
Yabin Cui
8e91a1ff73 am 80aa71aa: am e1c0213b: Merge "Switch pthread_rwlock_t to stdatomic."
* commit '80aa71aa71033fa8c03f8b7a9032643294f60006':
  Switch pthread_rwlock_t to stdatomic.
2015-03-05 04:54:37 +00:00
Yabin Cui
80aa71aa71 am e1c0213b: Merge "Switch pthread_rwlock_t to stdatomic."
* commit 'e1c0213be3f0c2c4e310cbc262da88835a2e5d86':
  Switch pthread_rwlock_t to stdatomic.
2015-03-05 04:48:48 +00:00
Yabin Cui
e1c0213be3 Merge "Switch pthread_rwlock_t to stdatomic." 2015-03-05 04:42:35 +00:00
Yabin Cui
08ee8d2030 Switch pthread_rwlock_t to stdatomic.
Bug: 19099838
Change-Id: Ie82967a60b5cec61a8bdd1e0e4a03738d01944f8
2015-03-04 18:16:20 -08:00
Yabin Cui
4a2891d8c8 Better control of pthread keys used in bionic.
Change-Id: I1e1bc77c0e7879baead6c3417282ce549a1153b5
2015-03-04 16:53:23 -08:00
Yabin Cui
eb050b0c4d am ea0cbb9a: am 821653e6: am dec9501a: Merge "Add fortify compile test."
* commit 'ea0cbb9a274e2b9294545b7ab877906ed4c3d202':
  Add fortify compile test.
2015-03-05 00:10:17 +00:00
Yabin Cui
ea0cbb9a27 am 821653e6: am dec9501a: Merge "Add fortify compile test."
* commit '821653e65f481b65c608bb3eb89190f7a85356c7':
  Add fortify compile test.
2015-03-05 00:06:03 +00:00
Yabin Cui
821653e65f am dec9501a: Merge "Add fortify compile test."
* commit 'dec9501af2ee4d7cec3a163310d42e8ea1b8c58f':
  Add fortify compile test.
2015-03-04 23:55:21 +00:00
Yabin Cui
dec9501af2 Merge "Add fortify compile test." 2015-03-04 23:25:42 +00:00
Christopher Ferris
fdc33dcfaf am 59c32458: am 1edafd56: am 86ac7341: Merge "Add aarch64 instructions wherever possible"
* commit '59c324581f58243564ec6db1688e5e1c3e220750':
  Add aarch64 instructions wherever possible
2015-03-04 23:24:45 +00:00
Christopher Ferris
59c324581f am 1edafd56: am 86ac7341: Merge "Add aarch64 instructions wherever possible"
* commit '1edafd561aefe07dd39273c1c09a9dbb308549d6':
  Add aarch64 instructions wherever possible
2015-03-04 22:51:40 +00:00
Christopher Ferris
1edafd561a am 86ac7341: Merge "Add aarch64 instructions wherever possible"
* commit '86ac734142a4d0765ceb589e7dcc3af1a4f4a8dd':
  Add aarch64 instructions wherever possible
2015-03-04 22:44:43 +00:00
Shu Zhang
c78fa26d47 libm: arm: add arm specific sqrt and sqrtf
Add arm specific optimized sqrt and sqrtf.

Change-Id: I8ea417fc98a800c8cf4f47a0c6668c51d927b1dc
2015-03-04 14:07:35 -08:00
Christopher Ferris
86ac734142 Merge "Add aarch64 instructions wherever possible" 2015-03-04 21:52:01 +00:00
Yabin Cui
20f2268d61 Add fortify compile test.
Two parts of tests are added:
1. Compile time warnings for gcc checking built-in functions.
2. Compile time errors for each errordecl() in bionic.

Bug: 19234260
Change-Id: Iec6e4a8070c36815574fe9e0af9595d6143a4757
2015-03-04 13:10:38 -08:00
Amaury Le Leyzour
32936c895d Add aarch64 instructions wherever possible
fma, sqrt and various rounding functions have aarch64 instruction equivalent

Change-Id: I1284f31b9f78f914281e5563b8d44db8362b627d
2015-03-04 12:18:52 -08:00
Yabin Cui
cdf7bf3e7d am 01351a72: am c210e84f: am e1edd301: Merge "Refactor pthread_key.cpp to be lock-free."
* commit '01351a728935bd52d1cb10d10c4c6aa686305053':
  Refactor pthread_key.cpp to be lock-free.
2015-03-04 02:09:32 +00:00
Yabin Cui
01351a7289 am c210e84f: am e1edd301: Merge "Refactor pthread_key.cpp to be lock-free."
* commit 'c210e84f28633d15f84a66a0652a4485c5fbc24d':
  Refactor pthread_key.cpp to be lock-free.
2015-03-04 02:00:43 +00:00
Yabin Cui
c210e84f28 am e1edd301: Merge "Refactor pthread_key.cpp to be lock-free."
* commit 'e1edd301d2a722e0a0687a7a3a87081c8cb956d3':
  Refactor pthread_key.cpp to be lock-free.
2015-03-04 01:53:46 +00:00
Yabin Cui
e1edd301d2 Merge "Refactor pthread_key.cpp to be lock-free." 2015-03-04 01:49:20 +00:00
Yabin Cui
5e2bd719d7 Refactor pthread_key.cpp to be lock-free.
Change-Id: I20dfb9d3cdc40eed10ea12ac34f03caaa94f7a49
2015-03-03 15:46:53 -08:00
Yabin Cui
8dbabd8494 am 92cadb19: am 62b6d11b: am d5c2745c: Merge "Lose bionic_atomic stuff."
* commit '92cadb19fba4bdcfa009ee8cbdf41a282a6b76b0':
  Lose bionic_atomic stuff.
2015-03-03 03:12:55 +00:00
Yabin Cui
92cadb19fb am 62b6d11b: am d5c2745c: Merge "Lose bionic_atomic stuff."
* commit '62b6d11b2de06db8ed26dc4b2b175443110748fe':
  Lose bionic_atomic stuff.
2015-03-03 03:07:06 +00:00
Yabin Cui
62b6d11b2d am d5c2745c: Merge "Lose bionic_atomic stuff."
* commit 'd5c2745ca8664b987d737e4a32922b6c9fe7c628':
  Lose bionic_atomic stuff.
2015-03-03 03:00:42 +00:00
Yabin Cui
d5c2745ca8 Merge "Lose bionic_atomic stuff." 2015-03-03 02:56:19 +00:00
Mark Salyzyn
5e6d3f49e2 am ef5cc0b8: am 1f3ac62b: am ceb9c182: Merge "bionic: deprecate _PATH_MEM"
* commit 'ef5cc0b8d71ed74129b010550a35d0a3a97f913a':
  bionic: deprecate _PATH_MEM
2015-03-02 22:45:45 +00:00
Mark Salyzyn
ef5cc0b8d7 am 1f3ac62b: am ceb9c182: Merge "bionic: deprecate _PATH_MEM"
* commit '1f3ac62b447f67fc60620bd3254761b1d73297ba':
  bionic: deprecate _PATH_MEM
2015-03-02 19:47:36 +00:00
Mark Salyzyn
1f3ac62b44 am ceb9c182: Merge "bionic: deprecate _PATH_MEM"
* commit 'ceb9c182dbb9752004a3d61d872fb3f0cc1c3f9c':
  bionic: deprecate _PATH_MEM
2015-03-02 19:41:53 +00:00
Mark Salyzyn
ceb9c182db Merge "bionic: deprecate _PATH_MEM" 2015-03-02 18:57:59 +00:00
Mark Salyzyn
c09268a3fe bionic: deprecate _PATH_MEM
/dev/mem (and /dev/kmem) are not enabled in the kernels, and selinux
prevents access and makes it a rule compilation error to enable
access. No code uses the _PATH_MEM macro. Remove definition to
suppress future usage.

Bug: 19549480
Change-Id: Ie0fb0f53d43349f4fe227068e4bf8a768f620d60
2015-03-02 18:44:11 +00:00
Christopher Ferris
e8fdf3e792 am 219ce296: am df14d8ef: am 2ae7c1e3: Merge "Fix fread returning bad data."
* commit '219ce2968b42ff4019d7eea2e8728505851ba475':
  Fix fread returning bad data.
2015-02-28 18:47:26 +00:00
Christopher Ferris
219ce2968b am df14d8ef: am 2ae7c1e3: Merge "Fix fread returning bad data."
* commit 'df14d8ef9884d85987e9810ae44837b659e1f82a':
  Fix fread returning bad data.
2015-02-28 18:41:27 +00:00
Christopher Ferris
df14d8ef98 am 2ae7c1e3: Merge "Fix fread returning bad data."
* commit '2ae7c1e336af3dd2901e90608be3adeb577659a7':
  Fix fread returning bad data.
2015-02-28 18:36:18 +00:00
Christopher Ferris
2ae7c1e336 Merge "Fix fread returning bad data." 2015-02-28 18:31:01 +00:00
Christopher Ferris
cc9ca1051d Fix fread returning bad data.
Bug: 19172514
Change-Id: I05016577858a02aca7d14e75e6ec28abc925037c
2015-02-27 18:22:45 -08:00
Christopher Ferris
5741d528ce am e30073f2: am d957bd08: am e6a33cef: Merge "libm: arm: Add arm specific floor() optimization"
* commit 'e30073f2a54d4f3ca072c7d28ee5b0209c8532a8':
  libm: arm: Add arm specific floor() optimization
2015-02-27 20:46:53 +00:00
Christopher Ferris
e30073f2a5 am d957bd08: am e6a33cef: Merge "libm: arm: Add arm specific floor() optimization"
* commit 'd957bd08b08685da987ebf609f87c3806b4455bc':
  libm: arm: Add arm specific floor() optimization
2015-02-27 20:40:46 +00:00
Christopher Ferris
d957bd08b0 am e6a33cef: Merge "libm: arm: Add arm specific floor() optimization"
* commit 'e6a33cefe4b3759fb77d9e69356cb50a97ea7e54':
  libm: arm: Add arm specific floor() optimization
2015-02-27 20:28:36 +00:00
Christopher Ferris
e6a33cefe4 Merge "libm: arm: Add arm specific floor() optimization" 2015-02-27 20:23:15 +00:00
Yabin Cui
7a42cd224c am 0d282fc5: am 09ee78ae: am b220c4b6: Merge "Make bionic gtest main be compatible with gtest output format for cts test."
* commit '0d282fc57291cf392f6322e34769c50d815085e7':
  Make bionic gtest main be compatible with gtest output format for cts test.
2015-02-27 18:49:54 +00:00
Yabin Cui
0d282fc572 am 09ee78ae: am b220c4b6: Merge "Make bionic gtest main be compatible with gtest output format for cts test."
* commit '09ee78ae010a1aa91ed5c12f8da80829837df944':
  Make bionic gtest main be compatible with gtest output format for cts test.
2015-02-27 18:42:52 +00:00
Yabin Cui
09ee78ae01 am b220c4b6: Merge "Make bionic gtest main be compatible with gtest output format for cts test."
* commit 'b220c4b609270cc6b76c4635d91d1f851aa63e57':
  Make bionic gtest main be compatible with gtest output format for cts test.
2015-02-27 18:36:08 +00:00
Yabin Cui
b220c4b609 Merge "Make bionic gtest main be compatible with gtest output format for cts test." 2015-02-27 18:29:48 +00:00
Yabin Cui
f6237470a3 Make bionic gtest main be compatible with gtest output format for cts test.
Bug: 17589740
Change-Id: Ifab521da379a33bf0a7bf11c21386f936f0d494c
2015-02-26 19:03:54 -08:00
Yabin Cui
ce751b3536 Lose bionic_atomic stuff.
Bug: 17177189
Change-Id: Ie1f5d7af359d31b14f58e53ec89c72111362d7ec
2015-02-26 13:45:06 -08:00
Christopher Ferris
99491a2988 am 21ddfa23: am e6c7e294: am f8eec1e5: Merge "Allow wildcards to match arg values."
* commit '21ddfa23f67cd0a9db7eff0c8a4ada5df1931f15':
  Allow wildcards to match arg values.
2015-02-26 04:04:42 +00:00
Yabin Cui
76f0031e4d am 8a661472: am 00ba42b9: am 7355d29b: Merge "Make getgrent deprecated."
* commit '8a6614726802170a19e5e68543a06117596def06':
  Make getgrent deprecated.
2015-02-26 04:04:41 +00:00
Christopher Ferris
21ddfa23f6 am e6c7e294: am f8eec1e5: Merge "Allow wildcards to match arg values."
* commit 'e6c7e294820a3b6c3569decad57d29eac31254b3':
  Allow wildcards to match arg values.
2015-02-26 03:58:38 +00:00
Yabin Cui
8a66147268 am 00ba42b9: am 7355d29b: Merge "Make getgrent deprecated."
* commit '00ba42b9f509baa706c93f648c8ad7c84c89d6d0':
  Make getgrent deprecated.
2015-02-26 03:58:37 +00:00
Christopher Ferris
e6c7e29482 am f8eec1e5: Merge "Allow wildcards to match arg values."
* commit 'f8eec1e54fbfb7b0304b73cb9ce2de44760a672e':
  Allow wildcards to match arg values.
2015-02-26 03:52:35 +00:00
Yabin Cui
00ba42b9f5 am 7355d29b: Merge "Make getgrent deprecated."
* commit '7355d29bbd106bd4ab3f5be1b743fb73e8c3b4da':
  Make getgrent deprecated.
2015-02-26 03:52:34 +00:00
Christopher Ferris
f8eec1e54f Merge "Allow wildcards to match arg values." 2015-02-26 03:47:12 +00:00
Yabin Cui
7355d29bbd Merge "Make getgrent deprecated." 2015-02-26 03:46:41 +00:00
Yabin Cui
d2f0f768e5 am 0a2db6e2: am 253fcfe7: am 398ef152: Merge "Move endpwent to ndk_cruft.cpp."
* commit '0a2db6e26f3a605df3d6c62e90b86b894be6f64b':
  Move endpwent to ndk_cruft.cpp.
2015-02-26 03:06:26 +00:00
Yabin Cui
072a326231 am f244b6d6: am fbff0fd5: am f1b4a5d5: Merge "Make tempnam/mktemp deprecated."
* commit 'f244b6d6920bdc9e7d2b597b0ac790759b603f72':
  Make tempnam/mktemp deprecated.
2015-02-26 03:06:24 +00:00
Yabin Cui
b8b5a72f41 Make getgrent deprecated.
Bug: 19340053
Change-Id: Ie8b97f840d9e87555e6a3d591fc87bc08c2d6820
2015-02-25 19:05:37 -08:00
Yabin Cui
0a2db6e26f am 253fcfe7: am 398ef152: Merge "Move endpwent to ndk_cruft.cpp."
* commit '253fcfe70e1bb87ca66e2886d90f6906e8d27f12':
  Move endpwent to ndk_cruft.cpp.
2015-02-26 02:58:56 +00:00
Yabin Cui
f244b6d692 am fbff0fd5: am f1b4a5d5: Merge "Make tempnam/mktemp deprecated."
* commit 'fbff0fd516a5d6499b3417eb194b0631ae50094a':
  Make tempnam/mktemp deprecated.
2015-02-26 02:58:50 +00:00
Yabin Cui
253fcfe70e am 398ef152: Merge "Move endpwent to ndk_cruft.cpp."
* commit '398ef152d50854fccb21086e30b5cc24641b3e2a':
  Move endpwent to ndk_cruft.cpp.
2015-02-26 02:52:36 +00:00
Yabin Cui
fbff0fd516 am f1b4a5d5: Merge "Make tempnam/mktemp deprecated."
* commit 'f1b4a5d510c693d7cffc76cade9ab049f7dfed07':
  Make tempnam/mktemp deprecated.
2015-02-26 02:52:35 +00:00
Yabin Cui
398ef152d5 Merge "Move endpwent to ndk_cruft.cpp." 2015-02-26 02:23:08 +00:00
Yabin Cui
f1b4a5d510 Merge "Make tempnam/mktemp deprecated." 2015-02-26 02:17:17 +00:00
Yabin Cui
9b4f77f5cf Make tempnam/mktemp deprecated.
Bug: 19340053
Change-Id: Ib02c65814ef97cd1758fd8142b73736cc8bc1700
2015-02-25 15:42:01 -08:00
Yabin Cui
52d7f1a94f Move endpwent to ndk_cruft.cpp.
Bug: 19109159
Change-Id: I3683a247643006ea6d6bcf3845f57d1908d457d7
2015-02-25 14:58:08 -08:00
Christopher Ferris
339ac378ca Allow wildcards to match arg values.
Change-Id: I38230b500bb8f8f69af0d7c740855a401cd12898
2015-02-25 14:56:32 -08:00
Yabin Cui
b448acfdba am 561d57a2: am f5d4f322: am 448a8596: Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."
* commit '561d57a246179d7148781eea4659fa960e93df02':
  Switch system_properties.cpp from bionic atomic operations to stdatomic.
2015-02-25 21:21:25 +00:00
Yabin Cui
561d57a246 am f5d4f322: am 448a8596: Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."
* commit 'f5d4f322bbea9e5a5a1ec4025a0289123c667e5f':
  Switch system_properties.cpp from bionic atomic operations to stdatomic.
2015-02-25 21:14:44 +00:00
Yabin Cui
f5d4f322bb am 448a8596: Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic."
* commit '448a85968da1e4622e829bb48fd888a38f9f6c49':
  Switch system_properties.cpp from bionic atomic operations to stdatomic.
2015-02-25 21:10:42 +00:00
Yabin Cui
448a85968d Merge "Switch system_properties.cpp from bionic atomic operations to stdatomic." 2015-02-25 21:04:56 +00:00
Yabin Cui
baeac9b294 am e4093959: am a1e4a4a3: am 8c41eae6: Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."
* commit 'e4093959c06ee37f28461a460f553882eb010c4f':
  Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
2015-02-25 17:04:56 +00:00
Yabin Cui
2955985437 am d16844ab: am 4600bdac: am af3ba5c8: Merge "Make all output of child test go to parent process in gtest_main."
* commit 'd16844abcea1cc50a64694367d6571c084c6a745':
  Make all output of child test go to parent process in gtest_main.
2015-02-25 17:04:55 +00:00
Nick Kralevich
328ab034c2 am fccf68ac: am e93bc6bb: am d91ded81: Merge "Fix "faccessat ignores flags""
* commit 'fccf68ace95348338e8b19afd6101581588a4f83':
  Fix "faccessat ignores flags"
2015-02-25 17:04:53 +00:00
Yabin Cui
e4093959c0 am a1e4a4a3: am 8c41eae6: Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."
* commit 'a1e4a4a3c68fc99958cc7a6e6fb7fed58feeaae8':
  Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
2015-02-25 16:52:39 +00:00
Yabin Cui
d16844abce am 4600bdac: am af3ba5c8: Merge "Make all output of child test go to parent process in gtest_main."
* commit '4600bdac709969408ac446507d85881db55b0ca7':
  Make all output of child test go to parent process in gtest_main.
2015-02-25 16:52:35 +00:00
Nick Kralevich
fccf68ace9 am e93bc6bb: am d91ded81: Merge "Fix "faccessat ignores flags""
* commit 'e93bc6bbe8ce180187e3914d0a7494cfe84f6255':
  Fix "faccessat ignores flags"
2015-02-25 16:52:22 +00:00
Yabin Cui
a1e4a4a3c6 am 8c41eae6: Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp."
* commit '8c41eae6fcdb6cad1f6c46ae01708ead6b734060':
  Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
2015-02-25 00:05:52 +00:00
Yabin Cui
8c41eae6fc Merge "Move getusershell/endusershell/setusershell to ndk_cruft.cpp." 2015-02-25 00:00:51 +00:00
Yabin Cui
4600bdac70 am af3ba5c8: Merge "Make all output of child test go to parent process in gtest_main."
* commit 'af3ba5c87319e19c10be6755b37af92521f702c2':
  Make all output of child test go to parent process in gtest_main.
2015-02-24 23:48:02 +00:00
Yabin Cui
af3ba5c873 Merge "Make all output of child test go to parent process in gtest_main." 2015-02-24 23:40:31 +00:00
Yabin Cui
7fb680bfda Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
Bug: 19108648
Change-Id: I65134040345398dde612c4325d902db58f3bd2be
2015-02-24 14:46:59 -08:00
Yabin Cui
ea9c933f36 Make all output of child test go to parent process in gtest_main.
Change-Id: Iad460e89755051cdb99593cbf42c97d9a359f32b
2015-02-24 14:44:51 -08:00
Nick Kralevich
e93bc6bbe8 am d91ded81: Merge "Fix "faccessat ignores flags""
* commit 'd91ded81376a10a1c89f7a5ae3c462ae3b24188e':
  Fix "faccessat ignores flags"
2015-02-24 21:52:36 +00:00
Nick Kralevich
d91ded8137 Merge "Fix "faccessat ignores flags"" 2015-02-24 21:49:09 +00:00
Nick Kralevich
35778253a5 Fix "faccessat ignores flags"
The kernel system call faccessat() does not have any flags arguments,
so passing flags to the kernel is currently ignored.

Fix the kernel system call so that no flags argument is passed in.

Ensure that we don't support AT_SYMLINK_NOFOLLOW. This non-POSIX
(http://pubs.opengroup.org/onlinepubs/9699919799/functions/access.html)
flag is a glibc extension, and has non-intuitive, error prone behavior.

For example, consider the following code:

  symlink("foo.is.dangling", "foo");
  if (faccessat(AT_FDCWD, "foo", R_OK, AT_SYMLINK_NOFOLLOW) == 0) {
    int fd = openat(AT_FDCWD, "foo", O_RDONLY | O_NOFOLLOW);
  }

The faccessat() call in glibc will return true, but an attempt to
open the dangling symlink will end up failing. GLIBC documents this
as returning the access mode of the symlink itself, which will
always return true for any symlink on Linux.

Some further discussions of this are at:

  * http://lists.landley.net/pipermail/toybox-landley.net/2014-September/003617.html
  * http://permalink.gmane.org/gmane.linux.lib.musl.general/6952

AT_SYMLINK_NOFOLLOW seems broken by design. I suspect this is why this
function was never added to POSIX. (note that "access" is pretty much
broken by design too, since it introduces a race condition between
check and action). We shouldn't support this until it's clearly
documented by POSIX or we can have it produce intuitive results.

Don't support AT_EACCESS for now. Implementing it is complicated, and
pretty much useless on Android, since we don't have setuid binaries.
See http://git.musl-libc.org/cgit/musl/commit/?id=0a05eace163cee9b08571d2ff9d90f5e82d9c228
for how an implementation might look.

Bug: 18867827
Change-Id: I25b86c5020f3152ffa3ac3047f6c4152908d0e04
2015-02-24 13:40:43 -08:00
Yabin Cui
b8ce474217 Switch system_properties.cpp from bionic atomic operations to stdatomic.
Bug: 17177189
Change-Id: I42e05ad1c490cc7a8040138151afc0ee72a9b63f
2015-02-24 10:41:53 -08:00
Elliott Hughes
df93bc50fc am 549aab61: am 4ec60a01: am 2aef607b: Merge "Fix dup2 in the case where the two fds are equal."
* commit '549aab610a36b696a4586e33c4b709a29a668c1a':
  Fix dup2 in the case where the two fds are equal.
2015-02-24 06:06:43 +00:00
Elliott Hughes
549aab610a am 4ec60a01: am 2aef607b: Merge "Fix dup2 in the case where the two fds are equal."
* commit '4ec60a017859b39d490cfeb089ed30da09863def':
  Fix dup2 in the case where the two fds are equal.
2015-02-24 06:03:02 +00:00
Elliott Hughes
4ec60a0178 am 2aef607b: Merge "Fix dup2 in the case where the two fds are equal."
* commit '2aef607b25c463baed5ae70d14212e24ea7bcf2b':
  Fix dup2 in the case where the two fds are equal.
2015-02-24 05:59:52 +00:00
Elliott Hughes
2aef607b25 Merge "Fix dup2 in the case where the two fds are equal." 2015-02-24 05:55:37 +00:00
Elliott Hughes
be52e65817 Fix dup2 in the case where the two fds are equal.
dup3's behavior differs from dup2 in this case, so we need to paper
over that in the C library.

Change-Id: I313cd6f226db5e237f61866f324c5ecdd12bf762
2015-02-23 21:52:56 -08:00
Elliott Hughes
7d85c81f31 am aced654f: am 491c09e0: am 393bdb15: Merge "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX."
* commit 'aced654f583682074db54b10706511453a7521da':
  Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
2015-02-24 04:54:26 +00:00
Elliott Hughes
aced654f58 am 491c09e0: am 393bdb15: Merge "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX."
* commit '491c09e0d5921edd57da2efb0c8ed4f32df93fe2':
  Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
2015-02-23 22:52:54 +00:00
Elliott Hughes
491c09e0d5 am 393bdb15: Merge "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX."
* commit '393bdb156d5024a03f03425a977d0518c84dbb98':
  Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
2015-02-23 22:45:14 +00:00
Elliott Hughes
393bdb156d Merge "Add RLIM_SAVED_CUR and RLIM_SAVED_MAX." 2015-02-23 22:36:06 +00:00
Elliott Hughes
6af62e0d50 Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
Change-Id: Ia6be76460bfcf852832325c5f36cb272f49a4b87
2015-02-23 13:41:40 -08:00
Elliott Hughes
1d0ded2116 am c0e7f55d: am 07e218a4: am 3d83b189: Merge "[MIPS64] Fix mips64 build."
* commit 'c0e7f55d9b89c7d80083842223c941c413bc3942':
  [MIPS64] Fix mips64 build.
2015-02-23 16:19:21 +00:00
Elliott Hughes
c0e7f55d9b am 07e218a4: am 3d83b189: Merge "[MIPS64] Fix mips64 build."
* commit '07e218a484d8a1ac71c3b9317e86f5ba39aae919':
  [MIPS64] Fix mips64 build.
2015-02-23 16:12:38 +00:00
Elliott Hughes
07e218a484 am 3d83b189: Merge "[MIPS64] Fix mips64 build."
* commit '3d83b18970f32467596830845793b18a858f59e6':
  [MIPS64] Fix mips64 build.
2015-02-23 16:09:17 +00:00
Elliott Hughes
3d83b18970 Merge "[MIPS64] Fix mips64 build." 2015-02-23 16:04:20 +00:00
Nikola Veljkovic
daf8911079 [MIPS64] Fix mips64 build.
Build was broken by:
https://android-review.googlesource.com/133834

Use <unistd.h> to get syscall().
Remove <asm/unistd.h>, it gets included through <sys/syscall.h>.

Change-Id: Id762f6dea5f9538c19b79cdd46deda978efd50fe
2015-02-23 16:21:31 +01:00
Greg Hackmann
f937761134 am 973ceef6: am 4602d8c7: am 04bbef37: Merge "Fix 64-bit benchmark build"
* commit '973ceef6869a7dad02195389547bf6177bb6cb34':
  Fix 64-bit benchmark build
2015-02-20 19:30:41 +00:00
Greg Hackmann
973ceef686 am 4602d8c7: am 04bbef37: Merge "Fix 64-bit benchmark build"
* commit '4602d8c7621ffd87e32f53c8f7e8ac5453a404ca':
  Fix 64-bit benchmark build
2015-02-20 19:27:13 +00:00
Greg Hackmann
4602d8c762 am 04bbef37: Merge "Fix 64-bit benchmark build"
* commit '04bbef377b9941bf6d67d9c515b6640a314fb032':
  Fix 64-bit benchmark build
2015-02-20 19:21:19 +00:00
Greg Hackmann
04bbef377b Merge "Fix 64-bit benchmark build" 2015-02-20 19:16:49 +00:00
Greg Hackmann
567bfb3779 Fix 64-bit benchmark build
The * flag to printf() wants an int instead of size_t, and these are
distinct types on 64-bit.  To accomodate this, make the name column
width helpers return int.

In theory this truncates things, but in practice this only matters if
you have a benchmark with more than INT_MAX characters in its name (in
which case you have bigger problems).

Change-Id: I3338948c25a3a8d84f1ead2f5b457c05da8a01cf
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2015-02-20 11:07:38 -08:00
Elliott Hughes
3f89ed1b47 am 5bf236e9: am 6421f8f5: am c39eef71: Merge "valgrind can\'t find syscall because we didn\'t put it in <unistd.h>."
* commit '5bf236e95f75de0169abbb22fc083c767ec681a6':
  valgrind can't find syscall because we didn't put it in <unistd.h>.
2015-02-20 17:15:16 +00:00
Elliott Hughes
5bf236e95f am 6421f8f5: am c39eef71: Merge "valgrind can\'t find syscall because we didn\'t put it in <unistd.h>."
* commit '6421f8f5b21357b3f956f4b20c3622f96863a219':
  valgrind can't find syscall because we didn't put it in <unistd.h>.
2015-02-20 17:08:47 +00:00
Elliott Hughes
6421f8f5b2 am c39eef71: Merge "valgrind can\'t find syscall because we didn\'t put it in <unistd.h>."
* commit 'c39eef71a7f66b69e2216a51d0e7fbc1796d0696':
  valgrind can't find syscall because we didn't put it in <unistd.h>.
2015-02-20 17:02:25 +00:00
Elliott Hughes
c39eef71a7 Merge "valgrind can't find syscall because we didn't put it in <unistd.h>." 2015-02-20 16:56:58 +00:00
Elliott Hughes
4c5891d93d valgrind can't find syscall because we didn't put it in <unistd.h>.
Change-Id: I1e47291d4476bd2816138a8cf58f29d4986d39e3
2015-02-19 22:49:44 -08:00
Christopher Ferris
1e0f763c9a am e84dff9a: am 479070c5: am 324313a9: Merge "Refactor the benchmark code."
* commit 'e84dff9a1f1d583c428e137cf0120fdd4ce315ce':
  Refactor the benchmark code.
2015-02-20 01:10:48 +00:00
Christopher Ferris
e84dff9a1f am 479070c5: am 324313a9: Merge "Refactor the benchmark code."
* commit '479070c51e34f9f9f809df4daa8184e5b2947f14':
  Refactor the benchmark code.
2015-02-20 01:03:22 +00:00
Christopher Ferris
479070c51e am 324313a9: Merge "Refactor the benchmark code."
* commit '324313a9e58c0e8d2546d124d8fcf04306a114f5':
  Refactor the benchmark code.
2015-02-20 00:59:18 +00:00
Christopher Ferris
324313a9e5 Merge "Refactor the benchmark code." 2015-02-20 00:53:25 +00:00
Bill Yi
c390f2eae6 am f5700e1f: am a6395dda: Merge commit \'9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1\' into HEAD
* commit 'f5700e1fd4eb70f3458b3bd508a9bf945561d22a':
2015-02-20 00:26:52 +00:00
Bill Yi
f5700e1fd4 am a6395dda: Merge commit \'9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1\' into HEAD
* commit 'a6395dda54057170fc66faf00410e983202aa7e0':
2015-02-20 00:22:45 +00:00
Christopher Ferris
df4942c04a Refactor the benchmark code.
Changes:
- Modify the benchmarks to derive from a single Benchmark object.
- Rewrite the main iteration code. This includes changing the iteration
  code to use the actual total time calculated by the benchmark as a basis
  for determining whether there are enough iterations instead of using
  the time it takes to run the benchmark.
- Allow benchmarks to take no argument, int, or double.
- Fix the PrettyInt printer for negative integers.
- Modify the max column width name to include the whole name including
  the arg part.
- Reformat property_benchmark.cpp in line with the rest of the code.
- Modify a few of the math benchmarks to take an argument instead of
  separate benchmarks for the same function with different args.
- Create a vector of regex_t structs to represent the args all at
  once instead of when running each benchmark.

This change is in preparation for adding new math based benchmarks.

Tested by running on a nexus flo running at max using the new code
and the old code and comparing. All of the numbers are similar, but
some of the iterations are different due to the slightly different
algorithm used.

Change-Id: I57ad1f3ff083282b9ffeb72e687cab369ce3523a
2015-02-19 14:58:24 -08:00
Christopher Ferris
cd4e501223 am 4379016a: Revert "Modify test to avoid race condition."
* commit '4379016a20131740e25b33b2b09a2caef0aa62bd':
  Revert "Modify test to avoid race condition."
2015-02-19 22:36:17 +00:00
Bill Yi
a6395dda54 Merge commit '9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1' into HEAD 2015-02-19 14:30:25 -08:00
Christopher Ferris
4379016a20 Revert "Modify test to avoid race condition."
This reverts commit 3da136aa47e2d1608b98abb2580f024b36f92831.

This change is not needed any where but lmp mr1.

Change-Id: I3f38e2e8e418959a487bc0c4148d3238743e4626
2015-02-19 13:35:47 -08:00
Elliott Hughes
77a24e14c3 am 4dc261b1: am d071b814: am 97484d3a: Merge "Add GNU extensions mempcpy and wmemcpy."
* commit '4dc261b13c351edf26efd18aca448aa98f925d41':
  Add GNU extensions mempcpy and wmemcpy.
2015-02-19 20:27:25 +00:00
Dan Albert
60787a931f am c2c319b2: am 43379c9c: am 3e1b5f46: Merge "Parameterize use of clang in libc_ndk."
* commit 'c2c319b2cb5dc3a7928121ecdd4312331dfb0496':
  Parameterize use of clang in libc_ndk.
2015-02-19 20:26:35 +00:00
Christopher Ferris
d2c65d8815 am 9ccce5d7: am 3da136aa: Modify test to avoid race condition.
* commit '9ccce5d7efde606914ec0b88fa50785b21ea672b':
  Modify test to avoid race condition.
2015-02-19 20:26:26 +00:00
Elliott Hughes
8c43e225dd am 0f13eac9: am 1cb009fb: am d3fa31a5: Merge "[MIPS] Fix setjmp signals"
* commit '0f13eac957c71e827e282fdd69de2dabeba28780':
  [MIPS] Fix setjmp signals
2015-02-19 17:36:33 +00:00
Elliott Hughes
4dc261b13c am d071b814: am 97484d3a: Merge "Add GNU extensions mempcpy and wmemcpy."
* commit 'd071b814ac5674ca032c05f369b2606cf3520332':
  Add GNU extensions mempcpy and wmemcpy.
2015-02-19 16:01:31 +00:00
Elliott Hughes
d071b814ac am 97484d3a: Merge "Add GNU extensions mempcpy and wmemcpy."
* commit '97484d3a9d0d822aeaaa1547aeb76d7669076082':
  Add GNU extensions mempcpy and wmemcpy.
2015-02-19 15:55:12 +00:00
Elliott Hughes
97484d3a9d Merge "Add GNU extensions mempcpy and wmemcpy." 2015-02-19 15:49:53 +00:00
Elliott Hughes
3cfb52aab2 Add GNU extensions mempcpy and wmemcpy.
Used by elfutils. On the bright side, they stopped using __mempcpy.

Bug: 18374026
Change-Id: Id29bbe6ef1c5ed5a171bb6c32182f129d8332abb
2015-02-18 22:02:56 -08:00
Dan Albert
c2c319b2cb am 43379c9c: am 3e1b5f46: Merge "Parameterize use of clang in libc_ndk."
* commit '43379c9cfd7416e448b9b2834dd4f7b80697942a':
  Parameterize use of clang in libc_ndk.
2015-02-19 02:44:25 +00:00
Dan Albert
43379c9cfd am 3e1b5f46: Merge "Parameterize use of clang in libc_ndk."
* commit '3e1b5f46c07aef5983ecf2feb1c3369b2cd200c0':
  Parameterize use of clang in libc_ndk.
2015-02-19 02:37:21 +00:00
Dan Albert
3e1b5f46c0 Merge "Parameterize use of clang in libc_ndk." 2015-02-19 02:33:08 +00:00
Christopher Ferris
9ccce5d7ef am 3da136aa: Modify test to avoid race condition.
* commit '3da136aa47e2d1608b98abb2580f024b36f92831':
  Modify test to avoid race condition.
2015-02-19 02:12:45 +00:00
Christopher Ferris
3da136aa47 Modify test to avoid race condition.
There is a possible race if a timer is set to trigger at nearly the same
time as it is set. Since nobody uses the timers like this, modify the test
so this doesn't happen. The race that this can provoke has been fixed in
aosp.

Bug: 19423618
Change-Id: I21084c99da5ae46f404936d673dae6bad7c82caa
2015-02-18 17:45:50 -08:00
Dan Albert
2c678e6644 Parameterize use of clang in libc_ndk.
We still have issues with clang coverage in static libraries, so we
need to make sure we follow suit with the rest of libc for now.

Bug: 17574078
Change-Id: I2ab58a84b1caa0d8d08415d240c35adec5b1e150
2015-02-18 17:37:52 -08:00
Elliott Hughes
0f13eac957 am 1cb009fb: am d3fa31a5: Merge "[MIPS] Fix setjmp signals"
* commit '1cb009fb5eb513e838085d75617db676fcfa7aa7':
  [MIPS] Fix setjmp signals
2015-02-19 01:12:41 +00:00
Elliott Hughes
1cb009fb5e am d3fa31a5: Merge "[MIPS] Fix setjmp signals"
* commit 'd3fa31a55d542d51fc3f2df46af7c1b701ecb86e':
  [MIPS] Fix setjmp signals
2015-02-19 01:06:06 +00:00
Elliott Hughes
d3fa31a55d Merge "[MIPS] Fix setjmp signals" 2015-02-19 01:00:19 +00:00
Yabin Cui
ed806d772a am 82a36f31: am 37197363: am 4add77b9: Merge "Make gets() deprecated."
* commit '82a36f31c08ca890a30863dc68819566e26b0495':
  Make gets() deprecated.
2015-02-18 23:04:28 +00:00
Elliott Hughes
d0051b8585 am 4a19d12b: am 08148bc9: am 1dbc6bb0: Merge "Implement _FILE_OFFSET_BITS (mostly)."
* commit '4a19d12b49bd19e38c136cf6e586a13095bcca72':
  Implement _FILE_OFFSET_BITS (mostly).
2015-02-18 23:04:27 +00:00
Yabin Cui
82a36f31c0 am 37197363: am 4add77b9: Merge "Make gets() deprecated."
* commit '371973633c579a32125c4b01c4235eb5f529cb4e':
  Make gets() deprecated.
2015-02-18 22:57:05 +00:00
Elliott Hughes
4a19d12b49 am 08148bc9: am 1dbc6bb0: Merge "Implement _FILE_OFFSET_BITS (mostly)."
* commit '08148bc9825ea337168819f3d92a0c7ef4ffe1f9':
  Implement _FILE_OFFSET_BITS (mostly).
2015-02-18 22:57:04 +00:00
Yabin Cui
371973633c am 4add77b9: Merge "Make gets() deprecated."
* commit '4add77b93c0c61381faa9d4d8dc62f81cafcc69a':
  Make gets() deprecated.
2015-02-18 22:50:54 +00:00
Elliott Hughes
08148bc982 am 1dbc6bb0: Merge "Implement _FILE_OFFSET_BITS (mostly)."
* commit '1dbc6bb02521ba1535748826eeaf28404160d788':
  Implement _FILE_OFFSET_BITS (mostly).
2015-02-18 22:50:32 +00:00
Yabin Cui
4add77b93c Merge "Make gets() deprecated." 2015-02-18 21:33:02 +00:00
Yabin Cui
913fcb274f Make gets() deprecated.
gets is already deprecated in glibc. Others with __warnattr are not deprecated.

Change-Id: I80a276d2b5964630218be47f1c94b146c0d31151
2015-02-18 12:20:32 -08:00
Elliott Hughes
1dbc6bb025 Merge "Implement _FILE_OFFSET_BITS (mostly)." 2015-02-18 18:01:05 +00:00
Neil Fuller
5bef299799 am f4d84ade: am 77f3c847: am 9ec37c7f: Merge "Update tzdata to tzdata2015a"
* commit 'f4d84ade1a334ca4869663a919a0399eb3e71474':
  Update tzdata to tzdata2015a
2015-02-18 11:39:28 +00:00
Dan Albert
8aa73e6441 am c69654ea: am a9751801: am 5890ec3e: Merge "Update NDK compatlib for 4.1.2."
* commit 'c69654ea602987b08eaa2015c782daefc425241c':
  Update NDK compatlib for 4.1.2.
2015-02-18 11:38:31 +00:00
Dan Albert
e554758063 am d66e5725: am 814bce07: am 21ba1d4c: Merge "Update the NDK compatlib for 4.4.4 and ToT."
* commit 'd66e57257c4538e1b8569a5ef65af6a6ddf29770':
  Update the NDK compatlib for 4.4.4 and ToT.
2015-02-18 11:38:30 +00:00
Neil Fuller
f4d84ade1a am 77f3c847: am 9ec37c7f: Merge "Update tzdata to tzdata2015a"
* commit '77f3c847c4b04c8d28f81b3cb0c2782fadf928f9':
  Update tzdata to tzdata2015a
2015-02-18 10:18:10 +00:00
Neil Fuller
77f3c847c4 am 9ec37c7f: Merge "Update tzdata to tzdata2015a"
* commit '9ec37c7fa979c573e5743c343d38370cab1a67e4':
  Update tzdata to tzdata2015a
2015-02-18 10:13:59 +00:00
Neil Fuller
9ec37c7fa9 Merge "Update tzdata to tzdata2015a" 2015-02-18 09:42:33 +00:00
Elliott Hughes
68dc20d411 Implement _FILE_OFFSET_BITS (mostly).
I still don't think we can make stdio's fseeko and ftello work, but we can
have everything else, and very few programs use fseeko/ftello (and they can
just refrain from using _FILE_OFFSET_BITS and be no worse off than they are
today).

Bug: 11865851
Change-Id: Ic3cb409aae6713f4b345de954bcc4241fcd969ec
2015-02-17 19:54:43 -08:00
Dan Albert
c69654ea60 am a9751801: am 5890ec3e: Merge "Update NDK compatlib for 4.1.2."
* commit 'a9751801481e112bbe1fe97e7300a395f418b96a':
  Update NDK compatlib for 4.1.2.
2015-02-18 01:17:12 +00:00
Dan Albert
d66e57257c am 814bce07: am 21ba1d4c: Merge "Update the NDK compatlib for 4.4.4 and ToT."
* commit '814bce074dac0359a7251904000d2f89ad6164a4':
  Update the NDK compatlib for 4.4.4 and ToT.
2015-02-18 01:17:11 +00:00
Dan Albert
a975180148 am 5890ec3e: Merge "Update NDK compatlib for 4.1.2."
* commit '5890ec3e229cbe115308e103111fec471f2319b7':
  Update NDK compatlib for 4.1.2.
2015-02-18 01:10:42 +00:00
Dan Albert
814bce074d am 21ba1d4c: Merge "Update the NDK compatlib for 4.4.4 and ToT."
* commit '21ba1d4ce43b1619e0d0a8248f6249810cabe374':
  Update the NDK compatlib for 4.4.4 and ToT.
2015-02-18 01:10:41 +00:00
Dan Albert
5890ec3e22 Merge "Update NDK compatlib for 4.1.2." 2015-02-18 01:05:48 +00:00
Dan Albert
21ba1d4ce4 Merge "Update the NDK compatlib for 4.4.4 and ToT." 2015-02-18 01:05:44 +00:00
Dan Albert
a6395e1fd0 Update NDK compatlib for 4.1.2.
The replacement new failures present in newer versions are present
here as well, with the following new issues:

XPASS std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp

This is from the -NaN formatting fix in bionic. We previously had this
wrong, and the upstream test is also wrong. There's currently an XFAIL
for Android in this test because I haven't fixed the upstream test
yet. After that is done, I'll need to teach the test runner how to
XFAIL older Android versions...

FAIL std/localization/locale.categories/category.ctype/facet.ctype.special/facet.ctype.char.dtor/dtor.pass.cpp
    dtor.pass.cpp:39: int main(): assertion "globalMemCounter.checkDeleteArrayCalledEq(1)" failed

Haven't investigated this one yet. http://b/19412688

Note that this also needs the libgcc link ordering to be fixed in the
build system, as we'll otherwise depend on libgcc symbols from libc
that may or may not have been there.

The build fix can't be submitted because the proper link order causes
the libgcc unwinder to be used instead of the EHABI one:
http://b/18471342

Bug: 18471532
Change-Id: Icf560485a9b8f5ebbe01e4458703e62ec94df5e1
2015-02-17 17:02:42 -08:00
Dan Albert
9a9ea3a280 Update the NDK compatlib for 4.4.4 and ToT.
Now passes all libc++ tests for these targets, with the exception of
the usual failing replacement new tests since libc uses new/delete for
things. I don't know if we can ever really fix these.

Bug: 18471532
Change-Id: Ibc0a15f26b0e4613249b5e15ecf3cf80e523467c
2015-02-17 17:02:34 -08:00
Yabin Cui
0b45632bb8 am 3c1904fc: am faf5e195: am 0e61c2c0: Merge "Revert "Move use of __warnattr to __deprecated.""
* commit '3c1904fc527229b1c0b20e6b81fb92fb7564928e':
  Revert "Move use of __warnattr to __deprecated."
2015-02-18 00:40:15 +00:00
Yabin Cui
c4ab9e443b am 89838e6f: am 0769bb4f: am b5c23796: Merge "Move use of __warnattr to __deprecated."
* commit '89838e6f3468d9e01db30ee0d53265d2bf2b0432':
  Move use of __warnattr to __deprecated.
2015-02-18 00:30:31 +00:00
Christopher Ferris
47e1fe7191 am 6ead5855: am 2f86c3de: am 54b61b7c: Merge "Accuracy tests for libm"
* commit '6ead5855cbe9792b49c248dc649ec94ac4658b5c':
  Accuracy tests for libm
2015-02-18 00:28:43 +00:00
Yabin Cui
8a35be9efb am 7b07204d: am 515c1f23: am 89dad68e: Merge "Change getgrent error declaration message to proper style."
* commit '7b07204d0c56c92660463e9a968e874efc746564':
  Change getgrent error declaration message to proper style.
2015-02-18 00:28:42 +00:00
Elliott Hughes
6bf7862eb5 am e64fd0c6: am 5a973492: am c2085138: Merge "Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX."
* commit 'e64fd0c6c49b4db875a3b14652dd8c2a4b534aaf':
  Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.
2015-02-18 00:28:35 +00:00
Yabin Cui
3c1904fc52 am faf5e195: am 0e61c2c0: Merge "Revert "Move use of __warnattr to __deprecated.""
* commit 'faf5e195e1a06f8c738b34cc939e6432535c8ff3':
  Revert "Move use of __warnattr to __deprecated."
2015-02-18 00:03:45 +00:00
Yabin Cui
faf5e195e1 am 0e61c2c0: Merge "Revert "Move use of __warnattr to __deprecated.""
* commit '0e61c2c0ea201e157d0d3d3c04564588bcfb7c66':
  Revert "Move use of __warnattr to __deprecated."
2015-02-17 23:59:58 +00:00
Yabin Cui
0e61c2c0ea Merge "Revert "Move use of __warnattr to __deprecated."" 2015-02-17 23:56:29 +00:00
Yabin Cui
784de4e50a Revert "Move use of __warnattr to __deprecated."
This reverts commit 4645c4f62df49d1ece5aabb7c9fa44ca34d30272.

Change-Id: I6c1062d54a4e2c4f41ce7a403e4e7840e6339146
2015-02-17 23:54:40 +00:00
Yabin Cui
89838e6f34 am 0769bb4f: am b5c23796: Merge "Move use of __warnattr to __deprecated."
* commit '0769bb4fcf5dfcc346330430a7f649d3be8f2346':
  Move use of __warnattr to __deprecated.
2015-02-17 23:20:55 +00:00
Yabin Cui
0769bb4fcf am b5c23796: Merge "Move use of __warnattr to __deprecated."
* commit 'b5c23796872dee26d7fa88f0a41801dcc6090d99':
  Move use of __warnattr to __deprecated.
2015-02-17 23:16:01 +00:00
Yabin Cui
b5c2379687 Merge "Move use of __warnattr to __deprecated." 2015-02-17 23:10:31 +00:00
Yabin Cui
4645c4f62d Move use of __warnattr to __deprecated.
clang don't support warning attribute. Replacing warning attriubte with
deprecated attribute can achieve the same behavior whether compiled by
gcc or clang.

Bug: 19340053
Change-Id: I064432b81cf55212458edbc749eb72dc15a810fb
2015-02-17 14:14:45 -08:00
Christopher Ferris
6ead5855cb am 2f86c3de: am 54b61b7c: Merge "Accuracy tests for libm"
* commit '2f86c3deb52bfd46614b16b9debbadac41baec89':
  Accuracy tests for libm
2015-02-17 21:50:27 +00:00
Yabin Cui
7b07204d0c am 515c1f23: am 89dad68e: Merge "Change getgrent error declaration message to proper style."
* commit '515c1f234bade0ad63d25c07cf57f058fa5934ea':
  Change getgrent error declaration message to proper style.
2015-02-17 21:46:39 +00:00
Christopher Ferris
2f86c3deb5 am 54b61b7c: Merge "Accuracy tests for libm"
* commit '54b61b7ca7d7c9c7474e2beb35d20a9ab635529f':
  Accuracy tests for libm
2015-02-17 21:46:38 +00:00
Christopher Ferris
54b61b7ca7 Merge "Accuracy tests for libm" 2015-02-17 21:41:41 +00:00
Yabin Cui
515c1f234b am 89dad68e: Merge "Change getgrent error declaration message to proper style."
* commit '89dad68efb07ef0868c2ac35737a4b2c83aea326':
  Change getgrent error declaration message to proper style.
2015-02-17 21:36:33 +00:00
Elliott Hughes
e64fd0c6c4 am 5a973492: am c2085138: Merge "Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX."
* commit '5a9734920c25ebb1aed389fd87fa9a26904aa239':
  Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.
2015-02-17 21:32:28 +00:00
Yabin Cui
89dad68efb Merge "Change getgrent error declaration message to proper style." 2015-02-17 21:29:27 +00:00
Elliott Hughes
5a9734920c am c2085138: Merge "Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX."
* commit 'c20851380cf5466a8bc422e7c26d3868a95423a9':
  Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.
2015-02-17 21:26:25 +00:00
Elliott Hughes
c20851380c Merge "Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX." 2015-02-17 21:20:39 +00:00
Yabin Cui
62533de98e Change getgrent error declaration message to proper style.
Bug: 19340053
Change-Id: I9c47a2016f356d171a5f2082acb8391d81e019b2
2015-02-17 11:33:42 -08:00
Elliott Hughes
dd9798b0fa am ebaf7a25: am f8a49b04: am fb48c682: Merge "Fix memchr overflow."
* commit 'ebaf7a250f6a9913e109a2ef9939c6d54de9cb63':
  Fix memchr overflow.
2015-02-17 18:11:12 +00:00
Elliott Hughes
ebaf7a250f am f8a49b04: am fb48c682: Merge "Fix memchr overflow."
* commit 'f8a49b04a981d867c4deda6f27deaf702711cfc1':
  Fix memchr overflow.
2015-02-17 18:04:53 +00:00
Elliott Hughes
f8a49b04a9 am fb48c682: Merge "Fix memchr overflow."
* commit 'fb48c68221afb1f9e7c63a15a20cca0857d1b9f9':
  Fix memchr overflow.
2015-02-17 17:58:51 +00:00
Elliott Hughes
be6a44566a Fix sysconf for _SC_CHILD_MAX and _SC_OPEN_MAX.
Change-Id: I656f613166bd604f35b31e5ec042a5230c6b82b8
2015-02-17 09:55:58 -08:00
Elliott Hughes
fb48c68221 Merge "Fix memchr overflow." 2015-02-17 17:54:40 +00:00
Elliott Hughes
46e1da2dee am ea3fe53a: am 1084911f: am 40d06b25: Merge "POSIX says flock is in <sys/file.h>, not <unistd.h>."
* commit 'ea3fe53ac520971a26330c355aaf9854f45e60b3':
  POSIX says flock is in <sys/file.h>, not <unistd.h>.
2015-02-17 17:29:53 +00:00
Elliott Hughes
ea3fe53ac5 am 1084911f: am 40d06b25: Merge "POSIX says flock is in <sys/file.h>, not <unistd.h>."
* commit '1084911fc297b262600a5caed9a94d6ddde7cc66':
  POSIX says flock is in <sys/file.h>, not <unistd.h>.
2015-02-17 17:23:26 +00:00
Elliott Hughes
1084911fc2 am 40d06b25: Merge "POSIX says flock is in <sys/file.h>, not <unistd.h>."
* commit '40d06b25ac86260e9c1701540420c9634bab8bad':
  POSIX says flock is in <sys/file.h>, not <unistd.h>.
2015-02-17 17:19:06 +00:00
Elliott Hughes
40d06b25ac Merge "POSIX says flock is in <sys/file.h>, not <unistd.h>." 2015-02-17 17:09:35 +00:00
Elliott Hughes
92b9c6ff3e POSIX says flock is in <sys/file.h>, not <unistd.h>.
Bug: 19392265
Change-Id: I14d0b56883f0354e13db04a1d140b8f60dae08d7
2015-02-17 09:08:24 -08:00
Neil Fuller
094a8ae078 Update tzdata to tzdata2015a
Time Zone Data v. 2015a (Released 2015-01-29)
http://www.iana.org/time-zones/repository/releases/tzdata2015a.tar.gz

Information from NEWS:

Release 2015a - 2015-01-29 22:35:20 -0800

  Changes affecting future time stamps

    The Mexican state of Quintana Roo, represented by America/Cancun,
    will shift from Central Time with DST to Eastern Time without DST
    on 2015-02-01 at 02:00.  (Thanks to Steffen Thorsen and Gwillim Law.)

    Chile will not change clocks in April or thereafter; its new standard time
    will be its old daylight saving time.  This affects America/Santiago,
    Pacific/Easter, and Antarctica/Palmer.  (Thanks to Juan Correa.)

    New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
    (Thanks to Tim Parenti.)

  Changes affecting past time stamps

    Iceland observed DST in 1919 and 1921, and its 1939 fallback
    transition was Oct. 29, not Nov. 29.  Remove incorrect data from
    Shanks about time in Iceland between 1837 and 1908.

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: Asia/Aden, Asia/Bahrain, Asia/Kuwait,
    and Asia/Muscat.

Bug: 19212588
(cherry-picked from commit 700eb048fb6df8805245097d73a87384108fdf67)

Change-Id: I23d94982f634889ab9dcef28cf4a8853224bfd9c
2015-02-17 17:05:48 +00:00
Elliott Hughes
0b8bed7f18 am a822795f: am 66d53434: am dd5c92d4: Merge "Regression test for NDK bug 80199."
* commit 'a822795f53ac52294c637f8aa4be65610ba18cc9':
  Regression test for NDK bug 80199.
2015-02-15 00:30:15 +00:00
Elliott Hughes
a822795f53 am 66d53434: am dd5c92d4: Merge "Regression test for NDK bug 80199."
* commit '66d534347748cec93ea214ebc8d2291b59b58b8d':
  Regression test for NDK bug 80199.
2015-02-15 00:26:58 +00:00
Elliott Hughes
66d5343477 am dd5c92d4: Merge "Regression test for NDK bug 80199."
* commit 'dd5c92d4b0cb6c43002112ab50c1df73d06ab2aa':
  Regression test for NDK bug 80199.
2015-02-15 00:24:03 +00:00
Elliott Hughes
dd5c92d4b0 Merge "Regression test for NDK bug 80199." 2015-02-15 00:18:23 +00:00
Elliott Hughes
e1f9ddaf0d Regression test for NDK bug 80199.
Bionic never had this bug, but since the proposed fix is to remove the NDK's
broken code, we should add a regression test here.

Bug: https://code.google.com/p/android/issues/detail?id=80199
Change-Id: I4de21b5da9913cef990bc4d05a7e27562a71a02b
2015-02-14 14:11:50 -08:00
Elliott Hughes
41ef902379 Fix memchr overflow.
The overflow's actually in the generic C implementation of memchr.

While I'm here, let's switch our generic memrchr to the OpenBSD version too.

Bug: https://code.google.com/p/android/issues/detail?id=147048
Change-Id: I296ae06a1ee196d2c77c95a22f11ee4d658962da
2015-02-14 13:21:22 -08:00
Yabin Cui
882c3305ab am 9d7f68eb: am 4812bdf1: am 4181cc69: Merge "Declare getgrent/setgrent/endgrent as missing."
* commit '9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1':
  Declare getgrent/setgrent/endgrent as missing.
2015-02-14 02:52:50 +00:00
Yabin Cui
9d7f68ebfd am 4812bdf1: am 4181cc69: Merge "Declare getgrent/setgrent/endgrent as missing."
* commit '4812bdf1b160fb803dd86a393daf2ae725029c2e':
  Declare getgrent/setgrent/endgrent as missing.
2015-02-14 02:46:43 +00:00
Yabin Cui
4812bdf1b1 am 4181cc69: Merge "Declare getgrent/setgrent/endgrent as missing."
* commit '4181cc691e36546c556274d46d389d7e0cb9cfab':
  Declare getgrent/setgrent/endgrent as missing.
2015-02-14 02:42:32 +00:00
Yabin Cui
4181cc691e Merge "Declare getgrent/setgrent/endgrent as missing." 2015-02-14 02:37:19 +00:00
Dmitriy Ivanov
b3ea70d7d1 am 39c9f7bc: am 88117127: am b81a871c: Merge changes I88827aa0,Ib0b0987a
* commit '39c9f7bc65a56287e54f6ce4a090113c1109c7ef':
  Fix: DT_DEBUG was acting as DT_REL on mips64
  Add missing SHT_LOOS/SHT_HIOS values
2015-02-14 00:52:39 +00:00
Dmitriy Ivanov
39c9f7bc65 am 88117127: am b81a871c: Merge changes I88827aa0,Ib0b0987a
* commit '88117127defa6aeb26840ec8547486aefd5edd73':
  Fix: DT_DEBUG was acting as DT_REL on mips64
  Add missing SHT_LOOS/SHT_HIOS values
2015-02-14 00:49:33 +00:00
Dmitriy Ivanov
88117127de am b81a871c: Merge changes I88827aa0,Ib0b0987a
* commit 'b81a871cbb2d99168bdb8380b6142139135f418f':
  Fix: DT_DEBUG was acting as DT_REL on mips64
  Add missing SHT_LOOS/SHT_HIOS values
2015-02-14 00:43:56 +00:00
Dmitriy Ivanov
b81a871cbb Merge changes I88827aa0,Ib0b0987a
* changes:
  Fix: DT_DEBUG was acting as DT_REL on mips64
  Add missing SHT_LOOS/SHT_HIOS values
2015-02-14 00:38:04 +00:00
Dmitriy Ivanov
c6292ea39c Fix: DT_DEBUG was acting as DT_REL on mips64
Change-Id: I88827aa07d75d06d606c987e6270fcca3ae6216f
2015-02-13 16:34:50 -08:00
Dmitriy Ivanov
13ed3f0af1 Add missing SHT_LOOS/SHT_HIOS values
Change-Id: Ib0b0987a7e85af7863c6ef894263b5980e32344d
2015-02-13 16:34:38 -08:00
Colin Cross
1b8ff453e0 am 15c60ccf: am d6a9f804: am 150403ca: Merge "Make .note.android.ident section type SH_NOTE"
* commit '15c60ccfb100423fb76470ee12642bf4c7072eac':
  Make .note.android.ident section type SH_NOTE
2015-02-13 20:34:29 +00:00
Colin Cross
15c60ccfb1 am d6a9f804: am 150403ca: Merge "Make .note.android.ident section type SH_NOTE"
* commit 'd6a9f804a9c95942bddc9afa243c339d72371008':
  Make .note.android.ident section type SH_NOTE
2015-02-13 20:29:34 +00:00
Colin Cross
d6a9f804a9 am 150403ca: Merge "Make .note.android.ident section type SH_NOTE"
* commit '150403caa8135bef5d5df37e288276ac4f95a234':
  Make .note.android.ident section type SH_NOTE
2015-02-13 20:23:24 +00:00
Yabin Cui
c9d09431b9 Declare getgrent/setgrent/endgrent as missing.
Bug: 19340053
Change-Id: I42bfeda95e6f262e2e74ab47336ea346c2de7e4a
2015-02-13 10:52:35 -08:00
Colin Cross
150403caa8 Merge "Make .note.android.ident section type SH_NOTE" 2015-02-13 18:38:03 +00:00
Jingwei Zhang
56b2b2916b Accuracy tests for libm
This patch adds more tests for math functions to address coverage
issue of math functions discussed in:
https://android-review.googlesource.com/#/c/49653/
https://android-review.googlesource.com/#/c/94780/

These are data sets used in regression tests for the Intel the math library (libm). They were collected over a long period of testing various libm implementations.
The data sets contain function specific data (special and corner cases such as +/-0, maximum/minimum normalized numbers, +/-infinity, QNaN/SNaN, maximum/minimum denormal numbers, arguments that would produce close to overflow/underflow results, known hard-to-round cases, etc), implementation specific data (arguments close to table look-up values for different polynomial approximations, worst cases for range reduction algorithms) and other data with interesting bit patterns.
The reference values are computed with Maple and were converted into hexadecimal format.

Change-Id: I7177c282937369eae98f25d02134e4fc3beadde8
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
2015-02-14 00:56:46 +08:00
Colin Cross
e09ab2cc2f Make .note.android.ident section type SH_NOTE
The .note.android.ident section is only used by GDB, which doesn't
care what section type the section is, but it would be convenient
for readelf -n to be able to find the section too.

The old way of getting the .note.android.ident section to be of type
SH_NOTE involved compiling from .c to .s using gcc, running sed to
change progbits to note, and then compiling from .s to .o using gcc.
Since crtbrand.c only contains a section containing data, a
crtbrand.S can be checked in that will compile on all platforms,
avoiding the need for sed.

Also add crtbrand.o to crtbegin_so.o so that libraries also get
the note, and to the crt workaround in arm libc.so.

Change-Id: Ica71942a6af4553b56978ceaa288b3f4c15ebfa2
2015-02-12 21:37:20 -08:00
Shu Zhang
3a629af0ad libm: arm: Add arm specific floor() optimization
Add arm specific floor() implementation which avoids VMSR and VMRS
instructions.

Change-Id: Ibd4cd7147aa2f98c9b5bbaf74948843ea619dba4
2015-02-12 18:27:58 -08:00
Mark Salyzyn
90126d434a am 233c0da3: am fdea643a: am f9fb52ab: Merge "bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait"
* commit '233c0da3ef17592ddd3eb05c2e0b2729fd16f947':
  bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait
2015-02-12 21:36:29 +00:00
Mark Salyzyn
233c0da3ef am fdea643a: am f9fb52ab: Merge "bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait"
* commit 'fdea643af96379b5a19968d91ba6dc1758d8dcdf':
  bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait
2015-02-12 21:03:12 +00:00
Mark Salyzyn
fdea643af9 am f9fb52ab: Merge "bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait"
* commit 'f9fb52ab309c97d5b2ef4f8e1daff3eed4cf4024':
  bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait
2015-02-12 20:57:41 +00:00
Mark Salyzyn
f9fb52ab30 Merge "bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait" 2015-02-12 20:52:57 +00:00
Colin Cross
2b6e722023 am 71721a31: am baf16422: am 362d6779: Merge "Remove no-op sed step when compiling crtbrand.o"
* commit '71721a31d02ec0f6946b7924cee9d461971512c0':
  Remove no-op sed step when compiling crtbrand.o
2015-02-12 19:30:44 +00:00
Colin Cross
71721a31d0 am baf16422: am 362d6779: Merge "Remove no-op sed step when compiling crtbrand.o"
* commit 'baf164221b1356fe13091c2ca4b357da9a4e237c':
  Remove no-op sed step when compiling crtbrand.o
2015-02-12 18:26:53 +00:00
Colin Cross
baf164221b am 362d6779: Merge "Remove no-op sed step when compiling crtbrand.o"
* commit '362d677924a5f92190884ff225fe64820ad5d997':
  Remove no-op sed step when compiling crtbrand.o
2015-02-12 18:23:08 +00:00
Colin Cross
362d677924 Merge "Remove no-op sed step when compiling crtbrand.o" 2015-02-12 18:16:48 +00:00
Mark Salyzyn
5d064464f1 bionic: benchmarks: Add BM_semaphore_sem_post_sem_wait
This test reports the overhead of sem_post to sem_wake for a low thread count
and a high thread count.

Change-Id: Ic30dcc8a78d754979117446bf3a28b7575cabac7
2015-02-12 09:43:58 -08:00
Colin Cross
24958ae4ef Remove no-op sed step when compiling crtbrand.o
crtbrand.c was compiled to a .s file, run through a sed script
to translate a %progbits to %note, and the compiled to .o.
However, when the sed command was copied from the original source
it was not updated to use the new name of the section (.note.ABI-tag
to .note.android.ident), so it didn't modify the file.  Since the
section has been generated with type %progbits instead of %note for
two years, just delete the whole sed step.

Change-Id: Id78582e9b43b628afec4eed22a088283132f0742
2015-02-11 17:40:45 -08:00
Duane Sand
b6d301f42d [MIPS] Fix setjmp signals
Include full 16-byte Mips sigset_t signal mask within jump buffer.
Call sigprocmask instead of sigblockmask/sigsetmask to get/set full signal mask.
Include sigsetjmp's savesigs arg inside jmp_buf, instead of following it.
Reserve room for future extensions.
Preserve historically-large mips32 _JBLEN size.
Eliminate redundancy: code setjmp and _setjmp as tail calls into sigsetjmp,
and make longjmp and _longjmp aliases of siglongjmp.

Change-Id: Ie79137cf059228c1a51344ebb20d3a9a40b4a252
2015-02-11 15:15:53 -08:00
Christopher Ferris
719a38a5d4 am afccaadc: am 2c0e462f: am 0046c39f: Merge "[MIPS] Fix Mips64 build of libm"
* commit 'afccaadc927fd1a5c7e85288d8ea0c63c205846a':
  [MIPS] Fix Mips64 build of libm
2015-02-11 22:59:35 +00:00
Christopher Ferris
afccaadc92 am 2c0e462f: am 0046c39f: Merge "[MIPS] Fix Mips64 build of libm"
* commit '2c0e462f9819587b6376ed90f315e4d6c0b13612':
  [MIPS] Fix Mips64 build of libm
2015-02-11 21:21:48 +00:00
Christopher Ferris
2c0e462f98 am 0046c39f: Merge "[MIPS] Fix Mips64 build of libm"
* commit '0046c39f9ed6d7335f06e4d866df5ae0e7b4d485':
  [MIPS] Fix Mips64 build of libm
2015-02-11 21:15:45 +00:00
Christopher Ferris
0046c39f9e Merge "[MIPS] Fix Mips64 build of libm" 2015-02-11 21:07:46 +00:00
Duane Sand
3d535d2312 [MIPS] Fix Mips64 build of libm
Change-Id: Ib742b408d4f21d5ec8d455a3fea7c08165c7f321
2015-02-11 12:51:42 -08:00
Elliott Hughes
9fb1938171 am a6754cf2: am fac5e95c: am ddae78fb: Merge "Fix our ftw tests."
* commit 'a6754cf2d88cc411591d2d212e905bfb5e37c8af':
  Fix our ftw tests.
2015-02-11 02:55:05 +00:00
Yabin Cui
fe4c12af73 am 8dc24ee5: am 3a31e697: am ee17e880: Merge "Define MAXHOSTNAMELEN explicitly in source files."
* commit '8dc24ee55e05cfb54af5ef29d9f8a19ef65462c1':
  Define MAXHOSTNAMELEN explicitly in source files.
2015-02-11 02:50:46 +00:00
Mark Salyzyn
3ba3d98add am 37529bc8: am 445c2020: am a57fd419: Merge "bionic: benchmarks: Add BM_semaphore_sem_post"
* commit '37529bc8451dbb4adbcc93234d064e576c456324':
  bionic: benchmarks: Add BM_semaphore_sem_post
2015-02-11 02:49:09 +00:00
Christopher Ferris
b45b7605a4 am 2cfbcb63: am 6fd3bcf6: am 6d99da04: Merge "Cleanup the libm makefile."
* commit '2cfbcb6364492ae95bda724fb7f4256014b11ccc':
  Cleanup the libm makefile.
2015-02-11 02:49:08 +00:00
Yabin Cui
c8711825a4 am c9f8c073: am fa592b2a: am e375ecaa: Merge "Switch pthread_cond_t to <stdatomic.h>."
* commit 'c9f8c07373b2a71d682e3214c65e0c14c7c3f875':
  Switch pthread_cond_t to <stdatomic.h>.
2015-02-11 02:49:06 +00:00
Yabin Cui
edc274cd8b am 88c0719f: am 6a32443a: am a4fc89ba: Merge "Stop including <linux/param.h> in <sys/param.h>."
* commit '88c0719f8fa7c4127ffdf1a304716e3a63117bf7':
  Stop including <linux/param.h> in <sys/param.h>.
2015-02-11 02:49:05 +00:00
Narayan Kamath
665e5daec9 am 17710068: am e163cb28: am f69139e1: Merge "Remove stray log line."
* commit '1771006863186e19ddfcc55f5f870dc56c650177':
  Remove stray log line.
2015-02-11 02:49:03 +00:00
Elliott Hughes
a6754cf2d8 am fac5e95c: am ddae78fb: Merge "Fix our ftw tests."
* commit 'fac5e95c218381cb0c5748aadf70adfcc9414f83':
  Fix our ftw tests.
2015-02-10 23:46:48 +00:00
Elliott Hughes
fac5e95c21 am ddae78fb: Merge "Fix our ftw tests."
* commit 'ddae78fba1ef7291d6a84bce11b0b8fff46f3547':
  Fix our ftw tests.
2015-02-10 23:40:39 +00:00
Elliott Hughes
ddae78fba1 Merge "Fix our ftw tests." 2015-02-10 23:34:19 +00:00
Elliott Hughes
7f925097e8 Fix our ftw tests.
SELinux denies access to some files in /sys, so we can't just trawl
through that asserting general truths. Instead, create a small known
tree.

Sadly neither ftw nor nftw takes user callback data, otherwise it would
be nice to assert that we visit all the expected nodes.

Bug: 19252748
Change-Id: Ib5309c38aaef53e6030281191a265a8d5a619044
2015-02-10 14:15:33 -08:00
Yabin Cui
8dc24ee55e am 3a31e697: am ee17e880: Merge "Define MAXHOSTNAMELEN explicitly in source files."
* commit '3a31e697ca3c1207bfec64b555bcff7b129348a3':
  Define MAXHOSTNAMELEN explicitly in source files.
2015-02-10 18:09:57 +00:00
Yabin Cui
3a31e697ca am ee17e880: Merge "Define MAXHOSTNAMELEN explicitly in source files."
* commit 'ee17e8800418a74e21dba11658234363cf6f6032':
  Define MAXHOSTNAMELEN explicitly in source files.
2015-02-10 18:00:39 +00:00
Yabin Cui
ee17e88004 Merge "Define MAXHOSTNAMELEN explicitly in source files." 2015-02-10 17:51:33 +00:00
Mark Salyzyn
37529bc845 am 445c2020: am a57fd419: Merge "bionic: benchmarks: Add BM_semaphore_sem_post"
* commit '445c202073f4fd35e1171dc11bcd13a7accf7018':
  bionic: benchmarks: Add BM_semaphore_sem_post
2015-02-10 16:54:32 +00:00
Christopher Ferris
2cfbcb6364 am 6fd3bcf6: am 6d99da04: Merge "Cleanup the libm makefile."
* commit '6fd3bcf6ce2290f4e44547fb875af4ac3c741130':
  Cleanup the libm makefile.
2015-02-10 16:53:33 +00:00
Yabin Cui
c9f8c07373 am fa592b2a: am e375ecaa: Merge "Switch pthread_cond_t to <stdatomic.h>."
* commit 'fa592b2a903a6e5110c6daf0959cc7211fc476d7':
  Switch pthread_cond_t to <stdatomic.h>.
2015-02-10 16:53:28 +00:00
Yabin Cui
88c0719f8f am 6a32443a: am a4fc89ba: Merge "Stop including <linux/param.h> in <sys/param.h>."
* commit '6a32443aa3e2544000314adf80d4e081d36d170d':
  Stop including <linux/param.h> in <sys/param.h>.
2015-02-10 16:51:48 +00:00
Narayan Kamath
1771006863 am e163cb28: am f69139e1: Merge "Remove stray log line."
* commit 'e163cb28b9b89f315000c1c480ee0cb2b3c26744':
  Remove stray log line.
2015-02-10 16:51:44 +00:00
Mark Salyzyn
445c202073 am a57fd419: Merge "bionic: benchmarks: Add BM_semaphore_sem_post"
* commit 'a57fd419bc56add6752cd9fa6f53fe2b43dff019':
  bionic: benchmarks: Add BM_semaphore_sem_post
2015-02-10 15:24:48 +00:00
Mark Salyzyn
a57fd419bc Merge "bionic: benchmarks: Add BM_semaphore_sem_post" 2015-02-10 15:16:34 +00:00
Yabin Cui
2d8f9b5aea Define MAXHOSTNAMELEN explicitly in source files.
Bug: 19093777
Bug: 19092844
Change-Id: I0778507ca2d5c008abb9a6d6315d0909263a8817
2015-02-09 19:56:47 -08:00
Mark Salyzyn
7e50fb2a68 bionic: benchmarks: Add BM_semaphore_sem_post
This test tries its best to report the producer side underlying futex
wake syscall overhead wthin sem_post. It does not measure the time it
takes for the wakeup to propagate to the consumer. It suffers from
clock_gettime syscall overhead, so subtract that. Lock the CPU speed
for consistent results as we may not reach >50% cpu utilization.

Change-Id: I02fa9dab2e6ac27202f0290115150bd3c8de00f2
2015-02-09 17:05:20 -08:00
Christopher Ferris
6fd3bcf6ce am 6d99da04: Merge "Cleanup the libm makefile."
* commit '6d99da0477f8589df01307067823c3925e40bd91':
  Cleanup the libm makefile.
2015-02-10 00:38:39 +00:00
Christopher Ferris
6d99da0477 Merge "Cleanup the libm makefile." 2015-02-10 00:31:06 +00:00
Yabin Cui
fa592b2a90 am e375ecaa: Merge "Switch pthread_cond_t to <stdatomic.h>."
* commit 'e375ecaa39213ec01464dac9d0ffebaac70b4e9d':
  Switch pthread_cond_t to <stdatomic.h>.
2015-02-10 00:18:47 +00:00
Yabin Cui
e375ecaa39 Merge "Switch pthread_cond_t to <stdatomic.h>." 2015-02-10 00:10:45 +00:00
Yabin Cui
e5f816c017 Switch pthread_cond_t to <stdatomic.h>.
Bug: 17574458
Change-Id: Ic7f79861df4fe751cfa6c6b20b71123cc31e7114
2015-02-09 15:54:22 -08:00
Christopher Ferris
d40d1a08cd Cleanup the libm makefile.
Change-Id: I3d95f75da24ee3b064a9cce67586b0e6f32272d8
2015-02-09 14:09:49 -08:00
Yabin Cui
6a32443aa3 am a4fc89ba: Merge "Stop including <linux/param.h> in <sys/param.h>."
* commit 'a4fc89badf4ef4d42df0927340c6f0d02167a3d6':
  Stop including <linux/param.h> in <sys/param.h>.
2015-02-09 19:52:51 +00:00
Yabin Cui
a4fc89badf Merge "Stop including <linux/param.h> in <sys/param.h>." 2015-02-09 19:46:46 +00:00
Narayan Kamath
e163cb28b9 am f69139e1: Merge "Remove stray log line."
* commit 'f69139e105ef32199afdf35027e9dfc48ad215d7':
  Remove stray log line.
2015-02-09 19:05:16 +00:00
Narayan Kamath
f69139e105 Merge "Remove stray log line." 2015-02-09 18:57:51 +00:00
Narayan Kamath
421608550d Remove stray log line.
Change-Id: Id948ae37a91dadd9d40e91de97f18774bdccfc78
2015-02-09 18:01:45 +00:00
Christopher Ferris
6e01e50787 am e66b2780: am 6880ec44: am d687905f: Merge "Display errors instead of running infinitely."
* commit 'e66b2780a77ecbe1eaa1273dd5555e261ef0dfd5':
  Display errors instead of running infinitely.
2015-02-09 04:15:11 +00:00
Tao Bao
84e323f11d am 5690237c: am 35947160: am bc64d1d1: Merge "Switch kernel header parsing to python libclang"
* commit '5690237c6f95afec3460f7f5e7d6c2ab6bfc608a':
  Switch kernel header parsing to python libclang
2015-02-09 04:13:35 +00:00
Colin Cross
9667f1be1b am fa8a43e6: am 0ef78e38: am 44e88db1: Merge "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs"
* commit 'fa8a43e6dffab323f9c0b8ad91df8e6e76832b85':
  Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs
2015-02-09 04:13:31 +00:00
Christopher Ferris
e66b2780a7 am 6880ec44: am d687905f: Merge "Display errors instead of running infinitely."
* commit '6880ec44c339a720ebc9128fb6a11362ca7d5634':
  Display errors instead of running infinitely.
2015-02-07 02:30:28 +00:00
Christopher Ferris
6880ec44c3 am d687905f: Merge "Display errors instead of running infinitely."
* commit 'd687905f11102a7f6bad461b6f501dc870c59999':
  Display errors instead of running infinitely.
2015-02-07 02:24:36 +00:00
Christopher Ferris
d687905f11 Merge "Display errors instead of running infinitely." 2015-02-07 02:18:39 +00:00
Christopher Ferris
05d26211d8 Display errors instead of running infinitely.
When there is an error detected, the code runs forever and then times
out without any indication of what happened. Change it so that error
messages are printed and the test fails.

Change-Id: Id3160fc2f394984de0157356594fd8b40de66b4a
2015-02-06 18:05:58 -08:00
Tao Bao
5690237c6f am 35947160: am bc64d1d1: Merge "Switch kernel header parsing to python libclang"
* commit '35947160f96931a6464a9425b04f79232b389ed0':
  Switch kernel header parsing to python libclang
2015-02-06 23:39:23 +00:00
Tao Bao
35947160f9 am bc64d1d1: Merge "Switch kernel header parsing to python libclang"
* commit 'bc64d1d1fd12a0b43bcfe3f88698f29185ab63e0':
  Switch kernel header parsing to python libclang
2015-02-06 23:32:43 +00:00
Colin Cross
fa8a43e6df am 0ef78e38: am 44e88db1: Merge "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs"
* commit '0ef78e3840b3bfcc07a13d7ffa69dfdd8313e80c':
  Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs
2015-02-06 23:31:35 +00:00
Tao Bao
bc64d1d1fd Merge "Switch kernel header parsing to python libclang" 2015-02-06 23:25:29 +00:00
Colin Cross
0ef78e3840 am 44e88db1: Merge "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs"
* commit '44e88db185cc65b49373dd76d8ed27264b7299ed':
  Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs
2015-02-06 22:53:18 +00:00
Tao Bao
d7db594b8d Switch kernel header parsing to python libclang
Replace the tokenizer in cpp.py with libclang.

Bug: 18937958
Change-Id: I27630904c6d2849418cd5ca3d3c612ec3078686d
2015-02-06 14:48:41 -08:00
Colin Cross
44e88db185 Merge "Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs" 2015-02-06 22:45:59 +00:00
Colin Cross
91b403cef6 Use LOCAL_C_INCLUDES instead of LOCAL_CFLAGS for include dirs
Change-Id: If61d6faae5d91c3bbe198e733e5922cd877ba353
2015-02-06 14:16:17 -08:00
Yabin Cui
29f9bcf2ee am b69e9f1f: am da73dac7: am bda85a12: Merge "Add path separator in bionic-unit-tests program path."
* commit 'b69e9f1fe1599c6e914586c5e3d16cedee94337a':
  Add path separator in bionic-unit-tests program path.
2015-02-05 22:14:34 +00:00
Yabin Cui
b69e9f1fe1 am da73dac7: am bda85a12: Merge "Add path separator in bionic-unit-tests program path."
* commit 'da73dac7acce09b76bd6d811c8be694e69acbd17':
  Add path separator in bionic-unit-tests program path.
2015-02-05 22:08:49 +00:00
Yabin Cui
da73dac7ac am bda85a12: Merge "Add path separator in bionic-unit-tests program path."
* commit 'bda85a12392b10555dc03ac377c8450b8f0790d6':
  Add path separator in bionic-unit-tests program path.
2015-02-05 22:01:41 +00:00
Yabin Cui
bda85a1239 Merge "Add path separator in bionic-unit-tests program path." 2015-02-05 21:55:19 +00:00
Elliott Hughes
726679ab3e am ec56d962: am 87c44930: am 9dfb00c1: Merge "Use the libcxxabi __cxa_demangle."
* commit 'ec56d962add687914fd98f04732840613b62df8c':
  Use the libcxxabi __cxa_demangle.
2015-02-05 20:39:12 +00:00
Elliott Hughes
6bef9bd7f0 am 4aa6d06d: am 1ec1bbda: am 9a9b6357: Merge "Apparently, logd does need the NULs."
* commit '4aa6d06d7b64493b3757abc584e3cc0437ebb948':
  Apparently, logd does need the NULs.
2015-02-05 20:39:12 +00:00
Elliott Hughes
ec56d962ad am 87c44930: am 9dfb00c1: Merge "Use the libcxxabi __cxa_demangle."
* commit '87c44930486af960de27996d94b742f19399b82b':
  Use the libcxxabi __cxa_demangle.
2015-02-05 20:31:07 +00:00
Elliott Hughes
4aa6d06d7b am 1ec1bbda: am 9a9b6357: Merge "Apparently, logd does need the NULs."
* commit '1ec1bbda7f254266653a0db470f6e5d699a0cad1':
  Apparently, logd does need the NULs.
2015-02-05 20:31:06 +00:00
Elliott Hughes
87c4493048 am 9dfb00c1: Merge "Use the libcxxabi __cxa_demangle."
* commit '9dfb00c1d48545a2627c2aded62d3a79749351fb':
  Use the libcxxabi __cxa_demangle.
2015-02-05 20:26:21 +00:00
Elliott Hughes
1ec1bbda7f am 9a9b6357: Merge "Apparently, logd does need the NULs."
* commit '9a9b635745dc776dcfeec51d68b85ca7e8cdbe7d':
  Apparently, logd does need the NULs.
2015-02-05 20:22:39 +00:00
Elliott Hughes
9dfb00c1d4 Merge "Use the libcxxabi __cxa_demangle." 2015-02-05 20:21:35 +00:00
Yabin Cui
a4cf89acd9 am 78c9743d: am ffcabed4: am 63826658: Merge "Add signal handling in bionic gtest main."
* commit '78c9743de62463244bffeedeee557533e8f377f1':
  Add signal handling in bionic gtest main.
2015-02-05 20:15:14 +00:00
Dimitry Ivanov
b76a613b93 am e4c93e88: am a1d3aa1f: am 8e5f9bc8: Merge "linker: Use load_bias to adjust search address in elf_addr_lookup"
* commit 'e4c93e889475e4702092d2bebc1459b1f9a637d7':
  linker: Use load_bias to adjust search address in elf_addr_lookup
2015-02-05 20:15:13 +00:00
Colin Cross
d6e87b1903 am 08f6d7c9: am 427d438d: am da2c0a70: Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680
* commit '08f6d7c9eb5fbd921b44ab6a6c63b4eb9fa3ac95':
  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
  Fix typo in cpu variant makefile depenendency for arm64
  Remove libc_static_common_src_files
  Share LP32 makefile settings between arches
2015-02-05 20:15:12 +00:00
Yabin Cui
f23174dab2 am c249e7d6: am e760a1eb: am 17976019: Merge "Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test."
* commit 'c249e7d6c9f9bfa8e9499eacbd0630bf3bff9ec4':
  Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.
2015-02-05 20:15:11 +00:00
Elliott Hughes
9a9b635745 Merge "Apparently, logd does need the NULs." 2015-02-05 20:05:46 +00:00
Elliott Hughes
6e54c3e519 Use the libcxxabi __cxa_demangle.
Bug: 18930951
Change-Id: If2ea3633ac6dfd4ec975c0f16bdf3dd58e05c614
2015-02-05 12:05:34 -08:00
Elliott Hughes
aba6f712d4 Apparently, logd does need the NULs.
Change-Id: I04b834e65c26c5821b952f78a0de7f92527cbdba
2015-02-05 12:02:04 -08:00
Yabin Cui
78c9743de6 am ffcabed4: am 63826658: Merge "Add signal handling in bionic gtest main."
* commit 'ffcabed4bf8555e721c215a5140e2c8120add8af':
  Add signal handling in bionic gtest main.
2015-02-05 18:47:26 +00:00
Dimitry Ivanov
e4c93e8894 am a1d3aa1f: am 8e5f9bc8: Merge "linker: Use load_bias to adjust search address in elf_addr_lookup"
* commit 'a1d3aa1f9579eaf579f579b43f836635fc9a5674':
  linker: Use load_bias to adjust search address in elf_addr_lookup
2015-02-05 18:47:07 +00:00
Colin Cross
08f6d7c9eb am 427d438d: am da2c0a70: Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680
* commit '427d438dd44bb79dad87d51ad60593872391e7a7':
  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
  Fix typo in cpu variant makefile depenendency for arm64
  Remove libc_static_common_src_files
  Share LP32 makefile settings between arches
2015-02-05 18:47:07 +00:00
Yabin Cui
c249e7d6c9 am e760a1eb: am 17976019: Merge "Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test."
* commit 'e760a1eb30804df478640b2176fc798ab6e7db9b':
  Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.
2015-02-05 18:47:06 +00:00
Yabin Cui
ead08148bd Add path separator in bionic-unit-tests program path.
Bug: 19220800
Change-Id: I4245b1270363544cd5f083fe7ea7d9b11b46cdc0
2015-02-05 10:39:37 -08:00
Yabin Cui
ffcabed4bf am 63826658: Merge "Add signal handling in bionic gtest main."
* commit '63826658f4bcfff4f3a87fe651f22cc9b35fe8b9':
  Add signal handling in bionic gtest main.
2015-02-05 04:24:43 +00:00
Yabin Cui
63826658f4 Merge "Add signal handling in bionic gtest main." 2015-02-05 04:21:03 +00:00
Yabin Cui
1d4c780a2e Add signal handling in bionic gtest main.
The two bugs are very closely related and code amount is very small,
So I think they may be fixed in one change.

Bug: 19128558
Bug: 19129994
Change-Id: I44a35398e64dfca7e9676428cb8f4026e8f6e488
2015-02-04 19:06:07 -08:00
Dimitry Ivanov
a1d3aa1f95 am 8e5f9bc8: Merge "linker: Use load_bias to adjust search address in elf_addr_lookup"
* commit '8e5f9bc8a46872e3f0ac4799558fdfd5999f9c20':
  linker: Use load_bias to adjust search address in elf_addr_lookup
2015-02-05 02:30:48 +00:00
Colin Cross
427d438dd4 am da2c0a70: Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680
* commit 'da2c0a708ed6c0091f3f89fd8838292579dad800':
  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
  Fix typo in cpu variant makefile depenendency for arm64
  Remove libc_static_common_src_files
  Share LP32 makefile settings between arches
2015-02-05 02:30:47 +00:00
Yabin Cui
e760a1eb30 am 17976019: Merge "Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test."
* commit '17976019a13a94ae428849bfe297f8e531f95013':
  Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.
2015-02-05 02:30:46 +00:00
Dimitry Ivanov
8e5f9bc8a4 Merge "linker: Use load_bias to adjust search address in elf_addr_lookup" 2015-02-05 02:23:34 +00:00
Colin Cross
da2c0a708e Merge changes Ib87855e8,I4b46ae20,I66364a5c,Id3fcf680
* changes:
  Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
  Fix typo in cpu variant makefile depenendency for arm64
  Remove libc_static_common_src_files
  Share LP32 makefile settings between arches
2015-02-05 01:57:28 +00:00
Colin Cross
5b869c0bbf Use LOCAL_LDFLAGS_64 instead of enumerating 64-bit architectures
LOCAL_LDFLAGS_<arch> was being set for arm64, mips64, and x86_64.
Use LOCAL_LDFLAGS_64 instead.

Change-Id: Ib87855e8a7783f82461b707fffa7f1663e6be9c8
2015-02-04 17:40:29 -08:00
Colin Cross
a6b6ed5fe9 Fix typo in cpu variant makefile depenendency for arm64
cpu_variank_mk -> cpu_variant_mk

Change-Id: I4b46ae20de72ed2dc8820d62ac35ddc6b915a195
2015-02-04 17:38:27 -08:00
Colin Cross
7dc502d012 Remove libc_static_common_src_files
libc_static_common_src_files is never set after
c3f114037dbf028896310609fd28cf2b3da99c4d, remove the remaining
references to it.

Change-Id: I66364a5c1b031ad69d608f6f44244049192944f6
2015-02-04 17:37:23 -08:00
Colin Cross
1742a32aea Share LP32 makefile settings between arches
Add <var>_32 to patch-up-arch-specific-flags, and move the LP32
cruft varaibles from the 32-bit arch specific makefiles into the
top level Android.mk.

Change-Id: Id3fcf6805d4af048c2524c94b1295416ebe7d057
2015-02-04 17:35:49 -08:00
Chris Dearman
8e55381939 linker: Use load_bias to adjust search address in elf_addr_lookup
load_bias is the delta between a symbols address in memory and the value
contained in the symbol table.

Change-Id: I35c87b69025b64f7e4a1418ca766618f4533fb3e
2015-02-04 17:16:27 -08:00
Yabin Cui
17976019a1 Merge "Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test." 2015-02-05 01:14:32 +00:00
Yabin Cui
5e52226f02 Stop including <linux/param.h> in <sys/param.h>.
Bug: 19092844
Change-Id: I1a4a0c84a196a187ea32e58491de744cf3c0f404
2015-02-04 14:59:58 -08:00
Yabin Cui
f4fe6937aa Fix poll/ppoll fortify test to avoid hanging in failed fortify clang test.
Bug: 19220800
Change-Id: Ie75c640183c4a41a499556fefb4f824a134a5fb1
2015-02-04 12:27:06 -08:00
Neil Fuller
1ed2acad2d am 0abb17dd: am 6d632af3: am 2151f09f: Merge "Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data."
* commit '0abb17dd29cddb62c79e7770fddff203800846ff':
  Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data.
2015-02-04 18:59:01 +00:00
Yabin Cui
773c2e21b4 am 5ace71de: am dcf371f5: am 7e1b3d3e: Merge "Switch sem_t from bionic atomics to stdatomic.h."
* commit '5ace71de3f6280f086ac4a1b9bb403b88472953a':
  Switch sem_t from bionic atomics to stdatomic.h.
2015-02-04 18:56:59 +00:00
Neil Fuller
0abb17dd29 am 6d632af3: am 2151f09f: Merge "Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data."
* commit '6d632af3b04e505a88aa0b73f95a873dcbd472f7':
  Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data.
2015-02-04 16:45:04 +00:00
Neil Fuller
6d632af3b0 am 2151f09f: Merge "Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data."
* commit '2151f09fbfc2f6084366587df10132e93f4d818c':
  Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data.
2015-02-04 16:39:06 +00:00
Neil Fuller
2151f09fbf Merge "Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data." 2015-02-04 16:33:01 +00:00
Fredrik Roubert
bdd8452472 Set INCLUDE_UNI_CORE_DATA=1 when rebuilding ICU4C time zone data.
This is now necessary to build .dat files that are useable for ICU4J as
well, and will need to be used for any future updates of the .dat file:

https://android.googlesource.com/platform/external/icu/+/6b52738

Change-Id: Ifa3a7469a66ab932db20876697e45814f0c5ddc3
2015-02-04 17:17:34 +01:00
Yabin Cui
5ace71de3f am dcf371f5: am 7e1b3d3e: Merge "Switch sem_t from bionic atomics to stdatomic.h."
* commit 'dcf371f5e7142e548b8f422bf45db14d15d86b62':
  Switch sem_t from bionic atomics to stdatomic.h.
2015-02-04 02:49:41 +00:00
Yabin Cui
dcf371f5e7 am 7e1b3d3e: Merge "Switch sem_t from bionic atomics to stdatomic.h."
* commit '7e1b3d3e68f7430322a88be06f6b53c358fd14bf':
  Switch sem_t from bionic atomics to stdatomic.h.
2015-02-04 02:45:44 +00:00
Yabin Cui
7e1b3d3e68 Merge "Switch sem_t from bionic atomics to stdatomic.h." 2015-02-04 02:42:16 +00:00
Yabin Cui
a3d97da4c5 Switch sem_t from bionic atomics to stdatomic.h.
Bug: 17572887
Change-Id: If66851ba9b831cdd698b9f1303289bb14448bd03
2015-02-03 16:35:57 -08:00
Yabin Cui
ae46973d25 am 70ad54d8: am 2d988187: am 11829be3: Merge "Add test about pthread_mutex_t owner tid limit."
* commit '70ad54d8c0cdcffa476e671554afcfb5fd385090':
  Add test about pthread_mutex_t owner tid limit.
2015-02-03 22:56:43 +00:00
Yabin Cui
70ad54d8c0 am 2d988187: am 11829be3: Merge "Add test about pthread_mutex_t owner tid limit."
* commit '2d988187712f52773b89421d139b266c8b58f769':
  Add test about pthread_mutex_t owner tid limit.
2015-02-03 22:40:46 +00:00
Yabin Cui
2d98818771 am 11829be3: Merge "Add test about pthread_mutex_t owner tid limit."
* commit '11829be3e1a9e9e2271ba64a78c327bde6e044eb':
  Add test about pthread_mutex_t owner tid limit.
2015-02-03 22:34:58 +00:00
Yabin Cui
11829be3e1 Merge "Add test about pthread_mutex_t owner tid limit." 2015-02-03 22:28:56 +00:00
Nick Kralevich
98d37866e2 am 3ce62609: am 72c3071d: am f00f484c: Merge "Ensure raw fchmod/fchmodat syscalls are hidden."
* commit '3ce62609f2693f167e1771f66cee0ed986f7aabb':
  Ensure raw fchmod/fchmodat syscalls are hidden.
2015-02-03 20:39:28 +00:00
Nick Kralevich
3ce62609f2 am 72c3071d: am f00f484c: Merge "Ensure raw fchmod/fchmodat syscalls are hidden."
* commit '72c3071d548ee3bf3711abf13dce25042ccc3cea':
  Ensure raw fchmod/fchmodat syscalls are hidden.
2015-02-03 20:32:59 +00:00
Nick Kralevich
72c3071d54 am f00f484c: Merge "Ensure raw fchmod/fchmodat syscalls are hidden."
* commit 'f00f484cb59c1d599242daecbf833397aa3ba5d8':
  Ensure raw fchmod/fchmodat syscalls are hidden.
2015-02-03 20:24:53 +00:00
Yabin Cui
140f3678f0 Add test about pthread_mutex_t owner tid limit.
Bug: 19216648
Change-Id: I7b12955bdcad31c13bf8ec2740ff88ba15223ec0
2015-02-03 12:20:46 -08:00
Nick Kralevich
f00f484cb5 Merge "Ensure raw fchmod/fchmodat syscalls are hidden." 2015-02-03 20:17:33 +00:00
Nick Kralevich
00490ae3f3 Ensure raw fchmod/fchmodat syscalls are hidden.
In https://android-review.googlesource.com/#/c/127908/5/libc/SYSCALLS.TXT@116
Elliott said:

  for LP64 these will be hidden. for LP32 we were cowards and left
  them all public for compatibility (though i don't think we ever
  dremeled to see whether it was needed). we don't have an easy
  way to recognize additions, though, so we can't prevent adding
  new turds.

Add a mechanism to prevent the adding of new turds, and use that
mechanism on the fchmod/fchmodat system calls.

Bug: 19233951
Change-Id: I98f98345970b631a379f348df57858f9fc3d57c0
2015-02-03 12:10:30 -08:00
Neil Fuller
4937f42f14 am f0e556a2: am 4177bd8d: Fixes to the update-tzdata.py tool
* commit 'f0e556a2f96843b08dfdffc013a34730a0104eca':
  Fixes to the update-tzdata.py tool
2015-02-03 15:05:45 +00:00
Neil Fuller
249f8159f6 am d3ef8fbd: am 700eb048: Update tzdata to tzdata2015a
* commit 'd3ef8fbdf746588e5c4a1ef2961f25ceabec8e42':
  Update tzdata to tzdata2015a
2015-02-03 15:05:44 +00:00
Neil Fuller
f0e556a2f9 am 4177bd8d: Fixes to the update-tzdata.py tool
* commit '4177bd8d16e0dc2d0d541fc54f81518c57651e55':
  Fixes to the update-tzdata.py tool
2015-02-03 15:00:20 +00:00
Neil Fuller
d3ef8fbdf7 am 700eb048: Update tzdata to tzdata2015a
* commit '700eb048fb6df8805245097d73a87384108fdf67':
  Update tzdata to tzdata2015a
2015-02-03 15:00:18 +00:00
Hans Boehm
1a3a354993 am da3a4490: am 0cddad0f: am d57bf449: Merge "Switch pthread_mutex_t from bionic atomics to <stdatomic.h>."
* commit 'da3a449043036e29f9295eb71d85a9d2f3e9b204':
  Switch pthread_mutex_t from bionic atomics to <stdatomic.h>.
2015-02-03 03:00:28 +00:00
Hans Boehm
da3a449043 am 0cddad0f: am d57bf449: Merge "Switch pthread_mutex_t from bionic atomics to <stdatomic.h>."
* commit '0cddad0fd17274575abe2e25484c909def51d7e3':
  Switch pthread_mutex_t from bionic atomics to <stdatomic.h>.
2015-02-03 02:53:31 +00:00
Hans Boehm
0cddad0fd1 am d57bf449: Merge "Switch pthread_mutex_t from bionic atomics to <stdatomic.h>."
* commit 'd57bf449fe6c2dcf35d90d6e4098038ac8a24ecb':
  Switch pthread_mutex_t from bionic atomics to <stdatomic.h>.
2015-02-03 02:48:20 +00:00
Hans Boehm
d57bf449fe Merge "Switch pthread_mutex_t from bionic atomics to <stdatomic.h>." 2015-02-03 02:42:53 +00:00
Elliott Hughes
2d082af4c6 am ea31751e: am aa916c8d: am c5999c1e: Merge "Clean up SEEK_SET definitions."
* commit 'ea31751e4b61adeaad1cf186b1774df4591012e2':
  Clean up SEEK_SET definitions.
2015-02-03 02:00:45 +00:00
Elliott Hughes
ea31751e4b am aa916c8d: am c5999c1e: Merge "Clean up SEEK_SET definitions."
* commit 'aa916c8db85b01389b929f060f232b3e06448e79':
  Clean up SEEK_SET definitions.
2015-02-03 01:31:08 +00:00
Elliott Hughes
aa916c8db8 am c5999c1e: Merge "Clean up SEEK_SET definitions."
* commit 'c5999c1e0382c40286cc631c6a53e7781bc03154':
  Clean up SEEK_SET definitions.
2015-02-03 01:25:23 +00:00
Elliott Hughes
c5999c1e03 Merge "Clean up SEEK_SET definitions." 2015-02-03 01:21:17 +00:00
Yabin Cui
86fc96f733 Switch pthread_mutex_t from bionic atomics to <stdatomic.h>.
Bug: 17574456
Change-Id: I5ce3d3dc07e804e9ce55c42920f47531b56e04de
2015-02-02 15:00:01 -08:00
Nick Kralevich
62b98b3ce6 am 4c8a50ba: am 0cb8abc6: am d80ec661: Merge "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support"
* commit '4c8a50ba5d966981f8d88e61e0975cd8532b9db5':
  Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support
2015-02-02 22:17:41 +00:00
Nick Kralevich
4c8a50ba5d am 0cb8abc6: am d80ec661: Merge "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support"
* commit '0cb8abc6207d7484ecbc9698064c1f24b9b668d5':
  Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support
2015-02-02 22:10:53 +00:00
Nick Kralevich
0cb8abc620 am d80ec661: Merge "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support"
* commit 'd80ec66121b5af96c6b3d07ba34353b3d517f5b3':
  Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support
2015-02-02 22:07:35 +00:00
Nick Kralevich
d80ec66121 Merge "Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support" 2015-02-02 22:03:41 +00:00
Elliott Hughes
1ed337dbdf Clean up SEEK_SET definitions.
If we lose the #ifndef, the compiler will tell us if the definitions
of SEEK_SET and friends ever get out of sync.

Change-Id: I357cabec7c9cd451c604342344f210bba20fb6bc
2015-02-02 14:02:09 -08:00
Nick Kralevich
3cbc6c627f Add fchmodat(AT_SYMLINK_NOFOLLOW) and fchmod O_PATH support
Many libc functions have an option to not follow symbolic
links. This is useful to avoid security sensitive code
from inadvertantly following attacker supplied symlinks
and taking inappropriate action on files it shouldn't.
For example, open() has O_NOFOLLOW, chown() has
lchown(), stat() has lstat(), etc.

There is no such equivalent function for chmod(), such as lchmod().
To address this, POSIX introduced fchmodat(AT_SYMLINK_NOFOLLOW),
which is intended to provide a way to perform a chmod operation
which doesn't follow symlinks.

Currently, the Linux kernel doesn't implement AT_SYMLINK_NOFOLLOW.
In GLIBC, attempting to use the AT_SYMLINK_NOFOLLOW flag causes
fchmodat to return ENOTSUP. Details are in "man fchmodat".

Bionic currently differs from GLIBC in that AT_SYMLINK_NOFOLLOW
is silently ignored and treated as if the flag wasn't present.

This patch provides a userspace implementation of
AT_SYMLINK_NOFOLLOW for bionic. Using open(O_PATH | O_NOFOLLOW),
we can provide a way to atomically change the permissions on
files without worrying about race conditions.

As part of this change, we add support for fchmod on O_PATH
file descriptors, because it's relatively straight forward
and could be useful in the future.

The basic idea behind this implementation comes from
https://sourceware.org/bugzilla/show_bug.cgi?id=14578 , specifically
comment #10.

Change-Id: I1eba0cdb2c509d9193ceecf28f13118188a3cfa7
2015-02-02 13:17:17 -08:00
Elliott Hughes
f4911f19aa am 671b7eb2: am 815fc9bc: am c57b5c50: Merge "Small logging cleanup."
* commit '671b7eb288df3816b108871b5349c79f86d23be8':
  Small logging cleanup.
2015-02-02 21:14:14 +00:00
Elliott Hughes
671b7eb288 am 815fc9bc: am c57b5c50: Merge "Small logging cleanup."
* commit '815fc9bc9ecf96dd478c0800fdb9c4e9200320be':
  Small logging cleanup.
2015-02-02 20:54:27 +00:00
Elliott Hughes
815fc9bc9e am c57b5c50: Merge "Small logging cleanup."
* commit 'c57b5c5094f915ff975a256e086d58e2e7cfedf1':
  Small logging cleanup.
2015-02-02 20:46:39 +00:00
Elliott Hughes
c57b5c5094 Merge "Small logging cleanup." 2015-02-02 20:36:29 +00:00
Elliott Hughes
42084a2653 Small logging cleanup.
Don't send the trailing NUL bytes to the logger, call strlen if we already
know the length, or cast more specifically than we need to.

Change-Id: I68c9388a22bddea49120a1022dda8db8991360c1
2015-02-02 12:24:46 -08:00
Elliott Hughes
e2ce66764c am c8820e61: am 6c1252de: am 530aaecc: Merge "Explicitly check that the reason fortify tests abort is fortify."
* commit 'c8820e61d1b6eafb7aad2095c6a1c742cf31ee15':
  Explicitly check that the reason fortify tests abort is fortify.
2015-02-02 19:55:05 +00:00
Elliott Hughes
c8820e61d1 am 6c1252de: am 530aaecc: Merge "Explicitly check that the reason fortify tests abort is fortify."
* commit '6c1252decba273087411cd9e480d0422eabec6ef':
  Explicitly check that the reason fortify tests abort is fortify.
2015-02-02 19:40:41 +00:00
Elliott Hughes
6c1252decb am 530aaecc: Merge "Explicitly check that the reason fortify tests abort is fortify."
* commit '530aaeccd875f708918f59cd5ff8b076c156adab':
  Explicitly check that the reason fortify tests abort is fortify.
2015-02-02 19:32:44 +00:00
Elliott Hughes
af3ded9c8e am 2e02769a: am 5f7819d6: am 7f0f30c6: Merge "Fix clang build."
* commit '2e02769aa145b6ca1890174b96be9bcd5cf33bc6':
  Fix clang build.
2015-02-02 19:31:01 +00:00
Elliott Hughes
530aaeccd8 Merge "Explicitly check that the reason fortify tests abort is fortify." 2015-02-02 19:25:58 +00:00
Elliott Hughes
d036e94bb3 Explicitly check that the reason fortify tests abort is fortify.
Change-Id: I95291e2febf7b497c1d9f37fd7fa9acdd21e86a4
2015-02-02 11:18:58 -08:00
Elliott Hughes
2e02769aa1 am 5f7819d6: am 7f0f30c6: Merge "Fix clang build."
* commit '5f7819d6f1b2cb706d818e3083d45337e35d386b':
  Fix clang build.
2015-02-02 18:50:43 +00:00
Elliott Hughes
5f7819d6f1 am 7f0f30c6: Merge "Fix clang build."
* commit '7f0f30c6e20c1bf04bec05077eef2d779e7a32df':
  Fix clang build.
2015-02-02 18:36:22 +00:00
Elliott Hughes
7f0f30c6e2 Merge "Fix clang build." 2015-02-02 18:23:28 +00:00
Elliott Hughes
30fbf5f44c Fix clang build.
Change-Id: I863137b5d35602267b4ef3a74399cf394c9994d6
2015-02-02 10:21:39 -08:00
Neil Fuller
677aea1bda am 575bceb2: am 0a302e01: am d514d9bb: Merge "Fixes to the update-tzdata.py tool"
* commit '575bceb28190006eccfccb663100f0efb59838af':
  Fixes to the update-tzdata.py tool
2015-02-02 18:10:11 +00:00
Elliott Hughes
4b48f637f4 am 5372b83e: am 20f2e4f7: am 5940f98a: Merge "Fortify poll and ppoll."
* commit '5372b83eab9d9e5bd6bec18a832858c9dd18c432':
  Fortify poll and ppoll.
2015-02-02 18:10:10 +00:00
Neil Fuller
575bceb281 am 0a302e01: am d514d9bb: Merge "Fixes to the update-tzdata.py tool"
* commit '0a302e0174da4432da4a6ad5ce126dc27e4a86de':
  Fixes to the update-tzdata.py tool
2015-02-02 18:03:11 +00:00
Elliott Hughes
5372b83eab am 20f2e4f7: am 5940f98a: Merge "Fortify poll and ppoll."
* commit '20f2e4f7ad9d9f816be13f6509e602d4344a018d':
  Fortify poll and ppoll.
2015-02-02 18:03:10 +00:00
Neil Fuller
0a302e0174 am d514d9bb: Merge "Fixes to the update-tzdata.py tool"
* commit 'd514d9bbae354da72fcb43349f0157378e52004d':
  Fixes to the update-tzdata.py tool
2015-02-02 17:57:22 +00:00
Elliott Hughes
20f2e4f7ad am 5940f98a: Merge "Fortify poll and ppoll."
* commit '5940f98a35d64f9ca249536bb8cdcdbfe43e9bc3':
  Fortify poll and ppoll.
2015-02-02 17:57:21 +00:00
Neil Fuller
4177bd8d16 Fixes to the update-tzdata.py tool
We build one too many times. Creating a missing directory
is sufficient.

The tz2icu needs some files in the CWD. Added symlinks.

Bug: 19230091
(cherry-pick of commit 0662c3e5b33840e19f4c14b85bf619c33b3a0d0f)
Change-Id: Ie21d848f1b776ec745473b9122e003fdf0acf105
2015-02-02 17:53:19 +00:00
Neil Fuller
d514d9bbae Merge "Fixes to the update-tzdata.py tool" 2015-02-02 17:52:48 +00:00
Elliott Hughes
5940f98a35 Merge "Fortify poll and ppoll." 2015-02-02 17:51:50 +00:00
Neil Fuller
0662c3e5b3 Fixes to the update-tzdata.py tool
We build one too many times. Creating a missing directory
is sufficient.

The tz2icu needs some files in the CWD. Added symlinks.

Bug: 19230091
Change-Id: I58f9817af68b229f48139e56503f50a2b6dbb4fe
2015-02-02 17:42:41 +00:00
Elliott Hughes
4674e3899a Fortify poll and ppoll.
And remove the test for FD_ZERO fortification, which never made much
sense anyway.

Change-Id: Id1009c5298d461fa4722189e8ecaf22f0c529536
2015-02-02 09:15:19 -08:00
Neil Fuller
700eb048fb Update tzdata to tzdata2015a
Time Zone Data v. 2015a (Released 2015-01-29)
http://www.iana.org/time-zones/repository/releases/tzdata2015a.tar.gz

Information from NEWS:

Release 2015a - 2015-01-29 22:35:20 -0800

  Changes affecting future time stamps

    The Mexican state of Quintana Roo, represented by America/Cancun,
    will shift from Central Time with DST to Eastern Time without DST
    on 2015-02-01 at 02:00.  (Thanks to Steffen Thorsen and Gwillim Law.)

    Chile will not change clocks in April or thereafter; its new standard time
    will be its old daylight saving time.  This affects America/Santiago,
    Pacific/Easter, and Antarctica/Palmer.  (Thanks to Juan Correa.)

    New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
    (Thanks to Tim Parenti.)

  Changes affecting past time stamps

    Iceland observed DST in 1919 and 1921, and its 1939 fallback
    transition was Oct. 29, not Nov. 29.  Remove incorrect data from
    Shanks about time in Iceland between 1837 and 1908.

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: Asia/Aden, Asia/Bahrain, Asia/Kuwait,
    and Asia/Muscat.

  Changes affecting code

    tzalloc now scrubs time zone abbreviations compatibly with the way
    that tzset always has, by replacing invalid bytes with '_' and by
    shortening too-long abbreviations.

    tzselect ports to POSIX awk implementations, no longer mishandles
    POSIX TZ settings when GNU awk is used, and reports POSIX TZ
    settings to the user.  (Thanks to Stefan Kuhn.)

  Changes affecting build procedure

    'make check' now checks for links to links in the data.
    One such link (for Africa/Asmera) has been fixed.
    (Thanks to Stephen Colebourne for pointing out the problem.)

  Changes affecting commentary

    The leapseconds file commentary now mentions the expiration date.
    (Problem reported by Martin Burnicki.)

    Update Mexican Library of Congress URL.

Bug: 19212588
Change-Id: Idc07ac862901500d4a1dbd0f4aadcfd0aa9d10b8
2015-02-02 11:32:10 +00:00
Elliott Hughes
e0277717f8 am a5d743a6: am 9843afd6: am ffbda83b: Merge "Add the fortify tests back into the glibc tests."
* commit 'a5d743a6bf44b4fdb7c9de469a75f825a1ffb6c2':
  Add the fortify tests back into the glibc tests.
2015-02-02 06:40:36 +00:00
Elliott Hughes
a5d743a6bf am 9843afd6: am ffbda83b: Merge "Add the fortify tests back into the glibc tests."
* commit '9843afd62982516974fdc3c4481d36007527825a':
  Add the fortify tests back into the glibc tests.
2015-02-02 06:07:15 +00:00
Elliott Hughes
9843afd629 am ffbda83b: Merge "Add the fortify tests back into the glibc tests."
* commit 'ffbda83b302e3c3970135013d2bb92402e040fe5':
  Add the fortify tests back into the glibc tests.
2015-02-02 06:01:10 +00:00
Elliott Hughes
ffbda83b30 Merge "Add the fortify tests back into the glibc tests." 2015-02-02 05:56:27 +00:00
Elliott Hughes
b6e3e800d2 Add the fortify tests back into the glibc tests.
Change-Id: I4426d0c7c1bfe3b0028a674f72d1c3b9d883d6af
2015-01-31 21:32:10 -08:00
Elliott Hughes
c5152a5217 am 9b96dd6b: am d2d63740: am 21cdd22f: Merge "Include <malloc.h> for struct mallinfo."
* commit '9b96dd6b173a8d5752ddfd1e9179b141aca0c58c':
  Include <malloc.h> for struct mallinfo.
2015-01-31 08:34:02 +00:00
Elliott Hughes
74c5abbd5d am a26423f2: am fd10c019: am 09c33824: Merge "Break two incorrect transitive includes."
* commit 'a26423f22c3d92d7944e7e1706d3a347db78baf3':
  Break two incorrect transitive includes.
2015-01-31 08:34:01 +00:00
Elliott Hughes
9b96dd6b17 am d2d63740: am 21cdd22f: Merge "Include <malloc.h> for struct mallinfo."
* commit 'd2d63740b78459a414e293efdb16e7a9ac089d5c':
  Include <malloc.h> for struct mallinfo.
2015-01-31 07:49:25 +00:00
Elliott Hughes
a26423f22c am fd10c019: am 09c33824: Merge "Break two incorrect transitive includes."
* commit 'fd10c019fab50c06f391b6a765b0904ce477d3b7':
  Break two incorrect transitive includes.
2015-01-31 07:49:24 +00:00
Elliott Hughes
d2d63740b7 am 21cdd22f: Merge "Include <malloc.h> for struct mallinfo."
* commit '21cdd22f035efd50902b7780fc6ea53bd1684357':
  Include <malloc.h> for struct mallinfo.
2015-01-31 06:21:34 +00:00
Elliott Hughes
fd10c019fa am 09c33824: Merge "Break two incorrect transitive includes."
* commit '09c3382433ae94ada45780312a2a9fd082ad1478':
  Break two incorrect transitive includes.
2015-01-31 06:21:33 +00:00
Elliott Hughes
21cdd22f03 Merge "Include <malloc.h> for struct mallinfo." 2015-01-31 04:37:11 +00:00
Elliott Hughes
cb0e70389e Include <malloc.h> for struct mallinfo.
GCC doesn't seem to care, but clang does.

Change-Id: I9884820339a9e6f142862928c357f1a538184ae0
2015-01-30 20:33:31 -08:00
Elliott Hughes
09c3382433 Merge "Break two incorrect transitive includes." 2015-01-31 04:18:10 +00:00
Dan Albert
2fde9c03db am 3c68e194: am 18dd2f3b: am 94335cc8: Merge "Put back inline definitions if using an old API."
* commit '3c68e1946ae61fc0bbd18c718d9be441f4d3c350':
  Put back inline definitions if using an old API.
2015-01-30 21:28:05 +00:00
Elliott Hughes
c7a528a19a am 0772f933: am 6cf2cf8b: am 542b94d9: Merge "Remove unused CONFIG_SECONDS."
* commit '0772f933a4e5e7659c7dbc37d784a5f25a2ce94b':
  Remove unused CONFIG_SECONDS.
2015-01-30 21:28:04 +00:00
Dan Albert
3c68e1946a am 18dd2f3b: am 94335cc8: Merge "Put back inline definitions if using an old API."
* commit '18dd2f3b918af8233dc63ad6efa780a26c8ae79c':
  Put back inline definitions if using an old API.
2015-01-30 21:16:35 +00:00
Elliott Hughes
0772f933a4 am 6cf2cf8b: am 542b94d9: Merge "Remove unused CONFIG_SECONDS."
* commit '6cf2cf8bf26b99b7318791c75cbccfd95893b04e':
  Remove unused CONFIG_SECONDS.
2015-01-30 21:16:34 +00:00
Dan Albert
18dd2f3b91 am 94335cc8: Merge "Put back inline definitions if using an old API."
* commit '94335cc8e2f32638d9e38741ddabfd19a38e0840':
  Put back inline definitions if using an old API.
2015-01-30 19:44:02 +00:00
Elliott Hughes
6cf2cf8bf2 am 542b94d9: Merge "Remove unused CONFIG_SECONDS."
* commit '542b94d9bf7eb3838b0582c02d7a1bf2e270af5a':
  Remove unused CONFIG_SECONDS.
2015-01-30 19:44:01 +00:00
Dan Albert
94335cc8e2 Merge "Put back inline definitions if using an old API." 2015-01-30 17:18:49 +00:00
Elliott Hughes
542b94d9bf Merge "Remove unused CONFIG_SECONDS." 2015-01-30 06:21:55 +00:00
Elliott Hughes
4dcfccff8d Remove unused CONFIG_SECONDS.
Bug: https://code.google.com/p/android/issues/detail?id=65951
Change-Id: I8ae7057c68e16618de6dd06cf052426c6cad8a3d
2015-01-29 21:47:37 -08:00
Elliott Hughes
5038b19cef Break two incorrect transitive includes.
Change-Id: I95519caa5258cf5c6b8053f1c7e08ade2a824e49
2015-01-29 20:12:13 -08:00
Dan Albert
466dbe4444 Put back inline definitions if using an old API.
All these inlines were turned in to out of line definitions in L.
This brings us a step closer to being able to just use the current
bionic headers for the NDK, rather than having many old versions of
them.

Change-Id: Ie010bc727d78d3742abc577c70f6578db2e68625
2015-01-29 17:30:40 -08:00
Dan Albert
82292221a0 am 36aad393: am c9af0e9a: am cd1959b0: Merge "Add primitive CPPLINT.cfg."
* commit '36aad393dba7ac1870e36e6e75a71154cd6a8213':
  Add primitive CPPLINT.cfg.
2015-01-29 22:26:14 +00:00
Dan Albert
36aad393db am c9af0e9a: am cd1959b0: Merge "Add primitive CPPLINT.cfg."
* commit 'c9af0e9a2d215b60a128643b6bdddd671e33864b':
  Add primitive CPPLINT.cfg.
2015-01-29 22:06:28 +00:00
Dan Albert
c9af0e9a2d am cd1959b0: Merge "Add primitive CPPLINT.cfg."
* commit 'cd1959b0c506cfa9e89ac7deb56bdb6461b28c3a':
  Add primitive CPPLINT.cfg.
2015-01-29 21:59:51 +00:00
Dan Albert
cd1959b0c5 Merge "Add primitive CPPLINT.cfg." 2015-01-29 21:54:55 +00:00
Yabin Cui
436d4e9566 am f63ae055: am 508d5579: am 782aa39f: Merge "Rewrite __cxa_guard.cpp with <stdatomic.h>."
* commit 'f63ae0553e16171e49d34616d42fc525fadf58a0':
  Rewrite __cxa_guard.cpp with <stdatomic.h>.
2015-01-29 20:57:43 +00:00
Yabin Cui
f63ae0553e am 508d5579: am 782aa39f: Merge "Rewrite __cxa_guard.cpp with <stdatomic.h>."
* commit '508d5579cd0d3723662755ab418ac3085e9f30cd':
  Rewrite __cxa_guard.cpp with <stdatomic.h>.
2015-01-29 20:35:44 +00:00
Yabin Cui
508d5579cd am 782aa39f: Merge "Rewrite __cxa_guard.cpp with <stdatomic.h>."
* commit '782aa39f704e3d597c0ec869ec1b9701bc90a5c9':
  Rewrite __cxa_guard.cpp with <stdatomic.h>.
2015-01-29 20:29:23 +00:00
Yabin Cui
782aa39f70 Merge "Rewrite __cxa_guard.cpp with <stdatomic.h>." 2015-01-29 20:22:25 +00:00
Dan Albert
6ac4dd8ba9 Add primitive CPPLINT.cfg.
We'll add more things to this as we discover other warnings we don't
care about.

Change-Id: I408f688827cab0f74e055d8f1778069163663f0b
2015-01-29 11:41:59 -08:00
Yabin Cui
6a3ff01cd4 Rewrite __cxa_guard.cpp with <stdatomic.h>.
Bug: 19180923
Change-Id: If4912d01db43c72ef12f4b04270ddb5d76d09462
2015-01-29 11:19:15 -08:00
Elliott Hughes
f807e20934 am dbfcf000: am e40b4eb3: am 7f17aea2: Merge "Add missing includes."
* commit 'dbfcf000c077ba97d22d957647eabb3b45d015cf':
  Add missing includes.
2015-01-29 17:22:39 +00:00
Yabin Cui
c4798e81b2 am 5d7fb6f0: am 38dfc222: am 017da8bc: Merge "Add --gtest-filter as synonym for --gtest_filter in bionic gtest main."
* commit '5d7fb6f054de7525b737f6c755b81e9244c581b9':
  Add --gtest-filter as synonym for --gtest_filter in bionic gtest main.
2015-01-29 17:22:22 +00:00
Christopher Ferris
e6399d68d3 am 1d72a38d: am 2633dfa5: am 43606bc1: Merge "Only one crashing thread should contact debuggerd."
* commit '1d72a38dbb40b0096cf205fcdf0e3c2eca28f7f5':
  Only one crashing thread should contact debuggerd.
2015-01-29 17:22:08 +00:00
Elliott Hughes
f1fa1002fd am 4f2e2a9d: am 8661b092: am a9c3d056: Merge "Modify MIPS64 stat structure to match a generic one in AOSP."
* commit '4f2e2a9d703f1999bb638aebae5800906c94beed':
  Modify MIPS64 stat structure to match a generic one in AOSP.
2015-01-29 17:22:02 +00:00
Elliott Hughes
dbfcf000c0 am e40b4eb3: am 7f17aea2: Merge "Add missing includes."
* commit 'e40b4eb35a6f8ae5c286f53abb920b452b7b6792':
  Add missing includes.
2015-01-29 03:33:42 +00:00
Elliott Hughes
e40b4eb35a am 7f17aea2: Merge "Add missing includes."
* commit '7f17aea2fc21aaf657824a023a4b7582fb74a2d9':
  Add missing includes.
2015-01-29 03:27:56 +00:00
Elliott Hughes
7f17aea2fc Merge "Add missing includes." 2015-01-29 03:23:35 +00:00
Elliott Hughes
05fc1d7050 Add missing includes.
Change-Id: Ibf549266a19a67eb9158d341a69dddfb654be669
2015-01-28 19:23:11 -08:00
Yabin Cui
5d7fb6f054 am 38dfc222: am 017da8bc: Merge "Add --gtest-filter as synonym for --gtest_filter in bionic gtest main."
* commit '38dfc222adb557b95e3fe7d606d3532de56c998a':
  Add --gtest-filter as synonym for --gtest_filter in bionic gtest main.
2015-01-29 02:40:24 +00:00
Yabin Cui
38dfc222ad am 017da8bc: Merge "Add --gtest-filter as synonym for --gtest_filter in bionic gtest main."
* commit '017da8bc58ba07be92dd371020e9dc3fe26f481b':
  Add --gtest-filter as synonym for --gtest_filter in bionic gtest main.
2015-01-29 02:33:59 +00:00
Yabin Cui
017da8bc58 Merge "Add --gtest-filter as synonym for --gtest_filter in bionic gtest main." 2015-01-29 02:30:25 +00:00
Christopher Ferris
1d72a38dbb am 2633dfa5: am 43606bc1: Merge "Only one crashing thread should contact debuggerd."
* commit '2633dfa5f6f453dc56b1a08917dd6f51b619681c':
  Only one crashing thread should contact debuggerd.
2015-01-29 02:01:05 +00:00
Christopher Ferris
2633dfa5f6 am 43606bc1: Merge "Only one crashing thread should contact debuggerd."
* commit '43606bc1ce974e4ba42d7d2c3682ad5182e6fc96':
  Only one crashing thread should contact debuggerd.
2015-01-29 01:53:49 +00:00
Christopher Ferris
43606bc1ce Merge "Only one crashing thread should contact debuggerd." 2015-01-29 01:49:21 +00:00
Elliott Hughes
4f2e2a9d70 am 8661b092: am a9c3d056: Merge "Modify MIPS64 stat structure to match a generic one in AOSP."
* commit '8661b092fe24c6b56426e07c6f02f5d83daae172':
  Modify MIPS64 stat structure to match a generic one in AOSP.
2015-01-29 01:42:06 +00:00
Elliott Hughes
8661b092fe am a9c3d056: Merge "Modify MIPS64 stat structure to match a generic one in AOSP."
* commit 'a9c3d0569f3b9511af445457cd455a7bb967b60e':
  Modify MIPS64 stat structure to match a generic one in AOSP.
2015-01-29 01:35:38 +00:00
Elliott Hughes
a9c3d0569f Merge "Modify MIPS64 stat structure to match a generic one in AOSP." 2015-01-29 01:31:59 +00:00
Christopher Ferris
8ea53fa87e Only one crashing thread should contact debuggerd.
If two or more threads crash at the same time, only let one talk to
debuggerd. It's possible for a race to occur that two threads send
data to debuggerd, the second one will cause errors in debuggerd since
the process will die once debuggerd lets the crashing pid start again.

Bug: 19183955
Change-Id: I17dfce46102117ab4a870f7381bd526488d37fb5
2015-01-28 16:20:26 -08:00
Raghu Gandham
86d2feef9f Modify MIPS64 stat structure to match a generic one in AOSP.
The kernel version of the stat structure is used during the syscalls. After the syscall,
the kernel stat structure is converted to match the generic one. Eventually we would like
the generic stat structure and related syscalls be added to MIPS64 kernel, removing the
thunks added to AOSP.

Change-Id: I7764e80278c1cc8254754c3531ec2dda7544a8ec
2015-01-28 16:12:17 -08:00
Yabin Cui
11c4353cdd Add --gtest-filter as synonym for --gtest_filter in bionic gtest main.
Bug: 19130480
Change-Id: I0d3df70ee8f692581cc4b9b742c5f347259fd0d2
2015-01-28 14:28:14 -08:00
Yabin Cui
44e8578c03 am c6438cd4: am 3c95c887: am 9e82c4be: Merge "Switch pthread_once_t to stdatomic.h."
* commit 'c6438cd4b0d4304e61c895941f68325efc6d9996':
  Switch pthread_once_t to stdatomic.h.
2015-01-28 22:08:38 +00:00
Yabin Cui
c6438cd4b0 am 3c95c887: am 9e82c4be: Merge "Switch pthread_once_t to stdatomic.h."
* commit '3c95c887820018cff06039e1dc35afe585e661c1':
  Switch pthread_once_t to stdatomic.h.
2015-01-28 21:27:32 +00:00
Yabin Cui
3c95c88782 am 9e82c4be: Merge "Switch pthread_once_t to stdatomic.h."
* commit '9e82c4be359a4637f21988b66b6d25abbfb79ddb':
  Switch pthread_once_t to stdatomic.h.
2015-01-28 21:20:54 +00:00
Yabin Cui
9e82c4be35 Merge "Switch pthread_once_t to stdatomic.h." 2015-01-28 21:16:05 +00:00
Dimitry Ivanov
b9bd15cc07 am c6c624fc: am 18661cd8: am 3780aba6: Merge "Fix mips64 build. Replace explicit cast with static_cast"
* commit 'c6c624fc37dc6240a41bbc7d550980f79295796b':
  Fix mips64 build. Replace explicit cast with static_cast
2015-01-28 17:49:14 +00:00
Dimitry Ivanov
c6c624fc37 am 18661cd8: am 3780aba6: Merge "Fix mips64 build. Replace explicit cast with static_cast"
* commit '18661cd8881dfce34306242011198128867777bb':
  Fix mips64 build. Replace explicit cast with static_cast
2015-01-28 17:42:47 +00:00
Dimitry Ivanov
18661cd888 am 3780aba6: Merge "Fix mips64 build. Replace explicit cast with static_cast"
* commit '3780aba6352affc7d2dcdad0737cb4254448fcae':
  Fix mips64 build. Replace explicit cast with static_cast
2015-01-28 17:39:01 +00:00
Dimitry Ivanov
3780aba635 Merge "Fix mips64 build. Replace explicit cast with static_cast" 2015-01-28 17:34:51 +00:00
Nikola Veljkovic
db3078d97b Fix mips64 build. Replace explicit cast with static_cast
Change-Id: Ib08fbe8bb832884a3eb33904fe4d490759116cb2
2015-01-28 16:19:18 +01:00
Yabin Cui
80e6d6d825 Switch pthread_once_t to stdatomic.h.
Bug: 17574610

Change-Id: I653f2aa4b5b38dbdaffe4a6c3deccfe6ad3b0e74
2015-01-27 19:49:12 -08:00
Yabin Cui
030ac03c2b am c10cfc05: am d13e6268: am 385c07a7: Merge "Fix parse of gtest_filter in bionic gtest main."
* commit 'c10cfc052043b0b70e6a3153e93dabc73764b58f':
  Fix parse of gtest_filter in bionic gtest main.
2015-01-28 00:42:21 +00:00
Elliott Hughes
8d71a40c79 am 63c74b2c: am 6c55034a: am 86d98962: Merge "Fix mips build."
* commit '63c74b2c2281b605f7946c707f756835ce83bd44':
  Fix mips build.
2015-01-27 23:42:53 +00:00
Elliott Hughes
57e41c6a45 am f6083836: am aa0b88f7: am acc06a0b: Merge "Add a test for float registers across setjmp/logjmp."
* commit 'f6083836a71179cc3a222e7a22af010bdc05bad6':
  Add a test for float registers across setjmp/logjmp.
2015-01-27 23:42:50 +00:00
Elliott Hughes
2cea48a77e am 4bdc2a61: am ca3396ef: am 192e169a: Merge "x86 has an assembler bcopy implementation."
* commit '4bdc2a6105c7f91d780c62a05e02ccb2a75a8837':
  x86 has an assembler bcopy implementation.
2015-01-27 23:31:36 +00:00
Yabin Cui
ba8f594152 am 67266eac: am a8041f9b: am b518836e: Merge "Rename "TIMEWARN" to "SLOW" in bionic gtest."
* commit '67266eacf603a1dae7cfd81e24d55c9bff1cc61a':
  Rename "TIMEWARN" to "SLOW" in bionic gtest.
2015-01-27 23:31:35 +00:00
Elliott Hughes
d83cd1924b am 0dadeb81: am 2bb5664f: am 643a9be8: Merge "[Arm64] Fix overlapping fp fields in jmp_buf"
* commit '0dadeb8134147ac07723e5047003485654b2bcc7':
  [Arm64] Fix overlapping fp fields in jmp_buf
2015-01-27 23:31:31 +00:00
Elliott Hughes
2aa82b5804 am 5bf4a172: am dedacf10: am 5c7964c5: Merge "Clean up <stdlib.h> slightly."
* commit '5bf4a1729ad35356c8c18b77842e9bac0f1ea0b2':
  Clean up <stdlib.h> slightly.
2015-01-27 23:31:30 +00:00
Yabin Cui
c10cfc0520 am d13e6268: am 385c07a7: Merge "Fix parse of gtest_filter in bionic gtest main."
* commit 'd13e626817cfd552bf082fb35019177274147449':
  Fix parse of gtest_filter in bionic gtest main.
2015-01-27 22:13:28 +00:00
Yabin Cui
d13e626817 am 385c07a7: Merge "Fix parse of gtest_filter in bionic gtest main."
* commit '385c07a74ca5438a6f7fe0ada2b461f880563073':
  Fix parse of gtest_filter in bionic gtest main.
2015-01-27 22:05:40 +00:00
Yabin Cui
385c07a74c Merge "Fix parse of gtest_filter in bionic gtest main." 2015-01-27 22:00:35 +00:00
Elliott Hughes
63c74b2c22 am 6c55034a: am 86d98962: Merge "Fix mips build."
* commit '6c55034a1d24caa82cb7e5a6c0ca71e9697c0f12':
  Fix mips build.
2015-01-27 19:51:12 +00:00
Elliott Hughes
6c55034a1d am 86d98962: Merge "Fix mips build."
* commit '86d9896273e81941d16034fdbf781a3f2bf94b81':
  Fix mips build.
2015-01-27 19:43:32 +00:00
Elliott Hughes
86d9896273 Merge "Fix mips build." 2015-01-27 19:39:37 +00:00
Yabin Cui
0bc4e9697e Fix parse of gtest_filter in bionic gtest main.
Bug: 19130330
Change-Id: Id6a60570a8aab6ae7259ff228b3801285b378f77
2015-01-27 11:22:46 -08:00
Elliott Hughes
f6083836a7 am aa0b88f7: am acc06a0b: Merge "Add a test for float registers across setjmp/logjmp."
* commit 'aa0b88f7a8a96bef2cec739678ceb69c3f9f1ce1':
  Add a test for float registers across setjmp/logjmp.
2015-01-27 19:19:38 +00:00
Elliott Hughes
aa0b88f7a8 am acc06a0b: Merge "Add a test for float registers across setjmp/logjmp."
* commit 'acc06a0b74e41728c6067280134a59d8b700d535':
  Add a test for float registers across setjmp/logjmp.
2015-01-27 19:13:23 +00:00
Elliott Hughes
e6099098a5 Fix mips build.
Move various mips-only things into the arch-mips directory. As soon as mips
writes assembler replacements, we can remove these.

Change-Id: Ia7308559bc361f5c8df3e1d456b381865e060b93
2015-01-27 11:09:27 -08:00
Elliott Hughes
acc06a0b74 Merge "Add a test for float registers across setjmp/logjmp." 2015-01-27 19:08:33 +00:00
Lorenzo Colitti
80fee21ada am ecbeee61: am 329db346: am f2d02c38: Merge "Make bionic compile even if resolver debugging is enabled."
* commit 'ecbeee61ede2b1100e6ff8f3e1d181e7049242c2':
  Make bionic compile even if resolver debugging is enabled.
2015-01-27 18:33:16 +00:00
Christopher Ferris
5bf95c10cf am 99272d40: am 85ecef2c: am 5d428bba: Merge "Do not build host benchmark code on macs."
* commit '99272d40cb989744a5518eed22c71979c35d05b3':
  Do not build host benchmark code on macs.
2015-01-27 18:33:00 +00:00
Yabin Cui
f0de5f8ae6 am 2a79e882: am 65b227b0: am 0e6af17a: Merge "Support --gtest_ouput option in bionic gtest main."
* commit '2a79e8820521d1d6b4fa64599e12d22b358dad7a':
  Support --gtest_ouput option in bionic gtest main.
2015-01-27 18:32:59 +00:00
Elliott Hughes
4bdc2a6105 am ca3396ef: am 192e169a: Merge "x86 has an assembler bcopy implementation."
* commit 'ca3396ef2d08777f83362c72939aed7cfd4f6edf':
  x86 has an assembler bcopy implementation.
2015-01-27 05:59:07 +00:00
Elliott Hughes
ca3396ef2d am 192e169a: Merge "x86 has an assembler bcopy implementation."
* commit '192e169a404fee48483335ed988788924266ff5d':
  x86 has an assembler bcopy implementation.
2015-01-27 05:52:55 +00:00
Elliott Hughes
192e169a40 Merge "x86 has an assembler bcopy implementation." 2015-01-27 05:46:56 +00:00
Elliott Hughes
1edfd9e36a x86 has an assembler bcopy implementation.
Change-Id: I4ed7af3c5b104f86550120401f773150c460f37b
2015-01-26 21:45:56 -08:00
Yabin Cui
67266eacf6 am a8041f9b: am b518836e: Merge "Rename "TIMEWARN" to "SLOW" in bionic gtest."
* commit 'a8041f9b1db0ea8e232bbd98eeb98b7395fca0e6':
  Rename "TIMEWARN" to "SLOW" in bionic gtest.
2015-01-27 05:43:37 +00:00
Yabin Cui
a8041f9b1d am b518836e: Merge "Rename "TIMEWARN" to "SLOW" in bionic gtest."
* commit 'b518836e8c8aa8fce933d59705a24543672bf238':
  Rename "TIMEWARN" to "SLOW" in bionic gtest.
2015-01-27 05:38:20 +00:00
Yabin Cui
b518836e8c Merge "Rename "TIMEWARN" to "SLOW" in bionic gtest." 2015-01-27 05:32:52 +00:00
Elliott Hughes
0dadeb8134 am 2bb5664f: am 643a9be8: Merge "[Arm64] Fix overlapping fp fields in jmp_buf"
* commit '2bb5664f5e73221bbc14def1721bb541c901b277':
  [Arm64] Fix overlapping fp fields in jmp_buf
2015-01-27 05:05:56 +00:00
Elliott Hughes
5bf4a1729a am dedacf10: am 5c7964c5: Merge "Clean up <stdlib.h> slightly."
* commit 'dedacf109b35e74d76594c29560a09f4ef3eb94d':
  Clean up <stdlib.h> slightly.
2015-01-27 05:00:11 +00:00
Elliott Hughes
2bb5664f5e am 643a9be8: Merge "[Arm64] Fix overlapping fp fields in jmp_buf"
* commit '643a9be82e4a9897f22cee6dcb6070ee102107d6':
  [Arm64] Fix overlapping fp fields in jmp_buf
2015-01-27 04:59:51 +00:00
Yabin Cui
4a82ede754 Rename "TIMEWARN" to "SLOW" in bionic gtest.
Bug: 19109188.
Change-Id: Idfe769ac652bf37642da24e4abb6061ca861d57e
2015-01-26 20:56:20 -08:00
Elliott Hughes
643a9be82e Merge "[Arm64] Fix overlapping fp fields in jmp_buf" 2015-01-27 04:56:20 +00:00
Elliott Hughes
dedacf109b am 5c7964c5: Merge "Clean up <stdlib.h> slightly."
* commit '5c7964c5f159bc3e1bbc577c7ace52177f399b21':
  Clean up <stdlib.h> slightly.
2015-01-27 04:54:07 +00:00
Elliott Hughes
87dd503018 Add a test for float registers across setjmp/logjmp.
Change-Id: I17cc056b185755e0b91de096b5ceefee4f4e0b3a
2015-01-26 20:52:34 -08:00
Elliott Hughes
5c7964c5f1 Merge "Clean up <stdlib.h> slightly." 2015-01-27 04:49:07 +00:00
Lorenzo Colitti
ecbeee61ed am 329db346: am f2d02c38: Merge "Make bionic compile even if resolver debugging is enabled."
* commit '329db346f54c629e0c9fcc98c21c19619a573e9b':
  Make bionic compile even if resolver debugging is enabled.
2015-01-27 04:14:09 +00:00
Lorenzo Colitti
329db346f5 am f2d02c38: Merge "Make bionic compile even if resolver debugging is enabled."
* commit 'f2d02c38fb7a7b91ddbb7e54fffa1e9c6c0c7449':
  Make bionic compile even if resolver debugging is enabled.
2015-01-27 04:07:10 +00:00
Lorenzo Colitti
f2d02c38fb Merge "Make bionic compile even if resolver debugging is enabled." 2015-01-27 04:02:42 +00:00
Christopher Ferris
99272d40cb am 85ecef2c: am 5d428bba: Merge "Do not build host benchmark code on macs."
* commit '85ecef2c6b7a624ba9db066ebefcfd0d394da6af':
  Do not build host benchmark code on macs.
2015-01-27 02:18:49 +00:00
Yabin Cui
2a79e88205 am 65b227b0: am 0e6af17a: Merge "Support --gtest_ouput option in bionic gtest main."
* commit '65b227b02e8239ee6a72c3c26f0b1937f80b8027':
  Support --gtest_ouput option in bionic gtest main.
2015-01-27 02:18:17 +00:00
Christopher Ferris
85ecef2c6b am 5d428bba: Merge "Do not build host benchmark code on macs."
* commit '5d428bbab4d5a1124186a75bef6a4fb008682e43':
  Do not build host benchmark code on macs.
2015-01-27 01:37:45 +00:00
Christopher Ferris
5d428bbab4 Merge "Do not build host benchmark code on macs." 2015-01-27 01:32:06 +00:00
Yabin Cui
65b227b02e am 0e6af17a: Merge "Support --gtest_ouput option in bionic gtest main."
* commit '0e6af17a35b1e5e6e8c4a22dcb934bb641a92488':
  Support --gtest_ouput option in bionic gtest main.
2015-01-27 01:21:06 +00:00
Yabin Cui
0e6af17a35 Merge "Support --gtest_ouput option in bionic gtest main." 2015-01-27 01:01:05 +00:00
Christopher Ferris
941a1a191f Do not build host benchmark code on macs.
Macs don't have clock_gettime, and it doesn't seem worth getting this
to run on the host for mac.

Change-Id: I59d9939acc2ede1308b24a60c4242d45355d967d
2015-01-26 16:54:40 -08:00
Yabin Cui
657b1f9bef Support --gtest_ouput option in bionic gtest main.
Bug: 19109500
Change-Id: Ib18f90ad522e66ea62dd4e02e314585d9b36e15f
2015-01-26 16:53:05 -08:00
Duane Sand
dbaab26021 [Arm64] Fix overlapping fp fields in jmp_buf
Change-Id: I9be9f118108f3f6e2bb02a5b01e0420fbfd15d85
2015-01-26 16:20:05 -08:00
Elliott Hughes
76f8916b90 Clean up <stdlib.h> slightly.
Interestingly, this mostly involves cleaning up our implementation of
various <string.h> functions.

Change-Id: Ifaef49b5cb997134f7bc0cc31bdac844bdb9e089
2015-01-26 14:28:41 -08:00
Christopher Ferris
15f382585c am 62c51518: am a5af57d3: am 419ed122: Merge "Update kernel headers to v3.18.3."
* commit '62c51518abc6f05b37efc4fdda4637e62de9ee3f':
  Update kernel headers to v3.18.3.
2015-01-26 22:09:47 +00:00
Elliott Hughes
6660e98965 am 46bed722: am e3c350f8: am 247cfe03: Merge "Add <error.h>."
* commit '46bed722eb4726cef7bccfa266dc32ab9d3f2886':
  Add <error.h>.
2015-01-26 22:09:35 +00:00
Christopher Ferris
62c51518ab am a5af57d3: am 419ed122: Merge "Update kernel headers to v3.18.3."
* commit 'a5af57d3e6e8cccf32d0e84eb148b5f4b9db3552':
  Update kernel headers to v3.18.3.
2015-01-26 21:45:15 +00:00
Christopher Ferris
a5af57d3e6 am 419ed122: Merge "Update kernel headers to v3.18.3."
* commit '419ed122aa21cf04334f21baab135ac4f9f49840':
  Update kernel headers to v3.18.3.
2015-01-26 21:33:55 +00:00
Christopher Ferris
419ed122aa Merge "Update kernel headers to v3.18.3." 2015-01-26 21:27:52 +00:00
Elliott Hughes
46bed722eb am e3c350f8: am 247cfe03: Merge "Add <error.h>."
* commit 'e3c350f8c8a3be0637e4894639b14a3965a1b312':
  Add <error.h>.
2015-01-26 20:53:58 +00:00
Elliott Hughes
e3c350f8c8 am 247cfe03: Merge "Add <error.h>."
* commit '247cfe03825f46e38371954d04fcb90a8b36c824':
  Add <error.h>.
2015-01-26 20:46:58 +00:00
Elliott Hughes
247cfe0382 Merge "Add <error.h>." 2015-01-26 20:38:46 +00:00
Elliott Hughes
b8a8cf0d1a Add <error.h>.
Bug: https://code.google.com/p/android/issues/detail?id=79170
Change-Id: Id91765fac45124545e2674a5b2c814707c1a448b
2015-01-26 11:57:11 -08:00
Christopher Ferris
82d7504cd7 Update kernel headers to v3.18.3.
Bug: 19127803
Change-Id: I67fa0832322ddd0032d909476047578be052bcf2
2015-01-26 10:57:07 -08:00
Lorenzo Colitti
616344d169 Make bionic compile even if resolver debugging is enabled.
The code now compiles with all combinations of DEBUG and
DEBUG_DATA except DEBUG_DATA=1, DEBUG=0, which is unsupported.

Change-Id: I9035a65c649df73092f1fc0864ae1cdd9a14aa3b
2015-01-26 16:05:27 +09:00
Dan Albert
5dd626840b am 7102d69e: am 2991f2a3: am 6eb5dc1d: Merge "Fix coverage build after adding clang coverage."
* commit '7102d69ef1d3e264e63fcd75d078231c11daa4d3':
  Fix coverage build after adding clang coverage.
2015-01-25 23:09:57 +00:00
Dan Albert
7102d69ef1 am 2991f2a3: am 6eb5dc1d: Merge "Fix coverage build after adding clang coverage."
* commit '2991f2a3d92f54757c0e726a3dcaa103cd8fed9e':
  Fix coverage build after adding clang coverage.
2015-01-25 23:05:47 +00:00
Dan Albert
2991f2a3d9 am 6eb5dc1d: Merge "Fix coverage build after adding clang coverage."
* commit '6eb5dc1d9c38ff8f717b70a2f66417c599aeb08c':
  Fix coverage build after adding clang coverage.
2015-01-25 22:55:24 +00:00
Dan Albert
6eb5dc1d9c Merge "Fix coverage build after adding clang coverage." 2015-01-25 22:51:37 +00:00
Dan Albert
6e9e6ad3bf Fix coverage build after adding clang coverage.
Static libraries are painful. Details are in the comment. I'll try to
get prebuilts in to the tree so I can fix this on Monday. Until then,
this isn't actually a regression because we've not had coverage
available for this library until now anyway.

Bug: 17574078
Change-Id: I7505c8a94007203e15a6cf192caa06004849d7d9
2015-01-25 14:27:51 -08:00
Elliott Hughes
2e747a65c0 am a028ab9e: am c7aaf228: am f108bbba: Merge "Remove obsolete BUILD_TINY_ANDROID."
* commit 'a028ab9e09fc08d7551fe20514d197f7fa4cb86f':
  Remove obsolete BUILD_TINY_ANDROID.
2015-01-25 21:00:53 +00:00
Elliott Hughes
a028ab9e09 am c7aaf228: am f108bbba: Merge "Remove obsolete BUILD_TINY_ANDROID."
* commit 'c7aaf228beddc4c68a3e4f3986aee40c568c208c':
  Remove obsolete BUILD_TINY_ANDROID.
2015-01-25 20:42:50 +00:00
Elliott Hughes
c7aaf228be am f108bbba: Merge "Remove obsolete BUILD_TINY_ANDROID."
* commit 'f108bbbaf7a11c3226780d0424fa123155e30f36':
  Remove obsolete BUILD_TINY_ANDROID.
2015-01-25 05:17:29 +00:00
Elliott Hughes
f108bbbaf7 Merge "Remove obsolete BUILD_TINY_ANDROID." 2015-01-25 05:09:21 +00:00
Elliott Hughes
14152b9f31 Remove obsolete BUILD_TINY_ANDROID.
Change-Id: If2fc97134340fd09ec2583b666ace2f673cbdf66
2015-01-24 19:01:58 -08:00
Elliott Hughes
e361dbb8fc am 9e4827de: am 7eed99da: am 66eeec8e: Merge "Reduce <stdlib.h> namespace pollution."
* commit '9e4827de125e37bec0bc2a2c02b65176b30129f9':
  Reduce <stdlib.h> namespace pollution.
2015-01-24 23:57:37 +00:00
Elliott Hughes
9e4827de12 am 7eed99da: am 66eeec8e: Merge "Reduce <stdlib.h> namespace pollution."
* commit '7eed99dad95003b8b40e6a1136bd83ac68dc54dc':
  Reduce <stdlib.h> namespace pollution.
2015-01-24 23:53:11 +00:00
Elliott Hughes
7eed99dad9 am 66eeec8e: Merge "Reduce <stdlib.h> namespace pollution."
* commit '66eeec8e160feddc2b35c4ff9d20de92f37331dd':
  Reduce <stdlib.h> namespace pollution.
2015-01-24 23:47:36 +00:00
Elliott Hughes
66eeec8e16 Merge "Reduce <stdlib.h> namespace pollution." 2015-01-24 23:44:27 +00:00
Elliott Hughes
c5dc02a91e Reduce <stdlib.h> namespace pollution.
<stdlib.h> shouldn't drag in all of <string.h>.

Change-Id: I949172f7ff17e329e411e5054e50f79c13775444
2015-01-24 15:22:57 -08:00
Elliott Hughes
568ecb2314 am fe1709bd: am 12144696: am 62d20fb2: Merge "Reduce <signal.h> namespace pollution."
* commit 'fe1709bdca1a335df315ba11efcdfec96e71658f':
  Reduce <signal.h> namespace pollution.
2015-01-24 22:55:16 +00:00
Elliott Hughes
fe1709bdca am 12144696: am 62d20fb2: Merge "Reduce <signal.h> namespace pollution."
* commit '12144696ac9b53462fbfb0fb4f1a181e10df7437':
  Reduce <signal.h> namespace pollution.
2015-01-24 22:47:01 +00:00
Elliott Hughes
12144696ac am 62d20fb2: Merge "Reduce <signal.h> namespace pollution."
* commit '62d20fb21948d7a31d453ec08ed5abc02d3dd1d3':
  Reduce <signal.h> namespace pollution.
2015-01-24 22:41:01 +00:00
Elliott Hughes
62d20fb219 Merge "Reduce <signal.h> namespace pollution." 2015-01-24 22:34:51 +00:00
Elliott Hughes
ddc4c8f8ec am cf936c1e: am 61a80735: am 6e15edcc: Merge "Say "Bad file descriptor" rather than "Bad file number"."
* commit 'cf936c1e43456d50f9d58444442e31609ff75256':
  Say "Bad file descriptor" rather than "Bad file number".
2015-01-24 22:24:27 +00:00
Elliott Hughes
6466292a7e Reduce <signal.h> namespace pollution.
<signal.h> shouldn't drag in all of <string.h>.

Change-Id: I57aea36dad5e89ea2f9541c35594ca6225e532be
2015-01-24 14:18:16 -08:00
Elliott Hughes
cf936c1e43 am 61a80735: am 6e15edcc: Merge "Say "Bad file descriptor" rather than "Bad file number"."
* commit '61a8073565dd9870f4f93a96f91881955833757b':
  Say "Bad file descriptor" rather than "Bad file number".
2015-01-24 22:18:09 +00:00
Elliott Hughes
61a8073565 am 6e15edcc: Merge "Say "Bad file descriptor" rather than "Bad file number"."
* commit '6e15edcca5f5b35221b33e9994c236f148cb3c38':
  Say "Bad file descriptor" rather than "Bad file number".
2015-01-24 22:12:06 +00:00
Elliott Hughes
6e15edcca5 Merge "Say "Bad file descriptor" rather than "Bad file number"." 2015-01-24 22:08:20 +00:00
Elliott Hughes
851f09de5d am e5cfda5b: am 94a4a173: am 59936a3b: Merge "Fix optimized fread."
* commit 'e5cfda5b5d372ef674e8f8c36faded2d653c10b5':
  Fix optimized fread.
2015-01-24 21:43:05 +00:00
Elliott Hughes
d309877eee Say "Bad file descriptor" rather than "Bad file number".
This text is actually in POSIX (though it's not mandatory) and it's what glibc
says. Who says "file number" anyway?

Change-Id: Icc91ac24587c2bc692e0b97c19d32ac1bdda4ea7
2015-01-24 13:38:57 -08:00
Elliott Hughes
e5cfda5b5d am 94a4a173: am 59936a3b: Merge "Fix optimized fread."
* commit '94a4a173d24ce8feac5c49fb5ad209a836d41439':
  Fix optimized fread.
2015-01-24 21:38:15 +00:00
Elliott Hughes
94a4a173d2 am 59936a3b: Merge "Fix optimized fread."
* commit '59936a3b51474fc3216659f089ff6543ac31ab4e':
  Fix optimized fread.
2015-01-24 21:31:09 +00:00
Elliott Hughes
59936a3b51 Merge "Fix optimized fread." 2015-01-24 21:25:06 +00:00
Elliott Hughes
e6bb5a2776 Fix optimized fread.
gcov does writes after reads on the same stream, but the bulk read optimization
was clobbering the FILE _flags, causing fwrite to fail.

Bug: 19129055
Change-Id: I9650cb7de4bb173a706b502406266ed0d2b654d7
2015-01-24 12:35:41 -08:00
Dmitriy Ivanov
844b4e1638 am ebbf3b0e: am 37043dff: am 31005ca4: Merge "Minimize calls to mprotect"
* commit 'ebbf3b0ec22d729b9531ed562322655844676df4':
  Minimize calls to mprotect
2015-01-24 16:58:12 +00:00
Dan Albert
849f23c594 am 1042afe6: am e6ad1630: am 305be18d: Merge "Allow make to set a timeout for the host tests."
* commit '1042afe618c7b2f06d520f9cadc4482124e5c875':
  Allow make to set a timeout for the host tests.
2015-01-24 16:58:03 +00:00
Chih-Hung Hsieh
791081c37b am 54ab69d3: am 75bce066: am f5ae7e91: Merge "Add comments about the -shared flag."
* commit '54ab69d33fb39c4e97e401087e384a944345d1e4':
  Add comments about the -shared flag.
2015-01-24 16:57:51 +00:00
Dmitriy Ivanov
ebbf3b0ec2 am 37043dff: am 31005ca4: Merge "Minimize calls to mprotect"
* commit '37043dff1d2d7ea475cea1ef5728fbf88f6fb321':
  Minimize calls to mprotect
2015-01-24 00:59:54 +00:00
Dmitriy Ivanov
37043dff1d am 31005ca4: Merge "Minimize calls to mprotect"
* commit '31005ca4c8562f3e6dfbed079eeaff8361ff8cdc':
  Minimize calls to mprotect
2015-01-24 00:51:09 +00:00
Dmitriy Ivanov
31005ca4c8 Merge "Minimize calls to mprotect" 2015-01-24 00:45:25 +00:00
Dmitriy Ivanov
279a22f96e Minimize calls to mprotect
Implement refcounter based data protection guard
  to avoid unnecessary calls to mprotect when dlopen/dlclose
  is called from a constructor.

Bug: 19124318
Big: 7941716
Change-Id: Id221b84ce75443094f99756dc9950b0a1dc87222
2015-01-23 16:30:34 -08:00
Dan Albert
1042afe618 am e6ad1630: am 305be18d: Merge "Allow make to set a timeout for the host tests."
* commit 'e6ad16304d054a9e6fff25693153a03455808bde':
  Allow make to set a timeout for the host tests.
2015-01-24 00:13:54 +00:00
Dan Albert
e6ad16304d am 305be18d: Merge "Allow make to set a timeout for the host tests."
* commit '305be18d10254df4a9444f8505f569e94718f488':
  Allow make to set a timeout for the host tests.
2015-01-24 00:07:20 +00:00
Chih-Hung Hsieh
54ab69d33f am 75bce066: am f5ae7e91: Merge "Add comments about the -shared flag."
* commit '75bce0660ad558577dd5a2913f8fbcd39da1cbb6':
  Add comments about the -shared flag.
2015-01-24 00:04:17 +00:00
Dan Albert
305be18d10 Merge "Allow make to set a timeout for the host tests." 2015-01-24 00:01:40 +00:00
Chih-Hung Hsieh
75bce0660a am f5ae7e91: Merge "Add comments about the -shared flag."
* commit 'f5ae7e91ea2c3364d6423ef4d54f5f295197335f':
  Add comments about the -shared flag.
2015-01-23 23:41:01 +00:00
Chih-Hung Hsieh
f5ae7e91ea Merge "Add comments about the -shared flag." 2015-01-23 23:33:54 +00:00
Elliott Hughes
ed78e5f883 am 590641b0: am cf744fc8: am 7f3d65de: Merge "Add a log message to make the transition from linker to user code clear."
* commit '590641b0ad90d88c99cf965036d3c806f381d879':
  Add a log message to make the transition from linker to user code clear.
2015-01-23 19:57:07 +00:00
Dan Albert
4ce907d2ce Allow make to set a timeout for the host tests.
Change-Id: Icc2ebf64bd1da1687bf313fe7a5640155c5795d8
2015-01-23 11:35:48 -08:00
Elliott Hughes
590641b0ad am cf744fc8: am 7f3d65de: Merge "Add a log message to make the transition from linker to user code clear."
* commit 'cf744fc89a7bac815bb42802dcfce73101ddbe1d':
  Add a log message to make the transition from linker to user code clear.
2015-01-23 19:14:16 +00:00
Elliott Hughes
cf744fc89a am 7f3d65de: Merge "Add a log message to make the transition from linker to user code clear."
* commit '7f3d65de8cf2920981d73adee278c0d7bee79170':
  Add a log message to make the transition from linker to user code clear.
2015-01-23 18:59:45 +00:00
Elliott Hughes
7f3d65de8c Merge "Add a log message to make the transition from linker to user code clear." 2015-01-23 18:55:30 +00:00
Elliott Hughes
611f95689e Add a log message to make the transition from linker to user code clear.
Handy when looking at strace output for seeing "where does my code start?",
though you'll need to set LD_DEBUG=1 (or greater) and constructors will
already have run (but you can set LD_DEBUG to a higher value to track that).

Change-Id: I82d53a7123b39febf5b2a956de83c8a30f229651
2015-01-23 10:43:58 -08:00
Dmitriy Ivanov
39b7bc3167 am 4d2dcb89: am 8e2b0e55: am bb3b1303: Merge "Enable -Wold-style-cast warnings for linker"
* commit '4d2dcb896abcf3e13972665d3eaf179365bc799f':
  Enable -Wold-style-cast warnings for linker
2015-01-23 04:19:50 +00:00
Dmitriy Ivanov
4d2dcb896a am 8e2b0e55: am bb3b1303: Merge "Enable -Wold-style-cast warnings for linker"
* commit '8e2b0e550a8e64da23c95fe265dbea7c6701e7c1':
  Enable -Wold-style-cast warnings for linker
2015-01-23 03:28:02 +00:00
Dmitriy Ivanov
8e2b0e550a am bb3b1303: Merge "Enable -Wold-style-cast warnings for linker"
* commit 'bb3b1303e1167a662218c9686977b379964e0072':
  Enable -Wold-style-cast warnings for linker
2015-01-23 03:14:35 +00:00
Dan Albert
3e41329e62 am 2e7715b2: am f908b21a: am ab58559a: Merge "Add a basic NDK compatibility library."
* commit '2e7715b29fc7e2e96c997eb005343cd8563fff36':
  Add a basic NDK compatibility library.
2015-01-23 03:12:17 +00:00
Elliott Hughes
c6f3ed2db4 am 682d5d8b: am 9c8a5265: am b161fe27: Merge "There\'s no such thing as LOCAL_CXXFLAGS."
* commit '682d5d8b826a8b4fec181dde264caa699955aecd':
  There's no such thing as LOCAL_CXXFLAGS.
2015-01-23 03:10:40 +00:00
Elliott Hughes
08c18b67f8 am 4adced31: am 25437c59: am ae095a73: Merge "Fix the stdio.fread_EOF test."
* commit '4adced31e84d299a907e8ffa0f8ff9840a1ce5ee':
  Fix the stdio.fread_EOF test.
2015-01-23 03:10:39 +00:00
Elliott Hughes
903dbf99a0 am 0f7f31f8: am a0313e04: am d5d9221b: Merge "Fix fread_EOF test name."
* commit '0f7f31f8193ffb61d73d3a3f2c89e437f81a0245':
  Fix fread_EOF test name.
2015-01-23 03:10:38 +00:00
Dmitriy Ivanov
bb3b1303e1 Merge "Enable -Wold-style-cast warnings for linker" 2015-01-23 03:09:22 +00:00
Chih-Hung Hsieh
306ea7ebe5 Add comments about the -shared flag.
Must build this linker as a shared object.
A statically linked module does not load during init.

BUG: 18008984

Change-Id: I5f0411129024edcb9381c473ea4e741a075e9184
2015-01-22 19:09:20 -08:00
Dan Albert
2e7715b29f am f908b21a: am ab58559a: Merge "Add a basic NDK compatibility library."
* commit 'f908b21a5cdb68184907ac6cb1475dfe771c28cf':
  Add a basic NDK compatibility library.
2015-01-23 00:54:53 +00:00
Dan Albert
f908b21a5c am ab58559a: Merge "Add a basic NDK compatibility library."
* commit 'ab58559a9cc40766c0636c6e97a93dfd5e74d923':
  Add a basic NDK compatibility library.
2015-01-23 00:51:39 +00:00
Elliott Hughes
682d5d8b82 am 9c8a5265: am b161fe27: Merge "There\'s no such thing as LOCAL_CXXFLAGS."
* commit '9c8a5265c9a2262735214a1310b5fc0246873bc9':
  There's no such thing as LOCAL_CXXFLAGS.
2015-01-23 00:50:32 +00:00
Elliott Hughes
4adced31e8 am 25437c59: am ae095a73: Merge "Fix the stdio.fread_EOF test."
* commit '25437c598473a22a697b8cae009a897df80f38e6':
  Fix the stdio.fread_EOF test.
2015-01-23 00:50:31 +00:00
Dan Albert
ab58559a9c Merge "Add a basic NDK compatibility library." 2015-01-23 00:46:54 +00:00
Elliott Hughes
0f7f31f819 am a0313e04: am d5d9221b: Merge "Fix fread_EOF test name."
* commit 'a0313e04b368c3af4152c573780549477b0ec5f8':
  Fix fread_EOF test name.
2015-01-23 00:46:45 +00:00
Dmitriy Ivanov
1649e7ee5b Enable -Wold-style-cast warnings for linker
And fix old style casts.

Change-Id: I37e7a3e3fd852528ea76f02d967c7bd8cd5b06c9
2015-01-22 16:33:30 -08:00
Elliott Hughes
9c8a5265c9 am b161fe27: Merge "There\'s no such thing as LOCAL_CXXFLAGS."
* commit 'b161fe27433b899b896b5685571373df4a1f8a21':
  There's no such thing as LOCAL_CXXFLAGS.
2015-01-22 23:41:35 +00:00
Elliott Hughes
25437c5984 am ae095a73: Merge "Fix the stdio.fread_EOF test."
* commit 'ae095a730d6b3af69dc5eff662c5609cde6f5d70':
  Fix the stdio.fread_EOF test.
2015-01-22 23:41:34 +00:00
Elliott Hughes
b161fe2743 Merge "There's no such thing as LOCAL_CXXFLAGS." 2015-01-22 23:40:08 +00:00
Elliott Hughes
62284dd2cc There's no such thing as LOCAL_CXXFLAGS.
Change-Id: Iad70e6bd4cb7cec9e0ece500a540e4dadc83d92e
2015-01-22 15:36:24 -08:00
Elliott Hughes
ae095a730d Merge "Fix the stdio.fread_EOF test." 2015-01-22 23:35:48 +00:00
Elliott Hughes
0ed7e08cda Fix the stdio.fread_EOF test.
Another sizeof/strlen screwup caused by trying to be too clever. Use
std::string instead.

Also fix all the ASSERT_STREQ calls in this file that had the arguments
the right^Wwrong way round. If I ever see Kent Beck...

Change-Id: I47a1bdfee99cf4e7bed9b398f3158a308fbcf1e8
2015-01-22 15:28:48 -08:00
Elliott Hughes
a0313e04b3 am d5d9221b: Merge "Fix fread_EOF test name."
* commit 'd5d9221b9c96a8213b0a83dde468653d49e76dd8':
  Fix fread_EOF test name.
2015-01-22 22:28:23 +00:00
Elliott Hughes
d5d9221b9c Merge "Fix fread_EOF test name." 2015-01-22 22:24:53 +00:00
Elliott Hughes
bcb378d643 Fix fread_EOF test name.
Change-Id: I53a7f1428fd27c0b2a5c80f2e8af4845d17f5b4b
2015-01-22 14:18:35 -08:00
Dan Albert
d75ff6c9ea am b874754c: am 579fda5f: am d2806754: Merge "Add support for building other architectures."
* commit 'b874754c2b3e46017e6af222e8f0f77d08948968':
  Add support for building other architectures.
2015-01-22 22:16:37 +00:00
Dan Albert
b874754c2b am 579fda5f: am d2806754: Merge "Add support for building other architectures."
* commit '579fda5f0d9db0042cec9741f0cd8a68c57dfaaf':
  Add support for building other architectures.
2015-01-22 22:10:49 +00:00
Dan Albert
579fda5f0d am d2806754: Merge "Add support for building other architectures."
* commit 'd280675405e605d47c74c037b0d2b4f06826ed4d':
  Add support for building other architectures.
2015-01-22 22:04:48 +00:00
Dan Albert
d280675405 Merge "Add support for building other architectures." 2015-01-22 22:00:37 +00:00
Elliott Hughes
08aec8cbd3 am 9455d3b7: am d4517fb3: am 53df4bfc: Merge "Use a more specific return type for app_id_from_name."
* commit '9455d3b7a07628bed4cb36b25f1a6e5af84ce881':
  Use a more specific return type for app_id_from_name.
2015-01-22 20:32:15 +00:00
Elliott Hughes
7647f16284 am f7b64d09: am 69838daa: am d1668a71: Merge "Turn on -Wold-style-cast and fix the errors."
* commit 'f7b64d09002b22fade3ab703cf31c7b140ea9cd1':
  Turn on -Wold-style-cast and fix the errors.
2015-01-22 20:32:15 +00:00
Elliott Hughes
9455d3b7a0 am d4517fb3: am 53df4bfc: Merge "Use a more specific return type for app_id_from_name."
* commit 'd4517fb37ce5d306fa3d6f65e0fcfe949e7fd6fd':
  Use a more specific return type for app_id_from_name.
2015-01-22 20:26:36 +00:00
Elliott Hughes
d4517fb37c am 53df4bfc: Merge "Use a more specific return type for app_id_from_name."
* commit '53df4bfce81d8a6cfd4b5d991f5299f18dc4c958':
  Use a more specific return type for app_id_from_name.
2015-01-22 20:21:30 +00:00
Elliott Hughes
53df4bfce8 Merge "Use a more specific return type for app_id_from_name." 2015-01-22 20:15:04 +00:00
Elliott Hughes
c56af08c21 Use a more specific return type for app_id_from_name.
I suspect we can simplify this code, but I don't know enough about it
to get involved now.

Change-Id: I1c39761ae31beb70d41ffa6f0e396a4f17529d46
2015-01-22 11:02:59 -08:00
Dan Albert
9c3fd59b00 Add a basic NDK compatibility library.
We know we can safely statically link `libm`, since it doesn't have
any dependencies on the OS or the layout of a data type that has
changed between releases (like `pthread_t`).

We can safely statically link `libc_syscalls` because the user can
check for and handle `ENOSYS`.

Update `ndk_missing_symbols.py` to account for symbols that are in the
compatibility library.

Improve `symbols.py` to be able to pull symbols from a static library.

Change-Id: Ifb0ede1e8b4a8f0f33865d9fed72fb8b4d443fbc
2015-01-21 18:12:15 -08:00
Dan Albert
2b6c99b6e2 am 0855e923: am c673a2fe: am 4f11c59b: Merge "Add ndk_missing_symbols.py."
* commit '0855e923f6ff268632a9529caf44ae526953842a':
  Add ndk_missing_symbols.py.
2015-01-22 02:07:36 +00:00
Elliott Hughes
f7b64d0900 am 69838daa: am d1668a71: Merge "Turn on -Wold-style-cast and fix the errors."
* commit '69838daa8764eb4d008df679e961fb510a37687b':
  Turn on -Wold-style-cast and fix the errors.
2015-01-22 02:02:46 +00:00
Elliott Hughes
563fbe2863 am 0edffb85: am a2e5d98b: am 2a8c929a: Merge "Implement __fsetlocking."
* commit '0edffb85fa40987c00dd078111c6218efd5aded7':
  Implement __fsetlocking.
2015-01-22 01:59:21 +00:00
Christopher Ferris
6d37015dfd am 0a45cc25: am 0930323e: am 8476b8ed: Merge "Contact proper debuggerd when crashing."
* commit '0a45cc25566049860f3f38ab174569964af6ac6a':
  Contact proper debuggerd when crashing.
2015-01-22 01:59:21 +00:00
Dan Albert
a91ab8f2c5 am f0de7d6c: am a6e2e070: am fbc70d38: Merge "Report 404 errors from Gerrit and continue."
* commit 'f0de7d6c6973b0c2e268fac4373bfd5765b49dc1':
  Report 404 errors from Gerrit and continue.
2015-01-22 01:59:20 +00:00
Elliott Hughes
69838daa87 am d1668a71: Merge "Turn on -Wold-style-cast and fix the errors."
* commit 'd1668a71df761eb1644496f3e2c77c16fd54bb06':
  Turn on -Wold-style-cast and fix the errors.
2015-01-22 01:55:33 +00:00
Dan Albert
0855e923f6 am c673a2fe: am 4f11c59b: Merge "Add ndk_missing_symbols.py."
* commit 'c673a2fea9246665ff87d619c48e882800a0793d':
  Add ndk_missing_symbols.py.
2015-01-22 01:54:29 +00:00
Elliott Hughes
d1668a71df Merge "Turn on -Wold-style-cast and fix the errors." 2015-01-22 01:52:06 +00:00
Dan Albert
c673a2fea9 am 4f11c59b: Merge "Add ndk_missing_symbols.py."
* commit '4f11c59b3f3acffe6c8e359296a9e38c4b7edfb6':
  Add ndk_missing_symbols.py.
2015-01-22 01:31:42 +00:00
Dan Albert
4f11c59b3f Merge "Add ndk_missing_symbols.py." 2015-01-22 01:25:57 +00:00
Elliott Hughes
8b5df3920f Turn on -Wold-style-cast and fix the errors.
A couple of dodgy cases where we cast away const, but otherwise pretty boring.

Change-Id: Ibc39ebd525377792b5911464be842121c20f03b9
2015-01-21 17:09:58 -08:00
Dan Albert
169eb66451 Add ndk_missing_symbols.py.
ndk_missing_symbols.py pulls libc.so and libm.so off a running device
or emulator and shows the list of symbols that are in the current
bionic that aren't available on the target.

Change-Id: Ia92c315a6a0ce2e5c33db0b62c8fab41c08a4c31
2015-01-21 17:09:50 -08:00
Elliott Hughes
0edffb85fa am a2e5d98b: am 2a8c929a: Merge "Implement __fsetlocking."
* commit 'a2e5d98b641bef4c5611f6aba5defff74abcad93':
  Implement __fsetlocking.
2015-01-22 00:13:10 +00:00
Christopher Ferris
0a45cc2556 am 0930323e: am 8476b8ed: Merge "Contact proper debuggerd when crashing."
* commit '0930323e98e88157b567dab3b1c75618229dd281':
  Contact proper debuggerd when crashing.
2015-01-22 00:13:09 +00:00
Dan Albert
f0de7d6c69 am a6e2e070: am fbc70d38: Merge "Report 404 errors from Gerrit and continue."
* commit 'a6e2e070f2add9869e2160e3c0ca4454cac7bb7b':
  Report 404 errors from Gerrit and continue.
2015-01-22 00:13:08 +00:00
Elliott Hughes
a2e5d98b64 am 2a8c929a: Merge "Implement __fsetlocking."
* commit '2a8c929aaf8d34d2b6e89ed9c8b6da163316143e':
  Implement __fsetlocking.
2015-01-21 22:58:17 +00:00
Christopher Ferris
0930323e98 am 8476b8ed: Merge "Contact proper debuggerd when crashing."
* commit '8476b8ed9e290d79cd00e7801c505268f0e8ec15':
  Contact proper debuggerd when crashing.
2015-01-21 22:58:11 +00:00
Dan Albert
a6e2e070f2 am fbc70d38: Merge "Report 404 errors from Gerrit and continue."
* commit 'fbc70d3899a58e6aff7d3e94803fcdc80629de5a':
  Report 404 errors from Gerrit and continue.
2015-01-21 22:58:07 +00:00
Elliott Hughes
2a8c929aaf Merge "Implement __fsetlocking." 2015-01-21 19:42:44 +00:00
Christopher Ferris
8476b8ed9e Merge "Contact proper debuggerd when crashing." 2015-01-21 18:39:59 +00:00
Elliott Hughes
8c4994bbc1 Implement __fsetlocking.
The old __isthreaded hack was never very useful on Android because all user
code runs in a VM where there are lots of threads running. But __fsetlocking
lets a caller say "I'll worry about the locking for this FILE*", which is
useful for the normal case where you don't share a FILE* between threads
so you don't need any locking.

Bug: 17154740
Bug: 18593728
Change-Id: I2a8dddc29d3edff39a3d7d793387f2253608a68d
2015-01-21 10:33:30 -08:00
Dan Albert
fbc70d3899 Merge "Report 404 errors from Gerrit and continue." 2015-01-21 18:25:40 +00:00
Dan Albert
2b87351063 Report 404 errors from Gerrit and continue.
Currently, we get a 404 from Gerrit in the event that two projects
have the same Change-Id. We should be able to handle this and actually
cherry-pick each change so we can check multi-project changes, but for
now just skip these changes.

Change-Id: I7bc63208998d58beec83b71b302450d9be3ea026
2015-01-21 09:56:28 -08:00
Elliott Hughes
d170e58b7c am eb1ac69d: am 45bdcf89: am f3743584: Merge "Fix signed/unsigned comparison that was upsetting clang."
* commit 'eb1ac69d453c586192f1fff8bb8604f9c54a718e':
  Fix signed/unsigned comparison that was upsetting clang.
2015-01-21 02:25:41 +00:00
Elliott Hughes
74ed6c32cb am e574a70d: am c4f1cfc9: am a779719d: Merge "Add TEMP_FAILURE_RETRY to stdio\'s low-level read/write functions."
* commit 'e574a70d1e3dca32893ded21ae043221a1f9882a':
  Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions.
2015-01-21 02:25:39 +00:00
Elliott Hughes
0514b6be04 am 6428c625: am 7d196768: am 927d8be7: Merge "Fix build error when XLOG is enabled"
* commit '6428c625e8012cbb7a367e900d2a9c31439c6ebf':
  Fix build error when XLOG is enabled
2015-01-21 02:25:38 +00:00
Elliott Hughes
288e599eb8 am 822fe55e: am 06645218: am c053a428: Merge "Optimized fread."
* commit '822fe55ea982326c91df79ef2e8eeed4f8052d3a':
  Optimized fread.
2015-01-21 02:25:37 +00:00
Elliott Hughes
eb1ac69d45 am 45bdcf89: am f3743584: Merge "Fix signed/unsigned comparison that was upsetting clang."
* commit '45bdcf895b7f4cd6b4741fe33bc7a56d40fb220a':
  Fix signed/unsigned comparison that was upsetting clang.
2015-01-21 02:21:59 +00:00
Elliott Hughes
e574a70d1e am c4f1cfc9: am a779719d: Merge "Add TEMP_FAILURE_RETRY to stdio\'s low-level read/write functions."
* commit 'c4f1cfc9fc5ba053525cd155d50fae8b67df0392':
  Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions.
2015-01-21 02:21:58 +00:00
Elliott Hughes
6428c625e8 am 7d196768: am 927d8be7: Merge "Fix build error when XLOG is enabled"
* commit '7d196768029f36b0e3fa57ba747ce58ef2b1c9d6':
  Fix build error when XLOG is enabled
2015-01-21 02:21:57 +00:00
Elliott Hughes
822fe55ea9 am 06645218: am c053a428: Merge "Optimized fread."
* commit '0664521893e88f2cd266306e707a832d9d1f94a2':
  Optimized fread.
2015-01-21 02:21:56 +00:00
Elliott Hughes
45bdcf895b am f3743584: Merge "Fix signed/unsigned comparison that was upsetting clang."
* commit 'f374358414812d3e5a45ba75a2b1926693924420':
  Fix signed/unsigned comparison that was upsetting clang.
2015-01-21 02:11:35 +00:00
Elliott Hughes
c4f1cfc9fc am a779719d: Merge "Add TEMP_FAILURE_RETRY to stdio\'s low-level read/write functions."
* commit 'a779719d628de5e504dac08d334bc576f3b7fb0a':
  Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions.
2015-01-21 02:11:34 +00:00
Elliott Hughes
7d19676802 am 927d8be7: Merge "Fix build error when XLOG is enabled"
* commit '927d8be76d956fcda630e1088e9b89eb31be5146':
  Fix build error when XLOG is enabled
2015-01-21 02:11:33 +00:00
Elliott Hughes
0664521893 am c053a428: Merge "Optimized fread."
* commit 'c053a42831165044cca0bb9eb220b8f5d27fdd18':
  Optimized fread.
2015-01-21 02:11:32 +00:00
Christopher Ferris
151da68100 Contact proper debuggerd when crashing.
Make the request structure match the new structure found in debuggerd
code.

On 64 bit systems, make sure that the 32 bit compiled linker is contacted.

Bug: https://code.google.com/p/android/issues/detail?id=97024
Change-Id: I675b8ff222fcf836b05de4e9b5976ff91ca929bf
2015-01-20 17:22:25 -08:00
Elliott Hughes
f374358414 Merge "Fix signed/unsigned comparison that was upsetting clang." 2015-01-21 00:57:06 +00:00
Elliott Hughes
e69e6458cc Fix signed/unsigned comparison that was upsetting clang.
bionic/libc/stdio/fread.c:86:27: error: comparison of integers of different signs: 'int' and 'size_t' (aka 'unsigned int') [-Werror,-Wsign-compare]

Change-Id: Ia7e1e053e0cb13113e8f2eede820be013acbab82
2015-01-20 16:52:04 -08:00
Elliott Hughes
a779719d62 Merge "Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions." 2015-01-21 00:50:01 +00:00
Elliott Hughes
8885dcc779 Add TEMP_FAILURE_RETRY to stdio's low-level read/write functions.
This is correctness rather than performance, but found while investigating
performance.

Bug: 18593728
Change-Id: Idbdfed89d1931fcfae65db29d662108d4bbd9b65
2015-01-20 16:18:32 -08:00
Elliott Hughes
927d8be76d Merge "Fix build error when XLOG is enabled" 2015-01-21 00:13:28 +00:00
Patrick Tjin
a6a0949b1d Fix build error when XLOG is enabled
(cherrypick of 79a49c9857f3949fc13373eeb179f27b6ecdca81.)

Change-Id: I7bb44fd1fe3ef2ddfc115247f328eccfceeb5352
Signed-off-by: Patrick Tjin <pattjin@google.com>
2015-01-20 16:12:45 -08:00
Elliott Hughes
c053a42831 Merge "Optimized fread." 2015-01-21 00:11:31 +00:00
Patrick Tjin
6aa63a9b8e Merge "Fix build error when XLOG is enabled" 2015-01-21 00:09:27 +00:00
Patrick Tjin
79a49c9857 Fix build error when XLOG is enabled
Change-Id: I7bb44fd1fe3ef2ddfc115247f328eccfceeb5352
Signed-off-by: Patrick Tjin <pattjin@google.com>
2015-01-20 16:04:53 -08:00
Elliott Hughes
75b99387dd Optimized fread.
This makes us competitive with glibc for fully-buffered and unbuffered reads,
except in single-threaded situations where glibc avoids locking, but since
we're never really single-threaded anyway, that isn't a priority.

Bug: 18593728
Change-Id: Ib776bfba422ccf46209581fc0dc54f3567645b8f
2015-01-20 15:59:17 -08:00
Yabin Cui
fc35d1f887 am 0d53dd80: am da307e7d: am d3d75c02: Merge "Remove testcase time printing in bionic-unit-tests."
* commit '0d53dd8081e618ca6891f33dae1045d3cd565010':
  Remove testcase time printing in bionic-unit-tests.
2015-01-20 23:54:42 +00:00
Yabin Cui
0d53dd8081 am da307e7d: am d3d75c02: Merge "Remove testcase time printing in bionic-unit-tests."
* commit 'da307e7d91559f32a15390b1ac48693ffb7def89':
  Remove testcase time printing in bionic-unit-tests.
2015-01-20 23:48:37 +00:00
Yabin Cui
da307e7d91 am d3d75c02: Merge "Remove testcase time printing in bionic-unit-tests."
* commit 'd3d75c029a9b768989d5370000788dca4032b97a':
  Remove testcase time printing in bionic-unit-tests.
2015-01-20 23:43:15 +00:00
Yabin Cui
d3d75c029a Merge "Remove testcase time printing in bionic-unit-tests." 2015-01-20 23:38:35 +00:00
Yabin Cui
eb6212694c am e00eb27c: am 978e54a7: am 1c01c9f7: Merge "Add target libbionic_gtest_main for cts test."
* commit 'e00eb27c651d6de62cb4ee2ece73182f6dff5de5':
  Add target libbionic_gtest_main for cts test.
2015-01-20 23:24:47 +00:00
Yabin Cui
e00eb27c65 am 978e54a7: am 1c01c9f7: Merge "Add target libbionic_gtest_main for cts test."
* commit '978e54a7884211302b230685d73c8e1d9790a0ae':
  Add target libbionic_gtest_main for cts test.
2015-01-20 23:15:21 +00:00
Yabin Cui
978e54a788 am 1c01c9f7: Merge "Add target libbionic_gtest_main for cts test."
* commit '1c01c9f752c07d758349356c18563261b8216da9':
  Add target libbionic_gtest_main for cts test.
2015-01-20 22:51:49 +00:00
Yabin Cui
516eb53113 Remove testcase time printing in bionic-unit-tests.
Bug: 19075565
Change-Id: Icccb60657a2985e96abb1703673f0ebe2199586a
2015-01-20 14:46:03 -08:00
Yabin Cui
1c01c9f752 Merge "Add target libbionic_gtest_main for cts test." 2015-01-20 22:44:02 +00:00
Yabin Cui
6104eb9fa7 Add target libbionic_gtest_main for cts test.
Bug: 17589740
Change-Id: I37f2d3fe72870b9dc867407fa1619c9a6fcd5cbb
2015-01-20 14:32:07 -08:00
Elliott Hughes
66ebd36863 am 717bb49e: am 3873c9df: am 1d7b3f3c: Merge "Improve <stdio_ext.h> testing."
* commit '717bb49ec3d93c1f4ab3782227d4747e758294a6':
  Improve <stdio_ext.h> testing.
2015-01-20 18:41:40 +00:00
Elliott Hughes
717bb49ec3 am 3873c9df: am 1d7b3f3c: Merge "Improve <stdio_ext.h> testing."
* commit '3873c9dfe675e05fdda8ebfc11fdee0ee810b1b3':
  Improve <stdio_ext.h> testing.
2015-01-20 18:34:28 +00:00
Elliott Hughes
3873c9dfe6 am 1d7b3f3c: Merge "Improve <stdio_ext.h> testing."
* commit '1d7b3f3ccc4f2883cbc0fe677dff888c56c18996':
  Improve <stdio_ext.h> testing.
2015-01-20 18:27:47 +00:00
Elliott Hughes
1d7b3f3ccc Merge "Improve <stdio_ext.h> testing." 2015-01-20 18:07:37 +00:00
Elliott Hughes
1b03dc8359 am 4e7078de: am 3ef0c58d: am 3bbf4639: Merge "Add a benchmark for using stdio to read a file in /proc."
* commit '4e7078de2cc4925616fab1ee36eab51fafa571e4':
  Add a benchmark for using stdio to read a file in /proc.
2015-01-17 02:11:11 +00:00
Elliott Hughes
4e7078de2c am 3ef0c58d: am 3bbf4639: Merge "Add a benchmark for using stdio to read a file in /proc."
* commit '3ef0c58db6ed50b6ae0f8560230f0791b9e51415':
  Add a benchmark for using stdio to read a file in /proc.
2015-01-17 02:05:59 +00:00
Elliott Hughes
3ef0c58db6 am 3bbf4639: Merge "Add a benchmark for using stdio to read a file in /proc."
* commit '3bbf4639080bc2f42435b4a7fd400c44aab7fd70':
  Add a benchmark for using stdio to read a file in /proc.
2015-01-17 01:42:16 +00:00
Elliott Hughes
3bbf463908 Merge "Add a benchmark for using stdio to read a file in /proc." 2015-01-17 01:24:44 +00:00
Elliott Hughes
1cf32f83d3 Add a benchmark for using stdio to read a file in /proc.
Change-Id: I12517aae19e36b7c022a11e8807aece61bb0cb9c
2015-01-16 17:08:31 -08:00
Elliott Hughes
df8f1a42d1 Improve <stdio_ext.h> testing.
I almost fixed a non-bug. Add a test to prevent me from doing that.

Change-Id: I4a1dc13e603a7a377bdaee2e78132015087f7107
2015-01-16 16:40:55 -08:00
Elliott Hughes
1be56d6a2a am d3509e4a: am 52e9fe53: am 481cf21e: Merge "Use SI prefixes throughout the benchmark output."
* commit 'd3509e4ad0785fceedc5d3575999b946f0175a5c':
  Use SI prefixes throughout the benchmark output.
2015-01-17 00:38:18 +00:00
Elliott Hughes
d3509e4ad0 am 52e9fe53: am 481cf21e: Merge "Use SI prefixes throughout the benchmark output."
* commit '52e9fe53bb73a399449d2b3ac47d243ce0ba5b3f':
  Use SI prefixes throughout the benchmark output.
2015-01-17 00:31:45 +00:00
Elliott Hughes
52e9fe53bb am 481cf21e: Merge "Use SI prefixes throughout the benchmark output."
* commit '481cf21e08a6cbbc686487744f1cb07b6d3f400e':
  Use SI prefixes throughout the benchmark output.
2015-01-17 00:27:58 +00:00
Elliott Hughes
481cf21e08 Merge "Use SI prefixes throughout the benchmark output." 2015-01-17 00:23:35 +00:00
Yabin Cui
459d8646e1 am 39b71a98: am 58bbe437: am cfe7e75f: Merge "Make sys_resource test more robust."
* commit '39b71a98926a76511d6425c7aefab8997dbb553a':
  Make sys_resource test more robust.
2015-01-16 22:10:34 +00:00
Yabin Cui
39b71a9892 am 58bbe437: am cfe7e75f: Merge "Make sys_resource test more robust."
* commit '58bbe437ac1cf8f74780235a421d844dfe0cc4dc':
  Make sys_resource test more robust.
2015-01-16 22:03:55 +00:00
Yabin Cui
58bbe437ac am cfe7e75f: Merge "Make sys_resource test more robust."
* commit 'cfe7e75fc13afb987d86aaaee305040f3369f797':
  Make sys_resource test more robust.
2015-01-16 21:57:33 +00:00
Yabin Cui
cfe7e75fc1 Merge "Make sys_resource test more robust." 2015-01-16 21:52:11 +00:00
Yabin Cui
4853f40f3f Make sys_resource test more robust.
"ulimit -c xxx" command may run before bionic-unit-tests.
Make sure sys_resource test fails gently in that case.

Change-Id: Ic3b5ed8b20acba56df8c5ef082c88e5050e761aa
2015-01-16 13:28:43 -08:00
Elliott Hughes
8bb020e8e5 Use SI prefixes throughout the benchmark output.
Also switch throughput to GiB/s. I did play with using the new code,
but having consistent units for all results seemed easier to use
anyway (and doesn't require extra code).

Change-Id: I466fd573373bd05619e6f6e6d3dedd7dae0d9362
2015-01-16 13:11:25 -08:00
Elliott Hughes
ead026c23a am 7c385167: am e8d620d5: am ffad8df6: Merge "Use a vector of benchmarks and new for loop syntax."
* commit '7c385167242373859414434ca7d3354a0b88b9c7':
  Use a vector of benchmarks and new for loop syntax.
2015-01-16 06:14:37 +00:00
Elliott Hughes
7c38516724 am e8d620d5: am ffad8df6: Merge "Use a vector of benchmarks and new for loop syntax."
* commit 'e8d620d5a2716cfc16b40c82016ae9d4b84a181c':
  Use a vector of benchmarks and new for loop syntax.
2015-01-16 06:07:41 +00:00
Elliott Hughes
e8d620d5a2 am ffad8df6: Merge "Use a vector of benchmarks and new for loop syntax."
* commit 'ffad8df672363bad43528898cc47aa2ed3d08c66':
  Use a vector of benchmarks and new for loop syntax.
2015-01-16 03:27:04 +00:00
Elliott Hughes
ffad8df672 Merge "Use a vector of benchmarks and new for loop syntax." 2015-01-16 03:22:40 +00:00
Elliott Hughes
e48f533c95 Use a vector of benchmarks and new for loop syntax.
Change-Id: Ib1f1250e7786770083ed6a478677a893b2075a93
2015-01-15 17:10:42 -08:00
Elliott Hughes
ecf096f9b9 am 927875a7: am cb41ce5f: am 594db0f1: Merge "bionic benchmarks: limit benchmark run time to 1s real time"
* commit '927875a7d01ef252539fa742612327f60c9f4fe8':
  bionic benchmarks: limit benchmark run time to 1s real time
2015-01-16 01:00:48 +00:00
Elliott Hughes
f467b74099 am 29bfcf2a: am f1417093: am 3159972a: Merge "bionic benchmarks: export benchmark library"
* commit '29bfcf2a032eb61a3d033b4cf245321a868390dc':
  bionic benchmarks: export benchmark library
2015-01-16 00:56:41 +00:00
Elliott Hughes
927875a7d0 am cb41ce5f: am 594db0f1: Merge "bionic benchmarks: limit benchmark run time to 1s real time"
* commit 'cb41ce5f4e942dce66defb76f25b2e7d61f8ab8d':
  bionic benchmarks: limit benchmark run time to 1s real time
2015-01-16 00:54:14 +00:00
Elliott Hughes
cb41ce5f4e am 594db0f1: Merge "bionic benchmarks: limit benchmark run time to 1s real time"
* commit '594db0f1b235306d2687395564745888348df808':
  bionic benchmarks: limit benchmark run time to 1s real time
2015-01-16 00:48:36 +00:00
Elliott Hughes
29bfcf2a03 am f1417093: am 3159972a: Merge "bionic benchmarks: export benchmark library"
* commit 'f14170937f19710cdedf4bc44f3c3712545648a2':
  bionic benchmarks: export benchmark library
2015-01-16 00:48:32 +00:00
Elliott Hughes
594db0f1b2 Merge "bionic benchmarks: limit benchmark run time to 1s real time" 2015-01-16 00:44:16 +00:00
Elliott Hughes
f14170937f am 3159972a: Merge "bionic benchmarks: export benchmark library"
* commit '3159972a80234f7a8e3903cefaeb7719a50f6279':
  bionic benchmarks: export benchmark library
2015-01-16 00:42:43 +00:00
Colin Cross
a763504f9d bionic benchmarks: limit benchmark run time to 1s real time
The benchmark run loop tries to run until 1s of time has been
accumulated between StartBenchmarkTiming() and StopBenchmarkTiming().
If a majority of the time is spent stopped this can lead to
benchmarks running for very long periods of time.  This can easily
happen when benchmarking something that requires initialization or
cleanup on each iteration.

Modify the loop to run for 1s of real time instead of 1s of
benchmark time.  For existing benchmarks this shouldn't make much
of a difference.

Change-Id: Iaba8a13b4dfc4a5e2cd9992041c9173ea556f9cc
2015-01-15 16:42:20 -08:00
Elliott Hughes
3159972a80 Merge "bionic benchmarks: export benchmark library" 2015-01-16 00:36:20 +00:00
Colin Cross
7b9df19491 bionic benchmarks: export benchmark library
Export libbenchmark for external projects to write benchmarks against.

Change-Id: I3b04a56a62ce517afc0d5e06dc8d28879ada3d30
2015-01-15 16:22:42 -08:00
Yabin Cui
e42c7de3ee am b8679a84: am afb488a3: am 6fac2f68: Merge "Fix possible leak in pthread_detach."
* commit 'b8679a84dfc5f8ed628e7bd4772c72f76240d458':
  Fix possible leak in pthread_detach.
2015-01-15 22:17:47 +00:00
Yabin Cui
0a179a57b6 am 5b143c54: am 4a538412: am deab11ac: Merge "Make bionic-unit-tests default run isolate mode."
* commit '5b143c547bf8a576e656ce7d5bbded0029c45cb2':
  Make bionic-unit-tests default run isolate mode.
2015-01-15 22:17:46 +00:00
Dmitriy Ivanov
0d745c5ba2 am 9a0641a0: am c16eafd5: am fcc6fd35: Merge "Refactoring: move mips reloc to separate method"
* commit '9a0641a0f321dffc5991f883cd8e65df83b5c800':
  Refactoring: move mips reloc to separate method
2015-01-15 22:17:21 +00:00
Yabin Cui
b8679a84df am afb488a3: am 6fac2f68: Merge "Fix possible leak in pthread_detach."
* commit 'afb488a3e91c7ac297b4f91e9985fd10c09d6f81':
  Fix possible leak in pthread_detach.
2015-01-15 19:47:35 +00:00
Yabin Cui
afb488a3e9 am 6fac2f68: Merge "Fix possible leak in pthread_detach."
* commit '6fac2f680f829570122276dc6876f02350a652b1':
  Fix possible leak in pthread_detach.
2015-01-15 19:43:52 +00:00
Yabin Cui
6fac2f680f Merge "Fix possible leak in pthread_detach." 2015-01-15 19:35:38 +00:00
Yabin Cui
5b143c547b am 4a538412: am deab11ac: Merge "Make bionic-unit-tests default run isolate mode."
* commit '4a53841212de2c129ca0769968d8891be97b6cde':
  Make bionic-unit-tests default run isolate mode.
2015-01-15 19:17:06 +00:00
Yabin Cui
4a53841212 am deab11ac: Merge "Make bionic-unit-tests default run isolate mode."
* commit 'deab11acd7000573ad9c034e5bf9475aadbc5cbe':
  Make bionic-unit-tests default run isolate mode.
2015-01-15 19:10:33 +00:00
Yabin Cui
19e246dda6 Fix possible leak in pthread_detach.
If pthread_detach() is called while the thread is in pthread_exit(),
it takes the risk that no one can free the pthread_internal_t.
So I add PTHREAD_ATTR_FLAG_ZOMBIE to detect this, maybe very rare, but
both glibc and netbsd libpthread have similar function.

Change-Id: Iaa15f651903b8ca07aaa7bd4de46ff14a2f93835
2015-01-15 10:45:25 -08:00
Yabin Cui
deab11acd7 Merge "Make bionic-unit-tests default run isolate mode." 2015-01-15 18:10:30 +00:00
Dmitriy Ivanov
9a0641a0f3 am c16eafd5: am fcc6fd35: Merge "Refactoring: move mips reloc to separate method"
* commit 'c16eafd5ff06845606fa24ed83794104c7f995e6':
  Refactoring: move mips reloc to separate method
2015-01-15 18:08:14 +00:00
Dmitriy Ivanov
c16eafd5ff am fcc6fd35: Merge "Refactoring: move mips reloc to separate method"
* commit 'fcc6fd35dfa88e659aa1769d1a1351ad74278763':
  Refactoring: move mips reloc to separate method
2015-01-15 18:01:49 +00:00
Dmitriy Ivanov
fcc6fd35df Merge "Refactoring: move mips reloc to separate method" 2015-01-15 17:56:36 +00:00
Dmitriy Ivanov
53789e7f3c am 59c080ca: am 0f1fe41f: am ffa2c9ed: Merge "Refactoring: unify relocate function"
* commit '59c080ca7935934a8a2db57127945eff10dcea16':
  Refactoring: unify relocate function
2015-01-15 02:27:52 +00:00
Andres Morales
ec4c8e9c87 am 6dcbe942: am 740ac6fe: am 2b15f54a: Merge "bionic: libc: Added path to root ramdisk build properties file."
* commit '6dcbe94239385526c97d1954af92c14f29185950':
  bionic: libc: Added path to root ramdisk build properties file.
2015-01-15 02:27:39 +00:00
Yabin Cui
80b0935a57 am 49810c36: am d12ea31b: am 85747809: Merge "Test that ip6-localhost exists in etc/hosts."
* commit '49810c36960e2821b056be450b7ac007e0257c19':
  Test that ip6-localhost exists in etc/hosts.
2015-01-15 02:27:25 +00:00
Dmitriy Ivanov
37aa5a5aee am 5ae47f4d: am 47a32828: am a23569c9: Merge "Refactoring: use generic reloc constants"
* commit '5ae47f4d815d9ef41fa1391706bac37ab0efddf7':
  Refactoring: use generic reloc constants
2015-01-15 02:27:24 +00:00
Elliott Hughes
b7fce775eb am 7d640183: am 5bff8a23: am d986f2e4: Merge "Sync with upstream OpenBSD stdio."
* commit '7d640183f2ab6ec46cad73becc7fd259e8a48bdb':
  Sync with upstream OpenBSD stdio.
2015-01-15 02:27:23 +00:00
Dmitriy Ivanov
114ff69f17 Refactoring: move mips reloc to separate method
Change-Id: I712614853e3f0e515f5c2bdd8f0aaa5feeae8e55
2015-01-14 18:03:19 -08:00
Dimitry Ivanov
c3a7cae009 am 0e8bf252: am a0f25379: am b13f5f50: Merge "Revert "Refactoring: use generic reloc constants""
* commit '0e8bf252f4d783b6f104b5df8d51deab648f0064':
  Revert "Refactoring: use generic reloc constants"
2015-01-14 21:14:04 +00:00
Dmitriy Ivanov
1f432f9f6b am 83d6a494: am b6c4f646: am 684a861b: Merge "Refactoring: use generic reloc constants"
* commit '83d6a49403b81fb71372994273ae65e711038d0b':
  Refactoring: use generic reloc constants
2015-01-14 21:14:03 +00:00
Dmitriy Ivanov
59c080ca79 am 0f1fe41f: am ffa2c9ed: Merge "Refactoring: unify relocate function"
* commit '0f1fe41f536abd17a9f20b813b57ae2e3ace13cb':
  Refactoring: unify relocate function
2015-01-14 18:26:59 +00:00
Dmitriy Ivanov
0f1fe41f53 am ffa2c9ed: Merge "Refactoring: unify relocate function"
* commit 'ffa2c9edb5b1cf295bceffc7876a68747b6fa259':
  Refactoring: unify relocate function
2015-01-14 18:19:37 +00:00
Dmitriy Ivanov
ffa2c9edb5 Merge "Refactoring: unify relocate function" 2015-01-14 18:14:30 +00:00
Andres Morales
6dcbe94239 am 740ac6fe: am 2b15f54a: Merge "bionic: libc: Added path to root ramdisk build properties file."
* commit '740ac6fe7358ac73643189bbe1b7a5e7c76142f3':
  bionic: libc: Added path to root ramdisk build properties file.
2015-01-14 16:05:28 +00:00
Andres Morales
740ac6fe73 am 2b15f54a: Merge "bionic: libc: Added path to root ramdisk build properties file."
* commit '2b15f54a489d84d9a273025b615cdb63f63d5fc9':
  bionic: libc: Added path to root ramdisk build properties file.
2015-01-14 15:59:03 +00:00
Andres Morales
2b15f54a48 Merge "bionic: libc: Added path to root ramdisk build properties file." 2015-01-14 15:54:04 +00:00
Yabin Cui
49810c3696 am d12ea31b: am 85747809: Merge "Test that ip6-localhost exists in etc/hosts."
* commit 'd12ea31b8dd050c5567425c121de3356b8e07e93':
  Test that ip6-localhost exists in etc/hosts.
2015-01-14 12:07:32 +00:00
Dmitriy Ivanov
5ae47f4d81 am 47a32828: am a23569c9: Merge "Refactoring: use generic reloc constants"
* commit '47a32828c2e2825ab0e81970f40514fc411bd45d':
  Refactoring: use generic reloc constants
2015-01-14 12:07:25 +00:00
Elliott Hughes
7d640183f2 am 5bff8a23: am d986f2e4: Merge "Sync with upstream OpenBSD stdio."
* commit '5bff8a23379ea4034d3112ad5725e91e4b801d5a':
  Sync with upstream OpenBSD stdio.
2015-01-14 12:07:23 +00:00
Yabin Cui
d12ea31b8d am 85747809: Merge "Test that ip6-localhost exists in etc/hosts."
* commit '85747809b05a5e3b48bd4da9a7ea98d0adf8f919':
  Test that ip6-localhost exists in etc/hosts.
2015-01-14 12:00:21 +00:00
Dmitriy Ivanov
47a32828c2 am a23569c9: Merge "Refactoring: use generic reloc constants"
* commit 'a23569c9485d50e9184dcc7d97640140015b3f3d':
  Refactoring: use generic reloc constants
2015-01-14 12:00:19 +00:00
Elliott Hughes
5bff8a2337 am d986f2e4: Merge "Sync with upstream OpenBSD stdio."
* commit 'd986f2e4642a0571754cb1349101acf8ac10b484':
  Sync with upstream OpenBSD stdio.
2015-01-14 12:00:18 +00:00
Dmitriy Ivanov
bcc04d0069 Refactoring: unify relocate function
Use one relocate for all platforms.

Change-Id: I43e75162c5b29105e651defc11a511e168368736
2015-01-13 19:15:02 -08:00
Andres Morales
9d9ebc5fc9 bionic: libc: Added path to root ramdisk build properties file.
Change-Id: Id850e4e5ef4e91cea7ad53f6858886daf660eeec
2015-01-13 18:07:23 -08:00
Yabin Cui
85747809b0 Merge "Test that ip6-localhost exists in etc/hosts." 2015-01-14 01:50:20 +00:00
Dmitriy Ivanov
a23569c948 Merge "Refactoring: use generic reloc constants" 2015-01-14 01:35:39 +00:00
Yabin Cui
a35cd8cdc2 Test that ip6-localhost exists in etc/hosts.
Addition change: make netdb_test pass on host.

Bug: 18791191
Change-Id: I7a9e29aa559ff6557288b47323d8a436379201a2
2015-01-13 17:30:51 -08:00
Elliott Hughes
d986f2e464 Merge "Sync with upstream OpenBSD stdio." 2015-01-14 01:27:37 +00:00
Elliott Hughes
01abeacded Sync with upstream OpenBSD stdio.
Mainly to get the __atexit_register_cleanup removals we suggested.

Change-Id: I58d40b8c5b8401bfb6bfffe8f3430ac0718af917
2015-01-13 17:19:21 -08:00
Dmitriy Ivanov
1b694693b4 Refactoring: use generic reloc constants
Change-Id: I94dd6256b1b4509b6ea696a3aff17a3991529468
2015-01-13 15:56:54 -08:00
Dimitry Ivanov
0e8bf252f4 am a0f25379: am b13f5f50: Merge "Revert "Refactoring: use generic reloc constants""
* commit 'a0f253791cce7050515056786a575a61409e9c2e':
  Revert "Refactoring: use generic reloc constants"
2015-01-13 23:26:13 +00:00
Dmitriy Ivanov
83d6a49403 am b6c4f646: am 684a861b: Merge "Refactoring: use generic reloc constants"
* commit 'b6c4f646c9dea20ec783e2e6562e17d5b95632df':
  Refactoring: use generic reloc constants
2015-01-13 23:26:12 +00:00
Dimitry Ivanov
a0f253791c am b13f5f50: Merge "Revert "Refactoring: use generic reloc constants""
* commit 'b13f5f5029d5fab190a4480ea3caa623328c5415':
  Revert "Refactoring: use generic reloc constants"
2015-01-13 23:20:28 +00:00
Dmitriy Ivanov
b6c4f646c9 am 684a861b: Merge "Refactoring: use generic reloc constants"
* commit '684a861bab72b8ec27b41f221982d434b40dcbfe':
  Refactoring: use generic reloc constants
2015-01-13 23:20:27 +00:00
Dimitry Ivanov
b13f5f5029 Merge "Revert "Refactoring: use generic reloc constants"" 2015-01-13 22:32:49 +00:00
Dimitry Ivanov
d338aac19c Revert "Refactoring: use generic reloc constants"
This reverts commit 265a60a0d285a733d9d98f53672bce668803b434.

Change-Id: I6d46db0ac03cda44ed1e20f6084a552e0089eb14
2015-01-13 22:31:54 +00:00
Dmitriy Ivanov
684a861bab Merge "Refactoring: use generic reloc constants" 2015-01-13 22:21:05 +00:00
Dan Albert
e4e8644234 am e659cef5: am 19598a2f: am 5a388898: Merge "Check the committer rather than the Gerrit owner."
* commit 'e659cef5a769a9fa204f1e1f61cb2201b0eb131a':
  Check the committer rather than the Gerrit owner.
2015-01-13 20:32:47 +00:00
Dan Albert
24329863ca am a66b68c2: am d5ff09c2: am 8d50e16a: Merge "Guard against @google.com.example.com."
* commit 'a66b68c22bd301bd1f64e68dd634daa905997a86':
  Guard against @google.com.example.com.
2015-01-13 20:31:56 +00:00
Dan Albert
661f53a6b0 am 905ffc2b: am a38662b4: am 780ea474: Merge "Oops. Fix dict key."
* commit '905ffc2b38796e57dca0f9f53a863fdd5a51de76':
  Oops. Fix dict key.
2015-01-13 20:31:11 +00:00
Dan Albert
64de0e75ad am a88a19f2: am cc1a8935: am 0d0188b0: Merge "Only build changes that come from @google.com."
* commit 'a88a19f2b415f62d7e8b565ebfc75d2bf633ddd0':
  Only build changes that come from @google.com.
2015-01-13 20:31:10 +00:00
Dmitriy Ivanov
265a60a0d2 Refactoring: use generic reloc constants
Change-Id: I67918a1a926164a38a5a47f2264390632eb42905
2015-01-13 12:17:31 -08:00
Dan Albert
e659cef5a7 am 19598a2f: am 5a388898: Merge "Check the committer rather than the Gerrit owner."
* commit '19598a2f548bd545a41741f5b0964b74afb2f4ff':
  Check the committer rather than the Gerrit owner.
2015-01-13 01:27:19 +00:00
Dan Albert
19598a2f54 am 5a388898: Merge "Check the committer rather than the Gerrit owner."
* commit '5a388898cfa9befb7626dfcd9940713ce942cadd':
  Check the committer rather than the Gerrit owner.
2015-01-13 01:05:43 +00:00
Dan Albert
5a388898cf Merge "Check the committer rather than the Gerrit owner." 2015-01-13 00:58:31 +00:00
Dan Albert
b4060330aa Check the committer rather than the Gerrit owner.
Guarding based on the Gerrit owner can be circumvented by an arbitrary
user uploading a different patch with a Change-Id that is non-unique,
with the other copy being owned by a Googler.

Change-Id: I5414b679e361d4c38d70bf9c4516c122f668fc49
2015-01-12 16:33:17 -08:00
Dan Albert
a66b68c22b am d5ff09c2: am 8d50e16a: Merge "Guard against @google.com.example.com."
* commit 'd5ff09c23a954d20b0dc21750dc5c0a666c0ce56':
  Guard against @google.com.example.com.
2015-01-12 21:59:18 +00:00
Dan Albert
d5ff09c23a am 8d50e16a: Merge "Guard against @google.com.example.com."
* commit '8d50e16aa96291612c95f89b49ecfacf556241a6':
  Guard against @google.com.example.com.
2015-01-12 21:52:52 +00:00
Dan Albert
8d50e16aa9 Merge "Guard against @google.com.example.com." 2015-01-12 21:49:05 +00:00
Dan Albert
ad248b7c00 Guard against @google.com.example.com.
Begin adding some unit tests. Testing the Jenkins interface will
probably be difficult, but testing that we can properly handle
messages from Gerrit is easy enough.

Change-Id: Id7e8e175e0f064fd10715febe40040a65564c701
2015-01-12 13:48:46 -08:00
Dan Albert
905ffc2b38 am a38662b4: am 780ea474: Merge "Oops. Fix dict key."
* commit 'a38662b4423a2277f15305de69df91fa995afac0':
  Oops. Fix dict key.
2015-01-12 20:10:04 +00:00
Dan Albert
a38662b442 am 780ea474: Merge "Oops. Fix dict key."
* commit '780ea47482854e1b58931bea928bf93bcaf6e3aa':
  Oops. Fix dict key.
2015-01-12 20:04:11 +00:00
Dan Albert
a88a19f2b4 am cc1a8935: am 0d0188b0: Merge "Only build changes that come from @google.com."
* commit 'cc1a8935c53295c87429d7120f25bfb6352e9071':
  Only build changes that come from @google.com.
2015-01-12 20:01:00 +00:00
Dan Albert
780ea47482 Merge "Oops. Fix dict key." 2015-01-12 19:59:29 +00:00
Dan Albert
f988da4730 Oops. Fix dict key.
Change-Id: Ia8295417d4097f38eef633089cb4539b849f3c74
2015-01-12 11:58:09 -08:00
Dan Albert
cc1a8935c5 am 0d0188b0: Merge "Only build changes that come from @google.com."
* commit '0d0188b0c7e017e431c83b2f7e4956137430b6d9':
  Only build changes that come from @google.com.
2015-01-12 19:55:19 +00:00
Dan Albert
0d0188b0c7 Merge "Only build changes that come from @google.com." 2015-01-12 19:51:39 +00:00
Dan Albert
29be129342 Only build changes that come from @google.com.
Googlers should be able to tell the buildbot to launch builds for an
external contributor's change, but Gerrit is determined to make this
hard for us. The email sent by Gerrit for comments doesn't actually
contain the email address of the commenter in any clear way, only the
name. It does however contain a list of `Gerrit-Reviewer: Name
<email>` entries that could be used for this though.

Change-Id: Iee61f06dcd8f0024f16b535ea9a34765bf01b2e7
2015-01-12 11:48:04 -08:00
Dan Albert
f82df6af9f am 535c3471: am 61a6a940: am d7f935a0: Merge "Make indentation match the style guide."
* commit '535c34716097f9c73d045c182f8be6b8301e5305':
  Make indentation match the style guide.
2015-01-10 15:57:02 +00:00
Yabin Cui
d7929d3eaa am 5631f47e: am 1217d9a3: am c80eb091: Merge "Clean up paths.h."
* commit '5631f47eb694d15aaddd4087eb61184f32c00356':
  Clean up paths.h.
2015-01-10 15:56:58 +00:00
Dan Albert
535c347160 am 61a6a940: am d7f935a0: Merge "Make indentation match the style guide."
* commit '61a6a940ce93ad503905f21a2e7a2c89208832d8':
  Make indentation match the style guide.
2015-01-10 06:55:19 +00:00
Dan Albert
61a6a940ce am d7f935a0: Merge "Make indentation match the style guide."
* commit 'd7f935a05b25d003a721565ba64a015b3a341fbe':
  Make indentation match the style guide.
2015-01-10 06:49:29 +00:00
Dan Albert
64390f940c Add support for building other architectures.
Since we often make changes that might break on other architectures,
let the buildbot deal with some of these for us. They can be invoked
by `bionicbb:ARCH`, where `ARCH` is one of:

 * arm
 * aarch64
 * mips
 * mips64
 * x86
 * x86_64

Specifying arm isn't particularly interesting (since the default
target for the buildbot is hammerhead), but there are some differences
in the math instructions available for the default ARM target, so it
could be helpful for testing changes to the compiler-rt builtins.

Change-Id: I94018fd3c30d26fcf405e747fc633cbdd08ff4e5
2015-01-09 22:45:33 -08:00
Dan Albert
d7f935a05b Merge "Make indentation match the style guide." 2015-01-10 06:45:20 +00:00
Yabin Cui
5631f47eb6 am 1217d9a3: am c80eb091: Merge "Clean up paths.h."
* commit '1217d9a3d13222f16978282d4488588bfe420233':
  Clean up paths.h.
2015-01-10 05:29:04 +00:00
Yabin Cui
1217d9a3d1 am c80eb091: Merge "Clean up paths.h."
* commit 'c80eb091a4c090d1162959e08921f8989b3dc355':
  Clean up paths.h.
2015-01-10 05:24:53 +00:00
Yabin Cui
c80eb091a4 Merge "Clean up paths.h." 2015-01-10 05:17:29 +00:00
Yabin Cui
3471fcbb6a Clean up paths.h.
Bug: 18905946
Change-Id: I02cd1ddd5c0b0af165685413bc1fb12ca6bf5f33
2015-01-09 20:04:04 -08:00
Dan Albert
0b0ac9c1b4 am 7d327dce: am da89944a: am 7e3766a8: Merge "Use relative imports."
* commit '7d327dcefbc2af21e5360f7b5e4b3bd04f3a7fce':
  Use relative imports.
2015-01-10 02:02:39 +00:00
Dan Albert
7d327dcefb am da89944a: am 7e3766a8: Merge "Use relative imports."
* commit 'da89944a7d7049b0f3554a78208bd2676d6d6529':
  Use relative imports.
2015-01-10 01:58:41 +00:00
Dan Albert
c02df47f20 Make indentation match the style guide.
Apparently Google abandoned the 2 space indent for Python long ago.
Helps to actually read the style guide before trying to adhere to it.

Change-Id: I4feb019f0916f9d8e4f78c0dbeafbe45d8a46bfd
2015-01-09 17:22:00 -08:00
Dan Albert
da89944a7d am 7e3766a8: Merge "Use relative imports."
* commit '7e3766a8fcc534d92a6f7416fcbbdc092756e415':
  Use relative imports.
2015-01-10 01:02:45 +00:00
Dan Albert
c3a715bac7 am 43bbf5d0: am d8075224: am 2f8f6db5: Merge "Add JSON files and oauth storage to .gitignore."
* commit '43bbf5d0b44dd64043449bbd65731cd2f4f838cc':
  Add JSON files and oauth storage to .gitignore.
2015-01-10 00:59:20 +00:00
Dan Albert
b5a90f004b am 0e168aee: am 4b90d41e: am c8fec746: Merge "Make service URLs configurable."
* commit '0e168aee6ccbff45c6af5d2ac194cfd09858e05c':
  Make service URLs configurable.
2015-01-10 00:59:19 +00:00
Dan Albert
7e3766a8fc Merge "Use relative imports." 2015-01-10 00:58:13 +00:00
Dan Albert
43bbf5d0b4 am d8075224: am 2f8f6db5: Merge "Add JSON files and oauth storage to .gitignore."
* commit 'd807522467deb32ee54d3bbc361919164dca07d6':
  Add JSON files and oauth storage to .gitignore.
2015-01-10 00:54:07 +00:00
Dan Albert
0e168aee6c am 4b90d41e: am c8fec746: Merge "Make service URLs configurable."
* commit '4b90d41e18288254fdfd83b3b640b4a83f0dd4bd':
  Make service URLs configurable.
2015-01-10 00:54:02 +00:00
Dan Albert
8a15a4e5c4 Use relative imports.
Making `bionicbb` its own package required `PYTHONPATH=..`, which we
don't want. Just use a relative import instead.

Change-Id: I59b9852522118ece89829288a4921902e756e4aa
2015-01-09 16:53:09 -08:00
Dan Albert
d807522467 am 2f8f6db5: Merge "Add JSON files and oauth storage to .gitignore."
* commit '2f8f6db5e4730a9f52be7415236f5ea55623d789':
  Add JSON files and oauth storage to .gitignore.
2015-01-10 00:48:03 +00:00
Dan Albert
4b90d41e18 am c8fec746: Merge "Make service URLs configurable."
* commit 'c8fec746b692812d549167514c4d0d30b09162e6':
  Make service URLs configurable.
2015-01-10 00:48:02 +00:00
Dan Albert
2f8f6db5e4 Merge "Add JSON files and oauth storage to .gitignore." 2015-01-10 00:43:08 +00:00
Dan Albert
c8fec746b6 Merge "Make service URLs configurable." 2015-01-10 00:43:04 +00:00
Dan Albert
eb85ff0aba Add JSON files and oauth storage to .gitignore.
The only JSON file is the client secret file, which we really don't
want leaking. Same goes for the oauth storage file.

Change-Id: Ie860704574ec37ccfc50ff7c9d59717a7b9b443b
2015-01-09 16:24:17 -08:00
Dan Albert
691e809edb Make service URLs configurable.
Change-Id: I91df77b7e0294be5e6180460b0ef26d7ead2ea7d
2015-01-09 16:18:48 -08:00
Dmitriy Ivanov
21db822906 am dde3d83a: am 2e44e464: am 9c4783b1: Merge changes I713800ce,I1dea46c3
* commit 'dde3d83a6f7b8d4c876e53ca111f7a36424866f3':
  Refactor soinfo::relocate
  Add ARM_IRELATIVE relocation
2015-01-10 00:01:27 +00:00
Dmitriy Ivanov
dde3d83a6f am 2e44e464: am 9c4783b1: Merge changes I713800ce,I1dea46c3
* commit '2e44e4649a5ebf00e7ab1bc5ff32f6bd79845347':
  Refactor soinfo::relocate
  Add ARM_IRELATIVE relocation
2015-01-09 23:55:42 +00:00
Dmitriy Ivanov
2e44e4649a am 9c4783b1: Merge changes I713800ce,I1dea46c3
* commit '9c4783b18c75f02be7bfb6756101ee31a05aba01':
  Refactor soinfo::relocate
  Add ARM_IRELATIVE relocation
2015-01-09 23:49:49 +00:00
Dan Albert
26768ab636 am 5dc75719: am bbd668f9: am 84cbe049: Merge "Markdown-ify 5137db3."
* commit '5dc7571967fd0bc0f226a92557fd9eca5513424f':
  Markdown-ify 5137db3.
2015-01-09 23:49:03 +00:00
Dmitriy Ivanov
9c4783b18c Merge changes I713800ce,I1dea46c3
* changes:
  Refactor soinfo::relocate
  Add ARM_IRELATIVE relocation
2015-01-09 23:44:50 +00:00
Dan Albert
5dc7571967 am bbd668f9: am 84cbe049: Merge "Markdown-ify 5137db3."
* commit 'bbd668f9be148dfcfb1c9ee1490b8ca1c1362ebb':
  Markdown-ify 5137db3.
2015-01-09 23:42:30 +00:00
Dan Albert
bbd668f9be am 84cbe049: Merge "Markdown-ify 5137db3."
* commit '84cbe0491857471d3e4208f0d9cc184adb43914b':
  Markdown-ify 5137db3.
2015-01-09 23:37:06 +00:00
Dan Albert
84cbe04918 Merge "Markdown-ify 5137db3." 2015-01-09 23:32:27 +00:00
Dan Albert
81387484b5 am e052971b: am 60272219: am 11b3fa54: Merge "Check in bionicbb code."
* commit 'e052971b9747a594f13baeedf64d77ecbc8bfa1e':
  Check in bionicbb code.
2015-01-09 23:31:24 +00:00
Dan Albert
79b9830b1d Markdown-ify 5137db3.
Most of these are just aesthetic, but the `_FILE_OFFSET_BITS` probably
would have rendered partly as italics and skipped some underscores.

GitHub's Markdown also doesn't identify our bug URLs as links, so mark
them explicitly.

Change-Id: I62be7542aa43929d847de2bad7d8d1ed3aaa640c
2015-01-09 15:29:46 -08:00
Dan Albert
e052971b97 am 60272219: am 11b3fa54: Merge "Check in bionicbb code."
* commit '6027221967aed3a5cd60b54ae207483739d51a38':
  Check in bionicbb code.
2015-01-09 23:27:53 +00:00
Dan Albert
6027221967 am 11b3fa54: Merge "Check in bionicbb code."
* commit '11b3fa5432951950b3fc9aadfe56139969300cad':
  Check in bionicbb code.
2015-01-09 23:22:50 +00:00
Dan Albert
11b3fa5432 Merge "Check in bionicbb code." 2015-01-09 23:17:49 +00:00
Dan Albert
7c78d24011 Check in bionicbb code.
These have been sitting around in a git repo on my machine for a
while. They're now big an important enough that I'd like to both keep
them securely backed up, and also have my changes reviewed.

Change-Id: Ic4545149b4b07f0d57b21cac32aab8553dceb567
2015-01-09 15:12:48 -08:00
Dmitriy Ivanov
cefef7dab6 Refactor soinfo::relocate
Move common relocation types outside of ifdefs

Change-Id: I713800ce123a18178b5ac80c0b3c7bd6b21a02c2
2015-01-09 14:57:53 -08:00
Elliott Hughes
2ca1a33c59 am bb819d30: am a36a4076: am 5137db34: Merge "Add our LP32 ABI defects to the readme."
* commit 'bb819d30d392f77c23155efff7b17a947dddc069':
  Add our LP32 ABI defects to the readme.
2015-01-09 22:12:03 +00:00
Elliott Hughes
bb819d30d3 am a36a4076: am 5137db34: Merge "Add our LP32 ABI defects to the readme."
* commit 'a36a407675c30b40e67f393be8e0dbfad1f81676':
  Add our LP32 ABI defects to the readme.
2015-01-09 22:06:01 +00:00
Elliott Hughes
a36a407675 am 5137db34: Merge "Add our LP32 ABI defects to the readme."
* commit '5137db34a2c4d0de258849753cca2b44968b0a10':
  Add our LP32 ABI defects to the readme.
2015-01-09 22:01:08 +00:00
Elliott Hughes
5137db34a2 Merge "Add our LP32 ABI defects to the readme." 2015-01-09 21:54:08 +00:00
Chih-hung Hsieh
97b0bfc5c0 am 950fd097: am 9e0d50f0: am 10805009: Merge "Revert "Must use Clang assembler for mips target.""
* commit '950fd09771a385855e6f6947db6b9498871dec98':
  Revert "Must use Clang assembler for mips target."
2015-01-09 20:22:54 +00:00
Elliott Hughes
0b1de06910 Add our LP32 ABI defects to the readme.
Change-Id: Id77a3dbf6b91243c57528ed86ca24100d8795907
2015-01-09 12:21:24 -08:00
Chih-hung Hsieh
950fd09771 am 9e0d50f0: am 10805009: Merge "Revert "Must use Clang assembler for mips target.""
* commit '9e0d50f04406a7b2923d501bdd213b7fcec24d2a':
  Revert "Must use Clang assembler for mips target."
2015-01-09 20:15:32 +00:00
Chih-hung Hsieh
9e0d50f044 am 10805009: Merge "Revert "Must use Clang assembler for mips target.""
* commit '10805009e8003629fe08c5a2a8b8905773526f2d':
  Revert "Must use Clang assembler for mips target."
2015-01-09 20:10:00 +00:00
Chih-hung Hsieh
10805009e8 Merge "Revert "Must use Clang assembler for mips target."" 2015-01-09 20:05:16 +00:00
Dmitriy Ivanov
7102658709 am 9ab5808b: am da8b89a1: am edf87617: Merge "Remove outdated list of abi bugs"
* commit '9ab5808b606fcbbaa3b6fddae002b17e3bf71207':
  Remove outdated list of abi bugs
2015-01-09 18:46:06 +00:00
Dmitriy Ivanov
9ab5808b60 am da8b89a1: am edf87617: Merge "Remove outdated list of abi bugs"
* commit 'da8b89a1f0d8195a65c7352028a12c4d219658fe':
  Remove outdated list of abi bugs
2015-01-09 18:41:52 +00:00
Dmitriy Ivanov
da8b89a1f0 am edf87617: Merge "Remove outdated list of abi bugs"
* commit 'edf87617e3355cf06cbf7eb5dd2a0119422c38fa':
  Remove outdated list of abi bugs
2015-01-09 18:36:32 +00:00
Dmitriy Ivanov
edf87617e3 Merge "Remove outdated list of abi bugs" 2015-01-09 18:32:39 +00:00
Duane Sand
6f40a8ac74 Revert "Must use Clang assembler for mips target."
This reverts commit 6f96d58c0de191ac479d0fa83c3b9a514f4d3c48.
2015-01-09 10:24:11 -08:00
Dmitriy Ivanov
a137f53980 Add ARM_IRELATIVE relocation
Bug: 17399706
Change-Id: I1dea46c3a3c4572558e718283489c323794176c7
2015-01-08 22:22:27 -08:00
Yabin Cui
be837360c3 Make bionic-unit-tests default run isolate mode.
Fix bug of handling signal terminated tests.

Bug: 17589740
Bug: 18951146
Change-Id: I4803382b26cd5454693090202b3ba38e3dbe66e5
2015-01-08 20:34:58 -08:00
Elliott Hughes
3db10f76a1 am 857e1124: am e6594658: am 8623dc75: Merge "Fix freeaddrinfo(NULL)."
* commit '857e1124433a4946bc38f427d390ef39a2f083b1':
  Fix freeaddrinfo(NULL).
2015-01-09 03:04:43 +00:00
Elliott Hughes
857e112443 am e6594658: am 8623dc75: Merge "Fix freeaddrinfo(NULL)."
* commit 'e6594658f7d36172007a2573e345d6ae0d0ac58a':
  Fix freeaddrinfo(NULL).
2015-01-09 02:58:56 +00:00
Elliott Hughes
e6594658f7 am 8623dc75: Merge "Fix freeaddrinfo(NULL)."
* commit '8623dc75479f88e7ccdec708b5c7ca0abeb285d1':
  Fix freeaddrinfo(NULL).
2015-01-09 02:53:54 +00:00
Elliott Hughes
8623dc7547 Merge "Fix freeaddrinfo(NULL)." 2015-01-09 02:48:29 +00:00
Elliott Hughes
c62a4b5a7a Fix freeaddrinfo(NULL).
Bug: https://code.google.com/p/android/issues/detail?id=13228
Change-Id: I5e3b126d90d750a93ac0b8872198e50ba047e603
2015-01-08 17:28:46 -08:00
Yabin Cui
690510b561 am f4af806b: am 1ecafe3f: am 4c47fc4e: Merge "Make pthread stack size match real range."
* commit 'f4af806bb769498d8170748c27876822e1842369':
  Make pthread stack size match real range.
2015-01-08 23:12:53 +00:00
Yabin Cui
f4af806bb7 am 1ecafe3f: am 4c47fc4e: Merge "Make pthread stack size match real range."
* commit '1ecafe3feff42e9c7a171e6c865ae4a5df4f6284':
  Make pthread stack size match real range.
2015-01-08 23:07:22 +00:00
Yabin Cui
1ecafe3fef am 4c47fc4e: Merge "Make pthread stack size match real range."
* commit '4c47fc4ed39dff497d4c56ba864b3a3f659250f4':
  Make pthread stack size match real range.
2015-01-08 23:00:46 +00:00
Yabin Cui
4c47fc4ed3 Merge "Make pthread stack size match real range." 2015-01-08 22:57:27 +00:00
Yabin Cui
917d390510 Make pthread stack size match real range.
Bug: 18908062
Change-Id: I7037ac8273ebe54dd19b1561c7a376819049124c
2015-01-08 14:27:24 -08:00
Dmitriy Ivanov
7c561427fd am 6dd9bd18: am 1e17b491: am b5e508cf: Merge "Set linux 32bit personality for 32 bit processes"
* commit '6dd9bd1887a1cd5152011545a3ebecf4701829b2':
  Set linux 32bit personality for 32 bit processes
2015-01-08 01:03:16 +00:00
Dmitriy Ivanov
6dd9bd1887 am 1e17b491: am b5e508cf: Merge "Set linux 32bit personality for 32 bit processes"
* commit '1e17b4914f33fce506a91003536f8a4fc52380e2':
  Set linux 32bit personality for 32 bit processes
2015-01-08 00:56:47 +00:00
Dmitriy Ivanov
1e17b4914f am b5e508cf: Merge "Set linux 32bit personality for 32 bit processes"
* commit 'b5e508cfee2355bad0502587e4fce8f4173584d6':
  Set linux 32bit personality for 32 bit processes
2015-01-08 00:50:49 +00:00
Dmitriy Ivanov
b5e508cfee Merge "Set linux 32bit personality for 32 bit processes" 2015-01-08 00:46:49 +00:00
Dmitriy Ivanov
bfa15e464e Set linux 32bit personality for 32 bit processes
Bug: 18069809
Change-Id: Ie143d56b0f8f03510dc451649291067e1add1d2f
2015-01-07 16:32:05 -08:00
Dmitriy Ivanov
f7caf17795 am 7c16f565: am 880aed0b: am 1d548dc9: Merge "Print error when prelink fails for main executable"
* commit '7c16f56566b1bc54d144eda32d112ebb9cb4be17':
  Print error when prelink fails for main executable
2015-01-08 00:27:05 +00:00
Dmitriy Ivanov
7c16f56566 am 880aed0b: am 1d548dc9: Merge "Print error when prelink fails for main executable"
* commit '880aed0b4defd7e30afcf29d4bcdf0bdd7a0bc64':
  Print error when prelink fails for main executable
2015-01-08 00:21:33 +00:00
Dmitriy Ivanov
880aed0b4d am 1d548dc9: Merge "Print error when prelink fails for main executable"
* commit '1d548dc95c87fcfa686f81c021269e4193e1ee2f':
  Print error when prelink fails for main executable
2015-01-08 00:15:10 +00:00
Dmitriy Ivanov
1d548dc95c Merge "Print error when prelink fails for main executable" 2015-01-08 00:08:35 +00:00
Dmitriy Ivanov
6718125ac7 Print error when prelink fails for main executable
Bug: 18931021
Change-Id: Ib6c39a409161b20a10c3485272c73bc2abd4ee4f
(cherry picked from commit d9e211ca1fcf8bb78a1e1de9e54fe7c8d0a01518)
2015-01-07 15:49:40 -08:00
Dmitriy Ivanov
0fc38d468d am 382f4adb: resolved conflicts for merge of d9e211ca to lmp-mr1-dev-plus-aosp
* commit '382f4adbb7c92361c932ba779ed61703b74a0a44':
  Print error when prelink fails for main executable
2015-01-07 23:26:24 +00:00
Dmitriy Ivanov
382f4adbb7 resolved conflicts for merge of d9e211ca to lmp-mr1-dev-plus-aosp
Change-Id: I242b448583401c77ccf01f4f2436d63ef18c4e68
2015-01-07 15:21:21 -08:00
Dmitriy Ivanov
1b8f467c02 Remove outdated list of abi bugs
Change-Id: I275093a7a66b53ec25317e02c4bff46c2facc030
2015-01-07 14:14:34 -08:00
Dmitriy Ivanov
d9e211ca1f Print error when prelink fails for main executable
Bug: 18931021
Change-Id: Ieefdcf60f1506af522714300030754a4ed61c08e
2015-01-07 11:23:34 -08:00
Elliott Hughes
d7f0b5d53d am de97a518: am 6ed76e8c: am ac8f2810: Merge "_Unwind_Context is a struct."
* commit 'de97a518d7468e8e2ab7bd68292494b7a510b8dc':
  _Unwind_Context is a struct.
2015-01-07 03:19:19 +00:00
Elliott Hughes
de97a518d7 am 6ed76e8c: am ac8f2810: Merge "_Unwind_Context is a struct."
* commit '6ed76e8c7d551ae8cf11de57a787169538370369':
  _Unwind_Context is a struct.
2015-01-07 03:15:06 +00:00
Elliott Hughes
6ed76e8c7d am ac8f2810: Merge "_Unwind_Context is a struct."
* commit 'ac8f2810297cd6c104aad38686627fcc13591347':
  _Unwind_Context is a struct.
2015-01-07 03:08:37 +00:00
Elliott Hughes
ac8f281029 Merge "_Unwind_Context is a struct." 2015-01-07 02:59:26 +00:00
Elliott Hughes
30e59c4c69 _Unwind_Context is a struct.
Change-Id: Iff2c52dc630eb83b931a78fdebc4494d69462db7
2015-01-06 18:48:24 -08:00
Yabin Cui
a6ba7cc8df am 023b5d1a: am 8e8daba1: am 8004f735: Merge "Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK."
* commit '023b5d1aa5e116db831f8f1bd688cfd9172b5ab8':
  Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK.
2015-01-07 02:15:11 +00:00
Yabin Cui
023b5d1aa5 am 8e8daba1: am 8004f735: Merge "Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK."
* commit '8e8daba18540fc7d5d11b6fb1d85234049086f29':
  Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK.
2015-01-07 02:10:36 +00:00
Yabin Cui
8e8daba185 am 8004f735: Merge "Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK."
* commit '8004f735f1bad7255268392e2c7ac648f0702e5e':
  Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK.
2015-01-07 01:59:07 +00:00
Yabin Cui
8004f735f1 Merge "Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK." 2015-01-07 01:28:40 +00:00
Yabin Cui
ba8dfc2669 Remove PTHREAD_ATTR_FLAG_USER_ALLOCATED_STACK.
Patch for https://android-review.googlesource.com/#/c/120844/.

Change-Id: Idca5ccd7b28e8f07f1d2d1b6e3bba6781b62f0e0
2015-01-06 17:11:23 -08:00
Elliott Hughes
ac1b553cc0 am d27ff239: am 9d8b7d1a: am d3de1dde: Merge "[MIPS64] Add correct mcontext_t for 64-bit MIPS"
* commit 'd27ff239dbc2e6e792e438b385c5414f34ed3065':
  [MIPS64] Add correct mcontext_t for 64-bit MIPS
2015-01-06 19:57:02 +00:00
Elliott Hughes
d27ff239db am 9d8b7d1a: am d3de1dde: Merge "[MIPS64] Add correct mcontext_t for 64-bit MIPS"
* commit '9d8b7d1ac495b2cda848fd6a06088e5654b74ed6':
  [MIPS64] Add correct mcontext_t for 64-bit MIPS
2015-01-06 18:17:42 +00:00
Elliott Hughes
9d8b7d1ac4 am d3de1dde: Merge "[MIPS64] Add correct mcontext_t for 64-bit MIPS"
* commit 'd3de1ddef1427708581af4df02943486783f980d':
  [MIPS64] Add correct mcontext_t for 64-bit MIPS
2015-01-06 17:47:45 +00:00
Elliott Hughes
d3de1ddef1 Merge "[MIPS64] Add correct mcontext_t for 64-bit MIPS" 2015-01-06 17:43:25 +00:00
Faraz Shahbazker
e247e1c89e [MIPS64] Add correct mcontext_t for 64-bit MIPS
Change-Id: I76d503860d0e1d937b6913bf2c1c6ebb531617da
2015-01-06 07:58:02 -08:00
Yabin Cui
f2a0e9923a am 001208e6: am 5e1bc9f7: am 597800f1: Merge "better gtest runner for bionic"
* commit '001208e6ae5c18d02324ef57361aa25739c98edd':
  better gtest runner for bionic
2015-01-02 22:53:48 +00:00
Yabin Cui
4b99b0d310 am 473a0db7: am 745b236d: am 541b0b18: Merge "Reserve enough user request stack space in pthread_create."
* commit '473a0db7db022dbb47eb040759b16ce466dc1c38':
  Reserve enough user request stack space in pthread_create.
2015-01-02 22:53:46 +00:00
Yabin Cui
001208e6ae am 5e1bc9f7: am 597800f1: Merge "better gtest runner for bionic"
* commit '5e1bc9f7b8fde582ed08dd20c0bfb2779df9953c':
  better gtest runner for bionic
2015-01-02 22:48:07 +00:00
Yabin Cui
473a0db7db am 745b236d: am 541b0b18: Merge "Reserve enough user request stack space in pthread_create."
* commit '745b236dc3bc935c1fb581c7f93c3464f2bb8216':
  Reserve enough user request stack space in pthread_create.
2015-01-02 22:48:06 +00:00
Yabin Cui
5e1bc9f7b8 am 597800f1: Merge "better gtest runner for bionic"
* commit '597800f1d71590fc9ad51ce5227280586b2ceda5':
  better gtest runner for bionic
2015-01-02 22:41:45 +00:00
Yabin Cui
745b236dc3 am 541b0b18: Merge "Reserve enough user request stack space in pthread_create."
* commit '541b0b187dd91684efdcebf72c8830e976ca04a6':
  Reserve enough user request stack space in pthread_create.
2015-01-02 22:41:44 +00:00
Yabin Cui
597800f1d7 Merge "better gtest runner for bionic" 2015-01-02 22:38:41 +00:00
Yabin Cui
541b0b187d Merge "Reserve enough user request stack space in pthread_create." 2015-01-02 22:37:56 +00:00
Yabin Cui
6a7aaf4675 Reserve enough user request stack space in pthread_create.
Bug: 18830897
Change-Id: I1ba4aaeaf66a7ff99c5d82ad45469011171b0a3b
2015-01-02 14:33:48 -08:00
Elliott Hughes
6a1f21685f am db4fe340: am 46987a94: am 9b6164ca: Merge "Remove bogus transitive includes."
* commit 'db4fe340501a09699c9883f765abc58b2e9d0f13':
  Remove bogus transitive includes.
2014-12-30 12:27:29 +00:00
Elliott Hughes
db4fe34050 am 46987a94: am 9b6164ca: Merge "Remove bogus transitive includes."
* commit '46987a9490cfe8409ea73e94f36e7f0bb69e43de':
  Remove bogus transitive includes.
2014-12-30 12:21:08 +00:00
Elliott Hughes
46987a9490 am 9b6164ca: Merge "Remove bogus transitive includes."
* commit '9b6164ca8d7b2c5e7fced1cbbda6c353e6e21e54':
  Remove bogus transitive includes.
2014-12-30 12:16:06 +00:00
Elliott Hughes
9b6164ca8d Merge "Remove bogus transitive includes." 2014-12-29 21:52:04 +00:00
Elliott Hughes
40360b379c Remove bogus transitive includes.
<signal.h> shouldn't get you the contents of <errno.h>, and <fcntl.h>
shouldn't get you the contents of <unistd.h>.

Change-Id: I347499cd8671bfee98e6b8e875a97cab3a3655d3
2014-12-29 13:29:50 -08:00
Elliott Hughes
b6c73f8276 am 84715cbc: am 52a2df5f: am 0a552407: Merge "Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>."
* commit '84715cbccba4d443ff7efb0a7a8969f37e704fe0':
  Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>.
2014-12-29 19:56:37 +00:00
Elliott Hughes
84715cbccb am 52a2df5f: am 0a552407: Merge "Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>."
* commit '52a2df5f2ad445042b31ffef01d6a0fbf18d9a1a':
  Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>.
2014-12-29 19:51:40 +00:00
Elliott Hughes
52a2df5f2a am 0a552407: Merge "Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>."
* commit '0a552407ada6fc718be016df0902f6c23aa88eea':
  Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>.
2014-12-29 19:45:21 +00:00
Elliott Hughes
0a552407ad Merge "Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>." 2014-12-29 19:40:45 +00:00
Elliott Hughes
64d8382394 Ensure <fcntl.h> defines the S_* constants from <sys/stat.h>.
POSIX says "The <fcntl.h> header shall define the symbolic constants for file
modes for use as values of mode_t as described in <sys/stat.h>".

Needed to build ToT strace.

Change-Id: Ia85a51ef6fd86a48084fe48ce24963000a937d37
2014-12-29 11:14:38 -08:00
Elliott Hughes
811363b88e am 82e66a3d: am cc107443: am 50e15a2e: Merge "Remove more BSD cruft from the public headers."
* commit '82e66a3d9d104197c2699a41729cdf8961b44348':
  Remove more BSD cruft from the public headers.
2014-12-23 20:26:32 +00:00
Elliott Hughes
82e66a3d9d am cc107443: am 50e15a2e: Merge "Remove more BSD cruft from the public headers."
* commit 'cc1074431e46333671875345d4bb26b65fe96dd7':
  Remove more BSD cruft from the public headers.
2014-12-23 20:21:15 +00:00
Elliott Hughes
cc1074431e am 50e15a2e: Merge "Remove more BSD cruft from the public headers."
* commit '50e15a2ec7189eb3279cbf546679ccac4a138e90':
  Remove more BSD cruft from the public headers.
2014-12-23 20:17:38 +00:00
Elliott Hughes
50e15a2ec7 Merge "Remove more BSD cruft from the public headers." 2014-12-23 20:14:52 +00:00
Elliott Hughes
ddbbff5725 am 77707a3d: am d029db10: am ba09edcb: Merge "Fix nan output in the printf family."
* commit '77707a3d4f957ddc8e714b4df56eb2d6f48cd4d1':
  Fix nan output in the printf family.
2014-12-21 15:02:19 +00:00
Elliott Hughes
77707a3d4f am d029db10: am ba09edcb: Merge "Fix nan output in the printf family."
* commit 'd029db10526c2091acfe940d7d008019a309c47c':
  Fix nan output in the printf family.
2014-12-21 06:30:39 +00:00
Elliott Hughes
d029db1052 am ba09edcb: Merge "Fix nan output in the printf family."
* commit 'ba09edcb41799e037780b92ddcbe6bd08bac5996':
  Fix nan output in the printf family.
2014-12-21 05:59:46 +00:00
Elliott Hughes
ba09edcb41 Merge "Fix nan output in the printf family." 2014-12-21 02:54:06 +00:00
Elliott Hughes
1b18aff9ba Fix nan output in the printf family.
Bug: https://code.google.com/p/android/issues/detail?id=82452
Change-Id: I51f226c8b033de6e81baeea5e6db3de6ed196f73
2014-12-20 18:53:08 -08:00
Yabin Cui
8f05d451e3 am 598f8666: am e4d3161a: am 4c30fedf: Merge "Move gethtnamaddr.c to net/ subdirectory."
* commit '598f86661d242f60c9a885fee7c90d9a692488ad':
  Move gethtnamaddr.c to net/ subdirectory.
2014-12-20 03:32:02 +00:00
Elliott Hughes
998f2d5a50 Remove more BSD cruft from the public headers.
Change-Id: I1e3097f745b526db448bf72fbc05fb2ba23929a0
2014-12-19 19:30:11 -08:00
Yabin Cui
598f86661d am e4d3161a: am 4c30fedf: Merge "Move gethtnamaddr.c to net/ subdirectory."
* commit 'e4d3161a84c0373d35f43f981559212a9ae44397':
  Move gethtnamaddr.c to net/ subdirectory.
2014-12-20 03:26:19 +00:00
Yabin Cui
e4d3161a84 am 4c30fedf: Merge "Move gethtnamaddr.c to net/ subdirectory."
* commit '4c30fedfd3c78333596b31aa675d8cbd23e60487':
  Move gethtnamaddr.c to net/ subdirectory.
2014-12-20 03:20:51 +00:00
Yabin Cui
4c30fedfd3 Merge "Move gethtnamaddr.c to net/ subdirectory." 2014-12-20 03:16:05 +00:00
Yabin Cui
a2177c6ccb Move gethtnamaddr.c to net/ subdirectory.
It may be the better place to stay.

Change-Id: I517cc2769f63e1873191768c4732907c14f2c60e
2014-12-19 17:29:04 -08:00
Yabin Cui
dbfbc63935 am 66870e1b: am a62755ad: am 7e202e4e: Merge "Remove t->tls==NULL check in pthread_key_delete."
* commit '66870e1be53f3e5f46ef1c005dc882e5ddf9dd07':
  Remove t->tls==NULL check in pthread_key_delete.
2014-12-20 00:57:17 +00:00
Yabin Cui
66870e1be5 am a62755ad: am 7e202e4e: Merge "Remove t->tls==NULL check in pthread_key_delete."
* commit 'a62755adba509a7cb295d1bc5f9d3447e3943c6a':
  Remove t->tls==NULL check in pthread_key_delete.
2014-12-20 00:51:30 +00:00
Yabin Cui
a62755adba am 7e202e4e: Merge "Remove t->tls==NULL check in pthread_key_delete."
* commit '7e202e4eb150158e505859b506e4aa3706a14497':
  Remove t->tls==NULL check in pthread_key_delete.
2014-12-20 00:48:38 +00:00
Yabin Cui
7e202e4eb1 Merge "Remove t->tls==NULL check in pthread_key_delete." 2014-12-20 00:44:41 +00:00
Yabin Cui
246bcb10b6 Remove t->tls==NULL check in pthread_key_delete.
Change-Id: I6c0c71d30fe9d5b888752a4204abd95d5149bb96
2014-12-19 16:31:03 -08:00
Yabin Cui
0fc2bd930d am a15bd72c: am da2317ed: am cdc7ad11: Merge "Use mmap to create the pthread_internal_t"
* commit 'a15bd72cf0e6b721b6cffc5652ded636dde6b7e7':
  Use mmap to create the pthread_internal_t
2014-12-20 00:25:27 +00:00
Yabin Cui
a15bd72cf0 am da2317ed: am cdc7ad11: Merge "Use mmap to create the pthread_internal_t"
* commit 'da2317edb36acdaa6a7bc49cef8deba2a42bfb15':
  Use mmap to create the pthread_internal_t
2014-12-20 00:19:25 +00:00
Yabin Cui
da2317edb3 am cdc7ad11: Merge "Use mmap to create the pthread_internal_t"
* commit 'cdc7ad11e931ed9fc329b96e880f22e24be1c267':
  Use mmap to create the pthread_internal_t
2014-12-20 00:15:30 +00:00
Yabin Cui
cdc7ad11e9 Merge "Use mmap to create the pthread_internal_t" 2014-12-20 00:10:38 +00:00
Yabin Cui
8cf1b30567 Use mmap to create the pthread_internal_t
Add name to mmaped regions.
Add pthread benchmark code.
Allocate pthread_internal_t on regular stack.

Bug: 16847284
Change-Id: Id60835163bb0d68092241f1a118015b5a8f85069
2014-12-19 16:05:29 -08:00
Yabin Cui
bf31e358b6 am b695cb47: am be327941: am e28a1864: Merge "Support gethostbyname_r_ERANGE."
* commit 'b695cb47c36f63d63ca6c29e7a922e32c16aa416':
  Support gethostbyname_r_ERANGE.
2014-12-19 23:08:37 +00:00
Yabin Cui
b695cb47c3 am be327941: am e28a1864: Merge "Support gethostbyname_r_ERANGE."
* commit 'be32794141e95ea5d65626bbf29be95b9d974d54':
  Support gethostbyname_r_ERANGE.
2014-12-19 23:02:51 +00:00
Yabin Cui
be32794141 am e28a1864: Merge "Support gethostbyname_r_ERANGE."
* commit 'e28a1864916373f4c520f2a8be1c1c7ea97424cf':
  Support gethostbyname_r_ERANGE.
2014-12-19 22:57:22 +00:00
Yabin Cui
e28a186491 Merge "Support gethostbyname_r_ERANGE." 2014-12-19 22:53:26 +00:00
Yabin Cui
7069256495 Support gethostbyname_r_ERANGE.
Bug: 18802601
Change-Id: Iaa64921e96f91e330f1845c5399ee8aba39d9c10
2014-12-19 14:11:29 -08:00
Dimitry Ivanov
f95b314222 am 7544631e: am c692d3e5: am db314648: Merge "Add support for DT_MIPS_RLD_MAP2 tag."
* commit '7544631ef6c2b0ae22ba38ac44eba28d16439ee5':
  Add support for DT_MIPS_RLD_MAP2 tag.
2014-12-19 21:33:00 +00:00
Dimitry Ivanov
7544631ef6 am c692d3e5: am db314648: Merge "Add support for DT_MIPS_RLD_MAP2 tag."
* commit 'c692d3e50a3af788e9294769fca33e29eb91b139':
  Add support for DT_MIPS_RLD_MAP2 tag.
2014-12-19 21:26:04 +00:00
Dimitry Ivanov
c692d3e50a am db314648: Merge "Add support for DT_MIPS_RLD_MAP2 tag."
* commit 'db3146489eecf2757cab9c3a7a0abb561f2addc8':
  Add support for DT_MIPS_RLD_MAP2 tag.
2014-12-19 21:21:05 +00:00
Dimitry Ivanov
db3146489e Merge "Add support for DT_MIPS_RLD_MAP2 tag." 2014-12-19 21:15:02 +00:00
Raghu Gandham
688157295f Add support for DT_MIPS_RLD_MAP2 tag.
Position Independent Executables cannot communicate with GDB using DT_MIPS_RLD_TAG.
Hence a new tag DT_MIPS_RLD_MAP2 got introduced to fix the issue.

Change-Id: I77ce3faf1ef2e121003b804ecd291abb25cfbb56
Signed-off-by: Nikola Veljkovic<Nikola.Veljkovic@imgtec.com>
2014-12-19 11:13:11 -08:00
Chih-Hung Hsieh
8257c26e1f am 31a38647: am 70acee19: am 65e69856: Merge "Must use Clang assembler for mips target."
* commit '31a38647d0f9f28bbd959c393a9bd87c7f15584d':
  Must use Clang assembler for mips target.
2014-12-19 03:58:00 +00:00
Elliott Hughes
3ae5bb6f9c am a5359bb1: am c400e072: am 7eb9b6c5: Merge "Update bionic NOTICE files."
* commit 'a5359bb11a895fb1aae2b59cba4744c34ec6d9b5':
  Update bionic NOTICE files.
2014-12-19 03:57:59 +00:00
Chih-Hung Hsieh
31a38647d0 am 70acee19: am 65e69856: Merge "Must use Clang assembler for mips target."
* commit '70acee197411102b58dfa261f75a8b359595c907':
  Must use Clang assembler for mips target.
2014-12-19 03:52:16 +00:00
Elliott Hughes
a5359bb11a am c400e072: am 7eb9b6c5: Merge "Update bionic NOTICE files."
* commit 'c400e072db8dca8710298bf138c86e30c7b47991':
  Update bionic NOTICE files.
2014-12-19 03:52:15 +00:00
Chih-Hung Hsieh
70acee1974 am 65e69856: Merge "Must use Clang assembler for mips target."
* commit '65e6985617d035ef45da86f8c8bcceea7bc47239':
  Must use Clang assembler for mips target.
2014-12-19 03:35:25 +00:00
Elliott Hughes
c400e072db am 7eb9b6c5: Merge "Update bionic NOTICE files."
* commit '7eb9b6c537c32280571fead8676634c3dfc6388e':
  Update bionic NOTICE files.
2014-12-19 03:35:24 +00:00
Chih-Hung Hsieh
65e6985617 Merge "Must use Clang assembler for mips target." 2014-12-19 01:27:23 +00:00
Chih-Hung Hsieh
6f96d58c0d Must use Clang assembler for mips target.
GNU assembler has internal error with clang's output.

BUG: 18807290
Change-Id: Iabbe991720fc562884f19d79bded903505fc891d
2014-12-18 17:10:56 -08:00
Elliott Hughes
7eb9b6c537 Merge "Update bionic NOTICE files." 2014-12-19 01:10:37 +00:00
Elliott Hughes
6b2b5856d9 Update bionic NOTICE files.
Change-Id: Ic280872ef3137febd9d4a87d5c7662e264692071
2014-12-18 16:27:30 -08:00
Elliott Hughes
eb4d915cc6 am 649386ae: am a5193f2f: am c631bb21: Merge "Fix the types of some of the struct stat fields."
* commit '649386ae1a54357cca00bc13cc6d8b345e1a0cbb':
  Fix the types of some of the struct stat fields.
2014-12-19 00:08:17 +00:00
Elliott Hughes
571d09d73e am 3801189b: am 7cff30c7: am b7f0693a: Merge "Remove bogus #include <endian.h> from <sys/stat.h>."
* commit '3801189b586eb3538d9ef42863ecdfb17e78009c':
  Remove bogus #include <endian.h> from <sys/stat.h>.
2014-12-19 00:08:08 +00:00
Elliott Hughes
de6472eac1 am 53544f5a: am 7d4d2297: am 8597c2b3: Merge "Split the shared group data from the shared passwd data."
* commit '53544f5af679828fd3c27225bfbd2adaee87d846':
  Split the shared group data from the shared passwd data.
2014-12-19 00:08:06 +00:00
Elliott Hughes
0a0865a954 am 28bba7b4: am e14086a8: am a9c940a6: Merge "Fix struct stat member types for x86-64."
* commit '28bba7b488200093db5ec8831605c07bf75b88c5':
  Fix struct stat member types for x86-64.
2014-12-19 00:08:05 +00:00
Elliott Hughes
649386ae1a am a5193f2f: am c631bb21: Merge "Fix the types of some of the struct stat fields."
* commit 'a5193f2ffe39ff88f27ffb34a6967e023cb3daee':
  Fix the types of some of the struct stat fields.
2014-12-18 23:45:30 +00:00
Elliott Hughes
a5193f2ffe am c631bb21: Merge "Fix the types of some of the struct stat fields."
* commit 'c631bb215e29981222f19c092ded49c7c1f15845':
  Fix the types of some of the struct stat fields.
2014-12-18 23:42:02 +00:00
Elliott Hughes
c631bb215e Merge "Fix the types of some of the struct stat fields." 2014-12-18 23:38:26 +00:00
Elliott Hughes
3801189b58 am 7cff30c7: am b7f0693a: Merge "Remove bogus #include <endian.h> from <sys/stat.h>."
* commit '7cff30c7c67454e5b0f97c0dcc6261c73ae664c8':
  Remove bogus #include <endian.h> from <sys/stat.h>.
2014-12-18 23:35:21 +00:00
Elliott Hughes
53544f5af6 am 7d4d2297: am 8597c2b3: Merge "Split the shared group data from the shared passwd data."
* commit '7d4d2297856106f132283c4e501b7210fc7b0bd8':
  Split the shared group data from the shared passwd data.
2014-12-18 23:35:20 +00:00
Elliott Hughes
28bba7b488 am e14086a8: am a9c940a6: Merge "Fix struct stat member types for x86-64."
* commit 'e14086a8fc137c9900ad895556710385fc423e10':
  Fix struct stat member types for x86-64.
2014-12-18 23:35:18 +00:00
Elliott Hughes
7cff30c7c6 am b7f0693a: Merge "Remove bogus #include <endian.h> from <sys/stat.h>."
* commit 'b7f0693aaac9907070443ee6e47fe1d594b42251':
  Remove bogus #include <endian.h> from <sys/stat.h>.
2014-12-18 23:27:47 +00:00
Elliott Hughes
b7f0693aaa Merge "Remove bogus #include <endian.h> from <sys/stat.h>." 2014-12-18 23:24:26 +00:00
Dan Albert
54ea1ed18a am 6aed1a13: am ec3601cd: am 9dd5ab46: Merge "Disable ASAN for more of our libraries."
* commit '6aed1a1358a3395e10913ca2b008db823b8f1987':
  Disable ASAN for more of our libraries.
2014-12-18 23:21:02 +00:00
Yabin Cui
3c902c64a4 am 858e2390: am 9a734138: am 370a3e57: Merge "Sync with upstream for gethnamaddr.c."
* commit '858e239094ba014ec36bee7bab43da29525bbe3a':
  Sync with upstream for gethnamaddr.c.
2014-12-18 23:21:01 +00:00
Elliott Hughes
9257c477ae Fix the types of some of the struct stat fields.
Bug: 17062519
Change-Id: I5207867939f3c2876bf6448e565fa4364aa7e4f0
2014-12-18 15:17:42 -08:00
Elliott Hughes
7d4d229785 am 8597c2b3: Merge "Split the shared group data from the shared passwd data."
* commit '8597c2b3f2ac3df9abe30378cdd3ecd559d995e7':
  Split the shared group data from the shared passwd data.
2014-12-18 23:15:40 +00:00
Elliott Hughes
8597c2b3f2 Merge "Split the shared group data from the shared passwd data." 2014-12-18 23:12:45 +00:00
Elliott Hughes
0c92e8c3d1 Remove bogus #include <endian.h> from <sys/stat.h>.
Bug: 17062519
Change-Id: I3dc21ee8b90580f112c73c72aff5d3bec4778026
2014-12-18 15:10:19 -08:00
Elliott Hughes
e14086a8fc am a9c940a6: Merge "Fix struct stat member types for x86-64."
* commit 'a9c940a69a5ad01a92620594d41e462c5d46186e':
  Fix struct stat member types for x86-64.
2014-12-18 23:10:03 +00:00
Elliott Hughes
a9c940a69a Merge "Fix struct stat member types for x86-64." 2014-12-18 23:05:20 +00:00
Elliott Hughes
1c52e6c926 Fix struct stat member types for x86-64.
Bug: 17062519
Change-Id: I93b1e8b1d4b6918ab7c3a985e2f7da277077375e
2014-12-18 15:03:33 -08:00
Elliott Hughes
7874f1d718 Split the shared group data from the shared passwd data.
Found by the toybox id(1) which calls both getpwuid(3) and getgrgid(3) before
looking at either result. The use of a shared buffer in this code meant that
even on a single thread, the data for any of the passwd functions would be
clobbered by the data for any of the group functions (or vice versa).

This might seem like an insufficient fix, but POSIX explicitly says (for
getpwnam) that the result "might be overwritten by a subsequent call to
getpwent(), getpwnam(), or getpwuid()" and likewise for other members of
that group, plus equivalent text for the group-related functions.

Change-Id: I2272f47e91f72e043fdaf7c169fa9f6978ff4370
2014-12-18 15:01:10 -08:00
Dan Albert
6aed1a1358 am ec3601cd: am 9dd5ab46: Merge "Disable ASAN for more of our libraries."
* commit 'ec3601cdf4730e5ec1559079486bbb4f9a43e042':
  Disable ASAN for more of our libraries.
2014-12-18 21:50:34 +00:00
Yabin Cui
858e239094 am 9a734138: am 370a3e57: Merge "Sync with upstream for gethnamaddr.c."
* commit '9a734138138fcde0a2f0935e86246b9d7ff0ccb1':
  Sync with upstream for gethnamaddr.c.
2014-12-18 21:49:52 +00:00
Dan Albert
ec3601cdf4 am 9dd5ab46: Merge "Disable ASAN for more of our libraries."
* commit '9dd5ab46194a3ef7992b0c08d18f2e30551f9331':
  Disable ASAN for more of our libraries.
2014-12-18 16:10:45 +00:00
Dan Albert
9dd5ab4619 Merge "Disable ASAN for more of our libraries." 2014-12-18 16:07:15 +00:00
Dan Albert
da194780b1 Disable ASAN for more of our libraries.
Since ASAN depends on these libraries, we need to exclude them from
being instrumented.

Change-Id: I62005b6d04ee7b2283c4bd54ace5304386c67358
2014-12-18 08:03:49 -08:00
Yabin Cui
9a73413813 am 370a3e57: Merge "Sync with upstream for gethnamaddr.c."
* commit '370a3e573d1cdff6070c77322d4a07bd53e5db3c':
  Sync with upstream for gethnamaddr.c.
2014-12-18 01:11:56 +00:00
Yabin Cui
370a3e573d Merge "Sync with upstream for gethnamaddr.c." 2014-12-18 01:06:10 +00:00
Yabin Cui
58d33a51f3 Sync with upstream for gethnamaddr.c.
Bug: 18566967
Change-Id: I37e7410226b49eec67614e20b2c1d5e3e47817a5
2014-12-17 16:19:27 -08:00
Dmitriy Ivanov
437fa965af am c24329c7: am 4c344aff: am 92b9cb2c: Merge "Add another test for weak-reference"
* commit 'c24329c710a9ce0d9d9ee3b3d2f6a16b32fabc6a':
  Add another test for weak-reference
2014-12-16 22:16:12 +00:00
Dmitriy Ivanov
c24329c710 am 4c344aff: am 92b9cb2c: Merge "Add another test for weak-reference"
* commit '4c344affba81b630241fd4e012e90fe594a7b196':
  Add another test for weak-reference
2014-12-16 22:10:00 +00:00
Dmitriy Ivanov
4c344affba am 92b9cb2c: Merge "Add another test for weak-reference"
* commit '92b9cb2c899c386954b8f9ad8111aa6c8c63e306':
  Add another test for weak-reference
2014-12-16 22:06:05 +00:00
Dmitriy Ivanov
92b9cb2c89 Merge "Add another test for weak-reference" 2014-12-16 22:01:47 +00:00
Elliott Hughes
1b8e7b6cf8 am 50b6dc34: am 48bc703a: am 3a50b65f: Merge "Fix <net/route.h>."
* commit '50b6dc34f196fd7216a7395a4f82dedf68f2bac2':
  Fix <net/route.h>.
2014-12-16 21:49:25 +00:00
Elliott Hughes
50b6dc34f1 am 48bc703a: am 3a50b65f: Merge "Fix <net/route.h>."
* commit '48bc703a3c30512f06f65f2660ed9d2841b0acce':
  Fix <net/route.h>.
2014-12-16 20:35:01 +00:00
Dmitriy Ivanov
bfa88bca5c Add another test for weak-reference
This one covers undefined weak reference in .so
  referenced via JUMP_SLOT relocation.

Bug: 17526061
Change-Id: Ib8764bd30c1f686c4818ebbc6683cf42dee908b2
2014-12-16 19:46:45 +00:00
Elliott Hughes
48bc703a3c am 3a50b65f: Merge "Fix <net/route.h>."
* commit '3a50b65fd152b4a50dc15ec33f19080e8724b02c':
  Fix <net/route.h>.
2014-12-16 16:58:33 +00:00
Elliott Hughes
3a50b65fd1 Merge "Fix <net/route.h>." 2014-12-16 16:53:25 +00:00
Elliott Hughes
badd7e1a58 Fix <net/route.h>.
Previously it couldn't be included alone. Also add a header and include guard,
and fix its siblings' include guards.

Bug: https://code.google.com/p/android/issues/detail?id=82638
Change-Id: I32139a4bda0a6b015508a2319bf4e1a1453345f2
2014-12-15 18:47:14 -08:00
Elliott Hughes
2e507db0e2 am 63978dec: am 7de05306: am 16ea2790: Merge "Move the generic arm memcmp.S into the generic directory."
* commit '63978deca9582e98576d7b12601e5e6dd163a0bb':
  Move the generic arm memcmp.S into the generic directory.
2014-12-15 22:22:18 +00:00
Elliott Hughes
30fcb99ecd am c45b108d: am a2bfb531: am ad01c983: Merge "Remove arm assembler not referenced from any makefile."
* commit 'c45b108deb70f02902cb3309ea0b287ee99d5095':
  Remove arm assembler not referenced from any makefile.
2014-12-15 22:04:09 +00:00
Elliott Hughes
63978deca9 am 7de05306: am 16ea2790: Merge "Move the generic arm memcmp.S into the generic directory."
* commit '7de05306c6f3b3077b025d5dd3eade2f125535d5':
  Move the generic arm memcmp.S into the generic directory.
2014-12-15 21:32:11 +00:00
Elliott Hughes
7de05306c6 am 16ea2790: Merge "Move the generic arm memcmp.S into the generic directory."
* commit '16ea2790a84b1e65dc1e485c3ec494de787cc490':
  Move the generic arm memcmp.S into the generic directory.
2014-12-15 19:38:34 +00:00
Elliott Hughes
16ea2790a8 Merge "Move the generic arm memcmp.S into the generic directory." 2014-12-15 19:32:42 +00:00
Elliott Hughes
c45b108deb am a2bfb531: am ad01c983: Merge "Remove arm assembler not referenced from any makefile."
* commit 'a2bfb53107a7b770e9ad93287be5745271067786':
  Remove arm assembler not referenced from any makefile.
2014-12-15 19:27:20 +00:00
Elliott Hughes
a2bfb53107 am ad01c983: Merge "Remove arm assembler not referenced from any makefile."
* commit 'ad01c9831918ecae815db2406022ef69e74f6e6d':
  Remove arm assembler not referenced from any makefile.
2014-12-15 19:20:50 +00:00
Elliott Hughes
1ef6ec40e1 Move the generic arm memcmp.S into the generic directory.
Change-Id: I48e4d14a0dcddbb246edbac6d0329619574ab44d
2014-12-15 11:06:34 -08:00
Yabin Cui
e247fd38f8 am bb3579f8: am 96cd50f2: am 0e32e39d: Merge "Fix pthread key num calculation."
* commit 'bb3579f8787fb6cafe5e6373c91e78556f100dfc':
  Fix pthread key num calculation.
2014-12-15 18:46:49 +00:00
Elliott Hughes
9ab3b08829 am 1fc1c898: am 7dc71bb9: am 732d65c1: Merge "[MIPS] Add sgidefs.h for mips64"
* commit '1fc1c8981043f949313103b9532cbc19dc3dd919':
  [MIPS] Add sgidefs.h for mips64
2014-12-15 18:46:31 +00:00
Elliott Hughes
ad01c98319 Merge "Remove arm assembler not referenced from any makefile." 2014-12-15 18:46:16 +00:00
Elliott Hughes
f92cc30571 Remove arm assembler not referenced from any makefile.
I also suspect that libc/arch-arm/bionic/memcmp.S is supposed to like in the
generic directory these days, but this change just removes dead code.

Change-Id: I9072488df6e9b7261d79b6014914a0e937cb387b
2014-12-14 17:52:32 -08:00
Yabin Cui
294d1e2c9e better gtest runner for bionic
1. option to run each test in a separate forked process: "--isolate".
2. warnings about slow tests: "--warnline".
3. run multiple tests at the same time: "-j N".

Bug: 17589740
Change-Id: Ife5f4cafec43aa051ad7bd9c9b2b7e2e437db0de
2014-12-13 18:53:34 -08:00
Yabin Cui
bb3579f878 am 96cd50f2: am 0e32e39d: Merge "Fix pthread key num calculation."
* commit '96cd50f2fc33b0d342f1733894b06fd59a725519':
  Fix pthread key num calculation.
2014-12-13 03:03:51 +00:00
Yabin Cui
96cd50f2fc am 0e32e39d: Merge "Fix pthread key num calculation."
* commit '0e32e39df0e487ec86d86627f1d4b43d1c8c524d':
  Fix pthread key num calculation.
2014-12-13 02:59:05 +00:00
Yabin Cui
0e32e39df0 Merge "Fix pthread key num calculation." 2014-12-13 02:51:27 +00:00
Yabin Cui
6c238f2926 Fix pthread key num calculation.
Bug: 18723085
Change-Id: Iba2c834b350e4cdba0b2d771b221560a3e5df952
2014-12-12 17:00:08 -08:00
Elliott Hughes
1fc1c89810 am 7dc71bb9: am 732d65c1: Merge "[MIPS] Add sgidefs.h for mips64"
* commit '7dc71bb9d5f73dc2ffe6e070efe29e69b88c14a7':
  [MIPS] Add sgidefs.h for mips64
2014-12-13 00:41:40 +00:00
Elliott Hughes
7dc71bb9d5 am 732d65c1: Merge "[MIPS] Add sgidefs.h for mips64"
* commit '732d65c1b1d33b2eadb5d6f2b1771c6fc536e23f':
  [MIPS] Add sgidefs.h for mips64
2014-12-13 00:34:13 +00:00
Elliott Hughes
732d65c1b1 Merge "[MIPS] Add sgidefs.h for mips64" 2014-12-13 00:28:57 +00:00
Duane Sand
50a3c6949b [MIPS] Add sgidefs.h for mips64
Sgidefs.h is needed by strace.
Replaced now-duplicate arch-mips64/include directory
by symlink to arch-mips/include.

Change-Id: I7808602cfa452eca3ffbdb94903f4c5bdb33efa3
2014-12-12 16:25:36 -08:00
Yabin Cui
927d57adde am 04c0d4cb: am 96794bd9: am 6d634f9b: Merge "make stack_protector_DeathTest work for gcc4.9"
* commit '04c0d4cb2235c29f65b6b52660ff34c28c10c93e':
  make stack_protector_DeathTest work for gcc4.9
2014-12-12 02:02:56 +00:00
Yabin Cui
04c0d4cb22 am 96794bd9: am 6d634f9b: Merge "make stack_protector_DeathTest work for gcc4.9"
* commit '96794bd9713882a4cd1452b7bca62729d10dc94c':
  make stack_protector_DeathTest work for gcc4.9
2014-12-12 01:56:09 +00:00
Yabin Cui
96794bd971 am 6d634f9b: Merge "make stack_protector_DeathTest work for gcc4.9"
* commit '6d634f9baaf804a91c97e019c832c1e9611a903a':
  make stack_protector_DeathTest work for gcc4.9
2014-12-12 01:43:50 +00:00
Yabin Cui
6d634f9baa Merge "make stack_protector_DeathTest work for gcc4.9" 2014-12-12 01:38:33 +00:00
Yabin Cui
562ae1e6e4 make stack_protector_DeathTest work for gcc4.9
Bug: 18721888
Change-Id: I5f0b5c84319f56dbc4efb88e9d828138944667ae
2014-12-11 17:24:55 -08:00
Christopher Ferris
9d56c11cf1 am 887a9a48: am 3b811c81: am 3115b34c: Merge "fix runtime issues for scripts"
* commit '887a9a485c36bc1854e45b91e41a3e7b1926ef16':
  fix runtime issues for scripts
2014-12-11 19:02:31 +00:00
Elliott Hughes
baf74e55e5 am a70d5478: am 1dff030e: am e7b8bc4e: Merge "Clean up DNS proxying."
* commit 'a70d54786fb98ec8378a246126ec0c589358691f':
  Clean up DNS proxying.
2014-12-11 19:02:30 +00:00
Christopher Ferris
887a9a485c am 3b811c81: am 3115b34c: Merge "fix runtime issues for scripts"
* commit '3b811c814e4ebe6591992141040ba5997a12407a':
  fix runtime issues for scripts
2014-12-11 18:55:56 +00:00
Elliott Hughes
a70d54786f am 1dff030e: am e7b8bc4e: Merge "Clean up DNS proxying."
* commit '1dff030e6eb527eeb4e7ed163cf19641fdb3872b':
  Clean up DNS proxying.
2014-12-11 18:55:55 +00:00
Christopher Ferris
3b811c814e am 3115b34c: Merge "fix runtime issues for scripts"
* commit '3115b34c9299d69919de39d01bfbbbe5e798e3b2':
  fix runtime issues for scripts
2014-12-11 18:36:25 +00:00
Christopher Ferris
3115b34c92 Merge "fix runtime issues for scripts" 2014-12-11 18:32:00 +00:00
Elliott Hughes
1dff030e6e am e7b8bc4e: Merge "Clean up DNS proxying."
* commit 'e7b8bc4e291a08dfb6f2f84a2bb0ca99f3bbada6':
  Clean up DNS proxying.
2014-12-11 18:18:57 +00:00
Elliott Hughes
e7b8bc4e29 Merge "Clean up DNS proxying." 2014-12-11 18:12:10 +00:00
Elliott Hughes
9773fa3ffd Clean up DNS proxying.
Remove code duplication and fall back to trying directly if the proxy
isn't available. With this, tests still work if netd is dead (perhaps
because you've run "adb shell stop", or because you're running on the host).

Bug: 18547878
Change-Id: Ia4a9aa18b1fc79e09735107246989fa7fc6c8455
2014-12-10 17:14:02 -08:00
Christopher Ferris
9a55815388 am 4173ebb4: am ca5edfb2: am fec60529: Merge "Fix missing symbol for debug malloc."
* commit '4173ebb42a43238f0cd98523f4d0c97c7bac1017':
  Fix missing symbol for debug malloc.
2014-12-10 22:23:23 +00:00
Elliott Hughes
ab94c29b8a am 857a5882: am 38f1804b: am 3a49cfe3: Merge "Fix the setjmp tests for mips."
* commit '857a5882742781fc40d264d70c28b160b309a834':
  Fix the setjmp tests for mips.
2014-12-10 22:23:13 +00:00
Elliott Hughes
2ec131a5a4 am 1fd915b9: am fa465353: am a53c504e: Merge "Fix arm64 clone stack handling."
* commit '1fd915b9c1fcf3803383432ede29fc4d686fdb44':
  Fix arm64 clone stack handling.
2014-12-10 22:00:12 +00:00
Yabin Cui
99e74b8f1d am b9f67dc0: am 1eaf80d6: am 3337435e: Merge "Use machine/timespec.h to separate timespec definition."
* commit 'b9f67dc0f5081f39b204cc97502ba38486dbe2a2':
  Use machine/timespec.h to separate timespec definition.
2014-12-10 22:00:02 +00:00
Elliott Hughes
10b46ded07 am 114cee8c: am 0eaa218c: am 0952a554: Merge "Use the stmdb instead of str to save the fn/arg"
* commit '114cee8c6ed7c6b2abd5a22b3c1b36fba8601eae':
  Use the stmdb instead of str to save the fn/arg
2014-12-10 21:58:49 +00:00
Elliott Hughes
6ead436983 am f9ee8045: am 18779983: am 6a684524: Merge "Fix ptsname(3) and ttyname(3) to use TLS."
* commit 'f9ee804513f8bfddf4b6d4f08e15505c21918359':
  Fix ptsname(3) and ttyname(3) to use TLS.
2014-12-10 21:56:59 +00:00
Elliott Hughes
18b4ae073b am 1f8812b2: am 938c251e: am 3592743f: Merge "Move BSD stuff together in <sys/endian.h>."
* commit '1f8812b2aaf04e2891cabbcb3c55c37d3ee0a714':
  Move BSD stuff together in <sys/endian.h>.
2014-12-10 21:56:58 +00:00
Christopher Ferris
4173ebb42a am ca5edfb2: am fec60529: Merge "Fix missing symbol for debug malloc."
* commit 'ca5edfb23ba45176d1e33fba6f38e7834ef33301':
  Fix missing symbol for debug malloc.
2014-12-10 20:45:10 +00:00
Christopher Ferris
ca5edfb23b am fec60529: Merge "Fix missing symbol for debug malloc."
* commit 'fec605294e894fae1f1d5b59afe78af8fa84e4fa':
  Fix missing symbol for debug malloc.
2014-12-10 20:38:17 +00:00
Christopher Ferris
fec605294e Merge "Fix missing symbol for debug malloc." 2014-12-10 20:33:52 +00:00
Elliott Hughes
857a588274 am 38f1804b: am 3a49cfe3: Merge "Fix the setjmp tests for mips."
* commit '38f1804be1f8f27dc2debd69da9d2caf5ddb9cd1':
  Fix the setjmp tests for mips.
2014-12-10 20:16:24 +00:00
Elliott Hughes
38f1804be1 am 3a49cfe3: Merge "Fix the setjmp tests for mips."
* commit '3a49cfe3f2121039900ac8b0340b538b01da35c9':
  Fix the setjmp tests for mips.
2014-12-10 20:09:20 +00:00
Elliott Hughes
3a49cfe3f2 Merge "Fix the setjmp tests for mips." 2014-12-10 20:04:52 +00:00
Elliott Hughes
1fd915b9c1 am fa465353: am a53c504e: Merge "Fix arm64 clone stack handling."
* commit 'fa46535316a514e1335836bf065c2deddab1c4f3':
  Fix arm64 clone stack handling.
2014-12-10 19:58:04 +00:00
Elliott Hughes
fa46535316 am a53c504e: Merge "Fix arm64 clone stack handling."
* commit 'a53c504e0c6a19361fe3e66d7577682f6e501a4a':
  Fix arm64 clone stack handling.
2014-12-10 19:50:18 +00:00
Elliott Hughes
1510a1c1ae Fix the setjmp tests for mips.
Although the LP32 mips sigset_t is large enough to represent all signals,
their jmp_buf is too small. This test succeeded on arm and x86 because the
RT signals were never in the 'expected' sigset_t, so the equality comparison
with the 'actual' sigset_t worked fine --- everyone was blind to the RT
signal. On mips the tests fail because the 'expected' sigset_t does contain
the RT signal but the 'actual' doesn't because the jmp_buf only saves and
restores the first 32 signals.

There are 32 free bits (currently used as padding) in the LP32 mips jmp_buf,
and they might choose to use those to provide better support than the other
two platforms, but I'll leave that to them. It will be easy to just remove
the #if defined(__LP64__) from this change in that case.

For mips64 it's not to late to increase the size of the jmp_buf and fix
the setjmp family, but since there are decisions to be made here for LP32,
I'll leave it all to Imagination folks...

Bug: 16918359
Change-Id: I6b723712fce0e9210dafa165d8599d950b2d3500
2014-12-10 11:48:19 -08:00
Elliott Hughes
a53c504e0c Merge "Fix arm64 clone stack handling." 2014-12-10 19:45:48 +00:00
Yabin Cui
b9f67dc0f5 am 1eaf80d6: am 3337435e: Merge "Use machine/timespec.h to separate timespec definition."
* commit '1eaf80d6805352cb74a4ffb392da4bfd17f4caed':
  Use machine/timespec.h to separate timespec definition.
2014-12-10 19:42:15 +00:00
Yabin Cui
1eaf80d680 am 3337435e: Merge "Use machine/timespec.h to separate timespec definition."
* commit '3337435ec8f45b5c04428c7d7d789020e41dfd36':
  Use machine/timespec.h to separate timespec definition.
2014-12-10 19:33:41 +00:00
Yabin Cui
3337435ec8 Merge "Use machine/timespec.h to separate timespec definition." 2014-12-10 19:29:24 +00:00
Christopher Ferris
3f61f89b55 Fix missing symbol for debug malloc.
Bug: 18686270
Change-Id: I800a6f0940060218413df652d74aca91f6a339f8
2014-12-10 11:10:00 -08:00
Elliott Hughes
51f5d83237 Fix arm64 clone stack handling.
Make sure we adjust the stack pointer so a signal can't overwrite data.

Bug: 15195265
Change-Id: I5ab9469a82cb214c32f40a713268a1ab74a4c6fa
2014-12-10 11:08:47 -08:00
Elliott Hughes
114cee8c6e am 0eaa218c: am 0952a554: Merge "Use the stmdb instead of str to save the fn/arg"
* commit '0eaa218c2f567af3ed51ac7538ef9179a9318821':
  Use the stmdb instead of str to save the fn/arg
2014-12-10 19:07:36 +00:00
Elliott Hughes
0eaa218c2f am 0952a554: Merge "Use the stmdb instead of str to save the fn/arg"
* commit '0952a5540e8bb6ceb74389601b9088398d585771':
  Use the stmdb instead of str to save the fn/arg
2014-12-10 18:59:48 +00:00
Elliott Hughes
0952a5540e Merge "Use the stmdb instead of str to save the fn/arg" 2014-12-10 18:53:48 +00:00
Jiangli Yuan
c3d1728583 Use the stmdb instead of str to save the fn/arg
Directly save data into stack without properly adjustment
   of stack point is dangous. For example, if a signal comes,
   kernel will put sigframe into userspace's stack, which
   will overwrite the saved data if sp is not adjusted properly.

Bug: 15195265
Change-Id: Iea0cadfd3b94d50cf40252ad52fe5950811b9192
Signed-off-by: Jiangli Yuan <a6808c@motorola.com>
2014-12-10 18:47:01 +00:00
Elliott Hughes
994b1a406e am d0ee182b: am 4beb28d4: am 3f1c604c: Merge "<net/route.h> should include IPv6 too."
* commit 'd0ee182bcf42cbfd2493d177020a69455388b128':
  <net/route.h> should include IPv6 too.
2014-12-10 17:58:13 +00:00
Elliott Hughes
1e9ff46862 am 0098f245: am 92fd1774: am 7381e145: Merge "Sync <net/if_types.h> with upstream."
* commit '0098f245cf96038b40e73b09b80b0a00734056b7':
  Sync <net/if_types.h> with upstream.
2014-12-10 17:44:40 +00:00
Kyunam Jo
fa343e630d fix runtime issues for scripts
now, some script to update kernel-headers is not working.
because of wrong variable value and test codes.
so this issue is fixed.

Change-Id: Iffae9607858cc3c1c58fa24244be217b5a1ab06e
2014-12-10 07:53:07 +00:00
Yabin Cui
db49903732 Use machine/timespec.h to separate timespec definition.
Bug: 18627763
Change-Id: Ib1c406320f0ecc3705d19183a48f986cdf57c279
2014-12-10 06:36:11 +00:00
Elliott Hughes
f9ee804513 am 18779983: am 6a684524: Merge "Fix ptsname(3) and ttyname(3) to use TLS."
* commit '187799839d317b3a6ee0f32a70a19ce64d41fac5':
  Fix ptsname(3) and ttyname(3) to use TLS.
2014-12-10 04:52:18 +00:00
Elliott Hughes
187799839d am 6a684524: Merge "Fix ptsname(3) and ttyname(3) to use TLS."
* commit '6a6845244cf9eb8fe21ecc012b7b45990adad7d8':
  Fix ptsname(3) and ttyname(3) to use TLS.
2014-12-10 04:44:14 +00:00
Elliott Hughes
6a6845244c Merge "Fix ptsname(3) and ttyname(3) to use TLS." 2014-12-10 04:39:07 +00:00
Elliott Hughes
1f8812b2aa am 938c251e: am 3592743f: Merge "Move BSD stuff together in <sys/endian.h>."
* commit '938c251e94cd6f38433ca5f6a1480cbaef2783d1':
  Move BSD stuff together in <sys/endian.h>.
2014-12-10 04:31:18 +00:00
Elliott Hughes
a381fe8ebc Fix ptsname(3) and ttyname(3) to use TLS.
Be safe by default.

Change-Id: I6c4a3f1fd4eee3a651b3162ce95b7e873de57521
2014-12-09 20:30:23 -08:00
Elliott Hughes
938c251e94 am 3592743f: Merge "Move BSD stuff together in <sys/endian.h>."
* commit '3592743f7191c69ae1fd2d7e01222bd380d93d3e':
  Move BSD stuff together in <sys/endian.h>.
2014-12-10 04:23:50 +00:00
Elliott Hughes
3592743f71 Merge "Move BSD stuff together in <sys/endian.h>." 2014-12-10 04:16:55 +00:00
Elliott Hughes
824f914cae Move BSD stuff together in <sys/endian.h>.
Change-Id: I8bb511840f3cd98d5008034e405d82e923bd3203
2014-12-09 19:44:42 -08:00
Yabin Cui
d57478892e am c5132eb3: am e0601bd4: am 94926f8c: Merge "support _POSIX_REALTIME_SIGNALS"
* commit 'c5132eb361115cffc976e4757ba3d6c4693068b1':
  support _POSIX_REALTIME_SIGNALS
2014-12-09 23:49:14 +00:00
Yabin Cui
d1ca336ed8 am f3d576b1: am e906cf68: am b033761c: Merge "Change _POSIX_CPUTIME macro to make it compitable with glibc."
* commit 'f3d576b1e71d31313b16ff192e6c59a6bdc51d8a':
  Change _POSIX_CPUTIME macro to make it compitable with glibc.
2014-12-09 23:47:20 +00:00
Elliott Hughes
49a0bf9037 am 19d76add: am b430e6d6: am 5536044b: Merge "Simplify our endian.h implementation."
* commit '19d76adddc3486fd7691875c13fd468f13ea1b24':
  Simplify our endian.h implementation.
2014-12-09 23:46:03 +00:00
Elliott Hughes
8c9fed8355 am fc3d587f: am c63ddc8b: am aa0002de: Merge "Merge mips setjmp/longjmp family."
* commit 'fc3d587f9169ab501bbefb573dfc02279c3e5abc':
  Merge mips setjmp/longjmp family.
2014-12-09 23:45:04 +00:00
Elliott Hughes
8a3f30af2e am 5a103a5a: am 09416c9e: am 0b7d9d6f: Merge "Switch arch-mips64/include/machine to a symlink."
* commit '5a103a5a91be922601527ef139b6eba8918105cf':
  Switch arch-mips64/include/machine to a symlink.
2014-12-09 23:45:03 +00:00
Elliott Hughes
78903d4e1c am b5e1fa50: am 3cc8e0e9: am af829f2d: Merge "Use 64-bit units in the aarch64 setjmp implementation."
* commit 'b5e1fa5046ceb003d3b418751dc0705555de3043':
  Use 64-bit units in the aarch64 setjmp implementation.
2014-12-09 23:45:02 +00:00
Elliott Hughes
e38dd69211 am 408d8fa4: am 16c93b47: am 86d06dcc: Merge "Switch arm and arm64 over to the x86 style of jmpbuf."
* commit '408d8fa46457fc27048a00b0945de4bca1204042':
  Switch arm and arm64 over to the x86 style of jmpbuf.
2014-12-09 23:45:01 +00:00
Elliott Hughes
a27728b036 am b9abfd25: am 65187330: am 515a2ea1: Merge "Fix signal mask save/restore for x86-64."
* commit 'b9abfd25d5185bb0cfdee8d908a68f1adafc43bd':
  Fix signal mask save/restore for x86-64.
2014-12-09 23:45:00 +00:00
Elliott Hughes
6bf05a57c4 am 26609707: am b67ff7e3: am 734f0d64: Merge "Fix signal mask save/restore for arm64."
* commit '26609707082bf9c54be2f219e2827915610b45f6':
  Fix signal mask save/restore for arm64.
2014-12-09 23:44:58 +00:00
Elliott Hughes
d0ee182bcf am 4beb28d4: am 3f1c604c: Merge "<net/route.h> should include IPv6 too."
* commit '4beb28d427a61111e53b12cb78c39599ea1afd7b':
  <net/route.h> should include IPv6 too.
2014-12-09 23:29:19 +00:00
Elliott Hughes
4beb28d427 am 3f1c604c: Merge "<net/route.h> should include IPv6 too."
* commit '3f1c604c9df459f5baecfdc04cbe8ecda07b70eb':
  <net/route.h> should include IPv6 too.
2014-12-09 23:25:25 +00:00
Elliott Hughes
0098f245cf am 92fd1774: am 7381e145: Merge "Sync <net/if_types.h> with upstream."
* commit '92fd17748376523e212dae0e606522b67d2c2883':
  Sync <net/if_types.h> with upstream.
2014-12-09 23:20:59 +00:00
Elliott Hughes
3f1c604c9d Merge "<net/route.h> should include IPv6 too." 2014-12-09 23:16:32 +00:00
Elliott Hughes
92fd177483 am 7381e145: Merge "Sync <net/if_types.h> with upstream."
* commit '7381e14521fcdc4e32ca512230793ab2256726bb':
  Sync <net/if_types.h> with upstream.
2014-12-09 23:15:15 +00:00
Elliott Hughes
a7feda3731 <net/route.h> should include IPv6 too.
Change-Id: I866097d8468aa8f326117d072444ebbc2a690719
2014-12-09 15:08:24 -08:00
Elliott Hughes
7381e14521 Merge "Sync <net/if_types.h> with upstream." 2014-12-09 23:07:45 +00:00
Elliott Hughes
1ec05b7c78 Sync <net/if_types.h> with upstream.
Change-Id: I2c2ca47f5a21b78754c03deb3e9467ab79d9d033
2014-12-09 15:03:51 -08:00
Yabin Cui
c5132eb361 am e0601bd4: am 94926f8c: Merge "support _POSIX_REALTIME_SIGNALS"
* commit 'e0601bd49f04e5f248be4ebd976f73b1cb0b5023':
  support _POSIX_REALTIME_SIGNALS
2014-12-09 22:10:11 +00:00
Yabin Cui
e0601bd49f am 94926f8c: Merge "support _POSIX_REALTIME_SIGNALS"
* commit '94926f8cfa0adf37c4e19256ade7261a97f72e51':
  support _POSIX_REALTIME_SIGNALS
2014-12-09 20:17:05 +00:00
Yabin Cui
94926f8cfa Merge "support _POSIX_REALTIME_SIGNALS" 2014-12-09 20:10:19 +00:00
Yabin Cui
f3d576b1e7 am e906cf68: am b033761c: Merge "Change _POSIX_CPUTIME macro to make it compitable with glibc."
* commit 'e906cf68f07ad8b64ec594a1e4115f5bc261caab':
  Change _POSIX_CPUTIME macro to make it compitable with glibc.
2014-12-09 18:06:13 +00:00
Yabin Cui
e906cf68f0 am b033761c: Merge "Change _POSIX_CPUTIME macro to make it compitable with glibc."
* commit 'b033761cbf0e79ade9a8c956c2e63b42ee838183':
  Change _POSIX_CPUTIME macro to make it compitable with glibc.
2014-12-09 17:58:28 +00:00
Yabin Cui
b033761cbf Merge "Change _POSIX_CPUTIME macro to make it compitable with glibc." 2014-12-09 17:51:37 +00:00
Yabin Cui
725756045e Change _POSIX_CPUTIME macro to make it compitable with glibc.
Change-Id: I7a8dbb74bd622693c9fef60bd779687207517b7d
2014-12-09 09:16:11 -08:00
Elliott Hughes
19d76adddc am b430e6d6: am 5536044b: Merge "Simplify our endian.h implementation."
* commit 'b430e6d6d21d983b62338950b7c7750c76691068':
  Simplify our endian.h implementation.
2014-12-09 15:03:54 +00:00
Elliott Hughes
fc3d587f91 am c63ddc8b: am aa0002de: Merge "Merge mips setjmp/longjmp family."
* commit 'c63ddc8b8c793c732246cac9b4c95b9c1534ca12':
  Merge mips setjmp/longjmp family.
2014-12-09 14:41:13 +00:00
Elliott Hughes
5a103a5a91 am 09416c9e: am 0b7d9d6f: Merge "Switch arch-mips64/include/machine to a symlink."
* commit '09416c9ec602f8385ad38af4ac0079b9385fbfbc':
  Switch arch-mips64/include/machine to a symlink.
2014-12-09 14:41:12 +00:00
Elliott Hughes
b5e1fa5046 am 3cc8e0e9: am af829f2d: Merge "Use 64-bit units in the aarch64 setjmp implementation."
* commit '3cc8e0e9d5b79e78ec3f2f636e0f527ec8a58519':
  Use 64-bit units in the aarch64 setjmp implementation.
2014-12-09 14:41:11 +00:00
Elliott Hughes
408d8fa464 am 16c93b47: am 86d06dcc: Merge "Switch arm and arm64 over to the x86 style of jmpbuf."
* commit '16c93b47646e2ea5c3e09719bf1698363833676f':
  Switch arm and arm64 over to the x86 style of jmpbuf.
2014-12-09 14:41:10 +00:00
Elliott Hughes
b9abfd25d5 am 65187330: am 515a2ea1: Merge "Fix signal mask save/restore for x86-64."
* commit '6518733033ab076df32564ecb1a782313c993a86':
  Fix signal mask save/restore for x86-64.
2014-12-09 14:41:05 +00:00
Elliott Hughes
2660970708 am b67ff7e3: am 734f0d64: Merge "Fix signal mask save/restore for arm64."
* commit 'b67ff7e37eac39bdbc06478a545b507462fdcee9':
  Fix signal mask save/restore for arm64.
2014-12-09 14:41:04 +00:00
Yabin Cui
634816055f support _POSIX_REALTIME_SIGNALS
Bug: 18489947
Change-Id: I2e834d68bc10ca5fc7ebde047b517a3074179475
2014-12-08 21:52:43 -08:00
Elliott Hughes
b430e6d6d2 am 5536044b: Merge "Simplify our endian.h implementation."
* commit '5536044b7896285729cdb39ee0489265a42697f5':
  Simplify our endian.h implementation.
2014-12-09 05:09:13 +00:00
Elliott Hughes
5536044b78 Merge "Simplify our endian.h implementation." 2014-12-09 05:02:37 +00:00
Elliott Hughes
56e017306e Simplify our endian.h implementation.
We can rely on the compiler's builtins. Tested on arm, arm64, mips, x86,
and x86-64.

Change-Id: I0f774ed7e85b3c791a3178d8ef17c6500e6a9ace
2014-12-08 20:35:08 -08:00
Elliott Hughes
c63ddc8b8c am aa0002de: Merge "Merge mips setjmp/longjmp family."
* commit 'aa0002de89ee4753bce6e4d714e5d4cc4d9709eb':
  Merge mips setjmp/longjmp family.
2014-12-09 01:30:42 +00:00
Elliott Hughes
aa0002de89 Merge "Merge mips setjmp/longjmp family." 2014-12-09 01:18:32 +00:00
Elliott Hughes
d27ae2f8d7 Merge mips setjmp/longjmp family.
Bug: 16918359
Change-Id: I9033a7d178d431ddb09f1cfa6e4bf95ae02346e9
2014-12-08 17:07:53 -08:00
Elliott Hughes
09416c9ec6 am 0b7d9d6f: Merge "Switch arch-mips64/include/machine to a symlink."
* commit '0b7d9d6f37d33a155a22efbafa911a5de54f7b65':
  Switch arch-mips64/include/machine to a symlink.
2014-12-09 00:56:54 +00:00
Elliott Hughes
304835cb05 am 6bad956e: am c7450f77: Restore symbols from <arpa/nameser.h>.
* commit '6bad956eade0ad7c9b0d4aaa7d3583f70fca97fd':
  Restore symbols from <arpa/nameser.h>.
2014-12-09 00:54:24 +00:00
Elliott Hughes
0b7d9d6f37 Merge "Switch arch-mips64/include/machine to a symlink." 2014-12-09 00:51:49 +00:00
Elliott Hughes
2fecbfaeee Switch arch-mips64/include/machine to a symlink.
Imagination already did the work to make the contents of these directories
identical. Let's take advantage of that fact.

Change-Id: Ib101ba39041fb500c9c618fa2020e72aa2ccd9c2
2014-12-08 16:48:34 -08:00
Elliott Hughes
3cc8e0e9d5 am af829f2d: Merge "Use 64-bit units in the aarch64 setjmp implementation."
* commit 'af829f2de9432dc817eafc2ed2aa26cfb1e0d93e':
  Use 64-bit units in the aarch64 setjmp implementation.
2014-12-09 00:46:55 +00:00
Elliott Hughes
af829f2de9 Merge "Use 64-bit units in the aarch64 setjmp implementation." 2014-12-09 00:39:16 +00:00
Elliott Hughes
16c93b4764 am 86d06dcc: Merge "Switch arm and arm64 over to the x86 style of jmpbuf."
* commit '86d06dcc74f1804a1d00b4c1bc420105bba49df7':
  Switch arm and arm64 over to the x86 style of jmpbuf.
2014-12-09 00:25:53 +00:00
Elliott Hughes
9fa2cfbbdb Use 64-bit units in the aarch64 setjmp implementation.
The use of 32-bit units for 64-bit stores and loads was driving me crazy.

Bug: 16918359
Change-Id: Ifb73aad8f8985a2adfcf5913b783ad9424f23e06
2014-12-08 16:23:10 -08:00
Elliott Hughes
86d06dcc74 Merge "Switch arm and arm64 over to the x86 style of jmpbuf." 2014-12-09 00:16:20 +00:00
Elliott Hughes
75096226c8 Switch arm and arm64 over to the x86 style of jmpbuf.
Specifically, use the argument to sigsetjmp as a flag in the buffer
to indicate whether or not the signal mask is valid.

Bug: 16918359
Change-Id: I5bb1f1220f14c105c6bc57e0c28c1dc366d1438f
2014-12-08 16:15:59 -08:00
Elliott Hughes
6518733033 am 515a2ea1: Merge "Fix signal mask save/restore for x86-64."
* commit '515a2ea1d575d96e774ba08f59a14ceefdd125c3':
  Fix signal mask save/restore for x86-64.
2014-12-09 00:08:09 +00:00
Elliott Hughes
b67ff7e37e am 734f0d64: Merge "Fix signal mask save/restore for arm64."
* commit '734f0d645e461a1061c879e5bd964592d3f326ee':
  Fix signal mask save/restore for arm64.
2014-12-09 00:08:08 +00:00
Elliott Hughes
515a2ea1d5 Merge "Fix signal mask save/restore for x86-64." 2014-12-08 21:40:15 +00:00
Elliott Hughes
1c0c0ede57 Fix signal mask save/restore for x86-64.
Bug: 16918359
Change-Id: I30bf61e7d5f1c21daa3a1a21d361e98d77220bf3
2014-12-08 12:46:15 -08:00
Elliott Hughes
734f0d645e Merge "Fix signal mask save/restore for arm64." 2014-12-08 20:27:14 +00:00
Elliott Hughes
6bad956ead am c7450f77: Restore symbols from <arpa/nameser.h>.
* commit 'c7450f7738b0d1edf832fc881ef63546d45428cb':
  Restore symbols from <arpa/nameser.h>.
2014-12-08 19:09:42 +00:00
Elliott Hughes
7b78e8187e Fix signal mask save/restore for arm64.
Bug: 16918359
Change-Id: Ieb15f7f1658f5accee05665b72ba17831a80ea9d
2014-12-06 11:18:00 -08:00
Elliott Hughes
82a67e63b6 am 217f77df: am ae141c52: am 7d3a99b1: Merge "Clean up the x86-64 and x86 setjmp families."
* commit '217f77df4816a6f66327fc0db8ce90546ca3e4dc':
  Clean up the x86-64 and x86 setjmp families.
2014-12-06 06:42:11 +00:00
Elliott Hughes
217f77df48 am ae141c52: am 7d3a99b1: Merge "Clean up the x86-64 and x86 setjmp families."
* commit 'ae141c526f8075f722d16ab6382f94db3a20d46f':
  Clean up the x86-64 and x86 setjmp families.
2014-12-06 06:35:45 +00:00
Elliott Hughes
ae141c526f am 7d3a99b1: Merge "Clean up the x86-64 and x86 setjmp families."
* commit '7d3a99b1bb06c3a261252680b4c3295cbcd77894':
  Clean up the x86-64 and x86 setjmp families.
2014-12-06 06:28:49 +00:00
Elliott Hughes
7d3a99b1bb Merge "Clean up the x86-64 and x86 setjmp families." 2014-12-06 06:23:09 +00:00
Elliott Hughes
8d4c55cc74 Clean up the x86-64 and x86 setjmp families.
Bug: 16918359
Change-Id: Ic8ca0af9ea99636bc71f19d46071f1cea6eef982
2014-12-05 22:20:08 -08:00
Elliott Hughes
d9a82af25a am 03f865f0: am 9156e864: am 289f44a4: Merge "Clean up arm setjmp family."
* commit '03f865f03720336996b53393e13ae70787c9cedb':
  Clean up arm setjmp family.
2014-12-06 00:08:26 +00:00
Elliott Hughes
03f865f037 am 9156e864: am 289f44a4: Merge "Clean up arm setjmp family."
* commit '9156e86466d8c9430608f26f1b28aab66e7ee7a1':
  Clean up arm setjmp family.
2014-12-06 00:04:05 +00:00
Elliott Hughes
9156e86466 am 289f44a4: Merge "Clean up arm setjmp family."
* commit '289f44a459b6b28f8e1bb7eef165699129878c85':
  Clean up arm setjmp family.
2014-12-06 00:00:28 +00:00
Elliott Hughes
289f44a459 Merge "Clean up arm setjmp family." 2014-12-05 23:53:47 +00:00
Elliott Hughes
b393299b85 Clean up arm setjmp family.
Bug: 16918359
Change-Id: I9b986bdbdbaefe9d9896a820ee8cfe860adfe5c5
2014-12-05 15:39:51 -08:00
Elliott Hughes
640cb6de14 am 8c838ec5: am d276faae: am 872da6d3: Merge "Clean up the arm64 setjmp."
* commit '8c838ec5f3458b15a608033c352ecf5c69c6f073':
  Clean up the arm64 setjmp.
2014-12-05 23:27:05 +00:00
Elliott Hughes
8c838ec5f3 am d276faae: am 872da6d3: Merge "Clean up the arm64 setjmp."
* commit 'd276faae7c82cd139e984275b325edc4dbe313f3':
  Clean up the arm64 setjmp.
2014-12-05 23:19:08 +00:00
Elliott Hughes
d276faae7c am 872da6d3: Merge "Clean up the arm64 setjmp."
* commit '872da6d39c3484d4dca0cb181d456587cdaa1acf':
  Clean up the arm64 setjmp.
2014-12-05 23:12:31 +00:00
Elliott Hughes
872da6d39c Merge "Clean up the arm64 setjmp." 2014-12-05 23:06:17 +00:00
Elliott Hughes
9fb536de97 Clean up the arm64 setjmp.
Note that this doesn't address the fact that we don't save/restore the
real-time signals. But it does let us pass the tests we currently fail.

Bug: 16918359
Change-Id: I063a6926164289a71026a412da7f5dd2ca9a74b3
2014-12-05 15:05:45 -08:00
Tao Bao
43c60afc19 am 65907a22: am cdf9ef0e: am 24214067: Merge "Add cache related sysconf queries"
* commit '65907a22d80db587eb43e212a27565b9f0ce8a77':
  Add cache related sysconf queries
2014-12-05 18:29:09 +00:00
Tao Bao
65907a22d8 am cdf9ef0e: am 24214067: Merge "Add cache related sysconf queries"
* commit 'cdf9ef0e55480d74a1b99d942c37b66f2a3f1cf5':
  Add cache related sysconf queries
2014-12-05 18:23:29 +00:00
Tao Bao
cdf9ef0e55 am 24214067: Merge "Add cache related sysconf queries"
* commit '2421406711e0b2e214234add79c842bbb2c07ca1':
  Add cache related sysconf queries
2014-12-05 18:16:32 +00:00
Tao Bao
2421406711 Merge "Add cache related sysconf queries" 2014-12-05 18:11:53 +00:00
Elliott Hughes
09897ab73b am 256454b8: am 458d0f1a: am 9e08a7bb: Merge "Restore symbols from <arpa/nameser.h>."
* commit '256454b83b13c04960a829b05e223c3e120b22d4':
  Restore symbols from <arpa/nameser.h>.
2014-12-05 00:15:47 +00:00
Yabin Cui
3f9d41e169 am 9c81c996: am 59932806: am 295bc2b9: Merge "implement posix_madvise"
* commit '9c81c996d9fe0750c35bb4aac3c11baf5efbd7e6':
  implement posix_madvise
2014-12-05 00:15:46 +00:00
Elliott Hughes
e15f109eca am ecabc635: am d5320228: am e3e3feaf: Merge "Make the missing symbols script more useful."
* commit 'ecabc635ed0e8429dfd716849b6ca09544f40049':
  Make the missing symbols script more useful.
2014-12-05 00:15:44 +00:00
Tao Bao
1f40be97b1 Add cache related sysconf queries
Several cache related queries are added, such as
_SC_LEVEL1_DCACHE_LINESIZE, _SC_LEVEL1_DCACHE_SIZE and etc. For the
moment, we always return 0 for these queries.

Change-Id: I36f67af8128672d8c1eef49d6f2431cca5a94719
2014-12-04 15:24:28 -08:00
Elliott Hughes
256454b83b am 458d0f1a: am 9e08a7bb: Merge "Restore symbols from <arpa/nameser.h>."
* commit '458d0f1a116776a9f83a19285a954983aea162dd':
  Restore symbols from <arpa/nameser.h>.
2014-12-04 22:45:01 +00:00
Yabin Cui
9c81c996d9 am 59932806: am 295bc2b9: Merge "implement posix_madvise"
* commit '599328061c85f07079a9fd647db1dbb127f88854':
  implement posix_madvise
2014-12-04 22:45:00 +00:00
Elliott Hughes
ecabc635ed am d5320228: am e3e3feaf: Merge "Make the missing symbols script more useful."
* commit 'd532022864768e205997254d9177bc6b59636a84':
  Make the missing symbols script more useful.
2014-12-04 22:44:57 +00:00
Elliott Hughes
458d0f1a11 am 9e08a7bb: Merge "Restore symbols from <arpa/nameser.h>."
* commit '9e08a7bbb85179da9ef56ee4bdc87078bfe5c30d':
  Restore symbols from <arpa/nameser.h>.
2014-12-04 21:45:35 +00:00
Elliott Hughes
c7450f7738 Restore symbols from <arpa/nameser.h>.
Bug: 18627252
Bug: https://code.google.com/p/android/issues/detail?id=81690

(cherry picked from commit 42804c4b30e813d3140cba877d3ae6bbef0d3a17)

Change-Id: Idd33578b31bba9a4afdfd15c7b193d10974aea90
2014-12-04 13:45:22 -08:00
Elliott Hughes
9e08a7bbb8 Merge "Restore symbols from <arpa/nameser.h>." 2014-12-04 21:39:58 +00:00
Yabin Cui
599328061c am 295bc2b9: Merge "implement posix_madvise"
* commit '295bc2b97041c5b06465effe1c60138a485495d5':
  implement posix_madvise
2014-12-04 21:37:49 +00:00
Yabin Cui
295bc2b970 Merge "implement posix_madvise" 2014-12-04 21:30:43 +00:00
Elliott Hughes
42804c4b30 Restore symbols from <arpa/nameser.h>.
Bug: 18627252
Bug: https://code.google.com/p/android/issues/detail?id=81690
Change-Id: I45b6c09cf2b5aabb80900e267d27cc0ec93d4dd8
2014-12-04 12:39:46 -08:00
Elliott Hughes
d532022864 am e3e3feaf: Merge "Make the missing symbols script more useful."
* commit 'e3e3feaf917c725c9c1194c930c8f11216d09ab1':
  Make the missing symbols script more useful.
2014-12-04 20:10:30 +00:00
Elliott Hughes
3a82568ef7 am f0435506: am 18a470e4: am 230005c4: Merge "Code using neon uses ARCH_ARM_HAVE_NEON."
* commit 'f0435506dad4cdf10154b2c042c0d8d46172036f':
  Code using neon uses ARCH_ARM_HAVE_NEON.
2014-12-04 20:05:06 +00:00
Elliott Hughes
0adfc4ac5b am 50ebeec8: am 509317a4: am a18af83b: Merge "Remove __ARM_HAVE_VFP."
* commit '50ebeec8b13e1a898d0b7ddda752379816ae563b':
  Remove __ARM_HAVE_VFP.
2014-12-04 20:05:01 +00:00
Elliott Hughes
96d1793759 am 28764780: am c02d6add: am 6cbc56b8: Merge "Implement <pty.h>."
* commit '28764780742d437dab54cdd45fd9bce56a812aac':
  Implement <pty.h>.
2014-12-04 20:04:59 +00:00
Elliott Hughes
e3e3feaf91 Merge "Make the missing symbols script more useful." 2014-12-04 20:04:39 +00:00
Elliott Hughes
f0435506da am 18a470e4: am 230005c4: Merge "Code using neon uses ARCH_ARM_HAVE_NEON."
* commit '18a470e435508a20b9f32a8d516a0da5fc361c81':
  Code using neon uses ARCH_ARM_HAVE_NEON.
2014-12-04 19:51:42 +00:00
Elliott Hughes
50ebeec8b1 am 509317a4: am a18af83b: Merge "Remove __ARM_HAVE_VFP."
* commit '509317a4758fc7177ca2e7ca1151914cd7701268':
  Remove __ARM_HAVE_VFP.
2014-12-04 19:51:41 +00:00
Elliott Hughes
2876478074 am c02d6add: am 6cbc56b8: Merge "Implement <pty.h>."
* commit 'c02d6add2d12ada65cc88db724921d23be6e3310':
  Implement <pty.h>.
2014-12-04 19:51:40 +00:00
Elliott Hughes
0393221f47 Make the missing symbols script more useful.
If something's in POSIX, we don't need to show it in the glibc list.

If something's not implemented by glibc, we don't need to show it in the
POSIX list (because it's probably either a macro or obsolete).

Change-Id: Ied0f8d97d3fffb280c22e9cdf6782430d776c02f
2014-12-04 11:24:48 -08:00
Yabin Cui
5afae64a1b implement posix_madvise
Bug: 18472477
Change-Id: I8183de6c281acf69ed5f7f88351b056b9827b162
2014-12-04 11:01:28 -08:00
Yabin Cui
0d13c7a1a9 am d7567706: am 0b2aabde: am 1898967e: Merge "change argument type in madvise"
* commit 'd7567706813d33f38e7869769bc8f6e706aee3d5':
  change argument type in madvise
2014-12-04 16:17:19 +00:00
Dmitriy Ivanov
052a834588 am 0c44172f: am f983286e: am 6a447eef: Merge "Fix warning: overriding commands for target"
* commit '0c44172f243ffb163b36aa604a8b3172e0f35909':
  Fix warning: overriding commands for target
2014-12-04 16:17:18 +00:00
Elliott Hughes
18a470e435 am 230005c4: Merge "Code using neon uses ARCH_ARM_HAVE_NEON."
* commit '230005c4bd3910ef974694f88d04e6f6a5a540b4':
  Code using neon uses ARCH_ARM_HAVE_NEON.
2014-12-04 15:16:36 +00:00
Elliott Hughes
509317a475 am a18af83b: Merge "Remove __ARM_HAVE_VFP."
* commit 'a18af83bc1bab330f2558451ffcd61bb31b8f147':
  Remove __ARM_HAVE_VFP.
2014-12-04 15:16:35 +00:00
Elliott Hughes
c02d6add2d am 6cbc56b8: Merge "Implement <pty.h>."
* commit '6cbc56b84be72b3f01c23b865e39f61a01ead895':
  Implement <pty.h>.
2014-12-04 15:16:33 +00:00
Yabin Cui
d756770681 am 0b2aabde: am 1898967e: Merge "change argument type in madvise"
* commit '0b2aabde32db99cffd4d06cda614edeac1112e37':
  change argument type in madvise
2014-12-04 09:22:07 +00:00
Dmitriy Ivanov
0c44172f24 am f983286e: am 6a447eef: Merge "Fix warning: overriding commands for target"
* commit 'f983286eedf71a6cef67ba6ba88c6ea0f19717f5':
  Fix warning: overriding commands for target
2014-12-04 09:22:01 +00:00
Elliott Hughes
230005c4bd Merge "Code using neon uses ARCH_ARM_HAVE_NEON." 2014-12-04 01:45:54 +00:00
Elliott Hughes
1309dcc842 Code using neon uses ARCH_ARM_HAVE_NEON.
Bug: 18556103
Change-Id: Ia8674dda223f81d616d15ee47b402ab4a3f98079
2014-12-03 17:41:26 -08:00
Elliott Hughes
a18af83bc1 Merge "Remove __ARM_HAVE_VFP." 2014-12-04 01:11:09 +00:00
Elliott Hughes
cb4c615bb9 Remove __ARM_HAVE_VFP.
Bug: 18556103
Change-Id: I6d4cc6a1b359ad2df1ce6687fd26f392059f6efd
2014-12-03 17:07:01 -08:00
Elliott Hughes
6cbc56b84b Merge "Implement <pty.h>." 2014-12-04 00:45:42 +00:00
Elliott Hughes
65f0df7873 Implement <pty.h>.
Based on the package/apps/Terminal implementation. I'll switch them over
shortly. This also lets us build the toybox version of netcat.

Change-Id: Ia922a100141a67409264b43b937eeca07b21f344
2014-12-03 15:55:34 -08:00
Elliott Hughes
d8e3a199a1 am af8d8f2c: resolved conflicts for merge of 27d276f3 to lmp-mr1-dev-plus-aosp
* commit 'af8d8f2c88bcf78cb3c94d241cf412d65f5ed55e':
  Avoid pathological behavior in OpenBSD's fread.
2014-12-03 20:44:17 +00:00
Elliott Hughes
af8d8f2c88 resolved conflicts for merge of 27d276f3 to lmp-mr1-dev-plus-aosp
Change-Id: I905890e17f90ca5e2b73a61176da6f6a36c0d345
2014-12-03 12:37:34 -08:00
Yabin Cui
0b2aabde32 am 1898967e: Merge "change argument type in madvise"
* commit '1898967e41c12948e363b9a442f65965a884cf2d':
  change argument type in madvise
2014-12-03 20:03:18 +00:00
Yabin Cui
1898967e41 Merge "change argument type in madvise" 2014-12-03 19:57:50 +00:00
Yabin Cui
efbb6fb3f7 change argument type in madvise
Make madvise prototype the same as linux man page.

Bug: 18539500
Change-Id: If3fd0e1d9539b9e10531ab9087bc4040e32b6e9b
2014-12-03 11:11:50 -08:00
Dmitriy Ivanov
f983286eed am 6a447eef: Merge "Fix warning: overriding commands for target"
* commit '6a447eeffca19a1aa4035f50c19ef9152392ed27':
  Fix warning: overriding commands for target
2014-12-03 19:01:25 +00:00
Dmitriy Ivanov
6a447eeffc Merge "Fix warning: overriding commands for target" 2014-12-03 18:55:56 +00:00
Dmitriy Ivanov
c7cbde320c Fix warning: overriding commands for target
Change-Id: I00fb4d6a8ff388722b75de9a0f4316619aaf9320
2014-12-03 09:51:37 -08:00
Elliott Hughes
b858ba5846 am 308c4d3f: am b06e125c: am 91a61f77: Merge "Switch x86 and x86-64 to __builtin_bswap*."
* commit '308c4d3fb1641ffc1e1c42add1b20c2f98cb5022':
  Switch x86 and x86-64 to __builtin_bswap*.
2014-12-03 17:39:16 +00:00
Elliott Hughes
3fa1da6597 am 85591636: am 58543de7: am 244299f4: Merge "Switch aarch64 to __builtin_bswap16."
* commit '855916362cfe0ef935e086fe550251805b01ff4f':
  Switch aarch64 to __builtin_bswap16.
2014-12-03 17:39:15 +00:00
Dmitriy Ivanov
78ef86160e am 44ea65b3: am 57eed1ab: am 8408d7ef: Merge "Fix soinfo_unload"
* commit '44ea65b3959065a260b1deddf7ce2dd0ca241e72':
  Fix soinfo_unload
2014-12-03 17:39:14 +00:00
Elliott Hughes
308c4d3fb1 am b06e125c: am 91a61f77: Merge "Switch x86 and x86-64 to __builtin_bswap*."
* commit 'b06e125c01ff30cc3835d6c8c025e256a82356bf':
  Switch x86 and x86-64 to __builtin_bswap*.
2014-12-03 17:31:35 +00:00
Elliott Hughes
855916362c am 58543de7: am 244299f4: Merge "Switch aarch64 to __builtin_bswap16."
* commit '58543de7215df81859e8ada22210773d4ab0ea82':
  Switch aarch64 to __builtin_bswap16.
2014-12-03 17:31:34 +00:00
Dmitriy Ivanov
44ea65b395 am 57eed1ab: am 8408d7ef: Merge "Fix soinfo_unload"
* commit '57eed1ab38dc2bcc458418b57f194efda055a50b':
  Fix soinfo_unload
2014-12-03 17:31:33 +00:00
Elliott Hughes
b06e125c01 am 91a61f77: Merge "Switch x86 and x86-64 to __builtin_bswap*."
* commit '91a61f77e203bf519c28f9331b9c8db731869499':
  Switch x86 and x86-64 to __builtin_bswap*.
2014-12-03 17:23:29 +00:00
Elliott Hughes
58543de721 am 244299f4: Merge "Switch aarch64 to __builtin_bswap16."
* commit '244299f4e0b58e48b5fdb15fc10a7327e0c32cf9':
  Switch aarch64 to __builtin_bswap16.
2014-12-03 17:23:28 +00:00
Dmitriy Ivanov
57eed1ab38 am 8408d7ef: Merge "Fix soinfo_unload"
* commit '8408d7efacd83c1813501954d3e199b63f350778':
  Fix soinfo_unload
2014-12-03 17:23:27 +00:00
Elliott Hughes
91a61f77e2 Merge "Switch x86 and x86-64 to __builtin_bswap*." 2014-12-03 16:20:06 +00:00
Elliott Hughes
244299f4e0 Merge "Switch aarch64 to __builtin_bswap16." 2014-12-03 16:15:45 +00:00
Elliott Hughes
12f35ada43 Switch x86 and x86-64 to __builtin_bswap*.
Bug: 18597513
Change-Id: I0781208efb3b560d7c6fa48f41be7bc6fc83521e
2014-12-02 20:16:05 -08:00
Elliott Hughes
1de2548c8e Switch aarch64 to __builtin_bswap16.
It generates the same code.

Bug: 18597513
Change-Id: I164296da8c676668983dd93697c6dfa05f10ec56
2014-12-02 19:55:38 -08:00
Dmitriy Ivanov
8408d7efac Merge "Fix soinfo_unload" 2014-12-03 03:25:58 +00:00
Elliott Hughes
4c7bc66f2a am 1c27acc3: am 5f48eda7: am baf792bf: Merge "Remove __ARM_HAVE_HALFWORD_MULTIPLY."
* commit '1c27acc32cb96ed67bb1be59799fcecfc469a465':
  Remove __ARM_HAVE_HALFWORD_MULTIPLY.
2014-12-03 02:52:37 +00:00
Elliott Hughes
79623f7e9e am f6116c5e: am 81b5f9f4: am 6bec3484: Merge "Remove __ARM_HAVE_LDREXD."
* commit 'f6116c5ea155f3135ba49c09b725dea3458eadf9':
  Remove __ARM_HAVE_LDREXD.
2014-12-03 02:52:36 +00:00
Elliott Hughes
8a2f97d738 am 39bf9593: am 52b3cbae: am f840cefa: Merge "Kill <machine/exec.h>."
* commit '39bf9593c49c1a10e2163a32212ea9342c05841b':
  Kill <machine/exec.h>.
2014-12-03 02:52:35 +00:00
Elliott Hughes
1c27acc32c am 5f48eda7: am baf792bf: Merge "Remove __ARM_HAVE_HALFWORD_MULTIPLY."
* commit '5f48eda760e563e39231b1a0eaba086a5c0403a2':
  Remove __ARM_HAVE_HALFWORD_MULTIPLY.
2014-12-03 02:47:47 +00:00
Elliott Hughes
f6116c5ea1 am 81b5f9f4: am 6bec3484: Merge "Remove __ARM_HAVE_LDREXD."
* commit '81b5f9f42f037690be5fbcb9501bd37e1f8bb3c1':
  Remove __ARM_HAVE_LDREXD.
2014-12-03 02:47:46 +00:00
Elliott Hughes
39bf9593c4 am 52b3cbae: am f840cefa: Merge "Kill <machine/exec.h>."
* commit '52b3cbae58e9069eebb09b913cf51a3a2781813d':
  Kill <machine/exec.h>.
2014-12-03 02:47:45 +00:00
Elliott Hughes
5f48eda760 am baf792bf: Merge "Remove __ARM_HAVE_HALFWORD_MULTIPLY."
* commit 'baf792bff86f9be6f631eece17d9d104cfe54b41':
  Remove __ARM_HAVE_HALFWORD_MULTIPLY.
2014-12-03 02:37:35 +00:00
Elliott Hughes
81b5f9f42f am 6bec3484: Merge "Remove __ARM_HAVE_LDREXD."
* commit '6bec3484ee1e90662c8c5e52c71fcdc430a7b619':
  Remove __ARM_HAVE_LDREXD.
2014-12-03 02:37:34 +00:00
Elliott Hughes
52b3cbae58 am f840cefa: Merge "Kill <machine/exec.h>."
* commit 'f840cefaea5e482e886c81a6b56648399ceb2568':
  Kill <machine/exec.h>.
2014-12-03 02:37:33 +00:00
Dmitriy Ivanov
18fa55188c am 70a2aea6: am ad8e339a: am 6995c1dc: Merge "Extract bionic-prepare-run-on-host to inc file."
* commit '70a2aea6e8df5e5c24b0d83c0a3a2ff34f43e718':
  Extract bionic-prepare-run-on-host to inc file.
2014-12-03 02:21:16 +00:00
Dmitriy Ivanov
5ae82cba59 Fix soinfo_unload
1. Take into consideration that the local_group_root_
    is not set for all of not linked libraries.
 2. We need to check visited list earlier to avoid double
    soinfo_free.

Change-Id: Iabc0a06a97c63f7e6bd4641731f50bb1466fed4f
2014-12-02 17:28:34 -08:00
Elliott Hughes
baf792bff8 Merge "Remove __ARM_HAVE_HALFWORD_MULTIPLY." 2014-12-03 01:12:48 +00:00
Elliott Hughes
a5602c566e Remove __ARM_HAVE_HALFWORD_MULTIPLY.
Bug: 18556103
Change-Id: I17e498539f77ddf7d1fb980ee93155d3c3ccd85e
2014-12-02 16:58:17 -08:00
Elliott Hughes
6bec3484ee Merge "Remove __ARM_HAVE_LDREXD." 2014-12-03 00:57:28 +00:00
Elliott Hughes
6651aa6bc1 Remove __ARM_HAVE_LDREXD.
No one uses this.

Bug: 18556103
Change-Id: Icecc3a7b5cb0a36960f27d030d8f4f8ee471f86c
2014-12-03 00:57:07 +00:00
Elliott Hughes
f840cefaea Merge "Kill <machine/exec.h>." 2014-12-03 00:42:56 +00:00
Elliott Hughes
84fb1f7ac8 am 66f7b275: Merge "Remove unnecessary #undefs from AOSP." into lmp-mr1-dev-plus-aosp
* commit '66f7b2758f909b981503ab228e92707f8c6b4ebc':
  Remove unnecessary #undefs from AOSP.
2014-12-03 00:30:51 +00:00
Elliott Hughes
16716ba940 am c28e2797: am cc7e28f1: am 432f763c: Merge "Avoid pathological behavior in OpenBSD\'s fread."
* commit 'c28e2797a78f92ba49999710fa5a1cd85b27badc':
  Avoid pathological behavior in OpenBSD's fread.
2014-12-03 00:30:45 +00:00
Dmitriy Ivanov
df206647a3 am 7ef5d8b8: am 5811e3fc: am 5cd127d3: Merge "Fix mips build"
* commit '7ef5d8b8454443e79f109a5f83ab40e4c602b88d':
  Fix mips build
2014-12-03 00:30:15 +00:00
Dmitriy Ivanov
29bf489217 am 20ce0b5b: am 3a43e9f5: am 8dd25905: Merge "Create /system/lib(64)? symlinks for host tests."
* commit '20ce0b5b5d666dd9d0ff41375623bde22670af7b':
  Create /system/lib(64)? symlinks for host tests.
2014-12-03 00:30:14 +00:00
Yabin Cui
9a4af8123a am 864ba276: am 5fea4532: am 4e7d66dd: Merge "Use mmap to create the pthread_internal_t."
* commit '864ba276f96b23835938cd0875cc5fe682ff6b6d':
  Use mmap to create the pthread_internal_t.
2014-12-03 00:30:01 +00:00
Dmitriy Ivanov
c652606558 am e92b30af: am 8d94e2e0: am 291dbf65: Merge "Count references for groups instead of instances"
* commit 'e92b30af6752104f86c564ccec66fc1d0f5be475':
  Count references for groups instead of instances
2014-12-03 00:30:00 +00:00
Elliott Hughes
b514026eb2 Kill <machine/exec.h>.
Bug: 18546535
Change-Id: I479e003deab21e31eb5caa5393067ed1dc558387
2014-12-02 16:16:29 -08:00
Dmitriy Ivanov
70a2aea6e8 am ad8e339a: am 6995c1dc: Merge "Extract bionic-prepare-run-on-host to inc file."
* commit 'ad8e339a565af518bcda51e5ebbc536aa63de9e3':
  Extract bionic-prepare-run-on-host to inc file.
2014-12-03 00:12:54 +00:00
Dmitriy Ivanov
ad8e339a56 am 6995c1dc: Merge "Extract bionic-prepare-run-on-host to inc file."
* commit '6995c1dcb5a9ad77a54d950fc24f5aba00909b69':
  Extract bionic-prepare-run-on-host to inc file.
2014-12-03 00:07:38 +00:00
Dmitriy Ivanov
6995c1dcb5 Merge "Extract bionic-prepare-run-on-host to inc file." 2014-12-03 00:02:13 +00:00
Dmitriy Ivanov
06b1b8ceac Extract bionic-prepare-run-on-host to inc file.
Make benchmark run-on-host depend on bionic-prepare-run-on-host.

Change-Id: I0bdbf561b2580d607a49b7c83cc273320ac55429
2014-12-02 15:15:34 -08:00
Elliott Hughes
66f7b2758f Merge "Remove unnecessary #undefs from AOSP." into lmp-mr1-dev-plus-aosp 2014-12-02 23:00:37 +00:00
Elliott Hughes
27d276f3a6 Avoid pathological behavior in OpenBSD's fread.
(cherry picked from commit 20841a137beac5caa824e3586c7bd91d879ff92e)

Bug: https://code.google.com/p/android/issues/detail?id=81155
Bug: 18556607
Change-Id: Ibdfebc20dce4c34ad565014523c9b074e90ea665
2014-12-02 14:54:52 -08:00
Elliott Hughes
6c1e3f6e56 Remove unnecessary #undefs from AOSP.
This is a manual revert of 111461aaaec2b7d9ffa5f3baabb1bd019d2e0c1d.
git revert does the wrong thing because that patch shares lines (that we
want to keep) with 168667c972a1e9ede5b64ad6cee0666e9b96d4d8 and git
revert just removes them.

Change-Id: I83ac8c95e5c90a4137b7742a9b7536e1627f1ac7
2014-12-02 14:50:20 -08:00
Elliott Hughes
c28e2797a7 am cc7e28f1: am 432f763c: Merge "Avoid pathological behavior in OpenBSD\'s fread."
* commit 'cc7e28f111bfa5cd859ab7ac4eac8f98d9f10af3':
  Avoid pathological behavior in OpenBSD's fread.
2014-12-02 22:49:36 +00:00
Elliott Hughes
cc7e28f111 am 432f763c: Merge "Avoid pathological behavior in OpenBSD\'s fread."
* commit '432f763c0c370870b653537342aff87fac862d97':
  Avoid pathological behavior in OpenBSD's fread.
2014-12-02 22:45:07 +00:00
Elliott Hughes
432f763c0c Merge "Avoid pathological behavior in OpenBSD's fread." 2014-12-02 22:40:53 +00:00
Elliott Hughes
20841a137b Avoid pathological behavior in OpenBSD's fread.
Bug: https://code.google.com/p/android/issues/detail?id=81155
Bug: 18556607
Change-Id: Idc60976b79610e2202cc42dc393dcb4ca6c42e05
2014-12-02 14:22:02 -08:00
Dmitriy Ivanov
7ef5d8b845 am 5811e3fc: am 5cd127d3: Merge "Fix mips build"
* commit '5811e3fce16d2394654447ae9ee504149b7e1000':
  Fix mips build
2014-12-02 22:13:59 +00:00
Dmitriy Ivanov
20ce0b5b5d am 3a43e9f5: am 8dd25905: Merge "Create /system/lib(64)? symlinks for host tests."
* commit '3a43e9f5dbc129bdac5ca3397699a5c94dfd131d':
  Create /system/lib(64)? symlinks for host tests.
2014-12-02 22:13:58 +00:00
Yabin Cui
864ba276f9 am 5fea4532: am 4e7d66dd: Merge "Use mmap to create the pthread_internal_t."
* commit '5fea45328f7a596ab2040c8ea2fe227cf1752a07':
  Use mmap to create the pthread_internal_t.
2014-12-02 22:00:39 +00:00
Dmitriy Ivanov
e92b30af67 am 8d94e2e0: am 291dbf65: Merge "Count references for groups instead of instances"
* commit '8d94e2e0d7c7c4a5cc8c73d424c499db333713c8':
  Count references for groups instead of instances
2014-12-02 22:00:37 +00:00
Dmitriy Ivanov
5811e3fce1 am 5cd127d3: Merge "Fix mips build"
* commit '5cd127d3aa4a2f225be202af01581838fdd3c721':
  Fix mips build
2014-12-02 21:42:57 +00:00
Dmitriy Ivanov
5cd127d3aa Merge "Fix mips build" 2014-12-02 21:37:50 +00:00
Dmitriy Ivanov
3a43e9f5db am 8dd25905: Merge "Create /system/lib(64)? symlinks for host tests."
* commit '8dd2590549ac85b2fe20329842cf385fb3ed5c95':
  Create /system/lib(64)? symlinks for host tests.
2014-12-02 21:35:11 +00:00
Dmitriy Ivanov
8dd2590549 Merge "Create /system/lib(64)? symlinks for host tests." 2014-12-02 21:30:12 +00:00
Dmitriy Ivanov
20463e3e53 Fix mips build
Change-Id: Iddbf06784d19556a55d833e20a68e6ccf5a7c5be
2014-12-02 13:27:40 -08:00
Dmitriy Ivanov
a55126f1f6 Create /system/lib(64)? symlinks for host tests.
Replace LD_LIBRARY_PATH with default path for
  the tests run on host.

Bug: 18589961

Change-Id: Id4a84b73d25c2ca9c557fcfa19b8169daeaa016b
2014-12-02 12:11:08 -08:00
Yabin Cui
5fea45328f am 4e7d66dd: Merge "Use mmap to create the pthread_internal_t."
* commit '4e7d66ddb55a9d5f23ae80b6e6569733adf9262a':
  Use mmap to create the pthread_internal_t.
2014-12-02 19:53:14 +00:00
Yabin Cui
4e7d66ddb5 Merge "Use mmap to create the pthread_internal_t." 2014-12-02 19:45:48 +00:00
Dmitriy Ivanov
8d94e2e0d7 am 291dbf65: Merge "Count references for groups instead of instances"
* commit '291dbf65cadeccbb33e60b33fbe9f5f48c8763ff':
  Count references for groups instead of instances
2014-12-02 19:36:09 +00:00
Elliott Hughes
a271528462 am 12b7dd09: am 152e978f: Merge "Put stdin/stdout/stderr symbols in place." into lmp-mr1-dev
* commit '12b7dd0900a6760a47c765decfc6cdec75883d35':
  Put stdin/stdout/stderr symbols in place.
2014-12-02 19:35:04 +00:00
Elliott Hughes
12b7dd0900 am 152e978f: Merge "Put stdin/stdout/stderr symbols in place." into lmp-mr1-dev
* commit '152e978f73fc6cd37d0d82de69f1cf8134b34b90':
  Put stdin/stdout/stderr symbols in place.
2014-12-02 19:16:51 +00:00
Dmitriy Ivanov
291dbf65ca Merge "Count references for groups instead of instances" 2014-12-02 19:10:04 +00:00
Yabin Cui
42e664f763 am de88381c: am b2ec9cb2: am 46d0b81a: Merge "restore sigprocmask in setjmp/longjmp test."
* commit 'de88381c19ad9a23b5d26eb51b7591a7e7e6be50':
  restore sigprocmask in setjmp/longjmp test.
2014-12-02 19:05:28 +00:00
Elliott Hughes
152e978f73 Merge "Put stdin/stdout/stderr symbols in place." into lmp-mr1-dev 2014-12-02 18:56:50 +00:00
Yabin Cui
de88381c19 am b2ec9cb2: am 46d0b81a: Merge "restore sigprocmask in setjmp/longjmp test."
* commit 'b2ec9cb264ed1aadd1a2d938785d28ceb9fc16c4':
  restore sigprocmask in setjmp/longjmp test.
2014-12-02 18:56:12 +00:00
Dmitriy Ivanov
ab972b9adf Count references for groups instead of instances
Count references on the group level to avoid
  partially unloading function that might be
  referenced by other libraries in the local_group

  Bonus: with this change we can correctly unload recursively
  linked libraries. is_recursive check is removed.

  Also dynamic executables (not .so) with 0 DT_NEEDED libraries
  are now correctly linked.

Change-Id: Idfa83baef402840599b93a875f2881d9f020dbcd
2014-12-02 10:54:26 -08:00
Yabin Cui
b2ec9cb264 am 46d0b81a: Merge "restore sigprocmask in setjmp/longjmp test."
* commit '46d0b81a9465bf74fe44a881365c332dc6173f2f':
  restore sigprocmask in setjmp/longjmp test.
2014-12-02 18:49:30 +00:00
Yabin Cui
8574a0670b Use mmap to create the pthread_internal_t.
Bug: 16847284
Change-Id: I488fa236f57aa3acb29b4ffbbab2fab51b0653be
2014-12-02 10:39:25 -08:00
Yabin Cui
46d0b81a94 Merge "restore sigprocmask in setjmp/longjmp test." 2014-12-02 18:37:28 +00:00
Yabin Cui
e323e99ffb restore sigprocmask in setjmp/longjmp test.
Bug: 18571921
Change-Id: Ib8ca7a36abd3ccc729c20c0e32d45b1b33069f65
2014-12-02 10:35:25 -08:00
Dmitriy Ivanov
bf46bdef96 am 15121a42: am 611fddc7: am 224fb614: Merge "Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM."
* commit '15121a42c8882d073307a4853032750185cbb7ae':
  Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM.
2014-12-02 17:56:03 +00:00
Dmitriy Ivanov
15121a42c8 am 611fddc7: am 224fb614: Merge "Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM."
* commit '611fddc73eec4ad33739b6160e84e633984499b7':
  Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM.
2014-12-02 17:49:27 +00:00
Dmitriy Ivanov
611fddc73e am 224fb614: Merge "Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM."
* commit '224fb6144aaba529aef1554f7454df523de1ab38':
  Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM.
2014-12-02 17:41:54 +00:00
Dmitriy Ivanov
224fb6144a Merge "Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM." 2014-12-02 17:37:18 +00:00
Alexander Ivchenko
e831433fe1 Resolve "unused DT entry" warnings for DT_VERNEED and DT_VERNEEDNUM.
Change-Id: Id18310811a6d183878a1d4d26cc2498f4fd00c55
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
2014-12-02 15:34:30 +03:00
Lorenzo Colitti
91f6f25a2a am 8a94b864: am e5477f83: Fail queries fast if no DNS servers are configured.
* commit '8a94b864bf0b87e51aa32a856c847f11cd19047b':
  Fail queries fast if no DNS servers are configured.
2014-12-02 07:07:42 +00:00
Lorenzo Colitti
8a94b864bf am e5477f83: Fail queries fast if no DNS servers are configured.
* commit 'e5477f83b0a639b86d8cbe710f25d9808a8f72af':
  Fail queries fast if no DNS servers are configured.
2014-12-02 07:00:47 +00:00
Christopher Ferris
b8e52fb431 am a2b36226: am 45df6fb5: am 8374a548: Merge "Specify .cpu cortex-a15"
* commit 'a2b36226c3a90cf780e260e8cf5f52e44360e07d':
  Specify .cpu cortex-a15
2014-12-02 06:46:44 +00:00
Elliott Hughes
111461aaae Put stdin/stdout/stderr symbols in place.
To help with future binary compatibility.

Bug: 18553223
Change-Id: Ia8103b4f189c18528b11948ac9e520f61b9ccc0e
2014-12-01 21:27:59 -08:00
Christopher Ferris
a2b36226c3 am 45df6fb5: am 8374a548: Merge "Specify .cpu cortex-a15"
* commit '45df6fb5f65ee162488d9c88fa7b4125b033e0e2':
  Specify .cpu cortex-a15
2014-12-02 02:44:33 +00:00
Christopher Ferris
45df6fb5f6 am 8374a548: Merge "Specify .cpu cortex-a15"
* commit '8374a5481394e89c46ecc0b7cf60381637edaaa5':
  Specify .cpu cortex-a15
2014-12-02 02:37:16 +00:00
Christopher Ferris
8374a54813 Merge "Specify .cpu cortex-a15" 2014-12-02 02:29:52 +00:00
Elliott Hughes
ca0580f6e5 am 97a96aee: am 4f16aa9a: am ec544e1b: Merge "Build our benchmarks against glibc too."
* commit '97a96aee6f15bf46bc125d388db2762ed0c42946':
  Build our benchmarks against glibc too.
2014-12-02 01:36:12 +00:00
Elliott Hughes
97a96aee6f am 4f16aa9a: am ec544e1b: Merge "Build our benchmarks against glibc too."
* commit '4f16aa9aec9705a74c7d518614c1f16e0cd65c5d':
  Build our benchmarks against glibc too.
2014-12-02 01:25:20 +00:00
Elliott Hughes
4f16aa9aec am ec544e1b: Merge "Build our benchmarks against glibc too."
* commit 'ec544e1b35cadaefd833b441dbec9c44adff6ade':
  Build our benchmarks against glibc too.
2014-12-02 01:03:34 +00:00
Elliott Hughes
ec544e1b35 Merge "Build our benchmarks against glibc too." 2014-12-02 00:57:44 +00:00
Elliott Hughes
212e0e3824 Build our benchmarks against glibc too.
Bug: 18556607
Change-Id: I455ac8b93c0835836180e549486bc52d393ee6a6
2014-12-01 16:43:51 -08:00
Elliott Hughes
abe9b1c17e am caa3593b: am bfcb37c6: am 076f69d8: Merge "Benchmark fread/fwrite both buffered and unbuffered."
* commit 'caa3593b122512116f2ad7726b90832e31b5c3f9':
  Benchmark fread/fwrite both buffered and unbuffered.
2014-12-01 22:00:33 +00:00
Elliott Hughes
212289cc94 am 6d11f116: am 8a400073: am 6f9d7444: Merge "Fix running the bionic benchmarks on the host."
* commit '6d11f116e78955c4c4851c1a59139cfb1266c7c3':
  Fix running the bionic benchmarks on the host.
2014-12-01 22:00:32 +00:00
Elliott Hughes
caa3593b12 am bfcb37c6: am 076f69d8: Merge "Benchmark fread/fwrite both buffered and unbuffered."
* commit 'bfcb37c608344b3b1f1981084910eb07e87f882d':
  Benchmark fread/fwrite both buffered and unbuffered.
2014-12-01 21:52:41 +00:00
Elliott Hughes
6d11f116e7 am 8a400073: am 6f9d7444: Merge "Fix running the bionic benchmarks on the host."
* commit '8a400073bf1c7d328366055f2d2a3401fd22530f':
  Fix running the bionic benchmarks on the host.
2014-12-01 21:52:40 +00:00
Elliott Hughes
bfcb37c608 am 076f69d8: Merge "Benchmark fread/fwrite both buffered and unbuffered."
* commit '076f69d828cfa5d30360e1dd2f24acd751d4a461':
  Benchmark fread/fwrite both buffered and unbuffered.
2014-12-01 21:46:29 +00:00
Elliott Hughes
8a400073bf am 6f9d7444: Merge "Fix running the bionic benchmarks on the host."
* commit '6f9d7444e801487fb2362955c62c379a681a55f6':
  Fix running the bionic benchmarks on the host.
2014-12-01 21:46:28 +00:00
Elliott Hughes
076f69d828 Merge "Benchmark fread/fwrite both buffered and unbuffered." 2014-12-01 21:43:32 +00:00
Elliott Hughes
6f9d7444e8 Merge "Fix running the bionic benchmarks on the host." 2014-12-01 21:40:25 +00:00
Elliott Hughes
47dc7c974e Benchmark fread/fwrite both buffered and unbuffered.
Bug: 18556607
Change-Id: I53905aedcea75fe550d9c423fb701c2c9bf8e831
2014-12-01 13:12:18 -08:00
Elliott Hughes
f2bb57cfe3 Fix running the bionic benchmarks on the host.
Bug: 18556607
Change-Id: I4e75bfcde788b43e1926be1b0146acf09b496390
2014-12-01 13:11:38 -08:00
Lorenzo Colitti
e5477f83b0 Fail queries fast if no DNS servers are configured.
When no DNS servers are configured (and thus there is no chance
that the DNS query will suceed), res_nsend returns early, but
it does not tell the cache that the query has failed.
Therefore, if the caller retries the query, it will block for
PENDING_REQUEST_TIMEOUT (= 20 seconds) waiting for the "existing
query" (which isn't actually doing anything) to complete.

Bug: 18240188
Bug: 18327075
Change-Id: I0df13ff4a17ee65e640be96695a3af31b020963a
2014-12-01 20:03:25 +00:00
Yabin Cui
95bf06da03 am d4130c87: am 44e69856: am 3e6ef3f9: Merge "support _POSIX_CPUTIME"
* commit 'd4130c870d91b6be88f2685717b28ece05fdddcf':
  support _POSIX_CPUTIME
2014-12-01 17:22:28 +00:00
Yabin Cui
d4130c870d am 44e69856: am 3e6ef3f9: Merge "support _POSIX_CPUTIME"
* commit '44e698565c58e560c0d04c9d8b3fa3bf28b21de0':
  support _POSIX_CPUTIME
2014-12-01 17:16:23 +00:00
Yabin Cui
44e698565c am 3e6ef3f9: Merge "support _POSIX_CPUTIME"
* commit '3e6ef3f90285191976a60d7a94287fb0fec1af5d':
  support _POSIX_CPUTIME
2014-12-01 17:09:48 +00:00
David 'Digit' Turner
da741f81f2 am d4f6518c: am 4c7e4b96: am fabb4282: Merge "libc: Fix headers to allow direct inclusion."
* commit 'd4f6518ce21f299fe2bad8abf4b9d5ce488adeb5':
  libc: Fix headers to allow direct inclusion.
2014-12-01 17:06:27 +00:00
Yabin Cui
3e6ef3f902 Merge "support _POSIX_CPUTIME" 2014-12-01 17:06:02 +00:00
David 'Digit' Turner
d4f6518ce2 am 4c7e4b96: am fabb4282: Merge "libc: Fix headers to allow direct inclusion."
* commit '4c7e4b9695d3404df4df9dafad1e7901cf346016':
  libc: Fix headers to allow direct inclusion.
2014-12-01 17:01:39 +00:00
David 'Digit' Turner
4c7e4b9695 am fabb4282: Merge "libc: Fix headers to allow direct inclusion."
* commit 'fabb4282be66caed37c405e36c94dd1dc30ddbb2':
  libc: Fix headers to allow direct inclusion.
2014-12-01 16:55:32 +00:00
David 'Digit' Turner
fabb4282be Merge "libc: Fix headers to allow direct inclusion." 2014-12-01 16:50:04 +00:00
David 'Digit' Turner
aad1a39dfb libc: Fix headers to allow direct inclusion.
These headers are missing a few #includes to allow their direct
inclusion from C

http://b.android.com/79841

Change-Id: Ifc712c17f4da70b26adb67d4d49ed659f53c3621
2014-12-01 15:44:24 +01:00
Bernhard Rosenkränzer
ce46f5576a Specify .cpu cortex-a15
When building with clang without this change, as errors out saying pldw
is an unsupported instruction (because it isn't part of the ARMv7 core
instruction set).
Let as know using pldw is fine.

Change-Id: Ie1f9c4b873e93ab2b3b374d2d46e476a4e581710
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-11-30 22:17:30 +01:00
Elliott Hughes
964c49f505 am 871fb863: am 6823cbe5: am 7602628e: Merge "Add error-check when mapping socket to fd"
* commit '871fb8630991765caa800ee6061df875fce42e9e':
  Add error-check when mapping socket to fd
2014-11-27 19:39:13 +00:00
Elliott Hughes
871fb86309 am 6823cbe5: am 7602628e: Merge "Add error-check when mapping socket to fd"
* commit '6823cbe5812011109f6384f945e767758b287fa4':
  Add error-check when mapping socket to fd
2014-11-27 19:33:16 +00:00
Elliott Hughes
6823cbe581 am 7602628e: Merge "Add error-check when mapping socket to fd"
* commit '7602628e972b90689b8f39e0c837cad28383bc2b':
  Add error-check when mapping socket to fd
2014-11-27 19:10:14 +00:00
Elliott Hughes
7602628e97 Merge "Add error-check when mapping socket to fd" 2014-11-27 19:05:13 +00:00
Robert Alm
3638a83657 Add error-check when mapping socket to fd
The call to fdopen can fail in several ways.
The fprintf on the next line will then dereference a
NULL-pointer FILE*.
Added a NULL-check, closed the socket, returned system error
and added a comment about it.

Change-Id: I7a6b26aa3c79452b1fdd76af12dfa75da88cbad7
2014-11-27 11:01:50 -08:00
Elliott Hughes
8f73d930dd am 682f9e01: am a169a98c: am 46140327: Merge "Move a private x86-64 header file out of the limelight."
* commit '682f9e01d8b5dbe594f18479326bf52ce666c51f':
  Move a private x86-64 header file out of the limelight.
2014-11-27 17:36:11 +00:00
Elliott Hughes
682f9e01d8 am a169a98c: am 46140327: Merge "Move a private x86-64 header file out of the limelight."
* commit 'a169a98ce449cb4ce0686480241d1d5afae42123':
  Move a private x86-64 header file out of the limelight.
2014-11-27 17:30:38 +00:00
Elliott Hughes
a169a98ce4 am 46140327: Merge "Move a private x86-64 header file out of the limelight."
* commit '461403270593363dfe0b75db9f5e9f454b4258d2':
  Move a private x86-64 header file out of the limelight.
2014-11-27 17:24:23 +00:00
Elliott Hughes
4614032705 Merge "Move a private x86-64 header file out of the limelight." 2014-11-27 17:20:50 +00:00
Elliott Hughes
04fb6c6d84 am cce22649: am bfc06e4e: am 87516a65: Merge "[MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6"
* commit 'cce22649c0834324c6c36e85cbe90c98d0917e3e':
  [MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6
2014-11-27 14:01:32 +00:00
Elliott Hughes
33933ede5c am 28f9ea7a: am 5d6ecd79: am cc0a9e6b: Merge "bionic tests: add setjmp/_setjmp/sigsetjmp tests."
* commit '28f9ea7ab935adaa69475ee7a70febb57a723a27':
  bionic tests: add setjmp/_setjmp/sigsetjmp tests.
2014-11-27 14:01:31 +00:00
Elliott Hughes
cce22649c0 am bfc06e4e: am 87516a65: Merge "[MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6"
* commit 'bfc06e4eabd0cb0357e465ad971d36307f370077':
  [MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6
2014-11-27 13:54:43 +00:00
Elliott Hughes
28f9ea7ab9 am 5d6ecd79: am cc0a9e6b: Merge "bionic tests: add setjmp/_setjmp/sigsetjmp tests."
* commit '5d6ecd79db6330da1c196d8e9441b0d7d1dd7fe3':
  bionic tests: add setjmp/_setjmp/sigsetjmp tests.
2014-11-27 13:54:42 +00:00
Elliott Hughes
1b66f6e9d7 Move a private x86-64 header file out of the limelight.
Currently this is on everyone's include path and is getting exported
via the NDK.

Change-Id: Ia417839fb65c7e0afddcd9fae3438665dae8e752
2014-11-26 19:31:19 -08:00
Elliott Hughes
bfc06e4eab am 87516a65: Merge "[MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6"
* commit '87516a6508add943cea99f3d29cb8bd89c4a3bdb':
  [MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6
2014-11-27 02:35:02 +00:00
Elliott Hughes
87516a6508 Merge "[MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6" 2014-11-27 02:28:50 +00:00
Elliott Hughes
5d6ecd79db am cc0a9e6b: Merge "bionic tests: add setjmp/_setjmp/sigsetjmp tests."
* commit 'cc0a9e6bdf0c07f0ce9fab106a026bfb30757b86':
  bionic tests: add setjmp/_setjmp/sigsetjmp tests.
2014-11-27 01:52:32 +00:00
Elliott Hughes
cc0a9e6bdf Merge "bionic tests: add setjmp/_setjmp/sigsetjmp tests." 2014-11-27 01:33:09 +00:00
Yongqin Liu
9fea4090f1 bionic tests: add setjmp/_setjmp/sigsetjmp tests.
Bug: 17288973
Change-Id: I2808eee58cbddae1b16fbe19a715b72d6dbaaec3
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-11-26 17:31:24 -08:00
Yabin Cui
d5c652756b support _POSIX_CPUTIME
Bug: 18490039
Change-Id: I01fa83b48e1b908de1f227b6e4f98e280bcd50ee
2014-11-26 17:14:50 -08:00
Nicolas Geoffray
196358e019 am ef06f061: am 212452dc: am f64c43ba: Merge "Revert "Use mmap to create the pthread_internal_t.""
* commit 'ef06f061441a495c143e8f867ebf75b3221f3686':
  Revert "Use mmap to create the pthread_internal_t."
2014-11-26 12:15:41 +00:00
Nicolas Geoffray
ef06f06144 am 212452dc: am f64c43ba: Merge "Revert "Use mmap to create the pthread_internal_t.""
* commit '212452dc6ea16ec29d1b44317156f194ac25c226':
  Revert "Use mmap to create the pthread_internal_t."
2014-11-26 12:09:30 +00:00
Nicolas Geoffray
212452dc6e am f64c43ba: Merge "Revert "Use mmap to create the pthread_internal_t.""
* commit 'f64c43ba6c9244c50e904961dc432f04b1dfcfd9':
  Revert "Use mmap to create the pthread_internal_t."
2014-11-26 12:03:26 +00:00
Nicolas Geoffray
f64c43ba6c Merge "Revert "Use mmap to create the pthread_internal_t."" 2014-11-26 11:57:46 +00:00
Nicolas Geoffray
5b8ceff5f8 Revert "Use mmap to create the pthread_internal_t."
Unfortunately, this change provokes random crashes for ART, and
I have seen libc crashes on the device that might be related to it.

Reverting it fixes the ART crashes. there is unfortunately no
stack trace for the crashes, but just a "Segmentation fault" message.


This reverts commit cc5f6543e3f91385b9a912438965b7e8265df54a.

Change-Id: I68dca8e1e9b9edcce7eb84596e8db619e40e8052
2014-11-26 11:56:54 +00:00
Duane Sand
3a4786348e [MIPS] Rewrite of setjmp/longjmp for mips64 and mipsr6
Change-Id: Idcd13413520dd503bc9cf782553675313e500a83
2014-11-25 17:33:10 -08:00
Yabin Cui
3f22e91900 am 0673b42e: am 896038a4: am 4a6069a8: Merge "Use mmap to create the pthread_internal_t."
* commit '0673b42e16f57459b74773dc622d05f7fa4039c3':
  Use mmap to create the pthread_internal_t.
2014-11-26 00:09:17 +00:00
Yabin Cui
0673b42e16 am 896038a4: am 4a6069a8: Merge "Use mmap to create the pthread_internal_t."
* commit '896038a454f869943d3c4e82b01b9687962007cf':
  Use mmap to create the pthread_internal_t.
2014-11-26 00:04:23 +00:00
Yabin Cui
896038a454 am 4a6069a8: Merge "Use mmap to create the pthread_internal_t."
* commit '4a6069a8af7755076283749111b7fac308c7bb7e':
  Use mmap to create the pthread_internal_t.
2014-11-25 23:58:36 +00:00
Yabin Cui
4a6069a8af Merge "Use mmap to create the pthread_internal_t." 2014-11-25 23:53:44 +00:00
Yabin Cui
cc5f6543e3 Use mmap to create the pthread_internal_t.
Bug: 16847284
Change-Id: Ic8c85f95afac1d8422ecb69674c688d1fecb6a44
2014-11-25 15:25:06 -08:00
Yabin Cui
286e46735e am 779cd7d7: am e9367cee: am eb3a5e02: Merge "flesh out sysconf(3) and the _POSIX_* constants"
* commit '779cd7d7c708fef1f7d689e8eb41b3c49bf54b5b':
  flesh out sysconf(3) and the _POSIX_* constants
2014-11-24 02:20:37 +00:00
Yabin Cui
779cd7d7c7 am e9367cee: am eb3a5e02: Merge "flesh out sysconf(3) and the _POSIX_* constants"
* commit 'e9367cee64349b16807efd448ab1261a091eeb22':
  flesh out sysconf(3) and the _POSIX_* constants
2014-11-24 02:17:09 +00:00
Yabin Cui
e9367cee64 am eb3a5e02: Merge "flesh out sysconf(3) and the _POSIX_* constants"
* commit 'eb3a5e026e65ea80b17580a71f4451f5cf5d6612':
  flesh out sysconf(3) and the _POSIX_* constants
2014-11-24 02:13:02 +00:00
Yabin Cui
eb3a5e026e Merge "flesh out sysconf(3) and the _POSIX_* constants" 2014-11-24 01:59:23 +00:00
Elliott Hughes
609cd58c31 am cfd3cc57: am bb03af30: am 95a02366: Merge "Sync with upstream OpenBSD fts.c."
* commit 'cfd3cc57475146fafe18bdbb538eddc11fe14f3f':
  Sync with upstream OpenBSD fts.c.
2014-11-23 18:19:04 +00:00
Elliott Hughes
cfd3cc5747 am bb03af30: am 95a02366: Merge "Sync with upstream OpenBSD fts.c."
* commit 'bb03af305d22dbbc4d07da033a6683eb93880223':
  Sync with upstream OpenBSD fts.c.
2014-11-23 18:14:12 +00:00
Elliott Hughes
bb03af305d am 95a02366: Merge "Sync with upstream OpenBSD fts.c."
* commit '95a02366f2697ed65c4a2849a9cbde3d403142e3':
  Sync with upstream OpenBSD fts.c.
2014-11-23 18:09:50 +00:00
Elliott Hughes
95a02366f2 Merge "Sync with upstream OpenBSD fts.c." 2014-11-23 18:06:29 +00:00
Dan Albert
909f6d51fc am 67788cce: am 26036279: am 806dd9f9: Merge "Move some pthread functions to signal.h."
* commit '67788cce25b133d85c89dfee3562c739ab01b3bb':
  Move some pthread functions to signal.h.
2014-11-22 22:47:25 +00:00
Dan Albert
67788cce25 am 26036279: am 806dd9f9: Merge "Move some pthread functions to signal.h."
* commit '260362798c28446231c5c387c6b0336cf87ab3d3':
  Move some pthread functions to signal.h.
2014-11-22 22:44:43 +00:00
Dan Albert
260362798c am 806dd9f9: Merge "Move some pthread functions to signal.h."
* commit '806dd9f90c8daadfafd19d69e3f36bb00729cb8e':
  Move some pthread functions to signal.h.
2014-11-22 22:42:34 +00:00
Dan Albert
806dd9f90c Merge "Move some pthread functions to signal.h." 2014-11-22 22:38:51 +00:00
Elliott Hughes
2818279ace Sync with upstream OpenBSD fts.c.
Change-Id: Ia7e26b603f6461095b5a8d7e8a6cdf4f8279fa84
2014-11-21 19:27:28 -08:00
Yabin Cui
1c19194c9d flesh out sysconf(3) and the _POSIX_* constants
Bug: 17571891
Change-Id: I81036615486bde65969ae5662587fcc88348474e
2014-11-21 19:10:52 -08:00
Elliott Hughes
d4c6d8918a am 2a796800: am 97b2a7ba: am d77c1ec9: Merge "Bring our <machine/endian.h> files back in sync."
* commit '2a796800725e3fdb889994c5e1ad6ace6bbd05e0':
  Bring our <machine/endian.h> files back in sync.
2014-11-22 02:55:34 +00:00
Elliott Hughes
2a79680072 am 97b2a7ba: am d77c1ec9: Merge "Bring our <machine/endian.h> files back in sync."
* commit '97b2a7bae0a8f9164d4b9de2b9e8676463dcb8b3':
  Bring our <machine/endian.h> files back in sync.
2014-11-22 02:51:24 +00:00
Elliott Hughes
97b2a7bae0 am d77c1ec9: Merge "Bring our <machine/endian.h> files back in sync."
* commit 'd77c1ec90a17ac91c24904670ba9a3a60fe4cd3d':
  Bring our <machine/endian.h> files back in sync.
2014-11-22 02:44:26 +00:00
Elliott Hughes
d77c1ec90a Merge "Bring our <machine/endian.h> files back in sync." 2014-11-22 02:41:44 +00:00
Elliott Hughes
ee369fb319 Bring our <machine/endian.h> files back in sync.
They'd drifted slightly which led to a compilation error in toybox,
which was assuming pid_t was defined. arm and arm64 were picking it
up via <endian.h> but x86 wasn't.

Change-Id: I58401e6c0066959dfc3b305b020876aaf7074bbf
2014-11-21 18:34:36 -08:00
Dmitriy Ivanov
ca27df9ba6 am 681e4896: am 7b7e7992: am 80838f19: Merge "Mips: remove arch-specific atexit.h"
* commit '681e4896377ddec7d28a9b14982840cb16db4609':
  Mips: remove arch-specific atexit.h
2014-11-21 23:59:44 +00:00
Dmitriy Ivanov
c19b3c7170 am c0e7e9c0: am d53cdb59: am ff1c2526: Merge "Mips: Remove unused files"
* commit 'c0e7e9c04080d2ddc456fcb30702012c372b344b':
  Mips: Remove unused files
2014-11-21 23:59:43 +00:00
Dmitriy Ivanov
64a3ffc861 am ceddf594: am cfacfcc3: am 6b1230b5: Merge "Mips: Reuse atexit.h from libc/arch-common"
* commit 'ceddf5946361d5ad3c2677a3164d8b716196d338':
  Mips: Reuse atexit.h from libc/arch-common
2014-11-21 23:13:24 +00:00
Dan Albert
13009d7726 am 76f4498c: am a77b8529: am 66ca8249: Merge "Revert "<sched.h> should offer both __sched_priority and sched_priority.""
* commit '76f4498c4a5b78bb3ec6508c4c7e88f48fa76fda':
  Revert "<sched.h> should offer both __sched_priority and sched_priority."
2014-11-21 23:12:57 +00:00
Dmitriy Ivanov
681e489637 am 7b7e7992: am 80838f19: Merge "Mips: remove arch-specific atexit.h"
* commit '7b7e799209a47a22d596fda1a5946f17f17052db':
  Mips: remove arch-specific atexit.h
2014-11-21 23:07:29 +00:00
Dmitriy Ivanov
c0e7e9c040 am d53cdb59: am ff1c2526: Merge "Mips: Remove unused files"
* commit 'd53cdb59c33b25005dcd3f6bd85cf4ce11908432':
  Mips: Remove unused files
2014-11-21 23:07:27 +00:00
Dmitriy Ivanov
7b7e799209 am 80838f19: Merge "Mips: remove arch-specific atexit.h"
* commit '80838f190ad9454d1a9ebc2204cbfbbb22086f56':
  Mips: remove arch-specific atexit.h
2014-11-21 23:04:49 +00:00
Dmitriy Ivanov
d53cdb59c3 am ff1c2526: Merge "Mips: Remove unused files"
* commit 'ff1c25262d801e631c88526346989b033805607d':
  Mips: Remove unused files
2014-11-21 23:01:11 +00:00
Dmitriy Ivanov
80838f190a Merge "Mips: remove arch-specific atexit.h" 2014-11-21 22:59:07 +00:00
Dmitriy Ivanov
4ae178f81d Mips: remove arch-specific atexit.h
Change-Id: I687ff4ead6c5e81db44782bf851cb84f87bfe085
2014-11-21 14:42:53 -08:00
Dmitriy Ivanov
ff1c25262d Merge "Mips: Remove unused files" 2014-11-21 22:38:47 +00:00
Dmitriy Ivanov
e3e8d15f23 Mips: Remove unused files
Change-Id: If98b832ee32f6dcd9f5d7ae21c601c210adfad6b
2014-11-21 14:29:43 -08:00
Dmitriy Ivanov
ceddf59463 am cfacfcc3: am 6b1230b5: Merge "Mips: Reuse atexit.h from libc/arch-common"
* commit 'cfacfcc398dc3990625cac12203693d4fead63b0':
  Mips: Reuse atexit.h from libc/arch-common
2014-11-21 21:23:23 +00:00
Dmitriy Ivanov
cfacfcc398 am 6b1230b5: Merge "Mips: Reuse atexit.h from libc/arch-common"
* commit '6b1230b57649309050d21929e02d0ccab87ff36b':
  Mips: Reuse atexit.h from libc/arch-common
2014-11-21 21:20:57 +00:00
Dmitriy Ivanov
6b1230b576 Merge "Mips: Reuse atexit.h from libc/arch-common" 2014-11-21 21:17:19 +00:00
Dmitriy Ivanov
c619603a31 Mips: Reuse atexit.h from libc/arch-common
Change-Id: Ica1670e6d3d1b6b0c64df93720efa65586e67727
2014-11-21 13:07:36 -08:00
Dan Albert
76f4498c4a am a77b8529: am 66ca8249: Merge "Revert "<sched.h> should offer both __sched_priority and sched_priority.""
* commit 'a77b8529ebe1b952ae89649c24f38859bd7e7b46':
  Revert "<sched.h> should offer both __sched_priority and sched_priority."
2014-11-21 20:25:59 +00:00
Dan Albert
a77b8529eb am 66ca8249: Merge "Revert "<sched.h> should offer both __sched_priority and sched_priority.""
* commit '66ca82495cb24545897bb4141f55afd2f17775b7':
  Revert "<sched.h> should offer both __sched_priority and sched_priority."
2014-11-21 20:19:48 +00:00
Dan Albert
66ca82495c Merge "Revert "<sched.h> should offer both __sched_priority and sched_priority."" 2014-11-21 20:15:55 +00:00
Dan Albert
75ef63d6cf Move some pthread functions to signal.h.
POSIX specifies that pthread_kill(3) and pthread_sigmask(3) are
supposed to live in signal.h rather than pthread.h.

Since signal.h now needs pthread_t and pthread_attr_t, I've moved
those defintions into include/machine/pthread_types.h to keep the
namespace clean. I also sorted some includes. The combination of these
two things seems to have exploded into a cascade of missing includes,
so this patch also cleans up all those.

Change-Id: Icfa92a39432fe83f542a797e5a113289d7e4ad0c
2014-11-21 10:26:09 -08:00
Dan Albert
f664034887 Revert "<sched.h> should offer both __sched_priority and sched_priority."
This was only ever added to keep strace compiling, but strace has
since (actually, prior) fixed their source to use the less ugly name,
so we don't need this anymore (good riddance, #define!).

This reverts commit bbb34f9536db8234b0b43bd5333256fa4accc50e.
2014-11-21 10:24:40 -08:00
Dmitriy Ivanov
5669390ec9 am 6854b511: am c07f7ee7: am a847073a: Merge "Rename test_forked -> test_isolated"
* commit '6854b511f26cfafdc8ae58eb905c3286bafe672f':
  Rename test_forked -> test_isolated
2014-11-21 16:15:42 +00:00
Dmitriy Ivanov
6854b511f2 am c07f7ee7: am a847073a: Merge "Rename test_forked -> test_isolated"
* commit 'c07f7ee70daa04aa5d77771d8859592d110a7177':
  Rename test_forked -> test_isolated
2014-11-21 16:11:18 +00:00
Dmitriy Ivanov
c07f7ee70d am a847073a: Merge "Rename test_forked -> test_isolated"
* commit 'a847073a05295cc140fc79c9d433961442a6cae4':
  Rename test_forked -> test_isolated
2014-11-21 16:07:11 +00:00
Dmitriy Ivanov
a847073a05 Merge "Rename test_forked -> test_isolated" 2014-11-21 16:02:43 +00:00
Dmitriy Ivanov
0864d8bc47 Rename test_forked -> test_isolated
Change-Id: Ie72627e986c159832cbd3635d8ff5b1af3d5b1eb
2014-11-20 22:53:59 -08:00
Dmitriy Ivanov
6e57509488 am 7af0b557: am 4b0e0fa7: am 8b4b8273: Merge "Add test_forked() option"
* commit '7af0b557405893352f01f396f70a01280b5a555d':
  Add test_forked() option
2014-11-21 02:31:59 +00:00
Dmitriy Ivanov
7af0b55740 am 4b0e0fa7: am 8b4b8273: Merge "Add test_forked() option"
* commit '4b0e0fa75337449635845d5adf1f337d69608ba0':
  Add test_forked() option
2014-11-21 02:15:04 +00:00
Dmitriy Ivanov
4b0e0fa753 am 8b4b8273: Merge "Add test_forked() option"
* commit '8b4b82733877928da429e47d9a9bb73317517b2e':
  Add test_forked() option
2014-11-21 01:27:14 +00:00
Dmitriy Ivanov
8b4b827338 Merge "Add test_forked() option" 2014-11-21 01:21:16 +00:00
Dmitriy Ivanov
00e37818a7 Add test_forked() option
Executing test via test_forked() allows us to
 avoid undesired global state changes in tests like
 atexit, dlopen(.., RTLD_NODELETE) and similar.

Change-Id: I118cdf009269ab5dd7b117c9b61dafa47de2a011
2014-11-20 17:11:06 -08:00
Elliott Hughes
a604c4ac2f am d41e4403: am 432f6458: Fix flockfile(3) and friends for stdin/stdout/stderr too.
* commit 'd41e4403101ffab73c728828d56f254af2760947':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-20 23:19:32 +00:00
Elliott Hughes
d41e440310 am 432f6458: Fix flockfile(3) and friends for stdin/stdout/stderr too.
* commit '432f645887466ed7099addb20fa8915c8a29fcab':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-20 23:06:31 +00:00
Elliott Hughes
060521af91 am 2feba8cb: am 4e14c9b8: am 770198d3: Merge "Make the ftw(3) tests a bit more thorough."
* commit '2feba8cb14f0c9eee5c175279f90245fea8770ba':
  Make the ftw(3) tests a bit more thorough.
2014-11-20 00:23:08 +00:00
Elliott Hughes
2feba8cb14 am 4e14c9b8: am 770198d3: Merge "Make the ftw(3) tests a bit more thorough."
* commit '4e14c9b81faeab71fae62e24f5d8fb36337969ab':
  Make the ftw(3) tests a bit more thorough.
2014-11-20 00:18:14 +00:00
Elliott Hughes
4e14c9b81f am 770198d3: Merge "Make the ftw(3) tests a bit more thorough."
* commit '770198d3f707d5eccd6796f311015903aec31b26':
  Make the ftw(3) tests a bit more thorough.
2014-11-20 00:14:39 +00:00
Elliott Hughes
770198d3f7 Merge "Make the ftw(3) tests a bit more thorough." 2014-11-20 00:09:32 +00:00
Elliott Hughes
d0527de679 am c26375ae: am 4ed111ef: am 5313c3ff: Merge "Fix flockfile(3) and friends for stdin/stdout/stderr too."
* commit 'c26375ae5176179d51263306b2f40c0f1eff322f':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-20 00:02:08 +00:00
Elliott Hughes
c26375ae51 am 4ed111ef: am 5313c3ff: Merge "Fix flockfile(3) and friends for stdin/stdout/stderr too."
* commit '4ed111efe3a7f5b37039e3cce8039941977f390f':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-19 23:58:03 +00:00
Elliott Hughes
4ed111efe3 am 5313c3ff: Merge "Fix flockfile(3) and friends for stdin/stdout/stderr too."
* commit '5313c3ff89db33dc0af3fabfe142a7219adce0aa':
  Fix flockfile(3) and friends for stdin/stdout/stderr too.
2014-11-19 23:51:22 +00:00
Elliott Hughes
432f645887 Fix flockfile(3) and friends for stdin/stdout/stderr too.
stdin/stdout/stderr are special; their mutexes are initialized by
__sinit. There's no unit test for this, because __sinit has already
been called by the time the first unit test runs, but you could
reproduce this failure with a trivial main() that calls flockfile
or ftrylockfile on one of the standard streams before otherwise
using stdio.

Bug: 18208568

(cherry picked from commit c48c3e4bb3d1665f3e9fa2785daafa72dfe59399)

Change-Id: Ia0c43ed4ac69daea8152aee9516415a6e3f8a042
2014-11-19 15:49:09 -08:00
Elliott Hughes
5313c3ff89 Merge "Fix flockfile(3) and friends for stdin/stdout/stderr too." 2014-11-19 23:48:19 +00:00
Elliott Hughes
63bd43bbdc Make the ftw(3) tests a bit more thorough.
These also test much of fts(3).

Change-Id: Ia9245d6acbbd071191563ab1b91a400044104028
2014-11-19 15:47:53 -08:00
Elliott Hughes
c48c3e4bb3 Fix flockfile(3) and friends for stdin/stdout/stderr too.
stdin/stdout/stderr are special; their mutexes are initialized by
__sinit. There's no unit test for this, because __sinit has already
been called by the time the first unit test runs, but you could
reproduce this failure with a trivial main() that calls flockfile
or ftrylockfile on one of the standard streams before otherwise
using stdio.

Bug: 18208568
Change-Id: I28d232cf05a9f198a2bed61854d8047b23d2091d
2014-11-19 15:16:51 -08:00
Dmitriy Ivanov
b9e0a8490a am e0496865: am d3dcb783: am 6b48b20a: Merge "Yet another relocation test"
* commit 'e04968655f9881dcdc2756a80e341b9935361c46':
  Yet another relocation test
2014-11-19 19:52:19 +00:00
Dmitriy Ivanov
e04968655f am d3dcb783: am 6b48b20a: Merge "Yet another relocation test"
* commit 'd3dcb7830b3cbd2a650b6fa29e672e45fc3d689b':
  Yet another relocation test
2014-11-19 19:45:23 +00:00
Dmitriy Ivanov
d3dcb7830b am 6b48b20a: Merge "Yet another relocation test"
* commit '6b48b20a1e613dcb41704deb266142a7cc45588c':
  Yet another relocation test
2014-11-19 19:40:48 +00:00
Dmitriy Ivanov
6b48b20a1e Merge "Yet another relocation test" 2014-11-19 19:35:59 +00:00
Dmitriy Ivanov
7699d13a74 Yet another relocation test
This time we check if a -> b -> c function in 'a' relocates against
 implementation in 'c'.

Change-Id: I528180c3efd346bd447ea0237e5a8a0ac3cc031f
2014-11-19 10:39:05 -08:00
David 'Digit' Turner
8e6812bb00 am d2e2c336: am a2f6e783: am c9278b8a: Merge "libc: Move <sgidefs.h> to libc/arch-mips/"
* commit 'd2e2c3361a05d462c2669f4c1486841ed60e1f0b':
  libc: Move <sgidefs.h> to libc/arch-mips/
2014-11-19 15:02:18 +00:00
David 'Digit' Turner
d2e2c3361a am a2f6e783: am c9278b8a: Merge "libc: Move <sgidefs.h> to libc/arch-mips/"
* commit 'a2f6e783cd2a9c503194de3bd0e3d6ecac974cc2':
  libc: Move <sgidefs.h> to libc/arch-mips/
2014-11-19 14:56:44 +00:00
David 'Digit' Turner
a2f6e783cd am c9278b8a: Merge "libc: Move <sgidefs.h> to libc/arch-mips/"
* commit 'c9278b8a17e9a0a4e85c377105f500a7c1f41535':
  libc: Move <sgidefs.h> to libc/arch-mips/
2014-11-19 14:53:45 +00:00
David 'Digit' Turner
c9278b8a17 Merge "libc: Move <sgidefs.h> to libc/arch-mips/" 2014-11-19 14:49:52 +00:00
Yabin Cui
aeb1aecf51 am 2936af2e: am 9014065b: am 649f78df: Merge "fix shared gid support in getpwnam/getgrnam"
* commit '2936af2ec924e8f40a352b67a9bf214403c3aa36':
  fix shared gid support in getpwnam/getgrnam
2014-11-19 04:40:11 +00:00
Yabin Cui
2936af2ec9 am 9014065b: am 649f78df: Merge "fix shared gid support in getpwnam/getgrnam"
* commit '9014065b98664114528bc37bf1c2bb76546ef6b8':
  fix shared gid support in getpwnam/getgrnam
2014-11-19 04:35:28 +00:00
Yabin Cui
9014065b98 am 649f78df: Merge "fix shared gid support in getpwnam/getgrnam"
* commit '649f78df79bc45a46de9f3c391f395d5ab4fe73a':
  fix shared gid support in getpwnam/getgrnam
2014-11-19 04:28:31 +00:00
Yabin Cui
649f78df79 Merge "fix shared gid support in getpwnam/getgrnam" 2014-11-19 04:25:24 +00:00
Yabin Cui
a04c79b9d3 fix shared gid support in getpwnam/getgrnam
Bug: 18374693
Change-Id: I5353403cbbead6f6abac87bee2cf53a60dba408c
2014-11-18 19:58:04 -08:00
Dmitriy Ivanov
3ff915aab4 am 9a130604: am 52663836: am 27aa9c5b: Merge "Fix jump to unmapped memory on atexit"
* commit '9a130604173fcec4f3246e3e27376eeff7132d11':
  Fix jump to unmapped memory on atexit
2014-11-18 21:38:00 +00:00
Dmitriy Ivanov
9a13060417 am 52663836: am 27aa9c5b: Merge "Fix jump to unmapped memory on atexit"
* commit '5266383620998526652694d00155e9c6e49fb787':
  Fix jump to unmapped memory on atexit
2014-11-18 21:33:01 +00:00
Dmitriy Ivanov
5266383620 am 27aa9c5b: Merge "Fix jump to unmapped memory on atexit"
* commit '27aa9c5b50cc3e979fc67c1bf5296dfd725c8540':
  Fix jump to unmapped memory on atexit
2014-11-18 21:28:24 +00:00
Dmitriy Ivanov
27aa9c5b50 Merge "Fix jump to unmapped memory on atexit" 2014-11-18 21:25:37 +00:00
Dmitriy Ivanov
a2547055f2 Fix jump to unmapped memory on atexit
Split d-tor calls and soinfo_free to 2 separate steps

Bug: 18338888
Change-Id: Idbcb7242ade16fa18cba7fe30505ebd8d6023622
2014-11-18 13:16:27 -08:00
David 'Digit' Turner
6e50cb4544 libc: Move <sgidefs.h> to libc/arch-mips/
This is a MIPS-only header, and should not be part of the common
headers. See http://b.android.com/79841 for context.

Change-Id: I610bc3ff626b57e7854dad15a4a2f67e1e5ded75
2014-11-18 20:13:10 +01:00
Elliott Hughes
7d96a50f4e am 927fa38a: am cbdc7e68: am 8eda0a6d: Merge "libc: Fix mktime returns an uncorrect time in empty TZ case"
* commit '927fa38a53dff3d5a9386af7d082bb4428d4029e':
  libc: Fix mktime returns an uncorrect time in empty TZ case
2014-11-17 23:28:04 +00:00
Elliott Hughes
927fa38a53 am cbdc7e68: am 8eda0a6d: Merge "libc: Fix mktime returns an uncorrect time in empty TZ case"
* commit 'cbdc7e6883a7d1514af5cd8c1e186af3c487e930':
  libc: Fix mktime returns an uncorrect time in empty TZ case
2014-11-17 23:23:38 +00:00
Elliott Hughes
cbdc7e6883 am 8eda0a6d: Merge "libc: Fix mktime returns an uncorrect time in empty TZ case"
* commit '8eda0a6d69fda865b576bc18311a3d79c84b42a1':
  libc: Fix mktime returns an uncorrect time in empty TZ case
2014-11-17 23:18:39 +00:00
Elliott Hughes
8eda0a6d69 Merge "libc: Fix mktime returns an uncorrect time in empty TZ case" 2014-11-17 23:14:58 +00:00
Elliott Hughes
4380936524 am 58802c1a: resolved conflicts for merge of 047d943e to lmp-mr1-dev-plus-aosp
* commit '58802c1a458fb32f9d42a5f1486f61270a55e0dd':
  sysconf(3) returns long.
2014-11-17 19:32:33 +00:00
Elliott Hughes
58802c1a45 resolved conflicts for merge of 047d943e to lmp-mr1-dev-plus-aosp
Change-Id: Ic0e230083f25ab5a026beae80a1ddef9ff60accb
2014-11-17 11:26:42 -08:00
Dmitriy Ivanov
2aad16902f am 7b78a69d: am 78d809fd: am ee4c8feb: Merge "bionic/test: migrate sysconf tests from system/extras to bionic/tests"
* commit '7b78a69d85dc3ee5e1f7f64607e0ae80d0aec0f6':
  bionic/test: migrate sysconf tests from system/extras to bionic/tests
2014-11-17 19:00:14 +00:00
Elliott Hughes
ef73e44549 am f64b1a8b: am 18aa454f: am f2c88209: Merge "Add getaddrinfo(3) tests for NULL arguments."
* commit 'f64b1a8be284307569f3d0fac847125aff60b0cb':
  Add getaddrinfo(3) tests for NULL arguments.
2014-11-17 19:00:13 +00:00
Elliott Hughes
fa4606bbb8 am ac39e08b: am c0aba7c5: am 35f8910e: Merge "Remove remaining bionic support for TARGET_CPU_SMP being false."
* commit 'ac39e08bd521f735460789dfba1cf307b5deb5fd':
  Remove remaining bionic support for TARGET_CPU_SMP being false.
2014-11-17 19:00:12 +00:00
Dmitriy Ivanov
7b78a69d85 am 78d809fd: am ee4c8feb: Merge "bionic/test: migrate sysconf tests from system/extras to bionic/tests"
* commit '78d809fd4b5fe6f74e23e718a3c14c68200ac203':
  bionic/test: migrate sysconf tests from system/extras to bionic/tests
2014-11-17 18:53:04 +00:00
Elliott Hughes
f64b1a8be2 am 18aa454f: am f2c88209: Merge "Add getaddrinfo(3) tests for NULL arguments."
* commit '18aa454f2f7c67999d06f2fd3f0db55b78942d64':
  Add getaddrinfo(3) tests for NULL arguments.
2014-11-17 18:53:03 +00:00
Elliott Hughes
ac39e08bd5 am c0aba7c5: am 35f8910e: Merge "Remove remaining bionic support for TARGET_CPU_SMP being false."
* commit 'c0aba7c5ad7535ca5edd0a6683dd4a483701fee9':
  Remove remaining bionic support for TARGET_CPU_SMP being false.
2014-11-17 18:53:02 +00:00
Dmitriy Ivanov
78d809fd4b am ee4c8feb: Merge "bionic/test: migrate sysconf tests from system/extras to bionic/tests"
* commit 'ee4c8febb7bd1f5492486cc11980f925425b02ec':
  bionic/test: migrate sysconf tests from system/extras to bionic/tests
2014-11-17 18:48:23 +00:00
Dmitriy Ivanov
ee4c8febb7 Merge "bionic/test: migrate sysconf tests from system/extras to bionic/tests" 2014-11-17 18:43:32 +00:00
Elliott Hughes
18aa454f2f am f2c88209: Merge "Add getaddrinfo(3) tests for NULL arguments."
* commit 'f2c882095b5747cd7f3158428208580a7ff72ed6':
  Add getaddrinfo(3) tests for NULL arguments.
2014-11-17 18:31:53 +00:00
Elliott Hughes
c0aba7c5ad am 35f8910e: Merge "Remove remaining bionic support for TARGET_CPU_SMP being false."
* commit '35f8910e4cdf3f7d0b877394524c7dd719084187':
  Remove remaining bionic support for TARGET_CPU_SMP being false.
2014-11-17 18:31:51 +00:00
Elliott Hughes
f2c882095b Merge "Add getaddrinfo(3) tests for NULL arguments." 2014-11-17 18:26:46 +00:00
Elliott Hughes
35f8910e4c Merge "Remove remaining bionic support for TARGET_CPU_SMP being false." 2014-11-17 18:24:22 +00:00
Elliott Hughes
bfbf7a4300 Remove remaining bionic support for TARGET_CPU_SMP being false.
Change-Id: I02a0a1c0ae55ccb5c45d17fb99a09c374d71def4
2014-11-17 10:06:20 -08:00
Elliott Hughes
32fea147ea Add getaddrinfo(3) tests for NULL arguments.
According to https://github.com/ukanth/afwall/pull/213 some OEMs have
shipped a getaddrinfo(3) that crashes given NULL hostnames.

Change-Id: I9cea5fdd68546b7c64cf47e10e2b2b4d672b69d0
2014-11-16 12:14:04 -08:00
Dan Albert
6c35e5577b am 27cdb39e: am c449b7a5: am eef1eb64: Merge "Allow asan for glibc tests."
* commit '27cdb39e35b732bf413e346868bc7cf6e9ee710b':
  Allow asan for glibc tests.
2014-11-15 06:59:31 +00:00
Dan Albert
27cdb39e35 am c449b7a5: am eef1eb64: Merge "Allow asan for glibc tests."
* commit 'c449b7a533f797b223cdc2c8129de2261a547823':
  Allow asan for glibc tests.
2014-11-15 06:55:38 +00:00
Dan Albert
c449b7a533 am eef1eb64: Merge "Allow asan for glibc tests."
* commit 'eef1eb64bb5be68bfb00f8e71d3118a2cfec99e7':
  Allow asan for glibc tests.
2014-11-15 06:51:47 +00:00
Dan Albert
eef1eb64bb Merge "Allow asan for glibc tests." 2014-11-15 06:47:08 +00:00
Dan Albert
01f1ff2440 Allow asan for glibc tests.
SANITIZE_HOST will break if we don't allow ASAN.

Change-Id: I0beed82b058db391f633e0ea1098f140497c65d4
2014-11-14 20:00:06 -08:00
Satoru Takeuchi
154e2026c8 libc: Fix mktime returns an uncorrect time in empty TZ case
The mktime API returned an uncorrect time when TZ is set as empty.
A timezone UTC/GMT+0 should be implied in the empty case. However
mktime keeps previous information about timezone. If mktime was called
with a timezone which has DST before, the "defaulttype" member of
"state" structure wouldn't be 0. Then it would be used next time,
even though UTC/GMT+0 doesn't have DST.

Added initialization of the "defaulttype" in the empty TZ case.

Change-Id: Ic480c63c548c05444134e0aefb30a7b380e3f40b
2014-11-14 18:13:07 -08:00
Derek Xue
bc6447673f bionic/test: migrate sysconf tests from system/extras to bionic/tests
The old test are implemented in file:
  system/extras/tests/bionic/libc/other/test_sysconf.c
This change is to migrate them to bionic/tests with the gtest format.

and since the sysconf is defined in unistd.h, will put the test under
bionic/tests/unistd_test.cpp file as unistd.syscon test

Change-Id: Ie519147c1c86a6c4cefa8c88b18bf58bdfbffbdb
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-11-15 09:48:36 +08:00
Yabin Cui
167a932685 am 6ccaaa94: am 48c6f1b6: am 38569312: Merge "Add functions in sysinfo.h."
* commit '6ccaaa947aa271366c70023abbf7cef6d1e88a3d':
  Add functions in sysinfo.h.
2014-11-15 01:48:07 +00:00
Yabin Cui
6ccaaa947a am 48c6f1b6: am 38569312: Merge "Add functions in sysinfo.h."
* commit '48c6f1b66d0cb81aee81108b135b179c2bc46d1b':
  Add functions in sysinfo.h.
2014-11-15 01:01:29 +00:00
Yabin Cui
48c6f1b66d am 38569312: Merge "Add functions in sysinfo.h."
* commit '38569312bc5a3a4688d45997d81b59abb0a60825':
  Add functions in sysinfo.h.
2014-11-15 00:56:42 +00:00
Yabin Cui
38569312bc Merge "Add functions in sysinfo.h." 2014-11-15 00:53:37 +00:00
Yabin Cui
9d93986481 Add functions in sysinfo.h.
Bug: 17703902

Change-Id: I699d12d76a8fc483c919be730c2ac63641b71a1d
2014-11-14 16:22:48 -08:00
Yabin Cui
2b10fe28ae am 0006a38a: am b4e7f4e2: am 661423a4: Merge "Increase support of pathconf options."
* commit '0006a38adabce47b99690f605a51e45225f0ddaf':
  Increase support of pathconf options.
2014-11-14 23:55:48 +00:00
Yabin Cui
0006a38ada am b4e7f4e2: am 661423a4: Merge "Increase support of pathconf options."
* commit 'b4e7f4e2263d4763d9507463189ef8f50fd58a67':
  Increase support of pathconf options.
2014-11-14 23:52:53 +00:00
Yabin Cui
b4e7f4e226 am 661423a4: Merge "Increase support of pathconf options."
* commit '661423a453b2692d592df56307a876dfc35c50f2':
  Increase support of pathconf options.
2014-11-14 23:49:21 +00:00
Yabin Cui
661423a453 Merge "Increase support of pathconf options." 2014-11-14 23:45:45 +00:00
Yabin Cui
b5e581abfe Increase support of pathconf options.
Bug: 18206366
Change-Id: Ie770e49f5af3631eb9fbd2cd5174edf004c81e00
2014-11-14 23:45:24 +00:00
Elliott Hughes
e75b8db1bf am 134ec088: am c2760b19: am 4cf942d3: Merge "sysconf(3) returns long."
* commit '134ec0880d2277bca0a09d75a15b8fff17a766a8':
  sysconf(3) returns long.
2014-11-14 23:44:54 +00:00
Elliott Hughes
134ec0880d am c2760b19: am 4cf942d3: Merge "sysconf(3) returns long."
* commit 'c2760b19e7821f241b5d0c31fb975d312600dc58':
  sysconf(3) returns long.
2014-11-14 23:41:35 +00:00
Elliott Hughes
047d943ee9 sysconf(3) returns long.
On LP32, this makes no difference. Not an ABI change.

On LP64, results are going to be in %rax or x0 whether they're 32- or 64-bit,
and the only difference is going to be whether the top bits are clobbered.

(cherry picked from commit 60d84af1726225320b26683b726e5e735d9d76e8)

Bug: 18390956
Change-Id: I722461498bc5494e2972fb07d5189dffe76e8993
2014-11-14 15:37:49 -08:00
Elliott Hughes
c2760b19e7 am 4cf942d3: Merge "sysconf(3) returns long."
* commit '4cf942d318f2856dff078798ce9a3eac5de593b7':
  sysconf(3) returns long.
2014-11-14 23:36:21 +00:00
Elliott Hughes
4cf942d318 Merge "sysconf(3) returns long." 2014-11-14 23:33:20 +00:00
Elliott Hughes
60d84af172 sysconf(3) returns long.
On LP32, this makes no difference. Not an ABI change.

On LP64, results are going to be in %rax or x0 whether they're 32- or 64-bit,
and the only difference is going to be whether the top bits are clobbered.

Bug: 18390956
Change-Id: I0bd4496231bdded34c1fa03e895021ac0df7f8e1
2014-11-14 15:14:44 -08:00
Elliott Hughes
9931612379 am 2ee4e1a1: am 7cc4d2ef: am cdcef73a: Merge "Add non-macro stdin/stdout/stderr too."
* commit '2ee4e1a137e9bf78f5ceab0e8d9b0a5cdc5d7eef':
  Add non-macro stdin/stdout/stderr too.
2014-11-14 23:05:39 +00:00
Elliott Hughes
2ee4e1a137 am 7cc4d2ef: am cdcef73a: Merge "Add non-macro stdin/stdout/stderr too."
* commit '7cc4d2efa9a89928c3ff51d171f7a03e12793038':
  Add non-macro stdin/stdout/stderr too.
2014-11-14 23:00:56 +00:00
Elliott Hughes
7cc4d2efa9 am cdcef73a: Merge "Add non-macro stdin/stdout/stderr too."
* commit 'cdcef73a23833ebd50bb5b654eb278b164e286ad':
  Add non-macro stdin/stdout/stderr too.
2014-11-14 22:56:03 +00:00
Elliott Hughes
cdcef73a23 Merge "Add non-macro stdin/stdout/stderr too." 2014-11-14 22:52:08 +00:00
Elliott Hughes
168667c972 Add non-macro stdin/stdout/stderr too.
Various C and C++ standards explicitly say that stdin/stdout/stderr
should be macros, but glibc makes them global variables too. This
means it's possible to write code that uses those names as locals,
but that code (toybox being an example) won't build on bionic.

If we'd done this earlier, we could have hidden __sF for LP64, but
it's too late now.

Change-Id: I90cf8c73f52b66e1760b8fa2e135b9f9f9651230
2014-11-14 14:42:59 -08:00
Dmitriy Ivanov
f9724cb931 am a3a78ab1: am 23145263: am 27fa71eb: Merge "Fix host build for arm/arm64"
* commit 'a3a78ab168449c2baa56dba18668779b4bb5dfa6':
  Fix host build for arm/arm64
2014-11-14 20:26:29 +00:00
Dmitriy Ivanov
a3a78ab168 am 23145263: am 27fa71eb: Merge "Fix host build for arm/arm64"
* commit '2314526342f2a3e39ec50d8f49652cf29bbfec51':
  Fix host build for arm/arm64
2014-11-14 20:24:09 +00:00
Dmitriy Ivanov
2314526342 am 27fa71eb: Merge "Fix host build for arm/arm64"
* commit '27fa71ebc6ef63ed8020d7b040640cb6c0cf2a45':
  Fix host build for arm/arm64
2014-11-14 20:21:52 +00:00
Dmitriy Ivanov
27fa71ebc6 Merge "Fix host build for arm/arm64" 2014-11-14 20:19:37 +00:00
Dmitriy Ivanov
9df4b13baf Fix host build for arm/arm64
Change-Id: Id92543e4080aede205b3e63099fa2baa36ba21f0
2014-11-14 12:17:06 -08:00
Dmitriy Ivanov
bd61a03c8d am f4710e12: am 4ed18141: am 898aab28: Merge "Add test for --hash-style=sysv"
* commit 'f4710e12fa524ad17fa8f3e5c743b68e35b13c3c':
  Add test for --hash-style=sysv
2014-11-14 19:42:37 +00:00
Dmitriy Ivanov
f4710e12fa am 4ed18141: am 898aab28: Merge "Add test for --hash-style=sysv"
* commit '4ed181416a6c5c3168d7a2f014d18a056d546d62':
  Add test for --hash-style=sysv
2014-11-14 19:38:52 +00:00
Dmitriy Ivanov
4ed181416a am 898aab28: Merge "Add test for --hash-style=sysv"
* commit '898aab282cff2a2949bc1726f8a4b81c1c30148e':
  Add test for --hash-style=sysv
2014-11-14 19:33:51 +00:00
Dmitriy Ivanov
898aab282c Merge "Add test for --hash-style=sysv" 2014-11-14 19:31:33 +00:00
Dmitriy Ivanov
042e6fa091 am 084778da: am ca8b70bc: am c490b502: Merge "Rename soinfo methods and fields"
* commit '084778daed3b4180d23c3157b6de536b02cc2638':
  Rename soinfo methods and fields
2014-11-14 19:30:53 +00:00
Dmitriy Ivanov
b3356773c6 Add test for --hash-style=sysv
With build system switched to gnu-hash we need
 a test for sysv-hashed library.

Change-Id: I34adc216fa79199aa46066cf13fcc1c1f2581f0e
2014-11-14 11:19:22 -08:00
Christopher Ferris
82f6fd9b13 am e4695e3c: am e6d238a5: am 59b1dea8: Merge "Add missing function prototypes wcpcpy/wcpncpy."
* commit 'e4695e3c2f95f963e4afd80fde3ec172401573f5':
  Add missing function prototypes wcpcpy/wcpncpy.
2014-11-14 19:18:58 +00:00
Daniel Rosenberg
5e858eec0e am fb854deb: am 4a50d8ea: bionic: libc: Added path to vendor build properties file.
* commit 'fb854debc0db534210a349debd91f7b0c804e34e':
  bionic: libc: Added path to vendor build properties file.
2014-11-14 19:18:24 +00:00
Elliott Hughes
4d9ddfc536 am bdd5c628: am 9cfd1ec5: am 0a135b42: Merge "Fix our <mntent.h> implementation."
* commit 'bdd5c628937394fb61251030b21932dbf4eac2cf':
  Fix our <mntent.h> implementation.
2014-11-14 19:17:56 +00:00
Dmitriy Ivanov
084778daed am ca8b70bc: am c490b502: Merge "Rename soinfo methods and fields"
* commit 'ca8b70bc8d8a61c0a8b73577f5d90310c3d7cb9b':
  Rename soinfo methods and fields
2014-11-14 16:44:23 +00:00
Dmitriy Ivanov
ca8b70bc8d am c490b502: Merge "Rename soinfo methods and fields"
* commit 'c490b5029fdc96f1dbf00d02d0ad63a03d8cd4f3':
  Rename soinfo methods and fields
2014-11-14 16:38:19 +00:00
Dmitriy Ivanov
c490b5029f Merge "Rename soinfo methods and fields" 2014-11-14 16:33:17 +00:00
Dmitriy Ivanov
047b5934b5 Rename soinfo methods and fields
Change-Id: If68fbe287d3ad954238b1688f71013371f3f7fae
2014-11-13 19:48:32 -08:00
Christopher Ferris
e4695e3c2f am e6d238a5: am 59b1dea8: Merge "Add missing function prototypes wcpcpy/wcpncpy."
* commit 'e6d238a51cc7fb5e6621cb8c32b4f86780585907':
  Add missing function prototypes wcpcpy/wcpncpy.
2014-11-14 03:30:15 +00:00
Christopher Ferris
e6d238a51c am 59b1dea8: Merge "Add missing function prototypes wcpcpy/wcpncpy."
* commit '59b1dea8829b081e23c3156b44af624bf8fac962':
  Add missing function prototypes wcpcpy/wcpncpy.
2014-11-14 03:27:16 +00:00
Christopher Ferris
59b1dea882 Merge "Add missing function prototypes wcpcpy/wcpncpy." 2014-11-14 03:23:35 +00:00
Christopher Ferris
5c7d9584d9 Add missing function prototypes wcpcpy/wcpncpy.
Also add smoke tests for a few of the wchar functions.

Change-Id: Id1be522f55a6708564d444941f42097548f16497
2014-11-13 18:56:12 -08:00
Daniel Rosenberg
fb854debc0 am 4a50d8ea: bionic: libc: Added path to vendor build properties file.
* commit '4a50d8ead71c3dd6d9eebe23626d0d4e96dd963b':
  bionic: libc: Added path to vendor build properties file.
2014-11-14 01:39:46 +00:00
Elliott Hughes
75a869bdbf am 90075a32: am 105962b2: am 288fa03a: Merge "Assume glibc >= 2.15."
* commit '90075a328130b79f943be4f9249335d33dc76fa4':
  Assume glibc >= 2.15.
2014-11-14 00:47:26 +00:00
Elliott Hughes
8927477719 am ad7a8754: am 4dcb9c78: am 6229798a: Merge "Don\'t receive structs containing pointers over sockets."
* commit 'ad7a87548fc29484c99e311ad75b5804621b0d3a':
  Don't receive structs containing pointers over sockets.
2014-11-14 00:44:58 +00:00
Hans Boehm
2c3950ede9 am 1ba937c0: am 5b53da0b: am 854c98d6: Merge "Allow stdatomic.h to be included from mingw prebuilt."
* commit '1ba937c063191995c15c666cf146f0cf557dd10a':
  Allow stdatomic.h to be included from mingw prebuilt.
2014-11-14 00:44:42 +00:00
Elliott Hughes
bdd5c62893 am 9cfd1ec5: am 0a135b42: Merge "Fix our <mntent.h> implementation."
* commit '9cfd1ec535d0344bfd39c25b746a3bc32a0c5b61':
  Fix our <mntent.h> implementation.
2014-11-14 00:09:43 +00:00
Elliott Hughes
9cfd1ec535 am 0a135b42: Merge "Fix our <mntent.h> implementation."
* commit '0a135b4259077bbb48ec911c0fa92ab0654ffffa':
  Fix our <mntent.h> implementation.
2014-11-14 00:04:12 +00:00
Elliott Hughes
0a135b4259 Merge "Fix our <mntent.h> implementation." 2014-11-14 00:00:53 +00:00
Elliott Hughes
e3c4acf1e3 Fix our <mntent.h> implementation.
Used by toybox.

Change-Id: I36a5053423e5cc54ae02a68f4fe110d75134accd
2014-11-13 15:51:36 -08:00
Daniel Rosenberg
4a50d8ead7 bionic: libc: Added path to vendor build properties file.
Signed-off-by: Daniel Rosenberg <drosen@google.com>

(cherry picked from commit 71d220c1de1372e20c8bbec4ccf387991a3bb549)

Bug: 18281574
Change-Id: I2843f23ecb4c4ca79b230d8041bbca02dbedeadc
2014-11-13 13:09:59 -08:00
Elliott Hughes
90075a3281 am 105962b2: am 288fa03a: Merge "Assume glibc >= 2.15."
* commit '105962b2fecad08ec2218cf6f2de2d2b20085e85':
  Assume glibc >= 2.15.
2014-11-13 19:10:25 +00:00
Elliott Hughes
105962b2fe am 288fa03a: Merge "Assume glibc >= 2.15."
* commit '288fa03a5aa5ee69c321e7266cdc656d11d8c022':
  Assume glibc >= 2.15.
2014-11-13 19:03:19 +00:00
Elliott Hughes
288fa03a5a Merge "Assume glibc >= 2.15." 2014-11-13 18:11:00 +00:00
Elliott Hughes
ad7a87548f am 4dcb9c78: am 6229798a: Merge "Don\'t receive structs containing pointers over sockets."
* commit '4dcb9c781143d30cc05f225557da0d86c2ccb93e':
  Don't receive structs containing pointers over sockets.
2014-11-13 18:03:09 +00:00
Elliott Hughes
4dcb9c7811 am 6229798a: Merge "Don\'t receive structs containing pointers over sockets."
* commit '6229798a7c2aa4df3d8fba70c679a127ee88ad76':
  Don't receive structs containing pointers over sockets.
2014-11-13 17:58:57 +00:00
Hans Boehm
1ba937c063 am 5b53da0b: am 854c98d6: Merge "Allow stdatomic.h to be included from mingw prebuilt."
* commit '5b53da0bf5b8a0034dd495859d8f83cae671d7e6':
  Allow stdatomic.h to be included from mingw prebuilt.
2014-11-13 17:57:24 +00:00
Elliott Hughes
6229798a7c Merge "Don't receive structs containing pointers over sockets." 2014-11-13 17:56:08 +00:00
Hans Boehm
5b53da0bf5 am 854c98d6: Merge "Allow stdatomic.h to be included from mingw prebuilt."
* commit '854c98d63671e38b3537620f323addcd313c9f11':
  Allow stdatomic.h to be included from mingw prebuilt.
2014-11-13 17:53:23 +00:00
Hans Boehm
854c98d636 Merge "Allow stdatomic.h to be included from mingw prebuilt." 2014-11-13 17:49:53 +00:00
Elliott Hughes
55293c1dad Don't receive structs containing pointers over sockets.
Fixes x86-64 netd.

Change-Id: Iee5ef802ebbf2e000b2593643de4eec46f296c04
2014-11-12 22:06:35 -08:00
Elliott Hughes
68d98d832b Assume glibc >= 2.15.
This catches one trivial difference between us and glibc --- the error
returned by pthread_setname_np for an invalid pthread_t.

Change-Id: If4c21e22107c6488333d11184f8005f8669096c2
2014-11-12 21:03:26 -08:00
Elliott Hughes
d0a2431bb9 am 0c69b1bf: am 04d2a595: am 92a585c9: Merge "Fix glibc 2.15 build."
* commit '0c69b1bf89b116f7a2c822960d34126ae9d62a26':
  Fix glibc 2.15 build.
2014-11-13 04:12:08 +00:00
Dmitriy Ivanov
632e724515 am ca26fbc2: am 353463d0: am 38b47f6e: Merge "Fix mips build"
* commit 'ca26fbc24a7e817a9a195e536bee21cc7e27dccb':
  Fix mips build
2014-11-13 04:12:06 +00:00
Elliott Hughes
0c69b1bf89 am 04d2a595: am 92a585c9: Merge "Fix glibc 2.15 build."
* commit '04d2a59544354802526584a38968069ac65e813e':
  Fix glibc 2.15 build.
2014-11-13 04:05:18 +00:00
Dmitriy Ivanov
ca26fbc24a am 353463d0: am 38b47f6e: Merge "Fix mips build"
* commit '353463d0a2e507ec046647928af2dc17a76f890f':
  Fix mips build
2014-11-13 04:05:16 +00:00
Elliott Hughes
04d2a59544 am 92a585c9: Merge "Fix glibc 2.15 build."
* commit '92a585c91a83e63949431c617de936742b080150':
  Fix glibc 2.15 build.
2014-11-13 03:58:55 +00:00
Dmitriy Ivanov
353463d0a2 am 38b47f6e: Merge "Fix mips build"
* commit '38b47f6eb4631e1fb2cba0e47fd4832a58b16755':
  Fix mips build
2014-11-13 03:58:53 +00:00
Elliott Hughes
92a585c91a Merge "Fix glibc 2.15 build." 2014-11-13 03:37:47 +00:00
Dmitriy Ivanov
38b47f6eb4 Merge "Fix mips build" 2014-11-13 03:36:54 +00:00
Elliott Hughes
fb50057138 Fix glibc 2.15 build.
glibc 2.15 has prlimit64, has an unsetenv that's declared nonnull,
and hasn't fixed the problems we were having trying to use the
POSIX strerror_r in C++ code.

Change-Id: I834356a385e5ae55500bd86781691b6c1c9c8300
2014-11-12 19:31:21 -08:00
Dmitriy Ivanov
d19a02b9ef am c2788944: am 8d31f51a: am 16db1ae1: Merge "Add support for hash-style=gnu"
* commit 'c27889447c522725356ab8c082e55f817131d1a9':
  Add support for hash-style=gnu
2014-11-13 02:34:34 +00:00
Dmitriy Ivanov
c27889447c am 8d31f51a: am 16db1ae1: Merge "Add support for hash-style=gnu"
* commit '8d31f51a38f10917b2396412c2dbe45dc9abe864':
  Add support for hash-style=gnu
2014-11-13 02:29:06 +00:00
Dmitriy Ivanov
8894091683 Fix mips build
Change-Id: I58b01db38ab9a397a8bd77c1296aac12957c21da
2014-11-12 18:21:12 -08:00
Dan Albert
a16d941ebc am a8fe453f: am ed3555f5: am 468f8410: Merge "Add documentation about checkbuild."
* commit 'a8fe453f76ba107566cc5d531e78eba0bbbc9351':
  Add documentation about checkbuild.
2014-11-13 02:17:59 +00:00
Dmitriy Ivanov
8d31f51a38 am 16db1ae1: Merge "Add support for hash-style=gnu"
* commit '16db1ae1089fdfe65a123d3e4d61d509a099cddc':
  Add support for hash-style=gnu
2014-11-13 02:17:57 +00:00
Dmitriy Ivanov
16db1ae108 Merge "Add support for hash-style=gnu" 2014-11-13 02:10:30 +00:00
Hans Boehm
95f197f998 Allow stdatomic.h to be included from mingw prebuilt.
Define __GNUC_PREREQ if it isn't already defined.
This is a bit ugly, but it seems to be easiest to make this header as
context-independent as possible.  Together with the addition of a symbolic
link to this file from the mingw prebuilt, this appears to unblock
commit e9fa6be333e35d9e7ae435aeb32532875b95fe22.

Change-Id: I97e39cda8d8f9aa108aa61c4121da09eb9739062
2014-11-12 18:08:25 -08:00
Dan Albert
a8fe453f76 am ed3555f5: am 468f8410: Merge "Add documentation about checkbuild."
* commit 'ed3555f5b2e2bdc0699ff9627463723381e0d4c7':
  Add documentation about checkbuild.
2014-11-13 01:31:49 +00:00
Dan Albert
ed3555f5b2 am 468f8410: Merge "Add documentation about checkbuild."
* commit '468f84107aaf108ac6b3ff389342092c2551f859':
  Add documentation about checkbuild.
2014-11-13 01:22:00 +00:00
Dan Albert
468f84107a Merge "Add documentation about checkbuild." 2014-11-13 01:14:27 +00:00
Dan Albert
e66d57f532 Add documentation about checkbuild.
Change-Id: I2c2d06bc0dc3cdc58b5563f62889122b76f3c469
2014-11-12 17:08:38 -08:00
Dmitriy Ivanov
ec18ce06f2 Add support for hash-style=gnu
Change-Id: I171434a587420895feac8a9b1ad2342087197568
2014-11-12 16:38:12 -08:00
Christopher Ferris
ff51dc4f00 am 6e29794a: am 616fa27b: am 5d05d025: Merge "Add 64-bit slm optimized strlcpy and srlcat."
* commit '6e29794acb281b332abd8f7beb68ab8855f06ed4':
  Add 64-bit slm optimized strlcpy and srlcat.
2014-11-12 23:31:20 +00:00
Christopher Ferris
6e29794acb am 616fa27b: am 5d05d025: Merge "Add 64-bit slm optimized strlcpy and srlcat."
* commit '616fa27b60ffdb0560d7134ceb7d8cdd4fbe672c':
  Add 64-bit slm optimized strlcpy and srlcat.
2014-11-12 23:26:57 +00:00
Christopher Ferris
616fa27b60 am 5d05d025: Merge "Add 64-bit slm optimized strlcpy and srlcat."
* commit '5d05d025b51fc7b1a59f230000601bc593c12eea':
  Add 64-bit slm optimized strlcpy and srlcat.
2014-11-12 23:21:42 +00:00
Christopher Ferris
5d05d025b5 Merge "Add 64-bit slm optimized strlcpy and srlcat." 2014-11-12 23:18:00 +00:00
Yabin Cui
0a2f510e3a am e4f2eae0: am 1b6b274a: am e5cabca5: Merge "implement missing seekdir and telldir"
* commit 'e4f2eae0eeec05f64518b560d4901bdb18bf1170':
  implement missing seekdir and telldir
2014-11-12 20:50:01 +00:00
Yabin Cui
e4f2eae0ee am 1b6b274a: am e5cabca5: Merge "implement missing seekdir and telldir"
* commit '1b6b274a4b3d1b5462e379ff2144d42ae264677a':
  implement missing seekdir and telldir
2014-11-12 20:45:34 +00:00
Yabin Cui
1b6b274a4b am e5cabca5: Merge "implement missing seekdir and telldir"
* commit 'e5cabca516252addb5e305c8e1e0f35cafbcafbe':
  implement missing seekdir and telldir
2014-11-12 20:40:49 +00:00
Yabin Cui
e5cabca516 Merge "implement missing seekdir and telldir" 2014-11-12 20:36:26 +00:00
Elliott Hughes
883682c7f8 am 298dfb6f: am 03dd63bd: am bbdfa518: Merge "gethostname.c: change to report ENAMETOOLONG error when buflen is less"
* commit '298dfb6f9d7889ce65f3dc1761448885f6d45522':
  gethostname.c: change to report ENAMETOOLONG error when buflen is less
2014-11-12 20:20:57 +00:00
Elliott Hughes
3cf425d0c7 am 674cc2b8: am a4adc811: am 83204d57: Merge "bionic tests: migrate gethostname test to unistd_test.cpp from system/extras"
* commit '674cc2b8a159115f968426ef58e181a7358e1cec':
  bionic tests: migrate gethostname test to unistd_test.cpp from system/extras
2014-11-12 20:20:56 +00:00
Elliott Hughes
298dfb6f9d am 03dd63bd: am bbdfa518: Merge "gethostname.c: change to report ENAMETOOLONG error when buflen is less"
* commit '03dd63bda8846db77cab6b4f17c8a2478f7ac65c':
  gethostname.c: change to report ENAMETOOLONG error when buflen is less
2014-11-12 20:16:06 +00:00
Elliott Hughes
674cc2b8a1 am a4adc811: am 83204d57: Merge "bionic tests: migrate gethostname test to unistd_test.cpp from system/extras"
* commit 'a4adc811d291d641e8291795d479bf8f426725b3':
  bionic tests: migrate gethostname test to unistd_test.cpp from system/extras
2014-11-12 20:16:05 +00:00
Elliott Hughes
03dd63bda8 am bbdfa518: Merge "gethostname.c: change to report ENAMETOOLONG error when buflen is less"
* commit 'bbdfa518830d49565966acea02796769434e0d74':
  gethostname.c: change to report ENAMETOOLONG error when buflen is less
2014-11-12 20:11:41 +00:00
Elliott Hughes
a4adc811d2 am 83204d57: Merge "bionic tests: migrate gethostname test to unistd_test.cpp from system/extras"
* commit '83204d5708eb49df05ea365be01e136ef7823752':
  bionic tests: migrate gethostname test to unistd_test.cpp from system/extras
2014-11-12 20:11:40 +00:00
Elliott Hughes
bbdfa51883 Merge "gethostname.c: change to report ENAMETOOLONG error when buflen is less" 2014-11-12 20:09:59 +00:00
Elliott Hughes
83204d5708 Merge "bionic tests: migrate gethostname test to unistd_test.cpp from system/extras" 2014-11-12 20:08:57 +00:00
Yongqin Liu
2f954bab2d gethostname.c: change to report ENAMETOOLONG error when buflen is less
change to behaviour the same as glibc for the check about buflen

Change-Id: I98265a8fe441df6fed2527686f89b087364ca53d
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-11-12 12:07:33 -08:00
Derek Xue
d94e7f0f1d bionic tests: migrate gethostname test to unistd_test.cpp from system/extras
The old tests are implemented in file
    system/extras/tests/bionic/libc/common/test_gethostname.c
Here migrate the test to the tests/unistd_test.cpp file and
add some more checks

Change-Id: Iab1e3da873bb333d1ddefc03108d536933792db2
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-11-12 10:47:39 -08:00
Elliott Hughes
64c1152931 am bad436e8: am c05314a0: Merge "Fix tzdata update tools for \'backzone\'." into lmp-mr1-dev
* commit 'bad436e8b3c5b58742f7f6903fc30ce86b5210eb':
  Fix tzdata update tools for 'backzone'.
2014-11-12 17:32:58 +00:00
Elliott Hughes
38038009be am ea039a4a: am 1ca3350f: Upgrade bionic to tzdata2014j.
* commit 'ea039a4a4ebd2f5abf26d74fa800bf68cddb0ffa':
  Upgrade bionic to tzdata2014j.
2014-11-12 17:32:57 +00:00
Elliott Hughes
bad436e8b3 am c05314a0: Merge "Fix tzdata update tools for \'backzone\'." into lmp-mr1-dev
* commit 'c05314a0b230d6820e07bcc641e8a553b5196e86':
  Fix tzdata update tools for 'backzone'.
2014-11-12 17:28:49 +00:00
Elliott Hughes
ea039a4a4e am 1ca3350f: Upgrade bionic to tzdata2014j.
* commit '1ca3350f4c7b60afdb95784c9cb3ea5ba5ce591f':
  Upgrade bionic to tzdata2014j.
2014-11-12 17:28:48 +00:00
Elliott Hughes
c05314a0b2 Merge "Fix tzdata update tools for 'backzone'." into lmp-mr1-dev 2014-11-12 17:19:57 +00:00
Varvara Rainchik
2e7145c048 Add 64-bit slm optimized strlcpy and srlcat.
Change-Id: Ic948934d91c83bbfdfd00c05ee8b14952e012549
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-11-12 17:32:28 +03:00
Elliott Hughes
1ca3350f4c Upgrade bionic to tzdata2014j.
From the release notes:

   Changes affecting current and future time stamps

     Turks & Caicos' switch from US eastern time to UTC-4 year-round
     did not occur on 2014-11-02 at 02:00.  It's currently scheduled
     for 2015-11-01 at 02:00.  (Thanks to Chris Walton.)

   Changes affecting past time stamps

     Many pre-1989 time stamps have been corrected for Asia/Seoul and
     Asia/Pyongyang, based on sources for the Korean-language Wikipedia
     entry for time in Korea.  (Thanks to Sanghyuk Jung.)  Also, no
     longer guess that Pyongyang mimicked Seoul time after World War II,
     as this is politically implausible.

     Some more zones have been turned into links, when they differed
     from existing zones only for older time stamps.  As usual,
     these changes affect UTC offsets in pre-1970 time stamps only.
     Their old contents have been moved to the 'backzone' file.
     The affected zones are: Africa/Addis_Ababa, Africa/Asmara,
     Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Kampala,
     Africa/Mogadishu, Indian/Antananarivo, Indian/Comoro, and
     Indian/Mayotte.

Bug: 18330681

(cherry picked from commit b11d8e057c86c3926128af9d07180d9328e144c6)

Change-Id: Ifd48e7446e400dccae3afd5cbef96ca843775477
2014-11-11 19:56:09 -08:00
Elliott Hughes
371dcc189f Fix tzdata update tools for 'backzone'.
To maintain the status quo, we need to pull in backzone file. This file
can't be built on its own, so the easiest fix is to give zic(1) all the
files at once.

We also now have a situation where we have links to links, so we need to
dereference them until we find actual data.

Bug: 18330681

(cherry picked from commit 2c2463bd3065f0a5fef34a47e3eb94aad64b0cea)

Change-Id: I654b80518a7144038d8b3ea7223f49e2b1d2ad13
2014-11-11 19:55:35 -08:00
Elliott Hughes
d77cfd36e6 am d757f61f: am c25737a1: am 22271d0c: Merge "Upgrade bionic to tzdata2014j."
* commit 'd757f61f7fab5c68c9d12e7e4dbab617897e96d4':
  Upgrade bionic to tzdata2014j.
2014-11-12 03:44:22 +00:00
Elliott Hughes
77f8f38eba am 5daebfaa: am db71c2f3: am 440c80ad: Merge "Fix tzdata update tools for \'backzone\'."
* commit '5daebfaa6c58cddb79eb78af82964d5ba8a12c06':
  Fix tzdata update tools for 'backzone'.
2014-11-12 03:44:21 +00:00
Elliott Hughes
d757f61f7f am c25737a1: am 22271d0c: Merge "Upgrade bionic to tzdata2014j."
* commit 'c25737a193b77561a07cb778a947cd547148c46e':
  Upgrade bionic to tzdata2014j.
2014-11-12 02:53:45 +00:00
Elliott Hughes
5daebfaa6c am db71c2f3: am 440c80ad: Merge "Fix tzdata update tools for \'backzone\'."
* commit 'db71c2f3d22140cb2685362c35d93c374a621b7c':
  Fix tzdata update tools for 'backzone'.
2014-11-12 02:53:38 +00:00
Elliott Hughes
c25737a193 am 22271d0c: Merge "Upgrade bionic to tzdata2014j."
* commit '22271d0c200c8c2f7c7c960a8751eed0faa708ec':
  Upgrade bionic to tzdata2014j.
2014-11-12 02:35:54 +00:00
Elliott Hughes
22271d0c20 Merge "Upgrade bionic to tzdata2014j." 2014-11-12 02:32:10 +00:00
Elliott Hughes
db71c2f3d2 am 440c80ad: Merge "Fix tzdata update tools for \'backzone\'."
* commit '440c80ad47fd748251b09d5146f2cb896d75724f':
  Fix tzdata update tools for 'backzone'.
2014-11-12 02:28:11 +00:00
Elliott Hughes
b11d8e057c Upgrade bionic to tzdata2014j.
From the release notes:

   Changes affecting current and future time stamps

     Turks & Caicos' switch from US eastern time to UTC-4 year-round
     did not occur on 2014-11-02 at 02:00.  It's currently scheduled
     for 2015-11-01 at 02:00.  (Thanks to Chris Walton.)

   Changes affecting past time stamps

     Many pre-1989 time stamps have been corrected for Asia/Seoul and
     Asia/Pyongyang, based on sources for the Korean-language Wikipedia
     entry for time in Korea.  (Thanks to Sanghyuk Jung.)  Also, no
     longer guess that Pyongyang mimicked Seoul time after World War II,
     as this is politically implausible.

     Some more zones have been turned into links, when they differed
     from existing zones only for older time stamps.  As usual,
     these changes affect UTC offsets in pre-1970 time stamps only.
     Their old contents have been moved to the 'backzone' file.
     The affected zones are: Africa/Addis_Ababa, Africa/Asmara,
     Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Kampala,
     Africa/Mogadishu, Indian/Antananarivo, Indian/Comoro, and
     Indian/Mayotte.

Bug: 18330681
Change-Id: I4b6939b4dcf08c47df5595ae445b6f44f4a03418
2014-11-11 16:44:21 -08:00
Elliott Hughes
440c80ad47 Merge "Fix tzdata update tools for 'backzone'." 2014-11-12 00:42:50 +00:00
Elliott Hughes
2c2463bd30 Fix tzdata update tools for 'backzone'.
To maintain the status quo, we need to pull in backzone file. This file
can't be built on its own, so the easiest fix is to give zic(1) all the
files at once.

We also now have a situation where we have links to links, so we need to
dereference them until we find actual data.

Bug: 18330681
Change-Id: I03f4aa8e6e23802dc35cbff2f74f325eb17d7b2b
2014-11-11 16:30:18 -08:00
Daniel Rosenberg
6eccde6a40 am 7aa4e50a: am bb50a667: am 1fb6a4d5: Merge "bionic: libc: Added path to vendor build properties file."
* commit '7aa4e50a0973f0c5e5705418131e132051481422':
  bionic: libc: Added path to vendor build properties file.
2014-11-11 22:56:37 +00:00
Daniel Rosenberg
7aa4e50a09 am bb50a667: am 1fb6a4d5: Merge "bionic: libc: Added path to vendor build properties file."
* commit 'bb50a667441b0a2298eaa9ddeb7baf444b101947':
  bionic: libc: Added path to vendor build properties file.
2014-11-11 22:50:48 +00:00
Daniel Rosenberg
bb50a66744 am 1fb6a4d5: Merge "bionic: libc: Added path to vendor build properties file."
* commit '1fb6a4d5c034423d4a22ded0bd3d87a14a6cad9a':
  bionic: libc: Added path to vendor build properties file.
2014-11-11 22:43:49 +00:00
Daniel Rosenberg
1fb6a4d5c0 Merge "bionic: libc: Added path to vendor build properties file." 2014-11-11 20:40:04 +00:00
Daniel Rosenberg
71d220c1de bionic: libc: Added path to vendor build properties file.
Change-Id: Ia9fc257a82fdd592751cbcde3fcf453a49856f62
Signed-off-by: Daniel Rosenberg <drosen@google.com>
2014-11-11 12:18:22 -08:00
Andreas Gampe
417c40b110 am 44c32aaf: am 5f93f65d: am 1e75a9b5: Merge "Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional"
* commit '44c32aaf119da1e5c70565df2bde5f5844a37c76':
  Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional
2014-11-11 20:05:57 +00:00
Andreas Gampe
44c32aaf11 am 5f93f65d: am 1e75a9b5: Merge "Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional"
* commit '5f93f65d3f514c39e76c0ae1a117c45ac2f72a67':
  Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional
2014-11-11 19:58:43 +00:00
Andreas Gampe
5f93f65d3f am 1e75a9b5: Merge "Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional"
* commit '1e75a9b56ad746ff038ca956bd3d83fe4b9a156f':
  Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional
2014-11-11 19:52:55 +00:00
Andreas Gampe
1e75a9b56a Merge "Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional" 2014-11-11 19:17:56 +00:00
Andreas Gampe
00bbc7f69f Bionic: Make DISALLOW_COPY_AND_ASSIGN conditional
Make the definition of DISALLOW_COPY_AND_ASSIGN conditional. This is
so that the projects that include libnativehelper and bionic macros
do not have to be careful in which order those projects are included.

Bug: 18334516
Change-Id: Ib12a2c2b7ad2e360edcf3b26cb1be626540fadc1
2014-11-11 11:16:57 -08:00
Christopher Ferris
b36709560c am 42a86ae3: am ea8913fe: am 1e1ae4a7: Merge "Add align/overread tests for strlcpy/strlcat."
* commit '42a86ae34c303ebafcc6f7aacce5f954591e2db6':
  Add align/overread tests for strlcpy/strlcat.
2014-11-10 23:50:11 +00:00
Christopher Ferris
42a86ae34c am ea8913fe: am 1e1ae4a7: Merge "Add align/overread tests for strlcpy/strlcat."
* commit 'ea8913fefdfcd57b5f960db65dcf482ace3d8083':
  Add align/overread tests for strlcpy/strlcat.
2014-11-10 23:44:57 +00:00
Christopher Ferris
ea8913fefd am 1e1ae4a7: Merge "Add align/overread tests for strlcpy/strlcat."
* commit '1e1ae4a74e42de07a5654f6a1774786fb4652094':
  Add align/overread tests for strlcpy/strlcat.
2014-11-10 23:42:28 +00:00
Christopher Ferris
1e1ae4a74e Merge "Add align/overread tests for strlcpy/strlcat." 2014-11-10 23:38:21 +00:00
Elliott Hughes
e34d70ab89 am 5a01f82c: am 307d61c3: am 6e7e2d20: Merge "Add the <dirent.h> feature macros glibc uses."
* commit '5a01f82c15f06ad4e1206570fd27a2fa94571d00':
  Add the <dirent.h> feature macros glibc uses.
2014-11-10 23:31:22 +00:00
Elliott Hughes
5a01f82c15 am 307d61c3: am 6e7e2d20: Merge "Add the <dirent.h> feature macros glibc uses."
* commit '307d61c3385909dbbd28cfbb88cc2599fc5d7fdc':
  Add the <dirent.h> feature macros glibc uses.
2014-11-10 23:26:23 +00:00
Elliott Hughes
307d61c338 am 6e7e2d20: Merge "Add the <dirent.h> feature macros glibc uses."
* commit '6e7e2d201f91fe5a04adc1b49ebb589dc56b425f':
  Add the <dirent.h> feature macros glibc uses.
2014-11-10 23:23:12 +00:00
Elliott Hughes
6e7e2d201f Merge "Add the <dirent.h> feature macros glibc uses." 2014-11-10 23:18:36 +00:00
Elliott Hughes
8c79b4ebb5 Add the <dirent.h> feature macros glibc uses.
Change-Id: I4da92b67d410839ea4ef0beaaa6c5cca06b74c0d
2014-11-10 15:17:28 -08:00
Elliott Hughes
91475e0fda am af92bca1: am b80be438: am 6330b70c: Merge "Remove temporary compatibility hack."
* commit 'af92bca1206d2fa796e54e791a17a79d7860f3cd':
  Remove temporary compatibility hack.
2014-11-10 22:23:20 +00:00
Elliott Hughes
af92bca120 am b80be438: am 6330b70c: Merge "Remove temporary compatibility hack."
* commit 'b80be43814a1562b0b66b435a7759cfed554287f':
  Remove temporary compatibility hack.
2014-11-10 22:19:15 +00:00
Elliott Hughes
b80be43814 am 6330b70c: Merge "Remove temporary compatibility hack."
* commit '6330b70cac8072007be9c351a934f9ff10f30cb5':
  Remove temporary compatibility hack.
2014-11-10 22:09:14 +00:00
Christopher Ferris
1468765f8a Add align/overread tests for strlcpy/strlcat.
Change-Id: I2801c7ee1847cd68ec95eba5bdffde5e52edf1e5
2014-11-10 13:58:17 -08:00
Elliott Hughes
6330b70cac Merge "Remove temporary compatibility hack." 2014-11-10 19:32:51 +00:00
Elliott Hughes
e6ac9bb8a0 Remove temporary compatibility hack.
The callers have been fixed.

Bug: 18298106
Change-Id: I65e24032d0a82c4b118abace854d2dcdada881fb
2014-11-10 11:24:51 -08:00
Elliott Hughes
fdea8b0c86 am 469d3998: am db37cd61: am b6360093: Merge "Fix struct stat to match POSIX 2008."
* commit '469d399852d6f0f513ad99a63c7678a5e69f905e':
  Fix struct stat to match POSIX 2008.
2014-11-10 17:41:39 +00:00
Elliott Hughes
469d399852 am db37cd61: am b6360093: Merge "Fix struct stat to match POSIX 2008."
* commit 'db37cd61e5e7c2ede11ce7a8eade9c31b7796c09':
  Fix struct stat to match POSIX 2008.
2014-11-10 17:33:37 +00:00
Elliott Hughes
db37cd61e5 am b6360093: Merge "Fix struct stat to match POSIX 2008."
* commit 'b63600934c62beb09514e2ced1fce1bdb489195f':
  Fix struct stat to match POSIX 2008.
2014-11-10 17:29:21 +00:00
Elliott Hughes
b63600934c Merge "Fix struct stat to match POSIX 2008." 2014-11-10 17:25:08 +00:00
Elliott Hughes
0ac0df84c7 Fix struct stat to match POSIX 2008.
Our representation of sub-second times matched the Linux kernel, and we
provided macros for glibc source compatibility. This change switches us
over to match POSIX 2008, adds the macros they insist on (for compatibility
with earlier versions of POSIX), and also adds macros for compatibility
with any code that expects the kernel or old bionic names.

Unfortunately this breaks strace which defines its own structures using
the kernel names, and thus implicitly assumes that there are no macros with
those names, but this does allow the rest of the tree to build.

Bug: 18298106
Change-Id: Ibfa8c21cb2a2566091ef3dc2019a9f78d2de2991
2014-11-07 19:15:10 -08:00
Elliott Hughes
a3e8ee0078 am a5a7078a: am 3a3f388c: am 47b9083b: Merge "Add sethostname(2)."
* commit 'a5a7078a8e4cf6bcb98b095e5e8af0dba5b61a37':
  Add sethostname(2).
2014-11-08 01:52:50 +00:00
Elliott Hughes
a5a7078a8e am 3a3f388c: am 47b9083b: Merge "Add sethostname(2)."
* commit '3a3f388c3c24457ea0f452f6abc7f340e6fc640b':
  Add sethostname(2).
2014-11-08 01:43:02 +00:00
Elliott Hughes
3a3f388c3c am 47b9083b: Merge "Add sethostname(2)."
* commit '47b9083b582bc8f7aefa0b6b4df051cba835ac0f':
  Add sethostname(2).
2014-11-08 00:59:51 +00:00
Elliott Hughes
47b9083b58 Merge "Add sethostname(2)." 2014-11-08 00:55:20 +00:00
Elliott Hughes
b86a4c7f65 Add sethostname(2).
Not very useful, but helps building stuff like toybox out of the box.

Change-Id: I110e39030452bd093a84278e019c5752d293718d
2014-11-07 16:48:27 -08:00
Yabin Cui
5ca4a9e2da implement missing seekdir and telldir
Bug: 18266863
Change-Id: I189ee949d4f7ccee099f3341e349cd969d25480f
2014-11-07 10:20:32 -08:00
The Android Open Source Project
11f66116b9 am 80535617: am b4471046: am 2ed9ee1e: Merge remote-tracking branch \'goog/stage-aosp-master\' into HEAD
* commit '8053561750883244c227ddcc0d62ad7514896773':
2014-11-07 13:35:14 +00:00
Elliott Hughes
229cad0664 am 5d6f1004: am 16951877: am 6e555e40: Merge "Implement all the POSIX _l functions."
* commit '5d6f100494512ddeb6d862c694edbbe9e3476506':
  Implement all the POSIX _l functions.
2014-11-07 13:35:13 +00:00
The Android Open Source Project
8053561750 am b4471046: am 2ed9ee1e: Merge remote-tracking branch \'goog/stage-aosp-master\' into HEAD
* commit 'b447104656ff77caf4d5bcfd547533d941aef804':
2014-11-07 13:30:20 +00:00
Elliott Hughes
5d6f100494 am 16951877: am 6e555e40: Merge "Implement all the POSIX _l functions."
* commit '1695187723bd2fc2e222a08630523886f48607e4':
  Implement all the POSIX _l functions.
2014-11-07 13:30:18 +00:00
The Android Open Source Project
b447104656 am 2ed9ee1e: Merge remote-tracking branch \'goog/stage-aosp-master\' into HEAD
* commit '2ed9ee1e938a94b563ab700dc5017a968d2591ad':
2014-11-07 13:27:16 +00:00
Elliott Hughes
1695187723 am 6e555e40: Merge "Implement all the POSIX _l functions."
* commit '6e555e40b0596e452deb6ccbce89d084ad18b658':
  Implement all the POSIX _l functions.
2014-11-07 13:27:07 +00:00
Elliott Hughes
9ddc76d1a5 am 85d8fc46: am cd30cb36: am 08a70184: Merge "Add POSIX lcong48."
* commit '85d8fc4606aad997c41829184fffce53017f31df':
  Add POSIX lcong48.
2014-11-07 04:16:17 +00:00
The Android Open Source Project
2ed9ee1e93 Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD 2014-11-06 17:43:39 -08:00
Elliott Hughes
85d8fc4606 am cd30cb36: am 08a70184: Merge "Add POSIX lcong48."
* commit 'cd30cb3633c2a7409267dd1821e33937e65461ad':
  Add POSIX lcong48.
2014-11-07 01:03:35 +00:00
Elliott Hughes
cd30cb3633 am 08a70184: Merge "Add POSIX lcong48."
* commit '08a70184b42ef2963794a56233b0253e0b367253':
  Add POSIX lcong48.
2014-11-07 00:58:34 +00:00
Elliott Hughes
6e555e40b0 Merge "Implement all the POSIX _l functions." 2014-11-06 23:58:07 +00:00
Elliott Hughes
b20c24456e Implement all the POSIX _l functions.
Strictly speaking, this only implements the _l variants of the functions
we actually have. We're still missing nl_langinfo_l, for example, but we
don't have nl_langinfo either.

Change-Id: Ie711c7b04e7b9100932a13f5a5d5b28847eb4c12
2014-11-06 15:52:22 -08:00
Elliott Hughes
08a70184b4 Merge "Add POSIX lcong48." 2014-11-06 22:21:53 +00:00
Elliott Hughes
274afe8f0e Add POSIX lcong48.
Change-Id: I821046816661d77275cb02c8c99d526bb41afb9c
2014-11-06 14:14:37 -08:00
Elliott Hughes
95aaf1fe38 am a9f6582b: am e449e68f: am 39ba3035: Merge "Fix our <complex.h> support."
* commit 'a9f6582b2a182d6489173f31ca5bd8938591057c':
  Fix our <complex.h> support.
2014-11-06 21:08:35 +00:00
Yabin Cui
e5fe4184e9 am 585d5b8a: am c50ae0b4: am 99cf8d08: Merge "make all bionic death tests not dumpable"
* commit '585d5b8a93d77770c216286e36c844997672a730':
  make all bionic death tests not dumpable
2014-11-06 21:08:01 +00:00
Elliott Hughes
a9f6582b2a am e449e68f: am 39ba3035: Merge "Fix our <complex.h> support."
* commit 'e449e68f367ec8072bc950dbeb47c93d5b72da3f':
  Fix our <complex.h> support.
2014-11-06 19:53:23 +00:00
Elliott Hughes
e449e68f36 am 39ba3035: Merge "Fix our <complex.h> support."
* commit '39ba30354a3890dd653ab55819d38eed3855edaa':
  Fix our <complex.h> support.
2014-11-06 19:48:17 +00:00
Elliott Hughes
39ba30354a Merge "Fix our <complex.h> support." 2014-11-06 19:43:17 +00:00
Yabin Cui
585d5b8a93 am c50ae0b4: am 99cf8d08: Merge "make all bionic death tests not dumpable"
* commit 'c50ae0b41bacea1715daf815ba2f30f342e3342c':
  make all bionic death tests not dumpable
2014-11-06 19:27:51 +00:00
Yabin Cui
c50ae0b41b am 99cf8d08: Merge "make all bionic death tests not dumpable"
* commit '99cf8d08c95470c34e530c068d1325cb6656e760':
  make all bionic death tests not dumpable
2014-11-06 19:22:17 +00:00
Elliott Hughes
b8ee16f1dc Fix our <complex.h> support.
We build libm with -fvisibility=hidden, so we weren't exporting any
of the <complex.h> functions.

We also weren't building many of the functions anyway.

We were also missing the complex inverse trigonometric functions.

And because we didn't even have perfunctory "call each function once"
tests, we didn't notice that we weren't exporting any symbols, so this
patch adds at least that level of testing.

Change-Id: Ibcf2843f507126c51d134cc5fc8d67747e033a0d
2014-11-06 11:16:55 -08:00
Yabin Cui
99cf8d08c9 Merge "make all bionic death tests not dumpable" 2014-11-06 19:14:33 +00:00
Yabin Cui
9df70403d9 make all bionic death tests not dumpable
Bug: 18067305

Change-Id: Ia1ecacf47eddecc9bc58aaac779e0c218f463179
2014-11-06 11:09:03 -08:00
Elliott Hughes
566c3503fc am c5e05502: am fa7e13b3: am a80f11ba: Merge "Add support for listing missing POSIX 2013 symbols."
* commit 'c5e05502f2b8584c768ca87d8a4d48bf48f2c018':
  Add support for listing missing POSIX 2013 symbols.
2014-11-06 06:17:33 +00:00
Elliott Hughes
c5e05502f2 am fa7e13b3: am a80f11ba: Merge "Add support for listing missing POSIX 2013 symbols."
* commit 'fa7e13b3af6ee9a18a9f8b97d930dc2930b8936f':
  Add support for listing missing POSIX 2013 symbols.
2014-11-06 06:14:09 +00:00
Elliott Hughes
fa7e13b3af am a80f11ba: Merge "Add support for listing missing POSIX 2013 symbols."
* commit 'a80f11ba99a078515aa7e06dc99db62a475a7b53':
  Add support for listing missing POSIX 2013 symbols.
2014-11-06 06:08:32 +00:00
Elliott Hughes
a80f11ba99 Merge "Add support for listing missing POSIX 2013 symbols." 2014-11-06 06:05:38 +00:00
Elliott Hughes
6370aedd0e Add support for listing missing POSIX 2013 symbols.
Change-Id: Ic51787890f837f74a22ca63d64a5710474d00cbc
2014-11-05 16:54:53 -08:00
Yabin Cui
a6355bccb8 am 753a0239: am c68a9105: am 23113831: Merge "check invalid file offset when loading library"
* commit '753a0239f5400c199224af58ac41d407c4a7de7f':
  check invalid file offset when loading library
2014-11-05 20:26:23 +00:00
Yabin Cui
753a0239f5 am c68a9105: am 23113831: Merge "check invalid file offset when loading library"
* commit 'c68a9105375f4cc8d44a14485df4f6067abd2268':
  check invalid file offset when loading library
2014-11-05 20:18:15 +00:00
Yabin Cui
c68a910537 am 23113831: Merge "check invalid file offset when loading library"
* commit '2311383180aee9388d28b03901a1e4ef021bcfa7':
  check invalid file offset when loading library
2014-11-05 20:12:36 +00:00
Yabin Cui
2311383180 Merge "check invalid file offset when loading library" 2014-11-05 19:56:01 +00:00
Elliott Hughes
2eba0a18aa am 461c2f45: am eac625a2: am c13a2044: Merge "Fix newlocale with a NULL locale name."
* commit '461c2f45e971224bbfb6f2229350e98e07935714':
  Fix newlocale with a NULL locale name.
2014-11-05 03:29:42 +00:00
Elliott Hughes
9e5d1560b0 am 33fb6092: am bce54a2b: am 57df00a4: Merge "Improve math tests to allow a specific ulp bound."
* commit '33fb609258a172d9f1de73e3af4607570b5240cb':
  Improve math tests to allow a specific ulp bound.
2014-11-05 03:29:40 +00:00
Chih-Hung Hsieh
7a2886e6ea am 625056b0: am 45f736b3: am 6c8f2475: Merge "Fix warning of missing field initializer."
* commit '625056b00a2b20950c24cf1a41e500f619d018bf':
  Fix warning of missing field initializer.
2014-11-05 03:29:39 +00:00
Elliott Hughes
461c2f45e9 am eac625a2: am c13a2044: Merge "Fix newlocale with a NULL locale name."
* commit 'eac625a2104459618c4cdc19970a90448deacdf4':
  Fix newlocale with a NULL locale name.
2014-11-05 02:57:27 +00:00
Elliott Hughes
33fb609258 am bce54a2b: am 57df00a4: Merge "Improve math tests to allow a specific ulp bound."
* commit 'bce54a2bb3d366fa6fa5bee52226ac9e9daf25a2':
  Improve math tests to allow a specific ulp bound.
2014-11-05 02:57:26 +00:00
Chih-Hung Hsieh
625056b00a am 45f736b3: am 6c8f2475: Merge "Fix warning of missing field initializer."
* commit '45f736b32389ad5074d72a974ea153d4e64b234b':
  Fix warning of missing field initializer.
2014-11-05 02:57:25 +00:00
Elliott Hughes
eac625a210 am c13a2044: Merge "Fix newlocale with a NULL locale name."
* commit 'c13a2044e3b4d6084ef7ed32fb35e63e4157a96a':
  Fix newlocale with a NULL locale name.
2014-11-05 02:42:07 +00:00
Elliott Hughes
bce54a2bb3 am 57df00a4: Merge "Improve math tests to allow a specific ulp bound."
* commit '57df00a4107d59f82732306c1e199ffa63f76f9b':
  Improve math tests to allow a specific ulp bound.
2014-11-05 02:42:05 +00:00
Chih-Hung Hsieh
45f736b323 am 6c8f2475: Merge "Fix warning of missing field initializer."
* commit '6c8f247581890a25fb899767db220a8245859f71':
  Fix warning of missing field initializer.
2014-11-05 02:41:55 +00:00
Elliott Hughes
c13a2044e3 Merge "Fix newlocale with a NULL locale name." 2014-11-05 02:20:55 +00:00
Elliott Hughes
7e0d0f8572 Fix newlocale with a NULL locale name.
Bug: https://code.google.com/p/android/issues/detail?id=78567
Change-Id: I272dabc12ab186b44a525c7e8ac1846e62334e85
2014-11-04 18:03:44 -08:00
Elliott Hughes
57df00a410 Merge "Improve math tests to allow a specific ulp bound." 2014-11-05 02:02:19 +00:00
Elliott Hughes
1b37ba2178 Improve math tests to allow a specific ulp bound.
At the moment our libm is only good enough for a 1 ulp bound on these tests,
but that's better than the 4 ulp bound you get from gtest by default.

I'm not really happy with the multiple structures and corresponding functions,
but at least they mean there's no duplication in the tests themselves, and it
should be easy enough for us to make further improvements in future.

Change-Id: I004e12970332e1d9531721361d6c34f908cfcecc
2014-11-04 18:00:02 -08:00
Chih-Hung Hsieh
6c8f247581 Merge "Fix warning of missing field initializer." 2014-11-05 00:46:37 +00:00
Yabin Cui
16f7f8d250 check invalid file offset when loading library
Bug: 18178121
Bug: 18078224

Change-Id: I5254433d54645db68e9b83d5095dc2bf9d8531bc
2014-11-04 14:37:15 -08:00
Chih-Hung Hsieh
dc6599e20f Fix warning of missing field initializer.
BUG: 18241135
Change-Id: I91304eb608bc3336ce5fcd5744fbe080d64f1cc2
2014-11-04 12:09:35 -08:00
Dmitriy Ivanov
bac20fe26d am ca564e2a: Revert "Revert "Fix arm64 and arm builds.""
* commit 'ca564e2a994df5976869ec655c7d4056deefcaa2':
  Revert "Revert "Fix arm64 and arm builds.""
2014-11-04 17:46:43 +00:00
Dmitriy Ivanov
78d367d9ca am 0416d88f: Revert "Revert "Fix symbol lookup order during relocation""
* commit '0416d88f9c90dcb1b97947a27a7c05f3627484c4':
  Revert "Revert "Fix symbol lookup order during relocation""
2014-11-04 17:46:42 +00:00
Dmitriy Ivanov
713d0a6715 am 1c095774: Revert "Revert "Fix mips build""
* commit '1c095774c0527027bf3f7013ba15e9913d5f1853':
  Revert "Revert "Fix mips build""
2014-11-04 17:46:41 +00:00
Dmitriy Ivanov
0f11d1c899 am a42dfda5: Revert "Revert "Remove unnecessary lookups during relocations""
* commit 'a42dfda53acc6127b5046672686b67a66be168eb':
  Revert "Revert "Remove unnecessary lookups during relocations""
2014-11-04 17:46:40 +00:00
Dmitriy Ivanov
4662831346 am c343cac6: Revert "Revert "Fix relocation to look for symbols in local group""
* commit 'c343cac62bfd2933e36357b206fdd81da7610164':
  Revert "Revert "Fix relocation to look for symbols in local group""
2014-11-04 17:46:39 +00:00
Dmitriy Ivanov
670ea93739 am 7ca96a07: Revert "Revert "Add RTLD_NODELETE flag support""
* commit '7ca96a075b778f1fa2ad265350879238cbcb4d09':
  Revert "Revert "Add RTLD_NODELETE flag support""
2014-11-04 17:46:38 +00:00
Dmitriy Ivanov
a03f007415 am 68a555b5: Revert "Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL""
* commit '68a555b57e2bed1292bf28609be693a95b5fdc6b':
  Revert "Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL""
2014-11-04 17:46:37 +00:00
Dmitriy Ivanov
ca564e2a99 Revert "Revert "Fix arm64 and arm builds.""
This reverts commit 494bee796aa60131981308493e0e295493537e12.
2014-11-04 09:38:27 -08:00
Dmitriy Ivanov
0416d88f9c Revert "Revert "Fix symbol lookup order during relocation""
This reverts commit f947be2889639defc6424b1813ccc779528b7598.
2014-11-04 09:38:18 -08:00
Dmitriy Ivanov
1c095774c0 Revert "Revert "Fix mips build""
This reverts commit 4402804c35c5c5992c728c6f3cee3bdbd325819e.
2014-11-04 09:38:10 -08:00
Dmitriy Ivanov
a42dfda53a Revert "Revert "Remove unnecessary lookups during relocations""
This reverts commit eae09772558016836f1356816f4d1d0be498d74c.
2014-11-04 09:38:00 -08:00
Dmitriy Ivanov
c343cac62b Revert "Revert "Fix relocation to look for symbols in local group""
This reverts commit 00dce525530c5d26c20750863f3e9890b468787a.
2014-11-04 09:37:51 -08:00
Dmitriy Ivanov
7ca96a075b Revert "Revert "Add RTLD_NODELETE flag support""
This reverts commit 69c5d108a5cb44167a04d42ffdad6a39648ed235.
2014-11-04 09:37:28 -08:00
Dmitriy Ivanov
68a555b57e Revert "Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL""
This reverts commit 9d3382d97a2cdc8c8f78c7825ece16f09292fc36.
2014-11-04 09:37:19 -08:00
Dmitriy Ivanov
77c0b5b5ba am 39af7592: am 9d3382d9: Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '39af759260454e001b261170a94f85520db4ef12':
  Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
2014-11-04 17:22:53 +00:00
Dmitriy Ivanov
77b851f925 am e1d9881a: am 69c5d108: Revert "Add RTLD_NODELETE flag support"
* commit 'e1d9881a8d85dcd6bbf6895c3566b62589b715c1':
  Revert "Add RTLD_NODELETE flag support"
2014-11-04 17:22:52 +00:00
Dmitriy Ivanov
4bf14534d2 am 47fb0b78: am 00dce525: Revert "Fix relocation to look for symbols in local group"
* commit '47fb0b781628af5cbd5e97150c8e9511d718bf97':
  Revert "Fix relocation to look for symbols in local group"
2014-11-04 17:22:51 +00:00
Dmitriy Ivanov
8855f5884a am ce4d16bb: am eae09772: Revert "Remove unnecessary lookups during relocations"
* commit 'ce4d16bbaa34c0b97abc7a9d157d65e66ed68c79':
  Revert "Remove unnecessary lookups during relocations"
2014-11-04 17:22:50 +00:00
Dmitriy Ivanov
7df7fb0c90 am 7cb57841: am 4402804c: Revert "Fix mips build"
* commit '7cb57841a58165e6aeca14f987e4391cab38bbbd':
  Revert "Fix mips build"
2014-11-04 17:22:49 +00:00
Dmitriy Ivanov
7e59a56ac9 am 5c9afdc0: am f947be28: Revert "Fix symbol lookup order during relocation"
* commit '5c9afdc0c1bb4fa4c8287075a8711d25d229d593':
  Revert "Fix symbol lookup order during relocation"
2014-11-04 17:22:48 +00:00
Dmitriy Ivanov
4aaafab73b am 4c9b34bd: am 494bee79: Revert "Fix arm64 and arm builds."
* commit '4c9b34bd8acc305241ae14b5d03db4054f1ce26e':
  Revert "Fix arm64 and arm builds."
2014-11-04 17:22:47 +00:00
Dmitriy Ivanov
39af759260 am 9d3382d9: Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '9d3382d97a2cdc8c8f78c7825ece16f09292fc36':
  Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
2014-11-04 17:17:58 +00:00
Dmitriy Ivanov
e1d9881a8d am 69c5d108: Revert "Add RTLD_NODELETE flag support"
* commit '69c5d108a5cb44167a04d42ffdad6a39648ed235':
  Revert "Add RTLD_NODELETE flag support"
2014-11-04 17:17:57 +00:00
Dmitriy Ivanov
47fb0b7816 am 00dce525: Revert "Fix relocation to look for symbols in local group"
* commit '00dce525530c5d26c20750863f3e9890b468787a':
  Revert "Fix relocation to look for symbols in local group"
2014-11-04 17:17:56 +00:00
Dmitriy Ivanov
ce4d16bbaa am eae09772: Revert "Remove unnecessary lookups during relocations"
* commit 'eae09772558016836f1356816f4d1d0be498d74c':
  Revert "Remove unnecessary lookups during relocations"
2014-11-04 17:17:55 +00:00
Dmitriy Ivanov
7cb57841a5 am 4402804c: Revert "Fix mips build"
* commit '4402804c35c5c5992c728c6f3cee3bdbd325819e':
  Revert "Fix mips build"
2014-11-04 17:17:54 +00:00
Dmitriy Ivanov
5c9afdc0c1 am f947be28: Revert "Fix symbol lookup order during relocation"
* commit 'f947be2889639defc6424b1813ccc779528b7598':
  Revert "Fix symbol lookup order during relocation"
2014-11-04 17:17:53 +00:00
Dmitriy Ivanov
4c9b34bd8a am 494bee79: Revert "Fix arm64 and arm builds."
* commit '494bee796aa60131981308493e0e295493537e12':
  Revert "Fix arm64 and arm builds."
2014-11-04 17:17:52 +00:00
Dmitriy Ivanov
9d3382d97a Revert "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
This reverts commit c85e82dde5c4b2accc50a9e17740b9005dfbae6a.

Bug: 18222321
Bug: 18211780
Change-Id: I32f4048bd5ea85dc8a3dfccce8cf141b241ab692
2014-11-03 22:15:29 -08:00
Dmitriy Ivanov
69c5d108a5 Revert "Add RTLD_NODELETE flag support"
This reverts commit c87f65d2cd0690d81665f8b241c1d763f72b6f80.

Bug: 18222321
Bug: 18211780
Change-Id: I00252e26a28a41ab9f1e2dd3b32f0f80d86297f1
2014-11-03 22:15:26 -08:00
Dmitriy Ivanov
00dce52553 Revert "Fix relocation to look for symbols in local group"
This reverts commit fd2747bb585fc51b5ad56db09c0e9b66c7091a92.

Bug: 18222321
Bug: 18211780
Change-Id: I2d4ebab1e73b7277161af76b99f8249825b22d65
2014-11-03 22:15:20 -08:00
Dmitriy Ivanov
eae0977255 Revert "Remove unnecessary lookups during relocations"
This reverts commit 6442dbd3bcadbd5e522465743a8d8cf56338ae1c.

Bug: 18222321
Bug: 18211780
Change-Id: I87b18a32238a1f75afe56149221b6691f50d9f56
2014-11-03 22:15:17 -08:00
Dmitriy Ivanov
4402804c35 Revert "Fix mips build"
This reverts commit bf3d5ef5fd240d4c5fbde1b32f9084dbc720840b.

Bug: 18222321
Bug: 18211780
Change-Id: I902ed888197b358c77303f1acb6d5ffd7ae6dcd3
2014-11-03 22:15:13 -08:00
Dmitriy Ivanov
f947be2889 Revert "Fix symbol lookup order during relocation"
This reverts commit 976402cca13a1f4f3aa988fd301575e134ef5f2c.

Bug: 18222321
Bug: 18211780
Change-Id: Iafdd3d843db7b1cf288be9a0232022816622c944
2014-11-03 22:15:08 -08:00
Dmitriy Ivanov
494bee796a Revert "Fix arm64 and arm builds."
This reverts commit 445111a1c977e94a4233efd54f3690defa4a7582.

Bug: 18222321
Bug: 18211780
Change-Id: I4fa9e1b63ec9b528f8bfed73c2ec15046c43a2fe
2014-11-03 22:14:19 -08:00
Elliott Hughes
2fa23458ba am 6bb5579b: resolved conflicts for merge of d18f4b25 to lmp-mr1-dev-plus-aosp
* commit '6bb5579b8e8194a54354a88b2d685740c30fc3b9':
  Ensure we initialize stdin/stdout/stderr's recursive mutexes.
2014-11-04 02:44:26 +00:00
Elliott Hughes
6bb5579b8e resolved conflicts for merge of d18f4b25 to lmp-mr1-dev-plus-aosp
Change-Id: Ie1ebacd432a61d680bb1325aa369db717d39299d
2014-11-03 18:31:10 -08:00
Dan Albert
f75df00fae am a0ba3c83: am 5939060b: am 695781b6: Merge "Make host tests depend on /system/etc/hosts."
* commit 'a0ba3c83edd975159913aacc992f3f9400e332f5':
  Make host tests depend on /system/etc/hosts.
2014-11-04 01:59:27 +00:00
Elliott Hughes
b56c4973bd am 05e3e707: am 90138639: am e76ea9bb: Merge "Ensure we initialize stdin/stdout/stderr\'s recursive mutexes."
* commit '05e3e70772ea7c42ec2499212cd7fd876ab77cd3':
  Ensure we initialize stdin/stdout/stderr's recursive mutexes.
2014-11-04 01:59:25 +00:00
Dan Albert
a0ba3c83ed am 5939060b: am 695781b6: Merge "Make host tests depend on /system/etc/hosts."
* commit '5939060ba54fbab71c53b95310bfd798a35972ad':
  Make host tests depend on /system/etc/hosts.
2014-11-04 01:04:27 +00:00
Elliott Hughes
05e3e70772 am 90138639: am e76ea9bb: Merge "Ensure we initialize stdin/stdout/stderr\'s recursive mutexes."
* commit '90138639a50495fd63238524e9a0a0758cd574c6':
  Ensure we initialize stdin/stdout/stderr's recursive mutexes.
2014-11-04 01:04:25 +00:00
Dan Albert
5939060ba5 am 695781b6: Merge "Make host tests depend on /system/etc/hosts."
* commit '695781b6f0419f82939176a6ec1a240300d9f036':
  Make host tests depend on /system/etc/hosts.
2014-11-04 00:53:18 +00:00
Elliott Hughes
90138639a5 am e76ea9bb: Merge "Ensure we initialize stdin/stdout/stderr\'s recursive mutexes."
* commit 'e76ea9bbe0a8bccf97b88d09af13a84fd34a6a76':
  Ensure we initialize stdin/stdout/stderr's recursive mutexes.
2014-11-04 00:53:16 +00:00
Elliott Hughes
d18f4b2578 Ensure we initialize stdin/stdout/stderr's recursive mutexes.
(cherry-pick of 6a03abcfd23f31d1df06eb0059830e22621282bb.)

Bug: 18208568
Change-Id: I9da16ce0f9375bc363d1d02be706d73fd3b1e150
2014-11-03 13:46:41 -08:00
Dan Albert
695781b6f0 Merge "Make host tests depend on /system/etc/hosts." 2014-11-03 21:38:50 +00:00
Elliott Hughes
e76ea9bbe0 Merge "Ensure we initialize stdin/stdout/stderr's recursive mutexes." 2014-11-03 21:32:29 +00:00
Dan Albert
62b7279789 Make host tests depend on /system/etc/hosts.
Change-Id: I3e5ab1325d5e250a1d14b53f3a5a465d9f5de30c
2014-11-03 13:26:16 -08:00
Elliott Hughes
6a03abcfd2 Ensure we initialize stdin/stdout/stderr's recursive mutexes.
Bug: 18208568
Change-Id: I9da16ce0f9375bc363d1d02be706d73fd3b1e150
2014-11-03 12:32:17 -08:00
Dmitriy Ivanov
ae0757ff27 am d3cd6618: resolved conflicts for merge of 926797a8 to lmp-mr1-dev-plus-aosp
* commit 'd3cd66185f63a75ec9f0fca69bd6594c310dbaa8':
  Fix arm64 and arm builds.
  Fix symbol lookup order during relocation
  Fix mips build
  Remove unnecessary lookups during relocations
  Fix relocation to look for symbols in local group
  Correct way to specify additional dependencies
  Add dlfcn_test to glibc test suite.
  Ignore DT_BIND_NOW (0x18)
  Resolve "unused DT entry" warnings for x86_64
  Add RTLD_NODELETE flag support
  Fix mips build
  Fix unused DT entry warnings.
  Return has_DT_SYMBOLIC flag.
  Fix a couple more cases of missing CLOEXEC.
  Temporary disable DL_WARNs for unused DT_*
  Fix 64bit build
  Fix some unused DT_ warnings
  Remove has_DT_SYMBOLIC flag
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
  Reformatting
2014-11-02 01:14:04 +00:00
Dmitriy Ivanov
d3cd66185f resolved conflicts for merge of 926797a8 to lmp-mr1-dev-plus-aosp
Change-Id: I3b46a714fd1236431fa08872f280e4ac4c4880d1
2014-11-01 18:02:31 -07:00
Dmitriy Ivanov
fc6a97d292 am b1c019f3: am 75cd66aa: am 38ff8822: Merge "Revert "Use local copy of the library name on dlopen""
* commit 'b1c019f32ad5da8649b9792b8526806b1ebe2878':
  Revert "Use local copy of the library name on dlopen"
2014-11-01 04:02:22 +00:00
Dmitriy Ivanov
b1c019f32a am 75cd66aa: am 38ff8822: Merge "Revert "Use local copy of the library name on dlopen""
* commit '75cd66aaf60f47e04359738a9c8d92588a1f7834':
  Revert "Use local copy of the library name on dlopen"
2014-11-01 03:00:56 +00:00
Dmitriy Ivanov
75cd66aaf6 am 38ff8822: Merge "Revert "Use local copy of the library name on dlopen""
* commit '38ff8822763a30d4c9033a38ec8b71fcd17aba87':
  Revert "Use local copy of the library name on dlopen"
2014-11-01 02:35:51 +00:00
Dmitriy Ivanov
38ff882276 Merge "Revert "Use local copy of the library name on dlopen"" 2014-11-01 02:32:24 +00:00
Dmitriy Ivanov
9fb216f844 Revert "Use local copy of the library name on dlopen"
This reverts commit da8e591c3996879e41dc5f70b77d1b0fe6f9c225.

Change-Id: I3fd6f235b18c232af5cc5ecd481851486d7d68f6
2014-11-01 02:30:38 +00:00
Dmitriy Ivanov
445111a1c9 Fix arm64 and arm builds.
Bug: 18186310

(cherry picked from commit 4e446b19d8710cd2004785db4a00f18f249fe73f)

Change-Id: Ibc77a9ade36dc6b9bf5a316b5ab9ae5f0a70e826
2014-10-31 19:29:04 -07:00
Dmitriy Ivanov
d79e427b73 am dcafe93d: am 6cba0e35: am 36ffc73e: Merge "Fix arm64 and arm builds."
* commit 'dcafe93db23dbda62e1d9b6c2b2deb670f96980e':
  Fix arm64 and arm builds.
2014-11-01 00:45:39 +00:00
Dmitriy Ivanov
dcafe93db2 am 6cba0e35: am 36ffc73e: Merge "Fix arm64 and arm builds."
* commit '6cba0e35ec62e86689556142a08f547f27b703dd':
  Fix arm64 and arm builds.
2014-11-01 00:39:45 +00:00
Dmitriy Ivanov
6cba0e35ec am 36ffc73e: Merge "Fix arm64 and arm builds."
* commit '36ffc73e992de77cc4bc397e41767b69ed9ac917':
  Fix arm64 and arm builds.
2014-11-01 00:36:23 +00:00
Dmitriy Ivanov
36ffc73e99 Merge "Fix arm64 and arm builds." 2014-11-01 00:33:30 +00:00
Dmitriy Ivanov
4e446b19d8 Fix arm64 and arm builds.
Change-Id: I2c8c41626768e792f27a2616f2cd5ae66606319d
2014-10-31 17:27:02 -07:00
Dmitriy Ivanov
976402cca1 Fix symbol lookup order during relocation
Relocate symbol against DF_1_GLOBAL shared libraries
  loaded before this shared library. This includes
  main executable, ld_preloads and other libraries
  that have DF_1_GLOBAL flag set.

Bug: 2643900
Bug: 15432753
Bug: 18186310

(cherry picked from commit d225a5e65223b375a63548c4b780f04d8f3d7b60)

Change-Id: I4e889cdf2dfbf8230b0790053d311ee6b0d0ee2d
2014-10-31 17:10:30 -07:00
Dmitriy Ivanov
bf3d5ef5fd Fix mips build
Bug: 18186310

(cherry picked from commit 90b74fb8671db6f5512821a033e12a6248e5c804)

Change-Id: I8d4ed254e5c421b65b62c401abdb1ee07e5dc3b2
2014-10-31 17:04:00 -07:00
Dmitriy Ivanov
6442dbd3bc Remove unnecessary lookups during relocations
local_group includes this library and its dependencies.

Bug: 18186310

(cherry picked from commit e47b3f8456fc34ac136e9fddef59a9ae37febcbe)

Change-Id: I93c2d873e924df7319569307444bf603d7d27bf0
2014-10-31 17:04:00 -07:00
Dmitriy Ivanov
fd2747bb58 Fix relocation to look for symbols in local group
The local group is a sequence of libraries in default (breadth-first)
  order. It allows RTLD_LOCALLY loaded library to correctly relocate
  symbols within its group (see test-cases).

  Local group lookup is performed after main executable and ld_preloads.

Bug: 2643900
Bug: 15432753
Bug: 18186310

(cherry picked from commit cfa97f172dc1b10d650fefbb6ccffd88ce72a5fb)

Change-Id: I5fa8c673f929e4652c738912c7ae078d7ec286d2
2014-10-31 17:04:00 -07:00
Dmitriy Ivanov
4d0c1f673f Correct way to specify additional dependencies
Previous one was not covering all the targets

Bug: 17548097
Bug: 18186310

(cherry picked from commit 4a9e1937c56511aef579312bf39ab345f9179230)

Change-Id: I2cd9e58893555d16cbfe291b2d1279621489d5ad
2014-10-31 17:04:00 -07:00
Dmitriy Ivanov
382e06ce8e Add dlfcn_test to glibc test suite.
Bug: 18186310

(cherry picked from commit eb27bbae8f0edc6b62ca2db73256c7fb53b9e9bf)

Change-Id: I1d608dfa12dbafbdcdb8bc6d818c5872404c19e0
2014-10-31 17:04:00 -07:00
Dmitriy Ivanov
e4bc6f026a Ignore DT_BIND_NOW (0x18)
Bug: 18186310
Bug: 17552334

(cherry picked from commit ea6eae182ad64312f80b9adddac511d8938e23e7)

Change-Id: I07d6f6fbb462fea329581d0da02f6d88be1c262f
2014-10-31 17:04:00 -07:00
Dmitriy Ivanov
1d3e81a9e7 Resolve "unused DT entry" warnings for x86_64
Bug: 18186310

(cherry picked from commit 513e29e16f16a6ffa1636ba282d599fd6b437aeb)

Change-Id: I1e4c5af2cdc09dc978c7a78fcdcf8796c919751e
2014-10-31 17:04:00 -07:00
Dmitriy Ivanov
c87f65d2cd Add RTLD_NODELETE flag support
Bug: 18186310
Bug: https://code.google.com/p/android/issues/detail?id=64069

(cherry picked from commit 1b20dafdbe65e43b9f4c95057e8482380833ea91)

Change-Id: Ic02eec22a7c322ece65eb40730a3404f611526b1
2014-10-31 17:04:00 -07:00
Dmitriy Ivanov
210ff1b27b Fix mips build
Bug: 18186310

(cherry picked from commit ecf532fa1cfe91ca946243c11ef154c602870ba6)

Change-Id: Ia12f2fa28c8cd3204eb7d6b4c7d872f4e81fb8ef
2014-10-31 17:04:00 -07:00
Dmitriy Ivanov
0f47d9c1ce Fix unused DT entry warnings.
DT_STRSZ Implement strtab boundary checks
 DT_FLAGS_1 Warn if flags other than DF_1_NOW|DF_1_GLOBAL are set

Bug: 17552334
Bug: 18186310

(cherry picked from commit 6cdeb5234d7f4523fe9d83974f265d80f10512a6)

Change-Id: I7ffc7bc600798308a77ad949a644949b64250ae2
2014-10-31 17:03:59 -07:00
Dmitriy Ivanov
f90e21004e Return has_DT_SYMBOLIC flag.
This reverts commit 8f61d991831f0ea515fa50a5c38dbbcfbab0dd28

 Despite the fact that static linker does all the work while linking
 -Bsymbolic executables, according to the SCO doc following DT_SYMBOLIC
 and DF_SYMBOLIC flags is still a requirement for the dynamic linker
 as well.

 (see http://www.sco.com/developers/gabi/2012-12-31/ch5.dynamic.html)

Bug: 18186310

(cherry picked from commit 96bc37f2e1093416a432135265fd7a4db6c3df17)

Change-Id: Ie217be4f3305d877066e4cfe91975ae1c7768330
2014-10-31 17:03:59 -07:00
Elliott Hughes
748fbe5c41 Fix a couple more cases of missing CLOEXEC.
The debuggerd case can probably never happen, because you're crashing at this
point anyway. The system property one seems possible though.

Bug: 18186310

(cherry picked from commit 0dc39f9952c5e3a3121ea77357bb264ef0f8ded7)

Change-Id: I3e84488fc246f6c28cbd82e96d0cd4343a12c28a
2014-10-31 17:03:21 -07:00
Dmitriy Ivanov
d5eb10875a Temporary disable DL_WARNs for unused DT_*
Bug: 17552334
Bug: 18186310

(cherry picked from commit 1b77423eff21e916186fcb208f138e436e9f3052)

Change-Id: I8a9d05195a862bc287fff7156913606f0311b8bb
2014-10-31 17:02:14 -07:00
Dmitriy Ivanov
09608848ed Fix 64bit build
Bug: 18186310

(cherry picked from commit f240aa8089ea1574a7d799720efb66528f6ceb99)

Change-Id: Id46f1f9be90a17a58fb44d3540095c8c685c9726
2014-10-31 17:02:14 -07:00
Dmitriy Ivanov
634a045c5c Fix some unused DT_ warnings
* DT_PLTGOT - ignored for non-mips
 * DT_RELCOUNT/RELACOUNT - ignored
 * DT_RELENT/RELAENT - sanity checks
 * DT_SYMENT - sanity check
 * DT_SONAME - ignore for now.

Bug: 18186310

(cherry picked from commit 4a6e9a835a84aca965f0170f604381dae7f130be)

Change-Id: Ib40095f0770d65628fc7abac5a471378de35ebe7
2014-10-31 17:02:14 -07:00
Dmitriy Ivanov
b364d95380 Remove has_DT_SYMBOLIC flag
From the elf-spec: "Symbolically bound shared objects are
  identified by the .dynamic entry DT_SYMBOLIC. This tag is
  informational only; the runtime linker processes symbol
  lookups from these objects in the same manner as any
  other object."

Bug: 18186310

(cherry picked from commit 8f61d991831f0ea515fa50a5c38dbbcfbab0dd28)

Change-Id: I37024799ac8d1837993c8ae78780a448bedd6539
2014-10-31 17:02:13 -07:00
Dmitriy Ivanov
c85e82dde5 Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
Symbols from libraries opened with RTLD_LOCAL (default)
  should not be visible via dlsym(RLTD_DEFAULT/RTLD_NEXT, .)

Bug: 17512583
Bug: 18186310

(cherry picked from commit e8ba50fe0d51fbefee1a8f5bb62bf51d841512c8)

Change-Id: Idf6bbe2233fb2bfc0c88677e7d1fc518fb3f7a8b
2014-10-31 17:02:13 -07:00
Dmitriy Ivanov
926797a8a9 Reformatting
No functional changes.

Bug: 18186310

(cherry picked from commit 6abf624d122bec8c80cc9fe1b692265bf1b28b1b)]

Change-Id: I0acf52d8ee7fe2d4f44bc832cbe9fabe1782f03f
2014-10-31 17:02:13 -07:00
Dmitriy Ivanov
53fa1d13f4 am eb46dd98: am a334934f: am f33ad400: Merge "Fix symbol lookup order during relocation"
* commit 'eb46dd98ab903938cd5863da7d614d3ec03c0722':
  Fix symbol lookup order during relocation
2014-11-01 00:01:35 +00:00
Dmitriy Ivanov
eb46dd98ab am a334934f: am f33ad400: Merge "Fix symbol lookup order during relocation"
* commit 'a334934f66386ecdf3ec07daf0b651fcf3b8dcce':
  Fix symbol lookup order during relocation
2014-10-31 23:57:29 +00:00
Dmitriy Ivanov
a334934f66 am f33ad400: Merge "Fix symbol lookup order during relocation"
* commit 'f33ad400230fa1f16ba4501efb60a1b6035e06ca':
  Fix symbol lookup order during relocation
2014-10-31 23:54:20 +00:00
Dmitriy Ivanov
f33ad40023 Merge "Fix symbol lookup order during relocation" 2014-10-31 23:51:18 +00:00
Dmitriy Ivanov
034f6105d9 am c663c2ae: am 703581a3: am 74c0ccd4: Merge "Use local copy of the library name on dlopen"
* commit 'c663c2ae3ee6edf69342b1535237ffdc8489d2d9':
  Use local copy of the library name on dlopen
2014-10-31 23:02:48 +00:00
Dmitriy Ivanov
c663c2ae3e am 703581a3: am 74c0ccd4: Merge "Use local copy of the library name on dlopen"
* commit '703581a3220123a4fc44acbf3a94c835a7cf5ed0':
  Use local copy of the library name on dlopen
2014-10-31 22:57:06 +00:00
Dmitriy Ivanov
703581a322 am 74c0ccd4: Merge "Use local copy of the library name on dlopen"
* commit '74c0ccd49b2f0a94078b565b60c10ecba1e9424e':
  Use local copy of the library name on dlopen
2014-10-31 22:51:38 +00:00
Dmitriy Ivanov
74c0ccd49b Merge "Use local copy of the library name on dlopen" 2014-10-31 22:47:25 +00:00
Dmitriy Ivanov
da8e591c39 Use local copy of the library name on dlopen
Bug: 18052100
Change-Id: Idbc2a3691db3b5525d4e9bca81d78d5f29bc438f
2014-10-31 14:23:34 -07:00
Dmitriy Ivanov
d225a5e652 Fix symbol lookup order during relocation
Relocate symbol against DF_1_GLOBAL shared libraries
  loaded before this shared library. This includes
  main executable, ld_preloads and other libraries
  that have DF_1_GLOBAL flag set.

Bug: 2643900
Bug: 15432753
Change-Id: Ia788748be59b739d1c7e62b978e7e255f9e65c7b
2014-10-31 11:39:51 -07:00
Dan Albert
b5c391eeed am 64b5940b: am 653263a9: Only use <atomic> for C++11 and newer.
* commit '64b5940bc3e6202da16a5c1f24a380169032e51d':
  Only use <atomic> for C++11 and newer.
2014-10-31 06:17:44 +00:00
Dan Albert
64b5940bc3 am 653263a9: Only use <atomic> for C++11 and newer.
* commit '653263a96459c5c1811623bd84201c324a870280':
  Only use <atomic> for C++11 and newer.
2014-10-31 06:12:21 +00:00
Dan Albert
653263a964 Only use <atomic> for C++11 and newer.
Any pre-C++11 clients of stdatomic.h that use libc++ are being forced
over to <atomic>, which they don't have the language support to use.

Bug:17736764

Change-Id: I62445c1f2541410a1569498c09433c7196635537
(cherry picked from commit 3ce0769aa5f9a991af1d167f730d987dd002253c)
2014-10-30 13:22:34 -07:00
Elliott Hughes
8fc0e09a01 am 20cc6b69: Merge remote-tracking branch \'goog/lmp-mr1-ub-dev\' into manualmerge
* commit '20cc6b695a8ceaf801f53f0526f0ed5d588d7d9d':
  Fix the type of u_ar0 in <sys/user.h>.
  Add greg_t for arm64.
  POSIX says <signal.h> gets you ucontext_t.
  Add in_port_t and move it and in_addr_t to the correct header file.
  Add stpcpy assembler version.
  Cleanup arm assembly.
  Add __memcpy_chk assembly for 64 bit.
  Clean up the architecture-specific makefiles.
  No arm source refers to SOFTFLOAT.
2014-10-30 18:39:16 +00:00
Elliott Hughes
e897108f96 am 7256062f: am 25f4bb98: am e38bf839: Merge "limits.h: add define for HOST_NAME_MAX"
* commit '7256062f10a2381cf2bd92aacadbf5ebda32b3b2':
  limits.h: add define for HOST_NAME_MAX
2014-10-30 18:38:52 +00:00
Elliott Hughes
20cc6b695a Merge remote-tracking branch 'goog/lmp-mr1-ub-dev' into manualmerge 2014-10-30 09:52:50 -07:00
Elliott Hughes
7256062f10 am 25f4bb98: am e38bf839: Merge "limits.h: add define for HOST_NAME_MAX"
* commit '25f4bb984cf9a27ebfac0e8f0ab5481ce3bebf15':
  limits.h: add define for HOST_NAME_MAX
2014-10-30 16:08:28 +00:00
Elliott Hughes
25f4bb984c am e38bf839: Merge "limits.h: add define for HOST_NAME_MAX"
* commit 'e38bf839837d11542e7d1deb00d81542a0ef55b7':
  limits.h: add define for HOST_NAME_MAX
2014-10-30 16:02:29 +00:00
Elliott Hughes
e38bf83983 Merge "limits.h: add define for HOST_NAME_MAX" 2014-10-30 15:56:44 +00:00
Yongqin Liu
0589777a33 limits.h: add define for HOST_NAME_MAX
according to the rules defined here:
    http://pubs.opengroup.org/onlinepubs/009695399/basedefs/limits.h.html
add the definition for HOST_NAME_MAX to limits.h file,
and set the default value to _POSIX_HOST_NAME_MAX as 255

Change-Id: Iddd5c6c569f4e0a14994c7a7c54985f3e7809fc4
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-10-30 10:59:24 +08:00
Elliott Hughes
b0693ec582 Merge changes I0feda6b2,I22d13fde,I49d7d09d,Ice490bfe into lmp-mr1-dev
* changes:
  Fix the type of u_ar0 in <sys/user.h>.
  Add greg_t for arm64.
  POSIX says <signal.h> gets you ucontext_t.
  Add in_port_t and move it and in_addr_t to the correct header file.
2014-10-29 23:22:30 +00:00
Elliott Hughes
7e9da3ef4a am 3d50e8ef: am 4c29b1c2: am f362e9fb: Merge "Remove an unused file."
* commit '3d50e8efde2e39a4776506f2db60943da314caa0':
  Remove an unused file.
2014-10-29 21:00:42 +00:00
Elliott Hughes
3d50e8efde am 4c29b1c2: am f362e9fb: Merge "Remove an unused file."
* commit '4c29b1c266aa7ac81a7b67a6170f52c12aca712d':
  Remove an unused file.
2014-10-29 20:56:29 +00:00
Elliott Hughes
b3388419ec am 0eca5472: am 24464b04: am d50495a5: Merge "Extra strtod/strtof tests."
* commit '0eca547209f906e68a5ce61186b64e12c1941ba6':
  Extra strtod/strtof tests.
2014-10-29 20:52:20 +00:00
Elliott Hughes
4c29b1c266 am f362e9fb: Merge "Remove an unused file."
* commit 'f362e9fb33722f89cebe65ddf2f07d2b07e4390e':
  Remove an unused file.
2014-10-29 20:51:27 +00:00
Elliott Hughes
f362e9fb33 Merge "Remove an unused file." 2014-10-29 20:46:31 +00:00
Elliott Hughes
39cd0fa24a Remove an unused file.
We don't have any FreeBSD stdio left.

Bug: 17154680
Change-Id: I145627f564364ac8d4707d431d451cc3115c1c6a
2014-10-29 13:42:23 -07:00
Elliott Hughes
0eca547209 am 24464b04: am d50495a5: Merge "Extra strtod/strtof tests."
* commit '24464b04a0d5a7645b8e751c6a9ef0c6574d52c2':
  Extra strtod/strtof tests.
2014-10-29 20:42:10 +00:00
Yabin Cui
7574c81852 am c62f0d7c: am 63edd69e: am cbb4606a: Merge "change unsigned int to uint32_t for api arc4random/arc4random_uniform"
* commit 'c62f0d7c60053322d8cc6acafd5a64dd50c6d053':
  change unsigned int to uint32_t for api arc4random/arc4random_uniform
2014-10-29 19:56:56 +00:00
Elliott Hughes
d8ebe6427f am 654c7811: am 91bfaed2: am 13dcb88b: Merge "Disable tzdata in ."
* commit '654c781195f4b5269a910f08b14d87f9fa29ab47':
  Disable tzdata in $ANDROID_DATA.
2014-10-29 19:56:55 +00:00
Elliott Hughes
af51e15a35 am e3c9f21e: resolved conflicts for merge of 912fe0a6 to lmp-mr1-dev-plus-aosp
* commit 'e3c9f21eaf2601ce6b2e3d62eeb12d03b048bdce':
  [x86,x86_64] Fix libgcc unwinding through signal
2014-10-29 19:56:54 +00:00
Yabin Cui
c62f0d7c60 am 63edd69e: am cbb4606a: Merge "change unsigned int to uint32_t for api arc4random/arc4random_uniform"
* commit '63edd69e576a9f1faebc493bc6d4e4729c70b02c':
  change unsigned int to uint32_t for api arc4random/arc4random_uniform
2014-10-29 19:42:32 +00:00
Elliott Hughes
654c781195 am 91bfaed2: am 13dcb88b: Merge "Disable tzdata in ."
* commit '91bfaed26a1e4595c387a27a789a71ec0eebfa73':
  Disable tzdata in $ANDROID_DATA.
2014-10-29 19:42:31 +00:00
Elliott Hughes
e3c9f21eaf resolved conflicts for merge of 912fe0a6 to lmp-mr1-dev-plus-aosp
Change-Id: Ie1cc84f34ccaf27eae4f3c292d67d44a9f0276bc
2014-10-29 12:38:36 -07:00
Elliott Hughes
0c4e98adbe Fix the type of u_ar0 in <sys/user.h>.
(cherry picked from commit e03950fa0c5567edf70d011b856a027e03b1c0f7)

Bug: 18172268
Change-Id: I0feda6b253882f68f47bcf30fad998286cc7f620
2014-10-29 11:57:36 -07:00
Elliott Hughes
d0fb6a2940 Add greg_t for arm64.
This was already present for the other architectures. I think we skipped
this because glibc seems to have an incorrect definition (int rather than
long), but the kernel has the sane definition (just not in a uapi header).

(cherry picked from commit 8e4d371091e5738346f5c6ad395b8487c2a5ec67)

Bug: 18172268
Change-Id: I22d13fdeb6431ea122dd028a229782dcaf2286b2
2014-10-29 11:56:59 -07:00
Elliott Hughes
ab4d5cf242 POSIX says <signal.h> gets you ucontext_t.
POSIX also says that ucontext_t's uc_sigmask has type sigset_t.

MIPS64 strace needs this.

The #define is to keep chromium off our lawn; otherwise it tries to redefine
all this stuff itself. We should probably clean that up and remove the #define.

(cherry picked from commit 26a8eb50a84e131d34d10d5d167d67e9995399bd)

Bug: 18172268
Change-Id: I49d7d09dabfc6c6926a8e1f4b235d041e2f2fc4d
2014-10-29 11:55:02 -07:00
Elliott Hughes
eedbf70e8e Add in_port_t and move it and in_addr_t to the correct header file.
No one's reported this, but I saw it in an Android port of fuser(1).

We still have lots of problems in our network headers because we
get most of the structs direct from the kernel, and it doesn't use
types like this (which is why we've got away without this one for
so long). One day we should probably look at cleaning that up, but
doing so can wait.

(cherry picked from commit 35d226e05d92824c6eb992e7a64ea22efc8bae03)

Bug: 18172268
Change-Id: Ice490bfe84afb04722d738128053d4c533b8a664
2014-10-29 11:49:45 -07:00
Christopher Ferris
98d57c95bc Add stpcpy assembler version.
For generic, continue to use the C version of the code.

Bug: 13746695

(cherry picked from commit 7d849ac378515efa1522e538e6e1d3b546cae97d)

Change-Id: Iae44785f37f9bb59103ab78fb9f74c92f8a95c7f
2014-10-29 11:07:03 -07:00
Elliott Hughes
174158ca15 am 3834e0fd: am 382938d0: am ec58e29b: Merge "pthread_setname_np appears in glibc 2.12."
* commit '3834e0fd68f30b49f67e20434a34024aca16b44a':
  pthread_setname_np appears in glibc 2.12.
2014-10-29 17:52:14 +00:00
Elliott Hughes
522d7eec98 am 91e5674c: am 7dbb1cff: am 021b6412: Merge "Fix the type of u_ar0 in <sys/user.h>."
* commit '91e5674c34770b06cabd29afec0c8e752ecc2527':
  Fix the type of u_ar0 in <sys/user.h>.
2014-10-29 17:52:13 +00:00
Elliott Hughes
39b6bfdc0a am a4402ef6: am ee8faa5e: am 7f164f60: Merge "POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK."
* commit 'a4402ef6e68f7b790d49d3dbc6dad4a0893a2e37':
  POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK.
2014-10-29 17:52:12 +00:00
Elliott Hughes
3834e0fd68 am 382938d0: am ec58e29b: Merge "pthread_setname_np appears in glibc 2.12."
* commit '382938d092c7427a74ae8a6507bbd49f01e5c2f9':
  pthread_setname_np appears in glibc 2.12.
2014-10-29 17:46:53 +00:00
Elliott Hughes
91e5674c34 am 7dbb1cff: am 021b6412: Merge "Fix the type of u_ar0 in <sys/user.h>."
* commit '7dbb1cff0b40b4f6a2792b73f24ac912cfe121d5':
  Fix the type of u_ar0 in <sys/user.h>.
2014-10-29 17:46:53 +00:00
Elliott Hughes
a4402ef6e6 am ee8faa5e: am 7f164f60: Merge "POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK."
* commit 'ee8faa5e74eadc12231f59f2bbe13cfa644922cd':
  POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK.
2014-10-29 17:46:52 +00:00
Elliott Hughes
24464b04a0 am d50495a5: Merge "Extra strtod/strtof tests."
* commit 'd50495a56760fdc116b7484bcdf1183c76db9b37':
  Extra strtod/strtof tests.
2014-10-29 17:36:16 +00:00
Dmitriy Ivanov
721950be00 am f63ce364: am 3a3a4b8a: am e23f564b: Merge "Fix *tests-run-on-host target"
* commit 'f63ce364a4cd2004f100ad2f683fe43edf1d1ede':
  Fix *tests-run-on-host target
2014-10-29 17:32:35 +00:00
Elliott Hughes
c779fb70c6 am 6ede5d1f: am 44331e8b: am c716dd1e: Merge "bionic tests: migrate test for mutex type from system/extras"
* commit '6ede5d1f24bbaa88292583ca649916e8c116fb16':
  bionic tests: migrate test for mutex type from system/extras
2014-10-29 17:32:34 +00:00
Dmitriy Ivanov
66acd2c127 am c79478a5: am 85d77021: am f56a2f5e: Merge "Remove unnecessary reinterpret_cast"
* commit 'c79478a53339f957ec7d8ad6f7667b507f3b658e':
  Remove unnecessary reinterpret_cast
2014-10-29 17:32:34 +00:00
Chih-Hung Hsieh
a986a6bbc6 am 5ef7bdad: am f3b0d9cd: am 57c5a556: Merge "Disable clang compilation due to lack of ifunc."
* commit '5ef7bdadbf582d3829289fb2a51cb5ff38a891d2':
  Disable clang compilation due to lack of ifunc.
2014-10-29 17:32:33 +00:00
Elliott Hughes
fc038c029c am 2a45d8cd: am 1dd65cc3: am c83837ec: Merge "Make the netdb unit tests work on the host."
* commit '2a45d8cd4f8c01ae28f0c945df05a7ccc9d31bc2':
  Make the netdb unit tests work on the host.
2014-10-29 17:32:32 +00:00
Elliott Hughes
b8ce996640 am 49220899: am 3f5d8a00: am cad8d226: Merge "Use mxcr_mask instead of mxcsr_mask to match glibc."
* commit '49220899f214a5de54753ab4e9953637faf61f20':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-29 17:32:31 +00:00
Elliott Hughes
b9dd047db5 am 413a4bdd: am 43ec1fb7: am a4c0b756: Merge "Add mkfifoat(3)."
* commit '413a4bdd3c675acf76afeda454ff150853ffd905':
  Add mkfifoat(3).
2014-10-29 17:32:30 +00:00
Dmitriy Ivanov
ba2e363f35 am 1e84f9da: am 3db80168: am f33a7d7f: Merge "Fix mips build"
* commit '1e84f9dab4dd4c366beb8eeade64df9352a47dbd':
  Fix mips build
2014-10-29 17:32:30 +00:00
Dmitriy Ivanov
34d9e9e050 am a7424d79: am fee054f3: am 398eb5a7: Merge "Remove unnecessary lookups during relocations"
* commit 'a7424d79c44b8af56208315962c75d6b8fffcb94':
  Remove unnecessary lookups during relocations
2014-10-29 17:32:29 +00:00
Dmitriy Ivanov
a669279085 am 0dbb80ae: am 1babff27: am 566f2bc6: Merge "Fix relocation to look for symbols in local group"
* commit '0dbb80ae950c766b65321350be002309ef9de5d1':
  Fix relocation to look for symbols in local group
2014-10-29 17:32:28 +00:00
Elliott Hughes
c2e6bc77ba am 5e90a976: am ac5df33e: am 6c5694b6: Merge "Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3)."
* commit '5e90a9760728a314d516602754090848f84f600b':
  Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).
2014-10-29 17:32:27 +00:00
Elliott Hughes
74b96b47f3 am 66bae426: am 7f558f60: am cf8ea37f: Merge "bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests"
* commit '66bae4262aa0c516181e6177f371c5e9223b665a':
  bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests
2014-10-29 17:32:26 +00:00
Elliott Hughes
d50495a567 Merge "Extra strtod/strtof tests." 2014-10-29 17:22:33 +00:00
Dmitriy Ivanov
f63ce364a4 am 3a3a4b8a: am e23f564b: Merge "Fix *tests-run-on-host target"
* commit '3a3a4b8ae6c03b58c59717ab3c3be85099939d3b':
  Fix *tests-run-on-host target
2014-10-29 17:13:49 +00:00
Elliott Hughes
6ede5d1f24 am 44331e8b: am c716dd1e: Merge "bionic tests: migrate test for mutex type from system/extras"
* commit '44331e8bb0ba17be0387e9353d2309f980136273':
  bionic tests: migrate test for mutex type from system/extras
2014-10-29 17:13:49 +00:00
Dmitriy Ivanov
c79478a533 am 85d77021: am f56a2f5e: Merge "Remove unnecessary reinterpret_cast"
* commit '85d770211b33ede2d7bf1b37a6e01bcb308cb666':
  Remove unnecessary reinterpret_cast
2014-10-29 17:13:32 +00:00
Chih-Hung Hsieh
5ef7bdadbf am f3b0d9cd: am 57c5a556: Merge "Disable clang compilation due to lack of ifunc."
* commit 'f3b0d9cd79574ac43d41e50bf81f57016c620624':
  Disable clang compilation due to lack of ifunc.
2014-10-29 17:13:31 +00:00
Elliott Hughes
2a45d8cd4f am 1dd65cc3: am c83837ec: Merge "Make the netdb unit tests work on the host."
* commit '1dd65cc30c43921f9a0fc604597701b349e3e028':
  Make the netdb unit tests work on the host.
2014-10-29 17:13:30 +00:00
Elliott Hughes
49220899f2 am 3f5d8a00: am cad8d226: Merge "Use mxcr_mask instead of mxcsr_mask to match glibc."
* commit '3f5d8a00e4b57fdf7ec8cc01cc33fbfab5ae1316':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-29 17:13:29 +00:00
Elliott Hughes
413a4bdd3c am 43ec1fb7: am a4c0b756: Merge "Add mkfifoat(3)."
* commit '43ec1fb76c679738011adc0706e6ef2e01058e79':
  Add mkfifoat(3).
2014-10-29 17:13:26 +00:00
Dmitriy Ivanov
1e84f9dab4 am 3db80168: am f33a7d7f: Merge "Fix mips build"
* commit '3db80168ff376c08f1faa948b9a41a0c823c9631':
  Fix mips build
2014-10-29 17:13:25 +00:00
Dmitriy Ivanov
a7424d79c4 am fee054f3: am 398eb5a7: Merge "Remove unnecessary lookups during relocations"
* commit 'fee054f3ecd7c26705f544ecf0d76ce4ec57a2d4':
  Remove unnecessary lookups during relocations
2014-10-29 17:13:24 +00:00
Dmitriy Ivanov
0dbb80ae95 am 1babff27: am 566f2bc6: Merge "Fix relocation to look for symbols in local group"
* commit '1babff27fd0e62bd719d04e789da01adbb0b01cd':
  Fix relocation to look for symbols in local group
2014-10-29 17:13:23 +00:00
Elliott Hughes
5e90a97607 am ac5df33e: am 6c5694b6: Merge "Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3)."
* commit 'ac5df33e091c079d667354d225ed37d23326a270':
  Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).
2014-10-29 17:13:22 +00:00
Elliott Hughes
66bae4262a am 7f558f60: am cf8ea37f: Merge "bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests"
* commit '7f558f60cb51c54782f6d51cd3537082e00970bc':
  bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests
2014-10-29 17:10:58 +00:00
Elliott Hughes
9debb36799 am ec2ee183: am 96a6f401: am e516321d: Merge "Update bionic to tzdata2014i."
* commit 'ec2ee183a351ce8cbc8a531b5ff74c3fbc10c644':
  Update bionic to tzdata2014i.
2014-10-29 16:47:11 +00:00
Christopher Ferris
3c7bb4ca22 am c165b98a: am 274f5e73: am efd2ec8f: Merge "Fix race condition in timer disarm/delete."
* commit 'c165b98adc930b11c140a1c10e1eeb0ec6307ac9':
  Fix race condition in timer disarm/delete.
2014-10-29 16:47:10 +00:00
Elliott Hughes
ec2ee183a3 am 96a6f401: am e516321d: Merge "Update bionic to tzdata2014i."
* commit '96a6f40163b5a2b97c470894ef81041e18265192':
  Update bionic to tzdata2014i.
2014-10-29 16:42:51 +00:00
Christopher Ferris
c165b98adc am 274f5e73: am efd2ec8f: Merge "Fix race condition in timer disarm/delete."
* commit '274f5e737dcae3c9d328f89f4f7df29acee41230':
  Fix race condition in timer disarm/delete.
2014-10-29 16:42:50 +00:00
Yabin Cui
63edd69e57 am cbb4606a: Merge "change unsigned int to uint32_t for api arc4random/arc4random_uniform"
* commit 'cbb4606ad00f084f984c92a8674400a112ea200e':
  change unsigned int to uint32_t for api arc4random/arc4random_uniform
2014-10-29 12:32:36 +00:00
Elliott Hughes
91bfaed26a am 13dcb88b: Merge "Disable tzdata in ."
* commit '13dcb88b0f8ce238456059fdc0b6c946caed1e3a':
  Disable tzdata in $ANDROID_DATA.
2014-10-29 12:32:23 +00:00
Elliott Hughes
912fe0a6df am f96eaf62: Merge "[x86,x86_64] Fix libgcc unwinding through signal"
* commit 'f96eaf6202351a1b5153cfaad3137e4b63846f8f':
  [x86,x86_64] Fix libgcc unwinding through signal
2014-10-29 12:31:52 +00:00
Christopher Ferris
1c8ea807eb Cleanup arm assembly.
Remove the old arm directives.
Change the non-local labels to .L labels.
Add cfi directives to strcpy.S.

Bug: 18157900

(cherry picked from commit c8bd2abab24afe563240297018c4fa79944f193b)

Change-Id: Ifa1c3d16553d142eaa0d744af040f0352538106c
2014-10-28 18:19:33 -07:00
Elliott Hughes
89aaaffbf8 Extra strtod/strtof tests.
Check that libc doesn't suffer from a couple of bugs that affected
Java in the past.

Bug: 2206701
Change-Id: I9eb64d7ff2fa0b79e93079b897a5fb78bef866be
2014-10-28 17:54:23 -07:00
Elliott Hughes
4db348f8c9 am 69377b89: Fix merge-induced makefile error.
* commit '69377b890966af4a679857caea983e4702e3b764':
  Fix merge-induced makefile error.
2014-10-29 00:01:14 +00:00
Elliott Hughes
69377b8909 Fix merge-induced makefile error.
Change-Id: I6ac7e5e3b9d55108681916044cf2de0e01bca0b2
2014-10-28 16:58:11 -07:00
Christopher Ferris
0cc59dd303 Add __memcpy_chk assembly for 64 bit.
Bug: 17623887

(cherry picked from commit 8cf61dab5f11ed5654a5760ab47cec0239caafe0)

Change-Id: I91e66ca0c26f04b50308059f9c89d388d55f6e3a
2014-10-28 16:18:47 -07:00
Elliott Hughes
bdc27e578c am 16b557e1: Merge remote-tracking branch \'goog/lmp-mr1-ub-dev\' into manualmerge
* commit '16b557e1b2e991a5e22b553fbc5e8898877d1913':
  Fix mips signed/unsigned signal_test.cpp build breakage.
  Remove the unnecessary generic-neon code.
  Don't mask out SA_RESTORER from sa_flags.
  [x86,x86_64] Fix libgcc unwinding through signal
  Stack unwinding unit tests.
  Use the kernel's sa_restorer for aarch64.
  Fix 32-bit arm unwinding through signal frames.
  Fix signal trampolines.
  Disable tzdata in $ANDROID_DATA.
2014-10-28 23:13:37 +00:00
Elliott Hughes
16b557e1b2 Merge remote-tracking branch 'goog/lmp-mr1-ub-dev' into manualmerge
Conflicts:
	libc/arch-arm/bionic/__restore.S
	libc/arch-arm/cortex-a15/bionic/stpcpy.S
	libc/arch-arm/cortex-a9/bionic/stpcpy.S
	libc/arch-arm64/generic/bionic/memcpy_base.S
	libc/arch-x86/bionic/__restore.S
	libc/arch-x86/x86.mk
	libc/arch-x86_64/bionic/__restore_rt.S
	tests/stack_unwinding_test.cpp
	tests/stack_unwinding_test_impl.c

Change-Id: I2cb250ad78e9da6f390bc279aec742564b75e6c7
2014-10-28 16:06:57 -07:00
Yabin Cui
cbb4606ad0 Merge "change unsigned int to uint32_t for api arc4random/arc4random_uniform" 2014-10-28 22:58:40 +00:00
Elliott Hughes
86d16a053e Clean up the architecture-specific makefiles.
Group things appropriately and name each group.

Bug: 18160821

(cherry picked from commit 7c02d9428ca18ac600f7ba7d51bb24ca71e733f6)

Change-Id: I863242515af44058154d03e2d8c34678e682d66a
2014-10-28 15:13:36 -07:00
Elliott Hughes
b378c27226 No arm source refers to SOFTFLOAT.
So why bother #defining it?

Bug: 18160821

(cherry picked from commit b1a6c319c40674d71e30313040d3b33b8bddf24b)

Change-Id: I9cd9c144ba7071fddda12fa16d1232ad861b66be
2014-10-28 15:13:04 -07:00
Elliott Hughes
22e2c9d963 Fix mips signed/unsigned signal_test.cpp build breakage.
(cherry picked from commit aa13e839f06231b9299bb683a71abd954294b49b)

Bug: 17436734
Change-Id: I167fc5d74c49cca7031c5739bc53fdf3bde71887
2014-10-28 14:02:10 -07:00
Yabin Cui
a39f939e0d change unsigned int to uint32_t for api arc4random/arc4random_uniform
Bug: 17894480
Change-Id: Ia4b5a7cd2b2c6002ed70955f86f7780d26d15e26
2014-10-28 13:44:48 -07:00
Elliott Hughes
382938d092 am ec58e29b: Merge "pthread_setname_np appears in glibc 2.12."
* commit 'ec58e29b276b0f98eb624430fb70703dc32057bf':
  pthread_setname_np appears in glibc 2.12.
2014-10-28 19:28:35 +00:00
Elliott Hughes
7dbb1cff0b am 021b6412: Merge "Fix the type of u_ar0 in <sys/user.h>."
* commit '021b6412f7b7ce73b383480b25a8e5d69323f78c':
  Fix the type of u_ar0 in <sys/user.h>.
2014-10-28 19:28:34 +00:00
Elliott Hughes
ee8faa5e74 am 7f164f60: Merge "POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK."
* commit '7f164f6052b6dcee1c2cc70accdfac4b2c790b19':
  POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK.
2014-10-28 19:28:32 +00:00
Christopher Ferris
43dc3a9aae Remove the unnecessary generic-neon code.
Bug: 18156619
(cherry picked from commit 2169e17482da91865e412e55b52b88d7c8db47f6)

Change-Id: I4a7f5bb9ad4c27b274f3a3c86c1617ca0578b98f
2014-10-28 12:07:25 -07:00
Dmitriy Ivanov
3a3a4b8ae6 am e23f564b: Merge "Fix *tests-run-on-host target"
* commit 'e23f564b52fed0dce661cf6db25cf3a89bd66f18':
  Fix *tests-run-on-host target
2014-10-28 17:34:12 +00:00
Elliott Hughes
44331e8bb0 am c716dd1e: Merge "bionic tests: migrate test for mutex type from system/extras"
* commit 'c716dd1e21438ac6585be79fb799b3135e9b381f':
  bionic tests: migrate test for mutex type from system/extras
2014-10-28 17:34:01 +00:00
Elliott Hughes
13dcb88b0f Merge "Disable tzdata in $ANDROID_DATA." 2014-10-28 16:34:46 +00:00
Elliott Hughes
e24bf5d7b9 Disable tzdata in $ANDROID_DATA.
(cherry picked from 4c30130a2155c37e80af4c3b53bf4f6ce832e760.)

Bug: 18139284
Change-Id: I2670dc1791d635139a5d39a438dc08777439476b
2014-10-28 09:34:09 -07:00
Elliott Hughes
1ea31a2901 Merge "Don't mask out SA_RESTORER from sa_flags." into lmp-mr1-dev 2014-10-28 15:36:56 +00:00
Elliott Hughes
cd99bbfd50 Merge "Disable tzdata in $ANDROID_DATA." into lmp-mr1-dev 2014-10-28 15:06:31 +00:00
Elliott Hughes
28ea229bb2 Don't mask out SA_RESTORER from sa_flags.
glibc doesn't do this, and we probably shouldn't either.

Bug: 16703540
Bug: 17436734

(cherry picked from commit afe58ad9892de27a7acb0aaded6312ee0f958314)

Change-Id: Iada5d0ae814f438cb276f056b2b5e3675f0e3666
2014-10-28 07:55:53 -07:00
Dmitriy Ivanov
85d770211b am f56a2f5e: Merge "Remove unnecessary reinterpret_cast"
* commit 'f56a2f5ed2508e0743581003420c0f2d9cb54c7b':
  Remove unnecessary reinterpret_cast
2014-10-28 04:51:51 +00:00
Chih-Hung Hsieh
f3b0d9cd79 am 57c5a556: Merge "Disable clang compilation due to lack of ifunc."
* commit '57c5a5562b08007dbe6379a4b68ca3a0225747c0':
  Disable clang compilation due to lack of ifunc.
2014-10-28 04:51:47 +00:00
Elliott Hughes
1dd65cc30c am c83837ec: Merge "Make the netdb unit tests work on the host."
* commit 'c83837ec158a14bf84ea702c04f606de3b0599a8':
  Make the netdb unit tests work on the host.
2014-10-28 04:51:46 +00:00
Elliott Hughes
3f5d8a00e4 am cad8d226: Merge "Use mxcr_mask instead of mxcsr_mask to match glibc."
* commit 'cad8d226c3589a65775fda972d4cd3ebd3877dab':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-28 04:51:25 +00:00
Elliott Hughes
43ec1fb76c am a4c0b756: Merge "Add mkfifoat(3)."
* commit 'a4c0b7567190968d263bedd1073ea633510f9a45':
  Add mkfifoat(3).
2014-10-28 04:49:11 +00:00
Dmitriy Ivanov
3db80168ff am f33a7d7f: Merge "Fix mips build"
* commit 'f33a7d7f1cc96cf1445013fe49f6db0f03cbd44f':
  Fix mips build
2014-10-28 04:46:55 +00:00
Dmitriy Ivanov
fee054f3ec am 398eb5a7: Merge "Remove unnecessary lookups during relocations"
* commit '398eb5a7ee1f0f7173e463e82381431ef4b21a17':
  Remove unnecessary lookups during relocations
2014-10-28 04:46:54 +00:00
Dmitriy Ivanov
1babff27fd am 566f2bc6: Merge "Fix relocation to look for symbols in local group"
* commit '566f2bc623dbd1d6e8bcf3a6c6e7a6fffe7f68fd':
  Fix relocation to look for symbols in local group
2014-10-28 04:46:52 +00:00
Elliott Hughes
ac5df33e09 am 6c5694b6: Merge "Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3)."
* commit '6c5694b6c8343d740c36adbe904442cecd8030a6':
  Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).
2014-10-28 04:33:09 +00:00
Pavel Chupin
8eb8c39299 [x86,x86_64] Fix libgcc unwinding through signal
This change provides __restore/__restore_rt on x86 and __restore_rt on
x86_64 with unwinding information to be able to unwind through signal
frame via libgcc provided unwinding interface. See comments inlined for
more details.

Also remove the test that had a dependency on
__attribute__((cleanup(foo_cleanup))). It doesn't provide us with any
better test coverage than we have from the newer tests, and it doesn't
work well across a variety architectures (presumably because no one uses
this attribute in the real world).

Tested this on host via bionic-unit-tests-run-on-host on both x86 and
x86-64.

Bug: 17436734
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>

(cherry picked from commit 50321e2e66f19998970e59d666bc9af387345b3a)

Change-Id: Iba90e36958b00c7cc7db5eeebf888dc89ce4d619
2014-10-27 16:42:49 -07:00
Elliott Hughes
190dce9e56 Stack unwinding unit tests.
Bug: 17436734

(cherry picked from commit bee1993a14b47bc7acda544242f405ae45e42566)

Change-Id: I7205a862ba2c3b474e287f5e9c8982cef4610af9
2014-10-27 16:42:37 -07:00
Elliott Hughes
e5e61a0a92 Use the kernel's sa_restorer for aarch64.
gdb was happy with what we had, but libgcc and libunwind weren't.
libgcc is happy with the kernel's restorer (because of the extra nop),
though libunwind looks like it's going to need code changes regardless.

We could make our restorer more like the kernel's one, but why bother
when we can just let the kernel supply the canonical one?

Bug: 17436734

(cherry picked from commit 1cff9a89645a8f362a9ce19c7f9544e98c1fd9e7)

Change-Id: Ie13d73fd97395e1979a67c2294e036a97c50000d
2014-10-27 16:42:19 -07:00
Elliott Hughes
5054e1a121 Fix 32-bit arm unwinding through signal frames.
gdb was already okay; libgcc and libunwind need a little extra help.

Bug: 17436734

(cherry picked from commit 148dff3ec6114a03acc722ae43990f1b342abad9)

Change-Id: I2cc997017acc57c930284af5264f353656b98c7b
2014-10-27 16:41:56 -07:00
Elliott Hughes
7dc2b7b30d Fix signal trampolines.
* LP32 should use sa_restorer too. gdb expects this, and future (>= 3.15) x86
  kernels will apparently stop supporting the case where SA_RESTORER isn't
  set.

* gdb and libunwind care about the exact instruction sequences, so we need to
  modify the code slightly in a few cases to match what they're looking for.

* gdb also cares about the exact function names (for some architectures),
  so we need to use __restore and __restore_rt rather than __sigreturn and
  __rt_sigreturn.

* It's possible that we don't have a VDSO; dl_iterate_phdr shouldn't assume
  that getauxval(AT_SYSINFO_EHDR) will return a non-null pointer.

This fixes unwinding through a signal handler in gdb for all architectures.
It doesn't fix libunwind for arm and arm64. I'll keep investigating that...

(cherry picked from commit 36f451a6d93b6807944d99fa23396e039c47e845)

Bug: 17436734
Change-Id: Ic1ea1184db6655c5d96180dc07bcc09628e647cb
2014-10-27 16:41:28 -07:00
Elliott Hughes
f96eaf6202 Merge "[x86,x86_64] Fix libgcc unwinding through signal" 2014-10-27 23:30:56 +00:00
Pavel Chupin
50321e2e66 [x86,x86_64] Fix libgcc unwinding through signal
This change provides __restore/__restore_rt on x86 and __restore_rt on
x86_64 with unwinding information to be able to unwind through signal
frame via libgcc provided unwinding interface. See comments inlined for
more details.

Also remove the test that had a dependency on
__attribute__((cleanup(foo_cleanup))). It doesn't provide us with any
better test coverage than we have from the newer tests, and it doesn't
work well across a variety architectures (presumably because no one uses
this attribute in the real world).

Tested this on host via bionic-unit-tests-run-on-host on both x86 and
x86-64.

Bug: 17436734
Change-Id: I2f06814e82c8faa732cb4f5648868dc0fd2e5fe4
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-10-27 16:14:55 -07:00
Elliott Hughes
4c30130a21 Disable tzdata in $ANDROID_DATA.
Bug: 18139284
Change-Id: I2670dc1791d635139a5d39a438dc08777439476b
2014-10-27 13:38:21 -07:00
Elliott Hughes
ec58e29b27 Merge "pthread_setname_np appears in glibc 2.12." 2014-10-27 20:01:36 +00:00
Elliott Hughes
ed29e858d0 pthread_setname_np appears in glibc 2.12.
And our emulator kernels are now new enough to not require a workaround.

Change-Id: Id56c983dbfd8abc69f72a78411a5502391941dfc
2014-10-27 12:01:51 -07:00
Elliott Hughes
021b6412f7 Merge "Fix the type of u_ar0 in <sys/user.h>." 2014-10-27 17:41:00 +00:00
Elliott Hughes
7f164f6052 Merge "POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK." 2014-10-27 17:38:33 +00:00
Dmitriy Ivanov
e23f564b52 Merge "Fix *tests-run-on-host target" 2014-10-26 05:47:53 +00:00
Dmitriy Ivanov
095636e6ad Fix *tests-run-on-host target
Change-Id: Id0e5060977a2df91c47b5a916989eb7e2e3f8153
2014-10-25 21:41:32 -07:00
Elliott Hughes
e03950fa0c Fix the type of u_ar0 in <sys/user.h>.
Change-Id: I9332dea60f7c60b45bc80026686c266bfa7a782c
2014-10-24 20:57:09 -07:00
Elliott Hughes
5b1111a694 POSIX says pthread_mutex_trylock returns EBUSY, not EDEADLK.
Found by unit test.

Change-Id: Iffbd2f04213616927fbd7b5419460031f7a078e9
2014-10-24 19:33:11 -07:00
Elliott Hughes
c716dd1e21 Merge "bionic tests: migrate test for mutex type from system/extras" 2014-10-25 02:03:19 +00:00
Derek Xue
4199695657 bionic tests: migrate test for mutex type from system/extras
Migrate the test about pthread mutex type in file
    system/extras/tests/bionic/libc/bionic/test_mutex.c
to the new place
    bionic/tests/pthread_test.cpp
in the gtest format.

Change-Id: I6aab10170ccad5b9a4892d52dba2403876c86659
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-10-24 18:54:42 -07:00
Dmitriy Ivanov
f56a2f5ed2 Merge "Remove unnecessary reinterpret_cast" 2014-10-24 22:05:36 +00:00
Dmitriy Ivanov
c9d1658397 Remove unnecessary reinterpret_cast
Change-Id: Id2ddf4e74bc66825206d1287f899d716537a68d0
2014-10-24 14:46:12 -07:00
Elliott Hughes
7f558f60cb am cf8ea37f: Merge "bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests"
* commit 'cf8ea37fc91e23d37b3c5873b5e152ccae293f03':
  bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests
2014-10-24 20:18:09 +00:00
Chih-Hung Hsieh
57c5a5562b Merge "Disable clang compilation due to lack of ifunc." 2014-10-24 18:34:40 +00:00
Elliott Hughes
c83837ec15 Merge "Make the netdb unit tests work on the host." 2014-10-24 18:30:37 +00:00
Chih-Hung Hsieh
b086298629 Disable clang compilation due to lack of ifunc.
BUG: 18055309
Change-Id: I0f36011cf7872a20ddd36a6c3c607eb96f0a8ec2
2014-10-24 11:04:51 -07:00
Elliott Hughes
1e8ebdc375 Make the netdb unit tests work on the host.
Bug: 18111005
Change-Id: I79c6929c3827716e19b44d7469db69740f4b449c
2014-10-24 10:45:08 -07:00
Elliott Hughes
7ad94518f3 am 04b75092: am aa6cd581: Use mxcr_mask instead of mxcsr_mask to match glibc.
* commit '04b7509228633cf9800ba9acc7354f72c22f629a':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-24 16:16:46 +00:00
Elliott Hughes
04b7509228 am aa6cd581: Use mxcr_mask instead of mxcsr_mask to match glibc.
* commit 'aa6cd5819c8ebd254d995388798a4b51af7ca933':
  Use mxcr_mask instead of mxcsr_mask to match glibc.
2014-10-24 16:11:49 +00:00
Elliott Hughes
aa6cd5819c Use mxcr_mask instead of mxcsr_mask to match glibc.
Bug: 18097559

(cherry picked from commit f485547b9267263e1de220a3cc368deaec367191)

Change-Id: I242105faa8210abc9635a951b25b127cd64ed23c
2014-10-24 08:43:34 -07:00
Elliott Hughes
cad8d226c3 Merge "Use mxcr_mask instead of mxcsr_mask to match glibc." 2014-10-24 15:40:44 +00:00
Elliott Hughes
96a6f40163 am e516321d: Merge "Update bionic to tzdata2014i."
* commit 'e516321d78162479a4ce17bd5a9ba8c0834abf18':
  Update bionic to tzdata2014i.
2014-10-24 13:01:54 +00:00
Christopher Ferris
274f5e737d am efd2ec8f: Merge "Fix race condition in timer disarm/delete."
* commit 'efd2ec8fbddb99a7a2d7da8e1024655fa08153ca':
  Fix race condition in timer disarm/delete.
2014-10-24 13:01:53 +00:00
Elliott Hughes
f485547b92 Use mxcr_mask instead of mxcsr_mask to match glibc.
Bug: 18097559
Change-Id: Iaca301d7d4c4902989d4699117f72b88d5c4bd78
2014-10-23 20:29:42 -07:00
Elliott Hughes
a4c0b75671 Merge "Add mkfifoat(3)." 2014-10-24 02:57:12 +00:00
Elliott Hughes
ca8e84c6ff Add mkfifoat(3).
Looks like I missed one of the *at functions when I added the rest.

Change-Id: If16de82dbf6f9a3ea7bfdcba406ca1c74a3f2279
2014-10-23 19:10:54 -07:00
Dmitriy Ivanov
f33a7d7f1c Merge "Fix mips build" 2014-10-23 22:53:24 +00:00
Dmitriy Ivanov
398eb5a7ee Merge "Remove unnecessary lookups during relocations" 2014-10-23 22:53:13 +00:00
Dmitriy Ivanov
90b74fb867 Fix mips build
Change-Id: Ia2dc2e07740bdbb91ee92bfea459230015fcc99b
2014-10-23 14:34:12 -07:00
Dmitriy Ivanov
e47b3f8456 Remove unnecessary lookups during relocations
local_group includes this library and its dependencies.

Change-Id: Ib02474b2355bb147de3889f60092cb2f312997ef
2014-10-23 14:19:07 -07:00
Dmitriy Ivanov
566f2bc623 Merge "Fix relocation to look for symbols in local group" 2014-10-23 20:49:00 +00:00
Dmitriy Ivanov
cfa97f172d Fix relocation to look for symbols in local group
The local group is a sequence of libraries in default (breadth-first)
  order. It allows RTLD_LOCALLY loaded library to correctly relocate
  symbols within its group (see test-cases).

  Local group lookup is performed after main executable and ld_preloads.

Bug: 2643900
Bug: 15432753
Change-Id: I9bb013b46d17dbb5cbdfb8fef26f552748385541
2014-10-23 12:13:54 -07:00
Elliott Hughes
6c5694b6c8 Merge "Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3)." 2014-10-23 17:57:06 +00:00
Bill Yi
916c574c31 am f83739d1: am 4b8c96d6: Merge commit \'bc8745cc3dd94331d008d553a374e733df978963\' into HEAD
* commit 'f83739d1e20fc701b93ef55834b4932093438a9c':
2014-10-23 13:25:25 +00:00
Chih-Hung Hsieh
a6a6df53fe am fe5f6dda: am 098cf45f: Merge "Replace ambiguous cmp operator with cmpl."
* commit 'fe5f6ddadc0fd847609428ab4b30a4dfd29a2a1b':
  Replace ambiguous cmp operator with cmpl.
2014-10-23 13:25:24 +00:00
Dmitriy Ivanov
b8ce7c8a62 am d64474c1: am 54d76360: Merge "Rename library_offset to library_fd_offset"
* commit 'd64474c1bd51a15aa8268bda3183853d5a1de2ee':
  Rename library_offset to library_fd_offset
2014-10-23 13:25:23 +00:00
Bill Yi
f83739d1e2 am 4b8c96d6: Merge commit \'bc8745cc3dd94331d008d553a374e733df978963\' into HEAD
* commit '4b8c96d6cd8ead93bcc9acdf34a9e884951c7a7b':
  Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
  More cases where libc should use O_CLOEXEC.
  Hide ScopedTrace.
  Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
2014-10-23 13:04:55 +00:00
Derek Xue
ba811120ae Migrate system/extra getaddrinfo test, and fix a bug in getservbyname(3).
This change is to migrate the getaddrinfo tests defined in the old file
system/extras/tests/bionic/libc/common/test_getaddrinfo.c
to the new place bionic/tests/netdb_test.cpp.

The test here is more thorough, and catches a bug in getservbyname(3)
that was breaking getaddrinfo(3)'s ability to look up services by name
without a hint that would cause it to ask for a specific protocol.

Change-Id: Ief5ebd0869496d1bc6a97861dfefa04bdf24bab1
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-10-22 22:23:10 -07:00
Chih-Hung Hsieh
fe5f6ddadc am 098cf45f: Merge "Replace ambiguous cmp operator with cmpl."
* commit '098cf45f4e853f3c85c14af0e475bfae0839f027':
  Replace ambiguous cmp operator with cmpl.
2014-10-23 03:18:16 +00:00
Dmitriy Ivanov
d64474c1bd am 54d76360: Merge "Rename library_offset to library_fd_offset"
* commit '54d76360ebfb79b57177a81632901ebe1c8fc11f':
  Rename library_offset to library_fd_offset
2014-10-23 03:18:12 +00:00
Elliott Hughes
1effd4cfc6 am 60e3950f: am 8fab8119: Update bionic to tzdata2014i.
* commit '60e3950f4288631021d0034eb2a6bc139e5b9a51':
  Update bionic to tzdata2014i.
2014-10-23 00:03:19 +00:00
Elliott Hughes
60e3950f42 am 8fab8119: Update bionic to tzdata2014i.
* commit '8fab8119dd176a280b62e9e8f2b4f08c0d76f36d':
  Update bionic to tzdata2014i.
2014-10-22 23:58:46 +00:00
Elliott Hughes
cf8ea37fc9 Merge "bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests" 2014-10-22 21:30:40 +00:00
Derek Xue
4912fc7d15 bionic/tests: migrate gethostbyname bionic test from system/extra to bionic/tests
this change migrate the gethostbyname test defined in the old file
system/extras/tests/bionic/libc/common/test_gethostbyname.c
to the new place bionic/tests/netdb_test.cpp

Change-Id: I342171090f681581fb54d68ea4a09adf61f52081
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-10-22 14:30:01 -07:00
Elliott Hughes
8fab8119dd Update bionic to tzdata2014i.
From the release notes:

   Changes affecting future time stamps

     Pacific/Fiji will observe DST from 2014-11-02 02:00 to
     2015-01-18 03:00.  (Thanks to Ken Rylander for the heads-up.)
     Guess that future years will use a similar pattern.

     A new Zone Pacific/Bougainville, for the part of Papua New
     Guinea that plans to switch from UTC+10 to UTC+11 on
     2014-12-28 at 02:00.  (Thanks to Kiley Walbom for the
     heads-up.)

   Changes affecting time zone abbreviations

     Since Belarus is not changing its clocks even though Moscow
     is, the time zone abbreviation in Europe/Minsk is changing
     from FET to its more-traditional value MSK on 2014-10-26 at
     01:00.  (Thanks to Alexander Bokovoy for the heads-up about
     Belarus.)

     The new abbreviation IDT stands for the pre-1976 use of UT+8
     in Indochina, to distinguish it better from ICT (UT+7).

   Changes affecting past time stamps

     Many time stamps have been corrected for Asia/Ho_Chi_Minh
     before 1976 (thanks to Trần Ngọc Quân for an indirect pointer
     to Trần Tiến Bình's authoritative book).  Asia/Ho_Chi_Minh has
     been added to zone1970.tab, to give tzselect users in Vietnam
     two choices, since north and south Vietnam disagreed after our
     1970 cutoff.

     Asia/Phnom_Penh and Asia/Vientiane have been turned into
     links, as they differed from existing zones only for older
     time stamps.  As usual, these changes affect pre-1970 time
     stamps only.  Their old contents have been moved to the
     'backzone' file.

Bug: 18085936

(cherry picked from commit a05c2a2a705c8298154db6665cbbb4dbe3cdbbd5)

Change-Id: If0253cc1515e1bc98e99c6e24eec797836ca7c27
2014-10-22 13:45:25 -07:00
Elliott Hughes
e516321d78 Merge "Update bionic to tzdata2014i." 2014-10-22 20:41:44 +00:00
Christopher Ferris
efd2ec8fbd Merge "Fix race condition in timer disarm/delete." 2014-10-22 20:33:06 +00:00
Christopher Ferris
dcd6ebd86b am d8510e17: am 82eeec68: Merge "Fix generic __memcpy_chk implementation." into lmp-mr1-dev
* commit 'd8510e174f63a655f571e72828b7e9c9e82f53e6':
  Fix generic __memcpy_chk implementation.
2014-10-22 20:31:10 +00:00
Christopher Ferris
d8510e174f am 82eeec68: Merge "Fix generic __memcpy_chk implementation." into lmp-mr1-dev
* commit '82eeec689f66e481928b6788f0a696a5a61f02a3':
  Fix generic __memcpy_chk implementation.
2014-10-22 20:26:27 +00:00
Christopher Ferris
62d84b1935 Fix race condition in timer disarm/delete.
When setting a repeat timer using the SIGEV_THREAD mechanism, it's possible
that the callback can be called after the timer is disarmed or deleted.
This happens because the kernel can generate signals that the timer thread
will continue to handle even after the timer is supposed to be off.

Add two new tests to verify that disarming/deleting doesn't continue to
call the callback.

Modify the repeat test to finish more quickly than before.

Refactor the Counter implementation a bit.

Bug: 18039727

(cherry pick from commit 0724132c3263145f2a667f453a199d313a5b3d9f)

Change-Id: I135726ea4038a47920a6c511708813b1a9996c42
2014-10-22 13:20:39 -07:00
Christopher Ferris
82eeec689f Merge "Fix generic __memcpy_chk implementation." into lmp-mr1-dev 2014-10-22 20:16:18 +00:00
Christopher Ferris
b378abc0ab am 700f1ce9: resolved conflicts for merge of 9b7b0d82 to lmp-mr1-dev-plus-aosp
* commit '700f1ce94b2d092bdd325f6f1fb62a85ee3de262':
  Fix race condition in timer disarm/delete.
2014-10-22 20:08:30 +00:00
Christopher Ferris
700f1ce94b resolved conflicts for merge of 9b7b0d82 to lmp-mr1-dev-plus-aosp
Change-Id: I706dc7e1a13e55316cbc44c025877d42c6731f97
2014-10-22 13:02:58 -07:00
Christopher Ferris
9b7b0d82eb Merge "Fix race condition in timer disarm/delete." into lmp-mr1-dev 2014-10-22 19:43:44 +00:00
Elliott Hughes
a05c2a2a70 Update bionic to tzdata2014i.
From the release notes:

   Changes affecting future time stamps

     Pacific/Fiji will observe DST from 2014-11-02 02:00 to
     2015-01-18 03:00.  (Thanks to Ken Rylander for the heads-up.)
     Guess that future years will use a similar pattern.

     A new Zone Pacific/Bougainville, for the part of Papua New
     Guinea that plans to switch from UTC+10 to UTC+11 on
     2014-12-28 at 02:00.  (Thanks to Kiley Walbom for the
     heads-up.)

   Changes affecting time zone abbreviations

     Since Belarus is not changing its clocks even though Moscow
     is, the time zone abbreviation in Europe/Minsk is changing
     from FET to its more-traditional value MSK on 2014-10-26 at
     01:00.  (Thanks to Alexander Bokovoy for the heads-up about
     Belarus.)

     The new abbreviation IDT stands for the pre-1976 use of UT+8
     in Indochina, to distinguish it better from ICT (UT+7).

   Changes affecting past time stamps

     Many time stamps have been corrected for Asia/Ho_Chi_Minh
     before 1976 (thanks to Trần Ngọc Quân for an indirect pointer
     to Trần Tiến Bình's authoritative book).  Asia/Ho_Chi_Minh has
     been added to zone1970.tab, to give tzselect users in Vietnam
     two choices, since north and south Vietnam disagreed after our
     1970 cutoff.

     Asia/Phnom_Penh and Asia/Vientiane have been turned into
     links, as they differed from existing zones only for older
     time stamps.  As usual, these changes affect pre-1970 time
     stamps only.  Their old contents have been moved to the
     'backzone' file.

Bug: 18085936
Change-Id: I89c065b4788b10ed7530cc4e8cfbc1b65c05c1b7
2014-10-22 12:31:02 -07:00
Christopher Ferris
f13e1eb92f Fix generic __memcpy_chk implementation.
- Clean up the labels (add .L to make them local).
- Change to using cfi directives.
- Fix unwinding of the __memcpy_chk fail path.

Bug: 18033671

(cherry pick from commit 7123d4371a5e04337b1de5f8cdf6cdc1e08e9cad)

Change-Id: Ife93bcbfc1949ef29fc8e2dc515b7120632b82b1
2014-10-22 12:02:13 -07:00
Dmitriy Ivanov
1533debe38 am 61fa2a55: am 702ab5b3: Rename library_offset to library_fd_offset
* commit '61fa2a55ace75e418b39106710d0113ca1ead771':
  Rename library_offset to library_fd_offset
2014-10-22 18:20:19 +00:00
Dmitriy Ivanov
7dbf52c9df am fa08f998: resolved conflicts for merge of de01780f to lmp-mr1-dev-plus-aosp
* commit 'fa08f9986bdf5e939986579c4a4ed47d7b853fac':
  Build dlext_testzip as custom module.
  Add file_offset parameter to android_extinfo
2014-10-22 18:20:18 +00:00
Dmitriy Ivanov
61fa2a55ac am 702ab5b3: Rename library_offset to library_fd_offset
* commit '702ab5b37e77684ee352300d32b078606ee388d0':
  Rename library_offset to library_fd_offset
2014-10-22 17:15:34 +00:00
Dmitriy Ivanov
fa08f9986b resolved conflicts for merge of de01780f to lmp-mr1-dev-plus-aosp
Change-Id: Ibed1ba1f52da7222f534011866515cfce790061f
2014-10-22 10:13:08 -07:00
Dmitriy Ivanov
702ab5b37e Rename library_offset to library_fd_offset
replace lseek() and use pread() instead
 add test for library_fd_offset > file_size case

Bug: 17762003

(cherry picked from commit a6c1279098f24a675d0df74ce1946f5d534b425e)

Change-Id: Ie117c745081ee33d07db5341115ff6c8e98b0dec
2014-10-22 16:35:04 +00:00
Bill Yi
4b8c96d6cd Merge commit 'bc8745cc3dd94331d008d553a374e733df978963' into HEAD 2014-10-22 08:45:57 -07:00
Dan Albert
5ffe3971e5 am f2aacebf: am ad136624: Merge "Never use ASAN."
* commit 'f2aacebf551da2b8d828f0618c84ac544e1398fb':
  Never use ASAN.
2014-10-22 13:18:33 +00:00
Ying Wang
3c5c720b0b Build dlext_testzip as custom module.
Use $(BUILD_SYSTEM)/base_rules to build it as custom module, so that
it's exposed to utilities like mm/mmma etc.

Bug: 17887283
Bug: 17762003

(cherry picked from commit 667853d47770fbdb54aaf0b3261b0d4882725770)

Change-Id: I405797d16f20dc09e5d84b93b6727b634db2fc2c
2014-10-22 08:30:43 +00:00
Christopher Ferris
0724132c32 Fix race condition in timer disarm/delete.
When setting a repeat timer using the SIGEV_THREAD mechanism, it's possible
that the callback can be called after the timer is disarmed or deleted.
This happens because the kernel can generate signals that the timer thread
will continue to handle even after the timer is supposed to be off.

Add two new tests to verify that disarming/deleting doesn't continue to
call the callback.

Modify the repeat test to finish more quickly than before.

Refactor the Counter implementation a bit.

Bug: 18039727
Change-Id: I73192c915cdacf608521b1792c54e5af14a34907
2014-10-21 18:31:02 -07:00
Chih-Hung Hsieh
098cf45f4e Merge "Replace ambiguous cmp operator with cmpl." 2014-10-22 00:55:14 +00:00
Chih-Hung Hsieh
c89ee272fb Replace ambiguous cmp operator with cmpl.
Clang assembler rejects ambiguous cmp instruction.

BUG: 17302482
Change-Id: Ie8dca7e4f46e0906c47076bba21c1941482ba6b3
2014-10-21 16:25:35 -07:00
Dan Albert
f2aacebf55 am ad136624: Merge "Never use ASAN."
* commit 'ad136624b2bed5b6971cd7ba372969b1b352c223':
  Never use ASAN.
2014-10-21 21:33:59 +00:00
Dmitriy Ivanov
54d76360eb Merge "Rename library_offset to library_fd_offset" 2014-10-21 21:06:18 +00:00
Dmitriy Ivanov
de01780f46 Add file_offset parameter to android_extinfo
Bug: 17762003

(cherry picked from commit 07e5bc152d8a3ad4c50808bb86f3c0f2c5e2f514)

Change-Id: I72d527831384ff5dde013a4c8dfe639fbec165f5
2014-10-21 13:52:49 -07:00
Dmitriy Ivanov
a6c1279098 Rename library_offset to library_fd_offset
replace lseek() and use pread() instead
 add test for library_fd_offset > file_size case

Bug: 17762003
Change-Id: I4555f0be635124efe849c1f226985bcba72ffcbd
2014-10-21 13:51:08 -07:00
Dan Albert
ad136624b2 Merge "Never use ASAN." 2014-10-21 18:28:19 +00:00
Dan Albert
5ba672ebcb Never use ASAN.
Unless we completely redo how we build bionic (so that the object
files for libc.so get built separately from libc.a), we can't enable
ASAN here, as libc.a gets linked into static executables.

Change-Id: I2ce4f51248bd51c4213a555ff481b6faabbf53f8
2014-10-21 11:22:26 -07:00
Hans Boehm
e3d979d45d am 361282af: am c712ceee: Make memory_order_acquire visible in global namespace
* commit '361282afd81e6259fa8a62ab46b83da8b50249fe':
  Make memory_order_acquire visible in global namespace
2014-10-20 23:41:37 +00:00
Hans Boehm
361282afd8 am c712ceee: Make memory_order_acquire visible in global namespace
* commit 'c712ceeec4c15da8488c5ce143fcc6b0a02d74f3':
  Make memory_order_acquire visible in global namespace
2014-10-20 23:36:11 +00:00
Christopher Ferris
c8643850d7 am 941ee802: am 8f41d3d3: Merge "Fix generic __memcpy_chk implementation."
* commit '941ee80292cfdbf95a30da82f7be2e662d1f269e':
  Fix generic __memcpy_chk implementation.
2014-10-20 18:44:47 +00:00
Hans Boehm
c712ceeec4 Make memory_order_acquire visible in global namespace
We were missing that using directive when including <atomic>.

Bug:17736764
Change-Id: Ie8ca92a952749415567bcd5fa21d56629a364660
(cherry picked from commit 76ac4d0853c3bba0c65edc98a9cdf932c452e252)
2014-10-20 11:41:34 -07:00
Christopher Ferris
941ee80292 am 8f41d3d3: Merge "Fix generic __memcpy_chk implementation."
* commit '8f41d3d3bc7cf2375e5dd9202da619fd67a5928f':
  Fix generic __memcpy_chk implementation.
2014-10-20 18:38:43 +00:00
Christopher Ferris
bc8745cc3d am 8f41d3d3: Merge "Fix generic __memcpy_chk implementation."
* commit '8f41d3d3bc7cf2375e5dd9202da619fd67a5928f':
  Fix generic __memcpy_chk implementation.
2014-10-20 18:38:27 +00:00
Christopher Ferris
8f41d3d3bc Merge "Fix generic __memcpy_chk implementation." 2014-10-20 18:21:22 +00:00
Chih-Hung Hsieh
2860a41dd0 am 2c87eba8: am 9a740482: Merge "Add -no-integrated-as at local level."
* commit '2c87eba8693c1c7cd03e9b90f686a1415fb2d9c0':
  Add -no-integrated-as at local level.
2014-10-20 17:04:30 +00:00
Chih-Hung Hsieh
042319b908 am 9a740482: Merge "Add -no-integrated-as at local level."
* commit '9a7404824b3dfaad6ba14a41aab5f14132392a92':
  Add -no-integrated-as at local level.
2014-10-20 17:02:32 +00:00
Chih-Hung Hsieh
2c87eba869 am 9a740482: Merge "Add -no-integrated-as at local level."
* commit '9a7404824b3dfaad6ba14a41aab5f14132392a92':
  Add -no-integrated-as at local level.
2014-10-20 17:01:48 +00:00
Chih-Hung Hsieh
9a7404824b Merge "Add -no-integrated-as at local level." 2014-10-20 16:51:06 +00:00
Chih-Hung Hsieh
a371750681 Add -no-integrated-as at local level.
Later we will enable integrated-as as default at the global level.

BUG: 17820427
BUG: 17302991
Change-Id: I233204ca04d7222b2cb1fbd0fa48a482f8b63f6f
2014-10-20 09:09:25 -07:00
Christopher Ferris
7123d4371a Fix generic __memcpy_chk implementation.
- Clean up the labels (add .L to make them local).
- Change to using cfi directives.
- Fix unwinding of the __memcpy_chk fail path.

Bug: 18033671
Change-Id: I12845f10c7ce5e6699c15c558bda64c83f6a392a
2014-10-17 14:44:36 -07:00
Dmitriy Ivanov
a90660f7d0 am 68c41a89: am dec4de45: Merge "Correct way to specify additional dependencies"
* commit '68c41a890dc2d0d95fc1569ffb2e4bcecd603432':
  Correct way to specify additional dependencies
2014-10-17 21:28:44 +00:00
Dmitriy Ivanov
68c41a890d am dec4de45: Merge "Correct way to specify additional dependencies"
* commit 'dec4de456c046881fb1e8c7c7d0c27a11ef09eb7':
  Correct way to specify additional dependencies
2014-10-17 20:34:39 +00:00
Dmitriy Ivanov
d8c3171172 am dec4de45: Merge "Correct way to specify additional dependencies"
* commit 'dec4de456c046881fb1e8c7c7d0c27a11ef09eb7':
  Correct way to specify additional dependencies
2014-10-17 20:33:55 +00:00
Dmitriy Ivanov
dec4de456c Merge "Correct way to specify additional dependencies" 2014-10-17 20:19:18 +00:00
Dmitriy Ivanov
4a9e1937c5 Correct way to specify additional dependencies
Previous one was not covering all the targets

Bug: 17548097
Change-Id: I425e0f8d6e5a43feabd29dcb327049b82754d249
2014-10-17 11:47:18 -07:00
Dmitriy Ivanov
b312428b5e am d7407db0: am 5281e1fb: Merge "Fix misleading comment."
* commit 'd7407db08f528a5c0ccc96314eeced3e46a34f9d':
  Fix misleading comment.
2014-10-16 18:08:45 +00:00
Dmitriy Ivanov
d7407db08f am 5281e1fb: Merge "Fix misleading comment."
* commit '5281e1fb15632c8dc714d10abc6cd1a22a061782':
  Fix misleading comment.
2014-10-16 18:03:07 +00:00
Dmitriy Ivanov
d932c36385 am 5281e1fb: Merge "Fix misleading comment."
* commit '5281e1fb15632c8dc714d10abc6cd1a22a061782':
  Fix misleading comment.
2014-10-16 18:02:17 +00:00
Dmitriy Ivanov
5281e1fb15 Merge "Fix misleading comment." 2014-10-16 17:54:02 +00:00
Dan Albert
4066336a25 am 34de37e5: am 90aa7e37: Merge "Only use <atomic> for C++11 and newer."
* commit '34de37e553d83fb4522c1458bf82d8e8aee4c2bb':
  Only use <atomic> for C++11 and newer.
2014-10-16 16:32:21 +00:00
Dan Albert
96def860ae am 90aa7e37: Merge "Only use <atomic> for C++11 and newer."
* commit '90aa7e374f9000577cde64c4fb88c5dab8dac62e':
  Only use <atomic> for C++11 and newer.
2014-10-16 16:27:37 +00:00
Dan Albert
34de37e553 am 90aa7e37: Merge "Only use <atomic> for C++11 and newer."
* commit '90aa7e374f9000577cde64c4fb88c5dab8dac62e':
  Only use <atomic> for C++11 and newer.
2014-10-16 16:27:27 +00:00
Dan Albert
90aa7e374f Merge "Only use <atomic> for C++11 and newer." 2014-10-16 16:19:44 +00:00
Dan Albert
cec6fd91cd am 574284db: am 8bb12127: Merge "Don\'t use an STL for libm."
* commit '574284dbf27a58cb4c4be97a0a8a09f56fe65f52':
  Don't use an STL for libm.
2014-10-16 16:10:05 +00:00
Dan Albert
574284dbf2 am 8bb12127: Merge "Don\'t use an STL for libm."
* commit '8bb12127e62c1fc4d9dc99ce9272008023c7c08e':
  Don't use an STL for libm.
2014-10-16 16:06:10 +00:00
Dan Albert
c2d70c0f34 am 8bb12127: Merge "Don\'t use an STL for libm."
* commit '8bb12127e62c1fc4d9dc99ce9272008023c7c08e':
  Don't use an STL for libm.
2014-10-16 16:05:31 +00:00
Dan Albert
8bb12127e6 Merge "Don't use an STL for libm." 2014-10-16 15:56:32 +00:00
Dan Albert
3ce0769aa5 Only use <atomic> for C++11 and newer.
Any pre-C++11 clients of stdatomic.h that use libc++ are being forced
over to <atomic>, which they don't have the language support to use.

Change-Id: I62445c1f2541410a1569498c09433c7196635537
2014-10-16 07:52:51 -07:00
Dan Albert
e91d9cd4ad Don't use an STL for libm.
The default is none right now, but this will be needed when the
default becomes libc++.

Change-Id: Ib022adac2b9dc08fbfae830908128043cfffb91e
2014-10-16 07:44:47 -07:00
Dmitriy Ivanov
b2d11387c4 am ab3f96cb: am f5e02582: Merge "Ignore DT_BIND_NOW (0x18)"
* commit 'ab3f96cb20084cf5a9aa299a508be8c462dc9308':
  Ignore DT_BIND_NOW (0x18)
2014-10-16 00:07:20 +00:00
Dmitriy Ivanov
ab3f96cb20 am f5e02582: Merge "Ignore DT_BIND_NOW (0x18)"
* commit 'f5e0258268b45faa4d84de34047660061720abc7':
  Ignore DT_BIND_NOW (0x18)
2014-10-15 23:57:28 +00:00
Dmitriy Ivanov
bb5f4eebc0 am f5e02582: Merge "Ignore DT_BIND_NOW (0x18)"
* commit 'f5e0258268b45faa4d84de34047660061720abc7':
  Ignore DT_BIND_NOW (0x18)
2014-10-15 23:57:28 +00:00
Dmitriy Ivanov
f5e0258268 Merge "Ignore DT_BIND_NOW (0x18)" 2014-10-15 23:46:26 +00:00
Dmitriy Ivanov
ea6eae182a Ignore DT_BIND_NOW (0x18)
Bug: 17552334
Change-Id: Ibe93fd3d6580f369f9a6ef8d235bf0df00fe7607
2014-10-15 22:57:14 +00:00
Robert Grosse
4544d9f9bf Fix misleading comment.
Change-Id: I9e2aa6c2ba938c8f8d7c74eba32d313c866c77b2
2014-10-15 14:32:19 -07:00
Dan Albert
2ed2148d58 am 21df7992: am 71cbcdcf: Merge "We don\'t actually need all of libc++ here."
* commit '21df799218eb39dd66ccdf92045a885fff5eb14e':
  We don't actually need all of libc++ here.
2014-10-15 20:16:18 +00:00
Dan Albert
21df799218 am 71cbcdcf: Merge "We don\'t actually need all of libc++ here."
* commit '71cbcdcf947835076241b9dd72099f28997eb290':
  We don't actually need all of libc++ here.
2014-10-15 20:10:08 +00:00
Dan Albert
8d87796d19 am 71cbcdcf: Merge "We don\'t actually need all of libc++ here."
* commit '71cbcdcf947835076241b9dd72099f28997eb290':
  We don't actually need all of libc++ here.
2014-10-15 20:10:06 +00:00
Dan Albert
71cbcdcf94 Merge "We don't actually need all of libc++ here." 2014-10-15 19:59:09 +00:00
Dan Albert
a7c2e0bad6 We don't actually need all of libc++ here.
All we're actually interested in is the unwinder. Since that's now a
separate library, just use that.

Change-Id: If86071a0d850da961336a58147b70369ace7bd12
2014-10-14 14:19:34 -07:00
Elliott Hughes
1201b719ed am a7995f31: am 97df16ba: Merge "Add clock_settime and clock_nanosleep."
* commit 'a7995f31e2e584e4df8cbdb543e7e0c6535506cf':
  Add clock_settime and clock_nanosleep.
2014-10-14 03:58:49 +00:00
Elliott Hughes
2476691632 am 97df16ba: Merge "Add clock_settime and clock_nanosleep."
* commit '97df16ba5c2911e06d1211781a5724706abd227b':
  Add clock_settime and clock_nanosleep.
2014-10-14 03:26:03 +00:00
Elliott Hughes
a7995f31e2 am 97df16ba: Merge "Add clock_settime and clock_nanosleep."
* commit '97df16ba5c2911e06d1211781a5724706abd227b':
  Add clock_settime and clock_nanosleep.
2014-10-14 03:25:51 +00:00
Elliott Hughes
97df16ba5c Merge "Add clock_settime and clock_nanosleep." 2014-10-14 03:07:43 +00:00
Haruki Hasegawa
1816025684 Add clock_settime and clock_nanosleep.
Add the missing prototypes, fix the existing prototypes to use clockid_t
rather than int, fix clock_nanosleep's failure behavior, and add simple
tests.

Bug: 17644443
Bug: https://code.google.com/p/android/issues/detail?id=77372
Change-Id: I03fba369939403918abcabae9551a7123953d780
Signed-off-by: Haruki Hasegawa <h6a.h4i.0@gmail.com>
2014-10-13 17:04:10 -07:00
Dmitriy Ivanov
261fb20671 am a9223e74: am c2297050: Merge "Add glibc alias for NT_PRFPREG"
* commit 'a9223e74d0ca22587e6a5535c9c2b1c8c044a0bb':
  Add glibc alias for NT_PRFPREG
2014-10-13 22:25:15 +00:00
Christopher Ferris
526c1221e1 am f7c3db67: am 083769a3: Merge "Return total footprint, not high water mark."
* commit 'f7c3db67a172a103ce9fa85733738c20770e551a':
  Return total footprint, not high water mark.
2014-10-13 22:25:13 +00:00
Dan Albert
cc530083c0 am a6ef2e28: am 94571f9a: Merge "Use LOCAL_CXX_STL to select libc++_static."
* commit 'a6ef2e2819bb930b212a492b4f2245d10fd4fc8f':
  Use LOCAL_CXX_STL to select libc++_static.
2014-10-13 22:25:13 +00:00
Dmitriy Ivanov
a9223e74d0 am c2297050: Merge "Add glibc alias for NT_PRFPREG"
* commit 'c229705051c8b6a06ad81c221ca74ef9aa743e13':
  Add glibc alias for NT_PRFPREG
2014-10-13 22:19:46 +00:00
Christopher Ferris
f7c3db67a1 am 083769a3: Merge "Return total footprint, not high water mark."
* commit '083769a3dffabfb968a03a700b9f2fd7838bcf75':
  Return total footprint, not high water mark.
2014-10-13 22:15:58 +00:00
Dan Albert
a6ef2e2819 am 94571f9a: Merge "Use LOCAL_CXX_STL to select libc++_static."
* commit '94571f9ade03cfe24bff1bddc4d6c1a320b39b8e':
  Use LOCAL_CXX_STL to select libc++_static.
2014-10-13 22:15:54 +00:00
Dmitriy Ivanov
951e582c68 am c2297050: Merge "Add glibc alias for NT_PRFPREG"
* commit 'c229705051c8b6a06ad81c221ca74ef9aa743e13':
  Add glibc alias for NT_PRFPREG
2014-10-13 22:15:39 +00:00
Christopher Ferris
737b6581c2 am 083769a3: Merge "Return total footprint, not high water mark."
* commit '083769a3dffabfb968a03a700b9f2fd7838bcf75':
  Return total footprint, not high water mark.
2014-10-13 22:10:03 +00:00
Dan Albert
c01a38622a am 94571f9a: Merge "Use LOCAL_CXX_STL to select libc++_static."
* commit '94571f9ade03cfe24bff1bddc4d6c1a320b39b8e':
  Use LOCAL_CXX_STL to select libc++_static.
2014-10-13 22:10:00 +00:00
Dmitriy Ivanov
c229705051 Merge "Add glibc alias for NT_PRFPREG" 2014-10-13 22:08:52 +00:00
Dmitriy Ivanov
a6bee4df4c Add glibc alias for NT_PRFPREG
Also fix comment style for DF_1_ constants

Change-Id: I7c3ed1d834f0a2b85ee8cc8016c79020955084f8
2014-10-13 15:03:27 -07:00
Christopher Ferris
083769a3df Merge "Return total footprint, not high water mark." 2014-10-13 19:48:35 +00:00
Christopher Ferris
3928d3e2d6 am 93e474ef: am 59a02860: Merge "Return total footprint, not high water mark." into lmp-mr1-dev
* commit '93e474ef5485c0628c358351d3cc6e4938294beb':
  Return total footprint, not high water mark.
2014-10-13 19:46:50 +00:00
Christopher Ferris
fee09e556f Return total footprint, not high water mark.
The mallinfo usmblks value returned by dlmalloc is a little misleading.
It's not the current max, it's the historical high water mark. This
leads to dumpsys meminfo producing native memory numbers that don't add up.
Change this to the real total footprint, not this high water mark.

Bug: 17265653

(cherry pick from commit f4ada9c9ce31c7e56146a4cb703747385bc043a5)

Change-Id: I2fba10285859dccfe8331063c9be14cc169f2d91
2014-10-13 12:45:35 -07:00
Christopher Ferris
93e474ef54 am 59a02860: Merge "Return total footprint, not high water mark." into lmp-mr1-dev
* commit '59a02860a455af68d501ee847889620343dcfb0d':
  Return total footprint, not high water mark.
2014-10-13 19:44:19 +00:00
Christopher Ferris
59a02860a4 Merge "Return total footprint, not high water mark." into lmp-mr1-dev 2014-10-13 19:36:56 +00:00
Christopher Ferris
f4ada9c9ce Return total footprint, not high water mark.
The mallinfo usmblks value returned by dlmalloc is a little misleading.
It's not the current max, it's the historical high water mark. This
leads to dumpsys meminfo producing native memory numbers that don't add up.
Change this to the real total footprint, not this high water mark.

Bug: 17265653
Change-Id: Id0293a1b50c9b0be8795405049f537a51ab0e8b7
2014-10-13 12:29:30 -07:00
Dan Albert
94571f9ade Merge "Use LOCAL_CXX_STL to select libc++_static." 2014-10-13 19:09:00 +00:00
Dan Albert
90a29db0f4 Use LOCAL_CXX_STL to select libc++_static.
Directly adding the library to LOCAL_STATIC_LIBRARIES thwarts a few
build system checks.

Change-Id: Ib23c43badfa85de21c691f79ccdcc2cbe2a89b33
2014-10-13 11:20:29 -07:00
Dan Albert
3563a46aed am 7bdab15e: am 4c086247: Merge "Fix some formatting so GitHub displays it nicely."
* commit '7bdab15e7b3d67dd97b94097c8974b4b85bed7e9':
  Fix some formatting so GitHub displays it nicely.
2014-10-11 01:04:07 +00:00
Dan Albert
7bdab15e7b am 4c086247: Merge "Fix some formatting so GitHub displays it nicely."
* commit '4c0862474e63b09c901d11de47a318ce73a0c686':
  Fix some formatting so GitHub displays it nicely.
2014-10-11 00:58:12 +00:00
Dan Albert
04e0d0ee7e am 4c086247: Merge "Fix some formatting so GitHub displays it nicely."
* commit '4c0862474e63b09c901d11de47a318ce73a0c686':
  Fix some formatting so GitHub displays it nicely.
2014-10-11 00:57:31 +00:00
Dan Albert
4c0862474e Merge "Fix some formatting so GitHub displays it nicely." 2014-10-11 00:48:33 +00:00
Dan Albert
472cce5c98 Fix some formatting so GitHub displays it nicely.
Change-Id: Id6ce9a61bebd98544c85e5780147715c73d0e78b
2014-10-10 17:14:37 -07:00
Dan Albert
6d5c6e7fa0 am 3a05a8b1: am 8c3901b2: Merge "Improve documentation for testing and coverage."
* commit '3a05a8b150a1bae663831a5cee54b5c0c1130303':
  Improve documentation for testing and coverage.
2014-10-10 23:07:31 +00:00
Dan Albert
3a05a8b150 am 8c3901b2: Merge "Improve documentation for testing and coverage."
* commit '8c3901b2999e6821b8ee984193352ba45b003492':
  Improve documentation for testing and coverage.
2014-10-10 23:02:57 +00:00
Christopher Ferris
2bb7009436 am 50f76f37: am e0fafb01: am c891e240: Add back symbols to fix Greed for Glory franchise.
* commit '50f76f375b67756f0c31afcc83ed9a98e1810b24':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 22:08:04 +00:00
Elliott Hughes
48a9101986 am 9a6d0fa1: am 2f25cf37: Fix pthread_attr_getstack under valgrind.
* commit '9a6d0fa1c18bf66611c46942edf2a3e8a6acda8a':
  Fix pthread_attr_getstack under valgrind.
2014-10-10 22:07:56 +00:00
Elliott Hughes
0433575035 am 227faaed: am 2698f9ef: Merge "Catch up on upstream\'s round/roundf/roundl."
* commit '227faaedd575561b2a598de6d9d614420b0894b7':
  Catch up on upstream's round/roundf/roundl.
2014-10-10 22:07:54 +00:00
Christopher Ferris
50f76f375b am e0fafb01: am c891e240: Add back symbols to fix Greed for Glory franchise.
* commit 'e0fafb019e33374fae3fa5dc3473e921566b5991':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 21:02:28 +00:00
Christopher Ferris
e0fafb019e am c891e240: Add back symbols to fix Greed for Glory franchise.
* commit 'c891e24073830e07ba7373dee554ff2c70e1d313':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 20:47:00 +00:00
Dan Albert
64d5450947 am 8c3901b2: Merge "Improve documentation for testing and coverage."
* commit '8c3901b2999e6821b8ee984193352ba45b003492':
  Improve documentation for testing and coverage.
2014-10-10 19:05:03 +00:00
Dan Albert
8c3901b299 Merge "Improve documentation for testing and coverage." 2014-10-10 18:59:03 +00:00
Dan Albert
efee1ce46a Improve documentation for testing and coverage.
Also rename HACKING.txt to README.md so it will display on the GitHub
mirror.

Change-Id: I70157a4ad262700212bf9afd87253d195c7013a9
2014-10-10 11:45:19 -07:00
Elliott Hughes
9a6d0fa1c1 am 2f25cf37: Fix pthread_attr_getstack under valgrind.
* commit '2f25cf373ca7c875956a7c06483b30d381296817':
  Fix pthread_attr_getstack under valgrind.
2014-10-10 18:44:54 +00:00
Christopher Ferris
c952c8cf84 am 2df4673e: resolved conflicts for merge of 7f4618cb to lmp-mr1-dev-plus-aosp
* commit '2df4673edd837e06fb8ae8ec7dd3fdb7a779cfc8':
  Re-add dlmalloc for 32 bit.
2014-10-10 18:42:29 +00:00
Elliott Hughes
2f25cf373c Fix pthread_attr_getstack under valgrind.
valgrind seems to mess with the stack enough that the kernel will
report "[stack:pid]" rather than "[stack]" in /proc/self/maps, so
switch to the task-specific file instead to force "[stack]". (There
are two conditions in the kernel code that decides which form to
output.)

Bug: 17897476

(cherry picked from commit 9afb2f2106a5d659854c175c574c1c31e0e205a2)

Change-Id: I92c331ef6fb5868af49e75bc595710d290a95f5b
2014-10-10 10:57:48 -07:00
Elliott Hughes
227faaedd5 am 2698f9ef: Merge "Catch up on upstream\'s round/roundf/roundl."
* commit '2698f9ef8412011295702cd6df4b66e01cf6c220':
  Catch up on upstream's round/roundf/roundl.
2014-10-10 17:41:11 +00:00
Elliott Hughes
b503f51080 am 2698f9ef: Merge "Catch up on upstream\'s round/roundf/roundl."
* commit '2698f9ef8412011295702cd6df4b66e01cf6c220':
  Catch up on upstream's round/roundf/roundl.
2014-10-10 17:39:00 +00:00
Elliott Hughes
2698f9ef84 Merge "Catch up on upstream's round/roundf/roundl." 2014-10-10 17:29:52 +00:00
Elliott Hughes
14538ca75e Catch up on upstream's round/roundf/roundl.
Not sure how we missed these, but better late than never...

Change-Id: Ib08d1bb6e340a1907cbeb1cbe220e33f70642bdc
2014-10-10 10:21:43 -07:00
Christopher Ferris
2df4673edd resolved conflicts for merge of 7f4618cb to lmp-mr1-dev-plus-aosp
Change-Id: I9b65f8287a4f155f26ae7e217e9553a3aaf22240
2014-10-10 10:05:38 -07:00
Christopher Ferris
8f055f7f54 am c891e240: Add back symbols to fix Greed for Glory franchise.
* commit 'c891e24073830e07ba7373dee554ff2c70e1d313':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 14:35:22 +00:00
Christopher Ferris
1713191651 am b767f632: am 62a665a6: Merge "Add back symbols to fix Greed for Glory franchise."
* commit 'b767f632f34c8efa73d9489fd0d4509bcbb8db71':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 06:43:22 +00:00
Christopher Ferris
b767f632f3 am 62a665a6: Merge "Add back symbols to fix Greed for Glory franchise."
* commit '62a665a605df64a6ea5ac680bb564ad7a5f03711':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 06:38:35 +00:00
Christopher Ferris
472c21b437 am 62a665a6: Merge "Add back symbols to fix Greed for Glory franchise."
* commit '62a665a605df64a6ea5ac680bb564ad7a5f03711':
  Add back symbols to fix Greed for Glory franchise.
2014-10-10 06:38:26 +00:00
Christopher Ferris
62a665a605 Merge "Add back symbols to fix Greed for Glory franchise." 2014-10-10 05:25:26 +00:00
Christopher Ferris
78ba823033 Add back symbols to fix Greed for Glory franchise.
Bug: 17813018

(cherry picked from commit c891e24073830e07ba7373dee554ff2c70e1d313)

Change-Id: I4e891c2dbad9ea00d2377c5175317d9ae3840153
2014-10-09 22:23:50 -07:00
Elliott Hughes
2e7b1ba806 am 404f2a0a: am 8dd3b65f: Merge "Sync libm with upstream."
* commit '404f2a0a224d73a8d9c5d4f1d37d9d1a3ae5ea8d':
  Sync libm with upstream.
2014-10-10 02:14:00 +00:00
Elliott Hughes
dc4dc99268 am 8dd3b65f: Merge "Sync libm with upstream."
* commit '8dd3b65f2dd63df1baa83285f607cf110f21c27c':
  Sync libm with upstream.
2014-10-10 01:59:21 +00:00
Elliott Hughes
404f2a0a22 am 8dd3b65f: Merge "Sync libm with upstream."
* commit '8dd3b65f2dd63df1baa83285f607cf110f21c27c':
  Sync libm with upstream.
2014-10-10 01:57:56 +00:00
Christopher Ferris
c891e24073 Add back symbols to fix Greed for Glory franchise.
Bug: 17813018
Change-Id: Id939426ee5303117b9601e7915fcfec5024fc621
2014-10-09 18:31:01 -07:00
Elliott Hughes
8dd3b65f2d Merge "Sync libm with upstream." 2014-10-10 01:26:18 +00:00
Elliott Hughes
488268b134 Sync libm with upstream.
Change-Id: I3b4e2c9c6ce6c5934f270a51ce5eb9154c5805d5
2014-10-09 16:20:37 -07:00
Elliott Hughes
d8907d9043 am b20a5c8d: am e9c216fc: Merge "Fix pthread_attr_getstack under valgrind."
* commit 'b20a5c8df897b319351a596a97c095d79d9cacca':
  Fix pthread_attr_getstack under valgrind.
2014-10-09 22:15:04 +00:00
Elliott Hughes
b20a5c8df8 am e9c216fc: Merge "Fix pthread_attr_getstack under valgrind."
* commit 'e9c216fca56e84b0d0a96f7d5e3c99d3276ef071':
  Fix pthread_attr_getstack under valgrind.
2014-10-09 22:11:00 +00:00
Elliott Hughes
a852bb56e8 am e9c216fc: Merge "Fix pthread_attr_getstack under valgrind."
* commit 'e9c216fca56e84b0d0a96f7d5e3c99d3276ef071':
  Fix pthread_attr_getstack under valgrind.
2014-10-09 22:10:37 +00:00
Christopher Ferris
7f4618cbc8 am c9734d24: Re-add dlmalloc for 32 bit.
* commit 'c9734d24d92f4737f5ab3808c77d816a1b084582':
  Re-add dlmalloc for 32 bit.
2014-10-09 22:02:00 +00:00
Elliott Hughes
e9c216fca5 Merge "Fix pthread_attr_getstack under valgrind." 2014-10-09 21:17:41 +00:00
Elliott Hughes
9afb2f2106 Fix pthread_attr_getstack under valgrind.
valgrind seems to mess with the stack enough that the kernel will
report "[stack:pid]" rather than "[stack]" in /proc/self/maps, so
switch to the task-specific file instead to force "[stack]". (There
are two conditions in the kernel code that decides which form to
output.)

Bug: 17897476
Change-Id: Iff85ceb6d52e8716251fab4e45d95a27184c5529
2014-10-09 14:01:47 -07:00
Christopher Ferris
42e0817b45 resolved conflicts for merge of c9734d24 to lmp-dev-plus-aosp
Change-Id: I2ced64fed071f126725a8cdbd12d7c1f45ab7947
2014-10-09 12:12:49 -07:00
Christopher Ferris
fcbd52ceb0 am 9d192aa0: am d0944d9e: Merge "Re-add dlmalloc for 32 bit."
* commit '9d192aa08e6dad091f5fa0aeb6cb0541eaca96a5':
  Re-add dlmalloc for 32 bit.
2014-10-09 19:05:10 +00:00
Christopher Ferris
95296d4129 am d0944d9e: Merge "Re-add dlmalloc for 32 bit."
* commit 'd0944d9ed38be0d74c3d8876f0f36b9ddc0ce38c':
  Re-add dlmalloc for 32 bit.
2014-10-09 18:59:43 +00:00
Christopher Ferris
9d192aa08e am d0944d9e: Merge "Re-add dlmalloc for 32 bit."
* commit 'd0944d9ed38be0d74c3d8876f0f36b9ddc0ce38c':
  Re-add dlmalloc for 32 bit.
2014-10-09 18:59:39 +00:00
Christopher Ferris
d0944d9ed3 Merge "Re-add dlmalloc for 32 bit." 2014-10-09 18:50:32 +00:00
Christopher Ferris
f183f95946 Re-add dlmalloc for 32 bit.
It turns out that appportable has a version that calls dlmalloc directly.
Re-add the dlmalloc symbol for 32 bit only as a compatibility shim that
calls malloc.

Bug: 17881362

(cherry pick commit from c9734d24d92f4737f5ab3808c77d816a1b084582)

Change-Id: Iee9a777f66a1edb407d7563a60792b767ac4f83a
2014-10-09 11:47:01 -07:00
Christopher Ferris
c9734d24d9 Re-add dlmalloc for 32 bit.
It turns out that appportable has a version that calls dlmalloc directly.
Re-add the dlmalloc symbol for 32 bit only as a compatibility shim that
calls malloc.

Bug: 17881362
Change-Id: I8f20963b0b8d323489dc083e4063779e0d1d7447
2014-10-09 11:10:23 -07:00
Dan Albert
df511204f5 am 653f30b1: am 8a7f8387: Merge "Use snprintf(3) instead of sprintf(3)."
* commit '653f30b15a9bff8567a4f2fa1ff444dba00281ab':
  Use snprintf(3) instead of sprintf(3).
2014-10-09 12:44:54 +00:00
Dan Albert
c18259333b am 8b3b4fa0: am 72d72d91: Merge "Replace uses of sprintf(3) with snprintf(3)."
* commit '8b3b4fa0ae9e08e64f508e4745ff46c492d84497':
  Replace uses of sprintf(3) with snprintf(3).
2014-10-09 12:44:43 +00:00
Ying Wang
94dfa99c15 am 75fd0e76: am 0c0e728b: Merge "Build dlext_testzip as custom module."
* commit '75fd0e76f81c22d9af689695dc17ef98ad44e384':
  Build dlext_testzip as custom module.
2014-10-09 12:44:42 +00:00
Dmitriy Ivanov
118de39fd6 am c4210cea: am ac3c94d0: Merge "Fix mma build: \'cd bionic && mma\' case"
* commit 'c4210cea45e160162d571992c483faa16d1e0bb6':
  Fix mma build: 'cd bionic && mma' case
2014-10-09 12:44:34 +00:00
Elliott Hughes
913d393b10 am 301c452e: am 0511534d: Merge "Don\'t silently return EINVAL for a NULL sem_t*."
* commit '301c452e5562f9ea286286a1cdb44e73ea390e5c':
  Don't silently return EINVAL for a NULL sem_t*.
2014-10-09 12:44:33 +00:00
Elliott Hughes
fad6661ad9 am 46b99841: am bfeef2d3: Merge "Use ln(1) rather than cp(1) to set up host /system for testing."
* commit '46b998415561aadb8b47c61b7892e85a81b13de5':
  Use ln(1) rather than cp(1) to set up host /system for testing.
2014-10-09 12:44:32 +00:00
Dan Albert
b9122b73bf am 8a7f8387: Merge "Use snprintf(3) instead of sprintf(3)."
* commit '8a7f8387b3b95de2ee0c42e34a226a1fcc066896':
  Use snprintf(3) instead of sprintf(3).
2014-10-09 00:40:24 +00:00
Dan Albert
653f30b15a am 8a7f8387: Merge "Use snprintf(3) instead of sprintf(3)."
* commit '8a7f8387b3b95de2ee0c42e34a226a1fcc066896':
  Use snprintf(3) instead of sprintf(3).
2014-10-09 00:39:27 +00:00
Dan Albert
8a7f8387b3 Merge "Use snprintf(3) instead of sprintf(3)." 2014-10-09 00:32:11 +00:00
Dan Albert
a2220ffb74 am 72d72d91: Merge "Replace uses of sprintf(3) with snprintf(3)."
* commit '72d72d91262fabe6bc169618ef3acb0721441cf0':
  Replace uses of sprintf(3) with snprintf(3).
2014-10-09 00:13:06 +00:00
Ying Wang
196f4eee9f am 0c0e728b: Merge "Build dlext_testzip as custom module."
* commit '0c0e728bd8cdeb0e73fd9c491d05993dfc77b622':
  Build dlext_testzip as custom module.
2014-10-09 00:13:05 +00:00
Dan Albert
8b3b4fa0ae am 72d72d91: Merge "Replace uses of sprintf(3) with snprintf(3)."
* commit '72d72d91262fabe6bc169618ef3acb0721441cf0':
  Replace uses of sprintf(3) with snprintf(3).
2014-10-09 00:12:30 +00:00
Ying Wang
75fd0e76f8 am 0c0e728b: Merge "Build dlext_testzip as custom module."
* commit '0c0e728bd8cdeb0e73fd9c491d05993dfc77b622':
  Build dlext_testzip as custom module.
2014-10-09 00:12:29 +00:00
Dan Albert
ca75f9cdeb Use snprintf(3) instead of sprintf(3).
This change should probably be made upstream as well, but they have a
note about not using it because it isn't available on all systems.

Change-Id: I6d8404c031bd2f486532ced55d94bbb4a4cd2e71
2014-10-08 17:10:26 -07:00
Dan Albert
72d72d9126 Merge "Replace uses of sprintf(3) with snprintf(3)." 2014-10-08 23:44:48 +00:00
Ying Wang
0c0e728bd8 Merge "Build dlext_testzip as custom module." 2014-10-08 23:43:50 +00:00
Ying Wang
667853d477 Build dlext_testzip as custom module.
Use $(BUILD_SYSTEM)/base_rules to build it as custom module, so that
it's exposed to utilities like mm/mmma etc.

Bug: 17887283
Change-Id: Idd7b62d08e4d56331a3ff15da6aa46eae8c41898
2014-10-08 16:38:58 -07:00
Dan Albert
cfd8c45725 Replace uses of sprintf(3) with snprintf(3).
At -00, the compiler warns about sprintf(3), and it is promoted to an
error by -Werror.

Change-Id: Ibb380d27d7eb09dda8ac785be2478d656b379190
2014-10-08 16:12:27 -07:00
Dmitriy Ivanov
86c20f6a52 am ac3c94d0: Merge "Fix mma build: \'cd bionic && mma\' case"
* commit 'ac3c94d031c16a0299471a593cdc6248494e539d':
  Fix mma build: 'cd bionic && mma' case
2014-10-08 22:49:22 +00:00
Elliott Hughes
9a96ca3ec4 am 0511534d: Merge "Don\'t silently return EINVAL for a NULL sem_t*."
* commit '0511534dcbb00f26b2fd6209b1b60a3263bf042c':
  Don't silently return EINVAL for a NULL sem_t*.
2014-10-08 22:49:21 +00:00
Elliott Hughes
294d7d1215 am bfeef2d3: Merge "Use ln(1) rather than cp(1) to set up host /system for testing."
* commit 'bfeef2d3a903f161531ce5e45b2dd7d280e7f154':
  Use ln(1) rather than cp(1) to set up host /system for testing.
2014-10-08 22:49:20 +00:00
Dmitriy Ivanov
c4210cea45 am ac3c94d0: Merge "Fix mma build: \'cd bionic && mma\' case"
* commit 'ac3c94d031c16a0299471a593cdc6248494e539d':
  Fix mma build: 'cd bionic && mma' case
2014-10-08 22:49:08 +00:00
Elliott Hughes
301c452e55 am 0511534d: Merge "Don\'t silently return EINVAL for a NULL sem_t*."
* commit '0511534dcbb00f26b2fd6209b1b60a3263bf042c':
  Don't silently return EINVAL for a NULL sem_t*.
2014-10-08 22:49:07 +00:00
Elliott Hughes
46b9984155 am bfeef2d3: Merge "Use ln(1) rather than cp(1) to set up host /system for testing."
* commit 'bfeef2d3a903f161531ce5e45b2dd7d280e7f154':
  Use ln(1) rather than cp(1) to set up host /system for testing.
2014-10-08 22:49:06 +00:00
Dmitriy Ivanov
ac3c94d031 Merge "Fix mma build: 'cd bionic && mma' case" 2014-10-08 22:39:21 +00:00
Dmitriy Ivanov
51166d3aa2 Fix mma build: 'cd bionic && mma' case
Bug: 17887283
Change-Id: If2015f2361348eac8c53aed3f8715077b79ce2f5
2014-10-08 15:36:56 -07:00
Elliott Hughes
0511534dcb Merge "Don't silently return EINVAL for a NULL sem_t*." 2014-10-08 22:21:13 +00:00
Elliott Hughes
bfeef2d3a9 Merge "Use ln(1) rather than cp(1) to set up host /system for testing." 2014-10-08 22:17:19 +00:00
Elliott Hughes
75129ae9f3 Don't silently return EINVAL for a NULL sem_t*.
Bug: 17571197
Change-Id: Ied31d8de87fc10d20dc338be0457e9a4ddb9a0a5
2014-10-08 15:11:44 -07:00
Elliott Hughes
3ea4d56ed4 Use ln(1) rather than cp(1) to set up host /system for testing.
The trouble with cp is that if you're running a command directly (because
you're using gdb, say), you need to make sure you've copied the linker
and shell again if you've done a rebuild that caused a change there.

Change-Id: I312da30c0f92b515967e854e0faba272c961ecc7
2014-10-08 14:56:27 -07:00
Elliott Hughes
5d104a0454 am 98f32183: am 13641010: Merge "Fix compile-time tests for LP64."
* commit '98f321838be54a64c595d65379e3554fa3d6a8d7':
  Fix compile-time tests for LP64.
2014-10-08 20:44:45 +00:00
Elliott Hughes
98f321838b am 13641010: Merge "Fix compile-time tests for LP64."
* commit '1364101067072c2ce6fa395cdef2534f338f30b1':
  Fix compile-time tests for LP64.
2014-10-08 20:40:08 +00:00
Elliott Hughes
7083b23b1c am 13641010: Merge "Fix compile-time tests for LP64."
* commit '1364101067072c2ce6fa395cdef2534f338f30b1':
  Fix compile-time tests for LP64.
2014-10-08 20:39:57 +00:00
Elliott Hughes
1364101067 Merge "Fix compile-time tests for LP64." 2014-10-08 20:31:10 +00:00
Elliott Hughes
b4b15c63a1 Fix compile-time tests for LP64.
Change-Id: Ib9bec5c6c77c55679d64c2bc15ab70979c40e66c
2014-10-08 13:21:29 -07:00
Dan Albert
aca5f36de3 am 035c00d0: am 5cc5c5ea: Merge "Add basic compile time tests for sn?printf."
* commit '035c00d09ce2b6b04d2c278b8dfadc302acc3de1':
  Add basic compile time tests for sn?printf.
2014-10-08 20:17:24 +00:00
Dan Albert
035c00d09c am 5cc5c5ea: Merge "Add basic compile time tests for sn?printf."
* commit '5cc5c5ea0b7a5a2d523ea35c645a42b222929276':
  Add basic compile time tests for sn?printf.
2014-10-08 20:13:35 +00:00
Dan Albert
1b06736d96 am 5cc5c5ea: Merge "Add basic compile time tests for sn?printf."
* commit '5cc5c5ea0b7a5a2d523ea35c645a42b222929276':
  Add basic compile time tests for sn?printf.
2014-10-08 20:13:24 +00:00
Dan Albert
5cc5c5ea0b Merge "Add basic compile time tests for sn?printf." 2014-10-08 20:04:27 +00:00
Dan Albert
2fbb1b653e Add basic compile time tests for sn?printf.
Bug: 17782583
Change-Id: I6443537c643d1cc6b4a8f2dab5c364f2fbc1faa3
2014-10-08 13:02:53 -07:00
Elliott Hughes
94b0a1f08e am 3430ec18: am 5a3ca374: Merge "Revert "Work around a bug in Immersion\'s libImmEmulatorJ.so.""
* commit '3430ec18a45830cde56393cf67ec34ad4169c9e1':
  Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
2014-10-08 16:53:54 +00:00
Elliott Hughes
3430ec18a4 am 5a3ca374: Merge "Revert "Work around a bug in Immersion\'s libImmEmulatorJ.so.""
* commit '5a3ca374583f7605672d9e8f9098011de240f7c4':
  Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
2014-10-08 16:49:35 +00:00
Elliott Hughes
b559513e08 am 5a3ca374: Merge "Revert "Work around a bug in Immersion\'s libImmEmulatorJ.so.""
* commit '5a3ca374583f7605672d9e8f9098011de240f7c4':
  Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
2014-10-08 16:49:35 +00:00
Elliott Hughes
5a3ca37458 Merge "Revert "Work around a bug in Immersion's libImmEmulatorJ.so."" 2014-10-08 16:40:58 +00:00
Elliott Hughes
abb31de8f3 am 07b7385f: am e5d4fc39: am 1543fdf6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit '07b7385fc08055478cd7ec418cf160fbafae4d59':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-08 07:59:31 +00:00
Dan Albert
1c81bdfd3f am d084b8d6: resolved conflicts for merge of 55ee845b to lmp-mr1-dev-plus-aosp
* commit 'd084b8d6b8c08fb399ba1127063c15a8c970c710':
  Inline helpers need to be exported unmangled.
2014-10-08 07:52:09 +00:00
Elliott Hughes
07b7385fc0 am e5d4fc39: am 1543fdf6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit 'e5d4fc39e3f26920f3413070d1175a0afd14a66f':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-08 07:51:01 +00:00
Dan Albert
d084b8d6b8 resolved conflicts for merge of 55ee845b to lmp-mr1-dev-plus-aosp
Change-Id: I134ec170a5fa1da065256b2da2e9c139db61b030
2014-10-08 00:07:03 -07:00
Elliott Hughes
e5d4fc39e3 am 1543fdf6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit '1543fdf616ddebee7819214437527f380e5c743b':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-08 05:24:46 +00:00
Dan Albert
55ee845b8e Inline helpers need to be exported unmangled.
__open_2() is used by the fortify implementation of open(2) in
fcntl.h, and as such needs an unmangled C name. For some reason
(inlining?), this doesn't cause problems at the default optimization
level, but does for -O0.

The rest of these didn't cause build failures, but they look suspect
and probably will, we just haven't caught them yet.

(cherry-pick of 658727e111ed6dee7be5239494f0764f7b1b02f8 with conflicts
in stdio.h and string.h.)

Bug: 17784968
Change-Id: I7391a7a8999ee204eaf6abd14a3d5373ea419d5b
2014-10-07 18:51:24 -07:00
Nick Kralevich
efa8136df9 am 8ec71579: am ce92b41a: cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
* commit '8ec715796f3eef76edfe7ae18dc8b8a9e2be4b47':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-08 00:57:28 +00:00
Nick Kralevich
8ec715796f am ce92b41a: cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
* commit 'ce92b41a00fb86656055eceab9648a858721c3b1':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-08 00:51:24 +00:00
Dan Albert
f1afba2aca am 187fd4d7: am c9e4f2de: Merge "Inline helpers need to be exported unmangled."
* commit '187fd4d7abd802b77a57e28f3b3c9ce5c3d95e96':
  Inline helpers need to be exported unmangled.
2014-10-08 00:16:26 +00:00
Dan Albert
187fd4d7ab am c9e4f2de: Merge "Inline helpers need to be exported unmangled."
* commit 'c9e4f2de0a92ebf6dec336f383ba172efe1bb366':
  Inline helpers need to be exported unmangled.
2014-10-08 00:13:09 +00:00
Dan Albert
6c4a64e3e2 am c9e4f2de: Merge "Inline helpers need to be exported unmangled."
* commit 'c9e4f2de0a92ebf6dec336f383ba172efe1bb366':
  Inline helpers need to be exported unmangled.
2014-10-08 00:12:32 +00:00
Dan Albert
c9e4f2de0a Merge "Inline helpers need to be exported unmangled." 2014-10-08 00:01:08 +00:00
Dan Albert
658727e111 Inline helpers need to be exported unmangled.
__open_2() is used by the fortify implementation of open(2) in
fcntl.h, and as such needs an unmangled C name. For some reason
(inlining?), this doesn't cause problems at the default optimization
level, but does for -O0.

The rest of these didn't cause build failures, but they look suspect
and probably will, we just haven't caught them yet.

Bug: 17784968
Change-Id: I7391a7a8999ee204eaf6abd14a3d5373ea419d5b
2014-10-07 16:46:47 -07:00
Nick Kralevich
ce92b41a00 cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
Otherwise the gcc compiler warning doesn't show up.

Add -Wno-error to fortify related tests. Fortify related tests
are expected to be examples of bad programs, and in many
cases shouldn't compile cleanly. Rewriting them to compile
cleanly isn't feasible nor desirable.

Bug: 17784968

(cherry picked from commit 1aaa17802c92d99ae170245c2b2f15a6c27b133e)

Change-Id: Ib6df1a3f44b55b1fff222e78395c10c51cd39817
2014-10-07 16:37:04 -07:00
Elliott Hughes
3d773274ad Revert "Work around a bug in Immersion's libImmEmulatorJ.so."
This reverts commit 7d3f553f989f830976efa92ddc3c84661d4d42aa.

Change-Id: I8909b6aa1d97e9a61dbe95a2d91b9fbe336b58f0
2014-10-07 23:31:06 +00:00
Elliott Hughes
5eebae46cb am 1543fdf6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit '1543fdf616ddebee7819214437527f380e5c743b':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:30:35 +00:00
Elliott Hughes
0f0c0475cb am e5b11446: am e8d9057e: Merge "Work around a bug in Immersion\'s libImmEmulatorJ.so."
* commit 'e5b11446897176720f74dd79cfc2cae208ea7739':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:27:43 +00:00
Elliott Hughes
1144dc404c am f6aec385: am b5e7eba6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit 'f6aec385829c376d8df116713a9f76846addb8ac':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:27:43 +00:00
Elliott Hughes
e5b1144689 am e8d9057e: Merge "Work around a bug in Immersion\'s libImmEmulatorJ.so."
* commit 'e8d9057e3005f6f53f8ef2e876b43aea7a892292':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:23:25 +00:00
Elliott Hughes
f6aec38582 am b5e7eba6: Work around a bug in Immersion\'s libImmEmulatorJ.so.
* commit 'b5e7eba6d1b97e471996fcfe7dbde7cbba7512ef':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:22:28 +00:00
Elliott Hughes
e698a7b5cf am e8d9057e: Merge "Work around a bug in Immersion\'s libImmEmulatorJ.so."
* commit 'e8d9057e3005f6f53f8ef2e876b43aea7a892292':
  Work around a bug in Immersion's libImmEmulatorJ.so.
2014-10-07 23:20:57 +00:00
Elliott Hughes
1543fdf616 Work around a bug in Immersion's libImmEmulatorJ.so.
This library calls pthread_mutex_lock and pthread_mutex_unlock with a NULL
pthread_mutex_t*. This gives them (and their users) one release to fix things.

Bug: 17443936

(cherry picked from commit 7d3f553f989f830976efa92ddc3c84661d4d42aa)

Change-Id: Ie26bbecd3a74d61113b51c18832872499b97ee86
(cherry picked from commit b5e7eba6d1b97e471996fcfe7dbde7cbba7512ef)
2014-10-07 23:17:14 +00:00
Elliott Hughes
b5e7eba6d1 Work around a bug in Immersion's libImmEmulatorJ.so.
This library calls pthread_mutex_lock and pthread_mutex_unlock with a NULL
pthread_mutex_t*. This gives them (and their users) one release to fix things.

Bug: 17443936

(cherry picked from commit 7d3f553f989f830976efa92ddc3c84661d4d42aa)

Change-Id: Ie26bbecd3a74d61113b51c18832872499b97ee86
2014-10-07 16:08:46 -07:00
Elliott Hughes
e8d9057e30 Merge "Work around a bug in Immersion's libImmEmulatorJ.so." 2014-10-07 23:08:12 +00:00
Elliott Hughes
7d3f553f98 Work around a bug in Immersion's libImmEmulatorJ.so.
This library calls pthread_mutex_lock and pthread_mutex_unlock with a NULL
pthread_mutex_t*. This gives them (and their users) one release to fix things.

Bug: 17443936
Change-Id: I3b63c9a3dd63db0833f21073e323b3236a13b47a
2014-10-07 16:02:11 -07:00
Elliott Hughes
cee722b1cb am 9eb0d554: resolved conflicts for merge of ea8dea8c to lmp-mr1-dev-plus-aosp
* commit '9eb0d554bad86a62c370e7c31fa19b5f3dc90b36':
  Improve <sys/cdefs.h>.
2014-10-07 20:37:10 +00:00
Elliott Hughes
9eb0d554ba resolved conflicts for merge of ea8dea8c to lmp-mr1-dev-plus-aosp
Change-Id: I368c83e83c56a0c14d395540a715f5c42f8eafa8
2014-10-07 13:33:09 -07:00
Elliott Hughes
ea8dea8cb7 Merge "Improve <sys/cdefs.h>." into lmp-mr1-dev 2014-10-07 18:51:36 +00:00
Dan Albert
6ff5aa092b am 24095148: am eeb9aa02: Merge "Use snprintf instead of sprintf."
* commit '24095148c9952d402380d0b0ab8eb5da2a0bbd9a':
  Use snprintf instead of sprintf.
2014-10-07 18:51:01 +00:00
Dan Albert
24095148c9 am eeb9aa02: Merge "Use snprintf instead of sprintf."
* commit 'eeb9aa02b7f307a1d9b80731dd69ef9dd2f47e47':
  Use snprintf instead of sprintf.
2014-10-07 18:47:04 +00:00
Dan Albert
7c955d7797 am eeb9aa02: Merge "Use snprintf instead of sprintf."
* commit 'eeb9aa02b7f307a1d9b80731dd69ef9dd2f47e47':
  Use snprintf instead of sprintf.
2014-10-07 18:46:32 +00:00
Elliott Hughes
d87d401ab1 Improve <sys/cdefs.h>.
Fix and use __RENAME (and lose ___RENAME --- two underscores should be
enough for anybody). This was the point of this change, because I want
to use __RENAME to support the two basename variants and the two
strerror_r variants.

Lose a bunch of macros that weren't being used.

Lose three dead files from the DNS code.

Bug: 17784968

(cherry picked from commit 2cfb4e8e2e217ef0e4140dcbf9b3da809781158c)

Change-Id: I5e96146f92c0521248c78c0933bec5e9a9818222
2014-10-07 11:40:09 -07:00
Dan Albert
eeb9aa02b7 Merge "Use snprintf instead of sprintf." 2014-10-07 18:38:11 +00:00
Dan Albert
b0fd55608e Use snprintf instead of sprintf.
At -O0, the attribute warning on sprintf is actually triggered (why
doesn't this happen with -Os?!) and promoted to an error by -Werror.
asctime64_r() is a non-standard function, but the IBM docs state that
the buffer is assumed to be at least 26 characters wide, and the
format string does limit to that (assuming a 4 digit year, also
defined by the IBM docs).

http://www-01.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.bpxbd00/asctimer.htm

Change-Id: I1c884474a769aa16c53e985c3d8d694c478c1189
2014-10-07 11:28:47 -07:00
Christopher Ferris
c5d30c27e6 am ac6fc5be: (-s ours) am 4aace385: am 2cf15571: am 40bc7cd4: (-s ours) DO NOT MERGE Re-add .save directive for arm assembler code.
* commit 'ac6fc5befd152814398bccb0443da6704f614f0f':
  DO NOT MERGE  Re-add .save directive for arm assembler code.
2014-10-07 18:03:05 +00:00
Christopher Ferris
ac6fc5befd am 4aace385: am 2cf15571: am 40bc7cd4: (-s ours) DO NOT MERGE Re-add .save directive for arm assembler code.
* commit '4aace3852d2a83067c5ef10e06e2a33c6903940f':
  DO NOT MERGE  Re-add .save directive for arm assembler code.
2014-10-07 17:54:11 +00:00
Christopher Ferris
4aace3852d am 2cf15571: am 40bc7cd4: (-s ours) DO NOT MERGE Re-add .save directive for arm assembler code.
* commit '2cf155713aaba451065d593335d544f2ada24ddf':
  DO NOT MERGE  Re-add .save directive for arm assembler code.
2014-10-07 17:42:39 +00:00
Dmitriy Ivanov
929ec5c950 am c4d97f51: am 6d2dd6a7: Merge "Fix 2nd arch prefix application"
* commit 'c4d97f51476def0852693b4002e9ba65df8cd5a6':
  Fix 2nd arch prefix application
2014-10-07 17:14:21 +00:00
Dmitriy Ivanov
9ec3d2e69a am 6d2dd6a7: Merge "Fix 2nd arch prefix application"
* commit '6d2dd6a74035a7ace838dd44e7910d54e15c11c2':
  Fix 2nd arch prefix application
2014-10-07 17:12:58 +00:00
Dmitriy Ivanov
c4d97f5147 am 6d2dd6a7: Merge "Fix 2nd arch prefix application"
* commit '6d2dd6a74035a7ace838dd44e7910d54e15c11c2':
  Fix 2nd arch prefix application
2014-10-07 17:12:11 +00:00
Dmitriy Ivanov
6d2dd6a740 Merge "Fix 2nd arch prefix application" 2014-10-07 17:04:24 +00:00
Dmitriy Ivanov
75d66dd9a7 Fix 2nd arch prefix application
Bug: 17887283
Change-Id: I7b3b2332212fe416d6b5f5c2e5c1e07605ba09aa
2014-10-07 09:46:46 -07:00
Christopher Ferris
5ad21d60fb am 2cf15571: am 40bc7cd4: (-s ours) DO NOT MERGE Re-add .save directive for arm assembler code.
* commit '2cf155713aaba451065d593335d544f2ada24ddf':
  DO NOT MERGE  Re-add .save directive for arm assembler code.
2014-10-07 15:31:51 +00:00
Christopher Ferris
2cf155713a am 40bc7cd4: (-s ours) DO NOT MERGE Re-add .save directive for arm assembler code.
* commit '40bc7cd4ed9fb848a7b3d934f69669f64ceed707':
  DO NOT MERGE  Re-add .save directive for arm assembler code.
2014-10-07 15:27:36 +00:00
Elliott Hughes
97300b3878 am 106edd3f: am 6c4e16f6: Merge "further cleanup memcpy fortify implementation" into lmp-mr1-dev
* commit '106edd3fa795f41bd8b527732a6c2be74ff4164a':
  further cleanup memcpy fortify implementation
2014-10-07 01:02:57 +00:00
Christopher Ferris
8d0c9dfc2c am a87052c9: resolved conflicts for merge of 27355aff to lmp-mr1-dev-plus-aosp
* commit 'a87052c9a3f71f6017c3a4657d9ce01d8923e969':
  Force export symbols on all x86 variants in libc.
2014-10-07 00:58:44 +00:00
Elliott Hughes
106edd3fa7 am 6c4e16f6: Merge "further cleanup memcpy fortify implementation" into lmp-mr1-dev
* commit '6c4e16f634a8ee07fc0c3cc5299c9f7f03c5f8bf':
  further cleanup memcpy fortify implementation
2014-10-07 00:55:38 +00:00
Christopher Ferris
a87052c9a3 resolved conflicts for merge of 27355aff to lmp-mr1-dev-plus-aosp
Change-Id: Ice2d5d99788eb1fd9bcdfc288a36742f6e73d360
2014-10-06 17:53:54 -07:00
Elliott Hughes
6c4e16f634 Merge "further cleanup memcpy fortify implementation" into lmp-mr1-dev 2014-10-07 00:30:34 +00:00
Christopher Ferris
27355affc1 am d11eac34: Force export symbols on all x86 variants in libc.
* commit 'd11eac3455a059a092ceee92eda9905e1d661e94':
  Force export symbols on all x86 variants in libc.
2014-10-07 00:20:10 +00:00
Christopher Ferris
a0da9f976a am 015a48af: am 81fca356: Merge "Force export symbols on all x86 variants in libc."
* commit '015a48af3634b7337561a35544ecf2bc78549b0f':
  Force export symbols on all x86 variants in libc.
2014-10-07 00:03:54 +00:00
Nick Kralevich
3ccb3fcba4 am d9813e3e: am b5cba608: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit 'd9813e3e7fbf02955d2dd9f9c9ef97a8719b15a3':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-07 00:03:44 +00:00
Nick Kralevich
77e5dd7720 am 75a932c5: resolved conflicts for merge of 7ad2147a to lmp-mr1-dev-plus-aosp
* commit '75a932c5dd959a1678929a7a8211d30a85a907fc':
  string.h: remove unused variable
2014-10-06 23:58:37 +00:00
Christopher Ferris
fae2ad067e am 81fca356: Merge "Force export symbols on all x86 variants in libc."
* commit '81fca35672df90e2f770e67bbf7e7735c6ff8bd8':
  Force export symbols on all x86 variants in libc.
2014-10-06 23:51:43 +00:00
Christopher Ferris
015a48af36 am 81fca356: Merge "Force export symbols on all x86 variants in libc."
* commit '81fca35672df90e2f770e67bbf7e7735c6ff8bd8':
  Force export symbols on all x86 variants in libc.
2014-10-06 23:50:42 +00:00
Christopher Ferris
81fca35672 Merge "Force export symbols on all x86 variants in libc." 2014-10-06 23:45:03 +00:00
Christopher Ferris
6869d26ad9 Force export symbols on all x86 variants in libc.
For silvermont, the __popcountsi2 symbol does not get exported by libc.
But for atom, this symbol is exported. Since we already exported this symbol
for previous releases, it's better to just follow through and force
the export, but only for 32 bit. x86 64 bit will not export this symbol.

Bug: 17681440

(cherry picked from commit d11eac3455a059a092ceee92eda9905e1d661e94)

Change-Id: I93704c721d98d569922f606f214069bda24872ba
2014-10-06 16:41:46 -07:00
Christopher Ferris
9a7d31eb9c Merge "resolved conflicts for merge of d11eac34 to lmp-dev-plus-aosp" into lmp-dev-plus-aosp 2014-10-06 23:32:53 +00:00
Christopher Ferris
d61d2b7b80 resolved conflicts for merge of d11eac34 to lmp-dev-plus-aosp
Change-Id: I3cd9056d5d689b783f4afa870397ad4d9de357f5
2014-10-06 16:30:45 -07:00
Nick Kralevich
2d04b5e09f am b5cba608: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit 'b5cba6081bc9179d3ea2aa1bfd77dd8de1c88525':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 23:29:04 +00:00
Nick Kralevich
d9813e3e7f am b5cba608: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit 'b5cba6081bc9179d3ea2aa1bfd77dd8de1c88525':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 23:28:47 +00:00
Nick Kralevich
b5cba6081b Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions" 2014-10-06 23:21:04 +00:00
Nick Kralevich
db408bf421 further cleanup memcpy fortify implementation
Bug: 17784968

(cherry picked from commit b84f667e9312611536a564700daea11c12b6fcfa)

Change-Id: I68fc2cc0a1ee7f0887edf3681eb83ef678de1383
2014-10-06 16:18:32 -07:00
Christopher Ferris
d11eac3455 Force export symbols on all x86 variants in libc.
For silvermont, the __popcountsi2 symbol does not get exported by libc.
But for atom, this symbol is exported. Since we already exported this symbol
for previous releases, it's better to just follow through and force
the export, but only for 32 bit. x86 64 bit will not export this symbol.

Bug: 17681440
Change-Id: I6c62245f0960910f64baaaf6d9d090bf3ea5f435
2014-10-06 15:51:26 -07:00
Nick Kralevich
75a932c5dd resolved conflicts for merge of 7ad2147a to lmp-mr1-dev-plus-aosp
Change-Id: Ie43710f4e5b8d5638bce505e9bef80e6cdd065bc
2014-10-06 15:50:24 -07:00
Nick Kralevich
1aaa17802c cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
Otherwise the gcc compiler warning doesn't show up.

Add -Wno-error to fortify related tests. Fortify related tests
are expected to be examples of bad programs, and in many
cases shouldn't compile cleanly. Rewriting them to compile
cleanly isn't feasible nor desirable.

Bug: 17784968
Change-Id: I93bececa7444d965f18c7c27d46e7abce5c49a02
2014-10-06 15:11:52 -07:00
Dan Albert
1f41103f26 am 8049eb75: am 9969feca: Merge "Add compile time test infrastructure for bionic."
* commit '8049eb7578ac1e37271da5dca000157687de5162':
  Add compile time test infrastructure for bionic.
2014-10-06 19:56:42 +00:00
Dan Albert
65c10a1477 am 9969feca: Merge "Add compile time test infrastructure for bionic."
* commit '9969fecad23edebcbc4f32a50dc65a2876a2478f':
  Add compile time test infrastructure for bionic.
2014-10-06 19:54:52 +00:00
Dan Albert
8049eb7578 am 9969feca: Merge "Add compile time test infrastructure for bionic."
* commit '9969fecad23edebcbc4f32a50dc65a2876a2478f':
  Add compile time test infrastructure for bionic.
2014-10-06 19:54:37 +00:00
Dan Albert
9969fecad2 Merge "Add compile time test infrastructure for bionic." 2014-10-06 19:45:32 +00:00
Dmitriy Ivanov
30aa4c2ddb am bc7ecf7a: am f4320e86: Merge "Resolve "unused DT entry" warnings for x86_64"
* commit 'bc7ecf7af2d1b06161badddcead0d9f8c66dbd12':
  Resolve "unused DT entry" warnings for x86_64
2014-10-06 19:36:10 +00:00
Dmitriy Ivanov
bc7ecf7af2 am f4320e86: Merge "Resolve "unused DT entry" warnings for x86_64"
* commit 'f4320e867cbc7764d2f1fa8ac64da9cc38cba733':
  Resolve "unused DT entry" warnings for x86_64
2014-10-06 19:28:49 +00:00
Dmitriy Ivanov
b9d4a64866 am f4320e86: Merge "Resolve "unused DT entry" warnings for x86_64"
* commit 'f4320e867cbc7764d2f1fa8ac64da9cc38cba733':
  Resolve "unused DT entry" warnings for x86_64
2014-10-06 19:14:51 +00:00
Dmitriy Ivanov
f4320e867c Merge "Resolve "unused DT entry" warnings for x86_64" 2014-10-06 19:07:58 +00:00
Dan Albert
f04a8bc226 Add compile time test infrastructure for bionic.
Actual tests to follow...

Bug: 17782583
Change-Id: I22857f19899c3b39dbc2e5473ad3be1a8a291139
2014-10-06 11:38:01 -07:00
Dmitriy Ivanov
513e29e16f Resolve "unused DT entry" warnings for x86_64
Change-Id: I3a2c87bf6e6259313cd9203389623f13b7405ef3
2014-10-06 11:32:19 -07:00
Dmitriy Ivanov
5830490dd7 am bfbe68fc: am 6d569b92: Merge "Add file_offset parameter to android_extinfo"
* commit 'bfbe68fc248d4ff69d963aecbab4a42f6def7ba0':
  Add file_offset parameter to android_extinfo
2014-10-06 17:33:59 +00:00
Dmitriy Ivanov
bfbe68fc24 am 6d569b92: Merge "Add file_offset parameter to android_extinfo"
* commit '6d569b92012543a297dccf2dfeaa648d07b3c133':
  Add file_offset parameter to android_extinfo
2014-10-06 17:29:06 +00:00
Dmitriy Ivanov
47388d8297 am 6d569b92: Merge "Add file_offset parameter to android_extinfo"
* commit '6d569b92012543a297dccf2dfeaa648d07b3c133':
  Add file_offset parameter to android_extinfo
2014-10-06 17:28:54 +00:00
Dmitriy Ivanov
6d569b9201 Merge "Add file_offset parameter to android_extinfo" 2014-10-06 17:19:39 +00:00
Nick Kralevich
7ad2147a08 string.h: remove unused variable
(cherry picked from commit 48be71d02b6cc4e6493d38cdd6b7779032c38901)

Bug: 17784968
Change-Id: Iac7732fb4f7fe42977cb9f62472bb636e17e5232
2014-10-06 10:17:01 -07:00
Dmitriy Ivanov
07e5bc152d Add file_offset parameter to android_extinfo
Bug: 17762003
Change-Id: I8fb267a3155acef3dba534038cf5d1ef00d7154b
2014-10-06 10:02:34 -07:00
Nick Kralevich
7912cc7e9e am e88b00c5: am a6eef3be: Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions""
* commit 'e88b00c51d87ce2182774e40939fe51507de6a40':
  Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
2014-10-06 00:48:54 +00:00
Nick Kralevich
e88b00c51d am a6eef3be: Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions""
* commit 'a6eef3be105fb34161fd1b1d513f7d03b5f1bbe9':
  Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
2014-10-06 00:44:49 +00:00
Nick Kralevich
0fd98ec4d7 am a6eef3be: Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions""
* commit 'a6eef3be105fb34161fd1b1d513f7d03b5f1bbe9':
  Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
2014-10-06 00:44:49 +00:00
Nick Kralevich
a6eef3be10 Merge "Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"" 2014-10-06 00:40:07 +00:00
Nick Kralevich
884a3de60f Revert "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
Broke the build.

In file included from frameworks/rs/cpu_ref/rsCpuCore.cpp:36:
system/core/include/cutils/properties.h:118:1: error: unknown attribute '__artificial__' ignored [-Werror,-Wunknown-attributes]
__BIONIC_FORTIFY_INLINE
^
bionic/libc/include/sys/cdefs.h:537:110: note: expanded from macro '__BIONIC_FORTIFY_INLINE'
#define __BIONIC_FORTIFY_INLINE extern __inline__ __always_inline __attribute__((gnu_inline)) __attribute__((__artificial__))
                                                                                                             ^
1 error generated.
make: *** [out/target/product/generic/obj/SHARED_LIBRARIES/libRSCpuRef_intermediates/rsCpuCore.o] Error 1
This reverts commit 9b543ffeac216189cc8125f7624da9a8cbcbe2e4.

Change-Id: I6a1198747505dcb402b722887c1bfbc3a628a8b8
2014-10-06 00:39:47 +00:00
Nick Kralevich
c4b6e25d52 am 5ba8094f: am 558ec810: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit '5ba8094f8bd9e927814eb2a242c6cb8d2c7e87ed':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 00:21:56 +00:00
Nick Kralevich
036cd686af am 558ec810: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit '558ec8103bad6eed78c3e372fc9b2535a3486745':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 00:17:24 +00:00
Nick Kralevich
5ba8094f8b am 558ec810: Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions"
* commit '558ec8103bad6eed78c3e372fc9b2535a3486745':
  cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
2014-10-06 00:17:23 +00:00
Nick Kralevich
558ec8103b Merge "cdefs.h: add artificial attribute to FORTIFY_SOURCE functions" 2014-10-06 00:10:48 +00:00
Nick Kralevich
540aeac4e0 am 32cfbb76: am db6fea86: Merge "further cleanup memcpy fortify implementation"
* commit '32cfbb760536a53d39f376f14eb142b6aab265c3':
  further cleanup memcpy fortify implementation
2014-10-05 17:01:23 +00:00
Nick Kralevich
32cfbb7605 am db6fea86: Merge "further cleanup memcpy fortify implementation"
* commit 'db6fea86a5cb70c5aaad61ef6c126557f36e138b':
  further cleanup memcpy fortify implementation
2014-10-05 16:54:37 +00:00
Nick Kralevich
10450b14f7 am db6fea86: Merge "further cleanup memcpy fortify implementation"
* commit 'db6fea86a5cb70c5aaad61ef6c126557f36e138b':
  further cleanup memcpy fortify implementation
2014-10-05 16:52:37 +00:00
Nick Kralevich
db6fea86a5 Merge "further cleanup memcpy fortify implementation" 2014-10-05 16:43:24 +00:00
Nick Kralevich
b84f667e93 further cleanup memcpy fortify implementation
Change-Id: I0380f3c8ca8f9bb8a206accd839c32c9daf13c56
2014-10-05 06:52:24 -07:00
Nick Kralevich
9b543ffeac cdefs.h: add artificial attribute to FORTIFY_SOURCE functions
Otherwise the gcc compiler warning doesn't show up.

Delete some unittests. These unittests no longer compile cleanly
using -Wall -Werror, and rewriting them to compile cleanly
isn't feasible.

Bug: 17784968
Change-Id: I9bbdc7b6a1c2ac75754f5d0f90782e0dfae66721
2014-10-04 22:01:41 -07:00
Nick Kralevich
9143ea373d am b93a965b: am ae97a776: Merge "string.h: remove unused variable"
* commit 'b93a965bce51d5be57b25f2fd32e858fd300c3e6':
  string.h: remove unused variable
2014-10-04 22:50:53 +00:00
Nick Kralevich
2b208d96af am ae97a776: Merge "string.h: remove unused variable"
* commit 'ae97a776ea900e5923d6d320d72dcc04b224796e':
  string.h: remove unused variable
2014-10-04 22:47:10 +00:00
Nick Kralevich
b93a965bce am ae97a776: Merge "string.h: remove unused variable"
* commit 'ae97a776ea900e5923d6d320d72dcc04b224796e':
  string.h: remove unused variable
2014-10-04 22:47:07 +00:00
Nick Kralevich
ae97a776ea Merge "string.h: remove unused variable" 2014-10-04 22:38:09 +00:00
Nick Kralevich
48be71d02b string.h: remove unused variable
Change-Id: I08b7dab1b374ad427fcbee4183f2c7d93d0199a9
2014-10-04 15:20:00 -07:00
Dmitriy Ivanov
1eb0694888 am cd9165e6: resolved conflicts for merge of 02542b3b to lmp-mr1-dev-plus-aosp
* commit 'cd9165e64952026f54260910dfe72b32387f6d48':
  Reimplement clock(3) using clock_gettime(3)
  Explain why clock(3) isn't broken.
2014-10-04 18:22:14 +00:00
Dmitriy Ivanov
cd9165e649 resolved conflicts for merge of 02542b3b to lmp-mr1-dev-plus-aosp
Change-Id: Ib881abd163fd737719b665c447055c7883a7b791
2014-10-04 11:16:42 -07:00
Elliott Hughes
2e345351b3 resolved conflicts for merge of a5087148 to lmp-dev-plus-aosp
Change-Id: Ic6b352650a7dec53cdd681d0f0b8ba4278e560d3
2014-10-04 10:03:08 -07:00
Alex Van Brunt
02542b3bbd am a5087148: Reimplement clock(3) using clock_gettime(3)
* commit 'a508714800242b294291060641ed35d719bdc857':
  Reimplement clock(3) using clock_gettime(3)
2014-10-04 16:44:11 +00:00
Elliott Hughes
282559de94 am 5f86872e: am 4ef0e59f: Merge "Reimplement clock(3) using clock_gettime(3)"
* commit '5f86872e672187afa6256bf3f15257af7e4eaef6':
  Reimplement clock(3) using clock_gettime(3)
2014-10-04 02:41:31 +00:00
Elliott Hughes
b4954dc384 am 4ef0e59f: Merge "Reimplement clock(3) using clock_gettime(3)"
* commit '4ef0e59f339ad138eabe3bc408beda6004f5ea83':
  Reimplement clock(3) using clock_gettime(3)
2014-10-04 02:24:08 +00:00
Elliott Hughes
5f86872e67 am 4ef0e59f: Merge "Reimplement clock(3) using clock_gettime(3)"
* commit '4ef0e59f339ad138eabe3bc408beda6004f5ea83':
  Reimplement clock(3) using clock_gettime(3)
2014-10-04 02:17:19 +00:00
Alex Van Brunt
a508714800 Reimplement clock(3) using clock_gettime(3)
Unlike times(), clock_gettime() is implemented as a vDSO on many architectures.
So, using clock_gettime() will return a more accurate time and do so with less
overhead because it does have the overhead of calling into the kernel.

It is also significantly more accurate because it measures the actual time in
nanoseconds rather than the number of ticks (typically 1 millisecond or more).

Bug: 17814435

(cherry picked from commit 8d0b2dbf2154d5da17ff09b1d4f864d281362ad2)

Change-Id: Id4945d9f387330518f78669809639952e9227ed9
2014-10-03 19:05:52 -07:00
Elliott Hughes
4ef0e59f33 Merge "Reimplement clock(3) using clock_gettime(3)" 2014-10-04 01:57:42 +00:00
Alex Van Brunt
8d0b2dbf21 Reimplement clock(3) using clock_gettime(3)
Unlike times(), clock_gettime() is implemented as a vDSO on many architectures.
So, using clock_gettime() will return a more accurate time and do so with less
overhead because it does have the overhead of calling into the kernel.

It is also significantly more accurate because it measures the actual time in
nanoseconds rather than the number of ticks (typically 1 millisecond or more).

Bug: 17814435
Change-Id: Id4945d9f387330518f78669809639952e9227ed9
2014-10-03 18:54:28 -07:00
Elliott Hughes
22f5a61d95 am ea9800e9: Explain why clock(3) isn\'t broken.
* commit 'ea9800e98598c71fe76c4e2a0d0498b6bd490a83':
  Explain why clock(3) isn't broken.
2014-10-04 00:06:27 +00:00
Elliott Hughes
f4555a003b am ea9800e9: Explain why clock(3) isn\'t broken.
* commit 'ea9800e98598c71fe76c4e2a0d0498b6bd490a83':
  Explain why clock(3) isn't broken.
2014-10-03 23:57:39 +00:00
Elliott Hughes
ea9800e985 Explain why clock(3) isn't broken.
Bug: 17441123
Bug: 17814435

(cherry picked from commit f83c208b82c78dad07f4065f63bdd354f5ef9951)

Change-Id: I2065afe73b79a8d86404edee16e983625d902cdc
2014-10-03 16:46:20 -07:00
Dmitriy Ivanov
18945005c2 am bf956e86: resolved conflicts for merge of 04f5f410 to lmp-mr1-dev-plus-aosp
* commit 'bf956e863e486c35700718ff84bc5483b46784e6':
  Fix gdb could not get shared library list issue
2014-10-03 19:29:45 +00:00
Dmitriy Ivanov
bf956e863e resolved conflicts for merge of 04f5f410 to lmp-mr1-dev-plus-aosp
Change-Id: I921c62dbe265b1be4d373d1988951de0f6743fba
2014-10-03 12:21:57 -07:00
Dmitriy Ivanov
e3924e6c7e am dcca3fce: am d5df4124: Merge "Add RTLD_NODELETE flag support"
* commit 'dcca3fce3f60233e74d7d23b28b04feeb4d5a0e3':
  Add RTLD_NODELETE flag support
2014-10-03 16:54:31 +00:00
Dmitriy Ivanov
fc046eca0b am d5df4124: Merge "Add RTLD_NODELETE flag support"
* commit 'd5df4124bbbb30411ef19f7c2fbb3987d0eb9630':
  Add RTLD_NODELETE flag support
2014-10-03 16:53:33 +00:00
Dmitriy Ivanov
dcca3fce3f am d5df4124: Merge "Add RTLD_NODELETE flag support"
* commit 'd5df4124bbbb30411ef19f7c2fbb3987d0eb9630':
  Add RTLD_NODELETE flag support
2014-10-03 16:47:05 +00:00
Ningsheng Jian
04f5f4100c Fix gdb could not get shared library list issue
Get dynamic flags from phdr table's correct entry rather the first
entry, so that the following DT_DEBUG entry can be set.

Also fix the undefined reference to LoadTask::deleter issue under gcc
-O0 option.

Bug: 17524778

(cherry picked from commit e93be99da0614ff38cbf8b2bb0624ff1dc79b8d0)

Change-Id: I347792dab25c7b19c3fc690e03d20899ce1e26e0
2014-10-02 15:35:47 -07:00
Dmitriy Ivanov
d5df4124bb Merge "Add RTLD_NODELETE flag support" 2014-10-02 21:47:29 +00:00
Dmitriy Ivanov
812d675be9 am bbf86e61: Fixes to linker code after the conflict resolution
* commit 'bbf86e6157ab98af7468ce5eb3292b6509a3cabd':
  Fixes to linker code after the conflict resolution
2014-10-02 21:35:22 +00:00
Dmitriy Ivanov
6d6c337244 am 2cd77d30: Undo the bad work of Automerger
* commit '2cd77d301ff6860836428cda2ccd626b3bb6912e':
  Undo the bad work of Automerger
2014-10-02 21:35:04 +00:00
Dmitriy Ivanov
1602582952 am 145372b1: Revert "L-MR1 specific fixes"
* commit '145372b1bced73595d51405bcbda73cd092e2425':
  Revert "L-MR1 specific fixes"
2014-10-02 21:35:00 +00:00
Dmitriy Ivanov
bbf86e6157 Fixes to linker code after the conflict resolution
Change-Id: Icd0728604a865b73e7af0e0aee38971a612935f2
2014-10-02 13:44:20 -07:00
Dmitriy Ivanov
2cd77d301f Undo the bad work of Automerger
Change-Id: I585388aebc556a094db4c22e647edacea7cde129
2014-10-02 13:08:39 -07:00
Dmitriy Ivanov
e7575e1b57 am d4ab8f01: am 1cd0c677: L-MR1 specific fixes
* commit 'd4ab8f0135603f252936c8d73a579c7ec5314b71':
  L-MR1 specific fixes
2014-10-02 19:51:14 +00:00
Dmitriy Ivanov
145372b1bc Revert "L-MR1 specific fixes"
This reverts commit 1cd0c6777f35b531c9ce78397d0915aa521b3e87.
2014-10-02 12:49:42 -07:00
Dmitriy Ivanov
128c850cc1 am feaf85e3: resolved conflicts for merge of 7d971ec1 to lmp-mr1-dev-plus-aosp
* commit 'feaf85e34c0ab0a65096b183a6ae3144242d934b':
  Fix unload of recursively linked library
2014-10-02 19:42:54 +00:00
Dmitriy Ivanov
d4ab8f0135 am 1cd0c677: L-MR1 specific fixes
* commit '1cd0c6777f35b531c9ce78397d0915aa521b3e87':
  L-MR1 specific fixes
2014-10-02 19:41:50 +00:00
Dmitriy Ivanov
feaf85e34c resolved conflicts for merge of 7d971ec1 to lmp-mr1-dev-plus-aosp
Change-Id: I1cd01e5c0dd00cd55594654d53f7e0cb6edf35d9
2014-10-02 12:38:54 -07:00
Dmitriy Ivanov
651bab0e16 am b5626827: resolved conflicts for merge of f4cb6313 to lmp-mr1-dev-plus-aosp
* commit 'b5626827c9d62783737de163723e8f647eb6665f':
  Add IFUNC support for arm64 and IRELATIVE reloc
2014-10-02 19:38:02 +00:00
Dmitriy Ivanov
b5626827c9 resolved conflicts for merge of f4cb6313 to lmp-mr1-dev-plus-aosp
Change-Id: I9c033fa82c7bf07e06157227f5162d603804b7d6
2014-10-02 12:33:10 -07:00
Dmitriy Ivanov
9adb53a634 am 85fc61d7: am ef1306d7: Refactoring: C++11 style DISABLE_ bionic marcos
* commit '85fc61d7d2755fa55270d30bee348bc98adb5032':
  Refactoring: C++11 style DISABLE_ bionic marcos
2014-10-02 19:27:30 +00:00
Dmitriy Ivanov
da5b0de585 am 2fbf6593: resolved conflicts for merge of 61c4147f to lmp-mr1-dev-plus-aosp
* commit '2fbf6593aec12d0644308775463bd0c4ccff4aa6':
  Reset enviroment for math_tests
2014-10-02 19:27:30 +00:00
Dmitriy Ivanov
85fc61d7d2 am ef1306d7: Refactoring: C++11 style DISABLE_ bionic marcos
* commit 'ef1306d77718cc74a8df5673a15649dea317571d':
  Refactoring: C++11 style DISABLE_ bionic marcos
2014-10-02 19:23:57 +00:00
Dmitriy Ivanov
7c96e34558 am 6aac3cd1: resolved conflicts for merge of ae69a958 to lmp-mr1-dev-plus-aosp
* commit '6aac3cd112360631970ff3a7b809d58ed88a10c9':
  Load libraries in breadth-first order
2014-10-02 19:23:44 +00:00
Dmitriy Ivanov
2fbf6593ae resolved conflicts for merge of 61c4147f to lmp-mr1-dev-plus-aosp
Change-Id: I4ed15dbb2136a1984f7651dcc85d05e3e585ac51
2014-10-02 12:22:07 -07:00
Dmitriy Ivanov
6aac3cd112 resolved conflicts for merge of ae69a958 to lmp-mr1-dev-plus-aosp
Change-Id: Ia466577ef6e627cc6fcef46aa37cce21acbc8519
2014-10-02 12:17:32 -07:00
Dmitriy Ivanov
166aa84826 am e3105fee: resolved conflicts for merge of c0133a73 to lmp-mr1-dev-plus-aosp
* commit 'e3105fee224456000f84a03a767685849055e381':
  Revert "Load libraries in breadth-first order"
2014-10-02 19:04:09 +00:00
Dmitriy Ivanov
e3105fee22 resolved conflicts for merge of c0133a73 to lmp-mr1-dev-plus-aosp
Change-Id: I31d81e91d796fa27f9c88a7edc96c97320ade72c
2014-10-02 11:59:28 -07:00
Dmitriy Ivanov
a79c70dd59 am daf15a6c: resolved conflicts for merge of 8de1ddec to lmp-mr1-dev-plus-aosp
* commit 'daf15a6ca7b1ef7f16103e339334eda3b18aa425':
  Fix order of soinfo links (repairs libcxx tests).
2014-10-02 18:41:08 +00:00
Dmitriy Ivanov
daf15a6ca7 resolved conflicts for merge of 8de1ddec to lmp-mr1-dev-plus-aosp
Change-Id: I9bb063dcf684307181ce4a2b1e5f96bd0d78aaff
2014-10-02 11:34:05 -07:00
Dmitriy Ivanov
e027ca9665 am 32ebc71f: resolved conflicts for merge of 59c12a65 to lmp-mr1-dev-plus-aosp
* commit '32ebc71f99523eb2496a4be175a40dcd10dc699a':
  Load libraries in breadth-first order
2014-10-02 18:32:33 +00:00
Dmitriy Ivanov
32ebc71f99 resolved conflicts for merge of 59c12a65 to lmp-mr1-dev-plus-aosp
Change-Id: I92667dd3d55c8cfd2586c88362fd542c7a6ff9b2
2014-10-02 11:27:57 -07:00
Dmitriy Ivanov
0427f87378 am dadc782c: resolved conflicts for merge of 81fe2b16 to lmp-mr1-dev-plus-aosp
* commit 'dadc782cf01ebfb1dc3401352450922a9d644614':
  Enable clang compilation with libc but not linker.
2014-10-02 18:10:01 +00:00
Dmitriy Ivanov
dadc782cf0 resolved conflicts for merge of 81fe2b16 to lmp-mr1-dev-plus-aosp
Change-Id: I61272d86ebf0d40262e88f5f4327cf97be035bda
2014-10-02 11:06:05 -07:00
Dmitriy Ivanov
e4874d6b1d am 9b6b6e6d: resolved conflicts for merge of 7210c41f to lmp-mr1-dev-plus-aosp
* commit '9b6b6e6d4a9fa83c6ded39a618e66c05e21d2989':
  Encapsulate soinfo_link_image and soinfo_relocate
2014-10-02 17:57:20 +00:00
Dmitriy Ivanov
9b6b6e6d4a resolved conflicts for merge of 7210c41f to lmp-mr1-dev-plus-aosp
Change-Id: I44d84a95f506e89e77cce8c218083a80ca5724b9
2014-10-02 10:54:08 -07:00
Dmitriy Ivanov
3ca82fd210 am 1c695166: am 4466bd72: Implement LinkedList::visit()
* commit '1c69516677e9a7943e90add7f1e44361c7a53b38':
  Implement LinkedList::visit()
2014-10-02 17:38:12 +00:00
Dmitriy Ivanov
5d20f051b0 am de1943eb: resolved conflicts for merge of ff01f6fc to lmp-mr1-dev-plus-aosp
* commit 'de1943eb82116d879344dc17f54f7188d8119740':
  Introduce size-based r/w allocators
2014-10-02 17:38:11 +00:00
Dmitriy Ivanov
15f795113e am 846be3ea: resolved conflicts for merge of 4d01d08c to lmp-mr1-dev-plus-aosp
* commit '846be3ea5d71bc69744747d19b0a9b0dcee4c376':
  Erase elements in LinkedList::remove_if
2014-10-02 17:38:10 +00:00
Dmitriy Ivanov
e788f1da5d am cd7890ba: resolved conflicts for merge of cfad7ae9 to lmp-mr1-dev-plus-aosp
* commit 'cd7890ba2d0297f3857d65a29fe65da409ccc319':
  Replace NULL with nullptr
2014-10-02 17:38:10 +00:00
Dmitriy Ivanov
1c69516677 am 4466bd72: Implement LinkedList::visit()
* commit '4466bd72fb9daeb0ef8f250e8314b555aab30817':
  Implement LinkedList::visit()
2014-10-02 17:34:40 +00:00
Dmitriy Ivanov
de1943eb82 resolved conflicts for merge of ff01f6fc to lmp-mr1-dev-plus-aosp
Change-Id: I90e7700708a305a7e93dd3ef3a32c5508038b53b
2014-10-02 10:33:04 -07:00
Dmitriy Ivanov
846be3ea5d resolved conflicts for merge of 4d01d08c to lmp-mr1-dev-plus-aosp
Change-Id: Icaf503240281596de05ee331457200b61d57ab46
2014-10-02 10:28:43 -07:00
Dmitriy Ivanov
cd7890ba2d resolved conflicts for merge of cfad7ae9 to lmp-mr1-dev-plus-aosp
Change-Id: I119e37c6689c4cc49663748a72c17dc55a362b02
2014-10-02 10:21:34 -07:00
Dmitriy Ivanov
ee5e2fb541 am 47102e1e: am 5dfe802d: Remove unnecessary calls to LinkedList::clear()
* commit '47102e1e1dd538089198c6889b0109f1f9734b77':
  Remove unnecessary calls to LinkedList::clear()
2014-10-02 17:10:27 +00:00
Dmitriy Ivanov
512c261c8e am abf6390f: resolved conflicts for merge of 93c3f420 to lmp-mr1-dev-plus-aosp
* commit 'abf6390f37b6d541fa3d26583fc8506047b50de8':
  Enable __cxa_atexit && __cxa_finalize for linker
2014-10-02 17:10:27 +00:00
Dmitriy Ivanov
47102e1e1d am 5dfe802d: Remove unnecessary calls to LinkedList::clear()
* commit '5dfe802d0dedbfce355a7ece5bc77c7346941bb2':
  Remove unnecessary calls to LinkedList::clear()
2014-10-02 17:06:50 +00:00
Dmitriy Ivanov
c05ceefcd7 am 88eb2a9c: resolved conflicts for merge of 3bbd218e to lmp-mr1-dev-plus-aosp
* commit '88eb2a9cf5f2c71bdd73d36ff7dbc29a655cb1ec':
  Bump soinfo version
2014-10-02 17:06:48 +00:00
Dmitriy Ivanov
abf6390f37 resolved conflicts for merge of 93c3f420 to lmp-mr1-dev-plus-aosp
Change-Id: I3cd9c572ec096dc14e0356fe2725074bc7af29d3
2014-10-02 10:05:02 -07:00
Dmitriy Ivanov
88eb2a9cf5 resolved conflicts for merge of 3bbd218e to lmp-mr1-dev-plus-aosp
Change-Id: Ie7f85be196a44ab59554384274f2022239f91b0e
2014-10-02 09:59:26 -07:00
Dmitriy Ivanov
327bf8ad36 am 58481547: Merge "resolved conflicts for merge of bd321c11 to lmp-mr1-dev-plus-aosp" into lmp-mr1-dev-plus-aosp
* commit '5848154714fbe84de46af33ee9a57c7588094167':
  Run constructors before resolving ifunc functions
2014-10-02 16:56:38 +00:00
Dmitriy Ivanov
5848154714 Merge "resolved conflicts for merge of bd321c11 to lmp-mr1-dev-plus-aosp" into lmp-mr1-dev-plus-aosp 2014-10-02 16:51:08 +00:00
Dmitriy Ivanov
0a21fe5dcd resolved conflicts for merge of bd321c11 to lmp-mr1-dev-plus-aosp
Change-Id: I6ee8a75840073ed00eda9f8f0fbd372cdcfb0be0
2014-10-02 09:49:28 -07:00
Dmitriy Ivanov
f126b0d59f am 8fd54631: resolved conflicts for merge of 31b88da8 to lmp-mr1-dev-plus-aosp
* commit '8fd546313cb47b42a70478a59b5b556bf4a61966':
  Added test for ifunc support in dynamic linker.
2014-10-02 15:59:45 +00:00
Dmitriy Ivanov
8fd546313c resolved conflicts for merge of 31b88da8 to lmp-mr1-dev-plus-aosp
Change-Id: I3081cba9e1372adc085380cda01d4825543a6727
2014-10-02 08:53:42 -07:00
Elliott Hughes
322bce681c am d081e8b5: am e4f8962a: Merge "Update bionic to tzdata 2014h." into lmp-mr1-dev
* commit 'd081e8b53960ed3be976e75bb7ac2c043898c4ad':
  Update bionic to tzdata 2014h.
2014-10-02 12:47:19 +00:00
Elliott Hughes
14afc13b99 am 26ce6c21: am b5f5b0e4: Fix update-tzdata.py to rebuild icu4c .dat file.
* commit '26ce6c215bcd4fe6befce3b55228966e27775616':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-02 12:47:18 +00:00
Elliott Hughes
d081e8b539 am e4f8962a: Merge "Update bionic to tzdata 2014h." into lmp-mr1-dev
* commit 'e4f8962ab5b4fb64842f4635fdf01a860bb180ee':
  Update bionic to tzdata 2014h.
2014-10-02 12:37:01 +00:00
Elliott Hughes
26ce6c215b am b5f5b0e4: Fix update-tzdata.py to rebuild icu4c .dat file.
* commit 'b5f5b0e418e5c382573e367dd4aff9373180bbe4':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-02 12:37:00 +00:00
Dmitriy Ivanov
1cd0c6777f L-MR1 specific fixes
Reset soinfo version to 0.
 Disable ifunc test for arm64 because of old toolchain
 in lmp-mr1-dev branch

 Note: this commit should be reverted in -plus-aosp branch.

Change-Id: I2d6d996d43bc35d5d4975c745779f43a988b31e6
2014-10-01 16:26:49 -07:00
Dmitriy Ivanov
7d971ec14b Fix unload of recursively linked library
Expanded test for recursive libs. Fixed bug with unnecessary
  soinfo_free of already loaded library.

(cherry picked from commit a6ac54a215d6b64f5cc5a59b66c1dbfbb41ea9f5)

Change-Id: I6907c723d9fbdf6b2777f3f236b1e29b0843edd6
2014-10-01 16:04:58 -07:00
Dmitriy Ivanov
f4cb631364 Add IFUNC support for arm64 and IRELATIVE reloc
There are number of changes in the way IFUNC related relocations are done:
 1. IRELATIVE relocations are now supported for x86/x86_64 and arm64.
 2. IFUNC relocations are now relying on static linker to generate
    them in correct order - this removes necessety of additional
    relocation pass for ifuncs.
 3. Related to 2: rela?.dyn relocations are preformed before .plt ones.
 4. Ifunc are resolved on symbol lookup this approach allowed to avoid
    mprotect(PROT_WRITE) call on r-x program segments.

Bug: 17399706
Bug: 17177284

(cherry picked from commit 9aea164457c269c475592da36b4655d45f55c7bc)

Change-Id: Ie19d900fc203beb93faf8943b0d06d534a6de4ad
2014-10-01 16:04:31 -07:00
Dmitriy Ivanov
ef1306d777 Refactoring: C++11 style DISABLE_ bionic marcos
Enable the -std=gnu++11 flag for libstdc++ static and
  dynamic libs.

  ScopeGuard uses DISABLE_ macros instead of '= delete';

(cherry picked from commit d9ff7226613014056c9edd79a68dc5af939107a0)

Change-Id: If2573d080770e18b36b56106f2369f7bb682cd3c
2014-10-01 16:03:51 -07:00
Dmitriy Ivanov
61c4147fa8 Reset enviroment for math_tests
Bug: 17390824

(cherry picked from commit 7b956ede3f0f40bd8a085a8ad3729bb3e0e030f2)

Change-Id: I5d804ceb5e69533584161bfed6787529cd8296fb
2014-10-01 16:03:40 -07:00
Dmitriy Ivanov
ae69a9584b Load libraries in breadth-first order
This patch fixes the problem with symbol search order
  for dlsym(RTLD_DEFAULT/RTLD_NEXT, .) by loading libraries
  and ld_preloads in correct order.

Bug: https://code.google.com/p/android/issues/detail?id=74255
Attempt: 2

(cherry picked from commit 14669a939d113214a4a20b9318fca0992d5453f0)

Change-Id: Id87540c96a2242220967b6fa5d84ddcd829e2b97
2014-10-01 16:01:28 -07:00
Dmitriy Ivanov
c0133a73b6 Revert "Load libraries in breadth-first order"
This reverts commit a3ad450a2e3fb6b3fe359683b247eba20896f646.

(cherry picked from commit 498eb18b82a425f9f30132e4832f327b2ee0e545)

Change-Id: Iec7eab83d0c0ed1604e1e8ea3f9e9d0ce1d29680
2014-10-01 16:00:52 -07:00
Dmitriy Ivanov
8de1ddece0 Fix order of soinfo links (repairs libcxx tests).
(cherry picked from commit b2a30ee8d209154efc367db11b4167a5d6db605f)

Change-Id: I59c5333bc050cbbea14051cea9220be2f64ee383
2014-10-01 16:00:41 -07:00
Dmitriy Ivanov
59c12a6527 Load libraries in breadth-first order
This patch fixes the problem with symbol search order
  for dlsym(RTLD_DEFAULT/RTLD_NEXT, .) by loading libraries
  and ld_preloads in correct order.

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

(cherry picked from commit a3ad450a2e3fb6b3fe359683b247eba20896f646)

Change-Id: I1125de10272c84e4f075cbc72859c1f6b3e89943
2014-10-01 16:00:29 -07:00
Chih-Hung Hsieh
81fe2b16dc Enable clang compilation with libc but not linker.
Clang is still disabled for x86 and x86_64 long double code,
for x86_64 special assembly instruction, and the linker module.

BUG: 17163651
BUG: 17302991
BUG: 17403674

(cherry picked from commit b58db8b083ce41798a5310616e4f20885cec611f)

Change-Id: I916c05056d37a9c287b0a5ae3b1a209d98c8f70e
2014-10-01 15:57:09 -07:00
Dmitriy Ivanov
7210c41fdc Encapsulate soinfo_link_image and soinfo_relocate
Also get rid of needed[] array for these functions

(cherry picked from commit 29bbc9dd4c606de9187e46d8899a2a744715c967)

Change-Id: Id208621f66afa2e02a6b3facacee7d874466d81b
2014-10-01 15:56:44 -07:00
Dmitriy Ivanov
4466bd72fb Implement LinkedList::visit()
(cherry picked from commit a4926058496c1c24c00ac07e42d45048dac7c487)

Change-Id: I59554be45c910bfe33494016595a5ade9daad230
2014-10-01 15:56:23 -07:00
Dmitriy Ivanov
ff01f6fcce Introduce size-based r/w allocators
(cherry picked from commit 0cd83ebb0e9784827d9ec0a8028a710e73a28b2b)

Change-Id: Ib037bd5313c9a78b6051482f14e789aa820b4dd1
2014-10-01 15:55:58 -07:00
Dmitriy Ivanov
4d01d08c29 Erase elements in LinkedList::remove_if
(cherry picked from commit 4bea498544bb1377f610520d7f58856382a6e5fc)

Change-Id: I1ffe248bc2b7572f38fbd987e9c6db5ecbd4559d
2014-10-01 15:55:35 -07:00
Dmitriy Ivanov
cfad7ae934 Replace NULL with nullptr
(cherry picked from commit 851135bf9941b3813adb9b4f43d76e040c4ba157)

Change-Id: Ic4997907680db7472ef38ffb0f0ca66fff37b797
2014-10-01 15:54:26 -07:00
Dmitriy Ivanov
5dfe802d0d Remove unnecessary calls to LinkedList::clear()
(cherry picked from commit 608217e1674d8fd8b334fe18c753b6c4638ed783)

Change-Id: I031359d79b2e77977ace197ef410e41539dc0ce6
2014-10-01 15:53:07 -07:00
Dmitriy Ivanov
93c3f4203c Enable __cxa_atexit && __cxa_finalize for linker
This allows adding destructors to classes used
 for global variables.

(cherry picked from commit 14241402de0faa4b244b1bd6b1f0799ce169b880)

Change-Id: I1d8776130d1e01a8c53d23a2949f5010f4c96b16
2014-10-01 15:52:38 -07:00
Dmitriy Ivanov
3bbd218ef1 Bump soinfo version
This includes:
 1. Placing has_ifunc after fields with version = 0
 2. Switch to has_min_version(v) function.
 3. Minor soinfo initialization refactoring (placement new + ctor)

(cherry picked from commit 0d15094287fe0f288d9c258953143fc1998b6b5a)

Change-Id: Idf135fdd3d4826b5653f32add2adc6db5d4a4f95
2014-10-01 15:52:15 -07:00
Dmitriy Ivanov
bd321c1106 Run constructors before resolving ifunc functions
Bug: 17177284

(cherry picked from commit 9598b8c415e2fa9f240508185fe8c964b83f538d)

Change-Id: I2c9631ee1cd77f8cf95ec0216a35b605c8786454
2014-10-01 15:51:47 -07:00
Brigid Smith
31b88da843 Added test for ifunc support in dynamic linker.
ifuncs now work in i386 and x86_64 when called in the same library as
well as in a different library.

Bug:6657325
(cherry picked from commit c5a13efa9bc4264be0a9a9e37c00633af01584ed)

Change-Id: I321d780bc2f9bd1baa749e1acacd2683aefe827b
2014-10-01 15:50:38 -07:00
Hans Boehm
b24442611c am 4aa38919: am 2d111d9e: Merge "Make memory_order_acquire visible in global namespace"
* commit '4aa389193e79d98754f928f9a3624c6c3fffe2ca':
  Make memory_order_acquire visible in global namespace
2014-10-01 19:27:12 +00:00
Hans Boehm
f26a55e13a am 2d111d9e: Merge "Make memory_order_acquire visible in global namespace"
* commit '2d111d9eb10b6c48e2e47251be66b418a6109dd9':
  Make memory_order_acquire visible in global namespace
2014-10-01 19:23:05 +00:00
Hans Boehm
4aa389193e am 2d111d9e: Merge "Make memory_order_acquire visible in global namespace"
* commit '2d111d9eb10b6c48e2e47251be66b418a6109dd9':
  Make memory_order_acquire visible in global namespace
2014-10-01 19:23:03 +00:00
Hans Boehm
2d111d9eb1 Merge "Make memory_order_acquire visible in global namespace" 2014-10-01 19:16:50 +00:00
Christopher Ferris
3d5f6c4997 am 7239135e: am b19bd93f: Merge "Add stpcpy assembler version."
* commit '7239135eb4d651140a40cd4549b8d9e1101a0c20':
  Add stpcpy assembler version.
2014-10-01 18:29:10 +00:00
Christopher Ferris
7239135eb4 am b19bd93f: Merge "Add stpcpy assembler version."
* commit 'b19bd93f8b83307f2f7530545f7c78824914f4eb':
  Add stpcpy assembler version.
2014-10-01 18:24:26 +00:00
Christopher Ferris
3a25cdfd33 am b19bd93f: Merge "Add stpcpy assembler version."
* commit 'b19bd93f8b83307f2f7530545f7c78824914f4eb':
  Add stpcpy assembler version.
2014-10-01 18:24:16 +00:00
Christopher Ferris
b19bd93f8b Merge "Add stpcpy assembler version." 2014-10-01 18:16:14 +00:00
Dmitriy Ivanov
1b20dafdbe Add RTLD_NODELETE flag support
Bug: https://code.google.com/p/android/issues/detail?id=64069
Change-Id: Ie5f90482feae86391172be4b32d6cb7d76f446fb
2014-10-01 11:09:37 -07:00
Elliott Hughes
e4f8962ab5 Merge "Update bionic to tzdata 2014h." into lmp-mr1-dev 2014-10-01 18:02:51 +00:00
Elliott Hughes
e24825bc9c am 600ab1ca: am cadccfd7: Merge "Update bionic to tzdata 2014h."
* commit '600ab1ca01bbd302e122ae66b79c70d20e1d7621':
  Update bionic to tzdata 2014h.
2014-10-01 17:42:53 +00:00
Elliott Hughes
67cd68a321 am 0d1fa6f2: am 89fd3236: Merge "Fix update-tzdata.py to rebuild icu4c .dat file."
* commit '0d1fa6f29bd60ea08791b8c7f4e9c2fe5728706c':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-01 17:42:52 +00:00
Elliott Hughes
600ab1ca01 am cadccfd7: Merge "Update bionic to tzdata 2014h."
* commit 'cadccfd70821aeb107b8fc0084da04faecbfde2f':
  Update bionic to tzdata 2014h.
2014-10-01 17:38:45 +00:00
Elliott Hughes
0d1fa6f29b am 89fd3236: Merge "Fix update-tzdata.py to rebuild icu4c .dat file."
* commit '89fd32362bb62775aad001802bc79e3f07d7d62f':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-01 17:38:44 +00:00
Elliott Hughes
1f84254edb am cadccfd7: Merge "Update bionic to tzdata 2014h."
* commit 'cadccfd70821aeb107b8fc0084da04faecbfde2f':
  Update bionic to tzdata 2014h.
2014-10-01 17:35:56 +00:00
Elliott Hughes
44ba5935e9 am 89fd3236: Merge "Fix update-tzdata.py to rebuild icu4c .dat file."
* commit '89fd32362bb62775aad001802bc79e3f07d7d62f':
  Fix update-tzdata.py to rebuild icu4c .dat file.
2014-10-01 17:35:55 +00:00
Elliott Hughes
d18205049d Update bionic to tzdata 2014h.
From the release notes:

  Changes affecting past time stamps

    America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28.

    Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01,
    not 1920-01-06.  The old entry was based on a misinterpretation of Shanks.

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: Africa/Blantyre, Africa/Bujumbura,
    Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi,
    Africa/Lusaka, Africa/Maseru, and Africa/Mbabane.

Bug: 17731498

(cherry picked from commit 0c8fb51e6b8cfcd00d453cb5ebfa516f02009854)

Change-Id: Icf8a9cbd309951b4ffc20c74eb1e78c1e39c222f
2014-10-01 10:21:07 -07:00
Elliott Hughes
cadccfd708 Merge "Update bionic to tzdata 2014h." 2014-10-01 17:20:34 +00:00
Elliott Hughes
b5f5b0e418 Fix update-tzdata.py to rebuild icu4c .dat file.
Bug: 17731498

(cherry picked from commit f8896c6c93fd698b129742780878123a3a19ae07)

Change-Id: If97e1ccf593a2ed6c2356077e660d6fd88a05875
2014-10-01 10:07:24 -07:00
Elliott Hughes
89fd32362b Merge "Fix update-tzdata.py to rebuild icu4c .dat file." 2014-10-01 17:00:23 +00:00
Christopher Ferris
7d849ac378 Add stpcpy assembler version.
For generic, continue to use the C version of the code.

Bug: 13746695
Change-Id: I77426a70b06131f2373bb51265bea1240bb3f101
2014-09-30 19:23:26 -07:00
Dan Albert
27d1976f0c am 3c113851: am 81156d93: Merge "Add coverage flag for libm."
* commit '3c1138510e6e8e0b9c87cc5cf45a7a8780aaf961':
  Add coverage flag for libm.
2014-10-01 02:12:33 +00:00
Dan Albert
92df938168 am 81156d93: Merge "Add coverage flag for libm."
* commit '81156d93c557e88379dd3e9d869dcc97a15293f5':
  Add coverage flag for libm.
2014-10-01 01:38:35 +00:00
Dan Albert
3c1138510e am 81156d93: Merge "Add coverage flag for libm."
* commit '81156d93c557e88379dd3e9d869dcc97a15293f5':
  Add coverage flag for libm.
2014-10-01 01:38:13 +00:00
Hans Boehm
76ac4d0853 Make memory_order_acquire visible in global namespace
We were missing that using directive when including <atomic>.

Bug:17736764
Change-Id: Ie8ca92a952749415567bcd5fa21d56629a364660
2014-09-30 18:35:04 -07:00
Dan Albert
81156d93c5 Merge "Add coverage flag for libm." 2014-10-01 01:28:25 +00:00
Elliott Hughes
0c8fb51e6b Update bionic to tzdata 2014h.
From the release notes:

  Changes affecting past time stamps

    America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28.

    Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01,
    not 1920-01-06.  The old entry was based on a misinterpretation of Shanks.

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: Africa/Blantyre, Africa/Bujumbura,
    Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi,
    Africa/Lusaka, Africa/Maseru, and Africa/Mbabane.

Bug: 17731498
Change-Id: If65b740d4e3a67075cca770655a1df17952c3da0
2014-09-30 17:35:38 -07:00
Elliott Hughes
f8896c6c93 Fix update-tzdata.py to rebuild icu4c .dat file.
Bug: 17731498
Change-Id: I4c810507c0ca9883dde1bece14530db80485b8f6
2014-09-30 17:30:01 -07:00
Elliott Hughes
420b580cdc am 31052a12: am 252c1ac9: Merge "Update our FreeBSD realpath(3) to upstream head."
* commit '31052a12eb8c339364cd383c5a99997c02436409':
  Update our FreeBSD realpath(3) to upstream head.
2014-10-01 00:08:06 +00:00
Elliott Hughes
d0fb0873f5 am 252c1ac9: Merge "Update our FreeBSD realpath(3) to upstream head."
* commit '252c1ac9738ff6187354f243ef118eac962b65dc':
  Update our FreeBSD realpath(3) to upstream head.
2014-10-01 00:05:58 +00:00
Elliott Hughes
31052a12eb am 252c1ac9: Merge "Update our FreeBSD realpath(3) to upstream head."
* commit '252c1ac9738ff6187354f243ef118eac962b65dc':
  Update our FreeBSD realpath(3) to upstream head.
2014-10-01 00:05:10 +00:00
Dmitriy Ivanov
fe1cfb1e09 am 701cf941: Merge "Fix mips build"
* commit '701cf9419b4df92bd959bbc6f18150f6ae76df7c':
  Fix mips build
2014-09-30 23:57:33 +00:00
Dan Albert
090b25e8a9 am e04aa450: Merge "Clean up the pthread key tests."
* commit 'e04aa450c2b51ea066d1a1c37978cce808d13872':
  Clean up the pthread key tests.
2014-09-30 23:57:33 +00:00
Dan Albert
12e3f22c7c Add coverage flag for libm.
Change-Id: I195d38c5e1f50d1cc6d4353dc8857f11b803b7a3
2014-09-30 16:56:43 -07:00
Elliott Hughes
252c1ac973 Merge "Update our FreeBSD realpath(3) to upstream head." 2014-09-30 23:55:57 +00:00
Dmitriy Ivanov
ad93ccb2a6 am 18ab39b7: am 701cf941: Merge "Fix mips build"
* commit '18ab39b79a4b1df8af1820688196379b5e670018':
  Fix mips build
2014-09-30 23:55:22 +00:00
Dan Albert
af2f7d2db8 am 63de1998: am e04aa450: Merge "Clean up the pthread key tests."
* commit '63de199882ac6a34897f5e6f42387a14b234d975':
  Clean up the pthread key tests.
2014-09-30 23:55:21 +00:00
Dmitriy Ivanov
c1429de2eb am 1f7d5ac5: Merge "Fix unused DT entry warnings."
* commit '1f7d5ac53854a09bbcace08b3a1d1b9cf3f2eed3':
  Fix unused DT entry warnings.
2014-09-30 23:52:10 +00:00
Dan Albert
483319a776 am 0481471b: Merge "Switch benchmarks and tests to libc++."
* commit '0481471b1bb95a90f632a9fb59c7a1767b9836c8':
  Switch benchmarks and tests to libc++.
2014-09-30 23:51:26 +00:00
Dan Albert
c014e66a86 am e49491ad: Merge "Ignore multiple symbol definition errors."
* commit 'e49491ada4c8e7827329b56a93e5377433aa9084':
  Ignore multiple symbol definition errors.
2014-09-30 23:51:25 +00:00
Dmitriy Ivanov
18ab39b79a am 701cf941: Merge "Fix mips build"
* commit '701cf9419b4df92bd959bbc6f18150f6ae76df7c':
  Fix mips build
2014-09-30 23:51:07 +00:00
Dan Albert
63de199882 am e04aa450: Merge "Clean up the pthread key tests."
* commit 'e04aa450c2b51ea066d1a1c37978cce808d13872':
  Clean up the pthread key tests.
2014-09-30 23:51:07 +00:00
Dmitriy Ivanov
701cf9419b Merge "Fix mips build" 2014-09-30 23:42:24 +00:00
Dan Albert
e04aa450c2 Merge "Clean up the pthread key tests." 2014-09-30 23:41:06 +00:00
Elliott Hughes
31e072fc9b Update our FreeBSD realpath(3) to upstream head.
Change-Id: I8c89728184ecd2c1a28a05cefa84a5037d28b552
2014-09-30 16:40:41 -07:00
Dmitriy Ivanov
ecf532fa1c Fix mips build
Change-Id: I4454e69a982f239b168678c5a681d1078b4bd4f1
2014-09-30 16:30:22 -07:00
Dan Albert
c4bcc75f09 Clean up the pthread key tests.
The previous pthread_key_create_many test was really
pthread_key_create_all, which has proven very difficult to test
correctly (because it is affected by any other parts of the system using
pthread keys, and that can vary with test ordering). It also tested
expected values of PTHREAD_KEYS_MAX and the associated sysconf() value,
rather than those being in their own test.

Instead, split this test into a few distinct tests:

 * pthread.pthread_keys_max
 * pthread._SC_THREAD_KEYS_MAX_big_enough_for_POSIX
 * pthread.pthread_key_many_distinct
     * We actually didn't have a test to ensure that the keys we were
       creating were distinct.
 * pthread.pthread_key_EAGAIN
     * Make sure pthread_key_create() will _eventually_ fail with
       EAGAIN, not at a (sometimes incorrectly) predetermined maximum.

Change-Id: Iff1e4fdcc02404094bde0418122c64c227cf1702
2014-09-30 15:40:14 -07:00
Dmitriy Ivanov
addec2929d am 3e05ac0f: am 1f7d5ac5: Merge "Fix unused DT entry warnings."
* commit '3e05ac0ffe333bade13e4961aa4cc0e445f08536':
  Fix unused DT entry warnings.
2014-09-30 22:30:11 +00:00
Dmitriy Ivanov
3e05ac0ffe am 1f7d5ac5: Merge "Fix unused DT entry warnings."
* commit '1f7d5ac53854a09bbcace08b3a1d1b9cf3f2eed3':
  Fix unused DT entry warnings.
2014-09-30 22:26:16 +00:00
Dmitriy Ivanov
1f7d5ac538 Merge "Fix unused DT entry warnings." 2014-09-30 22:14:33 +00:00
Dmitriy Ivanov
6cdeb5234d Fix unused DT entry warnings.
DT_STRSZ Implement strtab boundary checks
 DT_FLAGS_1 Warn if flags other than DF_1_NOW|DF_1_GLOBAL are set

Bug: 17552334
Change-Id: Iaad29cd52f5b2d7d2f785fb351697906dc1617d9
2014-09-30 14:41:29 -07:00
Dan Albert
b0dfdec557 am 9d9b7d7e: am 0481471b: Merge "Switch benchmarks and tests to libc++."
* commit '9d9b7d7e7c55cdc7f10a2882e16b864673a3f7e7':
  Switch benchmarks and tests to libc++.
2014-09-30 17:44:13 +00:00
Dan Albert
75894fc9f1 am 0b5f8c7a: am e49491ad: Merge "Ignore multiple symbol definition errors."
* commit '0b5f8c7a7d82bdaf0a8030f3be6561c0e67e0378':
  Ignore multiple symbol definition errors.
2014-09-30 17:44:13 +00:00
Dan Albert
9d9b7d7e7c am 0481471b: Merge "Switch benchmarks and tests to libc++."
* commit '0481471b1bb95a90f632a9fb59c7a1767b9836c8':
  Switch benchmarks and tests to libc++.
2014-09-30 17:39:04 +00:00
Dan Albert
0b5f8c7a7d am e49491ad: Merge "Ignore multiple symbol definition errors."
* commit 'e49491ada4c8e7827329b56a93e5377433aa9084':
  Ignore multiple symbol definition errors.
2014-09-30 17:39:04 +00:00
Dan Albert
0481471b1b Merge "Switch benchmarks and tests to libc++." 2014-09-30 17:30:57 +00:00
Dan Albert
e49491ada4 Merge "Ignore multiple symbol definition errors." 2014-09-30 17:30:52 +00:00
Dan Albert
3a5aeba4bd Switch benchmarks and tests to libc++.
Change-Id: I3b9c8f8c14a1e227e67ae1977cc29b0e8fccef5d
2014-09-30 10:28:30 -07:00
Dan Albert
d9898c5b82 Ignore multiple symbol definition errors.
libc and libc++ both define std::nothrow. libc's is a private symbol,
but this still causes issues when linking libc.a and libc++.a, since
private isn't effective until it has been linked. To fix this, just
allow multiple symbol definitions for the static tests.

Change-Id: Idbf19fefda47298c39360e3f5b6242b0b1a52fcc
2014-09-30 10:28:30 -07:00
Dmitriy Ivanov
64da5c186d am d1d4e153: am 9997daa0: Merge "Return has_DT_SYMBOLIC flag."
* commit 'd1d4e153e8adb29048b9bf79a41027b49294a47c':
  Return has_DT_SYMBOLIC flag.
2014-09-30 16:56:09 +00:00
Dmitriy Ivanov
d1d4e153e8 am 9997daa0: Merge "Return has_DT_SYMBOLIC flag."
* commit '9997daa0ff8f630bee5d3b8eb0ab15a0ba1e5cf6':
  Return has_DT_SYMBOLIC flag.
2014-09-30 16:50:04 +00:00
Dmitriy Ivanov
02be1b2283 am 9997daa0: Merge "Return has_DT_SYMBOLIC flag."
* commit '9997daa0ff8f630bee5d3b8eb0ab15a0ba1e5cf6':
  Return has_DT_SYMBOLIC flag.
2014-09-30 16:49:46 +00:00
Dmitriy Ivanov
9997daa0ff Merge "Return has_DT_SYMBOLIC flag." 2014-09-30 16:40:27 +00:00
Andrew Hsieh
47f97dedd0 am ccf9a9d4: am b104be32: Merge "Remove arch-mips64/bionic/__get_sp.S"
* commit 'ccf9a9d4498f0bd6d5e16d14741b9d776f5737ab':
  Remove arch-mips64/bionic/__get_sp.S
2014-09-30 06:30:09 +00:00
Christopher Ferris
8211790e3f am 2ef71b1d: am 85a932c0: Merge "Cleanup arm assembly."
* commit '2ef71b1d09afe2557aeafa8d6e230c4161efd3f5':
  Cleanup arm assembly.
2014-09-30 06:30:08 +00:00
Andrew Hsieh
ccf9a9d449 am b104be32: Merge "Remove arch-mips64/bionic/__get_sp.S"
* commit 'b104be321f2538a6e0bbd566bc958537d1f65cef':
  Remove arch-mips64/bionic/__get_sp.S
2014-09-30 06:03:31 +00:00
Christopher Ferris
2ef71b1d09 am 85a932c0: Merge "Cleanup arm assembly."
* commit '85a932c0c9225e0f71d94a0d8cbac85089a398cf':
  Cleanup arm assembly.
2014-09-30 06:03:31 +00:00
Andrew Hsieh
98630f6cb7 am b104be32: Merge "Remove arch-mips64/bionic/__get_sp.S"
* commit 'b104be321f2538a6e0bbd566bc958537d1f65cef':
  Remove arch-mips64/bionic/__get_sp.S
2014-09-30 04:17:06 +00:00
Christopher Ferris
7de591d19b am 85a932c0: Merge "Cleanup arm assembly."
* commit '85a932c0c9225e0f71d94a0d8cbac85089a398cf':
  Cleanup arm assembly.
2014-09-30 04:17:05 +00:00
Andrew Hsieh
b104be321f Merge "Remove arch-mips64/bionic/__get_sp.S" 2014-09-30 00:01:02 +00:00
Andrew Hsieh
b0c0037370 Remove arch-mips64/bionic/__get_sp.S
__get_sp.S doesn't exist

Change-Id: Id84f8904c8022c683263a317a18fabeb50fed992
2014-09-30 07:55:32 +08:00
Christopher Ferris
85a932c0c9 Merge "Cleanup arm assembly." 2014-09-29 23:12:39 +00:00
Christopher Ferris
c8bd2abab2 Cleanup arm assembly.
Remove the old arm directives.
Change the non-local labels to .L labels.
Add cfi directives to strcpy.S.

Change-Id: I9bafee1ffe5d85c92d07cfa8a85338cef9759562
2014-09-29 15:53:10 -07:00
Dan Albert
a0489c0093 am 22b9dec9: am 73e6c9b3: Merge "Static libc++ is being renamed libc++_static."
* commit '22b9dec925a219e6cdada2fbfcbd3a7c72f4fbdc':
  Static libc++ is being renamed libc++_static.
2014-09-29 21:02:32 +00:00
Dan Albert
6251d58e66 am 73e6c9b3: Merge "Static libc++ is being renamed libc++_static."
* commit '73e6c9b39353807aae80170355ec0b67b7a4ce16':
  Static libc++ is being renamed libc++_static.
2014-09-29 20:55:46 +00:00
Dan Albert
22b9dec925 am 73e6c9b3: Merge "Static libc++ is being renamed libc++_static."
* commit '73e6c9b39353807aae80170355ec0b67b7a4ce16':
  Static libc++ is being renamed libc++_static.
2014-09-29 20:55:26 +00:00
Dan Albert
d288a657dd am b3995bff: am 7ca5c4b9: Merge "Make __aeabi_*() symbols weak."
* commit 'b3995bff21c3e1f592dfbb29eb47cbe0e15a53b0':
  Make __aeabi_*() symbols weak.
2014-09-29 19:44:59 +00:00
Dan Albert
c4dd2d05a6 am 68017e28: am 98ab0c52: Merge "Add a dummy libdl.a."
* commit '68017e2875262c8d434dfcb41c15d727a06bc04f':
  Add a dummy libdl.a.
2014-09-29 19:44:59 +00:00
Elliott Hughes
5991f0f1a8 am 3db6ed61: am d644fecc: Merge "Fix gdb could not get shared library list issue"
* commit '3db6ed61eb328a9b4805ab4a736027440a529ad5':
  Fix gdb could not get shared library list issue
2014-09-29 19:44:46 +00:00
Dmitriy Ivanov
96bc37f2e1 Return has_DT_SYMBOLIC flag.
This reverts commit 8f61d991831f0ea515fa50a5c38dbbcfbab0dd28

 Despite the fact that static linker does all the work while linking
 -Bsymbolic executables, according to the SCO doc following DT_SYMBOLIC
 and DF_SYMBOLIC flags is still a requirement for the dynamic linker
 as well.

 (see http://www.sco.com/developers/gabi/2012-12-31/ch5.dynamic.html)

Change-Id: I23f6a5e9b662e40cdbc462b64feff912431e800c
2014-09-29 12:10:36 -07:00
Dan Albert
73e6c9b393 Merge "Static libc++ is being renamed libc++_static." 2014-09-29 16:08:35 +00:00
Christopher Ferris
429479e5e1 am 0fc3711b: am aa66e882: Merge "Add __memcpy_chk assembly for 64 bit."
* commit '0fc3711b22f4819c5d346fe7507e8800e2a64b09':
  Add __memcpy_chk assembly for 64 bit.
2014-09-29 13:14:06 +00:00
Dan Albert
188d093993 Static libc++ is being renamed libc++_static.
Change-Id: I1596110e4ed7e8f9ab9e2605dfcd9fd0489ca0d1
2014-09-27 09:22:07 -07:00
Dan Albert
b3995bff21 am 7ca5c4b9: Merge "Make __aeabi_*() symbols weak."
* commit '7ca5c4b99b308550e34e185ed632b8a5ad5341ee':
  Make __aeabi_*() symbols weak.
2014-09-27 00:30:06 +00:00
Dan Albert
68017e2875 am 98ab0c52: Merge "Add a dummy libdl.a."
* commit '98ab0c52f5672540c442611d838011be9252079b':
  Add a dummy libdl.a.
2014-09-27 00:30:05 +00:00
Dan Albert
5eb62b3919 am 7ca5c4b9: Merge "Make __aeabi_*() symbols weak."
* commit '7ca5c4b99b308550e34e185ed632b8a5ad5341ee':
  Make __aeabi_*() symbols weak.
2014-09-27 00:29:49 +00:00
Dan Albert
e39c9f87e0 am 98ab0c52: Merge "Add a dummy libdl.a."
* commit '98ab0c52f5672540c442611d838011be9252079b':
  Add a dummy libdl.a.
2014-09-27 00:29:48 +00:00
Dan Albert
7ca5c4b99b Merge "Make __aeabi_*() symbols weak." 2014-09-27 00:19:14 +00:00
Dan Albert
98ab0c52f5 Merge "Add a dummy libdl.a." 2014-09-27 00:19:05 +00:00
Elliott Hughes
f799da9f17 am d644fecc: Merge "Fix gdb could not get shared library list issue"
* commit 'd644fecc8e5eec0107ca4e2011cee0e5c0a10bdd':
  Fix gdb could not get shared library list issue
2014-09-26 23:10:41 +00:00
Elliott Hughes
3db6ed61eb am d644fecc: Merge "Fix gdb could not get shared library list issue"
* commit 'd644fecc8e5eec0107ca4e2011cee0e5c0a10bdd':
  Fix gdb could not get shared library list issue
2014-09-26 23:09:52 +00:00
Elliott Hughes
d644fecc8e Merge "Fix gdb could not get shared library list issue" 2014-09-26 23:01:00 +00:00
Ningsheng Jian
e93be99da0 Fix gdb could not get shared library list issue
Get dynamic flags from phdr table's correct entry rather the first
entry, so that the following DT_DEBUG entry can be set.

Also fix the undefined reference to LoadTask::deleter issue under gcc
-O0 option.

Bug: 17524778
Change-Id: I9c679af197b034761fb739d6c980e628ff2ab84c
2014-09-26 22:58:57 +00:00
Dan Albert
690211fcf8 Make __aeabi_*() symbols weak.
This is needed to avoid multiple symbol definitions when linking with
libstdc++ or with compiler-rt.

Change-Id: I2f713bcff113222f0d2538e49691e715d8a8475d
2014-09-26 15:36:14 -07:00
Dan Albert
a4ed64d4c3 Add a dummy libdl.a.
Change-Id: I4b30b8875f14352bae2948ab8cf544ae818795ab
2014-09-26 15:23:07 -07:00
Christopher Ferris
0fc3711b22 am aa66e882: Merge "Add __memcpy_chk assembly for 64 bit."
* commit 'aa66e8828048d8d6fd7e4bb9c5e341ed89614266':
  Add __memcpy_chk assembly for 64 bit.
2014-09-26 21:04:56 +00:00
Christopher Ferris
1d8b9213a9 am aa66e882: Merge "Add __memcpy_chk assembly for 64 bit."
* commit 'aa66e8828048d8d6fd7e4bb9c5e341ed89614266':
  Add __memcpy_chk assembly for 64 bit.
2014-09-26 21:04:41 +00:00
Christopher Ferris
aa66e88280 Merge "Add __memcpy_chk assembly for 64 bit." 2014-09-26 20:39:21 +00:00
Christopher Ferris
8cf61dab5f Add __memcpy_chk assembly for 64 bit.
Bug: 17623887
Change-Id: I443723bc941b40f84884b330d222baabee01f868
2014-09-26 12:47:04 -07:00
Elliott Hughes
6be4e2c648 am 0d7599e0: am aaad5485: Merge "Re-expose more stdio implementation details for LP32." into lmp-dev
* commit '0d7599e0b58a6916eeb1d2b62e5cc33fd8da1b3a':
  Re-expose more stdio implementation details for LP32.
2014-09-26 15:24:41 +00:00
Christopher Ferris
d518b91cde am 860f51d7: am 6c69afdb: Fix sys_stat.mkfifo when not run as root.
* commit '860f51d7f2efde058716376fcacc2746a9041c41':
  Fix sys_stat.mkfifo when not run as root.
2014-09-26 15:24:41 +00:00
Elliott Hughes
0d7599e0b5 am aaad5485: Merge "Re-expose more stdio implementation details for LP32." into lmp-dev
* commit 'aaad548535c34e2bba16b2a0b71173e0ae4b16c0':
  Re-expose more stdio implementation details for LP32.
2014-09-26 00:22:27 +00:00
Christopher Ferris
860f51d7f2 am 6c69afdb: Fix sys_stat.mkfifo when not run as root.
* commit '6c69afdb6ddd56e011b59e3060f12a5bdffb5f5c':
  Fix sys_stat.mkfifo when not run as root.
2014-09-26 00:22:26 +00:00
Dan Albert
b812af0557 am 775c852e: am 852d4fbb: Merge "Prevent benchmarks from being optimized away."
* commit '775c852e14554689b957996acf7da17b8afbb34a':
  Prevent benchmarks from being optimized away.
2014-09-25 23:26:16 +00:00
Dan Albert
775c852e14 am 852d4fbb: Merge "Prevent benchmarks from being optimized away."
* commit '852d4fbbe9ddee0261c6b3dcadcd75185157ed46':
  Prevent benchmarks from being optimized away.
2014-09-25 23:14:43 +00:00
Dan Albert
4247fbd6f9 am 852d4fbb: Merge "Prevent benchmarks from being optimized away."
* commit '852d4fbbe9ddee0261c6b3dcadcd75185157ed46':
  Prevent benchmarks from being optimized away.
2014-09-25 23:14:39 +00:00
Dan Albert
852d4fbbe9 Merge "Prevent benchmarks from being optimized away." 2014-09-25 22:52:53 +00:00
Dan Albert
055a59c3ed Prevent benchmarks from being optimized away.
Change-Id: I2d27b39ecdfc50e78098314567c295a2f113f8d3
2014-09-25 15:43:48 -07:00
Elliott Hughes
a3ab14c054 am 184fd813: am 17e7d320: Merge "Re-expose more stdio implementation details for LP32."
* commit '184fd8135c193be8a5d0b51e20fe5b86374913f1':
  Re-expose more stdio implementation details for LP32.
2014-09-25 03:42:05 +00:00
Elliott Hughes
184fd8135c am 17e7d320: Merge "Re-expose more stdio implementation details for LP32."
* commit '17e7d3208c68ff69819179d8a63ca234be2d1ab9':
  Re-expose more stdio implementation details for LP32.
2014-09-25 03:31:24 +00:00
Elliott Hughes
94503a1578 am 17e7d320: Merge "Re-expose more stdio implementation details for LP32."
* commit '17e7d3208c68ff69819179d8a63ca234be2d1ab9':
  Re-expose more stdio implementation details for LP32.
2014-09-25 03:31:19 +00:00
Elliott Hughes
e74a9d0b35 am aaad5485: Merge "Re-expose more stdio implementation details for LP32." into lmp-dev
* commit 'aaad548535c34e2bba16b2a0b71173e0ae4b16c0':
  Re-expose more stdio implementation details for LP32.
2014-09-25 03:13:56 +00:00
Elliott Hughes
17e7d3208c Merge "Re-expose more stdio implementation details for LP32." 2014-09-25 03:08:23 +00:00
Elliott Hughes
abefc93ff3 Re-expose more stdio implementation details for LP32.
Keeps a variety of apps running.

(cherry-pick of 5def2f5aecd968e4022b0afbe4441fa7ba3e7c7e.)

Bug: 17047819
Change-Id: I55882ec95f2b59a5df76e5a89c23aa315609e01d
2014-09-24 20:07:10 -07:00
Elliott Hughes
aaad548535 Merge "Re-expose more stdio implementation details for LP32." into lmp-dev 2014-09-25 03:06:30 +00:00
Christopher Ferris
7a941b86e1 am 17c23691: am a864e72b: Merge "Fix sys_stat.mkfifo when not run as root."
* commit '17c236912ba89dfba11887b7e73bf31e0780f6df':
  Fix sys_stat.mkfifo when not run as root.
2014-09-25 00:27:51 +00:00
Elliott Hughes
5def2f5aec Re-expose more stdio implementation details for LP32.
Keeps a variety of apps running.

Bug: 17047819
Change-Id: I55882ec95f2b59a5df76e5a89c23aa315609e01d
2014-09-24 17:20:53 -07:00
Christopher Ferris
10c951bf38 am a864e72b: Merge "Fix sys_stat.mkfifo when not run as root."
* commit 'a864e72b566234fdc41344725aa9b4f47c5baba3':
  Fix sys_stat.mkfifo when not run as root.
2014-09-25 00:17:22 +00:00
Christopher Ferris
17c236912b am a864e72b: Merge "Fix sys_stat.mkfifo when not run as root."
* commit 'a864e72b566234fdc41344725aa9b4f47c5baba3':
  Fix sys_stat.mkfifo when not run as root.
2014-09-25 00:17:18 +00:00
Christopher Ferris
a864e72b56 Merge "Fix sys_stat.mkfifo when not run as root." 2014-09-24 23:56:06 +00:00
Christopher Ferris
983de79b36 am 6c69afdb: Fix sys_stat.mkfifo when not run as root.
* commit '6c69afdb6ddd56e011b59e3060f12a5bdffb5f5c':
  Fix sys_stat.mkfifo when not run as root.
2014-09-24 23:55:08 +00:00
Christopher Ferris
528ad742c6 Fix sys_stat.mkfifo when not run as root.
It's not allowed for a shell user to create a fifo in /data/local/tmp.
Make the test do nothing if not run as root.

Bug: 17646702

(cherry picked from commit 6c69afdb6ddd56e011b59e3060f12a5bdffb5f5c)

Change-Id: Ia3a862ed4586413b7bb393557ab57e0a7141d888
2014-09-24 16:50:30 -07:00
Christopher Ferris
6c69afdb6d Fix sys_stat.mkfifo when not run as root.
It's not allowed for a shell user to create a fifo in /data/local/tmp.
Make the test do nothing if not run as root.

Bug: 17646702
Change-Id: I932262fa233eae8b5dd607a2398a47c50a208701
2014-09-24 16:01:18 -07:00
Elliott Hughes
e5ffc54701 am a15cff61: am 567d3fcb: Merge "Switch to OpenBSD fopen/fclose."
* commit 'a15cff614f894933d00ec7256c9762ac76d64178':
  Switch to OpenBSD fopen/fclose.
2014-09-24 20:57:23 +00:00
Elliott Hughes
4d1d536fc4 am 4492dde6: am 4fcfd3a4: Merge "Sync with current upstream getopt_long.c."
* commit '4492dde63e1d1a22a5708906102284b1fb06e5dc':
  Sync with current upstream getopt_long.c.
2014-09-24 20:57:23 +00:00
Elliott Hughes
a15cff614f am 567d3fcb: Merge "Switch to OpenBSD fopen/fclose."
* commit '567d3fcb7ece287a84912183e91eff851fa48fc2':
  Switch to OpenBSD fopen/fclose.
2014-09-24 20:45:22 +00:00
Elliott Hughes
4492dde63e am 4fcfd3a4: Merge "Sync with current upstream getopt_long.c."
* commit '4fcfd3a474ae5a9e5095ca92a10a8aaa0a3dae5a':
  Sync with current upstream getopt_long.c.
2014-09-24 20:45:22 +00:00
Elliott Hughes
49471f3809 am 567d3fcb: Merge "Switch to OpenBSD fopen/fclose."
* commit '567d3fcb7ece287a84912183e91eff851fa48fc2':
  Switch to OpenBSD fopen/fclose.
2014-09-24 20:44:46 +00:00
Elliott Hughes
d98cac5fbb am 4fcfd3a4: Merge "Sync with current upstream getopt_long.c."
* commit '4fcfd3a474ae5a9e5095ca92a10a8aaa0a3dae5a':
  Sync with current upstream getopt_long.c.
2014-09-24 20:44:45 +00:00
Elliott Hughes
567d3fcb7e Merge "Switch to OpenBSD fopen/fclose." 2014-09-24 20:24:48 +00:00
Elliott Hughes
4fcfd3a474 Merge "Sync with current upstream getopt_long.c." 2014-09-24 20:24:19 +00:00
Elliott Hughes
af12924f67 Sync with current upstream getopt_long.c.
Change-Id: I269195aa581a688fd3eb99552d506b8f5f6a8395
2014-09-24 12:39:34 -07:00
Elliott Hughes
3da19dffb3 am def2d26a: am f05410ed: Merge "Sync with upstream findfp.c."
* commit 'def2d26a5dcb0436fe133c7dbd9008b01982083d':
  Sync with upstream findfp.c.
2014-09-24 18:22:27 +00:00
Elliott Hughes
5a69da8d7a Switch to OpenBSD fopen/fclose.
This means all our stdio implementation is now the OpenBSD implementation.
The only thing we lose is the STDIO_THREAD_LOCK calls but they were no-ops
anyway.

We should probably talk to upstream about this. Either fix the locking or,
preferably, encourage them to move away from this pooling (especially since
there's no eviction policy).

Bug: 17154680
Change-Id: Ie2523e444a7d0965b8d141d57e3e11f6432d5b9a
2014-09-24 11:14:36 -07:00
Elliott Hughes
def2d26a5d am f05410ed: Merge "Sync with upstream findfp.c."
* commit 'f05410edc634040f96643b8f378320faddfef423':
  Sync with upstream findfp.c.
2014-09-24 18:09:47 +00:00
Elliott Hughes
7a2a1a8b6c am f05410ed: Merge "Sync with upstream findfp.c."
* commit 'f05410edc634040f96643b8f378320faddfef423':
  Sync with upstream findfp.c.
2014-09-24 18:09:37 +00:00
Dan Albert
5023cbd146 am 9b73b6bf: am 21db6ff1: Merge "Coverage configs for bionic."
* commit '9b73b6bf6327ff94a2e26d0ab60709989a6751c7':
  Coverage configs for bionic.
2014-09-24 17:56:37 +00:00
Dan Albert
fff829d9cd am 13b50586: am 4a6e7110: Merge "Add a dummy atexit(3) to the linker."
* commit '13b50586da02270a93a1ab666c0290a2bbfa4289':
  Add a dummy atexit(3) to the linker.
2014-09-24 17:56:36 +00:00
Elliott Hughes
f05410edc6 Merge "Sync with upstream findfp.c." 2014-09-24 17:48:59 +00:00
Dan Albert
0d78bad579 am 21db6ff1: Merge "Coverage configs for bionic."
* commit '21db6ff108a8df43582bf2ca0d7d6c925f26b5e5':
  Coverage configs for bionic.
2014-09-24 17:45:54 +00:00
Dan Albert
8be25c646d am 4a6e7110: Merge "Add a dummy atexit(3) to the linker."
* commit '4a6e71100e9c99b90b517be5a8e1c21616772d16':
  Add a dummy atexit(3) to the linker.
2014-09-24 17:45:54 +00:00
Dan Albert
9b73b6bf63 am 21db6ff1: Merge "Coverage configs for bionic."
* commit '21db6ff108a8df43582bf2ca0d7d6c925f26b5e5':
  Coverage configs for bionic.
2014-09-24 17:45:24 +00:00
Dan Albert
13b50586da am 4a6e7110: Merge "Add a dummy atexit(3) to the linker."
* commit '4a6e71100e9c99b90b517be5a8e1c21616772d16':
  Add a dummy atexit(3) to the linker.
2014-09-24 17:45:23 +00:00
Elliott Hughes
c08c25b4c9 Sync with upstream findfp.c.
Change-Id: Ib298f46de0c4d0fd4ce0a9b456c163e8b8b06342
2014-09-24 10:32:30 -07:00
Dan Albert
56da92b213 am c3c75301: am 086bb382: Fix incorrect parameter types for locale funcs.
* commit 'c3c75301b1592a5a3c913a72e92da3bfd7b49ad1':
  Fix incorrect parameter types for locale funcs.
2014-09-24 17:31:54 +00:00
Dan Albert
21db6ff108 Merge "Coverage configs for bionic." 2014-09-24 17:28:04 +00:00
Dan Albert
4a6e71100e Merge "Add a dummy atexit(3) to the linker." 2014-09-24 17:27:38 +00:00
Dan Albert
c2d39088d8 Coverage configs for bionic.
Bug: 17553780
Change-Id: Iee7d0c210e2379e71e0c1e4e7058bce23f61e8cd
2014-09-24 10:26:41 -07:00
Dan Albert
9a05e3818a Add a dummy atexit(3) to the linker.
This is needed when building the linker against a libc that was built
with coverage information.

Bug: 17553780
Change-Id: If131002e067dd7768fc657c30e62c42a45c05ace
2014-09-24 10:26:41 -07:00
Dan Albert
c3c75301b1 am 086bb382: Fix incorrect parameter types for locale funcs.
* commit '086bb382db3de7459bc5fad6bb1c257ca331b0e8':
  Fix incorrect parameter types for locale funcs.
2014-09-24 17:24:11 +00:00
Dan Albert
22c07f16df am d51ca155: am fc5a93f7: Merge "Fix incorrect parameter types for locale funcs."
* commit 'd51ca1556753fed5f20cd09a8608d0ee1553e41c':
  Fix incorrect parameter types for locale funcs.
2014-09-24 17:18:35 +00:00
Elliott Hughes
9c12d60f3d am fe1e08f6: am ebf37e38: Merge "Switch to OpenBSD flags.c."
* commit 'fe1e08f61c1514757e66b2295a354816afb81816':
  Switch to OpenBSD flags.c.
2014-09-24 17:18:26 +00:00
Christopher Ferris
bd14d312f4 am 7eb3f742: am 04643c18: Merge "Remove the unnecessary generic-neon code."
* commit '7eb3f742b4ea9bc3d321b241be86e6828a28dc73':
  Remove the unnecessary generic-neon code.
2014-09-24 17:17:06 +00:00
Elliott Hughes
55078ef297 am 39e47991: am c57e5c82: Merge "CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps."
* commit '39e479913c30d003cac0716bb27352fc191c7617':
  CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
2014-09-24 17:16:59 +00:00
Dan Albert
81981b7301 am 086bb382: Fix incorrect parameter types for locale funcs.
* commit '086bb382db3de7459bc5fad6bb1c257ca331b0e8':
  Fix incorrect parameter types for locale funcs.
2014-09-24 16:52:32 +00:00
Dan Albert
b14a903421 am fc5a93f7: Merge "Fix incorrect parameter types for locale funcs."
* commit 'fc5a93f7a2ea2be740f2c909e8a6a192fa65adc8':
  Fix incorrect parameter types for locale funcs.
2014-09-24 16:13:50 +00:00
Dan Albert
d51ca15567 am fc5a93f7: Merge "Fix incorrect parameter types for locale funcs."
* commit 'fc5a93f7a2ea2be740f2c909e8a6a192fa65adc8':
  Fix incorrect parameter types for locale funcs.
2014-09-24 16:13:43 +00:00
Dan Albert
086bb382db Fix incorrect parameter types for locale funcs.
strtoll(3), strtoull(3), wcstoll(3), and wcstoull(3) all take an _int_
as a base, not a size_t. This is an ABI compatibility issue.

Bug: 17628622
Change-Id: I17f8eead34ce2112005899fc30162067573023ec
(cherry picked from commit 3c5037f1b3b747e79d17a5f717d9f9c365132d33)
2014-09-24 09:00:42 -07:00
Dan Albert
fc5a93f7a2 Merge "Fix incorrect parameter types for locale funcs." 2014-09-24 16:00:07 +00:00
Elliott Hughes
fe1e08f61c am ebf37e38: Merge "Switch to OpenBSD flags.c."
* commit 'ebf37e38861e376ae47c72d45ab8de6703dd18f0':
  Switch to OpenBSD flags.c.
2014-09-24 05:08:58 +00:00
Elliott Hughes
f6067fa2e0 am ebf37e38: Merge "Switch to OpenBSD flags.c."
* commit 'ebf37e38861e376ae47c72d45ab8de6703dd18f0':
  Switch to OpenBSD flags.c.
2014-09-24 05:08:23 +00:00
Elliott Hughes
ebf37e3886 Merge "Switch to OpenBSD flags.c." 2014-09-24 04:50:45 +00:00
Christopher Ferris
f5da2641c3 am 04643c18: Merge "Remove the unnecessary generic-neon code."
* commit '04643c181c3256348a6fd78e54c8bc5527ad0b0a':
  Remove the unnecessary generic-neon code.
2014-09-24 04:15:16 +00:00
Christopher Ferris
7eb3f742b4 am 04643c18: Merge "Remove the unnecessary generic-neon code."
* commit '04643c181c3256348a6fd78e54c8bc5527ad0b0a':
  Remove the unnecessary generic-neon code.
2014-09-24 04:15:10 +00:00
Christopher Ferris
04643c181c Merge "Remove the unnecessary generic-neon code." 2014-09-24 04:01:23 +00:00
Elliott Hughes
a71b4c3f14 Switch to OpenBSD flags.c.
Change-Id: I0a35e5bd9f8edba27e0c73e5c8150636346d6a81
2014-09-23 20:02:42 -07:00
Elliott Hughes
39e479913c am c57e5c82: Merge "CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps."
* commit 'c57e5c828914714a283dd41f0a4adb064f6b8763':
  CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
2014-09-24 02:14:31 +00:00
Elliott Hughes
42317a0e50 am c57e5c82: Merge "CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps."
* commit 'c57e5c828914714a283dd41f0a4adb064f6b8763':
  CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
2014-09-24 02:10:59 +00:00
Elliott Hughes
c57e5c8289 Merge "CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps." 2014-09-24 01:49:06 +00:00
Christopher Ferris
2169e17482 Remove the unnecessary generic-neon code.
Change-Id: Ib75c33caafd76750ec1aca3a74dec5e4b881e965
2014-09-23 18:31:45 -07:00
Elliott Hughes
31165edf57 CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps.
Change-Id: I74ea88e0d4973d6ab3c57da7d8bb643c31592b14
2014-09-23 18:21:52 -07:00
Dan Albert
3c5037f1b3 Fix incorrect parameter types for locale funcs.
strtoll(3), strtoull(3), wcstoll(3), and wcstoull(3) all take an _int_
as a base, not a size_t. This is an ABI compatibility issue.

Bug: 17628622
Change-Id: I17f8eead34ce2112005899fc30162067573023ec
2014-09-23 15:32:24 -07:00
Elliott Hughes
671bee9cdb am 151c3e0a: am 87b6906f: Merge "Pull in upstream fixes to reject invalid bases."
* commit '151c3e0a220f7b90695bda3e05364c11ba56f46a':
  Pull in upstream fixes to reject invalid bases.
2014-09-23 22:23:47 +00:00
Elliott Hughes
151c3e0a22 am 87b6906f: Merge "Pull in upstream fixes to reject invalid bases."
* commit '87b6906f6e0c17b2541535be8e054324cc2fef4a':
  Pull in upstream fixes to reject invalid bases.
2014-09-23 22:13:17 +00:00
Elliott Hughes
0d44da9eb4 am 87b6906f: Merge "Pull in upstream fixes to reject invalid bases."
* commit '87b6906f6e0c17b2541535be8e054324cc2fef4a':
  Pull in upstream fixes to reject invalid bases.
2014-09-23 22:12:57 +00:00
Elliott Hughes
46fc634758 am e4cdb462: am 86421653: Merge "Sync with some upstream OpenBSD #include cleanup."
* commit 'e4cdb462dd955576c7b5cde6d2cb65d234536f36':
  Sync with some upstream OpenBSD #include cleanup.
2014-09-23 21:59:58 +00:00
Elliott Hughes
66c47bd60c am c7ee90e4: am 0ab5fd9a: Merge "Switch to OpenBSD insque/remque/killpg."
* commit 'c7ee90e4c142184eafb523a974d6980a9c8976e8':
  Switch to OpenBSD insque/remque/killpg.
2014-09-23 21:59:57 +00:00
Elliott Hughes
87b6906f6e Merge "Pull in upstream fixes to reject invalid bases." 2014-09-23 21:59:15 +00:00
Elliott Hughes
b05ec5ae93 Pull in upstream fixes to reject invalid bases.
Also add tests to make sure the full set works correctly.

Change-Id: I3e7f237f12c9c93e1185a97c9717803e7e55a73c
2014-09-23 14:53:10 -07:00
Elliott Hughes
e4cdb462dd am 86421653: Merge "Sync with some upstream OpenBSD #include cleanup."
* commit '8642165344217877b8a70811d19e09b584a0e10a':
  Sync with some upstream OpenBSD #include cleanup.
2014-09-23 21:49:18 +00:00
Elliott Hughes
c7ee90e4c1 am 0ab5fd9a: Merge "Switch to OpenBSD insque/remque/killpg."
* commit '0ab5fd9a5af4cd00572e4881f46c1e6f974f657c':
  Switch to OpenBSD insque/remque/killpg.
2014-09-23 21:49:17 +00:00
Elliott Hughes
3a86c0fd90 am 86421653: Merge "Sync with some upstream OpenBSD #include cleanup."
* commit '8642165344217877b8a70811d19e09b584a0e10a':
  Sync with some upstream OpenBSD #include cleanup.
2014-09-23 21:48:00 +00:00
Elliott Hughes
0c1008b9d8 am 0ab5fd9a: Merge "Switch to OpenBSD insque/remque/killpg."
* commit '0ab5fd9a5af4cd00572e4881f46c1e6f974f657c':
  Switch to OpenBSD insque/remque/killpg.
2014-09-23 21:48:00 +00:00
Elliott Hughes
8642165344 Merge "Sync with some upstream OpenBSD #include cleanup." 2014-09-23 21:27:29 +00:00
Elliott Hughes
0ab5fd9a5a Merge "Switch to OpenBSD insque/remque/killpg." 2014-09-23 21:26:27 +00:00
Elliott Hughes
49eed7db79 Switch to OpenBSD insque/remque/killpg.
Change-Id: Ie02290ad3187b1c1596dd776fd1c8a743a55f7ef
2014-09-23 14:06:56 -07:00
Elliott Hughes
08dc9d83a2 Sync with some upstream OpenBSD #include cleanup.
Change-Id: Ibcd7adb19e9a6b9ad8c24d77e23935f19f56a144
2014-09-23 13:55:15 -07:00
Elliott Hughes
719e8a4b88 am 5d953ddd: am 93951cfa: Merge "Fix a couple more cases of missing CLOEXEC."
* commit '5d953ddd40445f337c1f54a4fb1e2b3741245809':
  Fix a couple more cases of missing CLOEXEC.
2014-09-23 16:20:22 +00:00
Elliott Hughes
1decd9642d am f06c55ac: am e8a95624: Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)."
* commit 'f06c55ac43dfcdb233be195ca770a9ad25517149':
  Test pthread_cleanup_push(3)/pthread_cleanup_pop(3).
2014-09-23 16:20:07 +00:00
Elliott Hughes
9c8e85f60d am 12766c45: am b2da4562: Merge "Clean up fpathconf(3)/pathconf(3)."
* commit '12766c458e06e8d3a7f27d1b079443827b40aa48':
  Clean up fpathconf(3)/pathconf(3).
2014-09-23 16:20:00 +00:00
Elliott Hughes
da08f6ca5f am c0226cc7: am d9cb0ed2: Merge "Unit test for abort(3)."
* commit 'c0226cc767580b9b3cd097ab77557c721b4b2c88':
  Unit test for abort(3).
2014-09-23 16:19:57 +00:00
Elliott Hughes
5d953ddd40 am 93951cfa: Merge "Fix a couple more cases of missing CLOEXEC."
* commit '93951cfa96c3c7504a78f94e7ec408936e5db9bf':
  Fix a couple more cases of missing CLOEXEC.
2014-09-23 01:40:10 +00:00
Elliott Hughes
c65a1d5ee0 am 93951cfa: Merge "Fix a couple more cases of missing CLOEXEC."
* commit '93951cfa96c3c7504a78f94e7ec408936e5db9bf':
  Fix a couple more cases of missing CLOEXEC.
2014-09-23 01:39:11 +00:00
Elliott Hughes
93951cfa96 Merge "Fix a couple more cases of missing CLOEXEC." 2014-09-23 01:19:52 +00:00
Elliott Hughes
0dc39f9952 Fix a couple more cases of missing CLOEXEC.
The debuggerd case can probably never happen, because you're crashing at this
point anyway. The system property one seems possible though.

Change-Id: Idba6a4f1d68587ec5b320d1e25f0b6a987ea32a0
2014-09-22 17:43:09 -07:00
Elliott Hughes
eaf288d100 am e8a95624: Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)."
* commit 'e8a95624b6ee37f7ee85f0318f1fccd916292ebd':
  Test pthread_cleanup_push(3)/pthread_cleanup_pop(3).
2014-09-22 23:47:29 +00:00
Elliott Hughes
f06c55ac43 am e8a95624: Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)."
* commit 'e8a95624b6ee37f7ee85f0318f1fccd916292ebd':
  Test pthread_cleanup_push(3)/pthread_cleanup_pop(3).
2014-09-22 23:46:23 +00:00
Elliott Hughes
e8a95624b6 Merge "Test pthread_cleanup_push(3)/pthread_cleanup_pop(3)." 2014-09-22 23:28:32 +00:00
Elliott Hughes
34c987a6dd Test pthread_cleanup_push(3)/pthread_cleanup_pop(3).
Change-Id: I5a623fa1e1da55f11d51f3a9bdfa0627698c486f
2014-09-22 16:27:19 -07:00
Elliott Hughes
1f2e845f9a am b2da4562: Merge "Clean up fpathconf(3)/pathconf(3)."
* commit 'b2da45625353336452112e28872310903dc70a8f':
  Clean up fpathconf(3)/pathconf(3).
2014-09-22 23:05:35 +00:00
Elliott Hughes
12766c458e am b2da4562: Merge "Clean up fpathconf(3)/pathconf(3)."
* commit 'b2da45625353336452112e28872310903dc70a8f':
  Clean up fpathconf(3)/pathconf(3).
2014-09-22 23:04:51 +00:00
Elliott Hughes
b2da456253 Merge "Clean up fpathconf(3)/pathconf(3)." 2014-09-22 22:50:11 +00:00
Elliott Hughes
a186b2e0ca Clean up fpathconf(3)/pathconf(3).
fpathconf(3) and pathconf(3) can share code. There's no such
header file as <pathconf.h>. glibc/POSIX and BSD disagree about where
the _POSIX_* definitions should go.

Change-Id: I4a67f1595c9f5fbb26700a131178eedebd6bf712
2014-09-22 22:49:40 +00:00
Elliott Hughes
3ff4698f0a am d9cb0ed2: Merge "Unit test for abort(3)."
* commit 'd9cb0ed281f0301ec2ca6828f0acc1ed08dceb8a':
  Unit test for abort(3).
2014-09-22 22:08:38 +00:00
Elliott Hughes
c0226cc767 am d9cb0ed2: Merge "Unit test for abort(3)."
* commit 'd9cb0ed281f0301ec2ca6828f0acc1ed08dceb8a':
  Unit test for abort(3).
2014-09-22 22:08:03 +00:00
Elliott Hughes
d9cb0ed281 Merge "Unit test for abort(3)." 2014-09-22 21:46:56 +00:00
Elliott Hughes
60452a211c Unit test for abort(3).
Change-Id: I021604b977572801f228a193741624df26e76d72
2014-09-22 14:41:30 -07:00
Elliott Hughes
6c960a2121 am 34732f1a: am 9f423c55: Merge "Use the uapi fs magic in <sys/vfs.h>."
* commit '34732f1a17521f0fd744b977cd917df998c879e6':
  Use the uapi fs magic in <sys/vfs.h>.
2014-09-22 17:23:15 +00:00
Elliott Hughes
bb54a0d47a am 9f423c55: Merge "Use the uapi fs magic in <sys/vfs.h>."
* commit '9f423c554a0ffcee2e34472bf0bc1aef3621a822':
  Use the uapi fs magic in <sys/vfs.h>.
2014-09-22 17:08:51 +00:00
Elliott Hughes
34732f1a17 am 9f423c55: Merge "Use the uapi fs magic in <sys/vfs.h>."
* commit '9f423c554a0ffcee2e34472bf0bc1aef3621a822':
  Use the uapi fs magic in <sys/vfs.h>.
2014-09-22 17:08:49 +00:00
Elliott Hughes
9f423c554a Merge "Use the uapi fs magic in <sys/vfs.h>." 2014-09-22 16:51:07 +00:00
Elliott Hughes
c296e4f151 Use the uapi fs magic in <sys/vfs.h>.
Change-Id: I712b856a6d786bba400c9a8d08f596b826403731
2014-09-22 09:47:21 -07:00
Elliott Hughes
18a229d29e am 31c5030d: am 413de5b0: Merge "Add semaphore tests, fix sem_destroy."
* commit '31c5030d9f4297ee99cbd05cd2aa451e7602d74d':
  Add semaphore tests, fix sem_destroy.
2014-09-20 20:23:45 +00:00
Elliott Hughes
31c5030d9f am 413de5b0: Merge "Add semaphore tests, fix sem_destroy."
* commit '413de5b0d4ddcf039aaef8b40a5f02d41dbb06e6':
  Add semaphore tests, fix sem_destroy.
2014-09-20 20:09:50 +00:00
Elliott Hughes
7d8796feaa am 413de5b0: Merge "Add semaphore tests, fix sem_destroy."
* commit '413de5b0d4ddcf039aaef8b40a5f02d41dbb06e6':
  Add semaphore tests, fix sem_destroy.
2014-09-20 20:06:21 +00:00
Christopher Ferris
b03f2831b8 am b743da01: am e7160449: Merge "Remove references to MALLOC_LEAK_CHECK."
* commit 'b743da019164231da807000af8440e646da45b99':
  Remove references to MALLOC_LEAK_CHECK.
2014-09-20 03:14:53 +00:00
Christopher Ferris
b743da0191 am e7160449: Merge "Remove references to MALLOC_LEAK_CHECK."
* commit 'e716044918d85cd3c34425779a09a24348f7f67a':
  Remove references to MALLOC_LEAK_CHECK.
2014-09-20 02:54:07 +00:00
Elliott Hughes
413de5b0d4 Merge "Add semaphore tests, fix sem_destroy." 2014-09-20 01:34:11 +00:00
Christopher Ferris
1b0654f4a7 am e7160449: Merge "Remove references to MALLOC_LEAK_CHECK."
* commit 'e716044918d85cd3c34425779a09a24348f7f67a':
  Remove references to MALLOC_LEAK_CHECK.
2014-09-20 00:50:08 +00:00
Elliott Hughes
04303f5a8a Add semaphore tests, fix sem_destroy.
Bug: https://code.google.com/p/android/issues/detail?id=76088
Change-Id: I4a0561b23e90312384d40a1c804ca64ee98f4066
2014-09-19 17:37:06 -07:00
Christopher Ferris
e716044918 Merge "Remove references to MALLOC_LEAK_CHECK." 2014-09-20 00:29:09 +00:00
Christopher Ferris
6fe376d392 Remove references to MALLOC_LEAK_CHECK.
This define isn't really used any more.

Bug: 17378595
Change-Id: I39722b83cd98955a3a2514577de34a239524617f
2014-09-19 17:15:12 -07:00
Elliott Hughes
9dd308d0c3 am ff4187e9: am adc01348: Merge "Add greg_t for arm64."
* commit 'ff4187e9a34a84e3f08e259ab7080b55a47eb3c3':
  Add greg_t for arm64.
2014-09-19 18:40:12 +00:00
Elliott Hughes
ff4187e9a3 am adc01348: Merge "Add greg_t for arm64."
* commit 'adc01348ee51a4ad678b1c277f85cbbed5c2e728':
  Add greg_t for arm64.
2014-09-19 18:24:40 +00:00
Elliott Hughes
954782240e am adc01348: Merge "Add greg_t for arm64."
* commit 'adc01348ee51a4ad678b1c277f85cbbed5c2e728':
  Add greg_t for arm64.
2014-09-19 18:23:59 +00:00
Elliott Hughes
adc01348ee Merge "Add greg_t for arm64." 2014-09-19 18:01:23 +00:00
Elliott Hughes
8e4d371091 Add greg_t for arm64.
This was already present for the other architectures. I think we skipped
this because glibc seems to have an incorrect definition (int rather than
long), but the kernel has the sane definition (just not in a uapi header).

Change-Id: I0d47a424b505804389853dd8632693dad55a3907
2014-09-19 10:31:49 -07:00
Dan Albert
93b294f26b am abc5e4db: am 13d6023a: Merge "Exclude libstdc++ from linked libraries."
* commit 'abc5e4db15b3b1cc31c1f2a01d19581f66fec2a0':
  Exclude libstdc++ from linked libraries.
2014-09-19 08:32:10 +00:00
Christopher Ferris
d7fc04aa7b am b925c1c7: am d5e1c583: Merge "Move to v3.16.3 kernel headers."
* commit 'b925c1c78da02e117afb04ccb637117c1704c166':
  Move to v3.16.3 kernel headers.
2014-09-19 08:31:05 +00:00
Elliott Hughes
643c712b22 am c12827e5: am fb8d60f7: Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0."
* commit 'c12827e5f9589649839d1a31345bdcf028973bbb':
  Fix lgamma_r/lgammaf_r/lgammal_r for -0.
2014-09-19 08:31:04 +00:00
Elliott Hughes
0ac1ba5592 am 9969481d: Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
* commit '9969481d5bf05954fff9c0f3d1c95bb99c36b9a8':
  Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
2014-09-19 08:27:03 +00:00
Elliott Hughes
703544f299 am c189ffaa: More cases where libc should use O_CLOEXEC.
* commit 'c189ffaaec45efb49e785517e504b41a5e57b088':
  More cases where libc should use O_CLOEXEC.
2014-09-19 08:27:03 +00:00
Dan Albert
50cc4a25c0 am 411ff42f: Hide ScopedTrace.
* commit '411ff42f20729200c0fc2e24a83bc1dcd7a42a51':
  Hide ScopedTrace.
2014-09-19 08:27:00 +00:00
Elliott Hughes
0b356b2213 am d0be539e: (-s ours) Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
* commit 'd0be539e01424fa720840dfe702dedf8e54379fb':
  Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
2014-09-19 08:26:59 +00:00
Elliott Hughes
7f4a8e8579 am 7d3a8cf6: am 82e71085: Merge "The nextafter functions use the wrong next representable value"
* commit '7d3a8cf66768118fb1384384469aae2647d9d4ef':
2014-09-19 08:13:51 +00:00
Elliott Hughes
fee7bbb8ab am 397335a0: am 6ced0051: Merge "Stack unwinding unit tests."
* commit '397335a0c89058361ecb5d5f67bc4134d441c099':
2014-09-19 08:13:50 +00:00
Christopher Ferris
98f03fe4aa am cd7f93d3: am 0bd28a43: Merge "Update kernel uapi headers to v3.16.1."
* commit 'cd7f93d31f9d8f16cbd730f493964076bccc4d28':
2014-09-19 08:11:19 +00:00
Dmitriy Ivanov
d37685b39a am e7c3c9e9: am 6a310f4a: Merge "Temporary disable DL_WARNs for unused DT_*"
* commit 'e7c3c9e91f04a566f250c37b94f04e1a50b65317':
2014-09-19 08:10:49 +00:00
Dmitriy Ivanov
ac6149369c am e594a6e9: am 77784cb9: Merge "Add Android*.mk files to additional dependencies"
* commit 'e594a6e9a88ad73461f7c753a906d069b91d1a05':
2014-09-19 08:10:03 +00:00
Elliott Hughes
bc62d3d067 am a9a920d5: am 03fef1f5: Merge "Fix some 32-bit-isms in <stdio.h>."
* commit 'a9a920d52aa3f1d28541b8b8d12fd33688eb8dfb':
2014-09-19 08:09:27 +00:00
Elliott Hughes
01b9019eef am de3b2bfe: am 2f5cf100: Merge "Pull input.h from v3.16.1 kernel headers."
* commit 'de3b2bfe114d1f280b38f1ff7cb90ecb8cf91b01':
2014-09-19 08:09:26 +00:00
Elliott Hughes
a815fe12e7 am 18ce8e5d: am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '18ce8e5d031225b33c7815ccd18ac0099a437ae1':
2014-09-19 07:42:44 +00:00
Elliott Hughes
e5fa4617aa am 289dd568: am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '289dd568be03f30bb8b9b66f90dae47249ad24bc':
2014-09-19 07:42:30 +00:00
Dmitriy Ivanov
8eb8ca0d50 am 415658c9: am e7c9a387: Merge "Fix 64bit build"
* commit '415658c922a5a6f07a7dc225b47bd8b0e533a1d6':
2014-09-19 07:36:25 +00:00
Dmitriy Ivanov
3a233698ee am ab1b06a8: am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit 'ab1b06a87bf8048d8f0a6a2eb0b650e098640d06':
2014-09-19 07:36:25 +00:00
Elliott Hughes
07be4ab760 am 6bf74ba5: am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '6bf74ba536ae254f1439bd40f0c9c62c13546353':
2014-09-19 07:19:25 +00:00
Dmitriy Ivanov
9b3211528d am 29be5408: am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit '29be5408dd9dcfcffb46f23aa6fb8c7d557927a4':
2014-09-19 07:19:22 +00:00
Elliott Hughes
a1bacb8b05 am 63b63c14: am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '63b63c146e4cbe73be483f1238d081a488521875':
2014-09-19 07:19:20 +00:00
Calin Juravle
8229d8938b am b414c62e: am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit 'b414c62e60a50c8ee502362ce2dc841c2effefab':
2014-09-19 06:16:42 +00:00
Elliott Hughes
3349bc33e2 am 78946d41: am 5cba3c6f: Merge "Fix signal trampolines."
* commit '78946d41892177ed87354d1d682213a6984271d7':
2014-09-19 06:16:19 +00:00
Dmitriy Ivanov
148674a86e am 9a44ef61: am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '9a44ef61ae1619cf7b2025072ba8ac3adaba6834':
2014-09-19 06:16:09 +00:00
Dmitriy Ivanov
8455bc6cb3 am b9263dd1: am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit 'b9263dd173312097274b68d701d56efc86a517cb':
2014-09-19 06:16:08 +00:00
Elliott Hughes
9a1dd02d56 am c47a5402: am 95b0c6a9: Merge "POSIX says <signal.h> gets you ucontext_t."
* commit 'c47a5402e7568b1d8f14a6f2fda6106b9973a43b':
2014-09-19 04:44:36 +00:00
Dan Albert
abc5e4db15 am 13d6023a: Merge "Exclude libstdc++ from linked libraries."
* commit '13d6023aac62091a7d1df1c1afa1e228515832cb':
  Exclude libstdc++ from linked libraries.
2014-09-19 00:05:37 +00:00
Dan Albert
05ce5ff3f2 am 13d6023a: Merge "Exclude libstdc++ from linked libraries."
* commit '13d6023aac62091a7d1df1c1afa1e228515832cb':
  Exclude libstdc++ from linked libraries.
2014-09-19 00:05:23 +00:00
Dan Albert
13d6023aac Merge "Exclude libstdc++ from linked libraries." 2014-09-18 23:43:24 +00:00
Christopher Ferris
cbf33a9988 am d5e1c583: Merge "Move to v3.16.3 kernel headers."
* commit 'd5e1c583a66a821c7d7e8f43e1238a4569981b90':
  Move to v3.16.3 kernel headers.
2014-09-18 21:48:49 +00:00
Elliott Hughes
88e6b2b5d0 am fb8d60f7: Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0."
* commit 'fb8d60f7436d8f90f951fb2efc27449c3aee8046':
  Fix lgamma_r/lgammaf_r/lgammal_r for -0.
2014-09-18 21:48:49 +00:00
Christopher Ferris
b925c1c78d am d5e1c583: Merge "Move to v3.16.3 kernel headers."
* commit 'd5e1c583a66a821c7d7e8f43e1238a4569981b90':
  Move to v3.16.3 kernel headers.
2014-09-18 21:47:50 +00:00
Elliott Hughes
c12827e5f9 am fb8d60f7: Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0."
* commit 'fb8d60f7436d8f90f951fb2efc27449c3aee8046':
  Fix lgamma_r/lgammaf_r/lgammal_r for -0.
2014-09-18 21:47:50 +00:00
Christopher Ferris
d5e1c583a6 Merge "Move to v3.16.3 kernel headers." 2014-09-18 21:34:43 +00:00
Elliott Hughes
fb8d60f743 Merge "Fix lgamma_r/lgammaf_r/lgammal_r for -0." 2014-09-18 21:28:35 +00:00
Christopher Ferris
653676dde8 Move to v3.16.3 kernel headers.
Change-Id: Ife491bd7630b853a78532dd74e4644438256a3a1
2014-09-18 13:14:58 -07:00
Elliott Hughes
755318548d Fix lgamma_r/lgammaf_r/lgammal_r for -0.
Upstream has implemented lgammal/lgammal_r for ld128, and fixed the
sign problem we reported with all the lgamma*_r functions and -0.

Bug: 17471883
Change-Id: Ibb175d9cab67efae75f1010796fd44c9ba6ce4fc
2014-09-18 11:23:58 -07:00
Elliott Hughes
9969481d5b Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
Whitespace difference presumably introduced while fixing a merge conflict.

Bug: 17549448

(cherry picked from commit 8fa377eb6afdea4b03b6a0d112471f7ee988fb96)

Change-Id: I7e30f37da4430af19d09a661e489c8ff65e42297
2014-09-18 10:57:57 -07:00
Elliott Hughes
c189ffaaec More cases where libc should use O_CLOEXEC.
(cherry picked from commit f73183f1a34df22b62a3d0bbf82e18d5797c9cde)

(cherry picked from commit 21ce3f506f3b54e4f57a37847375cef9f8aff57f)

Change-Id: I70b240bd40ad8d2ba33ae7ab2618782709fd0d6a
2014-09-18 10:57:16 -07:00
Dan Albert
411ff42f20 Hide ScopedTrace.
(cherry-pick of f2c1e7ee78a167ff323b9f45d20532d064d6778d.)

Bug: 11156955

(cherry picked from commit ebb6b4a4d3fab87800b912c9d6ea917f5359f8af)

Change-Id: Ifc10364b35384a9f34e4c2c634dd78a16065a817
2014-09-18 10:54:30 -07:00
Elliott Hughes
d0be539e01 Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
This reverts commit 26c1420fbb68916d66a8621b5efe8bb25cfdad7b.

(cherry picked from commit 9e87f2f876243225deef37645ddceaa5d225cb41)

Change-Id: I46a71a456952e3dd2c2bb0d9934820ffe8dc8469
2014-09-18 10:46:04 -07:00
Elliott Hughes
711a0a60eb am f2cab6f8: am 82e71085: Merge "The nextafter functions use the wrong next representable value"
* commit 'f2cab6f808fa22f71efa7ce206df76ffcd5503cc':
  The nextafter functions use the wrong next representable value
2014-09-18 16:18:18 +00:00
Elliott Hughes
b3b72f9278 am 14dfe3e6: am 6ced0051: Merge "Stack unwinding unit tests."
* commit '14dfe3e62b2a96f35ad455f0b1dd996343d9aeeb':
  Stack unwinding unit tests.
2014-09-18 16:18:18 +00:00
Elliott Hughes
7d3a8cf667 am 82e71085: Merge "The nextafter functions use the wrong next representable value"
* commit '82e71085c23d11030e9950d8d08e30ef249fd73b':
  The nextafter functions use the wrong next representable value
2014-09-18 16:11:46 +00:00
Elliott Hughes
397335a0c8 am 6ced0051: Merge "Stack unwinding unit tests."
* commit '6ced005123aaedeed7cd653d0baab3fbd511a492':
  Stack unwinding unit tests.
2014-09-18 16:11:45 +00:00
Elliott Hughes
f2cab6f808 am 82e71085: Merge "The nextafter functions use the wrong next representable value"
* commit '82e71085c23d11030e9950d8d08e30ef249fd73b':
  The nextafter functions use the wrong next representable value
2014-09-18 16:11:30 +00:00
Elliott Hughes
14dfe3e62b am 6ced0051: Merge "Stack unwinding unit tests."
* commit '6ced005123aaedeed7cd653d0baab3fbd511a492':
  Stack unwinding unit tests.
2014-09-18 16:11:30 +00:00
Elliott Hughes
82e71085c2 Merge "The nextafter functions use the wrong next representable value" 2014-09-18 15:51:46 +00:00
Jingwei Zhang
90be6c5fc5 The nextafter functions use the wrong next representable value
From C99 standard: “The nextafter functions determine the next representable value, in the type of the function,
after x in the direction of y, where x and y are first converted to the type of the function”.
The next representable value of 0.0 in direction of -1.0 is -4.9406564584124654e-324, not 0.0.

Similar thing holds for nextafterf, nextafterl, nexttowardf, nexttoward, and nexttowardl.
The tests pass either way, since the error is within the tolerance, but how it is written is wrong.

Change-Id: I1338eeffe3de8031a48f46e1b07146bc07dc2f0a
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Mingwei Shi <mingwei.shi@intel.com>
2014-09-19 00:50:00 +08:00
Elliott Hughes
6ced005123 Merge "Stack unwinding unit tests." 2014-09-18 15:49:30 +00:00
Elliott Hughes
bee1993a14 Stack unwinding unit tests.
Bug: 17436734
Change-Id: I1e98da7eaeab646b448fb3f2b683973dddc319b0
2014-09-17 19:52:14 -07:00
Christopher Ferris
bac0957527 am aac37784: am 0bd28a43: Merge "Update kernel uapi headers to v3.16.1."
* commit 'aac37784dfd696f7469361e91e2444941c3eafb1':
  Update kernel uapi headers to v3.16.1.
2014-09-18 00:52:35 +00:00
Christopher Ferris
cd7f93d31f am 0bd28a43: Merge "Update kernel uapi headers to v3.16.1."
* commit '0bd28a43dae87c808f6af61ad3dba042b35be7e7':
  Update kernel uapi headers to v3.16.1.
2014-09-18 00:41:36 +00:00
Christopher Ferris
aac37784df am 0bd28a43: Merge "Update kernel uapi headers to v3.16.1."
* commit '0bd28a43dae87c808f6af61ad3dba042b35be7e7':
  Update kernel uapi headers to v3.16.1.
2014-09-18 00:41:24 +00:00
Dmitriy Ivanov
824912dbe3 am 4dcc5888: am 6a310f4a: Merge "Temporary disable DL_WARNs for unused DT_*"
* commit '4dcc58887e303b0427886af1712c550c25b8542e':
  Temporary disable DL_WARNs for unused DT_*
2014-09-18 00:26:40 +00:00
Christopher Ferris
0bd28a43da Merge "Update kernel uapi headers to v3.16.1." 2014-09-18 00:18:46 +00:00
Dmitriy Ivanov
4dcc58887e am 6a310f4a: Merge "Temporary disable DL_WARNs for unused DT_*"
* commit '6a310f4ad6c06b6f513d6dd9784ce0377f94f9bd':
  Temporary disable DL_WARNs for unused DT_*
2014-09-18 00:16:52 +00:00
Dmitriy Ivanov
e7c3c9e91f am 6a310f4a: Merge "Temporary disable DL_WARNs for unused DT_*"
* commit '6a310f4ad6c06b6f513d6dd9784ce0377f94f9bd':
  Temporary disable DL_WARNs for unused DT_*
2014-09-18 00:16:41 +00:00
Christopher Ferris
ba8d4f460b Update kernel uapi headers to v3.16.1.
Other changes to support the new headers:

- Remove the flock64 structure it is defined in the new headers.
- Update the syscalls to correspond with the headers.

Change-Id: I49a6b07e8b2bfffb67be71b07b58e4e6848fcc09
2014-09-17 17:05:17 -07:00
Dmitriy Ivanov
6a310f4ad6 Merge "Temporary disable DL_WARNs for unused DT_*" 2014-09-17 23:56:45 +00:00
Dmitriy Ivanov
1b77423eff Temporary disable DL_WARNs for unused DT_*
Bug: 17552334
Change-Id: I2f7b5e4b4d1db96e812a7f86adc929e113d4c11a
2014-09-17 16:46:40 -07:00
Dmitriy Ivanov
eb7cb8e5f8 am f412f82d: am 77784cb9: Merge "Add Android*.mk files to additional dependencies"
* commit 'f412f82d4107ea485fb8c60adfd05c1953032f1f':
  Add Android*.mk files to additional dependencies
2014-09-17 23:31:59 +00:00
Dmitriy Ivanov
e594a6e9a8 am 77784cb9: Merge "Add Android*.mk files to additional dependencies"
* commit '77784cb9b7bad354601a3f965c3eaffecf6798ca':
  Add Android*.mk files to additional dependencies
2014-09-17 23:21:00 +00:00
Dmitriy Ivanov
f412f82d41 am 77784cb9: Merge "Add Android*.mk files to additional dependencies"
* commit '77784cb9b7bad354601a3f965c3eaffecf6798ca':
  Add Android*.mk files to additional dependencies
2014-09-17 23:20:01 +00:00
Dmitriy Ivanov
77784cb9b7 Merge "Add Android*.mk files to additional dependencies" 2014-09-17 23:01:49 +00:00
Dmitriy Ivanov
bf50e2645d Add Android*.mk files to additional dependencies
Bug: 17548097
Change-Id: Ie0d9c8f33459320008f561217c54eba42d283b47
2014-09-17 15:55:01 -07:00
Elliott Hughes
b7fb8b6156 am 58fe4f0b: am 03fef1f5: Merge "Fix some 32-bit-isms in <stdio.h>."
* commit '58fe4f0b079d780f25f1c34a758550368024a44d':
  Fix some 32-bit-isms in <stdio.h>.
2014-09-17 22:53:12 +00:00
Elliott Hughes
3fa99dd4f3 am d75695d8: am 2f5cf100: Merge "Pull input.h from v3.16.1 kernel headers."
* commit 'd75695d8e0093ddf1ad298ef6aacae0782816962':
  Pull input.h from v3.16.1 kernel headers.
2014-09-17 22:53:11 +00:00
Elliott Hughes
58fe4f0b07 am 03fef1f5: Merge "Fix some 32-bit-isms in <stdio.h>."
* commit '03fef1f51179de5cb65eafd9b57ea05c8e061542':
  Fix some 32-bit-isms in <stdio.h>.
2014-09-17 22:37:18 +00:00
Elliott Hughes
d75695d8e0 am 2f5cf100: Merge "Pull input.h from v3.16.1 kernel headers."
* commit '2f5cf100a8cfaf51296fda69d31ef9e59c6d1da3':
  Pull input.h from v3.16.1 kernel headers.
2014-09-17 22:37:17 +00:00
Elliott Hughes
a9a920d52a am 03fef1f5: Merge "Fix some 32-bit-isms in <stdio.h>."
* commit '03fef1f51179de5cb65eafd9b57ea05c8e061542':
  Fix some 32-bit-isms in <stdio.h>.
2014-09-17 22:37:09 +00:00
Elliott Hughes
de3b2bfe11 am 2f5cf100: Merge "Pull input.h from v3.16.1 kernel headers."
* commit '2f5cf100a8cfaf51296fda69d31ef9e59c6d1da3':
  Pull input.h from v3.16.1 kernel headers.
2014-09-17 22:37:08 +00:00
Elliott Hughes
a7c448810d am 8fa377eb: Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
* commit '8fa377eb6afdea4b03b6a0d112471f7ee988fb96':
  Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
2014-09-17 22:36:10 +00:00
Elliott Hughes
8fa377eb6a Fix an unintended difference between aosp/master and lmp-dev-plus-aosp.
Whitespace difference presumably introduced while fixing a merge conflict.

Bug: 17549448
Change-Id: If688330bf1dbaed23ba687d843d9744d6261023b
2014-09-17 15:25:35 -07:00
Elliott Hughes
03fef1f511 Merge "Fix some 32-bit-isms in <stdio.h>." 2014-09-17 22:22:32 +00:00
Elliott Hughes
2ad11a96a1 Fix some 32-bit-isms in <stdio.h>.
(cherry-pick of 2d80400a9e8454038a3ec29959436184be0c4c65.)

Bug: 17157793
Change-Id: I8290e240b92e5617f4c12c0eacad6e622e677b6a
2014-09-17 15:21:10 -07:00
Elliott Hughes
1f82cf40bb am 21ce3f50: More cases where libc should use O_CLOEXEC.
* commit '21ce3f506f3b54e4f57a37847375cef9f8aff57f':
  More cases where libc should use O_CLOEXEC.
2014-09-17 22:19:00 +00:00
Dan Albert
23b8947da5 am ebb6b4a4: Hide ScopedTrace.
* commit 'ebb6b4a4d3fab87800b912c9d6ea917f5359f8af':
  Hide ScopedTrace.
2014-09-17 22:19:00 +00:00
Elliott Hughes
2f5cf100a8 Merge "Pull input.h from v3.16.1 kernel headers." 2014-09-17 22:18:48 +00:00
Christopher Ferris
e2d86feb7b Pull input.h from v3.16.1 kernel headers.
(cherry-pick of 027d2717d067c3706f22bf84dc1226ede7c1566d.)

Bug: 17407564
Change-Id: Idcfc40a7254605280e3d5474c61ae1ab7b2b7b51
2014-09-17 15:18:21 -07:00
Elliott Hughes
21ce3f506f More cases where libc should use O_CLOEXEC.
Change-Id: Idfa111aeebc5deca2399dae919e8b72eb54c23c0
(cherry picked from commit f73183f1a34df22b62a3d0bbf82e18d5797c9cde)
2014-09-17 15:13:35 -07:00
Elliott Hughes
b391e05a25 am 9e87f2f8: Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
* commit '9e87f2f876243225deef37645ddceaa5d225cb41':
  Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
2014-09-17 22:13:23 +00:00
Dan Albert
ebb6b4a4d3 Hide ScopedTrace.
(cherry-pick of f2c1e7ee78a167ff323b9f45d20532d064d6778d.)

Bug: 11156955
Change-Id: I6cddc868d1c6503e30f1ffcf460f45670631d64a
2014-09-17 15:11:25 -07:00
Elliott Hughes
9e87f2f876 Revert "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp.""
This reverts commit 26c1420fbb68916d66a8621b5efe8bb25cfdad7b.
2014-09-17 14:59:24 -07:00
Dan Albert
3ec67de051 Exclude libstdc++ from linked libraries.
Also explicitly add libstdc++ includes for necessary targets.

Change-Id: If712ba0ae7908d8147a69e29da5c453a183d6540
2014-09-17 14:22:36 -07:00
Elliott Hughes
7eb56f8031 am 39f46864: am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '39f4686461889c2a733caf3ea55bb11719ca9036':
  Use the kernel's sa_restorer for aarch64.
2014-09-17 17:24:31 +00:00
Elliott Hughes
18ce8e5d03 am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '36a5aa057cf1738577754a3fc16a14a5f817109f':
  Use the kernel's sa_restorer for aarch64.
2014-09-17 17:17:26 +00:00
Elliott Hughes
39f4686461 am 36a5aa05: Merge "Use the kernel\'s sa_restorer for aarch64."
* commit '36a5aa057cf1738577754a3fc16a14a5f817109f':
  Use the kernel's sa_restorer for aarch64.
2014-09-17 17:17:14 +00:00
Elliott Hughes
5aeb5f7b11 am 0bbd77af: am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '0bbd77af89efdd66e7e265284044ca5894f056be':
  Clean up the architecture-specific makefiles.
2014-09-17 17:11:46 +00:00
Elliott Hughes
36a5aa057c Merge "Use the kernel's sa_restorer for aarch64." 2014-09-17 17:04:40 +00:00
Elliott Hughes
0bbd77af89 am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '56433ee2a2ccc097ac3ad753168722b0fc76f3b1':
  Clean up the architecture-specific makefiles.
2014-09-17 17:00:39 +00:00
Elliott Hughes
289dd568be am 56433ee2: Merge "Clean up the architecture-specific makefiles."
* commit '56433ee2a2ccc097ac3ad753168722b0fc76f3b1':
  Clean up the architecture-specific makefiles.
2014-09-17 17:00:22 +00:00
Elliott Hughes
56433ee2a2 Merge "Clean up the architecture-specific makefiles." 2014-09-17 16:36:47 +00:00
Dmitriy Ivanov
578b8dd727 am b5f0464d: am e7c9a387: Merge "Fix 64bit build"
* commit 'b5f0464d825ee1ef80e8652a12b0743433020ab4':
  Fix 64bit build
2014-09-17 07:05:51 +00:00
Dmitriy Ivanov
b5f0464d82 am e7c9a387: Merge "Fix 64bit build"
* commit 'e7c9a387fa190b786b1f7becfe99cb22a6f2934a':
  Fix 64bit build
2014-09-17 06:53:52 +00:00
Dmitriy Ivanov
415658c922 am e7c9a387: Merge "Fix 64bit build"
* commit 'e7c9a387fa190b786b1f7becfe99cb22a6f2934a':
  Fix 64bit build
2014-09-17 06:53:24 +00:00
Dmitriy Ivanov
e7c9a387fa Merge "Fix 64bit build" 2014-09-17 06:36:19 +00:00
Dmitriy Ivanov
f240aa8089 Fix 64bit build
Change-Id: I6ef55b5951270c46ee5e9a11385bd09e33a9f969
2014-09-16 23:34:20 -07:00
Dmitriy Ivanov
cdd93e0885 am f5a56f21: am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit 'f5a56f21806a3535d3e32b172b417bb4cedf00f5':
  Fix some unused DT_ warnings
2014-09-17 06:01:55 +00:00
Dmitriy Ivanov
ab1b06a87b am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit '34ac60ca16713be227844798f4b20a2f68c8a241':
  Fix some unused DT_ warnings
2014-09-17 05:50:49 +00:00
Dmitriy Ivanov
f5a56f2180 am 34ac60ca: Merge "Fix some unused DT_ warnings"
* commit '34ac60ca16713be227844798f4b20a2f68c8a241':
  Fix some unused DT_ warnings
2014-09-17 05:49:55 +00:00
Dmitriy Ivanov
34ac60ca16 Merge "Fix some unused DT_ warnings" 2014-09-17 05:28:30 +00:00
Elliott Hughes
7c02d9428c Clean up the architecture-specific makefiles.
Group things appropriately and name each group.

Change-Id: I0da45eb0ccde19c31d5e984d0e6eb3dad26630dc
2014-09-16 19:06:31 -07:00
Dmitriy Ivanov
4a6e9a835a Fix some unused DT_ warnings
* DT_PLTGOT - ignored for non-mips
 * DT_RELCOUNT/RELACOUNT - ignored
 * DT_RELENT/RELAENT - sanity checks
 * DT_SYMENT - sanity check
 * DT_SONAME - ignore for now.

Change-Id: Ied90748d12f733a84f6c38a1250567a2f77608b7
2014-09-16 18:19:36 -07:00
Elliott Hughes
8b7cb0560f am 894f7f58: am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '894f7f5819e9447d7a7418f180c2275c4c7d9f2f':
  No arm source refers to SOFTFLOAT.
2014-09-17 00:25:04 +00:00
Elliott Hughes
894f7f5819 am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '17cc8e539a578184662c1966a60f37c7d4fed65e':
  No arm source refers to SOFTFLOAT.
2014-09-17 00:07:22 +00:00
Elliott Hughes
6bf74ba536 am 17cc8e53: Merge "No arm source refers to SOFTFLOAT."
* commit '17cc8e539a578184662c1966a60f37c7d4fed65e':
  No arm source refers to SOFTFLOAT.
2014-09-17 00:07:11 +00:00
Elliott Hughes
17cc8e539a Merge "No arm source refers to SOFTFLOAT." 2014-09-16 23:45:40 +00:00
Elliott Hughes
b1a6c319c4 No arm source refers to SOFTFLOAT.
So why bother #defining it?

Change-Id: I539e91916cee082cacac594ddf628419b737fa9d
2014-09-16 16:27:35 -07:00
Dmitriy Ivanov
dc428a17d6 am 7ccb499c: am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit '7ccb499c63931b0863d2792f3d2548acca78c90a':
  Remove has_DT_SYMBOLIC flag
2014-09-16 23:07:04 +00:00
Dmitriy Ivanov
7ccb499c63 am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit 'aea393c096460669647acbe803617affc5bc0697':
  Remove has_DT_SYMBOLIC flag
2014-09-16 22:54:00 +00:00
Dmitriy Ivanov
29be5408dd am aea393c0: Merge "Remove has_DT_SYMBOLIC flag"
* commit 'aea393c096460669647acbe803617affc5bc0697':
  Remove has_DT_SYMBOLIC flag
2014-09-16 22:53:57 +00:00
Elliott Hughes
1cff9a8964 Use the kernel's sa_restorer for aarch64.
gdb was happy with what we had, but libgcc and libunwind weren't.
libgcc is happy with the kernel's restorer (because of the extra nop),
though libunwind looks like it's going to need code changes regardless.

We could make our restorer more like the kernel's one, but why bother
when we can just let the kernel supply the canonical one?

Bug: 17436734
Change-Id: I330fa5e68f23b1cf8133aa552896657b0b873ed3
2014-09-16 15:49:50 -07:00
Dmitriy Ivanov
aea393c096 Merge "Remove has_DT_SYMBOLIC flag" 2014-09-16 22:37:37 +00:00
Elliott Hughes
48ac72d070 am 67c12a83: am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '67c12a8392f869b39d4676081d76ebcf5aa9fd05':
  Fix 32-bit arm unwinding through signal frames.
2014-09-16 22:27:59 +00:00
Dmitriy Ivanov
8f61d99183 Remove has_DT_SYMBOLIC flag
From the elf-spec: "Symbolically bound shared objects are
  identified by the .dynamic entry DT_SYMBOLIC. This tag is
  informational only; the runtime linker processes symbol
  lookups from these objects in the same manner as any
  other object."

Change-Id: I4aae0e502ed9fac096fbf076f4d6b2e055d784f6
2014-09-16 15:26:47 -07:00
Elliott Hughes
63b63c146e am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '380a3be757b04378edecad6ecb96017d2ec6a8b9':
  Fix 32-bit arm unwinding through signal frames.
2014-09-16 22:25:54 +00:00
Elliott Hughes
67c12a8392 am 380a3be7: Merge "Fix 32-bit arm unwinding through signal frames."
* commit '380a3be757b04378edecad6ecb96017d2ec6a8b9':
  Fix 32-bit arm unwinding through signal frames.
2014-09-16 22:13:34 +00:00
Elliott Hughes
380a3be757 Merge "Fix 32-bit arm unwinding through signal frames." 2014-09-16 21:17:20 +00:00
Elliott Hughes
148dff3ec6 Fix 32-bit arm unwinding through signal frames.
gdb was already okay; libgcc and libunwind need a little extra help.

Bug: 17436734
Change-Id: I1f5108f9877373be078554a1ea4938aa4436204e
2014-09-16 14:10:53 -07:00
Calin Juravle
82f4e27b4b am c417053e: am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit 'c417053e808af9a23e579723aed0d110f6841f2c':
  Add benchmarks for pthread_rw_locks
2014-09-16 19:57:29 +00:00
Elliott Hughes
8790f37b07 am ca2d1258: am 5cba3c6f: Merge "Fix signal trampolines."
* commit 'ca2d1258fc45252d6f60fc33af02501de340ceed':
  Fix signal trampolines.
2014-09-16 19:57:27 +00:00
Dmitriy Ivanov
7c76969732 am 3d76a5a1: am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '3d76a5a1c7f7b10aa15ac2abddf12b37b6d45027':
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
2014-09-16 19:57:25 +00:00
Dmitriy Ivanov
4cdd5ae852 am fe78876f: am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit 'fe78876f94949ba46b76e23e3ab5bb5542565db4':
  Add dlfcn_test to glibc test suite.
2014-09-16 19:57:24 +00:00
Calin Juravle
c417053e80 am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit '370704d69db15ec0b4d24e6412b5d30ded0ffc03':
  Add benchmarks for pthread_rw_locks
2014-09-16 19:52:58 +00:00
Elliott Hughes
ca2d1258fc am 5cba3c6f: Merge "Fix signal trampolines."
* commit '5cba3c6f8e571cd4e6e2468263b778a90331101f':
  Fix signal trampolines.
2014-09-16 19:42:51 +00:00
Dmitriy Ivanov
3d76a5a1c7 am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '2997ae83d55486ab86a6100265fa502eff721ce2':
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
2014-09-16 19:42:45 +00:00
Dmitriy Ivanov
fe78876f94 am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit '0b8f6d592ac20ec81dbc96766123c67655f34842':
  Add dlfcn_test to glibc test suite.
2014-09-16 19:42:44 +00:00
Calin Juravle
b414c62e60 am 370704d6: Merge "Add benchmarks for pthread_rw_locks"
* commit '370704d69db15ec0b4d24e6412b5d30ded0ffc03':
  Add benchmarks for pthread_rw_locks
2014-09-16 17:59:09 +00:00
Calin Juravle
370704d69d Merge "Add benchmarks for pthread_rw_locks" 2014-09-16 17:31:39 +00:00
Calin Juravle
837a962bf5 Add benchmarks for pthread_rw_locks
Benchmarks for the following sequences:
1) pthread_rwlock_rdlock -> pthread_rwlock_unlock
2) pthread_rwlock_wrlock -> pthread_rwlock_unlock

Change-Id: I8d87d4d8afab8637ea7ff5d23a0b3a81d6d40835
2014-09-16 18:02:30 +01:00
Elliott Hughes
78946d4189 am 5cba3c6f: Merge "Fix signal trampolines."
* commit '5cba3c6f8e571cd4e6e2468263b778a90331101f':
  Fix signal trampolines.
2014-09-16 16:52:11 +00:00
Dmitriy Ivanov
9a44ef61ae am 2997ae83: Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL"
* commit '2997ae83d55486ab86a6100265fa502eff721ce2':
  Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
2014-09-16 16:44:36 +00:00
Dmitriy Ivanov
b9263dd173 am 0b8f6d59: Merge "Add dlfcn_test to glibc test suite."
* commit '0b8f6d592ac20ec81dbc96766123c67655f34842':
  Add dlfcn_test to glibc test suite.
2014-09-16 16:44:35 +00:00
Elliott Hughes
5cba3c6f8e Merge "Fix signal trampolines." 2014-09-16 15:19:06 +00:00
Elliott Hughes
0b981eb9d5 am b104f0c4: am 95b0c6a9: Merge "POSIX says <signal.h> gets you ucontext_t."
* commit 'b104f0c4382215acf8e8ed30793140cf13624056':
  POSIX says <signal.h> gets you ucontext_t.
2014-09-16 08:48:12 +00:00
Dmitriy Ivanov
2997ae83d5 Merge "Fix dlsym() to take into account RTLD_GLOBAL/LOCAL" 2014-09-16 01:27:56 +00:00
Dmitriy Ivanov
e8ba50fe0d Fix dlsym() to take into account RTLD_GLOBAL/LOCAL
Symbols from libraries opened with RTLD_LOCAL (default)
  should not be visible via dlsym(RLTD_DEFAULT/RTLD_NEXT, .)

Bug: 17512583
Change-Id: I1758943081a67cf3d49ba5808e061b8251a91964
2014-09-15 17:39:48 -07:00
Dmitriy Ivanov
0b8f6d592a Merge "Add dlfcn_test to glibc test suite." 2014-09-15 22:12:06 +00:00
Elliott Hughes
36f451a6d9 Fix signal trampolines.
* LP32 should use sa_restorer too. gdb expects this, and future (>= 3.15) x86
  kernels will apparently stop supporting the case where SA_RESTORER isn't
  set.

* gdb and libunwind care about the exact instruction sequences, so we need to
  modify the code slightly in a few cases to match what they're looking for.

* gdb also cares about the exact function names (for some architectures),
  so we need to use __restore and __restore_rt rather than __sigreturn and
  __rt_sigreturn.

* It's possible that we don't have a VDSO; dl_iterate_phdr shouldn't assume
  that getauxval(AT_SYSINFO_EHDR) will return a non-null pointer.

This fixes unwinding through a signal handler in gdb for all architectures.
It doesn't fix libunwind for arm and arm64. I'll keep investigating that...

Bug: 17436734
Change-Id: Ic1ea1184db6655c5d96180dc07bcc09628e647cb
2014-09-15 15:04:14 -07:00
Dmitriy Ivanov
eb27bbae8f Add dlfcn_test to glibc test suite.
Change-Id: I955e4f7dfcc23ea5c767f967b3532dc31663b876
2014-09-15 15:03:15 -07:00
Elliott Hughes
b104f0c438 am 95b0c6a9: Merge "POSIX says <signal.h> gets you ucontext_t."
* commit '95b0c6a9407d7a4084d956e273ad1697550452d3':
  POSIX says <signal.h> gets you ucontext_t.
2014-09-15 22:02:31 +00:00
Elliott Hughes
c47a5402e7 am 95b0c6a9: Merge "POSIX says <signal.h> gets you ucontext_t."
* commit '95b0c6a9407d7a4084d956e273ad1697550452d3':
  POSIX says <signal.h> gets you ucontext_t.
2014-09-15 22:02:12 +00:00
Elliott Hughes
95b0c6a940 Merge "POSIX says <signal.h> gets you ucontext_t." 2014-09-15 17:17:37 +00:00
Dan Albert
73c923f9f4 am 73c605e2: am 2c581047: Merge "Fix filename in comment in cmath"
* commit '73c605e234eb873f5d198e8e420ac74f5bcc2c81':
  Fix filename in comment in cmath
2014-09-14 20:06:20 +00:00
Christopher Ferris
ca87b17819 am 07ce9767: am 027d2717: Pull input.h from v3.16.1 kernel headers.
* commit '07ce9767884051a781a2dfe7877c2715e9ef712c':
  Pull input.h from v3.16.1 kernel headers.
2014-09-14 20:06:19 +00:00
Dan Albert
73c605e234 am 2c581047: Merge "Fix filename in comment in cmath"
* commit '2c58104718187ae99ea381a19ce8395b5349fded':
  Fix filename in comment in cmath
2014-09-14 19:59:41 +00:00
Christopher Ferris
07ce976788 am 027d2717: Pull input.h from v3.16.1 kernel headers.
* commit '027d2717d067c3706f22bf84dc1226ede7c1566d':
  Pull input.h from v3.16.1 kernel headers.
2014-09-14 19:51:38 +00:00
Dan Albert
2c58104718 Merge "Fix filename in comment in cmath" 2014-09-14 19:33:44 +00:00
Christopher Ferris
027d2717d0 Pull input.h from v3.16.1 kernel headers.
Bug: 17407564
Change-Id: Idcfc40a7254605280e3d5474c61ae1ab7b2b7b51
2014-09-14 12:08:37 -07:00
m4tx
2214a1ce17 Fix filename in comment in cmath
It looks like the file comment was copy-pasted from ctime. Fixed filename in comment to "math.h".

Change-Id: I27b0c2a7827076a91fc7b63913fad6eee4d6a79e
Signed-off-by: m4tx <m4tx@m4tx.pl>
2014-09-14 16:41:31 +02:00
Elliott Hughes
ce1658bde0 am 35981194: am 85ef3b5b: Merge "Update NOTICE files."
* commit '35981194d8f458884417ecf794f9edb4684f5adf':
  Update NOTICE files.
2014-09-13 17:41:00 +00:00
Elliott Hughes
2e40c43fdf am 79f40ff9: am ae51accf: Merge "Remove an unused file."
* commit '79f40ff929374a5b6b783ef641fc9661cd315c25':
  Remove an unused file.
2014-09-13 17:40:59 +00:00
Elliott Hughes
35981194d8 am 85ef3b5b: Merge "Update NOTICE files."
* commit '85ef3b5b80da353afa24d0ab21c35be01951e0b7':
  Update NOTICE files.
2014-09-13 17:23:58 +00:00
Elliott Hughes
79f40ff929 am ae51accf: Merge "Remove an unused file."
* commit 'ae51accf22a897eecda329202431faa11e0f6015':
  Remove an unused file.
2014-09-13 17:23:57 +00:00
Elliott Hughes
85ef3b5b80 Merge "Update NOTICE files." 2014-09-13 17:01:08 +00:00
Elliott Hughes
ae51accf22 Merge "Remove an unused file." 2014-09-13 17:00:27 +00:00
Elliott Hughes
5c2264a136 Update NOTICE files.
Change-Id: I37a2c297b318b8e1b1ce8b29a7ccc58ba214708a
2014-09-13 09:42:41 -07:00
Elliott Hughes
5681fe8eae Remove an unused file.
Also remove a reference to it and two other files that have already
been removed in a script --- these files were problematic because they
weren't UTF-8.

Change-Id: Ibf597bac1903c34d8d0fe0a09615c42f24d4f23d
2014-09-13 09:24:28 -07:00
Elliott Hughes
26a8eb50a8 POSIX says <signal.h> gets you ucontext_t.
POSIX also says that ucontext_t's uc_sigmask has type sigset_t.

MIPS64 strace needs this.

The #define is to keep chromium off our lawn; otherwise it tries to redefine
all this stuff itself. We should probably clean that up and remove the #define.

Change-Id: I765d6a765a33dca7db33cd8c40f408dc98e5c95b
2014-09-12 20:47:35 -07:00
Elliott Hughes
bd44263101 am 934028eb: am 73d2059f: Merge "Explain why clock(3) isn\'t broken."
* commit '934028eba35b04a965c89c431e7e9a60c06eb17c':
  Explain why clock(3) isn't broken.
2014-09-13 02:28:01 +00:00
Elliott Hughes
f206217660 am 8bd96e06: am 21451f5b: Merge "Get new coshl, sinhl, and tanhl implementations from upstream."
* commit '8bd96e067c2c7c9bdec03de41147e13a531850a9':
  Get new coshl, sinhl, and tanhl implementations from upstream.
2014-09-13 02:27:57 +00:00
Elliott Hughes
df61319444 am 8ce73725: am a40a16ea: Merge "Add a test for pthread_gettid_np."
* commit '8ce73725a3e185d9d36a3913d9713eb9d9062a3c':
  Add a test for pthread_gettid_np.
2014-09-13 02:25:37 +00:00
Elliott Hughes
c63a12128c am 4cc9c6cc: am 69c2d7dc: Merge "Sync libm with upstream."
* commit '4cc9c6cc83e7fcd9d62bac152a9f4fc4c7b8eaf9':
  Sync libm with upstream.
2014-09-13 02:25:13 +00:00
Elliott Hughes
6b9a41e082 am ecd6be3b: am e39e47c6: Merge "Remove "private/bionic_pthread.h"."
* commit 'ecd6be3bd2963ef69500e4b5a0186114f01a282d':
  Remove "private/bionic_pthread.h".
2014-09-13 02:22:42 +00:00
Dmitriy Ivanov
1f08f1a3c8 am b58b8210: am d74aa580: Merge "Fix unload of recursively linked library"
* commit 'b58b821056ab45ece313181fb2d55856957fe2a6':
  Fix unload of recursively linked library
2014-09-13 02:22:41 +00:00
Dmitriy Ivanov
9da0ae4ddd am 75386aa5: am aad92067: Merge "Reformatting"
* commit '75386aa5ffb4f66810b7e267fcd16d69420bb8e2':
  Reformatting
2014-09-13 02:22:41 +00:00
Dmitriy Ivanov
2e3fd896cc am bb5e2968: am 66bbf159: Merge "Refactoring: C++11 style DISABLE_ bionic marcos"
* commit 'bb5e2968ca909903605364e5d7b199d121fcae40':
  Refactoring: C++11 style DISABLE_ bionic marcos
2014-09-13 02:22:40 +00:00
Elliott Hughes
934028eba3 am 73d2059f: Merge "Explain why clock(3) isn\'t broken."
* commit '73d2059f9b3f53446e25d800d64a86efb3bf3f9f':
  Explain why clock(3) isn't broken.
2014-09-13 00:16:26 +00:00
Elliott Hughes
73d2059f9b Merge "Explain why clock(3) isn't broken." 2014-09-12 23:52:13 +00:00
Elliott Hughes
8bd96e067c am 21451f5b: Merge "Get new coshl, sinhl, and tanhl implementations from upstream."
* commit '21451f5bf65ecaa00c9f3b7ac721738b97f41599':
  Get new coshl, sinhl, and tanhl implementations from upstream.
2014-09-12 23:49:31 +00:00
Elliott Hughes
f83c208b82 Explain why clock(3) isn't broken.
Bug: 17441123
Change-Id: I6ee9b7f54bab55b1a8760ce9bcaaa6eab1dcc492
2014-09-12 16:33:37 -07:00
Elliott Hughes
21451f5bf6 Merge "Get new coshl, sinhl, and tanhl implementations from upstream." 2014-09-12 23:13:43 +00:00
Elliott Hughes
8ce73725a3 am a40a16ea: Merge "Add a test for pthread_gettid_np."
* commit 'a40a16eab13b770c3ce80f4e4241dfcd9518022f':
  Add a test for pthread_gettid_np.
2014-09-12 23:12:45 +00:00
Elliott Hughes
c729d4f237 Get new coshl, sinhl, and tanhl implementations from upstream.
Change-Id: I92f9cd53d12efb2e0f4f8a9590b9fe42398233f6
2014-09-12 16:09:40 -07:00
Elliott Hughes
a40a16eab1 Merge "Add a test for pthread_gettid_np." 2014-09-12 22:52:38 +00:00
Elliott Hughes
8fb639ca91 Add a test for pthread_gettid_np.
Bug: 17475191
Change-Id: I8c6a2f4ceba2d24a77ae9a21269edce523aea421
2014-09-12 14:43:07 -07:00
Elliott Hughes
4cc9c6cc83 am 69c2d7dc: Merge "Sync libm with upstream."
* commit '69c2d7dc6434c7e7e9bd22797deb7f727199ab0c':
  Sync libm with upstream.
2014-09-12 21:34:56 +00:00
Elliott Hughes
69c2d7dc64 Merge "Sync libm with upstream." 2014-09-12 21:07:48 +00:00
Elliott Hughes
460ad7454a Sync libm with upstream.
Change-Id: I8ac8ee52122ee19a2e423c3211092023cb4896eb
2014-09-12 14:00:02 -07:00
Elliott Hughes
ecd6be3bd2 am e39e47c6: Merge "Remove "private/bionic_pthread.h"."
* commit 'e39e47c6b377170d696c6b9b5b523a28c1382ca4':
  Remove "private/bionic_pthread.h".
2014-09-12 20:08:45 +00:00
Dmitriy Ivanov
b58b821056 am d74aa580: Merge "Fix unload of recursively linked library"
* commit 'd74aa580354037b9972524e9d654c0a336974838':
  Fix unload of recursively linked library
2014-09-12 20:08:44 +00:00
Dmitriy Ivanov
75386aa5ff am aad92067: Merge "Reformatting"
* commit 'aad92067bf4eecda81a4c331ee4dec70483c5104':
  Reformatting
2014-09-12 20:08:42 +00:00
Dmitriy Ivanov
bb5e2968ca am 66bbf159: Merge "Refactoring: C++11 style DISABLE_ bionic marcos"
* commit '66bbf1595c0fc25d4bc47457d8020b11e135996d':
  Refactoring: C++11 style DISABLE_ bionic marcos
2014-09-12 20:08:41 +00:00
Elliott Hughes
f0a6d5db8f am 0654250e: am 8d8a789c: Merge "Expose __swsetup for LP32 binary compatibility."
* commit '0654250eb99b825abfc4368063c725526018ef77':
  Expose __swsetup for LP32 binary compatibility.
2014-09-12 19:27:34 +00:00
Dmitriy Ivanov
c5cb043819 am 5a6e31c3: am 6487f0d8: Merge "Add IFUNC support for arm64 and IRELATIVE reloc"
* commit '5a6e31c3cbaf5ebbcc6cc6221a12ee1ce10e1e82':
  Add IFUNC support for arm64 and IRELATIVE reloc
2014-09-12 19:27:33 +00:00
Elliott Hughes
d455758e99 am 7f4c7060: am 5920a9ad: Merge "Add pthread_gettid_np and re-expose __get_thread for LP32."
* commit '7f4c7060f0856da7f3624f87b4547615c29130b8':
  Add pthread_gettid_np and re-expose __get_thread for LP32.
2014-09-12 19:27:33 +00:00
Elliott Hughes
6cd84274b8 am da7fe217: am 7e00b44e: Expose __swsetup for LP32 binary compatibility.
* commit 'da7fe217d8ef5aaa1c7f8837719e1c7f1d482679':
  Expose __swsetup for LP32 binary compatibility.
2014-09-12 19:27:27 +00:00
Elliott Hughes
1bd1f3a401 am 66265e80: am 27efc488: Add pthread_gettid_np and re-expose __get_thread for LP32.
* commit '66265e80a13e60ac06153af88936fb4c90a99f66':
  Add pthread_gettid_np and re-expose __get_thread for LP32.
2014-09-12 19:27:27 +00:00
Elliott Hughes
3e4ae3ec09 am d415e27d: am 9e833bf0: Fix mips __fadvise64.S build failure.
* commit 'd415e27d5bcfaba5b8fcd868d98173db708ffa9c':
  Fix mips __fadvise64.S build failure.
2014-09-12 19:19:40 +00:00
Elliott Hughes
ba55c8984e am 5691dcfc: am ea66004c: Merge "Fix mips __fadvise64.S build failure."
* commit '5691dcfc0d8b1418e53d75b3c3428f8f65a87727':
  Fix mips __fadvise64.S build failure.
2014-09-12 19:17:48 +00:00
Elliott Hughes
c3932cca0b am 65e61977: am 176c3278: Merge "Add posix_fadvise(3)." into lmp-dev
* commit '65e619775e3f4517edc7ac68c6b85a9443a67da7':
  Add posix_fadvise(3).
2014-09-12 19:17:03 +00:00
Elliott Hughes
612db11844 am db1e9581: am 33df10f2: Merge "Add posix_fadvise(3)."
* commit 'db1e9581098ad19465d2d81fbe368743b648a071':
  Add posix_fadvise(3).
2014-09-12 19:16:56 +00:00
Elliott Hughes
e39e47c6b3 Merge "Remove "private/bionic_pthread.h"." 2014-09-12 18:43:05 +00:00
Elliott Hughes
0f001b67fe Remove "private/bionic_pthread.h".
Bug: 17476168
Change-Id: Id642987e641de81e914a28daea4ffe9d11e090ed
2014-09-12 11:35:05 -07:00
Dmitriy Ivanov
d74aa58035 Merge "Fix unload of recursively linked library" 2014-09-12 16:55:42 +00:00
Dmitriy Ivanov
aad92067bf Merge "Reformatting" 2014-09-12 16:50:29 +00:00
Dmitriy Ivanov
66bbf1595c Merge "Refactoring: C++11 style DISABLE_ bionic marcos" 2014-09-12 16:50:05 +00:00
Dmitriy Ivanov
6abf624d12 Reformatting
No functional changes.

Change-Id: If71775e5fc207e91ebd31ba3c5f9d2c13dc8dada
2014-09-12 09:43:13 -07:00
Elliott Hughes
0654250eb9 am 8d8a789c: Merge "Expose __swsetup for LP32 binary compatibility."
* commit '8d8a789c49ffb6b71e4b8f34df937cfaaff86e40':
  Expose __swsetup for LP32 binary compatibility.
2014-09-12 05:59:18 +00:00
Dmitriy Ivanov
5a6e31c3cb am 6487f0d8: Merge "Add IFUNC support for arm64 and IRELATIVE reloc"
* commit '6487f0d8341b00b476995e0174dc92e5ae8efbbe':
  Add IFUNC support for arm64 and IRELATIVE reloc
2014-09-12 05:59:16 +00:00
Elliott Hughes
7f4c7060f0 am 5920a9ad: Merge "Add pthread_gettid_np and re-expose __get_thread for LP32."
* commit '5920a9ad5fd9f8d515c683e164f946bcfef1f1c3':
  Add pthread_gettid_np and re-expose __get_thread for LP32.
2014-09-12 05:59:16 +00:00
Elliott Hughes
da7fe217d8 am 7e00b44e: Expose __swsetup for LP32 binary compatibility.
* commit '7e00b44e80d6e38b8ab86d0ebc86b666c0ac2ef6':
  Expose __swsetup for LP32 binary compatibility.
2014-09-12 05:48:54 +00:00
Elliott Hughes
66265e80a1 am 27efc488: Add pthread_gettid_np and re-expose __get_thread for LP32.
* commit '27efc48814b8153c55cbcd0af5d9add824816e69':
  Add pthread_gettid_np and re-expose __get_thread for LP32.
2014-09-12 05:48:52 +00:00
Dmitriy Ivanov
a6ac54a215 Fix unload of recursively linked library
Expanded test for recursive libs. Fixed bug with unnecessary
  soinfo_free of already loaded library.

Change-Id: I2cc19f2650c8b12a35feeac127ef608ebba44d88
2014-09-11 22:40:48 -07:00
Elliott Hughes
8d8a789c49 Merge "Expose __swsetup for LP32 binary compatibility." 2014-09-12 01:27:45 +00:00
Elliott Hughes
5f35710fad Expose __swsetup for LP32 binary compatibility.
(cherry-pick of 7e00b44e80d6e38b8ab86d0ebc86b666c0ac2ef6.)

Bug: 17476127
Change-Id: I0ef1355ac913d782c268a638f88642d6cfc236c2
2014-09-11 18:23:46 -07:00
Dmitriy Ivanov
6487f0d834 Merge "Add IFUNC support for arm64 and IRELATIVE reloc" 2014-09-12 00:40:12 +00:00
Elliott Hughes
7e00b44e80 Expose __swsetup for LP32 binary compatibility.
Bug: 17476127
Change-Id: I0ef1355ac913d782c268a638f88642d6cfc236c2
2014-09-11 16:41:11 -07:00
Dmitriy Ivanov
9aea164457 Add IFUNC support for arm64 and IRELATIVE reloc
There are number of changes in the way IFUNC related relocations are done:
 1. IRELATIVE relocations are now supported for x86/x86_64 and arm64.
 2. IFUNC relocations are now relying on static linker to generate
    them in correct order - this removes necessety of additional
    relocation pass for ifuncs.
 3. Related to 2: rela?.dyn relocations are preformed before .plt ones.
 4. Ifunc are resolved on symbol lookup this approach allowed to avoid
    mprotect(PROT_WRITE) call on r-x program segments.

Bug: 17399706
Bug: 17177284
Change-Id: I414dd3e82bd47cc03442c5dfc7c279949aec51ed
2014-09-11 16:30:45 -07:00
Elliott Hughes
5920a9ad5f Merge "Add pthread_gettid_np and re-expose __get_thread for LP32." 2014-09-11 23:25:46 +00:00
Elliott Hughes
a4831cb4a3 Add pthread_gettid_np and re-expose __get_thread for LP32.
A lot of third-party code calls the private __get_thread symbol,
often as part of a backport of bionic's pthread_rwlock implementation.
Hopefully this will go away for LP64 (since you're guaranteed the
real implementation there), but there are still APIs that take a tid
and no way to convert between a pthread_t and a tid. pthread_gettid_np
is a public API for that. To aid the transition, make __get_thread
available again for LP32.

(cherry-pick of 27efc48814b8153c55cbcd0af5d9add824816e69.)

Bug: 14079438
Change-Id: I43fabc7f1918250d31d4665ffa4ca352d0dbeac1
2014-09-11 16:22:50 -07:00
Elliott Hughes
27efc48814 Add pthread_gettid_np and re-expose __get_thread for LP32.
A lot of third-party code calls the private __get_thread symbol,
often as part of a backport of bionic's pthread_rwlock implementation.
Hopefully this will go away for LP64 (since you're guaranteed the
real implementation there), but there are still APIs that take a tid
and no way to convert between a pthread_t and a tid. pthread_gettid_np
is a public API for that. To aid the transition, make __get_thread
available again for LP32.

Bug: 14079438
Change-Id: I43fabc7f1918250d31d4665ffa4ca352d0dbeac1
2014-09-11 16:11:43 -07:00
Elliott Hughes
d415e27d5b am 9e833bf0: Fix mips __fadvise64.S build failure.
* commit '9e833bf0cf2c5bc0e6b65e4d96aa4f2b33113771':
  Fix mips __fadvise64.S build failure.
2014-09-11 18:32:24 +00:00
Elliott Hughes
5691dcfc0d am ea66004c: Merge "Fix mips __fadvise64.S build failure."
* commit 'ea66004c4a051e40c49314d808e7359634f6c641':
  Fix mips __fadvise64.S build failure.
2014-09-11 17:32:03 +00:00
Lorenzo Colitti
77f01f4306 am 993a2315: am 33a73bfa: When comparing DNS server configs, also compare number of servers
* commit '993a2315a7ddc786ce9180258aa3db498bf9326e':
  When comparing DNS server configs, also compare number of servers
2014-09-11 17:27:10 +00:00
Elliott Hughes
9e833bf0cf Fix mips __fadvise64.S build failure.
Bug: 12449798

(cherry picked from commit 9990b3973bdfcda5419c06886215147a878222f1)

Change-Id: Iba92e2aa262666a59fc38b870dfd9f4082eeb628
2014-09-11 10:15:14 -07:00
Elliott Hughes
ea66004c4a Merge "Fix mips __fadvise64.S build failure." 2014-09-11 17:12:49 +00:00
Elliott Hughes
9990b3973b Fix mips __fadvise64.S build failure.
Bug: 12449798
Change-Id: I0663b741108ba2f1d286904d6414b3ff4d475551
2014-09-11 10:10:08 -07:00
Elliott Hughes
65e619775e am 176c3278: Merge "Add posix_fadvise(3)." into lmp-dev
* commit '176c32787c53e720bf4664592fd0b8ea4ffbdd75':
  Add posix_fadvise(3).
2014-09-11 16:08:32 +00:00
Elliott Hughes
db1e958109 am 33df10f2: Merge "Add posix_fadvise(3)."
* commit '33df10f284a8adbf58f9734c0f43537db4206b2c':
  Add posix_fadvise(3).
2014-09-11 15:58:49 +00:00
Elliott Hughes
33df10f284 Merge "Add posix_fadvise(3)." 2014-09-11 15:46:44 +00:00
Elliott Hughes
b587f339db Add posix_fadvise(3).
(cherry-pick of 00008263782e484020420c606f7d145fe7d0a4d8.)

Bug: 12449798
Change-Id: I07cbf3f670a0d1304b68148325a774f266b5c433
2014-09-11 08:45:46 -07:00
Elliott Hughes
176c32787c Merge "Add posix_fadvise(3)." into lmp-dev 2014-09-11 15:43:05 +00:00
Elliott Hughes
0000826378 Add posix_fadvise(3).
Bug: 12449798
Change-Id: I07cbf3f670a0d1304b68148325a774f266b5c433
2014-09-10 20:30:23 -07:00
Lorenzo Colitti
993a2315a7 am 33a73bfa: When comparing DNS server configs, also compare number of servers
* commit '33a73bfa0712c483830e4c9abbf4d6a0551478bf':
  When comparing DNS server configs, also compare number of servers
2014-09-11 00:13:20 +00:00
Lorenzo Colitti
33a73bfa07 When comparing DNS server configs, also compare number of servers
Bug: 16070602
Change-Id: I605f1cca50b08479ebcad290b3bd179f59be8a96
2014-09-11 08:36:12 +09:00
Lorenzo Colitti
b5e7bd0013 am da0ed4cb: am c71483c0: Merge "When comparing DNS server configs, also compare number of servers"
* commit 'da0ed4cbfa10eb3f6a48ef116ae0441239daf7bf':
  When comparing DNS server configs, also compare number of servers
2014-09-09 15:03:50 +00:00
Lorenzo Colitti
da0ed4cbfa am c71483c0: Merge "When comparing DNS server configs, also compare number of servers"
* commit 'c71483c0b38a6b4f2675f0bffa221dcf175c34ac':
  When comparing DNS server configs, also compare number of servers
2014-09-09 10:42:23 +00:00
Lorenzo Colitti
c71483c0b3 Merge "When comparing DNS server configs, also compare number of servers" 2014-09-09 10:22:18 +00:00
Lorenzo Colitti
bce18c9163 When comparing DNS server configs, also compare number of servers
Bug: 16070602
Change-Id: I605f1cca50b08479ebcad290b3bd179f59be8a96
2014-09-09 19:20:26 +09:00
Dmitriy Ivanov
9c8ff91dcc am 06bd5e2d: am 3c3624f3: Merge "Load libraries in breadth-first order"
* commit '06bd5e2d0ade82b9fc70fd8928c1746ca529a2f4':
  Load libraries in breadth-first order
2014-09-09 01:25:51 +00:00
Dmitriy Ivanov
06bd5e2d0a am 3c3624f3: Merge "Load libraries in breadth-first order"
* commit '3c3624f3df14590e7213d35c3b39a0a11c7d2d34':
  Load libraries in breadth-first order
2014-09-09 01:11:41 +00:00
Dmitriy Ivanov
d9ff722661 Refactoring: C++11 style DISABLE_ bionic marcos
Enable the -std=gnu++11 flag for libstdc++ static and
  dynamic libs.

  ScopeGuard uses DISABLE_ macros instead of '= delete';

Change-Id: I07e21b306f95fffd49345f7fa136cfdac61e0225
2014-09-08 17:51:31 -07:00
Dmitriy Ivanov
3c3624f3df Merge "Load libraries in breadth-first order" 2014-09-09 00:49:38 +00:00
Elliott Hughes
d7928dc803 am 5574335d: am 671f96cd: Merge "Ensure __set_errno is still visible on LP32."
* commit '5574335dc5f380b96aa1f93caeceeeb1bc69bbe2':
  Ensure __set_errno is still visible on LP32.
2014-09-09 00:11:52 +00:00
Elliott Hughes
4a454760b5 am e70e541e: am 201f36d2: Merge "Don\'t expose non-standard basename_r and dirname_r in LP64."
* commit 'e70e541e7f97ddef3c262bbd71a01710d9f57e65':
  Don't expose non-standard basename_r and dirname_r in LP64.
2014-09-09 00:11:52 +00:00
Elliott Hughes
5574335dc5 am 671f96cd: Merge "Ensure __set_errno is still visible on LP32."
* commit '671f96cd440d306dc2baf5e8631e927cd1aa759d':
  Ensure __set_errno is still visible on LP32.
2014-09-09 00:05:24 +00:00
Elliott Hughes
e70e541e7f am 201f36d2: Merge "Don\'t expose non-standard basename_r and dirname_r in LP64."
* commit '201f36d23bb778b29c8d305fa40a41990e0487bc':
  Don't expose non-standard basename_r and dirname_r in LP64.
2014-09-09 00:05:23 +00:00
Elliott Hughes
671f96cd44 Merge "Ensure __set_errno is still visible on LP32." 2014-09-08 23:47:53 +00:00
Elliott Hughes
011e111d29 Ensure __set_errno is still visible on LP32.
The use of the .hidden directive to avoid going via the PLT for
__set_errno had the side-effect of actually making __set_errno
hidden (which is odd because assembler directives don't usually
affect symbols defined in a different file --- you can't even
create a weak reference to a symbol that's defined in a different
file).

This change switches the system call stubs over to a new always-hidden
__set_errno_internal and has a visible __set_errno on LP32 just for
binary compatibility with old NDK apps.

(cherry-pick of 7efad83d430f4d824f2aaa75edea5106f6ff8aae.)

Bug: 17423135
Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
2014-09-08 16:46:50 -07:00
Elliott Hughes
201f36d23b Merge "Don't expose non-standard basename_r and dirname_r in LP64." 2014-09-08 23:46:04 +00:00
Elliott Hughes
cf5fc80c3e Don't expose non-standard basename_r and dirname_r in LP64.
(cherry-pick of f0e9458ea596227720fa745df15f5357f6c0c8f6.)

Bug: 17407423
Change-Id: I47fe499a4c396bf09d7b78fd828728d04777398b
2014-09-08 16:44:48 -07:00
Elliott Hughes
eeb13c6bdb am 938473a7: resolved conflicts for merge of 7efad83d to lmp-dev-plus-aosp
* commit '938473a7f031822d7449624f5844c07d23814422':
  Ensure __set_errno is still visible on LP32.
2014-09-08 23:32:32 +00:00
Elliott Hughes
938473a7f0 resolved conflicts for merge of 7efad83d to lmp-dev-plus-aosp
Change-Id: I3994c3c69e187e08d69642e097de14b5040c5b3b
2014-09-08 16:21:24 -07:00
Elliott Hughes
7efad83d43 Ensure __set_errno is still visible on LP32.
The use of the .hidden directive to avoid going via the PLT for
__set_errno had the side-effect of actually making __set_errno
hidden (which is odd because assembler directives don't usually
affect symbols defined in a different file --- you can't even
create a weak reference to a symbol that's defined in a different
file).

This change switches the system call stubs over to a new always-hidden
__set_errno_internal and has a visible __set_errno on LP32 just for
binary compatibility with old NDK apps.

Bug: 17423135
Change-Id: I6b6d7a05dda85f923d22e5ffd169a91e23499b7b
2014-09-08 15:36:21 -07:00
Dmitriy Ivanov
14669a939d Load libraries in breadth-first order
This patch fixes the problem with symbol search order
  for dlsym(RTLD_DEFAULT/RTLD_NEXT, .) by loading libraries
  and ld_preloads in correct order.

Bug: https://code.google.com/p/android/issues/detail?id=74255
Change-Id: If1ba5c807322409faa914e27ecb675e2c4541f0d
Attempt: 2
2014-09-08 13:02:50 -07:00
Elliott Hughes
b614b05942 am 2af51cac: Merge "resolved conflicts for merge of c8f6b82f to lmp-dev-plus-aosp" into lmp-dev-plus-aosp
* commit '2af51cacde8e8e15639352f96e46cbc9e9e6a4f6':
  Don't expose non-standard basename_r and dirname_r in LP64.
2014-09-08 18:52:42 +00:00
Elliott Hughes
347e873bfb am 6b779c6b: am 51c8355d: Add arc4random_addrandom binary compatibility.
* commit '6b779c6b61ec662f19f9ea30fd003c770799196c':
  Add arc4random_addrandom binary compatibility.
2014-09-08 18:52:42 +00:00
Elliott Hughes
2af51cacde Merge "resolved conflicts for merge of c8f6b82f to lmp-dev-plus-aosp" into lmp-dev-plus-aosp 2014-09-08 18:41:54 +00:00
Elliott Hughes
08df25419f resolved conflicts for merge of c8f6b82f to lmp-dev-plus-aosp
Change-Id: I03a4645eb5fbb54e41da25018729b270ba0ed48e
2014-09-08 11:41:30 -07:00
Elliott Hughes
6b779c6b61 am 51c8355d: Add arc4random_addrandom binary compatibility.
* commit '51c8355d5cf4b83ccd2ad250ca4c61a616356c2b':
  Add arc4random_addrandom binary compatibility.
2014-09-08 18:36:55 +00:00
Elliott Hughes
b03d3102c3 am ffa8672b: am d3d89f0d: Merge "Add arc4random_addrandom binary compatibility."
* commit 'ffa8672bd5722b9bb2f13dcabffb2814b2edd0ea':
  Add arc4random_addrandom binary compatibility.
2014-09-08 18:26:26 +00:00
Elliott Hughes
ffa8672bd5 am d3d89f0d: Merge "Add arc4random_addrandom binary compatibility."
* commit 'd3d89f0d28aba2db9f11cc0a9b3a865fa1d9d265':
  Add arc4random_addrandom binary compatibility.
2014-09-08 18:11:52 +00:00
Elliott Hughes
c8f6b82f87 Merge "Don't expose non-standard basename_r and dirname_r in LP64." into lmp-dev 2014-09-08 18:07:08 +00:00
Elliott Hughes
d3d89f0d28 Merge "Add arc4random_addrandom binary compatibility." 2014-09-08 17:53:04 +00:00
Elliott Hughes
fc829736e1 Add arc4random_addrandom binary compatibility.
This was in <stdlib.h> in older releases. It's no longer used, but we can
preserve backwards compatibility by making it a no-op.

(cherry-pick of 51c8355d5cf4b83ccd2ad250ca4c61a616356c2b.)

Bug: 16205834
Change-Id: Idde7b46df4f253e39675600bcf82352879a716e7
2014-09-08 10:52:28 -07:00
Elliott Hughes
51c8355d5c Add arc4random_addrandom binary compatibility.
This was in <stdlib.h> in older releases. It's no longer used, but we can
preserve backwards compatibility by making it a no-op.

Bug: 16205834
Change-Id: Idde7b46df4f253e39675600bcf82352879a716e7
2014-09-08 10:47:45 -07:00
Christopher Ferris
d790900d5f am 9e7abe2e: am b4673c41: Merge "Add dlmalloc_usable_size for 32 bit arches."
* commit '9e7abe2e60c16ca3ffb3d1839c040fe2c3d34551':
  Add dlmalloc_usable_size for 32 bit arches.
2014-09-06 20:37:54 +00:00
Christopher Ferris
9e7abe2e60 am b4673c41: Merge "Add dlmalloc_usable_size for 32 bit arches."
* commit 'b4673c41025f3a16804aff8438c2810c739a11ef':
  Add dlmalloc_usable_size for 32 bit arches.
2014-09-06 20:28:37 +00:00
Christopher Ferris
7f6006d232 am eb1dd673: am 47ed03f7: Merge "Add dlmalloc_usable_size for 32 bit arches." into lmp-dev
* commit 'eb1dd673ecb660a56c19a04697a14ed56db5eb91':
  Add dlmalloc_usable_size for 32 bit arches.
2014-09-06 20:24:21 +00:00
Christopher Ferris
b4673c4102 Merge "Add dlmalloc_usable_size for 32 bit arches." 2014-09-06 20:17:02 +00:00
Christopher Ferris
eb1dd673ec am 47ed03f7: Merge "Add dlmalloc_usable_size for 32 bit arches." into lmp-dev
* commit '47ed03f70c6c9addc7f05e4ee4dc71c96d215105':
  Add dlmalloc_usable_size for 32 bit arches.
2014-09-06 20:14:17 +00:00
Christopher Ferris
f903558446 Add dlmalloc_usable_size for 32 bit arches.
Bug: 17337831

(cherry picked from commit 1c365cb494d8cab1b639ecef21514425647e606b)

Change-Id: Ice100e42eeac4b9c3b77737a546ec33174adcb2f
2014-09-06 13:06:57 -07:00
Christopher Ferris
47ed03f70c Merge "Add dlmalloc_usable_size for 32 bit arches." into lmp-dev 2014-09-06 19:58:40 +00:00
Christopher Ferris
1c365cb494 Add dlmalloc_usable_size for 32 bit arches.
Bug: 17337831
Change-Id: I50c50559a5dfa083c85f064042bc0726718c988b
2014-09-05 18:37:30 -07:00
Ying Wang
dc787b75d5 am 455577d3: am e07b4da5: Merge "Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker."
* commit '455577d3ce64135fcb6ce33cd6d3c73b06189e40':
  Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker.
2014-09-06 00:10:28 +00:00
Dmitriy Ivanov
2f06081a97 am 2a0105f9: am 320a01d5: Merge "Revert "Load libraries in breadth-first order""
* commit '2a0105f95d91653626996fa3e8416bfcb41d3048':
  Revert "Load libraries in breadth-first order"
2014-09-06 00:10:28 +00:00
Ying Wang
455577d3ce am e07b4da5: Merge "Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker."
* commit 'e07b4da53ddcb34939c1b5a88db36dec34352add':
  Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker.
2014-09-05 23:58:08 +00:00
Dmitriy Ivanov
2a0105f95d am 320a01d5: Merge "Revert "Load libraries in breadth-first order""
* commit '320a01d51693408dad859094ca52e5f315ff1d15':
  Revert "Load libraries in breadth-first order"
2014-09-05 23:58:07 +00:00
Ying Wang
e07b4da53d Merge "Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker." 2014-09-05 23:41:25 +00:00
Dmitriy Ivanov
fa0f9cc9f1 am 4a4dc7b3: am b3ebfecd: Merge "Fix order of soinfo links (repairs libcxx tests)."
* commit '4a4dc7b37c3a26a349d771755fb8bfb0ba4a05c9':
  Fix order of soinfo links (repairs libcxx tests).
2014-09-05 23:38:02 +00:00
Dmitriy Ivanov
320a01d516 Merge "Revert "Load libraries in breadth-first order"" 2014-09-05 23:36:22 +00:00
Dmitriy Ivanov
498eb18b82 Revert "Load libraries in breadth-first order"
This reverts commit a3ad450a2e3fb6b3fe359683b247eba20896f646.

Change-Id: Ia2b838ad2159c643b80c514849582f4b4f4f40e5
2014-09-05 16:27:54 -07:00
Dmitriy Ivanov
4a4dc7b37c am b3ebfecd: Merge "Fix order of soinfo links (repairs libcxx tests)."
* commit 'b3ebfecdae05e29062bf4d0234239a54a2733ce0':
  Fix order of soinfo links (repairs libcxx tests).
2014-09-05 23:27:30 +00:00
Ying Wang
f9e147b0bf Use LOCAL_POST_LINK_CMD to insert the objcopy command for linker.
Previously we duplicated code in build/core/executable.mk and it's hard
to maintain. LOCAL_POST_LINK_CMD is a clean solution for this.

Bug: 17403674
Change-Id: I8c054bf782af68cf1f88b8d787a78ca74a7968b5
2014-09-05 16:16:35 -07:00
Elliott Hughes
f0e9458ea5 Don't expose non-standard basename_r and dirname_r in LP64.
Bug: 17407423
Change-Id: I47fe499a4c396bf09d7b78fd828728d04777398b
2014-09-05 16:12:42 -07:00
Dmitriy Ivanov
b3ebfecdae Merge "Fix order of soinfo links (repairs libcxx tests)." 2014-09-05 23:11:19 +00:00
Dmitriy Ivanov
b2a30ee8d2 Fix order of soinfo links (repairs libcxx tests).
Change-Id: Iee9de09657351cd6a7512784ca797e4b84cdd98b
2014-09-05 16:01:47 -07:00
Chih-Hung Hsieh
6d4d735ae5 am 1325d50c: am 8adace5f: Merge "Enable clang compilation with libc but not linker."
* commit '1325d50c721717032bce940554e21f0cc28c08e5':
  Enable clang compilation with libc but not linker.
2014-09-05 19:21:38 +00:00
Chih-Hung Hsieh
1325d50c72 am 8adace5f: Merge "Enable clang compilation with libc but not linker."
* commit '8adace5f2c185bd616f79159eaf90d2982157069':
  Enable clang compilation with libc but not linker.
2014-09-05 19:11:06 +00:00
Chih-Hung Hsieh
8adace5f2c Merge "Enable clang compilation with libc but not linker." 2014-09-05 18:54:48 +00:00
Chih-Hung Hsieh
b58db8b083 Enable clang compilation with libc but not linker.
Clang is still disabled for x86 and x86_64 long double code,
for x86_64 special assembly instruction, and the linker module.

BUG: 17163651
BUG: 17302991
BUG: 17403674
Change-Id: I43c5f5f0ddc0c2a31918f00b57150dadd8f3f26b
2014-09-05 11:18:35 -07:00
Elliott Hughes
911b47f684 am 3fd8eee5: am 5beddb7d: Fix pthread_attr_getstack__main_thread.
* commit '3fd8eee516e9376351c0c06af47154765f1ca647':
  Fix pthread_attr_getstack__main_thread.
2014-09-05 15:43:29 +00:00
Elliott Hughes
3fd8eee516 am 5beddb7d: Fix pthread_attr_getstack__main_thread.
* commit '5beddb7d642524ecb6655ab2823caf2add679917':
  Fix pthread_attr_getstack__main_thread.
2014-09-05 15:32:44 +00:00
Elliott Hughes
5beddb7d64 Fix pthread_attr_getstack__main_thread.
There were two problems here:

* This would fail when run with unlimited stack, because it didn't know
  that bionic reports unlimited stacks as 8MiB.

* This would leave RLIMIT_STACK small, causing failures to exec (so the
  popen and system tests would fail).

(cherry-pick of 27a9aed81978af792cb06035a1619c8141a5fb5b plus the
new ScopeGuard.h from a3ad450a2e3fb6b3fe359683b247eba20896f646.)

Bug: 17394276
Change-Id: I5b92dc64ca089400223b2d9a3743e9b9d57c1bc2
2014-09-04 20:34:03 -07:00
Dmitriy Ivanov
feb717abdd am b7f09d06: am 001815ed: Merge "Reset enviroment for math_tests"
* commit 'b7f09d065473adf6b504ccb08f0b0d25c09e70b4':
  Reset enviroment for math_tests
2014-09-05 02:33:04 +00:00
Dmitriy Ivanov
b7f09d0654 am 001815ed: Merge "Reset enviroment for math_tests"
* commit '001815ed197280409d08e9622890e7462c6e6831':
  Reset enviroment for math_tests
2014-09-05 02:21:28 +00:00
Dmitriy Ivanov
001815ed19 Merge "Reset enviroment for math_tests" 2014-09-05 01:56:44 +00:00
Dmitriy Ivanov
7b956ede3f Reset enviroment for math_tests
Bug: 17390824
Change-Id: I42f4c8d9199a2efe7641f0b0e64580cacb5695da
2014-09-04 18:38:21 -07:00
Elliott Hughes
32f8fef668 am 5c5bb4d0: am aca9cae3: Merge "Fix pthread_attr_getstack__main_thread."
* commit '5c5bb4d04ea5221088b0b3cdb63225237c1ff11a':
  Fix pthread_attr_getstack__main_thread.
2014-09-04 23:46:35 +00:00
Elliott Hughes
d3e1b1c59c am fc8f246a: am c74a7680: Merge "Fix mips signed/unsigned signal_test.cpp build breakage."
* commit 'fc8f246a49240b6fc7ed0d83a971219989fd290a':
  Fix mips signed/unsigned signal_test.cpp build breakage.
2014-09-04 23:36:33 +00:00
Dmitriy Ivanov
ff5a8672e1 am 4effe38a: am 44352f5f: Merge "Revert "Register __libc_fini as early as possible.""
* commit '4effe38ae68170539869753aa77855807ed4b970':
  Revert "Register __libc_fini as early as possible."
2014-09-04 23:36:32 +00:00
Dmitriy Ivanov
ec6099ec64 am 24d40f2d: am c0cd9ce5: Merge "Revert "Fix arm64 build""
* commit '24d40f2df06fc5fafd938bd828ba7c9e264c2a0d':
  Revert "Fix arm64 build"
2014-09-04 23:36:32 +00:00
Elliott Hughes
5c5bb4d04e am aca9cae3: Merge "Fix pthread_attr_getstack__main_thread."
* commit 'aca9cae30972ba2cd7a1158520dccd83b056513c':
  Fix pthread_attr_getstack__main_thread.
2014-09-04 23:33:50 +00:00
Elliott Hughes
fc8f246a49 am c74a7680: Merge "Fix mips signed/unsigned signal_test.cpp build breakage."
* commit 'c74a7680a409cd9f0cd3847b59e20ac16ad05806':
  Fix mips signed/unsigned signal_test.cpp build breakage.
2014-09-04 23:22:50 +00:00
Dmitriy Ivanov
4effe38ae6 am 44352f5f: Merge "Revert "Register __libc_fini as early as possible.""
* commit '44352f5f7f06ff9383d695b0a7d4243f5268f430':
  Revert "Register __libc_fini as early as possible."
2014-09-04 23:22:37 +00:00
Dmitriy Ivanov
24d40f2df0 am c0cd9ce5: Merge "Revert "Fix arm64 build""
* commit 'c0cd9ce5df753161aabb393420a8ada8f369b551':
  Revert "Fix arm64 build"
2014-09-04 23:22:37 +00:00
Elliott Hughes
aca9cae309 Merge "Fix pthread_attr_getstack__main_thread." 2014-09-04 23:20:53 +00:00
Elliott Hughes
27a9aed819 Fix pthread_attr_getstack__main_thread.
There were two problems here:

* This would fail when run with unlimited stack, because it didn't know
  that bionic reports unlimited stacks as 8MiB.

* This would leave RLIMIT_STACK small, causing failures to exec (so the
  popen and system tests would fail).

Change-Id: I5b92dc64ca089400223b2d9a3743e9b9d57c1bc2
2014-09-04 16:09:25 -07:00
Elliott Hughes
c74a7680a4 Merge "Fix mips signed/unsigned signal_test.cpp build breakage." 2014-09-04 22:48:16 +00:00
Elliott Hughes
aa13e839f0 Fix mips signed/unsigned signal_test.cpp build breakage.
Change-Id: I045ce017c0c51e1843193759a2eb6fc5b93e3867
2014-09-04 15:43:10 -07:00
Elliott Hughes
32db68c510 am ac5c1119: am 05f0bfd6: Merge "Don\'t mask out SA_RESTORER from sa_flags."
* commit 'ac5c111924097387499f6163cf3bf2275690de9b':
  Don't mask out SA_RESTORER from sa_flags.
2014-09-04 22:33:01 +00:00
Chih-Hung Hsieh
3e8c441de9 am 020ccc3c: am 4ee7c325: Merge "Disable Clang, due to x86 LDBL_MANT_DIG errors."
* commit '020ccc3c75866ccf333c4a6ebf279002ead371de':
  Disable Clang, due to x86 LDBL_MANT_DIG errors.
2014-09-04 22:33:01 +00:00
Elliott Hughes
ac5c111924 am 05f0bfd6: Merge "Don\'t mask out SA_RESTORER from sa_flags."
* commit '05f0bfd6c56746aa4f737804ebb62b555dc0d921':
  Don't mask out SA_RESTORER from sa_flags.
2014-09-04 22:20:50 +00:00
Chih-Hung Hsieh
020ccc3c75 am 4ee7c325: Merge "Disable Clang, due to x86 LDBL_MANT_DIG errors."
* commit '4ee7c325df9662b344304f207faf73cc9c3b735c':
  Disable Clang, due to x86 LDBL_MANT_DIG errors.
2014-09-04 22:20:48 +00:00
Dmitriy Ivanov
44352f5f7f Merge "Revert "Register __libc_fini as early as possible."" 2014-09-04 21:55:59 +00:00
Dmitriy Ivanov
c0cd9ce5df Merge "Revert "Fix arm64 build"" 2014-09-04 21:55:55 +00:00
Dmitriy Ivanov
4b41555ba5 Revert "Register __libc_fini as early as possible."
This reverts commit e880c736d6c1d947f6309d5f1f63c74e8345c6a6.

Change-Id: Ide83e442eb5dbfef5298a15bc602c3fe1dda1862
2014-09-04 21:54:34 +00:00
Dmitriy Ivanov
f0d8970435 Revert "Fix arm64 build"
This reverts commit 5c1a7fdbd5a085024019b4c9307d2b2ace35df5e.

Change-Id: Ia5fea0d6a8f59700edce0742e2271b5f02a5d87c
2014-09-04 21:53:14 +00:00
Elliott Hughes
05f0bfd6c5 Merge "Don't mask out SA_RESTORER from sa_flags." 2014-09-04 21:03:34 +00:00
Elliott Hughes
afe58ad989 Don't mask out SA_RESTORER from sa_flags.
glibc doesn't do this, and we probably shouldn't either.

Bug: 16703540
Change-Id: Id5b93c3782e34024a9916463348e8f3caff191bf
2014-09-04 13:54:42 -07:00
Chih-Hung Hsieh
4ee7c325df Merge "Disable Clang, due to x86 LDBL_MANT_DIG errors." 2014-09-04 20:44:34 +00:00
Chih-Hung Hsieh
356a6249d8 Disable Clang, due to x86 LDBL_MANT_DIG errors.
Clang -m32 has incorrect sizeof(long double) = 12.
With -m64, LDBL_MANT_DIG is incorrect 64.

BUG: 17163651
Change-Id: I4b157aa1a8572c3a10aece6070e119a292ab8e83
2014-09-04 12:35:19 -07:00
Elliott Hughes
60a46deba3 am 32dc56a1: am 071bed80: Merge "_GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE."
* commit '32dc56a1ca57b7ea904fe9fd2c0ef43b544561f5':
  _GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE.
2014-09-04 17:24:01 +00:00
Elliott Hughes
32dc56a1ca am 071bed80: Merge "_GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE."
* commit '071bed8091cab4e070a1f5e6b2eb0dd1141f0498':
  _GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE.
2014-09-04 17:16:01 +00:00
Elliott Hughes
071bed8091 Merge "_GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE." 2014-09-04 17:02:10 +00:00
Elliott Hughes
fc8974b7aa _GNU_SOURCE implies _BSD_SOURCE and the latest _POSIX_C_SOURCE.
This showed up as open_memstream not being visible in <stdio.h>
if only _GNU_SOURCE was defined.

Bug: 17361504
Change-Id: I38f9843f4e6ee770a6325ad50f779bda5495ffca
2014-09-04 08:53:16 -07:00
Dmitriy Ivanov
eb5009617d am 04ecc77d: am 1737b159: Merge "Load libraries in breadth-first order"
* commit '04ecc77df663d9a0b55e5b2e503657b5ad3a75e6':
  Load libraries in breadth-first order
2014-09-04 02:09:52 +00:00
Dmitriy Ivanov
04ecc77df6 am 1737b159: Merge "Load libraries in breadth-first order"
* commit '1737b159374468a21859d97d8be70a726af0ec9e':
  Load libraries in breadth-first order
2014-09-04 01:48:48 +00:00
Dmitriy Ivanov
1737b15937 Merge "Load libraries in breadth-first order" 2014-09-04 00:59:23 +00:00
Elliott Hughes
3333a8b2f4 am 40acbd69: am 1e010d60: Add back a dummy arc4random_stir for compatibility.
* commit '40acbd6904ef56b7a8d13904a37cf78b39763fe3':
  Add back a dummy arc4random_stir for compatibility.
2014-09-04 00:16:06 +00:00
Dmitriy Ivanov
d9b342498d am f851d60c: am 8f3b8f52: Merge "Fix arm64 build"
* commit 'f851d60c13899773f9b0f5a1296f1ebd2cf99b59':
  Fix arm64 build
2014-09-03 23:55:38 +00:00
Elliott Hughes
621fc3b046 am d05ad930: am 58bb54c3: Merge "Add back a dummy arc4random_stir for compatibility."
* commit 'd05ad93003aa3ebbf87aa040ee8eb93396b80fd6':
  Add back a dummy arc4random_stir for compatibility.
2014-09-03 23:55:37 +00:00
Elliott Hughes
40acbd6904 am 1e010d60: Add back a dummy arc4random_stir for compatibility.
* commit '1e010d60397db706cd3d1c4d5701a2bced441aa8':
  Add back a dummy arc4random_stir for compatibility.
2014-09-03 23:49:36 +00:00
Dmitriy Ivanov
f851d60c13 am 8f3b8f52: Merge "Fix arm64 build"
* commit '8f3b8f523ed594b48d28ca0b9a2651d209f29e26':
  Fix arm64 build
2014-09-03 23:47:01 +00:00
Elliott Hughes
d05ad93003 am 58bb54c3: Merge "Add back a dummy arc4random_stir for compatibility."
* commit '58bb54c38bf31fa5cdad8ddbdc44bbed04aaf0cf':
  Add back a dummy arc4random_stir for compatibility.
2014-09-03 23:47:00 +00:00
Dmitriy Ivanov
8f3b8f523e Merge "Fix arm64 build" 2014-09-03 23:36:35 +00:00
Elliott Hughes
58bb54c38b Merge "Add back a dummy arc4random_stir for compatibility." 2014-09-03 23:34:05 +00:00
Dmitriy Ivanov
5c1a7fdbd5 Fix arm64 build
Bug: 14611536
Change-Id: I4f7f4d1f5c0a37ef38fa0956778393f8d7668512
2014-09-03 16:33:08 -07:00
Elliott Hughes
5dea47221a Add back a dummy arc4random_stir for compatibility.
The current arc4random implementation stirs itself as needed, but we
need to keep an arc4random_stir symbol around for binary compatibility.

(cherry-pick of 1e010d60397db706cd3d1c4d5701a2bced441aa8.)

Bug: 17291075
Change-Id: Iaf6171c3ec65c39c1868364d5b35ea280e29a363
2014-09-03 16:30:22 -07:00
Elliott Hughes
1e010d6039 Add back a dummy arc4random_stir for compatibility.
The current arc4random implementation stirs itself as needed, but we
need to keep an arc4random_stir symbol around for binary compatibility.

Bug: 17291075
Change-Id: Iaf6171c3ec65c39c1868364d5b35ea280e29a363
2014-09-03 15:53:11 -07:00
Dmitriy Ivanov
af9b0c4dab am bd00ae89: am 450aaa01: Merge "Register __libc_fini as early as possible."
* commit 'bd00ae89921e3715ddbf89a1aac069347e5cf3d4':
  Register __libc_fini as early as possible.
2014-09-03 22:49:59 +00:00
Dmitriy Ivanov
bd00ae8992 am 450aaa01: Merge "Register __libc_fini as early as possible."
* commit '450aaa018df19464cb4e01ea3059a2a075ebde52':
  Register __libc_fini as early as possible.
2014-09-03 22:44:15 +00:00
Dmitriy Ivanov
43ecbc8520 am 40412333: am 8da304b9: Merge "Make string tests check all alignment combinations"
* commit '40412333b42910e3edde20072aaf32afe3aaca7f':
  Make string tests check all alignment combinations
2014-09-03 22:38:53 +00:00
Dmitriy Ivanov
450aaa018d Merge "Register __libc_fini as early as possible." 2014-09-03 22:29:59 +00:00
Dmitriy Ivanov
40412333b4 am 8da304b9: Merge "Make string tests check all alignment combinations"
* commit '8da304b997bc0f81ebb30fadc79249fafc1c6fce':
  Make string tests check all alignment combinations
2014-09-03 22:29:23 +00:00
Dmitriy Ivanov
e880c736d6 Register __libc_fini as early as possible.
We want __libc_fini to be called after all the destructors.

Bug: 14611536
Change-Id: Ibb83a94436795ec178fd605fa531ac29608f4a3e
2014-09-03 15:27:29 -07:00
Dmitriy Ivanov
8da304b997 Merge "Make string tests check all alignment combinations" 2014-09-03 22:08:57 +00:00
Dmitriy Ivanov
a3ad450a2e Load libraries in breadth-first order
This patch fixes the problem with symbol search order
  for dlsym(RTLD_DEFAULT/RTLD_NEXT, .) by loading libraries
  and ld_preloads in correct order.

Bug: https://code.google.com/p/android/issues/detail?id=74255
Change-Id: I4cf84c70dbaabe99310230dfda12385ae5401859
2014-09-03 15:06:14 -07:00
Dan Albert
77ed51e266 am c71129a4: am 28f17701: Merge "Don\'t fail a test just because we aren\'t root."
* commit 'c71129a4e82211bc2db62ea10311548da5e2c20f':
  Don't fail a test just because we aren't root.
2014-09-03 20:09:51 +00:00
Dan Albert
c71129a4e8 am 28f17701: Merge "Don\'t fail a test just because we aren\'t root."
* commit '28f1770101d84153e100ad7bc0628b4ef3b6e85c':
  Don't fail a test just because we aren't root.
2014-09-03 19:59:14 +00:00
Dan Albert
28f1770101 Merge "Don't fail a test just because we aren't root." 2014-09-03 18:37:11 +00:00
Dan Albert
69fb9f3f40 Don't fail a test just because we aren't root.
If the tests are not being run as root, emit a message and don't
continue with the test.

Change-Id: I352e1a4162caaeb18b81b8daf44797009756dcd9
2014-09-03 11:30:21 -07:00
Elliott Hughes
cf9c3aec2b am ce19b10f: am cb093d1f: Merge "Upgrade bionic to tzdata2014g." into lmp-dev
* commit 'ce19b10f5f9db0e73d911faa3ce35ddd2b0837bf':
  Upgrade bionic to tzdata2014g.
2014-09-03 09:12:52 +00:00
Hans Boehm
fd77e895ac am 5c2c5443: am 9ac60bf8: Make stdatomic.h work with gcc4.6 host compiler
* commit '5c2c5443823e30bfb02394f4fc2da06a74bd58df':
  Make stdatomic.h work with gcc4.6 host compiler
2014-09-03 09:12:51 +00:00
Andreas Gampe
4e092df34a am c16f0486: resolved conflicts for merge of 2b10e2f1 to lmp-dev-plus-aosp
* commit 'c16f0486fca0df1125cc381d3f4ef3b652d72d29':
  Undefine _Atomic before redefining
2014-09-03 09:12:50 +00:00
Elliott Hughes
ce19b10f5f am cb093d1f: Merge "Upgrade bionic to tzdata2014g." into lmp-dev
* commit 'cb093d1f55701da419d1013cc3e6fbb8aea3e957':
  Upgrade bionic to tzdata2014g.
2014-09-03 05:07:24 +00:00
Hans Boehm
5c2c544382 am 9ac60bf8: Make stdatomic.h work with gcc4.6 host compiler
* commit '9ac60bf82b1f0e316666b862e9924f90caa60342':
  Make stdatomic.h work with gcc4.6 host compiler
2014-09-03 05:07:24 +00:00
Dmitriy Ivanov
763d17e22f am 69fde6b4: am 3b10ba6f: Merge "Add some missing dlclose(.)"
* commit '69fde6b4a7c7674c8bbc8fba0b82bcc25fdf0539':
  Add some missing dlclose(.)
2014-09-03 05:04:25 +00:00
Dan Albert
6df7c2c80a am f3ba9f71: am c7de9191: Merge "Start math tests with a clean fenv."
* commit 'f3ba9f7171021417a0b6373ecf52136fb5cc9a76':
  Start math tests with a clean fenv.
2014-09-03 05:04:20 +00:00
Dan Albert
7681554de8 am 95742d36: am 847e52b9: Merge "Prevent a few test pthread keys from leaking."
* commit '95742d36038b459704bdd32e22df35956b5aca0d':
  Prevent a few test pthread keys from leaking.
2014-09-03 05:04:17 +00:00
Hans Boehm
cd7f163176 am e8d77291: resolved conflicts for merge of c8cf3513 to lmp-dev-plus-aosp
* commit 'e8d77291670ad435491a08f6c3d83881063e2e12':
  Fix, generalize stdatomic.h; improve test.
2014-09-03 05:04:16 +00:00
Elliott Hughes
6d84bc4c43 am 6c696754: am ec95a9cf: Merge "MIPS64 syscall() arguments"
* commit '6c69675423f3375ba4d9dadfaf9502a15576158c':
  MIPS64 syscall() arguments
2014-09-03 05:03:49 +00:00
Andreas Gampe
c16f0486fc resolved conflicts for merge of 2b10e2f1 to lmp-dev-plus-aosp
Change-Id: Ia41583773abbbe1f52d72d1e7f4b925e621d28ff
2014-09-02 22:02:48 -07:00
Dmitriy Ivanov
69fde6b4a7 am 3b10ba6f: Merge "Add some missing dlclose(.)"
* commit '3b10ba6f1b743ddced32474891ff6d1cb83c027a':
  Add some missing dlclose(.)
2014-09-03 01:08:16 +00:00
Dmitriy Ivanov
3b10ba6f1b Merge "Add some missing dlclose(.)" 2014-09-03 00:36:22 +00:00
Dmitriy Ivanov
319356e39c Add some missing dlclose(.)
Bug: 17358010
Change-Id: I9e427b7681f1a8fe890b0b47812d9e65ab95c792
2014-09-02 17:31:44 -07:00
Dan Albert
f3ba9f7171 am c7de9191: Merge "Start math tests with a clean fenv."
* commit 'c7de919129098bac259f66f973888b1814ae0d1a':
  Start math tests with a clean fenv.
2014-09-02 23:35:33 +00:00
Dan Albert
c7de919129 Merge "Start math tests with a clean fenv." 2014-09-02 23:11:42 +00:00
Dan Albert
95742d3603 am 847e52b9: Merge "Prevent a few test pthread keys from leaking."
* commit '847e52b9b7bca9dee20e33d1006dfc23885e7494':
  Prevent a few test pthread keys from leaking.
2014-09-02 23:02:57 +00:00
Dan Albert
6676a7d4ee Start math tests with a clean fenv.
We always want the default floating point environment when running these
tests.

Bug: 17358010
Change-Id: I6ca2552e9f2d3e07d7b9dcaf0aec66905401c466
2014-09-02 16:00:10 -07:00
Dan Albert
847e52b9b7 Merge "Prevent a few test pthread keys from leaking." 2014-09-02 22:43:18 +00:00
Hans Boehm
e8d7729167 resolved conflicts for merge of c8cf3513 to lmp-dev-plus-aosp
Change-Id: If1181e3496d0309eebbaa1f1d2696269e61c64bc
2014-09-02 15:24:33 -07:00
Dan Albert
1d53ae2a01 Prevent a few test pthread keys from leaking.
Bug: 17358010
Change-Id: Ie718dc215ddfd431650295a1630c1b1716760c3d
2014-09-02 15:24:26 -07:00
Elliott Hughes
cb093d1f55 Merge "Upgrade bionic to tzdata2014g." into lmp-dev 2014-09-02 21:39:03 +00:00
Elliott Hughes
6c69675423 am ec95a9cf: Merge "MIPS64 syscall() arguments"
* commit 'ec95a9cf11f7c4d2211c61da7ce05262a54409d1':
  MIPS64 syscall() arguments
2014-09-02 21:18:55 +00:00
Elliott Hughes
ec95a9cf11 Merge "MIPS64 syscall() arguments" 2014-09-02 20:53:31 +00:00
Dmitriy Ivanov
32ef431b6c am a1d14f62: am 86f594b1: Merge "Encapsulate soinfo_link_image and soinfo_relocate"
* commit 'a1d14f62f6efb78dbb601c0c2be79a036da05854':
  Encapsulate soinfo_link_image and soinfo_relocate
2014-09-02 19:53:32 +00:00
Dmitriy Ivanov
a1d14f62f6 am 86f594b1: Merge "Encapsulate soinfo_link_image and soinfo_relocate"
* commit '86f594b19bc51ffe87bfacb6b42687af94c3c648':
  Encapsulate soinfo_link_image and soinfo_relocate
2014-09-02 19:45:29 +00:00
Chris Dearman
296895f1a9 MIPS64 syscall() arguments
The seventh argument for syscall is passed in a register, not on the stack

Change-Id: Idb69fac77d1f710cff5a3ab4ae1259feb61ae69d
2014-09-02 12:41:01 -07:00
Dmitriy Ivanov
86f594b19b Merge "Encapsulate soinfo_link_image and soinfo_relocate" 2014-09-02 19:25:09 +00:00
Dmitriy Ivanov
29bbc9dd4c Encapsulate soinfo_link_image and soinfo_relocate
Also get rid of needed[] array for these functions

Change-Id: I8d12887dbec0724309bb171e6bbd9b9ceb32cc70
2014-09-02 11:47:23 -07:00
Elliott Hughes
299647b814 am a5d70a4b: am 4625dd75: Merge "Upgrade bionic to tzdata2014g."
* commit 'a5d70a4b15c3c6a7eddd2a4593ad28fa8846f383':
  Upgrade bionic to tzdata2014g.
2014-09-02 18:42:28 +00:00
Hans Boehm
9ac60bf82b Make stdatomic.h work with gcc4.6 host compiler
This is needed to make L work correctly, and bionic tests pass
again, after applying the equivalent of
commit 00aaea364501b3b0abe58dae461136159df1e356 there.

It makes the preexisting code that uses __sync implementations
much more useful, although we should no longer be exercising that
code in AOSP.

Specifically fixes:

We were invoking __has_extension and __has_builtin for GCC compilations.
They're clang specific. Restructured the tests.

The __sync implementation was not defining the LOCK_FREE macros.

ATOMIC_VAR_INIT was using named field initializations.  These are a
C, not C++, feature, that is not supported by g++ 4.6.

The stdatomic bionic test still failed with 4.6 and glibc with our
questionable LOCK_FREE macro implementation.  Don't run that piece
with 4.6.

In L, this is a prerequisite for fixing:

    Bug:16880454
    Bug:16513433

Change-Id: I9b61e42307f96a114dce7552b6ead4ad1c544eab
(cherry picked from commit 32429606bf696d3b2ca555f132a0d60c566d0bd0)
2014-09-02 11:37:02 -07:00
Elliott Hughes
b519ea4903 Upgrade bionic to tzdata2014g.
From the release notes:

  Changes affecting future time stamps

    Turks & Caicos is switching from US eastern time to UTC-4 year-round,
    modeled as a switch from EST/EDT to AST on 2014-11-02 at 02:00.

  Changes affecting past time stamps

    Time in Russia or the USSR before 1926 or so has been corrected by
    a few seconds in the following zones: Asia/Irkutsk,
    Asia/Krasnoyarsk, Asia/Omsk, Asia/Samarkand, Asia/Tbilisi,
    Asia/Vladivostok, Asia/Yakutsk, Europe/Riga, Europe/Samara.  For
    Asia/Yekaterinburg the correction is a few minutes.  (Thanks to
    Vladimir Karpinsky.)

    The Portuguese decree of 1911-05-26 took effect on 1912-01-01.
    This affects 1911 time stamps in Africa/Bissau, Africa/Luanda,
    Atlantic/Azores, and Atlantic/Madeira.  Also, Lisbon's pre-1912
    GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32.
    (Thanks to Stephen Colebourne for pointing to the decree.)

    Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.

    A new file 'backzone' contains data which may appeal to
    connoisseurs of old time stamps, although it is out of scope for
    the tz database, is often poorly sourced, and contains some data
    that is known to be incorrect.  The new file is not recommended
    for ordinary use and its entries are not installed by default.
    (Thanks to Lester Caine for the high-quality Jersey, Guernsey, and
    Isle of Man entries.)

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: Africa/Bangui, Africa/Brazzaville,
    Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda,
    Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo.

Bug: 17277574

(cherry picked from commit 9685c30a2375635f7410e60eff2f0559f7e84df6)

Change-Id: I6120be3a0ec76af2d07ca6f9ea6f83d81d215803
2014-09-02 11:33:16 -07:00
Elliott Hughes
a5d70a4b15 am 4625dd75: Merge "Upgrade bionic to tzdata2014g."
* commit '4625dd751e5f7beb0a9b8ec6a768fc7a2c36367a':
  Upgrade bionic to tzdata2014g.
2014-09-02 18:29:15 +00:00
Dmitriy Ivanov
15a52d7944 am 23fa71f7: am e057b9fc: Merge "Introduce size-based r/w allocators"
* commit '23fa71f7ca7096a25fd0d603061c861e410eb817':
  Introduce size-based r/w allocators
2014-09-02 17:57:20 +00:00
Elliott Hughes
4625dd751e Merge "Upgrade bionic to tzdata2014g." 2014-09-02 17:57:10 +00:00
Dmitriy Ivanov
7b3328a106 am 80ecaf33: am 4cafa3ce: Merge "Implement LinkedList::visit()"
* commit '80ecaf331e16530179f91db565a8862a8a55f3b1':
  Implement LinkedList::visit()
2014-09-02 17:57:07 +00:00
Dmitriy Ivanov
39f5554fe2 am e47b9949: am 5120bcf9: Merge "Look into ld_preloads before current library"
* commit 'e47b994975e8d21c517082914ab3c72afd5cee55':
  Look into ld_preloads before current library
2014-09-02 17:39:37 +00:00
Dmitriy Ivanov
a3dddd9ead am e4c4311f: resolved conflicts for merge of c191a8ad to lmp-dev-plus-aosp
* commit 'e4c4311f4402d8f470b91500acf140baa7c4aa47':
  Look into ld_preloads before current library
2014-09-02 17:39:36 +00:00
Dmitriy Ivanov
29dfcfda4b am a20e37f2: am 11387985: Merge "Erase elements in LinkedList::remove_if"
* commit 'a20e37f291957749091ee3a4f30b35a8d4d5a3f3':
  Erase elements in LinkedList::remove_if
2014-09-02 17:39:36 +00:00
Dmitriy Ivanov
23fa71f7ca am e057b9fc: Merge "Introduce size-based r/w allocators"
* commit 'e057b9fc82e1674198738ff2fdd4eb70c645bf9e':
  Introduce size-based r/w allocators
2014-09-02 17:35:37 +00:00
Elliott Hughes
4eac5ecf2b am 1a96db3e: resolved conflicts for merge of b2eb09a9 to lmp-dev-plus-aosp
* commit '1a96db3e8ea0b2a488a068c6f46f7e7ca2e5fc96':
  Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
2014-09-02 17:34:14 +00:00
Hans Boehm
af09e0337e am 94ea04c5: am e505cc66: Merge "Make stdatomic.h work with gcc4.6 host compiler"
* commit '94ea04c50ac3ca59245999bfe302066e8b5c1c84':
  Make stdatomic.h work with gcc4.6 host compiler
2014-09-02 17:33:33 +00:00
Hans Boehm
2b10e2f122 Undefine _Atomic before redefining
Stdatomic.h was potentially redefining _Atomic, in spite of a
prior definition by <atomic>.  This could cause g++ builds that
included <stdatomic.h> with an available <atomic> header to break.

A functional stdatomic.h is a prerequisite for fixing the
following bugs.  This is the middle of 3 AOSP updates to
bionics stdatomic.h that are needded to get there.

Bug:16880454
Bug:16513433

Change-Id: I562c7115118c0587d594d4d5b62d25101e47bfd8
(cherry picked from commit 3e4a0099a179d7acee63d78c8fc4c3cc7b0bae42)
2014-09-02 10:32:34 -07:00
Hans Boehm
c8cf3513ec Fix, generalize stdatomic.h; improve test.
We seem to use this stdatomic.h sometimes, and slightly different prebuilts
at other times, making them all difficult to test, and making it unclear
which one we're testing.  This generalizes the bionic header so that it
can be used directly as the prebuilt header as well.  So long as they
don't diverge again, that should somewhat improve test coverage.

Use the correct builtin for atomic_is_lock_free.

Fix atomic_flag_init.

Turn on atomic tests even with __GLIBC__, since they now appear to pass.

Include uchar.h in stdatomic.h where needed.

Add a basic memory ordering test.

Fix bit-rotted comments in bionic tests makefile.

Prerequisite for fixing b/16880454 and

Bug:16513433

Change-Id: If6a14c1075b379395ba5d93357d56025c0ffab68
(cherry picked from commit 00aaea364501b3b0abe58dae461136159df1e356)
2014-09-02 10:32:33 -07:00
Dmitriy Ivanov
e057b9fc82 Merge "Introduce size-based r/w allocators" 2014-09-02 17:21:51 +00:00
Dmitriy Ivanov
80ecaf331e am 4cafa3ce: Merge "Implement LinkedList::visit()"
* commit '4cafa3ce808419325eefbb8013d21a919e2aabda':
  Implement LinkedList::visit()
2014-09-02 17:15:38 +00:00
Dmitriy Ivanov
4cafa3ce80 Merge "Implement LinkedList::visit()" 2014-09-02 16:54:14 +00:00
Elliott Hughes
9685c30a23 Upgrade bionic to tzdata2014g.
From the release notes:

  Changes affecting future time stamps

    Turks & Caicos is switching from US eastern time to UTC-4 year-round,
    modeled as a switch from EST/EDT to AST on 2014-11-02 at 02:00.

  Changes affecting past time stamps

    Time in Russia or the USSR before 1926 or so has been corrected by
    a few seconds in the following zones: Asia/Irkutsk,
    Asia/Krasnoyarsk, Asia/Omsk, Asia/Samarkand, Asia/Tbilisi,
    Asia/Vladivostok, Asia/Yakutsk, Europe/Riga, Europe/Samara.  For
    Asia/Yekaterinburg the correction is a few minutes.  (Thanks to
    Vladimir Karpinsky.)

    The Portuguese decree of 1911-05-26 took effect on 1912-01-01.
    This affects 1911 time stamps in Africa/Bissau, Africa/Luanda,
    Atlantic/Azores, and Atlantic/Madeira.  Also, Lisbon's pre-1912
    GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32.
    (Thanks to Stephen Colebourne for pointing to the decree.)

    Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.

    A new file 'backzone' contains data which may appeal to
    connoisseurs of old time stamps, although it is out of scope for
    the tz database, is often poorly sourced, and contains some data
    that is known to be incorrect.  The new file is not recommended
    for ordinary use and its entries are not installed by default.
    (Thanks to Lester Caine for the high-quality Jersey, Guernsey, and
    Isle of Man entries.)

    Some more zones have been turned into links, when they differed
    from existing zones only for older time stamps.  As usual,
    these changes affect UTC offsets in pre-1970 time stamps only.
    Their old contents have been moved to the 'backzone' file.
    The affected zones are: Africa/Bangui, Africa/Brazzaville,
    Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda,
    Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo.

Bug: 17277574
Change-Id: Idff4a68e927d49bef1e787af534e1b23b5b8a7fb
2014-09-02 09:51:04 -07:00
Dmitriy Ivanov
a492605849 Implement LinkedList::visit()
Change-Id: Ibd9d133dddf1f2e6e65660e3cd2dacafcc0c84d9
2014-09-02 09:45:40 -07:00
Dmitriy Ivanov
0cd83ebb0e Introduce size-based r/w allocators
Change-Id: I75165fc392e5380124039e6db49b0f559c8a518e
2014-09-01 16:17:05 -07:00
Dmitriy Ivanov
e47b994975 am 5120bcf9: Merge "Look into ld_preloads before current library"
* commit '5120bcf9f11951bffd8ac595c2b70252ed4a4958':
  Look into ld_preloads before current library
2014-09-01 21:36:47 +00:00
Dmitriy Ivanov
e4c4311f44 resolved conflicts for merge of c191a8ad to lmp-dev-plus-aosp
Change-Id: I24dcf9701ebe3344796f757a596754cbefbf358a
2014-09-01 14:34:15 -07:00
Dmitriy Ivanov
a20e37f291 am 11387985: Merge "Erase elements in LinkedList::remove_if"
* commit '11387985d27f7d9794963779c69dcf0056bac43c':
  Erase elements in LinkedList::remove_if
2014-09-01 21:24:50 +00:00
Dmitriy Ivanov
5120bcf9f1 Merge "Look into ld_preloads before current library" 2014-09-01 21:16:42 +00:00
Dmitriy Ivanov
c2048944ff Look into ld_preloads before current library
Change lookup order during relocation so that
 ld_preloads always precede caller (unless caller
 is main executable).

 Asan needs this change in order to intercept libc->libc
 calls.

Bug: 15432753
(cherry picked from commit 05e190c093ad5b04691ed87100a711ef91f380b0)

Change-Id: I5bfb58e18015b1ec5b77842dbb37fb122fa1fd1a
2014-09-01 14:14:09 -07:00
Dmitriy Ivanov
c191a8adee Merge "Look into ld_preloads before current library" into lmp-dev 2014-09-01 21:08:55 +00:00
Dmitriy Ivanov
11387985d2 Merge "Erase elements in LinkedList::remove_if" 2014-09-01 21:06:32 +00:00
Elliott Hughes
d711fa3dee am e21a6242: am bbe06e0d: Merge "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc."
* commit 'e21a624269b198e82c1c9a102d36f1fa21b44f6b':
  Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
2014-09-01 11:25:55 +00:00
Dmitriy Ivanov
016c7e19da am e6f46bfb: am 83b637fa: Merge "Replace NULL with nullptr"
* commit 'e6f46bfb90123757aaa36a3be79b875e18a95c46':
  Replace NULL with nullptr
2014-09-01 11:25:50 +00:00
Elliott Hughes
1a96db3e8e resolved conflicts for merge of b2eb09a9 to lmp-dev-plus-aosp
Change-Id: I0208958d78d6d7bc8c41568aa9abee15605b951e
2014-08-30 22:30:48 -07:00
Hans Boehm
94ea04c50a am e505cc66: Merge "Make stdatomic.h work with gcc4.6 host compiler"
* commit 'e505cc66a6e03f4ba460de3500f8b272421482c1':
  Make stdatomic.h work with gcc4.6 host compiler
2014-08-30 01:25:10 +00:00
Hans Boehm
e505cc66a6 Merge "Make stdatomic.h work with gcc4.6 host compiler" 2014-08-30 00:49:51 +00:00
Dmitriy Ivanov
4bea498544 Erase elements in LinkedList::remove_if
Change-Id: I5119a78c73ffe780a81c53ab5ff0266d5c82d319
2014-08-29 17:09:24 -07:00
Hans Boehm
32429606bf Make stdatomic.h work with gcc4.6 host compiler
This is needed to make L work correctly, and bionic tests pass
again, after applying the equivalent of
commit 00aaea364501b3b0abe58dae461136159df1e356 there.

It makes the preexisting code that uses __sync implementations
much more useful, although we should no longer be exercising that
code in AOSP.

Specifically fixes:

We were invoking __has_extension and __has_builtin for GCC compilations.
They're clang specific. Restructured the tests.

The __sync implementation was not defining the LOCK_FREE macros.

ATOMIC_VAR_INIT was using named field initializations.  These are a
C, not C++, feature, that is not supported by g++ 4.6.

The stdatomic bionic test still failed with 4.6 and glibc with our
questionable LOCK_FREE macro implementation.  Don't run that piece
with 4.6.

In L, this is a prerequisite for fixing:

    Bug:16880454
    Bug:16513433

Change-Id: I9b61e42307f96a114dce7552b6ead4ad1c544eab
2014-08-29 17:03:26 -07:00
Elliott Hughes
e21a624269 am bbe06e0d: Merge "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc."
* commit 'bbe06e0da1742e9bdc52d3246ffa9f2ab3ce999a':
  Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
2014-08-29 23:30:14 +00:00
Elliott Hughes
b2eb09a9ed Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
Bug: 16874785

(cherry picked from commit e0c56efddf55ad40cb35b2c22e1dd9b4b50df159)

Change-Id: I9c922ba019f648766fc399d1c4e35e789e25acd4
2014-08-29 16:10:57 -07:00
Elliott Hughes
bbe06e0da1 Merge "Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc." 2014-08-29 23:08:01 +00:00
Elliott Hughes
e0c56efddf Use __GNUC_PREREQ rather than __GNUC_PREREQ__ to match glibc.
Bug: 16874785
Change-Id: I8512f8be3fd149d8720c5c3b4657bedd5ce2b1d1
2014-08-29 15:54:11 -07:00
Dmitriy Ivanov
e6f46bfb90 am 83b637fa: Merge "Replace NULL with nullptr"
* commit '83b637fa28e072aa73691b5ddc588293f06cb54b':
  Replace NULL with nullptr
2014-08-29 22:51:53 +00:00
Dmitriy Ivanov
83b637fa28 Merge "Replace NULL with nullptr" 2014-08-29 22:30:07 +00:00
Dmitriy Ivanov
851135bf99 Replace NULL with nullptr
Change-Id: Iad50be617d318ca98883b843229c960ad5b9afa9
2014-08-29 14:13:48 -07:00
Elliott Hughes
079841285e am 72dc86ec: am 1f39afc8: Merge "The host prebuilt glibc is 2.11, so remove workarounds for 2.9."
* commit '72dc86ec5f8927d7be03b110a61aba45e94b4cfa':
  The host prebuilt glibc is 2.11, so remove workarounds for 2.9.
2014-08-29 18:49:21 +00:00
Dmitriy Ivanov
05e190c093 Look into ld_preloads before current library
Change lookup order during relocation so that
 ld_preloads always precede caller (unless caller
 is main executable).

 Asan needs this change in order to intercept libc->libc
 calls.

Bug: 15432753
Change-Id: If69aa16efe59aa35bb30e96feb83d08f1efbec86
2014-08-29 11:46:06 -07:00
Elliott Hughes
72dc86ec5f am 1f39afc8: Merge "The host prebuilt glibc is 2.11, so remove workarounds for 2.9."
* commit '1f39afc8d4cf402a8aa46d6cb121c62d289922d3':
  The host prebuilt glibc is 2.11, so remove workarounds for 2.9.
2014-08-29 18:30:59 +00:00
Elliott Hughes
1f39afc8d4 Merge "The host prebuilt glibc is 2.11, so remove workarounds for 2.9." 2014-08-29 18:12:36 +00:00
Chih-Hung Hsieh
d3acdf1660 am 46623c1c: am cc4259ed: Merge "Ignore all __weak_alias in OpenBSD libC."
* commit '46623c1cc7045d01ad950a4d2cad2a2722efc5ce':
  Ignore all __weak_alias in OpenBSD libC.
2014-08-29 11:56:38 +00:00
Elliott Hughes
7187c84058 am cd6657f9: am 29f06943: Merge "Add GNU-compatible strerror_r."
* commit 'cd6657f9eacb8dff723be48ffff72e153b4c82c6':
  Add GNU-compatible strerror_r.
2014-08-29 11:56:38 +00:00
Chih-Hung Hsieh
46623c1cc7 am cc4259ed: Merge "Ignore all __weak_alias in OpenBSD libC."
* commit 'cc4259ed9254ae66f63cacc3ad50963c4058eb1c':
  Ignore all __weak_alias in OpenBSD libC.
2014-08-29 11:39:56 +00:00
Elliott Hughes
cd6657f9ea am 29f06943: Merge "Add GNU-compatible strerror_r."
* commit '29f06943a19ef2271a08f4223f597a3383f0d9c0':
  Add GNU-compatible strerror_r.
2014-08-29 11:39:55 +00:00
Chih-Hung Hsieh
cc4259ed92 Merge "Ignore all __weak_alias in OpenBSD libC." 2014-08-29 03:10:44 +00:00
Elliott Hughes
f6824b26ae The host prebuilt glibc is 2.11, so remove workarounds for 2.9.
Change-Id: I1072fcebc8b3018580a9d069fe6eca9c4e74e865
2014-08-28 19:28:35 -07:00
Elliott Hughes
29f06943a1 Merge "Add GNU-compatible strerror_r." 2014-08-29 02:26:34 +00:00
Elliott Hughes
416d7ddaff Add GNU-compatible strerror_r.
We already had the POSIX strerror_r, but some third-party code defines
_GNU_SOURCE and expects to get the GNU strerror_r instead.

This exposed a bug in the libc internal logging functions where unlike
their standard brethren they wouldn't return the number of bytes they'd
have liked to have written.

Bug: 16243479
Change-Id: I1745752ccbdc569646d34f5071f6df2be066d5f4
2014-08-28 16:37:09 -07:00
Chih-Hung Hsieh
b6b5cb5389 Ignore all __weak_alias in OpenBSD libC.
GCC assembler allows xyz to be redeclared as weak,
by __weak_alias(xyz, _xyz), while _xyz is undefined.
Clang does not like that but silently generates no code.
It will reject its own .s file if the assembly code is saved first.
Since we have no reason to define xyz or _xyz as weak symbol now,
and _xyz is a macro to xyz, we simplify libC to have only
xyz defined as global.

BUG: 17186746
Change-Id: I24b154425838683cae69248cc750c59e26fd5467
2014-08-28 15:10:01 -07:00
Elliott Hughes
1470c824a9 am eceb417d: am 67f1f3b1: Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
* commit 'eceb417d2817aace3207943cc90b81026d505f80':
  Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
2014-08-28 04:16:11 +00:00
Elliott Hughes
53c39aab6e am 0019c7b5: resolved conflicts for merge of a0eeb0b6 to lmp-dev-plus-aosp
* commit '0019c7b5a05a7c79e3ab9b72cae9bcdf8d22491e':
  Fix pthread_getattr_np for the main thread.
2014-08-28 04:11:48 +00:00
Elliott Hughes
eceb417d28 am 67f1f3b1: Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
* commit '67f1f3b171ecd5f68f51465bbe4b8c8440bb6b2e':
  Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
2014-08-28 03:37:22 +00:00
Elliott Hughes
0019c7b5a0 resolved conflicts for merge of a0eeb0b6 to lmp-dev-plus-aosp
Change-Id: I84193689c0d6a9ee70b8da3c509694eb6d747d4a
2014-08-27 20:03:04 -07:00
Elliott Hughes
f5f59e3756 am 9560aaba: am f4e721dd: Merge "Have pthread_attr_getstack for the main thread report RLIMIT_STACK..."
* commit '9560aaba8ff6c667495de590a097709cb95bba24':
  Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
2014-08-28 00:13:16 +00:00
Elliott Hughes
9560aaba8f am f4e721dd: Merge "Have pthread_attr_getstack for the main thread report RLIMIT_STACK..."
* commit 'f4e721dd519db89c504c8944763811a3df956b32':
  Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
2014-08-28 00:00:07 +00:00
Christopher Ferris
96e0a433f9 am 5f6bab1a: am af9da4a3: Merge "Replace snprintf calls in linker."
* commit '5f6bab1ac2212a23d8afd96dceb51b793b05dd2f':
  Replace snprintf calls in linker.
2014-08-27 23:53:09 +00:00
Elliott Hughes
67f1f3b171 Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
...rather than just what's already mapped in. This seems somewhat
contrary to POSIX's "All pages within the stack described by stackaddr
and stacksize shall be both readable and writable by the thread", but
it's what glibc does.

Bug: 17111575

(cherry picked from commit 9e4ffa7032eaab308876b8e3da86b05c3c613878)

Change-Id: I73f219a569917b2e4546c09436d7ef5231facc07
2014-08-27 16:50:53 -07:00
Elliott Hughes
a0eeb0b69f Merge "Fix pthread_getattr_np for the main thread." into lmp-dev 2014-08-27 23:49:56 +00:00
Elliott Hughes
f4e721dd51 Merge "Have pthread_attr_getstack for the main thread report RLIMIT_STACK..." 2014-08-27 23:43:27 +00:00
Christopher Ferris
5f6bab1ac2 am af9da4a3: Merge "Replace snprintf calls in linker."
* commit 'af9da4a343d8fe2456e9d861bbd75bba67f2193c':
  Replace snprintf calls in linker.
2014-08-27 23:41:56 +00:00
Chih-Hung Hsieh
42e5994ff1 am 2c449617: am fbe9d3df: Merge "Fix strlen function type for mips."
* commit '2c449617c37c7b5419908499740530af2f1ca6f0':
  Fix strlen function type for mips.
2014-08-27 23:36:22 +00:00
Christopher Ferris
af9da4a343 Merge "Replace snprintf calls in linker." 2014-08-27 23:29:18 +00:00
Chih-Hung Hsieh
2c449617c3 am fbe9d3df: Merge "Fix strlen function type for mips."
* commit 'fbe9d3dfeb0e09c0e4aa3221aace8249c0efe881':
  Fix strlen function type for mips.
2014-08-27 23:24:27 +00:00
Yigit Boyar
f227b34d1c am 80f47ca3: Merge branch \'lmp-dev-plus-aosp\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp
* commit '80f47ca35cf54ac3de8b42b70d81189bd58080c7':
  Replace ambiguous cmp instruction with cmpl.
2014-08-27 23:13:49 +00:00
Christopher Ferris
91f854ee7d am 04f12ef9: am 598d25bf: Merge "Replace snprintf calls in linker." into lmp-dev
* commit '04f12ef91c7f4235d6657583679f1dc39718344f':
  Replace snprintf calls in linker.
2014-08-27 23:13:48 +00:00
Chih-Hung Hsieh
fbe9d3dfeb Merge "Fix strlen function type for mips." 2014-08-27 23:09:30 +00:00
Christopher Ferris
052fa3a34c Replace snprintf calls in linker.
When enabling debug malloc, the snprintf calls in the linker fails to
update the buffer.

The problem is that snprintf makes a call to pthread_getspecific that
returns a valid pointer, but the data it points to is zero. This should
never happen and causes the snprintf to stop and do nothing.

Temporarily replace snprintf with a different implementation to work
around this issue.

Bug: 16874447
Bug: 17302493

(cherry pick from commit 172955a4e30b88ce8239a7ef426b4e8903e9923c)

Change-Id: Idca9d417978403d61debfd0434aaa82fd770f33b
2014-08-27 16:01:57 -07:00
Chih-Hung Hsieh
15b914c8f3 Fix strlen function type for mips.
Clang complains about incompatible-library-redeclaration.

BUG: 17302369
Change-Id: I3ae36f24846408c6464b84b5bddb1747e1e4a971
2014-08-27 16:00:46 -07:00
Yigit Boyar
80f47ca35c Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp 2014-08-27 23:00:12 +00:00
Christopher Ferris
04f12ef91c am 598d25bf: Merge "Replace snprintf calls in linker." into lmp-dev
* commit '598d25bf78fa632e70cb80d4033572328f5bd1b7':
  Replace snprintf calls in linker.
2014-08-27 23:00:10 +00:00
Chih-Hung Hsieh
e561e5db73 am 4f8268e3: Merge "Replace ambiguous cmp instruction with cmpl."
* commit '4f8268e38f151724722bcb489c32185a93fd86ba':
  Replace ambiguous cmp instruction with cmpl.
2014-08-27 23:00:09 +00:00
Chih-Hung Hsieh
4f8268e38f Merge "Replace ambiguous cmp instruction with cmpl." 2014-08-27 22:46:07 +00:00
Christopher Ferris
598d25bf78 Merge "Replace snprintf calls in linker." into lmp-dev 2014-08-27 22:42:11 +00:00
Elliott Hughes
9e4ffa7032 Have pthread_attr_getstack for the main thread report RLIMIT_STACK...
...rather than just what's already mapped in. This seems somewhat
contrary to POSIX's "All pages within the stack described by stackaddr
and stacksize shall be both readable and writable by the thread", but
it's what glibc does.

Bug: 17111575
Change-Id: If9e2dfad9a603c0d0615a8123aacda4946e95b2c
2014-08-27 15:32:01 -07:00
Christopher Ferris
172955a4e3 Replace snprintf calls in linker.
When enabling debug malloc, the snprintf calls in the linker fails to
update the buffer.

The problem is that snprintf makes a call to pthread_getspecific that
returns a valid pointer, but the data it points to is zero. This should
never happen and causes the snprintf to stop and do nothing.

Temporarily replace snprintf with a different implementation to work
around this issue.

Bug: 16874447
Bug: 17302493
Change-Id: I7a500f28adf153150cf2812fae745ff41f1c48d3
2014-08-27 15:30:43 -07:00
Chih-Hung Hsieh
71405a84da am 2dc7fd03: am 34da32e7: Merge "Add missing type casts before comparison."
* commit '2dc7fd03e77e32f85422786cc4bea157354d50be':
  Add missing type casts before comparison.
2014-08-27 22:13:22 +00:00
Chih-Hung Hsieh
2dc7fd03e7 am 34da32e7: Merge "Add missing type casts before comparison."
* commit '34da32e7dd00270e98b845f8a810a6f12ffffb9b':
  Add missing type casts before comparison.
2014-08-27 22:05:14 +00:00
Chih-Hung Hsieh
857fa6b2a3 Replace ambiguous cmp instruction with cmpl.
Clang assembler rejects ambiguous cmp instruction.

BUG: 17302482
Change-Id: I74f49de87464541f9fe6fa288e4093a9fbf37120
2014-08-27 15:04:23 -07:00
Christopher Ferris
895854f430 am 725fae1d: am 6ecd1cd1: Merge "Use the default unwind code."
* commit '725fae1de487cb202d5429afb440541b79e8381e':
  Use the default unwind code.
2014-08-27 21:50:09 +00:00
Chih-Hung Hsieh
34da32e7dd Merge "Add missing type casts before comparison." 2014-08-27 21:44:12 +00:00
Christopher Ferris
725fae1de4 am 6ecd1cd1: Merge "Use the default unwind code."
* commit '6ecd1cd195546ecaf4317beda3f1a1a27f1d0d57':
  Use the default unwind code.
2014-08-27 21:35:16 +00:00
Christopher Ferris
6ecd1cd195 Merge "Use the default unwind code." 2014-08-27 21:21:28 +00:00
Chih-Hung Hsieh
a2c6ae6f84 Add missing type casts before comparison.
BUG: 17300548
Change-Id: Ice9868f36c8fa8cd40bb13741b0e33c8f8d354fd
2014-08-27 13:45:37 -07:00
Christopher Ferris
b78e60e7b7 Use the default unwind code.
This speeds up the debug malloc code by using the original unwinding code.
The only catch is that it has to link in the libc++ arm unwind code or
there will be crashes when attempting to unwind through libc++ compiled
code.

Bug: 16874447

(cherry picked from commit 3f7635f4906c53fa744731efc35235456b7d93bf)

Change-Id: If8a3821cdd95ed481bb496bf2daab449d13790f8
2014-08-27 13:13:21 -07:00
Baligh Uddin
0570368a79 am 388369b7: Merge branch \'lmp-dev-plus-aosp\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp
* commit '388369b788f93670551fe32233b6c4b55d3879d9':
  call uselocale() before freelocale() to make sure that g_local_key has a valid locale.
  Switch to OpenBSD <err.h> implementation.
2014-08-27 17:55:30 +00:00
Elliott Hughes
c15ee16fb3 am b489ba48: am 6cc4e3b6: Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale." into lmp-dev
* commit 'b489ba48a11ae91bd51bd99b3741ad452484684d':
  call uselocale() before freelocale() to make sure that g_local_key has a valid locale.
2014-08-27 17:55:29 +00:00
Baligh Uddin
388369b788 Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp 2014-08-27 17:39:51 +00:00
Elliott Hughes
6c3e6e7c40 am cb322a11: Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale."
* commit 'cb322a116804a690fdde6096d7efef4819151ad9':
  call uselocale() before freelocale() to make sure that g_local_key has a valid locale.
2014-08-27 17:39:29 +00:00
Elliott Hughes
7a9471d815 am 64ae11ab: Merge "Switch to OpenBSD <err.h> implementation."
* commit '64ae11ab766421fe2c49ebdecb14c36fe0a047fe':
  Switch to OpenBSD <err.h> implementation.
2014-08-27 17:39:28 +00:00
Elliott Hughes
b489ba48a1 am 6cc4e3b6: Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale." into lmp-dev
* commit '6cc4e3b6ce726fb7aab6eff1ca8f4a28f9f21ee9':
  call uselocale() before freelocale() to make sure that g_local_key has a valid locale.
2014-08-27 17:39:01 +00:00
Elliott Hughes
cb322a1168 Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale." 2014-08-27 17:27:46 +00:00
Wally Yau
a40fdbd565 call uselocale() before freelocale() to make sure that g_local_key has a valid locale.
For tests that call uselocale(), the locale is stored in the
g_userlocale_key thread-specific key. If freelocale() is called later,
then g_uselocal_key points to a deleted pointer. CTS eventually calls
vfprintf to print the result, which calls MB_CUR_MAX and MB_CUR_MAX
accesses the deleted locale stored in g_uselocale_key, causing unpredictable
errors.

Fixed the tests by calling uselocale() with the old locale before
calling freelocale.

(cherry-pick of 8a46cf0fcf82b8c76e05be7e066ec854f974603a.)

Bug: 17299565
Change-Id: I87efa2a9b16999a11d587f68d3aeedcbe6ac8a2c
2014-08-27 10:26:49 -07:00
Elliott Hughes
64ae11ab76 Merge "Switch to OpenBSD <err.h> implementation." 2014-08-27 17:26:03 +00:00
Elliott Hughes
6cc4e3b6ce Merge "call uselocale() before freelocale() to make sure that g_local_key has a valid locale." into lmp-dev 2014-08-27 17:25:23 +00:00
Wally Yau
8a46cf0fcf call uselocale() before freelocale() to make sure that g_local_key has a valid locale.
For tests that call uselocale(), the locale is stored in the
g_userlocale_key thread-specific key. If freelocale() is called later,
then g_uselocal_key points to a deleted pointer. CTS eventually calls
vfprintf to print the result, which calls MB_CUR_MAX and MB_CUR_MAX
accesses the deleted locale stored in g_uselocale_key, causing unpredictable
errors.

Fixed the tests by calling uselocale() with the old locale before
calling freelocale.

Bug: 17299565
Change-Id: I87efa2a9b16999a11d587f68d3aeedcbe6ac8a2c
2014-08-27 17:22:29 +00:00
Christopher Ferris
e94c0e6abf am 7bad1a90: am 3f7635f4: Use the default unwind code.
* commit '7bad1a90f1f270d5e2e3ca798d1e0f35c79bec6b':
  Use the default unwind code.
2014-08-27 04:55:00 +00:00
Christopher Ferris
7bad1a90f1 am 3f7635f4: Use the default unwind code.
* commit '3f7635f4906c53fa744731efc35235456b7d93bf':
  Use the default unwind code.
2014-08-27 04:46:05 +00:00
Hans Boehm
c0c0e0404f am 3b32ba0e: am 6bfcefe0: Merge "Undefine _Atomic before redefining"
* commit '3b32ba0e2c1851e20f72a73c606dcbfc79e687bb':
  Undefine _Atomic before redefining
2014-08-27 00:11:45 +00:00
Elliott Hughes
e294a02c0c am d961078f: am 07401c71: Merge "Switch to OpenBSD daemon(3)."
* commit 'd961078f2d1ee42f41ae967d33ba583dd42475f8':
  Switch to OpenBSD daemon(3).
2014-08-27 00:11:45 +00:00
Elliott Hughes
edbd5b2659 am 3e95a0d6: am f1e64b5c: (-s ours) Merge "More cases where libc should use O_CLOEXEC."
* commit '3e95a0d6f0fb3e15485c4671643b4c61e89c49d3':
  More cases where libc should use O_CLOEXEC.
2014-08-27 00:11:44 +00:00
Hans Boehm
3b32ba0e2c am 6bfcefe0: Merge "Undefine _Atomic before redefining"
* commit '6bfcefe02f8fbeec1f6790bd5ebb1fdd5dba1e33':
  Undefine _Atomic before redefining
2014-08-27 00:01:46 +00:00
Elliott Hughes
d961078f2d am 07401c71: Merge "Switch to OpenBSD daemon(3)."
* commit '07401c7136af113304a22f4a8245ef3fc1b6929b':
  Switch to OpenBSD daemon(3).
2014-08-27 00:01:45 +00:00
Elliott Hughes
3e95a0d6f0 am f1e64b5c: (-s ours) Merge "More cases where libc should use O_CLOEXEC."
* commit 'f1e64b5c171a374f36cd970df0c84558d4209e1c':
  More cases where libc should use O_CLOEXEC.
2014-08-27 00:01:42 +00:00
Elliott Hughes
cc7e5f489f Switch to OpenBSD <err.h> implementation.
Change-Id: Ia950d88871a30f68e74f9ac7dbd87788e128e02f
2014-08-26 17:00:37 -07:00
Elliott Hughes
77fd54ae1c am f975bc2d: am 7b87d441: Merge "Switch to OpenBSD res_random."
* commit 'f975bc2d59b064e08f5d01ecd0724cb76351727f':
  Switch to OpenBSD res_random.
2014-08-26 23:47:17 +00:00
Elliott Hughes
390a11303d am 06b03394: am 59de803a: Merge "libc should use O_CLOEXEC when opening files for its own use."
* commit '06b033942ae7c6d967e4c58a4dd649e421598eba':
  libc should use O_CLOEXEC when opening files for its own use.
2014-08-26 23:47:16 +00:00
Dmitriy Ivanov
df8e8af8f7 am a04130f5: am 9f5dee55: Merge "Remove unnecessary calls to LinkedList::clear()"
* commit 'a04130f54c087cf2ad2924863a8a1e5c22fdd8a9':
  Remove unnecessary calls to LinkedList::clear()
2014-08-26 23:47:15 +00:00
Elliott Hughes
f975bc2d59 am 7b87d441: Merge "Switch to OpenBSD res_random."
* commit '7b87d441b0f2aa3ad5021ab6bd879a995a1bc2ce':
  Switch to OpenBSD res_random.
2014-08-26 23:41:23 +00:00
Elliott Hughes
06b033942a am 59de803a: Merge "libc should use O_CLOEXEC when opening files for its own use."
* commit '59de803af98a284378303489f614be3e53800b3f':
  libc should use O_CLOEXEC when opening files for its own use.
2014-08-26 23:41:23 +00:00
Dmitriy Ivanov
a04130f54c am 9f5dee55: Merge "Remove unnecessary calls to LinkedList::clear()"
* commit '9f5dee55aa401b11b3eb15806d3f8ffc291c2bb1':
  Remove unnecessary calls to LinkedList::clear()
2014-08-26 23:41:22 +00:00
Dmitriy Ivanov
2ad7cce57c am 8e35e9e7: am d2bd3c47: Merge "Enable __cxa_atexit && __cxa_finalize for linker"
* commit '8e35e9e73ee14fa8c725c83d871db2b58821d8c9':
  Enable __cxa_atexit && __cxa_finalize for linker
2014-08-26 23:35:36 +00:00
Hans Boehm
6bfcefe02f Merge "Undefine _Atomic before redefining" 2014-08-26 23:34:49 +00:00
Elliott Hughes
07401c7136 Merge "Switch to OpenBSD daemon(3)." 2014-08-26 23:33:43 +00:00
Dmitriy Ivanov
8e35e9e73e am d2bd3c47: Merge "Enable __cxa_atexit && __cxa_finalize for linker"
* commit 'd2bd3c4717ed223bca1c68a87f243f4bcf492a4b':
  Enable __cxa_atexit && __cxa_finalize for linker
2014-08-26 23:26:32 +00:00
Elliott Hughes
e5055179fd Switch to OpenBSD daemon(3).
Change-Id: I1fd0be09fdb24aa6f1d945410eba5987f8a949b4
2014-08-26 16:25:19 -07:00
Elliott Hughes
f1e64b5c17 Merge "More cases where libc should use O_CLOEXEC." 2014-08-26 23:23:59 +00:00
Elliott Hughes
f73183f1a3 More cases where libc should use O_CLOEXEC.
Change-Id: Idfa111aeebc5deca2399dae919e8b72eb54c23c0
2014-08-26 16:20:59 -07:00
Elliott Hughes
7b87d441b0 Merge "Switch to OpenBSD res_random." 2014-08-26 23:18:04 +00:00
Elliott Hughes
59de803af9 Merge "libc should use O_CLOEXEC when opening files for its own use." 2014-08-26 23:11:46 +00:00
Christopher Ferris
3f7635f490 Use the default unwind code.
This speeds up the debug malloc code by using the original unwinding code.
The only catch is that it has to link in the libc++ arm unwind code or
there will be crashes when attempting to unwind through libc++ compiled
code.

Bug: 16874447
Change-Id: Ifdbbcbd4137d668b25cf3c2bd59535e06ebfa5a7
2014-08-26 16:02:51 -07:00
Dmitriy Ivanov
9f5dee55aa Merge "Remove unnecessary calls to LinkedList::clear()" 2014-08-26 23:00:44 +00:00
Hans Boehm
3e4a0099a1 Undefine _Atomic before redefining
Stdatomic.h was potentially redefining _Atomic, in spite of a
prior definition by <atomic>.  This could cause g++ builds that
included <stdatomic.h> with an available <atomic> header to break.

Change-Id: I562c7115118c0587d594d4d5b62d25101e47bfd8
2014-08-26 15:58:15 -07:00
Elliott Hughes
c674edbf27 libc should use O_CLOEXEC when opening files for its own use.
Change-Id: I159f1d57e0ca090d837f57854fcef5879b8b8248
2014-08-26 15:56:54 -07:00
Dmitriy Ivanov
608217e167 Remove unnecessary calls to LinkedList::clear()
Change-Id: I981d2700cb17322c634b751715543fd33ee49b7c
2014-08-26 15:56:31 -07:00
Dmitriy Ivanov
d2bd3c4717 Merge "Enable __cxa_atexit && __cxa_finalize for linker" 2014-08-26 22:53:16 +00:00
Dmitriy Ivanov
14241402de Enable __cxa_atexit && __cxa_finalize for linker
This allows adding destructors to classes used
 for global variables.

Change-Id: I5e1cd63fe3bf8f66de88cc4f7437cafb350f49b5
2014-08-26 15:44:18 -07:00
Elliott Hughes
8572efefa5 am 05409ded: am c764fb24: Merge "Fix pthread_getattr_np for the main thread."
* commit '05409dedcd6268d8150e5a39327b1b48711834c0':
  Fix pthread_getattr_np for the main thread.
2014-08-26 20:18:50 +00:00
Elliott Hughes
05409dedcd am c764fb24: Merge "Fix pthread_getattr_np for the main thread."
* commit 'c764fb24ccb47e05d8e140cde5b4111225790ef1':
  Fix pthread_getattr_np for the main thread.
2014-08-26 20:08:44 +00:00
Elliott Hughes
6421823410 Fix pthread_getattr_np for the main thread.
On most architectures the kernel subtracts a random offset to the stack
pointer in create_elf_tables by calling arch_align_stack before writing
the auxval table and so on. On all but x86 this doesn't cause a problem
because the random offset is less than a page, but on x86 it's up to two
pages. This means that our old technique of rounding the stack pointer
doesn't work. (Our old implementation of that technique was wrong too.)

It's also incorrect to assume that the main thread's stack base and size
are constant. Likewise to assume that the main thread has a guard page.
The main thread is not like other threads.

This patch switches to reading /proc/self/maps (and checking RLIMIT_STACK)
whenever we're asked.

Bug: 17111575
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>

(cherry picked from commit 57b7a6110e7e8b446fc23cce4765ff625ee0a105)

Change-Id: I87e679ee1c0db8092f2d1221c8e7c1461545c5a4
2014-08-26 12:55:01 -07:00
Elliott Hughes
c764fb24cc Merge "Fix pthread_getattr_np for the main thread." 2014-08-26 19:53:40 +00:00
Elliott Hughes
57b7a6110e Fix pthread_getattr_np for the main thread.
On most architectures the kernel subtracts a random offset to the stack
pointer in create_elf_tables by calling arch_align_stack before writing
the auxval table and so on. On all but x86 this doesn't cause a problem
because the random offset is less than a page, but on x86 it's up to two
pages. This means that our old technique of rounding the stack pointer
doesn't work. (Our old implementation of that technique was wrong too.)

It's also incorrect to assume that the main thread's stack base and size
are constant. Likewise to assume that the main thread has a guard page.
The main thread is not like other threads.

This patch switches to reading /proc/self/maps (and checking RLIMIT_STACK)
whenever we're asked.

Bug: 17111575
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
Change-Id: I1d4dbffe7bc7bda1d353c3a295dbf68d29f63158
2014-08-26 10:36:38 -07:00
Chih-Hung Hsieh
b4e5b1012b am a9c435e0: am 9e307af9: Merge "Add standard throw() spec to delete operators."
* commit 'a9c435e072111d6e4a90748bb4a34f2c46814162':
  Add standard throw() spec to delete operators.
2014-08-25 22:41:21 +00:00
Chih-Hung Hsieh
a9c435e072 am 9e307af9: Merge "Add standard throw() spec to delete operators."
* commit '9e307af982ea9030849293b5e3307733289e3c2c':
  Add standard throw() spec to delete operators.
2014-08-25 22:29:24 +00:00
Chih-Hung Hsieh
9e307af982 Merge "Add standard throw() spec to delete operators." 2014-08-25 22:08:33 +00:00
Chih-Hung Hsieh
ae558d6b4b Add standard throw() spec to delete operators.
Without these specs, clang will reports mismatch between standard definitions and these declarations/definitions. These specs are ignored when compiled with -fno-exceptions.

BUG: 17136236
Change-Id: I386c712a61dc4fc74dfde45f9ec2d3d037f2e9f1
2014-08-25 21:16:14 +00:00
Hans Boehm
235027e19d am 685c722d: am a4a8c4fe: Merge "Fix, generalize stdatomic.h; improve test."
* commit '685c722d32086f0ded3da9975a934cef34f171c9':
  Fix, generalize stdatomic.h; improve test.
2014-08-22 23:24:37 +00:00
Hans Boehm
685c722d32 am a4a8c4fe: Merge "Fix, generalize stdatomic.h; improve test."
* commit 'a4a8c4feb8cf3cebf8aceace70e699e128095b5c':
  Fix, generalize stdatomic.h; improve test.
2014-08-22 23:15:54 +00:00
Hans Boehm
a4a8c4feb8 Merge "Fix, generalize stdatomic.h; improve test." 2014-08-22 22:52:31 +00:00
Hans Boehm
00aaea3645 Fix, generalize stdatomic.h; improve test.
We seem to use this stdatomic.h sometimes, and slightly different prebuilts
at other times, making them all difficult to test, and making it unclear
which one we're testing.  This generalizes the bionic header so that it
can be used directly as the prebuilt header as well.  So long as they
don't diverge again, that should somewhat improve test coverage.

Use the correct builtin for atomic_is_lock_free.

Fix atomic_flag_init.

Turn on atomic tests even with __GLIBC__, since they now appear to pass.

Include uchar.h in stdatomic.h where needed.

Add a basic memory ordering test.

Fix bit-rotted comments in bionic tests makefile.

Change-Id: If6a14c1075b379395ba5d93357d56025c0ffab68
2014-08-22 15:50:17 -07:00
Dmitriy Ivanov
355ffed60d am 0c3ef375: am 9d34f6a9: Merge "Bump soinfo version"
* commit '0c3ef37501d32444ef333a960e306b33164fa31f':
  Bump soinfo version
2014-08-22 21:13:57 +00:00
Dmitriy Ivanov
0c3ef37501 am 9d34f6a9: Merge "Bump soinfo version"
* commit '9d34f6a90973bea086b4244df6eff74ab2211814':
  Bump soinfo version
2014-08-22 21:03:34 +00:00
Dmitriy Ivanov
9d34f6a909 Merge "Bump soinfo version" 2014-08-22 20:44:56 +00:00
Dmitriy Ivanov
0d15094287 Bump soinfo version
This includes:
 1. Placing has_ifunc after fields with version = 0
 2. Switch to has_min_version(v) function.
 3. Minor soinfo initialization refactoring (placement new + ctor)

Change-Id: I1bf5fde4d930914012ce5f3ad5acb48217da9b2d
2014-08-22 13:29:18 -07:00
Dan Albert
2d516203f3 am 740cf634: am 0b9fa4c9: Merge "Fix dlmalloc build."
* commit '740cf634f78141b37e30a37f9fdf491951d321e4':
  Fix dlmalloc build.
2014-08-22 18:40:23 +00:00
Dan Albert
740cf634f7 am 0b9fa4c9: Merge "Fix dlmalloc build."
* commit '0b9fa4c9bff5d3128f120a2008aa6997c7363b49':
  Fix dlmalloc build.
2014-08-22 18:25:06 +00:00
Dan Albert
66af51131b am a2dcd944: am 4756afe3: Merge "Implement malloc_info(3)."
* commit 'a2dcd9449e7afe93ee9472ea899539b17574908f':
  Implement malloc_info(3).
2014-08-22 18:16:29 +00:00
Dan Albert
0b9fa4c9bf Merge "Fix dlmalloc build." 2014-08-22 18:06:36 +00:00
Dan Albert
ef619cc083 Fix dlmalloc build.
Change-Id: Ied542c40867ab443cdd2076bd2e535b00c4854e4
2014-08-22 11:05:48 -07:00
Dan Albert
a2dcd9449e am 4756afe3: Merge "Implement malloc_info(3)."
* commit '4756afe3d5017b50c89761c47f0da17a6799c81e':
  Implement malloc_info(3).
2014-08-22 18:04:08 +00:00
Dan Albert
4756afe3d5 Merge "Implement malloc_info(3)." 2014-08-22 17:39:18 +00:00
Dan Albert
4caa1f0977 Implement malloc_info(3).
Expose jemalloc stats through the malloc_info(3) interface.

Bug: 16874689
Change-Id: I4358ac283002e60ff161107028d1a3fb1e9afb0a
2014-08-22 10:23:12 -07:00
Elliott Hughes
952e2b839c am 4592c5e9: Merge branch \'lmp-dev-plus-aosp\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp
* commit '4592c5e993e2ee625b9cfdd8e50cce0be9042114':
  Fix unistd.getpid_caching_and_clone.
2014-08-22 16:53:23 +00:00
Elliott Hughes
a657e1cc6a am 021ce40c: am 84d0683a: Fix unistd.getpid_caching_and_clone.
* commit '021ce40c0ca98ccdd7daa4d468222b951da10c06':
  Fix unistd.getpid_caching_and_clone.
2014-08-22 16:53:23 +00:00
Elliott Hughes
4592c5e993 Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp 2014-08-22 16:42:23 +00:00
Elliott Hughes
021ce40c0c am 84d0683a: Fix unistd.getpid_caching_and_clone.
* commit '84d0683a824fa02dbaa6d1b56a79223804b54e80':
  Fix unistd.getpid_caching_and_clone.
2014-08-22 16:42:17 +00:00
Elliott Hughes
0bcfedb8d2 am 538db6d2: Merge "Fix unistd.getpid_caching_and_clone."
* commit '538db6d2e63b203622c49344488099eaa5062850':
  Fix unistd.getpid_caching_and_clone.
2014-08-22 16:42:15 +00:00
Elliott Hughes
538db6d2e6 Merge "Fix unistd.getpid_caching_and_clone." 2014-08-22 16:28:02 +00:00
Elliott Hughes
2b3b2ecee8 Fix unistd.getpid_caching_and_clone.
This test only works if you're root (strictly: if you have permission to
CLONE_NEWNS), so it's useful to us when we're doing ad hoc testing (since
that's usually done as root), but it's not useful as part of CTS or when
running the tests on the host.

(cherry-pick of 84d0683a824fa02dbaa6d1b56a79223804b54e80.)

Bug: 16705621
Bug: 17170200
Change-Id: Ia92c871b15f7e45fc174bb59bc95540fd00ae745
2014-08-22 09:26:50 -07:00
Elliott Hughes
84d0683a82 Fix unistd.getpid_caching_and_clone.
This test only works if you're root (strictly: if you have permission to
CLONE_NEWNS), so it's useful to us when we're doing ad hoc testing (since
that's usually done as root), but it's not useful as part of CTS or when
running the tests on the host.

Bug: 16705621
Bug: 17170200
Change-Id: Ia92c871b15f7e45fc174bb59bc95540fd00ae745
2014-08-21 19:23:53 -07:00
Dan Albert
fc7b06fd58 am ab537ae5: am 2e6c5fc4: Merge "Remove _flush_cache(2) for mips64."
* commit 'ab537ae574ba675d3b313c544f5cf5de0c6e77e7':
  Remove _flush_cache(2) for mips64.
2014-08-21 22:26:46 +00:00
Dan Albert
ab537ae574 am 2e6c5fc4: Merge "Remove _flush_cache(2) for mips64."
* commit '2e6c5fc4e903b6ef58bd94e13e51b3f0aa4689b3':
  Remove _flush_cache(2) for mips64.
2014-08-21 22:12:30 +00:00
Dmitriy Ivanov
84c8fc8683 am 87c5f24e: am 2bd88d45: Merge "Run constructors before resolving ifunc functions"
* commit '87c5f24e4e58d7c26e8490f33d8233755b17a551':
  Run constructors before resolving ifunc functions
2014-08-21 21:55:13 +00:00
Dan Albert
2e6c5fc4e9 Merge "Remove _flush_cache(2) for mips64." 2014-08-21 21:51:42 +00:00
Dmitriy Ivanov
87c5f24e4e am 2bd88d45: Merge "Run constructors before resolving ifunc functions"
* commit '2bd88d450ead2ad8b44a76126c720cf4a9772002':
  Run constructors before resolving ifunc functions
2014-08-21 21:45:24 +00:00
Dmitriy Ivanov
2bd88d450e Merge "Run constructors before resolving ifunc functions" 2014-08-21 21:27:52 +00:00
Dmitriy Ivanov
9598b8c415 Run constructors before resolving ifunc functions
Bug: 17177284
Change-Id: I5714b9bc2d1ca8f8711806bfb68da3d524213e99
2014-08-21 14:24:13 -07:00
Dan Albert
47793d6a29 Remove _flush_cache(2) for mips64.
Also remove declaration.

The only user is compiler-rt, and they can replace that call with one to
syscall(2). compiler-rt doesn't currently build on mips64 anyway.

Bug: 11156955
Change-Id: Ieae0ba49c8e7aa50253401fc1d7c2d17bc867d39
2014-08-21 13:32:37 -07:00
Dan Albert
54f4129b79 am ba8dede8: am 31572118: Merge "__gnu_basename(3) is accounted for."
* commit 'ba8dede8585adfc411726496a877a1460fa769c6':
  __gnu_basename(3) is accounted for.
2014-08-21 19:43:28 +00:00
Dan Albert
ba8dede858 am 31572118: Merge "__gnu_basename(3) is accounted for."
* commit '3157211849f808f89a7f1465fd60d6b41917ee4f':
  __gnu_basename(3) is accounted for.
2014-08-21 19:33:19 +00:00
Dan Albert
3157211849 Merge "__gnu_basename(3) is accounted for." 2014-08-21 19:14:44 +00:00
Dan Albert
2320b02c7d __gnu_basename(3) is accounted for.
Change-Id: I3836b14a797c4a8d121c6d29d95791ac768257da
2014-08-21 11:36:07 -07:00
Elliott Hughes
4e8ff5bf33 am d00ce65a: am 2d80400a: Fix some 32-bit-isms in <stdio.h>.
* commit 'd00ce65a16a77921b1835dc52dd31b9206200551':
  Fix some 32-bit-isms in <stdio.h>.
2014-08-21 18:34:41 +00:00
Elliott Hughes
d00ce65a16 am 2d80400a: Fix some 32-bit-isms in <stdio.h>.
* commit '2d80400a9e8454038a3ec29959436184be0c4c65':
  Fix some 32-bit-isms in <stdio.h>.
2014-08-21 18:25:59 +00:00
Elliott Hughes
4c6c024a32 am 1fa71e6c: am d5fbc371: Merge "Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream."
* commit '1fa71e6cbb7254e6450701913e5f9cfc6226587a':
  Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.
2014-08-21 04:07:20 +00:00
Elliott Hughes
1fa71e6cbb am d5fbc371: Merge "Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream."
* commit 'd5fbc37119ef6cd757ceb449cb071ee03c66590e':
  Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.
2014-08-21 03:11:32 +00:00
Elliott Hughes
d5fbc37119 Merge "Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream." 2014-08-21 00:17:56 +00:00
Elliott Hughes
6b841db2ba Add POSIX-2008 fmemopen, open_memstream, and open_wmemstream.
Bug: 17164505
Change-Id: I59e28a08ff8b6ab632230b11a5807cfd5278aeb5
2014-08-20 17:03:46 -07:00
Elliott Hughes
8aab5c927f am ff3adf16: am b6ed5407: Merge "Simplify _ALIGN_TEXT."
* commit 'ff3adf163222cf8351c9968149509615bc936552':
  Simplify _ALIGN_TEXT.
2014-08-20 20:57:47 +00:00
Elliott Hughes
497a10b311 am 1b6b56a9: am 7134fc30: Merge "Regenerate "services.h" from /etc/services."
* commit '1b6b56a9a662eb68a0eb707c556287b0f7810556':
  Regenerate "services.h" from /etc/services.
2014-08-20 20:57:46 +00:00
Elliott Hughes
fd66905ac7 am 28bd4fd0: am 3bcd414b: Merge "Clean up some of our python scripts."
* commit '28bd4fd080d290dba0f61275109698d0fe4b5dc4':
  Clean up some of our python scripts.
2014-08-20 20:57:45 +00:00
Elliott Hughes
b22eebf09e am c64b6800: am 55244a9b: Merge "Add <stdio_ext.h> for elfutils."
* commit 'c64b680066d4ceaba908bf43ba7b2b8761b00073':
  Add <stdio_ext.h> for elfutils.
2014-08-20 20:57:45 +00:00
Hans Boehm
f4a27ad738 am c4b55c12: am b61c5064: Merge "Work around atomic_load(const T*) issues."
* commit 'c4b55c1221581b5ab8dc7cc21d9eead85b79eaa2':
  Work around atomic_load(const T*) issues.
2014-08-20 20:57:44 +00:00
Elliott Hughes
ff3adf1632 am b6ed5407: Merge "Simplify _ALIGN_TEXT."
* commit 'b6ed54076abdd337150d7a92a661247b69d26cb4':
  Simplify _ALIGN_TEXT.
2014-08-20 20:54:13 +00:00
Elliott Hughes
1b6b56a9a6 am 7134fc30: Merge "Regenerate "services.h" from /etc/services."
* commit '7134fc30892bff763e7c24ac722151e0777b5409':
  Regenerate "services.h" from /etc/services.
2014-08-20 20:49:21 +00:00
Elliott Hughes
28bd4fd080 am 3bcd414b: Merge "Clean up some of our python scripts."
* commit '3bcd414b78e515482139c7dc3dad8cad3357b374':
  Clean up some of our python scripts.
2014-08-20 20:49:21 +00:00
Elliott Hughes
c64b680066 am 55244a9b: Merge "Add <stdio_ext.h> for elfutils."
* commit '55244a9bdbc661212999655644c374352ae92040':
  Add <stdio_ext.h> for elfutils.
2014-08-20 20:49:14 +00:00
Hans Boehm
c4b55c1221 am b61c5064: Merge "Work around atomic_load(const T*) issues."
* commit 'b61c50647b85b3c33af8ca155e88ec098d9e8cb0':
  Work around atomic_load(const T*) issues.
2014-08-20 20:48:45 +00:00
Elliott Hughes
b6ed54076a Merge "Simplify _ALIGN_TEXT." 2014-08-20 20:25:32 +00:00
Elliott Hughes
0e7f8a9e52 Simplify _ALIGN_TEXT.
Bug: 16872067
Change-Id: I2b622f252c21ce1b344c040f828ab3f4bf9b6c0a
2014-08-20 13:11:58 -07:00
Elliott Hughes
2d80400a9e Fix some 32-bit-isms in <stdio.h>.
Bug: 17157793
Change-Id: I8290e240b92e5617f4c12c0eacad6e622e677b6a
2014-08-20 12:14:21 -07:00
Hans Boehm
b61c50647b Merge "Work around atomic_load(const T*) issues." 2014-08-19 22:32:42 +00:00
Elliott Hughes
7888f4d5ad am d61f102b: am b9d674c8: Merge "Implement the GNU basename(3) in addition to the POSIX one."
* commit 'd61f102bf8015686806f20bf5895fd05b967ce09':
  Implement the GNU basename(3) in addition to the POSIX one.
2014-08-19 22:25:59 +00:00
Elliott Hughes
d61f102bf8 am b9d674c8: Merge "Implement the GNU basename(3) in addition to the POSIX one."
* commit 'b9d674c8ada9c1e9c22b41bc7c89e35f11f4eb1e':
  Implement the GNU basename(3) in addition to the POSIX one.
2014-08-19 22:19:07 +00:00
Hans Boehm
1e8587a479 Work around atomic_load(const T*) issues.
Bug:17067219
Change-Id: I78e753bcf03464f5f05c3f37e394f2727d282589
2014-08-19 14:50:54 -07:00
Dan Albert
a9cfc7750d am f642846c: am 1506fc17: Expose android_set_abort_message().
* commit 'f642846c1cec8554ec4f09686eb9ce999f6edf59':
  Expose android_set_abort_message().
2014-08-19 20:35:04 +00:00
Elliott Hughes
e232b38314 am b8a8d1d6: am c5d6df6f: Merge "Add in_port_t and move it and in_addr_t to the correct header file."
* commit 'b8a8d1d68e5e7c7df8187f76bbd452a9822fab6d':
  Add in_port_t and move it and in_addr_t to the correct header file.
2014-08-19 20:35:03 +00:00
Dan Albert
f642846c1c am 1506fc17: Expose android_set_abort_message().
* commit '1506fc178e9dcd873eaf95535ac7625ebb59388f':
  Expose android_set_abort_message().
2014-08-19 20:29:23 +00:00
Elliott Hughes
b8a8d1d68e am c5d6df6f: Merge "Add in_port_t and move it and in_addr_t to the correct header file."
* commit 'c5d6df6f2fe57fd5aadbd9ebb131023234c30a0c':
  Add in_port_t and move it and in_addr_t to the correct header file.
2014-08-19 20:26:45 +00:00
Elliott Hughes
74dae62e5a am 59b5f585: am 6f4220c4: Merge "Move the meat of <features.h> into <sys/cdefs.h>."
* commit '59b5f5852219cbfc266f619177990955022a31d1':
  Move the meat of <features.h> into <sys/cdefs.h>.
2014-08-19 19:11:58 +00:00
Elliott Hughes
59b5f58522 am 6f4220c4: Merge "Move the meat of <features.h> into <sys/cdefs.h>."
* commit '6f4220c49e90b18a50d36e47cc9287c7593af939':
  Move the meat of <features.h> into <sys/cdefs.h>.
2014-08-19 19:04:24 +00:00
Dan Albert
62e1e86e33 am f01d69e9: am 2222eae6: Merge "Missing #include <sys/cdefs.h>."
* commit 'f01d69e9def62d67da15e50ff40afab55f5c140c':
  Missing #include <sys/cdefs.h>.
2014-08-19 18:47:16 +00:00
Dan Albert
1506fc178e Expose android_set_abort_message().
Removes the leading underscores from __android_set_abort_message() and
moves its declaration into a public header file.

Bug: 17059126
Change-Id: I470c79db47ec783ea7a54b800f8b78ecbe7479ab
(cherry picked from commit ce6b1abbb1da797e716d8ec03da4e3b6304fd11d)
(cherry picked from commit 3a25ab952befbe908f6df45805683ebe3bf65863)
2014-08-19 18:46:45 +00:00
Dan Albert
f01d69e9de am 2222eae6: Merge "Missing #include <sys/cdefs.h>."
* commit '2222eae61e723d946029899edaf7afcbaa160bb7':
  Missing #include <sys/cdefs.h>.
2014-08-19 18:39:11 +00:00
Elliott Hughes
b969ed0786 am f00e8620: am 17f83c93: Merge "Remove unused defines from <features.h>."
* commit 'f00e86209d8b6b846c376786230ae07667534507':
  Remove unused defines from <features.h>.
2014-08-19 17:59:32 +00:00
Elliott Hughes
f00e86209d am 17f83c93: Merge "Remove unused defines from <features.h>."
* commit '17f83c93cbbde3e38a03182931f40b7390061a7d':
  Remove unused defines from <features.h>.
2014-08-19 17:50:01 +00:00
Dan Albert
3a240cc3bb am d971171d: am 934c8015: Merge "Expose android_set_abort_message()."
* commit 'd971171dfb5dffae9d41c07a3961389689f333e7':
  Expose android_set_abort_message().
2014-08-19 17:43:20 +00:00
Elliott Hughes
b6463733ca am ecd48356: am e4fcc3ad: Merge "Fix _BSD_SOURCE/__USE_BSD."
* commit 'ecd48356e38f2aec61639545c9656e8c67bcd6bd':
  Fix _BSD_SOURCE/__USE_BSD.
2014-08-19 17:37:54 +00:00
Dmitriy Ivanov
f9ac267bd3 am 707ed62b: am 8a76ee82: Merge "Revert "Add support for protected local symbol lookup.""
* commit '707ed62b9f873af84dc2a3427aadff3bef35f726':
  Revert "Add support for protected local symbol lookup."
2014-08-19 17:37:53 +00:00
Dan Albert
d971171dfb am 934c8015: Merge "Expose android_set_abort_message()."
* commit '934c8015d515f96c1f97255b48357da922cf626a':
  Expose android_set_abort_message().
2014-08-19 17:32:53 +00:00
Elliott Hughes
ecd48356e3 am e4fcc3ad: Merge "Fix _BSD_SOURCE/__USE_BSD."
* commit 'e4fcc3ad2b2965858571f5fb7d485ceb7e4a8266':
  Fix _BSD_SOURCE/__USE_BSD.
2014-08-19 17:11:21 +00:00
Dmitriy Ivanov
707ed62b9f am 8a76ee82: Merge "Revert "Add support for protected local symbol lookup.""
* commit '8a76ee821e49a912d1777fbe83b1ab07c1da541a':
  Revert "Add support for protected local symbol lookup."
2014-08-19 17:11:21 +00:00
Elliott Hughes
c5d6df6f2f Merge "Add in_port_t and move it and in_addr_t to the correct header file." 2014-08-19 15:49:56 +00:00
Elliott Hughes
35d226e05d Add in_port_t and move it and in_addr_t to the correct header file.
No one's reported this, but I saw it in an Android port of fuser(1).

We still have lots of problems in our network headers because we
get most of the structs direct from the kernel, and it doesn't use
types like this (which is why we've got away without this one for
so long). One day we should probably look at cleaning that up, but
doing so can wait.

Change-Id: If15edf0cfc32716fa312d7ed97c48321b760d979
2014-08-19 12:43:50 -07:00
Dmitriy Ivanov
6179fee1f6 am 19bf7f71: resolved conflicts for merge of e3ad34b3 to lmp-dev-plus-aosp
* commit '19bf7f717023558d54312c95f6a6529154204bab':
  Revert "Add support for protected local symbol lookup."
2014-08-19 13:39:57 +00:00
Dmitriy Ivanov
19bf7f7170 resolved conflicts for merge of e3ad34b3 to lmp-dev-plus-aosp
Change-Id: Ib744885890d38fa8dfbc130de8373343f49352cc
2014-08-19 06:28:24 -07:00
Elliott Hughes
55244a9bdb Merge "Add <stdio_ext.h> for elfutils." 2014-08-19 02:44:29 +00:00
Elliott Hughes
2b021e1066 Add <stdio_ext.h> for elfutils.
Bug: 17139679
Change-Id: I1605ac382dbb6f23b2d874dbb9769f3cde4a6a99
2014-08-20 10:23:52 -07:00
Elliott Hughes
b9d674c8ad Merge "Implement the GNU basename(3) in addition to the POSIX one." 2014-08-19 02:44:29 +00:00
Elliott Hughes
09c39d6df0 Implement the GNU basename(3) in addition to the POSIX one.
Code like perf(1) needs this.

Bug: 11860789
Change-Id: I907eb448052a7b165e4012d74303330d32328cb2
2014-08-19 14:30:30 -07:00
Elliott Hughes
6f4220c49e Merge "Move the meat of <features.h> into <sys/cdefs.h>." 2014-08-19 02:44:29 +00:00
Elliott Hughes
f4c948a9e9 Move the meat of <features.h> into <sys/cdefs.h>.
This way it's a lot harder for us to screw up (since we should always
be including <sys/cdefs.h> anyway).

Bug: 14659579
Change-Id: I23070fff3296b0d1c683bb5e3a6e214146327d53
2014-08-19 11:18:20 -07:00
Elliott Hughes
17f83c93cb Merge "Remove unused defines from <features.h>." 2014-08-19 02:44:29 +00:00
Elliott Hughes
f800969d35 Remove unused defines from <features.h>.
Bug: 14659579
Change-Id: I2ab02b13cafe3faad31248b843d39ab2cdbfeb91
2014-08-19 10:07:00 -07:00
Elliott Hughes
e4fcc3ad2b Merge "Fix _BSD_SOURCE/__USE_BSD." 2014-08-19 02:44:29 +00:00
Elliott Hughes
b810462028 Fix _BSD_SOURCE/__USE_BSD.
Bug: 14659579
Change-Id: I80ec9584f054c02d1078828f6bca759c42bc1d4c
2014-08-19 09:18:03 -07:00
Dmitriy Ivanov
8a76ee821e Merge "Revert "Add support for protected local symbol lookup."" 2014-08-19 02:44:29 +00:00
Dmitriy Ivanov
02aa70589d Revert "Add support for protected local symbol lookup."
This reverts commit d97e9f546ea195686a78e539315b273393609b9e.

Bug: 17107521
(cherry picked from commit 9419420919ea846bbad5510850c7aaec95021648)

Change-Id: I1a6df946ac8075699e77d68ffa6ac4a21b88e4bf
2014-08-19 05:19:53 -07:00
Elliott Hughes
ef7f99d2b5 am 38ba927c: am 0baf2ca3: Merge "Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE)."
* commit '38ba927c35295f935568a8b8c508dcc666780e8c':
  Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE).
2014-08-19 00:48:15 +00:00
Elliott Hughes
38ba927c35 am 0baf2ca3: Merge "Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE)."
* commit '0baf2ca34c7d9ec067b1f33bad69782c2dedc231':
  Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE).
2014-08-19 00:41:14 +00:00
Elliott Hughes
269bef726b am c2289796: am 205cc415: Merge "Improve <sys/cdefs.h>."
* commit 'c228979648e0812b2032d9d622af20153ddf4f29':
  Improve <sys/cdefs.h>.
2014-08-18 22:35:55 +00:00
Elliott Hughes
c228979648 am 205cc415: Merge "Improve <sys/cdefs.h>."
* commit '205cc41556d44b104a21bc6839b7ea44f72df9ba':
  Improve <sys/cdefs.h>.
2014-08-18 22:28:12 +00:00
Dan Albert
8e0eabadba am 247e441b: Resolved conflicts for merge of 6df7b609 to lmp-dev-plus-aosp.
* commit '247e441b0c039046d7ab355424a3d5e41c9bab91':
  Hide C++ stuff in libc. Put it back in libstdc++.
2014-08-18 22:06:30 +00:00
Dan Albert
247e441b0c Resolved conflicts for merge of 6df7b609 to lmp-dev-plus-aosp.
Change-Id: I204e5701031c9ba9cd783c0db58cd51d93a5dc61
2014-08-18 14:58:13 -07:00
Elliott Hughes
205cc41556 Merge "Improve <sys/cdefs.h>." 2014-08-18 21:31:43 +00:00
Elliott Hughes
2cfb4e8e2e Improve <sys/cdefs.h>.
Fix and use __RENAME (and lose ___RENAME --- two underscores should be
enough for anybody). This was the point of this change, because I want
to use __RENAME to support the two basename variants and the two
strerror_r variants.

Lose a bunch of macros that weren't being used.

Lose three dead files from the DNS code.

Change-Id: I3ef645c566b16a52217bc2e68c7d54b37c7c9522
2014-08-18 14:45:42 -07:00
Dmitriy Ivanov
e3ad34b3bc Merge "Revert "Add support for protected local symbol lookup."" into lmp-dev 2014-08-18 21:31:41 +00:00
Dmitriy Ivanov
9419420919 Revert "Add support for protected local symbol lookup."
This reverts commit d97e9f546ea195686a78e539315b273393609b9e.

Bug: 17107521
Change-Id: I2b81ce2b5a4a2d166133a2626e49d81b6aef3672
2014-08-18 15:11:50 -07:00
Christopher Ferris
cc7e938ce1 am bd4351f9: am 54d24e09: Merge "Fix leak_realloc, copy entire allocation."
* commit 'bd4351f9452c1e095e02894c198fe4ee8a99832c':
  Fix leak_realloc, copy entire allocation.
2014-08-18 21:15:06 +00:00
Christopher Ferris
c3bc045a5a am 3290fd46: am 3c7c9a8d: (-s ours) Merge "malloc_usable_size returns the original size."
* commit '3290fd4625fc67f35b641b52c1142bb64dc25d67':
  malloc_usable_size returns the original size.
2014-08-18 21:15:06 +00:00
Christopher Ferris
bd4351f945 am 54d24e09: Merge "Fix leak_realloc, copy entire allocation."
* commit '54d24e099c24d0811ae723640d4e12e9558cab73':
  Fix leak_realloc, copy entire allocation.
2014-08-18 21:05:59 +00:00
Christopher Ferris
3290fd4625 am 3c7c9a8d: (-s ours) Merge "malloc_usable_size returns the original size."
* commit '3c7c9a8d3fda1057b8a4dea85f357a044dd21563':
  malloc_usable_size returns the original size.
2014-08-18 21:05:59 +00:00
Dan Albert
6df7b60998 Hide C++ stuff in libc. Put it back in libstdc++.
Bug: 17062445
Change-Id: I027b186719654c2865b08c3fa83f90fa00c1e838
(cherry picked from commit fd5ee9aebc0a43c7f36a0778c7f416b39ddb870e)
2014-08-18 13:56:07 -07:00
Dan Albert
754e884618 am 2b91cf32: am db2e0247: Merge "Hide C++ stuff in libc. Put it back in libstdc++."
* commit '2b91cf32e646481657d951e1bb2d2493116a4edc':
  Hide C++ stuff in libc. Put it back in libstdc++.
2014-08-18 20:22:56 +00:00
Dan Albert
2b91cf32e6 am db2e0247: Merge "Hide C++ stuff in libc. Put it back in libstdc++."
* commit 'db2e0247ed67dfdf6e16eb47348db81dc8ccd04d':
  Hide C++ stuff in libc. Put it back in libstdc++.
2014-08-18 20:14:48 +00:00
Christopher Ferris
0d9b41e1a8 am 3d7f92e9: am 9e56ce4c: Merge "Fix leak_realloc, copy entire allocation." into lmp-dev
* commit '3d7f92e914b5a89a74d33757379775cc6abaebc1':
  Fix leak_realloc, copy entire allocation.
2014-08-18 19:47:21 +00:00
Christopher Ferris
3d7f92e914 am 9e56ce4c: Merge "Fix leak_realloc, copy entire allocation." into lmp-dev
* commit '9e56ce4cd387cfa45de3a71dcccedd061e09d2f5':
  Fix leak_realloc, copy entire allocation.
2014-08-18 19:33:55 +00:00
Elliott Hughes
7134fc3089 Merge "Regenerate "services.h" from /etc/services." 2014-08-16 04:28:29 +00:00
Elliott Hughes
c4a1de1ae2 Regenerate "services.h" from /etc/services.
Change-Id: Iec118f9a342b5c1f6ce6d48965798b12a7159ad3
2014-08-20 12:11:31 -07:00
Elliott Hughes
3bcd414b78 Merge "Clean up some of our python scripts." 2014-08-16 04:28:29 +00:00
Elliott Hughes
dc1fb7000a Clean up some of our python scripts.
Change-Id: Ifa75345db43434298cfb6113fbe2f7a33b88c79d
2014-08-20 11:16:11 -07:00
Dan Albert
2222eae61e Merge "Missing #include <sys/cdefs.h>." 2014-08-16 04:28:29 +00:00
Dan Albert
3a25ab952b Missing #include <sys/cdefs.h>.
Needed for __BEGIN_DECLS/__END_DECLS. Currently fine because it's being
included after other files that do this.

Change-Id: I1f12368fc461f6ef5ca90992cf19f317f0b5d7af
2014-08-19 11:08:02 -07:00
Dan Albert
934c8015d5 Merge "Expose android_set_abort_message()." 2014-08-16 04:20:19 +00:00
Dan Albert
ce6b1abbb1 Expose android_set_abort_message().
Removes the leading underscores from __android_set_abort_message() and
moves its declaration into a public header file.

Bug: 17059126
Change-Id: I470c79db47ec783ea7a54b800f8b78ecbe7479ab
2014-08-18 14:37:42 -07:00
Christopher Ferris
3c7c9a8d3f Merge "malloc_usable_size returns the original size." 2014-08-16 04:09:33 +00:00
Christopher Ferris
5d9e145c62 malloc_usable_size returns the original size.
Bug: 16874447

(cherry picked from commit 59c1ee44d0a560a754513fab12641c8a57a20d9e)

Change-Id: I70839632974367c8b9893fb1f9c5ee4364608470
2014-08-18 13:10:16 -07:00
Christopher Ferris
54d24e099c Merge "Fix leak_realloc, copy entire allocation." 2014-08-16 04:08:14 +00:00
Christopher Ferris
6d40d34908 Fix leak_realloc, copy entire allocation.
Bug: 16874447

(cherry picked from commit 5df0839cea98bd8c37d8dba5b94b98e99c681a94)

Change-Id: I9280505c0c1c3b5da24ba590448dcd6e7a230406
2014-08-18 13:10:47 -07:00
Dan Albert
db2e0247ed Merge "Hide C++ stuff in libc. Put it back in libstdc++." 2014-08-16 04:08:14 +00:00
Dan Albert
fd5ee9aebc Hide C++ stuff in libc. Put it back in libstdc++.
Bug: 17062445
Change-Id: I027b186719654c2865b08c3fa83f90fa00c1e838
2014-08-18 12:01:01 -07:00
Elliott Hughes
0baf2ca34c Merge "Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE)." 2014-08-16 04:03:35 +00:00
Elliott Hughes
5f5cc45cf0 Fix <features.h> (_BSD_SOURCE and _GNU_SOURCE).
<features.h> is supposed to take user-settable stuff like _GNU_SOURCE
and _BSD_SOURCE and turn them into __USE_GNU and __USE_BSD for use in
the C library headers. Instead, bionic used to unconditionally define
_BSD_SOURCE and _GNU_SOURCE, and then test _GNU_SOURCE in the header
files (which makes no sense whatsoever).

Bug: 14659579
Change-Id: Ice4cf21a364ea2e559071dc8329e995277d5b987
2014-08-18 16:04:03 -07:00
Christopher Ferris
9e56ce4cd3 Merge "Fix leak_realloc, copy entire allocation." into lmp-dev 2014-08-16 04:01:11 +00:00
Christopher Ferris
5df0839cea Fix leak_realloc, copy entire allocation.
Bug: 16874447
Change-Id: Ie54a73fd75529961195fa5173d9116d0ae897b03
2014-08-15 18:55:53 -07:00
Dmitriy Ivanov
32efc8ea0f am 05d2a981: am 2b6cdb5e: Merge "Add atexit test for attributed c-tor/d-tor"
* commit '05d2a98133b5432f70e1f830aa55c5f50bfb3e29':
  Add atexit test for attributed c-tor/d-tor
2014-08-16 00:44:40 +00:00
Dmitriy Ivanov
7677b6f382 am 18fbdce8: am d8e00769: Merge "Keep symbols for linker" into lmp-dev
* commit '18fbdce86e02726581a13954f27a7ab05e438a2e':
  Keep symbols for linker
2014-08-16 00:43:44 +00:00
Dmitriy Ivanov
05d2a98133 am 2b6cdb5e: Merge "Add atexit test for attributed c-tor/d-tor"
* commit '2b6cdb5e459661727c99e81660c7c3df5cdbe024':
  Add atexit test for attributed c-tor/d-tor
2014-08-15 23:13:30 +00:00
Dmitriy Ivanov
18fbdce86e am d8e00769: Merge "Keep symbols for linker" into lmp-dev
* commit 'd8e007695c755bba75b7243077271b6d655d818a':
  Keep symbols for linker
2014-08-15 21:42:47 +00:00
Hans Boehm
e91a58a164 am a1ff9e8e: am f0f66c02: Have stdatomic.h punt to C++ atomic when possible
* commit 'a1ff9e8eb00d189b01d7f3cdb21541ce0445a3b1':
  Have stdatomic.h punt to C++ atomic when possible
2014-08-15 21:27:05 +00:00
Dmitriy Ivanov
2b6cdb5e45 Merge "Add atexit test for attributed c-tor/d-tor" 2014-08-15 21:23:56 +00:00
Dmitriy Ivanov
d8e007695c Merge "Keep symbols for linker" into lmp-dev 2014-08-15 21:23:40 +00:00
Dmitriy Ivanov
4571f31bd4 Add atexit test for attributed c-tor/d-tor
1. Add test for __attribute__((constructor/destructor))
    and static constructor

 2. Compile C++ testlibs with -std=gnu++11

Change-Id: I67f9308144a0c638a51f111fcba8e1933fe0ba41
2014-08-15 14:22:07 -07:00
Dmitriy Ivanov
be4348e7c7 Keep symbols for linker
Bug: 17011146

(cherry picked from commit ad5e8b50737144833233d47fe04deb3fa0284df2)

Change-Id: Ib1d3f8d6d38af98586658e01ed1ec79d2c5b4d42
2014-08-15 14:18:26 -07:00
Hans Boehm
a1ff9e8eb0 am f0f66c02: Have stdatomic.h punt to C++ atomic when possible
* commit 'f0f66c0264eb4b6ee56072af34c91a78a9184f23':
  Have stdatomic.h punt to C++ atomic when possible
2014-08-15 21:16:51 +00:00
Hans Boehm
f0f66c0264 Have stdatomic.h punt to C++ atomic when possible
This is an alternate, somewhat simpler, fix that makes it safe to
include both <atomic> and <stdatomic.h> from C++ code in either order.
It means that C code consistently uses one implementation of atomics
and C++ another.  We still have to make sure that those two
implementations interoperate correctly at runtime; in particular,
any flavor of atomic object needs to be represented exactly like the
underlying type, with the proper alignment constraint.

Bug:17007799
Change-Id: Iffcfc5220d8fa150f89dd083a121b24d23f268fc
(cherry picked from commit 019d3958118b7dc3ec8444ad2accca50c268b737)
2014-08-15 11:42:36 -07:00
Hans Boehm
cc6c2324a7 am e9c7a452: am 7d05f741: Merge "Have stdatomic.h punt to C++ atomic when possible"
* commit 'e9c7a4528cf33f571e9ba4d3ccc032b4f377a89b':
  Have stdatomic.h punt to C++ atomic when possible
2014-08-15 18:33:22 +00:00
Hans Boehm
e9c7a4528c am 7d05f741: Merge "Have stdatomic.h punt to C++ atomic when possible"
* commit '7d05f741e7885ad42f853b5fe2b1d31cdc756b5c':
  Have stdatomic.h punt to C++ atomic when possible
2014-08-15 18:27:38 +00:00
Dan Albert
e7bf334437 am 47822dae: am e2050ae1: Merge "Change name of MB_CUR_MAX implementation function." into lmp-dev
* commit '47822dae63d939b58ca9b946b90396475ac14930':
  Change name of MB_CUR_MAX implementation function.
2014-08-15 13:39:47 +00:00
Dan Albert
6676667b7f am 716fe4ca: am 553c0ea5: Merge "Move mtctxres.c to libc_dns.a." into lmp-dev
* commit '716fe4caacff804a689ac84eaeb5cc5a9311edcd':
  Move mtctxres.c to libc_dns.a.
2014-08-15 13:39:46 +00:00
Christopher Ferris
033c2787c4 am c3731ea8: am 0533195e: Merge "malloc_usable_size returns the original size." into lmp-dev
* commit 'c3731ea8fdeb5d4d0152b986b4bb9316dc49ead8':
  malloc_usable_size returns the original size.
2014-08-15 11:52:10 +00:00
Dan Albert
47822dae63 am e2050ae1: Merge "Change name of MB_CUR_MAX implementation function." into lmp-dev
* commit 'e2050ae1aa9d7e8e6f425bbb7a3991fe612f3913':
  Change name of MB_CUR_MAX implementation function.
2014-08-15 11:49:36 +00:00
Dan Albert
716fe4caac am 553c0ea5: Merge "Move mtctxres.c to libc_dns.a." into lmp-dev
* commit '553c0ea52bde59800fda2ddd380dd18d4f3ab192':
  Move mtctxres.c to libc_dns.a.
2014-08-15 11:49:36 +00:00
Christopher Ferris
c3731ea8fd am 0533195e: Merge "malloc_usable_size returns the original size." into lmp-dev
* commit '0533195e16b86794f14dfb1800ca170ce2548b9f':
  malloc_usable_size returns the original size.
2014-08-15 11:36:56 +00:00
Hans Boehm
7d05f741e7 Merge "Have stdatomic.h punt to C++ atomic when possible" 2014-08-15 05:01:31 +00:00
Hans Boehm
019d395811 Have stdatomic.h punt to C++ atomic when possible
This is an alternate, somewhat simpler, fix that makes it safe to
include both <atomic> and <stdatomic.h> from C++ code in either order.
It means that C code consistently uses one implementation of atomics
and C++ another.  We still have to make sure that those two
implementations interoperate correctly at runtime; in particular,
any flavor of atomic object needs to be represented exactly like the
underlying type, with the proper alignment constraint.

Bug:17007799
Change-Id: Iffcfc5220d8fa150f89dd083a121b24d23f268fc
2014-08-15 10:38:20 -07:00
Dmitriy Ivanov
337527f4a7 am a43011da: am 4bea4c63: Label pages mapped by linker_allocator
* commit 'a43011daf05cf0b22f4c0d387254351e87898035':
  Label pages mapped by linker_allocator
2014-08-14 23:49:22 +00:00
Dmitriy Ivanov
a43011daf0 am 4bea4c63: Label pages mapped by linker_allocator
* commit '4bea4c631f747cc6b570ecd42c744a9b1103bf28':
  Label pages mapped by linker_allocator
2014-08-14 23:34:48 +00:00
Dan Albert
cf59e8ca66 am 3dbab7a7: am d0cce143: Merge "Move mtctxres.c to libc_dns.a."
* commit '3dbab7a709c1048e5051c4496f65def3b2f2c44c':
  Move mtctxres.c to libc_dns.a.
2014-08-14 23:33:27 +00:00
Dan Albert
3dbab7a709 am d0cce143: Merge "Move mtctxres.c to libc_dns.a."
* commit 'd0cce1436435bfcb477f2c5a670ea6675473c2f8':
  Move mtctxres.c to libc_dns.a.
2014-08-14 23:28:19 +00:00
Dmitriy Ivanov
4eb28d6278 am f6829737: am 8457779b: Merge "Keep symbols for linker"
* commit 'f6829737ccaec1af17290283d2c571dd06600f96':
  Keep symbols for linker
2014-08-14 23:00:44 +00:00
Dmitriy Ivanov
f6829737cc am 8457779b: Merge "Keep symbols for linker"
* commit '8457779b3469f5fa6b8104c2fd3869a72f1345dd':
  Keep symbols for linker
2014-08-14 22:55:53 +00:00
Dmitriy Ivanov
1467dfe3e8 Make string tests check all alignment combinations
Reduce randomization of the test by (1) replacing random() & 255
 with hard-coded char and (2) by making State *Iteration function
 visit every possible alignment combination instead of 10 random ones.

Change-Id: I0ff0b4ca817ba9fbbcce53e09b25eb10a1a853c2
2014-08-14 15:05:20 -07:00
Dan Albert
db4b9e600e am 49af4264: am 0d4ccee3: Merge "Change name of MB_CUR_MAX implementation function."
* commit '49af4264ab57618f5e189287f4f2aa9f8aae2231':
  Change name of MB_CUR_MAX implementation function.
2014-08-14 21:35:56 +00:00
Dan Albert
7fe5957503 am 72de5013: am 104a4729: Merge "Add more functionality to glibc symbol checker."
* commit '72de50139dd7bccebb57b2764eae0f534b6ecdca':
  Add more functionality to glibc symbol checker.
2014-08-14 21:35:56 +00:00
Dan Albert
49af4264ab am 0d4ccee3: Merge "Change name of MB_CUR_MAX implementation function."
* commit '0d4ccee35101c6bcd6cc28c23fe79d7b48a98dd0':
  Change name of MB_CUR_MAX implementation function.
2014-08-14 21:31:21 +00:00
Dan Albert
72de50139d am 104a4729: Merge "Add more functionality to glibc symbol checker."
* commit '104a472958f86eafafe0c1d9e2c58ba6403f99e7':
  Add more functionality to glibc symbol checker.
2014-08-14 21:31:20 +00:00
Dan Albert
e2050ae1aa Merge "Change name of MB_CUR_MAX implementation function." into lmp-dev 2014-08-14 19:49:28 +00:00
Dan Albert
bafee43161 Change name of MB_CUR_MAX implementation function.
Glibc calls theirs __ctype_get_mb_cur_max. Make ours match to cut down
on differences between bionic and glibc.

Bug: 11156955
Change-Id: Ib7231f01aa9676dff30aea0af25d597bfe07bc73
2014-08-14 14:01:44 -07:00
Dmitriy Ivanov
8457779b34 Merge "Keep symbols for linker" 2014-08-14 19:49:27 +00:00
Dmitriy Ivanov
ad5e8b5073 Keep symbols for linker
Bug: 17011146
Change-Id: I314e72a1ac9325bf5ea84d52e3d5bc51d8ea00cf
2014-08-14 15:46:36 -07:00
Dan Albert
0d4ccee351 Merge "Change name of MB_CUR_MAX implementation function." 2014-08-14 19:41:13 +00:00
Dan Albert
224ff048ef Change name of MB_CUR_MAX implementation function.
Glibc calls theirs __ctype_get_mb_cur_max. Make ours match to cut down
on differences between bionic and glibc.

Bug: 11156955
Change-Id: Ib7231f01aa9676dff30aea0af25d597bfe07bc73
2014-08-14 13:56:51 -07:00
Dan Albert
104a472958 Merge "Add more functionality to glibc symbol checker." 2014-08-14 19:41:13 +00:00
Dan Albert
76212eeb53 Add more functionality to glibc symbol checker.
Also scan NDK's unwanted symbols list (to show the things that we're
exporting but the NDK isn't. Symbols hidden in the NDK will be marked
with a *.

Add a -u (--unwanted) flag to disable the first two printed groups
(all symbols in bionic, all symbols in glibc). This is helpful when
wanting to grep in the list of unwanted symbols.

Finally, update the list of known differences between us and glibc.

Change-Id: I6fdb4126823098430454763c391bd8cd369a75bb
2014-08-14 14:02:34 -07:00
Dan Albert
553c0ea52b Merge "Move mtctxres.c to libc_dns.a." into lmp-dev 2014-08-14 16:46:52 +00:00
Dan Albert
9f533972ae Move mtctxres.c to libc_dns.a.
Has the effect of making ___mtctxres hidden.

Bug: 11156955
Change-Id: I5aa5f49344ad5ecb33f48737430561b329bcbb0d
(cherry picked from commit 891ec7a6e46e60d7dfa1cf229e14a8e8634e272b)
2014-08-14 16:46:22 -07:00
Christopher Ferris
0533195e16 Merge "malloc_usable_size returns the original size." into lmp-dev 2014-08-14 16:46:52 +00:00
Christopher Ferris
59c1ee44d0 malloc_usable_size returns the original size.
Bug: 16874447
Change-Id: Ie3ce683fd1f58b837b8ea91dc798e561b8593356
2014-08-14 12:48:04 -07:00
Hans Boehm
6486388ee3 am faa0a7b7: am 4f85c6ff: Merge "Add memory ordering constraint, convert to C11 atomics"
* commit 'faa0a7b7886e98c63078b4874224c7ea66a70036':
  Add memory ordering constraint, convert to C11 atomics
2014-08-14 03:38:37 +00:00
Hans Boehm
faa0a7b788 am 4f85c6ff: Merge "Add memory ordering constraint, convert to C11 atomics"
* commit '4f85c6ffd31d1f8cc000ab326edd8edb7ecd55a9':
  Add memory ordering constraint, convert to C11 atomics
2014-08-14 01:21:44 +00:00
Dmitriy Ivanov
4bea4c631f Label pages mapped by linker_allocator
(cherry picked from commit 51a22a12ab370933a35463f5c81223132ec64dcb)

Bug: 17013324
Change-Id: I345c9d0fecc29d3626c5be01cc3c0ed1583ac361
2014-08-13 18:15:29 -07:00
Dmitriy Ivanov
3435d89666 am 63ea43de: am e942b3ed: Merge "Added test for ifunc support in dynamic linker."
* commit '63ea43de8f2f5aa5c260165a1d4415f642656d75':
  Added test for ifunc support in dynamic linker.
2014-08-14 00:38:50 +00:00
Dmitriy Ivanov
63ea43de8f am e942b3ed: Merge "Added test for ifunc support in dynamic linker."
* commit 'e942b3ed81ad4e0161f3ffa4f8d0017bfbb750e2':
  Added test for ifunc support in dynamic linker.
2014-08-14 00:36:41 +00:00
Dan Albert
89c57c8728 am 07337271: am 9a74e4c1: Merge "Hide __libc_init_vdso()."
* commit '0733727194593db83aa10ecce74028745a75460a':
  Hide __libc_init_vdso().
2014-08-13 23:11:48 +00:00
Dan Albert
0733727194 am 9a74e4c1: Merge "Hide __libc_init_vdso()."
* commit '9a74e4c15c17b9126ad348d865002880fc36bd12':
  Hide __libc_init_vdso().
2014-08-13 23:05:11 +00:00
Dan Albert
808a44c37f am 9b4410b9: am 1f4c536f: (-s ours) Merge "Hide ScopedTrace."
* commit '9b4410b9123b32ecb3b48eb17ef67e029660a821':
  Hide ScopedTrace.
2014-08-13 20:21:59 +00:00
Dan Albert
9b4410b912 am 1f4c536f: (-s ours) Merge "Hide ScopedTrace."
* commit '1f4c536fd53c69ba8122528435251b894e877e2a':
  Hide ScopedTrace.
2014-08-13 20:16:54 +00:00
Dmitriy Ivanov
41fa785698 am af2ee506: am 8a84d383: Optimize symbol lookup
* commit 'af2ee5068d8516919f38b2785de1ccac996d7d64':
  Optimize symbol lookup
2014-08-13 16:52:47 +00:00
Dmitriy Ivanov
af2ee5068d am 8a84d383: Optimize symbol lookup
* commit '8a84d383fb74135e928d341baa180c55854f2f42':
  Optimize symbol lookup
2014-08-13 16:47:03 +00:00
Dmitriy Ivanov
f759d4cb51 am 15921382: am db0785cb: Merge "Optimize symbol lookup"
* commit '15921382fb94bbbfa559f76eb2aaca9f54fb98d0':
  Optimize symbol lookup
2014-08-13 16:36:08 +00:00
Dmitriy Ivanov
15921382fb am db0785cb: Merge "Optimize symbol lookup"
* commit 'db0785cbf9ee6cc0ace5c89496d7e9f12c288a83':
  Optimize symbol lookup
2014-08-13 16:33:27 +00:00
Dmitriy Ivanov
8a84d383fb Optimize symbol lookup
Do not run symbol lookup on already visited soinfos
 Not taking into account already visited libraries
 dramatically slows down dlsym in cases when there
 are multiple occurrences of a large library in
 dependency tree.

Bug: 16977077

(cherry picked from commit 042426ba6375f5c145379e598486ec6d675533c9)

Change-Id: I69d59e395e8112f119343e8a4d72fe31cd449f31
2014-08-13 09:30:52 -07:00
Dan Albert
0f30332e89 am 4b100dd7: am d332bc68: Hide __libc_malloc_dispatch.
* commit '4b100dd72fe368296882e91ad76d2dedf89e1fa2':
  Hide __libc_malloc_dispatch.
2014-08-13 15:54:50 +00:00
Dan Albert
4b100dd72f am d332bc68: Hide __libc_malloc_dispatch.
* commit 'd332bc68783b9bdef4ecb38bec4e45765a5e9a94':
  Hide __libc_malloc_dispatch.
2014-08-13 15:51:06 +00:00
Dmitriy Ivanov
db0785cbf9 Merge "Optimize symbol lookup" 2014-08-13 01:32:01 +00:00
Dmitriy Ivanov
042426ba63 Optimize symbol lookup
Do not run symbol lookup on already visited soinfos
 Not taking into account already visited libraries
 dramatically slows down dlsym in cases when there
 are multiple occurrences of a large library in
 dependency tree.

Bug: 16977077
Change-Id: I1379f30ed8b06758dd1cc76b80833ac8589afa50
2014-08-13 09:21:57 -07:00
Dan Albert
fe9633c555 am 25b55a09: am 6e3823d3: Merge "Hide __libc_malloc_dispatch."
* commit '25b55a09f661e07e920a8e68951517e1be22349d':
  Hide __libc_malloc_dispatch.
2014-08-13 00:06:04 +00:00
Dan Albert
25b55a09f6 am 6e3823d3: Merge "Hide __libc_malloc_dispatch."
* commit '6e3823d37e54929558990d7c475bc30d381098fe':
  Hide __libc_malloc_dispatch.
2014-08-13 00:02:04 +00:00
Dan Albert
d332bc6878 Hide __libc_malloc_dispatch.
Now that -Bsymbolic is fixed, we can hide __libc_malloc_dispatch without
breaking ASAN.

Bug: 11156955
Change-Id: Ia2fc9b046a74e666b33aa6c6c5435f70a63b8021
2014-08-12 16:54:24 -07:00
Dan Albert
9a74e4c15c Merge "Hide __libc_init_vdso()." 2014-08-12 23:11:16 +00:00
Dan Albert
b3aaf398e1 Hide __libc_init_vdso().
Bug: 11156955
Change-Id: I7ee31e1ee2ce479c5746b374a239637d582815fe
2014-08-13 13:11:58 -07:00
Dan Albert
d0cce14364 Merge "Move mtctxres.c to libc_dns.a." 2014-08-12 19:23:43 +00:00
Dan Albert
891ec7a6e4 Move mtctxres.c to libc_dns.a.
Has the effect of making ___mtctxres hidden.

Bug: 17007799
Change-Id: I5aa5f49344ad5ecb33f48737430561b329bcbb0d
2014-08-14 22:50:45 +00:00
Hans Boehm
4f85c6ffd3 Merge "Add memory ordering constraint, convert to C11 atomics" 2014-08-12 19:23:43 +00:00
Dmitriy Ivanov
e942b3ed81 Merge "Added test for ifunc support in dynamic linker." 2014-08-12 19:23:43 +00:00
Dan Albert
1f4c536fd5 Merge "Hide ScopedTrace." 2014-08-12 19:23:43 +00:00
Dan Albert
f2c1e7ee78 Hide ScopedTrace.
Bug: 11156955
Change-Id: I6cddc868d1c6503e30f1ffcf460f45670631d64a
2014-08-13 11:25:01 -07:00
Dan Albert
6e3823d37e Merge "Hide __libc_malloc_dispatch." 2014-08-12 19:23:43 +00:00
Dan Albert
edd81faff0 Hide __libc_malloc_dispatch.
Now that -Bsymbolic is fixed, we can hide __libc_malloc_dispatch without
breaking ASAN.

Bug: 11156955
Change-Id: Ia2fc9b046a74e666b33aa6c6c5435f70a63b8021
2014-08-12 16:53:14 -07:00
Dmitriy Ivanov
b37298f436 am ab63b6b0: am 00c16c1b: Merge "Label pages mapped by linker_allocator"
* commit 'ab63b6b067c848aa789c6bda4f420b929d5f3c14':
  Label pages mapped by linker_allocator
2014-08-11 16:47:03 +00:00
Dmitriy Ivanov
ab63b6b067 am 00c16c1b: Merge "Label pages mapped by linker_allocator"
* commit '00c16c1b921dfeab42eb92ac53c6d79addc9f549':
  Label pages mapped by linker_allocator
2014-08-11 16:42:25 +00:00
Elliott Hughes
d4f4df8bd9 am a466df52: am 72d7e667: Fix our x86 PIC_PROLOGUE.
* commit 'a466df528c90495931f46fbe39ed37ea3893d5ee':
  Fix our x86 PIC_PROLOGUE.
2014-08-10 08:59:06 +00:00
Elliott Hughes
a466df528c am 72d7e667: Fix our x86 PIC_PROLOGUE.
* commit '72d7e667c7e926cb120c4edb53cbf74c652ab915':
  Fix our x86 PIC_PROLOGUE.
2014-08-10 08:55:52 +00:00
Elliott Hughes
daf86953fb am cd2cd65c: am 4d0f742a: Merge "Fix our x86 PIC_PROLOGUE."
* commit 'cd2cd65c5f5a65e27610d3cd5a6838395114aa5e':
  Fix our x86 PIC_PROLOGUE.
2014-08-10 08:55:20 +00:00
Elliott Hughes
cd2cd65c5f am 4d0f742a: Merge "Fix our x86 PIC_PROLOGUE."
* commit '4d0f742afe4867a0064d46a5b55df33e07c02c9d':
  Fix our x86 PIC_PROLOGUE.
2014-08-10 08:36:55 +00:00
Elliott Hughes
72d7e667c7 Fix our x86 PIC_PROLOGUE.
The old definition only worked for functions that didn't use numbered
local labels. Upstream uses '666' not only as some kind of BSD in-joke,
but also because there's little likelihood of any function having
labels that high.

There's a wider question about whether we actually want to go via the
PLT at all in this code, but that's a question for another day.

Bug: 16906712
Change-Id: I3cd8ecc448b33f942bb6e783931808ef39091489
2014-08-09 18:45:55 -07:00
Dan Albert
8e4d698df8 am 2a8efb81: am f4d21fba: Merge "Make __set_errno hidden in asm." into lmp-dev
* commit '2a8efb8169ff6b1b9375aac01f2263b4f71cb9ec':
  Make __set_errno hidden in asm.
2014-08-09 06:58:53 +00:00
Dan Albert
2a8efb8169 am f4d21fba: Merge "Make __set_errno hidden in asm." into lmp-dev
* commit 'f4d21fba064c398110ec0428afc0a025afb2254e':
  Make __set_errno hidden in asm.
2014-08-09 06:55:08 +00:00
Elliott Hughes
4d0f742afe Merge "Fix our x86 PIC_PROLOGUE." 2014-08-09 00:52:40 +00:00
Elliott Hughes
ca5b6a74a7 Fix our x86 PIC_PROLOGUE.
The old definition only worked for functions that didn't use numbered
local labels. Upstream uses '666' not only as some kind of BSD in-joke,
but also because there's little likelihood of any function having
labels that high.

There's a wider question about whether we actually want to go via the
PLT at all in this code, but that's a question for another day.

(cherry-pick of 72d7e667c7e926cb120c4edb53cbf74c652ab915.)

Bug: 16906712
Change-Id: I3cd8ecc448b33f942bb6e783931808ef39091489
2014-08-09 22:18:33 -07:00
Dmitriy Ivanov
00c16c1b92 Merge "Label pages mapped by linker_allocator" 2014-08-09 00:45:41 +00:00
Dmitriy Ivanov
51a22a12ab Label pages mapped by linker_allocator
Change-Id: I7e0bf29bc1a480e9be0d1ae573ca1063d90d82ff
2014-08-11 09:22:48 -07:00
Dan Albert
f4d21fba06 Merge "Make __set_errno hidden in asm." into lmp-dev 2014-08-09 00:45:27 +00:00
Dan Albert
8e650110e7 am 21588d1f: am a0db4641: Merge "Make __set_errno hidden in asm."
* commit '21588d1f2e885d42b724d8c22ea313593c69cac5':
  Make __set_errno hidden in asm.
2014-08-08 22:53:57 +00:00
Dan Albert
21588d1f2e am a0db4641: Merge "Make __set_errno hidden in asm."
* commit 'a0db46418757dd1b399acb97ff42083cc274e8ae':
  Make __set_errno hidden in asm.
2014-08-08 22:46:15 +00:00
Dan Albert
16f3c423fa am 287762ed: am 3788a1ee: Merge "Revert "Fix incorrect relocations for x86.""
* commit '287762edb7bc2d13cdd4c02f049eac4cf8630876':
  Revert "Fix incorrect relocations for x86."
2014-08-08 22:45:51 +00:00
Dan Albert
287762edb7 am 3788a1ee: Merge "Revert "Fix incorrect relocations for x86.""
* commit '3788a1ee8eae4180117010bb9302334acfe1d218':
  Revert "Fix incorrect relocations for x86."
2014-08-08 22:42:29 +00:00
Dan Albert
e35fd48a83 Make __set_errno hidden in asm.
This fixes the build after the -Bsymbolic change.

Bug: 16853291
Change-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2
(cherry picked from commit bc9f9f25bf1247a6a638a2a2df8441bdd9fabad7)
2014-08-08 15:37:50 -07:00
Hans Boehm
30214b901e Add memory ordering constraint, convert to C11 atomics
Add an ordering constraint/fence to __system_property_serial.
This slows down a read on a Nexus 5 from about 50 to about 70 ns,
but avoids the possibility of seeing an inconsistent property value.
Use C11 atomic operations where easy and appropriate.
This code remains not fully C++11 memory model conformant, but
I would now expect the generated code to now be correct with current compilers.

Bug:14970171
Change-Id: I0891ff1d0f914ae5c3857e3d76b6a7c8a4a07d83
2014-08-08 11:34:25 -07:00
Brigid Smith
c5a13efa9b Added test for ifunc support in dynamic linker.
ifuncs now work in i386 and x86_64 when called in the same library as
well as in a different library.

Bug:6657325
Change-Id: Ic0c48b1b0a76cb90f36c20c79f68294cc3fd44a1
2014-08-08 11:29:35 -07:00
Dan Albert
a0db464187 Merge "Make __set_errno hidden in asm." 2014-08-08 18:16:13 +00:00
Dan Albert
bc9f9f25bf Make __set_errno hidden in asm.
This fixes the build after the -Bsymbolic change.

Bug: 16853291
Change-Id: I989c9fec3c32e0289ea257a3bd2b7fd2709b6ce2
2014-08-08 15:35:47 -07:00
Christopher Ferris
c455eb2478 am 98d4eaab: am 1c5e415f: Merge "Add a way to disable backtracing in malloc debug."
* commit '98d4eaab3fe8e0a243ce2abaf6647acb99e9d81e':
  Add a way to disable backtracing in malloc debug.
2014-08-08 16:57:32 +00:00
Christopher Ferris
98d4eaab3f am 1c5e415f: Merge "Add a way to disable backtracing in malloc debug."
* commit '1c5e415f8c4cd2cb10ad1d1cf660d17161132772':
  Add a way to disable backtracing in malloc debug.
2014-08-08 16:53:11 +00:00
Christopher Ferris
629552fb67 am f1820351: am 49de01a5: Add a way to disable backtracing in malloc debug.
* commit 'f18203517e61fdefbe42620426cc9990294dda00':
  Add a way to disable backtracing in malloc debug.
2014-08-08 16:38:57 +00:00
Christopher Ferris
f18203517e am 49de01a5: Add a way to disable backtracing in malloc debug.
* commit '49de01a5be7bfb07baaea7415647d838383e1b59':
  Add a way to disable backtracing in malloc debug.
2014-08-08 16:35:57 +00:00
Elliott Hughes
e92e559092 am b763b7d6: am f2d8c357: Merge "Remove misleading arm/arm64 PIC_SYM."
* commit 'b763b7d6d57380eb82f6fe5cb62864ea12b405ae':
  Remove misleading arm/arm64 PIC_SYM.
2014-08-08 16:25:09 +00:00
Elliott Hughes
b763b7d6d5 am f2d8c357: Merge "Remove misleading arm/arm64 PIC_SYM."
* commit 'f2d8c357eec1bbc4e7441942dfc338ad1d9a207a':
  Remove misleading arm/arm64 PIC_SYM.
2014-08-08 16:21:23 +00:00
Christopher Ferris
3c684d4393 am e2005cda: am 92f0c91b: Merge "Create a distinct temp directory for each run."
* commit 'e2005cdae0e6ad103fa18e61d5f46c5549fac4e4':
  Create a distinct temp directory for each run.
2014-08-08 07:19:10 +00:00
Christopher Ferris
e2005cdae0 am 92f0c91b: Merge "Create a distinct temp directory for each run."
* commit '92f0c91b82c60788b14062ca032ccc732f0fba4c':
  Create a distinct temp directory for each run.
2014-08-08 07:17:17 +00:00
Christopher Ferris
49de01a5be Add a way to disable backtracing in malloc debug.
The property libc.debug.malloc.nobacktrace set to non-zero disables
getting backtracing when using mode 1 or mode 10.

Bug: 16874447

Change-Id: I7650ba9f4385b5110b743cab01e877fc69545b3c
2014-08-08 00:16:29 -07:00
Elliott Hughes
d0a07699b4 am 0d9cc846: am 43227c0b: Android is all-PIC/PIE.
* commit '0d9cc846f748c72ad8d8df4b606f5333b61cabf0':
  Android is all-PIC/PIE.
2014-08-08 02:26:42 +00:00
Elliott Hughes
0d9cc846f7 am 43227c0b: Android is all-PIC/PIE.
* commit '43227c0b400a33dc9722269beda26313c391fb1e':
  Android is all-PIC/PIE.
2014-08-08 00:53:31 +00:00
Dan Albert
2f4002d9f8 am d17047ff: am cdd2f072: Merge "Fix incorrect relocations for x86."
* commit 'd17047ffd6a6c54e177bc75b05082afeae40f2f9':
  Fix incorrect relocations for x86.
2014-08-08 00:29:29 +00:00
Dan Albert
d17047ffd6 am cdd2f072: Merge "Fix incorrect relocations for x86."
* commit 'cdd2f072af5c22750e06d1613b72336ecda7e71f':
  Fix incorrect relocations for x86.
2014-08-08 00:23:54 +00:00
Dan Albert
3788a1ee8e Merge "Revert "Fix incorrect relocations for x86."" 2014-08-07 18:51:06 +00:00
Dan Albert
3726f9c38b Revert "Fix incorrect relocations for x86."
Bug: 16853291
This reverts commit 512bc5232689bec9c763c8247b59de970096ff87.
2014-08-08 22:26:47 +00:00
Elliott Hughes
c4a9c129dd am 1636f80b: am d994622e: Merge "Android is all-PIC/PIE."
* commit '1636f80b7d30103f10ab3ccc2632e8f693c0f9c0':
  Android is all-PIC/PIE.
2014-08-07 18:37:50 +00:00
Elliott Hughes
1636f80b7d am d994622e: Merge "Android is all-PIC/PIE."
* commit 'd994622ebf2c4b7e918d9e1f1840f9df88ee7222':
  Android is all-PIC/PIE.
2014-08-07 18:33:33 +00:00
Elliott Hughes
43227c0b40 Android is all-PIC/PIE.
Clean up the x86/x86_64 assembler. The motivator (other than reducing
confusion) was that asm.h incorrectly checked PIC rather than __PIC__.

Bug: 16823325

(cherry picked from commit 6b6364a7fc7c3ba37ee907776a29bdc8c9793db9)

Change-Id: I89ca57fa0eb34a36de6cb11ea85f71054fce709d
2014-08-07 11:28:34 -07:00
Christopher Ferris
1c5e415f8c Merge "Add a way to disable backtracing in malloc debug." 2014-08-07 17:53:11 +00:00
Christopher Ferris
88a1f520d2 Add a way to disable backtracing in malloc debug.
The property libc.debug.malloc.nobacktrace set to non-zero disables
getting backtracing when using mode 1 or mode 10.

Bug: 16874447

(cherry picked from 49de01a5be7bfb07baaea7415647d838383e1b59)

Change-Id: I6bbefe5420b14991fe84c2f849222dcd7cb592bf
2014-08-08 09:40:17 -07:00
Christopher Ferris
92f0c91b82 Merge "Create a distinct temp directory for each run." 2014-08-07 15:46:11 +00:00
Christopher Ferris
01bd32e0e4 Create a distinct temp directory for each run.
Modify make__NR_name so that only __ARM_NR_ is exempted from the
__NR_ being prepended. This avoids a case where using a name starting
with __ but is not a valid syscall name in SYSCALLS.TXT does not generate
code that will compile but references the function itself and causes
link errors.

Fix all of the directory references from dir_part1 + dir_part2 to
use os.path.join() instead.

Change-Id: Ib9527eba6f25f26a30c5cb0ad431f3f88a7683cf
2014-08-07 19:33:22 -07:00
Dan Albert
cdd2f072af Merge "Fix incorrect relocations for x86." 2014-08-07 14:59:23 +00:00
Dan Albert
512bc52326 Fix incorrect relocations for x86.
These calls were not going through the PLT like they should have been.

Bug: 16853291
Change-Id: Id70488b077256a70137c4417f21be2c2d1d4341c
2014-08-07 16:21:47 -07:00
Elliott Hughes
d994622ebf Merge "Android is all-PIC/PIE." 2014-08-07 14:59:23 +00:00
Elliott Hughes
6b6364a7fc Android is all-PIC/PIE.
Clean up the x86/x86_64 assembler. The motivator (other than reducing
confusion) was that asm.h incorrectly checked PIC rather than __PIC__.

Bug: 16823325
Change-Id: Iaa9d45009e93a4b31b719021c93ac221e336479b
2014-08-07 10:54:54 -07:00
Christopher Ferris
e552abb0b4 am 1c85152f: am 85ebcfce: Merge "Do a second key cleanup in pthread_exit."
* commit '1c85152f76e0696e117760d5f89d23480a753afd':
  Do a second key cleanup in pthread_exit.
2014-08-07 01:17:28 +00:00
Christopher Ferris
1c85152f76 am 85ebcfce: Merge "Do a second key cleanup in pthread_exit."
* commit '85ebcfceb62f011e0db359affefcf5570f518bd5':
  Do a second key cleanup in pthread_exit.
2014-08-07 01:14:05 +00:00
Christopher Ferris
9e849a64ed am 60b4de13: am 3e7b8e2a: Merge "Do a second key cleanup in pthread_exit." into lmp-dev
* commit '60b4de132cfa2efef75033aefe3322762042ea92':
  Do a second key cleanup in pthread_exit.
2014-08-07 01:13:13 +00:00
Christopher Ferris
60b4de132c am 3e7b8e2a: Merge "Do a second key cleanup in pthread_exit." into lmp-dev
* commit '3e7b8e2a8bd16a37cecdae1135a5e7fc6e64c762':
  Do a second key cleanup in pthread_exit.
2014-08-07 01:05:51 +00:00
Elliott Hughes
984e051bcf am 3ea3982f: am 501eb513: Merge "Upgrade bionic to tzdata2014f." into lmp-dev
* commit '3ea3982f1f810049ad02f658220784ace5eae6db':
  Upgrade bionic to tzdata2014f.
2014-08-07 01:00:59 +00:00
Elliott Hughes
3ea3982f1f am 501eb513: Merge "Upgrade bionic to tzdata2014f." into lmp-dev
* commit '501eb513ae4f037dc5ef5db530886c05b7f5d964':
  Upgrade bionic to tzdata2014f.
2014-08-07 00:53:33 +00:00
Elliott Hughes
5b420a25ac am af0ec906: am 6edf8985: Merge "Fix the tzdata update tools." into lmp-dev
* commit 'af0ec906bd0f77971afaf135466e60e41f7faea7':
  Fix the tzdata update tools.
2014-08-07 00:52:49 +00:00
Elliott Hughes
65077ed577 am 5a092670: am f3868fa7: Merge "Upgrade bionic to tzdata2014f."
* commit '5a0926701997d6ff2189054787147adb956d4b3a':
  Upgrade bionic to tzdata2014f.
2014-08-07 00:52:48 +00:00
Elliott Hughes
a76126a0a3 am 0415a4a6: am b4b7e054: Merge "Fix the tzdata update tools."
* commit '0415a4a6f89e31cd8b3d5126fd7a1b9877d84906':
  Fix the tzdata update tools.
2014-08-07 00:52:48 +00:00
Elliott Hughes
af0ec906bd am 6edf8985: Merge "Fix the tzdata update tools." into lmp-dev
* commit '6edf8985c1fe205d13543212fba0e079ed7dc4a9':
  Fix the tzdata update tools.
2014-08-07 00:44:37 +00:00
Elliott Hughes
5a09267019 am f3868fa7: Merge "Upgrade bionic to tzdata2014f."
* commit 'f3868fa735ad67ec853f3db36936ca184bd5f79a':
  Upgrade bionic to tzdata2014f.
2014-08-07 00:42:12 +00:00
Elliott Hughes
0415a4a6f8 am b4b7e054: Merge "Fix the tzdata update tools."
* commit 'b4b7e0547da259b38b3e31dbd08cf26026cff1ee':
  Fix the tzdata update tools.
2014-08-07 00:42:11 +00:00
Elliott Hughes
f3868fa735 Merge "Upgrade bionic to tzdata2014f." 2014-08-07 00:00:55 +00:00
Elliott Hughes
51fde5b865 Upgrade bionic to tzdata2014f.
From the release notes:

  Changes affecting future time stamps

    Russia will subtract an hour from most of its time zones on
    2014-10-26 at 02:00 local time.  (Thanks to Alexander Krivenyshev.)
    There are a few exceptions: Magadan Oblast (Asia/Magadan) and
    Zabaykalsky Krai are subtracting two hours; conversely, Chukotka
    Autonomous Okrug (Asia/Anadyr), Kamchatka Krai (Asia/Kamchatka),
    Kemerovo Oblast (Asia/Novokuznetsk), and the Samara Oblast and the
    Udmurt Republic (Europe/Samara) are not changing their clocks.  The
    changed zones are Europe/Kaliningrad, Europe/Moscow,
    Europe/Simferopol, Europe/Volgograd, Asia/Yekaterinburg, Asia/Omsk,
    Asia/Novosibirsk, Asia/Krasnoyarsk, Asia/Irkutsk, Asia/Yakutsk,
    Asia/Vladivostok, Asia/Khandyga, Asia/Sakhalin, and Asia/Ust-Nera;
    Asia/Magadan will have two hours subtracted; and Asia/Novokuznetsk's
    time zone abbreviation is affected, but not its UTC offset.  Two
    zones are added: Asia/Chita (split from Asia/Yakutsk, and also with
    two hours subtracted) and Asia/Srednekolymsk (split from
    Asia/Magadan, but with only one hour subtracted).  (Thanks to Tim
    Parenti for much of the above.)

  Changes affecting past time stamps

    China's five zones have been simplified to two, since the post-1970
    differences in the other three seem to have been imaginary.  The
    zones Asia/Harbin, Asia/Chongqing, and Asia/Kashgar have been
    removed; backwards-compatibility links still work, albeit with
    different behaviors for time stamps before May 1980.  Asia/Urumqi's
    1980 transition to UTC+8 has been removed, so that it is now at
    UTC+6 and not UTC+8.  (Thanks to Luther Ma and to Alois Treindl;
    Treindl sent helpful translations of two papers by Guo Qingsheng.)

    Some zones have been turned into links, when they differed from
    existing zones only for older UTC offsets where the data were likely
    invented.  These changes affect UTC offsets in pre-1970 time stamps
    only.  This is similar to the change in release 2013e, except this
    time for western Africa.  The affected zones are: Africa/Bamako,
    Africa/Banjul, Africa/Conakry, Africa/Dakar, Africa/Freetown,
    Africa/Lome, Africa/Nouakchott, Africa/Ouagadougou, Africa/Sao_Tome,
    and Atlantic/St_Helena.  This also affects the
    backwards-compatibility link Africa/Timbuktu.  (Thanks to Alan
    Barrett, Stephen Colebourne, Tim Parenti, and David Patte for
    reporting problems in earlier versions of this change.)

    Asia/Shanghai's pre-standard-time UT offset has been changed from
    8:05:57 to 8:05:43, the location of Xujiahui Observatory.  Its
    transition to standard time has been changed from 1928 to 1901.

    Asia/Taipei switched to JWST on 1896-01-01, then to JST on
    1937-10-01, then to CST on 1945-09-21 at 01:00, and did not observe
    DST in 1945.  In 1946 it observed DST from 05-15 through 09-30; in
    1947 from 04-15 through 10-31; and in 1979 from 07-01 through 09-30.
    (Thanks to Yu-Cheng Chuang.)

    Asia/Riyadh's transition to standard time is now 1947-03-14, not
    1950.

    Europe/Helsinki's 1942 fall-back transition was 10-04 at 01:00, not
    10-03 at 00:00.  (Thanks to Konstantin Hyppönen.)

    Pacific/Pago_Pago has been changed from UTC-11:30 to UTC-11 for the
    period from 1911 to 1950.

    Pacific/Chatham has been changed to New Zealand standard time plus
    45 minutes for the period before 1957, reflecting a 1956 remark in
    the New Zealand parliament.

    Europe/Budapest has several pre-1946 corrections: in 1918 the
    transition out of DST was on 09-16, not 09-29; in 1919 it was on
    11-24, not 09-15; in 1945 it was on 11-01, not 11-03; in 1941 the
    transition to DST was 04-08 not 04-06 at 02:00; and there was no DST
    in 1920.

    Africa/Accra is now assumed to have observed DST from 1920 through
    1935.

    Time in Russia before 1927 or so has been corrected by a few seconds
    in the following zones: Europe/Moscow, Asia/Irkutsk, Asia/Tbilisi,
    Asia/Tashkent, Asia/Vladivostok, Asia/Yekaterinburg,
    Europe/Helsinki, and Europe/Riga.  Also, Moscow's location has been
    changed to its Kilometer 0 point.  (Thanks to Vladimir Karpinsky for
    the Moscow changes.)

(cherry-pick of 0dc2c1db6fc84b4526f2a5f8d73e1187500f2300.)

Bug: 16168653
Change-Id: I23827254bcf50dd07a2192ed34b02224d73e07a0
2014-08-06 17:38:01 -07:00
Elliott Hughes
b4b7e0547d Merge "Fix the tzdata update tools." 2014-08-06 23:55:49 +00:00
Elliott Hughes
13bab43337 Fix the tzdata update tools.
The recent libcore ZoneInfo changes mean that we can no longer
compile libcore's ZoneInfo against the RI. Luckily, the field in
our data file that we needed ZoneInfo for isn't actually used.
This change removes our dependence on libcore.

I've left the field in to avoid a file format change. We can remove
the field if/when we next have a real need to bump the file format.

(cherry-pick of 90cb5ffb85a9bc2e725824b3ca8db932d02c45db.)

Bug: 16168653
Change-Id: Iedad2252c2b49f4d8bb2c7d9078b39b622444ca7
2014-08-06 17:31:48 -07:00
Christopher Ferris
3e7b8e2a8b Merge "Do a second key cleanup in pthread_exit." into lmp-dev 2014-08-06 23:54:36 +00:00
Christopher Ferris
18d93f2793 Do a second key cleanup in pthread_exit.
During pthread_exit, the keys are cleaned. Unfortunately, a call to
free occurs after the cleanup and the memory for some of the keys
is recreated when using jemalloc. The solution is to do the key
cleanup twice.

Also, modify the pthread_detach__leak test to be less flaky
when run on a jemalloc system.

Bug: 16513133
Change-Id: Ic17e8344bdc1ba053c4f5b6d827a4c19c57860c1
2014-08-06 17:12:30 -07:00
Elliott Hughes
501eb513ae Merge "Upgrade bionic to tzdata2014f." into lmp-dev 2014-08-06 23:54:36 +00:00
Elliott Hughes
f2d8c357ee Merge "Remove misleading arm/arm64 PIC_SYM." 2014-08-06 23:49:29 +00:00
Elliott Hughes
651a0683ca Remove misleading arm/arm64 PIC_SYM.
Bug: 16823325
Change-Id: Ic8ff3a628bb4cd71361e3a1c2cfde4b3d39c50b1
2014-08-07 11:52:38 -07:00
Christopher Ferris
85ebcfceb6 Merge "Do a second key cleanup in pthread_exit." 2014-08-06 23:49:29 +00:00
Christopher Ferris
e380960813 Do a second key cleanup in pthread_exit.
During pthread_exit, the keys are cleaned. Unfortunately, a call to
free occurs after the cleanup and the memory for some of the keys
is recreated when using jemalloc. The solution is to do the key
cleanup twice.

Also, modify the pthread_detach__leak test to be less flaky
when run on a jemalloc system.

Bug: 16513133

(cherry picked from commit 18d93f2793fad393b6aa6eae6afe1054958339d5)

Change-Id: Idb32e7f9b09e2c088d256ed9eb881df80c81ff8e
2014-08-06 17:57:04 -07:00
Elliott Hughes
6edf8985c1 Merge "Fix the tzdata update tools." into lmp-dev 2014-08-06 23:49:20 +00:00
Dan Albert
9f7bca69e9 am 0f3b73aa: am bc0d65c1: Merge "Proper MB_CUR_MAX." into lmp-dev
* commit '0f3b73aa22ca3bed476ec2800a7b06f0eecdcf88':
  Proper MB_CUR_MAX.
2014-08-06 23:02:32 +00:00
Dan Albert
914d64980b am 589859a1: am 5b39a445: Merge "Fix mbsrtowcs(3) src param for finished string." into lmp-dev
* commit '589859a125fc0c67d0f56706ee18f7ae2f3e45ee':
  Fix mbsrtowcs(3) src param for finished string.
2014-08-06 23:02:28 +00:00
Dan Albert
a56d8fd6de am d14344ad: am 40079b00: Fixes build.
* commit 'd14344adf295c3870bc8454d9989da3c5e320312':
  Fixes build.
2014-08-06 23:02:28 +00:00
Dan Albert
5511dd46fd am 8b1af476: am 5386a741: Revert "Replaces vfork() implementation with fork()"
* commit '8b1af4762c3f1fb35173830ba417564a5b3dc0ad':
  Revert "Replaces vfork() implementation with fork()"
2014-08-06 23:02:27 +00:00
Elliott Hughes
bd5cc87362 am fa70bacc: am 3a238ae7: Merge "Revert "Add a hack to <stdlib.h> until we can fix libvpx.""
* commit 'fa70bacc6cfe78793743696b91c7fe3158a01a3f':
  Revert "Add a hack to <stdlib.h> until we can fix libvpx."
2014-08-06 23:01:37 +00:00
Elliott Hughes
7ef16e88e8 am 5fb6ce29: am 00a8344a: Merge "Workaround b/16818336 which fails build under aggressive inlining." into lmp-dev
* commit '5fb6ce295038d345dee354b93c2fc408effdd29c':
  Workaround b/16818336 which fails build under aggressive inlining.
2014-08-06 23:00:48 +00:00
Paul Jensen
2e2d7dee1d am 8019e6f0: am 7a5f0952: Merge "Revert most of "Cleanup: Delete dead code."" into lmp-dev
* commit '8019e6f0fd39a9b76034a12ef1598b50588fb719':
  Revert most of "Cleanup: Delete dead code."
2014-08-06 23:00:47 +00:00
Elliott Hughes
90cb5ffb85 Fix the tzdata update tools.
The recent libcore ZoneInfo changes mean that we can no longer
compile libcore's ZoneInfo against the RI. Luckily, the field in
our data file that we needed ZoneInfo for isn't actually used.
This change removes our dependence on libcore.

I've left the field in to avoid a file format change. We can remove
the field if/when we next have a real need to bump the file format.

Bug: 16168653
Change-Id: Iedad2252c2b49f4d8bb2c7d9078b39b622444ca7
2014-08-06 15:29:10 -07:00
Elliott Hughes
0dc2c1db6f Upgrade bionic to tzdata2014f.
From the release notes:

  Changes affecting future time stamps

    Russia will subtract an hour from most of its time zones on
    2014-10-26 at 02:00 local time.  (Thanks to Alexander Krivenyshev.)
    There are a few exceptions: Magadan Oblast (Asia/Magadan) and
    Zabaykalsky Krai are subtracting two hours; conversely, Chukotka
    Autonomous Okrug (Asia/Anadyr), Kamchatka Krai (Asia/Kamchatka),
    Kemerovo Oblast (Asia/Novokuznetsk), and the Samara Oblast and the
    Udmurt Republic (Europe/Samara) are not changing their clocks.  The
    changed zones are Europe/Kaliningrad, Europe/Moscow,
    Europe/Simferopol, Europe/Volgograd, Asia/Yekaterinburg, Asia/Omsk,
    Asia/Novosibirsk, Asia/Krasnoyarsk, Asia/Irkutsk, Asia/Yakutsk,
    Asia/Vladivostok, Asia/Khandyga, Asia/Sakhalin, and Asia/Ust-Nera;
    Asia/Magadan will have two hours subtracted; and Asia/Novokuznetsk's
    time zone abbreviation is affected, but not its UTC offset.  Two
    zones are added: Asia/Chita (split from Asia/Yakutsk, and also with
    two hours subtracted) and Asia/Srednekolymsk (split from
    Asia/Magadan, but with only one hour subtracted).  (Thanks to Tim
    Parenti for much of the above.)

  Changes affecting past time stamps

    China's five zones have been simplified to two, since the post-1970
    differences in the other three seem to have been imaginary.  The
    zones Asia/Harbin, Asia/Chongqing, and Asia/Kashgar have been
    removed; backwards-compatibility links still work, albeit with
    different behaviors for time stamps before May 1980.  Asia/Urumqi's
    1980 transition to UTC+8 has been removed, so that it is now at
    UTC+6 and not UTC+8.  (Thanks to Luther Ma and to Alois Treindl;
    Treindl sent helpful translations of two papers by Guo Qingsheng.)

    Some zones have been turned into links, when they differed from
    existing zones only for older UTC offsets where the data were likely
    invented.  These changes affect UTC offsets in pre-1970 time stamps
    only.  This is similar to the change in release 2013e, except this
    time for western Africa.  The affected zones are: Africa/Bamako,
    Africa/Banjul, Africa/Conakry, Africa/Dakar, Africa/Freetown,
    Africa/Lome, Africa/Nouakchott, Africa/Ouagadougou, Africa/Sao_Tome,
    and Atlantic/St_Helena.  This also affects the
    backwards-compatibility link Africa/Timbuktu.  (Thanks to Alan
    Barrett, Stephen Colebourne, Tim Parenti, and David Patte for
    reporting problems in earlier versions of this change.)

    Asia/Shanghai's pre-standard-time UT offset has been changed from
    8:05:57 to 8:05:43, the location of Xujiahui Observatory.  Its
    transition to standard time has been changed from 1928 to 1901.

    Asia/Taipei switched to JWST on 1896-01-01, then to JST on
    1937-10-01, then to CST on 1945-09-21 at 01:00, and did not observe
    DST in 1945.  In 1946 it observed DST from 05-15 through 09-30; in
    1947 from 04-15 through 10-31; and in 1979 from 07-01 through 09-30.
    (Thanks to Yu-Cheng Chuang.)

    Asia/Riyadh's transition to standard time is now 1947-03-14, not
    1950.

    Europe/Helsinki's 1942 fall-back transition was 10-04 at 01:00, not
    10-03 at 00:00.  (Thanks to Konstantin Hyppönen.)

    Pacific/Pago_Pago has been changed from UTC-11:30 to UTC-11 for the
    period from 1911 to 1950.

    Pacific/Chatham has been changed to New Zealand standard time plus
    45 minutes for the period before 1957, reflecting a 1956 remark in
    the New Zealand parliament.

    Europe/Budapest has several pre-1946 corrections: in 1918 the
    transition out of DST was on 09-16, not 09-29; in 1919 it was on
    11-24, not 09-15; in 1945 it was on 11-01, not 11-03; in 1941 the
    transition to DST was 04-08 not 04-06 at 02:00; and there was no DST
    in 1920.

    Africa/Accra is now assumed to have observed DST from 1920 through
    1935.

    Time in Russia before 1927 or so has been corrected by a few seconds
    in the following zones: Europe/Moscow, Asia/Irkutsk, Asia/Tbilisi,
    Asia/Tashkent, Asia/Vladivostok, Asia/Yekaterinburg,
    Europe/Helsinki, and Europe/Riga.  Also, Moscow's location has been
    changed to its Kilometer 0 point.  (Thanks to Vladimir Karpinsky for
    the Moscow changes.)

Bug: 16168653
Change-Id: I23827254bcf50dd07a2192ed34b02224d73e07a0
2014-08-06 15:26:13 -07:00
Dan Albert
0f3b73aa22 am bc0d65c1: Merge "Proper MB_CUR_MAX." into lmp-dev
* commit 'bc0d65c114f3ead6d89f8e92622bc941d731b01c':
  Proper MB_CUR_MAX.
2014-08-06 21:26:13 +00:00
Dan Albert
589859a125 am 5b39a445: Merge "Fix mbsrtowcs(3) src param for finished string." into lmp-dev
* commit '5b39a44575e01ecf65397ffb7518efc3c65a6d8b':
  Fix mbsrtowcs(3) src param for finished string.
2014-08-06 21:26:13 +00:00
Dan Albert
d14344adf2 am 40079b00: Fixes build.
* commit '40079b003168b39dab91e106c7a877b677e64ef1':
  Fixes build.
2014-08-06 21:26:12 +00:00
Dan Albert
8b1af4762c am 5386a741: Revert "Replaces vfork() implementation with fork()"
* commit '5386a741e77bfff4e72ca6861fdd3fe2208452ce':
  Revert "Replaces vfork() implementation with fork()"
2014-08-06 21:26:09 +00:00
Elliott Hughes
fa70bacc6c am 3a238ae7: Merge "Revert "Add a hack to <stdlib.h> until we can fix libvpx.""
* commit '3a238ae7620298608e1d463901051c397e4f8a2f':
  Revert "Add a hack to <stdlib.h> until we can fix libvpx."
2014-08-06 20:38:40 +00:00
Elliott Hughes
5fb6ce2950 am 00a8344a: Merge "Workaround b/16818336 which fails build under aggressive inlining." into lmp-dev
* commit '00a8344ae82a691209b665adae828a5abe570cfb':
  Workaround b/16818336 which fails build under aggressive inlining.
2014-08-06 19:50:02 +00:00
Paul Jensen
8019e6f0fd am 7a5f0952: Merge "Revert most of "Cleanup: Delete dead code."" into lmp-dev
* commit '7a5f0952a293fd6e511db0e0a72e18f20bb4c500':
  Revert most of "Cleanup: Delete dead code."
2014-08-06 19:50:01 +00:00
Dan Albert
40079b0031 Fixes build.
This change somehow went missing from the vfork change.

Change-Id: I807a2072080eac20601c694e85ba5723220289d8
(cherry picked from commit 9eae8405e8f70e489f2fe350a0212ab8114cbd17)
2014-08-06 12:32:28 -07:00
Dan Albert
5386a741e7 Revert "Replaces vfork() implementation with fork()"
We're getting cold feet on this one... let's put it back.

This reverts commit 210331d9762037afb9b5ed8413079c6f65872df9.

Change-Id: I6b0d3c2b1dbf7f1dc9566979a91b7504c2189269
(cherry picked from commit 6a918870bab1a55a5f57dd7954abd9a8a27c1bc2)
2014-08-06 12:32:22 -07:00
Elliott Hughes
a69fd4651a am 42848344: am bb91a1b8: Merge "Workaround b/16818336 which fails build under aggressive inlining."
* commit '428483446e7cd52cb608481c091f2ac4521081ae':
  Workaround b/16818336 which fails build under aggressive inlining.
2014-08-06 18:57:22 +00:00
Elliott Hughes
428483446e am bb91a1b8: Merge "Workaround b/16818336 which fails build under aggressive inlining."
* commit 'bb91a1b845f7c8b3b09d07fe467aa32d2aeddc4f':
  Workaround b/16818336 which fails build under aggressive inlining.
2014-08-06 18:53:23 +00:00
Elliott Hughes
5801991bdd am 987e533e: am 59b0933e: Explain how wcswcs ended up in ndk_cruft.cpp.
* commit '987e533ed466a51a1b269f6707765d4a6243d27e':
  Explain how wcswcs ended up in ndk_cruft.cpp.
2014-08-06 18:17:01 +00:00
Elliott Hughes
987e533ed4 am 59b0933e: Explain how wcswcs ended up in ndk_cruft.cpp.
* commit '59b0933e6d4cd9671ad3b6baeae424bc72c8ece0':
  Explain how wcswcs ended up in ndk_cruft.cpp.
2014-08-06 18:09:18 +00:00
Elliott Hughes
f69f0b9ac2 am 10d197c6: am 8b91980e: Merge "Explain how wcswcs ended up in ndk_cruft.cpp."
* commit '10d197c681e96187645eaf6341d13967e33a0308':
  Explain how wcswcs ended up in ndk_cruft.cpp.
2014-08-06 18:08:43 +00:00
Elliott Hughes
10d197c681 am 8b91980e: Merge "Explain how wcswcs ended up in ndk_cruft.cpp."
* commit '8b91980e4c139558f9cca4e9a0980dad07c06e68':
  Explain how wcswcs ended up in ndk_cruft.cpp.
2014-08-06 18:02:59 +00:00
Elliott Hughes
59b0933e6d Explain how wcswcs ended up in ndk_cruft.cpp.
(cherry picked from commit 1628eb1d43008c52b00ec98d10c4fd9e8b6fc7c5)

Change-Id: I335b35038781d0426b3647727e6c4f22c83e187b
2014-08-06 10:58:17 -07:00
Elliott Hughes
f77fbbb53e am 0a693b4f: am afc86723: Merge "Add an obvious comment to <stdio.h> for fixincludes."
* commit '0a693b4fc88bc6e0f3b0672a994931cce5d42716':
  Add an obvious comment to <stdio.h> for fixincludes.
2014-08-06 17:40:42 +00:00
Dmitriy Ivanov
694d295e5e am 36730936: am db7a17d4: Revert "Revert "Fix dlsym(3) to do breadth first search.""
* commit '36730936a13b1948240641739a15c3ef56c501f3':
  Revert "Revert "Fix dlsym(3) to do breadth first search.""
2014-08-06 17:36:10 +00:00
Dan Albert
282638f7f5 am 909464c2: am de69069f: Merge "Fixes build."
* commit '909464c2cb90fa8b530ae53fa849d3bc5818b676':
  Fixes build.
2014-08-06 17:25:40 +00:00
Elliott Hughes
8b91980e4c Merge "Explain how wcswcs ended up in ndk_cruft.cpp." 2014-08-06 17:20:04 +00:00
Elliott Hughes
1628eb1d43 Explain how wcswcs ended up in ndk_cruft.cpp.
Change-Id: Ie45148095b2d5c3896c0df623d5d06a700c33c70
2014-08-06 10:47:33 -07:00
Dan Albert
5b39a44575 Merge "Fix mbsrtowcs(3) src param for finished string." into lmp-dev 2014-08-06 17:19:40 +00:00
Dan Albert
938a8008a6 Fix mbsrtowcs(3) src param for finished string.
A mistake I made while cleaning this up the first time through.
mbstrtowcs(3) sets the src param to null if it finishes the string.

Change-Id: I6263646e25d9537043b7025fd1dd6ae195f365e2
(cherry picked from commit b6cc8e00cd562bd0f81fe44a6bc646540a862f32)
2014-08-06 13:00:54 -07:00
Elliott Hughes
3a238ae762 Merge "Revert "Add a hack to <stdlib.h> until we can fix libvpx."" 2014-08-06 17:15:22 +00:00
Elliott Hughes
9d2a05a6dd Revert "Add a hack to <stdlib.h> until we can fix libvpx."
This reverts commit 3fb5097a7eec40404760c304b36c8b657b374cab.
libvpx is now fixed.

(cherry-pick of 2be1be47aa9b63568fe6ce1e0a4029b37d90764d.)

Bug: 15598056
Change-Id: Icca974e667f92206505f484bd291726eb0150f68
2014-08-06 13:20:41 -07:00
Dan Albert
bc0d65c114 Merge "Proper MB_CUR_MAX." into lmp-dev 2014-08-06 17:14:55 +00:00
Dan Albert
6035e6cc83 Proper MB_CUR_MAX.
Previously this was hard coded to 4. This is only the case for UTF-8
locales.

As a side effect, this properly reports C.UTF-8 as the default locale
instead of C.

Change-Id: I7c73cc8fe6ffac61d211cd5f75287e36de06f4fc
(cherry picked from commit 1aec7c1a35b2d03038b194967d5ebdc8e2c24b80)
2014-08-06 13:17:43 -07:00
Elliott Hughes
00a8344ae8 Merge "Workaround b/16818336 which fails build under aggressive inlining." into lmp-dev 2014-08-06 17:14:55 +00:00
Elliott Hughes
0a693b4fc8 am afc86723: Merge "Add an obvious comment to <stdio.h> for fixincludes."
* commit 'afc8672387438f9c8926a12831f43a6dd1f59323':
  Add an obvious comment to <stdio.h> for fixincludes.
2014-08-06 16:13:37 +00:00
Ben Murdoch
62c69c25d2 fix the build
Change-Id: I8a3b26014ced1ce95b9a0f675099c3fdfbe041f3
2014-08-06 16:17:04 +01:00
Dan Albert
74508b2fec am dfe8417a: am a7ef8188: Merge "Revert "Replaces vfork() implementation with fork()""
* commit 'dfe8417a58a8413cce6c7bb2b224950c7085245c':
  Revert "Replaces vfork() implementation with fork()"
2014-08-06 12:10:50 +00:00
Dmitriy Ivanov
36730936a1 am db7a17d4: Revert "Revert "Fix dlsym(3) to do breadth first search.""
* commit 'db7a17d4ff56a05af01ee2fee1f3c55245bfc630':
  Revert "Revert "Fix dlsym(3) to do breadth first search.""
2014-08-06 01:23:25 +00:00
Dehao Chen
7aa27e1c1a Workaround b/16818336 which fails build under aggressive inlining.
Change-Id: Ifcd596714c427a2ec39502b9c0af9082ded91884
2014-08-05 18:09:01 -07:00
Dan Albert
909464c2cb am de69069f: Merge "Fixes build."
* commit 'de69069fcfee8d89dfc70da374760ef0c29fe0a4':
  Fixes build.
2014-08-05 21:55:18 +00:00
Dan Albert
dfe8417a58 am a7ef8188: Merge "Revert "Replaces vfork() implementation with fork()""
* commit 'a7ef8188e24446d41c5abbe9addf55cc6a128968':
  Revert "Replaces vfork() implementation with fork()"
2014-08-05 21:43:20 +00:00
Elliott Hughes
afc8672387 Merge "Add an obvious comment to <stdio.h> for fixincludes." 2014-08-05 17:41:26 +00:00
Elliott Hughes
df85f50b82 Add an obvious comment to <stdio.h> for fixincludes.
We don't want GCC's fixincludes to touch our <stdio.h> because we
want to support multiple platform versions with one toolchain. Give
them a nice easy unambiguous string to look for.

Bug: http://code.google.com/p/android/issues/detail?id=73728
Change-Id: I15cb9a2c9eb0a44b0965dc2139f224f2b6e68ea1
2014-08-06 09:03:52 -07:00
Dan Albert
de69069fcf Merge "Fixes build." 2014-08-05 17:41:26 +00:00
Dan Albert
9eae8405e8 Fixes build.
This change somehow went missing from the vfork change.

Change-Id: I807a2072080eac20601c694e85ba5723220289d8
2014-08-05 14:46:03 -07:00
Dan Albert
a7ef8188e2 Merge "Revert "Replaces vfork() implementation with fork()"" 2014-08-05 17:41:26 +00:00
Dan Albert
6a918870ba Revert "Replaces vfork() implementation with fork()"
We're getting cold feet on this one... let's put it back.

This reverts commit 210331d9762037afb9b5ed8413079c6f65872df9.

Change-Id: I6b0d3c2b1dbf7f1dc9566979a91b7504c2189269
2014-08-05 14:11:38 -07:00
Elliott Hughes
bb91a1b845 Merge "Workaround b/16818336 which fails build under aggressive inlining." 2014-08-05 00:30:25 +00:00
Dehao Chen
28285f85a1 Workaround b/16818336 which fails build under aggressive inlining.
(cherry-pick of 7aa27e1c1a53afe28f6180fd1fc50d096cabea7b.)

Change-Id: Ifcd596714c427a2ec39502b9c0af9082ded91884
2014-08-06 11:43:38 -07:00
Paul Jensen
7a5f0952a2 Merge "Revert most of "Cleanup: Delete dead code."" into lmp-dev 2014-08-05 00:19:02 +00:00
Paul Jensen
1544eae56e Revert most of "Cleanup: Delete dead code."
This reverts most of commit 2582f02a01cd56c56a4e6c9de4444a6ec937cc37.
The DNS cache flushing code needs to be called when routes change.

Change-Id: I5b04121bc428cc6a2e136b6c3269c395bfb4981f
bug:16549455
2014-08-06 13:38:16 -04:00
Dmitriy Ivanov
db7a17d4ff Revert "Revert "Fix dlsym(3) to do breadth first search.""
This reverts commit 1b1966d9448e979d1503a3d8843708bfa8880dc6.

Change-Id: I05d6d3481aaf8f3e260d2e5e950248519a1d347f
2014-08-04 23:39:22 +00:00
Dmitriy Ivanov
83a1c15907 am f9a0af9c: am 1b1966d9: Revert "Fix dlsym(3) to do breadth first search."
* commit 'f9a0af9c9343ba48ab42decbb8aab7fbefed1bd4':
  Revert "Fix dlsym(3) to do breadth first search."
2014-08-04 16:50:33 +00:00
Dmitriy Ivanov
f9a0af9c93 am 1b1966d9: Revert "Fix dlsym(3) to do breadth first search."
* commit '1b1966d9448e979d1503a3d8843708bfa8880dc6':
  Revert "Fix dlsym(3) to do breadth first search."
2014-08-04 16:46:55 +00:00
Dmitriy Ivanov
1b1966d944 Revert "Fix dlsym(3) to do breadth first search."
This reverts commit 422106a24d620af4be58e8d92a2e9b7b6167b72d.

Change-Id: I9e26a6933d10eb30438b521450f2010997ca5aee
2014-08-04 16:38:57 +00:00
Dan Albert
74a7a4d296 am b782c20b: am 447fe1c2: Merge "Fix mbsrtowcs(3) src param for finished string."
* commit 'b782c20b8244ec5cc348547291503a4c30ca65ba':
  Fix mbsrtowcs(3) src param for finished string.
2014-07-31 22:35:45 +00:00
Dan Albert
b782c20b82 am 447fe1c2: Merge "Fix mbsrtowcs(3) src param for finished string."
* commit '447fe1c23bc5adaded9a51d3b58f3adaf2cce7b3':
  Fix mbsrtowcs(3) src param for finished string.
2014-07-31 22:28:59 +00:00
Dan Albert
ce6fe525d5 am 0c4ad535: am 36bacd23: Merge "Proper MB_CUR_MAX."
* commit '0c4ad535dc8d1aea6ee2bbeb8a68fc3a4363f246':
  Proper MB_CUR_MAX.
2014-07-31 00:26:18 +00:00
Dan Albert
0c4ad535dc am 36bacd23: Merge "Proper MB_CUR_MAX."
* commit '36bacd237de931c48714d1a8aa4aa9522283e407':
  Proper MB_CUR_MAX.
2014-07-31 00:22:22 +00:00
Dan Albert
36bacd237d Merge "Proper MB_CUR_MAX." 2014-07-31 00:14:55 +00:00
Dan Albert
1aec7c1a35 Proper MB_CUR_MAX.
Previously this was hard coded to 4. This is only the case for UTF-8
locales.

As a side effect, this properly reports C.UTF-8 as the default locale
instead of C.

Change-Id: I7c73cc8fe6ffac61d211cd5f75287e36de06f4fc
2014-07-30 17:09:46 -07:00
Christopher Ferris
828c7b396d am 592cfa90: am 61833de6: Fix memchr with a zero length.
* commit '592cfa90c3cc397a2a0415ac0d8c88f8f03210de':
  Fix memchr with a zero length.
2014-07-30 23:51:25 +00:00
Christopher Ferris
592cfa90c3 am 61833de6: Fix memchr with a zero length.
* commit '61833de613990f2fdaf357bb3d854d72a4980890':
  Fix memchr with a zero length.
2014-07-30 23:46:26 +00:00
Christopher Ferris
f2eef5159a am 30ac3d58: am 0f7ed163: Merge "Fix memchr with a zero length."
* commit '30ac3d58eaa6e502d053eaaabf163b173884cceb':
  Fix memchr with a zero length.
2014-07-30 23:39:12 +00:00
Christopher Ferris
30ac3d58ea am 0f7ed163: Merge "Fix memchr with a zero length."
* commit '0f7ed163cf6c1fe6d71a1d7e5fb6d0989213be85':
  Fix memchr with a zero length.
2014-07-30 23:33:45 +00:00
Christopher Ferris
61833de613 Fix memchr with a zero length.
The memchr implementation for 64 bit fails if these conditions occur:

- The buffer is 32 byte aligned.
- The buffer contains the character in the first byte.
- The count sent in is zero.

The function should return NULL, but it's not.

Bug: 16676625

(cherry picked from commit e03e1eac0b7682884b6628df1305d34299680cb4)

Change-Id: Ie4cca2c445127a0936ee2b96651a8e7204fbaffd
2014-07-30 16:33:11 -07:00
Elliott Hughes
aa1cbcb131 am 63b6416f: am 4f76469e: Implement <sys/fsuid.h>.
* commit '63b6416f339c70855e4bb44cd1c6fbb9a85a60fe':
  Implement <sys/fsuid.h>.
2014-07-30 23:31:46 +00:00
Elliott Hughes
796d419f2e am 897aca77: am 83b9826e: Merge "Implement <sys/fsuid.h>."
* commit '897aca77eeb9286574ddec58bb893df7c02a8912':
  Implement <sys/fsuid.h>.
2014-07-30 23:31:46 +00:00
Elliott Hughes
63b6416f33 am 4f76469e: Implement <sys/fsuid.h>.
* commit '4f76469e88e255bab1f8264e9ff8b95bff84365f':
  Implement <sys/fsuid.h>.
2014-07-30 23:27:43 +00:00
Elliott Hughes
897aca77ee am 83b9826e: Merge "Implement <sys/fsuid.h>."
* commit '83b9826e683db30e9b359737253b87ef8b3ba3df':
  Implement <sys/fsuid.h>.
2014-07-30 23:25:22 +00:00
Elliott Hughes
4f76469e88 Implement <sys/fsuid.h>.
(cherry picked from commit 79310994d2b3826a10598f7e7795acb5edb42a20)

Change-Id: I47688273691e5c95e5e9302eba254ccaaaad40ca
2014-07-30 16:18:03 -07:00
Duane Sand
5750c7cc49 am 66fa2c87: am cd541952: [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
* commit '66fa2c87d6dea6c316a9984146c306011e3afb80':
  [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
2014-07-30 22:32:41 +00:00
Duane Sand
66fa2c87d6 am cd541952: [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
* commit 'cd54195262ac5531fff892255849925ebbbd303e':
  [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
2014-07-30 22:28:55 +00:00
Elliott Hughes
8ead392b05 am abd28445: am c7706a02: Merge "[MIPSR6] Use C-coded string ops on mips32r6/mips64r6"
* commit 'abd284457884c4972a6dd72e2a2b647d935b1fe3':
  [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
2014-07-30 22:27:49 +00:00
Elliott Hughes
abd2844578 am c7706a02: Merge "[MIPSR6] Use C-coded string ops on mips32r6/mips64r6"
* commit 'c7706a02ad90ab73f3a056040d2c4a3464ab1ab1':
  [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
2014-07-30 22:21:57 +00:00
Duane Sand
cd54195262 [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
The existing assembler code uses deprecated lwl/lwr/swl/swr ops.
Replacing those with misalignment-forgiving lw/sw ops may
involve careful performance tuning.

(cherry picked from commit bc5a3ec6df66d2456667ddf1d6dfaf623552169d)

Change-Id: I35167da27f2d406339b7f24b4a1fb270c87bc12e
2014-07-30 15:17:12 -07:00
Elliott Hughes
adc2a59383 am 84093b17: am 11bf8a30: Only wipe TLS for user-supplied stacks.
* commit '84093b174eb30f52414838d4a54847b19c621c93':
  Only wipe TLS for user-supplied stacks.
2014-07-30 22:10:49 +00:00
Elliott Hughes
84093b174e am 11bf8a30: Only wipe TLS for user-supplied stacks.
* commit '11bf8a3025a7b5aee891c521255a7db1860e5b12':
  Only wipe TLS for user-supplied stacks.
2014-07-30 22:06:54 +00:00
Elliott Hughes
aed19ee769 am 594a5275: am 18a1bbe6: Merge "Only wipe TLS for user-supplied stacks."
* commit '594a5275188df203bb720afc2b2c898643fff6e3':
  Only wipe TLS for user-supplied stacks.
2014-07-30 22:06:45 +00:00
Elliott Hughes
594a527518 am 18a1bbe6: Merge "Only wipe TLS for user-supplied stacks."
* commit '18a1bbe6e18770694d489f2e140e779dc59fde86':
  Only wipe TLS for user-supplied stacks.
2014-07-30 22:02:31 +00:00
Elliott Hughes
11bf8a3025 Only wipe TLS for user-supplied stacks.
Bug: 16667988

(cherry picked from commit 40a521744825b6060960c296d5fb3da4c6593d94)

Change-Id: I7550fa47b76e643323aa3e2a53529e393c829e47
2014-07-30 14:56:34 -07:00
Christopher Ferris
0f7ed163cf Merge "Fix memchr with a zero length." 2014-07-30 20:40:05 +00:00
Christopher Ferris
e03e1eac0b Fix memchr with a zero length.
The memchr implementation for 64 bit fails if these conditions occur:

- The buffer is 32 byte aligned.
- The buffer contains the character in the first byte.
- The count sent in is zero.

The function should return NULL, but it's not.

Bug: 16676625
Change-Id: Iab33cc7a8b79920350c72f054dff0e0a3cde69ce
2014-07-30 16:06:56 -07:00
Elliott Hughes
18a1bbe6e1 Merge "Only wipe TLS for user-supplied stacks." 2014-07-30 19:31:16 +00:00
Elliott Hughes
40a5217448 Only wipe TLS for user-supplied stacks.
Bug: 16667988
Change-Id: Id180ab2bc6713e1612386120a306db5bbf1d6046
2014-07-30 14:49:40 -07:00
Christopher Ferris
a6d698d914 am 0770ed06: am c701e5b3: Use libunwindbacktrace for debug malloc code.
* commit '0770ed068078786aa2e38ddc6eecbbf2a5fccef0':
  Use libunwindbacktrace for debug malloc code.
2014-07-30 17:02:14 +00:00
Elliott Hughes
46975d966c am a99a69a6: am 1242f7eb: Remove declarations for things that don\'t exist.
* commit 'a99a69a6400ed5078749656ee120fad1ad09ba97':
  Remove declarations for things that don't exist.
2014-07-30 17:02:13 +00:00
Elliott Hughes
8fc6d6807f am 4d17c6c3: am f6aa1779: Merge "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."" into lmp-dev
* commit '4d17c6c39f8aeae13b177ed7a22be1895068830a':
  Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."
2014-07-30 17:02:12 +00:00
Christopher Ferris
0770ed0680 am c701e5b3: Use libunwindbacktrace for debug malloc code.
* commit 'c701e5b3357b6484572d46f29c5d1e51063dfcbb':
  Use libunwindbacktrace for debug malloc code.
2014-07-30 16:42:36 +00:00
Elliott Hughes
a99a69a640 am 1242f7eb: Remove declarations for things that don\'t exist.
* commit '1242f7eb67c678922b55e2077d9cf2d5cdc85b15':
  Remove declarations for things that don't exist.
2014-07-30 16:41:43 +00:00
Elliott Hughes
4d17c6c39f am f6aa1779: Merge "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."" into lmp-dev
* commit 'f6aa17798c5b0015d002b982c3684595b817d2d0':
  Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."
2014-07-30 16:41:43 +00:00
Dan Albert
f61f354583 am 5fce71b5: am e872c923: Merge "en_US.UTF-8 is also supported." into lmp-dev
* commit '5fce71b56e567a0e578e8ec8c1cab2bbc2e783ec':
  en_US.UTF-8 is also supported.
2014-07-30 14:28:40 +00:00
Dan Albert
28124017d6 am d735a072: am 9379ce69: Merge "There is no _MIN for unsigned types." into lmp-dev
* commit 'd735a0723a185568997b443b338ccf7a171ab254':
  There is no _MIN for unsigned types.
2014-07-30 14:28:39 +00:00
Dan Albert
fd4f86ccc2 am bb0c0531: am a1a813da: Merge "Fix mbsrtowcs(3)\'s handling of len parameter." into lmp-dev
* commit 'bb0c0531057018175a3e610501334f821973c67d':
  Fix mbsrtowcs(3)'s handling of len parameter.
2014-07-30 14:28:39 +00:00
Dan Albert
d0e6c73aec am ff20ad98: am 8db0ce70: Merge "__libc_fatal should print a newline to stderr." into lmp-dev
* commit 'ff20ad985ec54a72a2bc749cbd042373e8453116':
  __libc_fatal should print a newline to stderr.
2014-07-30 14:28:38 +00:00
Dmitriy Ivanov
aed8b1ceff am 2d361732: am 422106a2: Fix dlsym(3) to do breadth first search.
* commit '2d36173271512d9dd63a2193a8efc1d51f44d5fa':
  Fix dlsym(3) to do breadth first search.
2014-07-30 14:28:37 +00:00
Dan Albert
5fce71b56e am e872c923: Merge "en_US.UTF-8 is also supported." into lmp-dev
* commit 'e872c9239af180df6bf4b28a623241c6b1c7f1c3':
  en_US.UTF-8 is also supported.
2014-07-30 14:15:47 +00:00
Dan Albert
d735a0723a am 9379ce69: Merge "There is no _MIN for unsigned types." into lmp-dev
* commit '9379ce694d8a6bd70341eee003e23e96e21352e5':
  There is no _MIN for unsigned types.
2014-07-30 14:15:46 +00:00
Dan Albert
bb0c053105 am a1a813da: Merge "Fix mbsrtowcs(3)\'s handling of len parameter." into lmp-dev
* commit 'a1a813da8184153606bfcf8ffcce557eda09a5ba':
  Fix mbsrtowcs(3)'s handling of len parameter.
2014-07-30 14:15:46 +00:00
Dan Albert
ff20ad985e am 8db0ce70: Merge "__libc_fatal should print a newline to stderr." into lmp-dev
* commit '8db0ce7050b0f6ee3874456394a1d7cb0d336c3a':
  __libc_fatal should print a newline to stderr.
2014-07-30 14:15:45 +00:00
Dmitriy Ivanov
2d36173271 am 422106a2: Fix dlsym(3) to do breadth first search.
* commit '422106a24d620af4be58e8d92a2e9b7b6167b72d':
  Fix dlsym(3) to do breadth first search.
2014-07-30 14:15:44 +00:00
Dan Albert
447fe1c23b Merge "Fix mbsrtowcs(3) src param for finished string." 2014-07-30 11:26:00 +00:00
Dan Albert
b6cc8e00cd Fix mbsrtowcs(3) src param for finished string.
A mistake I made while cleaning this up the first time through.
mbstrtowcs(3) sets the src param to null if it finishes the string.

Change-Id: I6263646e25d9537043b7025fd1dd6ae195f365e2
2014-07-31 11:31:03 -07:00
Christopher Ferris
c701e5b335 Use libunwindbacktrace for debug malloc code.
Create a method of disabling the debug allocation code paths so that
it's possible to use the libunwindbacktrace library without any
modifications.

Use this path to create and destroy the maps for the process. It's not
stricly necessary in the init code since the symbols are not modified
until after the initialize calls.

Also, remove the debug_XXX source files that doesn't need to be in libc.so.

Fix the maps reading code since it was completely broken for 64 bit.

Bug: 16408686

(cherry picked from commit 861c0ef37bcfcae56d88572cb01c18bcfe1faded)

Change-Id: I04445f0cf9a1e85172b64d57df92eb7939ce2332
2014-07-29 19:30:09 -07:00
Christopher Ferris
880ac3255a am 4cc7dba9: am 4ad5066e: Merge "Use libunwindbacktrace for debug malloc code."
* commit '4cc7dba978de80fe8dfd0424a36719e37991cfbd':
  Use libunwindbacktrace for debug malloc code.
2014-07-30 02:28:03 +00:00
Christopher Ferris
4cc7dba978 am 4ad5066e: Merge "Use libunwindbacktrace for debug malloc code."
* commit '4ad5066e1de326e5db46df18eeade9a88bc11bec':
  Use libunwindbacktrace for debug malloc code.
2014-07-30 02:23:58 +00:00
Elliott Hughes
e0414f6f04 am eb0642a2: am 17886971: Merge "Remove declarations for things that don\'t exist."
* commit 'eb0642a2b98d052adf10d9079e51f23b5b49a45a':
  Remove declarations for things that don't exist.
2014-07-30 01:23:39 +00:00
Elliott Hughes
eb0642a2b9 am 17886971: Merge "Remove declarations for things that don\'t exist."
* commit '17886971ffc758270bb3da3fecec86fa5b2bb3c3':
  Remove declarations for things that don't exist.
2014-07-30 01:12:55 +00:00
Elliott Hughes
1242f7eb67 Remove declarations for things that don't exist.
The <grp.h> ones prevent gdb from building out of the box.

(cherry picked from commit f4c1a36a4500bc7f12e3065be3da4e8669ee011d)

Change-Id: I6958f2f1731de8c03df20b383decd414b78100aa
2014-07-29 17:48:01 -07:00
Dmitriy Ivanov
c7c4c60628 am 60abfd28: am 2b591b37: Merge "Fix dlsym(3) to do breadth first search."
* commit '60abfd28ca734e500e4a51ee46b2fd7fa3ce7b8d':
  Fix dlsym(3) to do breadth first search.
2014-07-29 22:13:07 +00:00
Dmitriy Ivanov
60abfd28ca am 2b591b37: Merge "Fix dlsym(3) to do breadth first search."
* commit '2b591b37420b4186bda7fa823b9058d4b19565f6':
  Fix dlsym(3) to do breadth first search.
2014-07-29 22:09:23 +00:00
Dmitriy Ivanov
422106a24d Fix dlsym(3) to do breadth first search.
dlsym(3) with handle != RTLD_DEFAULT|RTLD_NEXT performs
  breadth first search through the dependency tree.

Bug: 16653281

(cherry picked from commit aa0f2bdbc22d4b7aec5d3f8f5f01eaeaa13414c2)

Change-Id: I0ba8c2034ab341f8a279cdb4e2e7e47f1aef7897
2014-07-29 15:02:15 -07:00
Elliott Hughes
c7706a02ad Merge "[MIPSR6] Use C-coded string ops on mips32r6/mips64r6" 2014-07-29 21:36:05 +00:00
Dmitriy Ivanov
2b591b3742 Merge "Fix dlsym(3) to do breadth first search." 2014-07-29 21:36:05 +00:00
Elliott Hughes
f6aa17798c Merge "Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."" into lmp-dev 2014-07-29 21:36:00 +00:00
Elliott Hughes
26c1420fbb Revert "Added a bionic systrace class and tracing to pthread_mutex.cpp."
This reverts commit a09fe118b1a5eb876ddaa2620965c4a8fb8b007c.

Change-Id: Ia2eb07b57a25dc2ac76fecc0925efb2bed998156
2014-07-29 23:52:29 +00:00
Dan Albert
e872c9239a Merge "en_US.UTF-8 is also supported." into lmp-dev 2014-07-29 21:36:00 +00:00
Dmitriy Ivanov
aa0f2bdbc2 Fix dlsym(3) to do breadth first search.
dlsym(3) with handle != RTLD_DEFAULT|RTLD_NEXT performs
  breadth first search through the dependency tree.

Bug: 16653281
Change-Id: I017a6975d1a62abb0218a7eb59ae4deba458e324
2014-07-29 14:35:13 -07:00
Dan Albert
7149362d33 en_US.UTF-8 is also supported.
Change-Id: Ic35fad3596dc5e24ee8ae35543a274a471f27bb2
(cherry picked from commit 1abb8bd21d64c2bd21258469b688483f821974d5)
2014-07-29 14:20:47 -07:00
Dan Albert
d0a80a927f There is no _MIN for unsigned types.
Change-Id: I49c38e51197b750210bdbf28c9cf6db30452a206
(cherry picked from commit ee7f1b5946dffa3aa95394b8cf6f15527f1068eb)
2014-07-29 14:20:37 -07:00
Dan Albert
4e58609587 Fix mbsrtowcs(3)'s handling of len parameter.
The len parameter is a _maximum_ length. The previous code was treating
it as an exact length, causing the following typical call to fail:

    mbsrtowcs(out, &in, sizeof(out), state); // sizeof(out) > strlen(in)

Change-Id: I48e474fd54ea5f122bc168a4d74bfe08704f28cc
(cherry picked from commit 6b55ba54eff4657cffe053b71e1c9cce2944a8a9)
2014-07-29 14:20:31 -07:00
Dan Albert
1dd1b88bde __libc_fatal should print a newline to stderr.
Change-Id: I088dc880d7488a65beac8cda95f530f3db41f112
(cherry picked from commit 97e31dedf056b07bcfcd46c49b60bf0798c60843)
2014-07-29 14:20:15 -07:00
Elliott Hughes
4d72c3b2b3 am 0950f263: am 2ea0a58e: Fix linkage of grantpt(3).
* commit '0950f2633524dd97413b019858a0f3820307d2bb':
  Fix linkage of grantpt(3).
2014-07-29 18:09:11 +00:00
Elliott Hughes
0950f26335 am 2ea0a58e: Fix linkage of grantpt(3).
* commit '2ea0a58e01c1ed6db1da9dd0314ee053f5a32026':
  Fix linkage of grantpt(3).
2014-07-29 18:01:25 +00:00
Elliott Hughes
3b3e9d67d5 am e9c1d673: am a7dc7600: Merge "Fix linkage of grantpt(3)."
* commit 'e9c1d673759a45df3aff144bfb51a4ac637427ec':
  Fix linkage of grantpt(3).
2014-07-29 17:56:21 +00:00
Elliott Hughes
e9c1d67375 am a7dc7600: Merge "Fix linkage of grantpt(3)."
* commit 'a7dc7600fe1be1f3fd61856b407bb7065307e711':
  Fix linkage of grantpt(3).
2014-07-29 17:52:05 +00:00
Elliott Hughes
2ea0a58e01 Fix linkage of grantpt(3).
Also clean up the implementation of all the pty functions, add tests,
and fix the stub implementations of ttyname(3) and ttyname_r(3).

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

(cherry picked from commit 4916706cfe590eb06c9b5bd4bd402ce056034d51)

Change-Id: I5cb7a1c17b156456e4c4818e65f256eb8d045424
2014-07-29 10:48:34 -07:00
Brigid Smith
e5e62aa0a5 am 674e245c: am a09fe118: Added a bionic systrace class and tracing to pthread_mutex.cpp.
* commit '674e245cd42a22c33fa31dd9df1777fb76c5891d':
  Added a bionic systrace class and tracing to pthread_mutex.cpp.
2014-07-29 17:32:36 +00:00
Brigid Smith
674e245cd4 am a09fe118: Added a bionic systrace class and tracing to pthread_mutex.cpp.
* commit 'a09fe118b1a5eb876ddaa2620965c4a8fb8b007c':
  Added a bionic systrace class and tracing to pthread_mutex.cpp.
2014-07-29 17:25:00 +00:00
Elliott Hughes
45e3d3e96c am 1b369540: am 52f8271f: Merge "Added a bionic systrace class and tracing to pthread_mutex.cpp."
* commit '1b36954017e3f4761627cf96b42fbe33bf3c280c':
  Added a bionic systrace class and tracing to pthread_mutex.cpp.
2014-07-29 16:50:19 +00:00
Elliott Hughes
1b36954017 am 52f8271f: Merge "Added a bionic systrace class and tracing to pthread_mutex.cpp."
* commit '52f8271fa9fd3f84849465f3c978580fbed866c1':
  Added a bionic systrace class and tracing to pthread_mutex.cpp.
2014-07-29 16:47:01 +00:00
Brigid Smith
a09fe118b1 Added a bionic systrace class and tracing to pthread_mutex.cpp.
bionic_systrace.h contains an implementation of tracing that
can be used with systrace.py and its associated viewer.  pthread_mutex
now uses this tracing to track pthread_mutex contention, which can be
enabled by using the "bionic" command line option to systrace.

Bug: 15116468

(cherry picked from commit a406ee6d5f616192e9a13afad6ac6a9969814fc1)

Change-Id: Ic98fc303689fe9384974150d0d258c50806a55e4
2014-07-29 09:41:44 -07:00
Dmitriy Ivanov
a0abc0daa7 am 46330ed4: am 24dcda0f: Merge "Fix mips/mips64 build"
* commit '46330ed4104a59a935d89d69bec66e1b908f1c08':
  Fix mips/mips64 build
2014-07-29 14:27:16 +00:00
Dmitriy Ivanov
46330ed410 am 24dcda0f: Merge "Fix mips/mips64 build"
* commit '24dcda0f4febe7d257b31c68887183c81d1b8791':
  Fix mips/mips64 build
2014-07-29 14:23:25 +00:00
Dmitriy Ivanov
72f8f35502 am fed22f73: am 1a5db57d: Fix mips/mips64 build
* commit 'fed22f73c1d83e07cf0781c23b2032131902c229':
  Fix mips/mips64 build
2014-07-29 13:33:19 +00:00
Dmitriy Ivanov
fed22f73c1 am 1a5db57d: Fix mips/mips64 build
* commit '1a5db57d5a0f633a83f20e667a4698757a63413e':
  Fix mips/mips64 build
2014-07-29 13:15:21 +00:00
Dmitriy Ivanov
1a5db57d5a Fix mips/mips64 build
Add _start entry label to mips/mips64 linker begin.S

(cherry picked from commit ed485347189e3dfe04a38207c416bdd8c8fac4bc)

Change-Id: Id1b6bb3258f3bfbe3b7ec9491a977f56e44bed14
2014-07-28 22:00:01 -07:00
Dmitriy Ivanov
793ef05a52 am 4139020d: am 5febb0da: Fix \'adb shell /system/bin/linker\' crash
* commit '4139020da37574e0ed8ac5bb18a3ea6d58170be1':
  Fix 'adb shell /system/bin/linker' crash
2014-07-29 01:02:37 +00:00
Dmitriy Ivanov
4139020da3 am 5febb0da: Fix \'adb shell /system/bin/linker\' crash
* commit '5febb0da6f6d7106c403e6809917d89d6ee081ad':
  Fix 'adb shell /system/bin/linker' crash
2014-07-29 00:56:21 +00:00
Elliott Hughes
e56a2dbdbc am 3164805b: am 2be1be47: Revert "Add a hack to <stdlib.h> until we can fix libvpx."
* commit '3164805b2e075a515d99fd7e88bfbc70e1fada4c':
  Revert "Add a hack to <stdlib.h> until we can fix libvpx."
2014-07-28 23:55:02 +00:00
Dmitriy Ivanov
5febb0da6f Fix 'adb shell /system/bin/linker' crash
Bug: https://code.google.com/p/android/issues/detail?id=63174

(cherry picked from commit efe13832dccf2cec2898b89ca4418a6aac29d3eb)

Change-Id: I43629e4a14870f67abc2dd5ff2e3040c47b2168d
2014-07-28 16:50:44 -07:00
Elliott Hughes
3164805b2e am 2be1be47: Revert "Add a hack to <stdlib.h> until we can fix libvpx."
* commit '2be1be47aa9b63568fe6ce1e0a4029b37d90764d':
  Revert "Add a hack to <stdlib.h> until we can fix libvpx."
2014-07-28 23:50:42 +00:00
Dmitriy Ivanov
f98721d5b4 am 18358f0e: am 337c0cef: Merge "Fix \'adb shell /system/bin/linker\' crash"
* commit '18358f0e67d56e71ef098384b45767c1f4651f6d':
  Fix 'adb shell /system/bin/linker' crash
2014-07-28 23:48:51 +00:00
Dmitriy Ivanov
18358f0e67 am 337c0cef: Merge "Fix \'adb shell /system/bin/linker\' crash"
* commit '337c0cefdc4667143a1f4f2c30113b452c5d188f':
  Fix 'adb shell /system/bin/linker' crash
2014-07-28 23:45:07 +00:00
Elliott Hughes
7c963f4840 am 63b5e167: am 78e4f8fe: syscall(3)\'s return type should be long.
* commit '63b5e167ad9f76b7f4917deceac840f929c72934':
  syscall(3)'s return type should be long.
2014-07-28 23:36:02 +00:00
Elliott Hughes
52ed4cdfb9 am a032277b: am 8a2ecf86: Merge "syscall(3)\'s return type should be long."
* commit 'a032277bb40c0327ba5b6c7d7a8c1cb196acaf89':
  syscall(3)'s return type should be long.
2014-07-28 23:35:17 +00:00
Elliott Hughes
63b5e167ad am 78e4f8fe: syscall(3)\'s return type should be long.
* commit '78e4f8fed2c162f8ada55180e48487ef2180cf93':
  syscall(3)'s return type should be long.
2014-07-28 23:21:28 +00:00
Elliott Hughes
2be1be47aa Revert "Add a hack to <stdlib.h> until we can fix libvpx."
This reverts commit 3fb5097a7eec40404760c304b36c8b657b374cab.
libvpx is now fixed.

Bug: 15598056
Change-Id: Icca974e667f92206505f484bd291726eb0150f68
2014-07-28 16:16:38 -07:00
Elliott Hughes
a032277bb4 am 8a2ecf86: Merge "syscall(3)\'s return type should be long."
* commit '8a2ecf868feebaa39caddc6cdf9500b5385651f0':
  syscall(3)'s return type should be long.
2014-07-28 22:47:57 +00:00
Christopher Ferris
4ad5066e1d Merge "Use libunwindbacktrace for debug malloc code." 2014-07-28 22:45:44 +00:00
Christopher Ferris
861c0ef37b Use libunwindbacktrace for debug malloc code.
Create a method of disabling the debug allocation code paths so that
it's possible to use the libunwindbacktrace library without any
modifications.

Use this path to create and destroy the maps for the process. It's not
stricly necessary in the init code since the symbols are not modified
until after the initialize calls.

Also, remove the debug_XXX source files that doesn't need to be in libc.so.

Fix the maps reading code since it was completely broken for 64 bit.

Bug: 16408686

Change-Id: I6b02ef6ce26fdb7a59ad1029e7cbba9accceb704
2014-07-29 18:10:00 -07:00
Elliott Hughes
a7dc7600fe Merge "Fix linkage of grantpt(3)." 2014-07-28 22:45:44 +00:00
Dan Albert
a1a813da81 Merge "Fix mbsrtowcs(3)'s handling of len parameter." into lmp-dev 2014-07-28 22:45:16 +00:00
Elliott Hughes
78e4f8fed2 syscall(3)'s return type should be long.
This doesn't require us to change any of the syscall implementations
because (a) the LP32 ones have sizeof(int) == sizeof(long) anyway,
which is how we never noticed this bug before and (b) the LP64 ones
all use a 64-bit register for the result (and for the syscall number
too).

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

(cherry picked from commit 21972b61ec0572395c5684eebc6cc7b3a4c9e3be)

Change-Id: Ifbc424be29e5650ec72a24df25dd35f24fdd5b3c
2014-07-28 15:39:24 -07:00
Elliott Hughes
d7e6ed0feb am 36666a4d: am 8c66fd79: Merge "Use vsnprintf(3) in syslog(3)."
* commit '36666a4d51e49caf13a75bcfb447ed322a874d84':
  Use vsnprintf(3) in syslog(3).
2014-07-28 16:56:40 +00:00
Elliott Hughes
b38b3887c8 am d201486c: am b1b60c30: Use vsnprintf(3) in syslog(3).
* commit 'd201486cdb2ed28d4162270c01d85e5047555628':
  Use vsnprintf(3) in syslog(3).
2014-07-28 16:52:59 +00:00
Elliott Hughes
36666a4d51 am 8c66fd79: Merge "Use vsnprintf(3) in syslog(3)."
* commit '8c66fd798ed5b7cefe1568d9a000d01b69d29dd9':
  Use vsnprintf(3) in syslog(3).
2014-07-28 16:51:57 +00:00
Elliott Hughes
d201486cdb am b1b60c30: Use vsnprintf(3) in syslog(3).
* commit 'b1b60c30bf321c0fc02264b953b5c16c49d34457':
  Use vsnprintf(3) in syslog(3).
2014-07-28 16:47:40 +00:00
Elliott Hughes
b1b60c30bf Use vsnprintf(3) in syslog(3).
It seemed like a clever trick to use the internal log message formatting
code in syslog(3), but on reflection that means you can't (for example)
format floating point numbers. This patch switches us over to using good
old vsnprintf(3), even though that requires us to jump through a few hoops.

There's no obvious way to unit test this, so I wrote a little program and
ran that.

Bug: 14292866
Change-Id: I9c83500ba9cbb209b6f496067a91bf69434eeef5
2014-07-28 09:33:00 -07:00
Elliott Hughes
4916706cfe Fix linkage of grantpt(3).
Also clean up the implementation of all the pty functions, add tests,
and fix the stub implementations of ttyname(3) and ttyname_r(3).

Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: I0fb36438cd1abf8d4e87c29415f03db9ba13c3c2
2014-07-25 19:55:23 -07:00
Elliott Hughes
fbaedd30e6 am a09f2ebb: am c1a6a725: Remove localtime_tz and strftime_tz.
* commit 'a09f2ebb408e9d562aa41cbe9b8f50e6f0d0a6bd':
  Remove localtime_tz and strftime_tz.
2014-07-26 00:40:05 +00:00
Elliott Hughes
a09f2ebb40 am c1a6a725: Remove localtime_tz and strftime_tz.
* commit 'c1a6a7256026431a9ae49ef2a6139ea99410819b':
  Remove localtime_tz and strftime_tz.
2014-07-26 00:36:25 +00:00
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
5f7597d5a3 am e7e5e37c: am 1a918d9b: Merge "Remove localtime_tz and strftime_tz."
* commit 'e7e5e37ca47125bb95905e708588159431798f3c':
  Remove localtime_tz and strftime_tz.
2014-07-25 23:29:28 +00:00
Elliott Hughes
e7e5e37ca4 am 1a918d9b: Merge "Remove localtime_tz and strftime_tz."
* commit '1a918d9be83013cdc8e194edf35b5295eba4ab1c':
  Remove localtime_tz and strftime_tz.
2014-07-25 23:26:24 +00:00
Elliott Hughes
05caeb1d11 am d76f4a9b: am 708c1120: Start hiding "private/bionic_time.h".
* commit 'd76f4a9b6fa3542fb8b9dc406f4bc5b4e3166675':
  Start hiding "private/bionic_time.h".
2014-07-25 23:08:45 +00:00
Elliott Hughes
d76f4a9b6f am 708c1120: Start hiding "private/bionic_time.h".
* commit '708c11205443cda14cfb21138d441106aa77a5f9':
  Start hiding "private/bionic_time.h".
2014-07-25 23:04:23 +00:00
Elliott Hughes
cdb6a40f8f am 4b4ee2fc: am 50a9630c: Merge "Start hiding "private/bionic_time.h"."
* commit '4b4ee2fc1bdfde285392a68c2facf9f16bb92f14':
  Start hiding "private/bionic_time.h".
2014-07-25 22:27:35 +00: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
4b4ee2fc1b am 50a9630c: Merge "Start hiding "private/bionic_time.h"."
* commit '50a9630cc26cbc1e38e3ddc589f04fa5cd91697b':
  Start hiding "private/bionic_time.h".
2014-07-25 22:21:42 +00:00
Elliott Hughes
17886971ff Merge "Remove declarations for things that don't exist." 2014-07-25 21:16:27 +00:00
Elliott Hughes
f4c1a36a45 Remove declarations for things that don't exist.
The <grp.h> ones prevent gdb from building out of the box.

Change-Id: I0efbffad2215cfcd75b4d442dfc972444b51d97c
2014-07-29 16:57:47 -07:00
Elliott Hughes
52f8271fa9 Merge "Added a bionic systrace class and tracing to pthread_mutex.cpp." 2014-07-25 21:16:27 +00:00
Brigid Smith
a406ee6d5f Added a bionic systrace class and tracing to pthread_mutex.cpp.
bionic_systrace.h contains an implementation of tracing that
can be used with systrace.py and its associated viewer.  pthread_mutex
now uses this tracing to track pthread_mutex contention, which can be
enabled by using the "bionic" command line option to systrace.

Bug: 15116468
Change-Id: I30ed5b377c91ca4c36568a0e647ddf95d4e4a61a
2014-07-28 19:38:08 -07:00
Dmitriy Ivanov
24dcda0f4f Merge "Fix mips/mips64 build" 2014-07-25 21:16:27 +00:00
Dmitriy Ivanov
ed48534718 Fix mips/mips64 build
Add _start entry label to mips/mips64 linker begin.S

Change-Id: Idcdfc3391427b53880650798be0583a7ac022bcc
2014-07-28 21:03:17 -07:00
Dan Albert
9379ce694d Merge "There is no _MIN for unsigned types." into lmp-dev 2014-07-25 21:16:23 +00:00
Dan Albert
8db0ce7050 Merge "__libc_fatal should print a newline to stderr." into lmp-dev 2014-07-25 21:16:23 +00:00
Dan Albert
8522cc62e8 am 779fdd7c: am a4c14fda: Merge "en_US.UTF-8 is also supported."
* commit '779fdd7c0d6b85c733c2c0c562e8174828cf9fca':
  en_US.UTF-8 is also supported.
2014-07-25 19:18:16 +00:00
Dan Albert
779fdd7c0d am a4c14fda: Merge "en_US.UTF-8 is also supported."
* commit 'a4c14fda9176678cadb65fb53f503fda6668f8d1':
  en_US.UTF-8 is also supported.
2014-07-25 19:06:44 +00:00
Elliott Hughes
ad922e7d03 am f4fd7cf1: am 123172ae: Merge "[MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS."
* commit 'f4fd7cf1380b0cbd29806196959673802f1c769a':
  [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
2014-07-25 02:19:29 +00:00
Dmitriy Ivanov
95f3983e1d am ceaec0d9: am dbf52ec3: Merge "Fix global variable initialization for linker"
* commit 'ceaec0d95ccff34ea2c2403528f7678f4a5b5355':
  Fix global variable initialization for linker
2014-07-25 02:19:28 +00:00
Elliott Hughes
11c5dd17ab am e7b2b02d: am d6f614a4: Merge "Implement twalk(3), add unit tests."
* commit 'e7b2b02dec81271938e29aae09901ca37d2c3a12':
  Implement twalk(3), add unit tests.
2014-07-25 02:19:28 +00:00
Elliott Hughes
f4fd7cf138 am 123172ae: Merge "[MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS."
* commit '123172ae370fe51e2d1fc26fe0aafa095af52919':
  [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
2014-07-25 01:03:46 +00:00
Dmitriy Ivanov
ceaec0d95c am dbf52ec3: Merge "Fix global variable initialization for linker"
* commit 'dbf52ec37b835973d8f357af2a16694c98894c4d':
  Fix global variable initialization for linker
2014-07-25 01:03:45 +00:00
Elliott Hughes
e7b2b02dec am d6f614a4: Merge "Implement twalk(3), add unit tests."
* commit 'd6f614a4e16b0fcf4a4fba748bf21fc0017d3619':
  Implement twalk(3), add unit tests.
2014-07-25 01:03:33 +00:00
Dmitriy Ivanov
cae44d4f8f am a9b2185b: am 65549969: Fix global variable initialization for linker
* commit 'a9b2185bc4ece0fcf0c360b39b5643497aabf26a':
  Fix global variable initialization for linker
2014-07-25 00:05:20 +00:00
Raghu Gandham
b8e30d7320 am 56152a8b: am 34b258dd: [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
* commit '56152a8b81bd5972391df562e4e3cd8a4cdda613':
  [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
2014-07-24 23:59:35 +00:00
Dmitriy Ivanov
a9b2185bc4 am 65549969: Fix global variable initialization for linker
* commit '65549969488bbce7f5d1b57714ba32c466943470':
  Fix global variable initialization for linker
2014-07-24 23:58:31 +00:00
Dmitriy Ivanov
6554996948 Fix global variable initialization for linker
Linker now calls init functions for itself.

(cherry picked from commit 4151ea73b75e274d1ff80b42d9d457a783208516)

Change-Id: I3300fe22de8ad8466a5b1c2d551429769a42852d
2014-07-24 16:49:36 -07:00
Elliott Hughes
29b1858f9c am d00b2327: am b902641d: Implement twalk(3), add unit tests.
* commit 'd00b2327c50ae6c22a565813d6fa385a9cce3ec5':
  Implement twalk(3), add unit tests.
2014-07-24 23:47:02 +00:00
Duane Sand
706654d3c1 am eb1fbf17: am 5ade7e3f: [MIPS] Drop soft-fp targets
* commit 'eb1fbf1781119ef12b257bfe1254032a7f487c31':
  [MIPS] Drop soft-fp targets
2014-07-24 23:47:02 +00:00
Raghu Gandham
56152a8b81 am 34b258dd: [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
* commit '34b258dd692951ab2236e134e5520367cda60125':
  [MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS.
2014-07-24 23:46:28 +00:00
Elliott Hughes
d00b2327c5 am b902641d: Implement twalk(3), add unit tests.
* commit 'b902641d7303d2ea24c10f6d6e7ff49e7ee75611':
  Implement twalk(3), add unit tests.
2014-07-24 23:36:16 +00:00
Duane Sand
eb1fbf1781 am 5ade7e3f: [MIPS] Drop soft-fp targets
* commit '5ade7e3f6bb43d419402aab2c7adca2173e2c584':
  [MIPS] Drop soft-fp targets
2014-07-24 23:33:44 +00:00
Raghu Gandham
34b258dd69 [MIPS] Fix atomic_is_lock_free test for mips32.
On 32-bit MIPS, 64-bit atomic ops are achieved through locks.
So allow the test to fail for atomic_intmax_t on 32-bit MIPS.

(cherry picked from commit f1837377d215a6eda294b6ac7552b226deee91ce)

Change-Id: I973d999c31c9ab89b5a7b709beff6486b93408f2
2014-07-24 16:22:02 -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
Elliott Hughes
d6f614a4e1 Merge "Implement twalk(3), add unit tests." 2014-07-24 22:07:52 +00:00
Elliott Hughes
3e424d0a24 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
Change-Id: I97397a7b921e2e860fd9c8032cafd9097380498a
2014-07-24 14:55:29 -07:00
Elliott Hughes
8a2ecf868f Merge "syscall(3)'s return type should be long." 2014-07-24 20:55:36 +00:00
Elliott Hughes
21972b61ec syscall(3)'s return type should be long.
This doesn't require us to change any of the syscall implementations
because (a) the LP32 ones have sizeof(int) == sizeof(long) anyway,
which is how we never noticed this bug before and (b) the LP64 ones
all use a 64-bit register for the result (and for the syscall number
too).

Bug: https://code.google.com/p/android/issues/detail?id=73952
Change-Id: I9866c3579a7a94de27bfbe80ad7a822c3183c7fb
2014-07-28 12:33:07 -07:00
Elliott Hughes
8c66fd798e Merge "Use vsnprintf(3) in syslog(3)." 2014-07-24 20:55:36 +00:00
Elliott Hughes
f1e83cc34a Use vsnprintf(3) in syslog(3).
It seemed like a clever trick to use the internal log message formatting
code in syslog(3), but on reflection that means you can't (for example)
format floating point numbers. This patch switches us over to using good
old vsnprintf(3), even though that requires us to jump through a few hoops.

There's no obvious way to unit test this, so I wrote a little program and
ran that.

(cherry-pick of b1b60c30bf321c0fc02264b953b5c16c49d34457.)

Bug: 14292866
Change-Id: I9c83500ba9cbb209b6f496067a91bf69434eeef5
2014-07-28 09:43:21 -07:00
Elliott Hughes
50a9630cc2 Merge "Start hiding "private/bionic_time.h"." 2014-07-24 20:55:36 +00:00
Elliott Hughes
905e6d58aa Start hiding "private/bionic_time.h".
Bug: 15765976
Change-Id: Ibd9cf07067ec8dffe9fda6c3d498d4ab90708220
2014-07-25 12:03:51 -07:00
Elliott Hughes
1a918d9be8 Merge "Remove localtime_tz and strftime_tz." 2014-07-24 20:55:36 +00:00
Elliott Hughes
39d903aea9 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
Change-Id: Ic9ef36e8acd3619504ecc4d73feec2b61fd4dfa1
2014-07-25 15:50:31 -07:00
Dan Albert
a4c14fda91 Merge "en_US.UTF-8 is also supported." 2014-07-24 20:55:36 +00:00
Dan Albert
1abb8bd21d en_US.UTF-8 is also supported.
Change-Id: Ic35fad3596dc5e24ee8ae35543a274a471f27bb2
2014-07-25 11:24:03 -07:00
Dmitriy Ivanov
dbf52ec37b Merge "Fix global variable initialization for linker" 2014-07-24 20:55:36 +00:00
Dmitriy Ivanov
4151ea73b7 Fix global variable initialization for linker
Linker now calls init functions for itself.

Change-Id: Ibd099812493041ac70f591e3f379ee742b4683b8
2014-07-24 15:33:25 -07:00
Duane Sand
d57a935c44 am 3a11c10a: am c86950cb: [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
* commit '3a11c10ad6f6f8fc6cf1031c9862ab5275b5a27e':
  [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
2014-07-24 19:57:08 +00:00
Christopher Ferris
3c58853a7d am efbb837d: am bc74ecfa: HACK: Disable syslog going to android log.
* commit 'efbb837dc42c8df3a4a94e5a9aeac1a72aba4e47':
  HACK: Disable syslog going to android log.
2014-07-24 19:57:07 +00:00
Nick Kralevich
c10499eaba am 9a2778a3: am 92d8b232: debuggerd: if PR_GET_DUMPABLE=0, don\'t ask for dumping
* commit '9a2778a3a60a59aae415acdfbfa9168651ce8292':
  debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
2014-07-24 19:57:07 +00:00
Duane Sand
3a11c10ad6 am c86950cb: [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
* commit 'c86950cb3f50ead0c9a9d0366b870d6c6e1b91c8':
  [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
2014-07-24 19:48:30 +00:00
Christopher Ferris
efbb837dc4 am bc74ecfa: HACK: Disable syslog going to android log.
* commit 'bc74ecfaf5de47056fd8a48db65c0e5aef892f0c':
  HACK: Disable syslog going to android log.
2014-07-24 19:47:58 +00:00
Nick Kralevich
9a2778a3a6 am 92d8b232: debuggerd: if PR_GET_DUMPABLE=0, don\'t ask for dumping
* commit '92d8b2320a4c3911452227f560ae4a39e83b0abf':
  debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
2014-07-24 19:46:25 +00:00
Colin Cross
174fcc628f am abca8709: am 49fbec6d: HACK: remove %m support from printf.
* commit 'abca8709895d5a67fb8acdfbc5e859463099f1f0':
  HACK: remove %m support from printf.
2014-07-24 19:26:52 +00:00
Colin Cross
abca870989 am 49fbec6d: HACK: remove %m support from printf.
* commit '49fbec6d9aee62462a4acf3ba47788ca1e35be37':
  HACK: remove %m support from printf.
2014-07-24 19:23:45 +00:00
Elliott Hughes
4298c7ab41 am c6f39339: am 8dbe3f0f: Merge "[MIPS] Drop soft-fp targets"
* commit 'c6f39339de4ef6da583bc078a4d5f73da8dac8f2':
  [MIPS] Drop soft-fp targets
2014-07-24 18:36:19 +00:00
Elliott Hughes
c6f39339de am 8dbe3f0f: Merge "[MIPS] Drop soft-fp targets"
* commit '8dbe3f0f51f0cd26c22df82bdef9a2f8caea7ef6':
  [MIPS] Drop soft-fp targets
2014-07-24 18:29:55 +00: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
Elliott Hughes
1289ef8743 am 0caa27b1: am 7d22a451: Merge "[MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models"
* commit '0caa27b148ea15b1292d4ace1f4a14fe79e8d953':
  [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
2014-07-24 04:07:00 +00: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
Elliott Hughes
0caa27b148 am 7d22a451: Merge "[MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models"
* commit '7d22a4519610f830178bbff32d961a2784354397':
  [MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models
2014-07-24 04:03:03 +00:00
Christopher Ferris
bc74ecfaf5 HACK: Disable syslog going to android log.
Bug: 14292866

Change-Id: I3adc448dbacfeecd32508ddccf27be3aa653e466
2014-07-23 18:08:09 -07:00
Nick Kralevich
cd438324f7 am 3363e16a: am f9650757: Merge "debuggerd: if PR_GET_DUMPABLE=0, don\'t ask for dumping"
* commit '3363e16ac93c444d06988702122481bf33e8d33a':
  debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
2014-07-23 23:13:15 +00:00
Nick Kralevich
92d8b2320a debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
PR_GET_DUMPABLE is used by an application to indicate whether or
not core dumps / PTRACE_ATTACH should work.

Security sensitive applications often set PR_SET_DUMPABLE to 0 to
disable core dumps, to avoid leaking sensitive memory to persistent
storage. Similarly, they also set PR_SET_DUMPABLE to zero to prevent
PTRACE_ATTACH from working, again to avoid leaking the contents
of sensitive memory.

Honor PR_GET_DUMPABLE when connecting to debuggerd. If an application
has said it doesn't want its memory dumped, then we shouldn't
ask debuggerd to dump memory on its behalf.

FORTIFY_SOURCE tests: Modify the fortify_source tests to set
PR_SET_DUMPABLE=0. This reduces the total runtime of
/data/nativetest/bionic-unit-tests/bionic-unit-tests32 from approx
53 seconds to 25 seconds. There's no need to connect to debuggerd
when running these tests.

Bug: 16513137

(cherry picked from commit be0e43b77676338fd5e6a82c9cc2b6302d579de2)

Change-Id: I6e1a9bce564e94fc19893d639b15f38c549cabfa
2014-07-23 16:07:33 -07:00
Nick Kralevich
3363e16ac9 am f9650757: Merge "debuggerd: if PR_GET_DUMPABLE=0, don\'t ask for dumping"
* commit 'f9650757493060d950cc28c5a58acdcdd41f02e9':
  debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
2014-07-23 23:00:01 +00:00
Nick Kralevich
1c5bb20b0d debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
PR_GET_DUMPABLE is used by an application to indicate whether or
not core dumps / PTRACE_ATTACH should work.

Security sensitive applications often set PR_SET_DUMPABLE to 0 to
disable core dumps, to avoid leaking sensitive memory to persistent
storage. Similarly, they also set PR_SET_DUMPABLE to zero to prevent
PTRACE_ATTACH from working, again to avoid leaking the contents
of sensitive memory.

Honor PR_GET_DUMPABLE when connecting to debuggerd. If an application
has said it doesn't want its memory dumped, then we shouldn't
ask debuggerd to dump memory on its behalf.

FORTIFY_SOURCE tests: Modify the fortify_source tests to set
PR_SET_DUMPABLE=0. This reduces the total runtime of
/data/nativetest/bionic-unit-tests/bionic-unit-tests32 from approx
53 seconds to 25 seconds. There's no need to connect to debuggerd
when running these tests.

Bug: 16513137

(cherry picked from commit be0e43b77676338fd5e6a82c9cc2b6302d579de2)

Change-Id: I1e2af2300db56e6c8e6f304a666e66f6904c2be6
2014-07-23 15:57:39 -07:00
Elliott Hughes
83b9826e68 Merge "Implement <sys/fsuid.h>." 2014-07-23 22:55:49 +00:00
Elliott Hughes
79310994d2 Implement <sys/fsuid.h>.
Change-Id: I1e5e50444a1b5a430ba5b5d9b8b1d91219af5e92
2014-07-30 15:19:29 -07:00
Elliott Hughes
123172ae37 Merge "[MIPS] Fix atomic_is_lock_free test for mips32. On 32-bit MIPS, 64-bit atomic ops are achieved through locks. So allow the test to fail for atomic_intmax_t on 32-bit MIPS." 2014-07-23 22:55:49 +00:00
Raghu Gandham
f1837377d2 [MIPS] Fix atomic_is_lock_free test for mips32.
On 32-bit MIPS, 64-bit atomic ops are achieved through locks.
So allow the test to fail for atomic_intmax_t on 32-bit MIPS.

Change-Id: I78e7807e50f899a0fea0d5b388d9ebb53228aaa0
2014-07-24 16:11:52 -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
Duane Sand
bc5a3ec6df [MIPSR6] Use C-coded string ops on mips32r6/mips64r6
The existing assembler code uses deprecated lwl/lwr/swl/swr ops.
Replacing those with misalignment-forgiving lw/sw ops may
involve careful performance tuning.

Change-Id: I47a042f7b22b87d7d52e46c29c44b1db1ba8b693
2014-07-23 14:00:21 -07:00
Elliott Hughes
c39ab91dfe am aa8672cb: am 4126c129: Fix belated review comments on syslog change.
* commit 'aa8672cb6ddddaa88025f38ad5fe77f0891a219d':
  Fix belated review comments on syslog change.
2014-07-23 20:24:42 +00:00
Elliott Hughes
e5e120b214 am 0200a285: am f9bfc2ff: Merge "Fix belated review comments on syslog change."
* commit '0200a28583670ce4e20e4c4f7e6f2e358d48ba2a':
  Fix belated review comments on syslog change.
2014-07-23 20:24:41 +00:00
Elliott Hughes
aa8672cb6d am 4126c129: Fix belated review comments on syslog change.
* commit '4126c129613e27717c110626070c44ea7e3f29ce':
  Fix belated review comments on syslog change.
2014-07-23 20:20:33 +00:00
Elliott Hughes
0200a28583 am f9bfc2ff: Merge "Fix belated review comments on syslog change."
* commit 'f9bfc2ff8eb5db99a106a8a384498165361291ce':
  Fix belated review comments on syslog change.
2014-07-23 20:18:59 +00: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
06a416c202 am 5e1183c2: am 467e49be: Merge "Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros."
* commit '5e1183c2169b8b56d6330182886d711c5ec2366f':
  Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
2014-07-23 19:08:25 +00:00
Elliott Hughes
5e1183c216 am 467e49be: Merge "Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros."
* commit '467e49be70231f55bd7ba908407b4413294d3bfc':
  Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
2014-07-23 19:02:16 +00:00
Nick Kralevich
f965075749 Merge "debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping" 2014-07-23 18:51:55 +00:00
Nick Kralevich
be0e43b776 debuggerd: if PR_GET_DUMPABLE=0, don't ask for dumping
PR_GET_DUMPABLE is used by an application to indicate whether or
not core dumps / PTRACE_ATTACH should work.

Security sensitive applications often set PR_SET_DUMPABLE to 0 to
disable core dumps, to avoid leaking sensitive memory to persistent
storage. Similarly, they also set PR_SET_DUMPABLE to zero to prevent
PTRACE_ATTACH from working, again to avoid leaking the contents
of sensitive memory.

Honor PR_GET_DUMPABLE when connecting to debuggerd. If an application
has said it doesn't want its memory dumped, then we shouldn't
ask debuggerd to dump memory on its behalf.

FORTIFY_SOURCE tests: Modify the fortify_source tests to set
PR_SET_DUMPABLE=0. This reduces the total runtime of
/data/nativetest/bionic-unit-tests/bionic-unit-tests32 from approx
53 seconds to 25 seconds. There's no need to connect to debuggerd
when running these tests.

Bug: 16513137
Change-Id: Idc7857b089f3545758f4d9b436b783d580fb653f
2014-07-23 15:48:49 -07:00
Elliott Hughes
508dd2e67b am e34ce374: am 2aa142ff: Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
* commit 'e34ce3741f88d53ef1400548e4e8702cbe73fa23':
  Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
2014-07-23 18:45:38 +00:00
Elliott Hughes
7d22a45196 Merge "[MIPSR6] setjmp supports mips32r6 and FP64A/FPXX reg models" 2014-07-23 18:45:08 +00:00
Duane Sand
dd37251c47 [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.

Change-Id: I7f617a3ffea8da41c402ef3a68ab32c91d3d7622
2014-07-23 13:57:30 -07:00
Elliott Hughes
f9bfc2ff8e Merge "Fix belated review comments on syslog change." 2014-07-23 18:45:08 +00:00
Elliott Hughes
e34ce3741f am 2aa142ff: Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
* commit '2aa142ffb20337e60f81642bed1c11d24a3756b1':
  Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
2014-07-23 18:42:30 +00:00
Elliott Hughes
afe6360627 Fix belated review comments on syslog change.
Bug: 14292866
Change-Id: I3cd92084cb55b5673f6ba62d51952941b79deb51
2014-07-23 11:38:38 -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
Dmitriy Ivanov
337c0cefdc Merge "Fix 'adb shell /system/bin/linker' crash" 2014-07-23 17:53:27 +00:00
Dmitriy Ivanov
efe13832dc Fix 'adb shell /system/bin/linker' crash
Bug: https://code.google.com/p/android/issues/detail?id=63174
Change-Id: I072290ea11109c07f277ad3dec7f44fcb7bf6aa6
2014-07-28 16:29:52 -07:00
Elliott Hughes
8dbe3f0f51 Merge "[MIPS] Drop soft-fp targets" 2014-07-23 17:53:27 +00:00
Duane Sand
ba23bd0a40 [MIPS] Drop soft-fp targets
Change-Id: I583bf8242d3034ebfc48548499cdb3316094c8e3
2014-07-24 18:04:21 +00:00
Elliott Hughes
ade1be3e6a am 66544dd1: am 4ac83fad: Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
* commit '66544dd13674fc0a1d9af48816797c1c762a4382':
  Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
2014-07-23 16:58:39 +00:00
Elliott Hughes
66544dd136 am 4ac83fad: Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
* commit '4ac83fad3cdc486c00199eef9ea2a95d354839c4':
  Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
2014-07-23 16:50:57 +00:00
Elliott Hughes
656fde84a0 am 5cd06abd: am ea42a6ca: Merge "Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files."
* commit '5cd06abdcf8980b22bc7ca803ed6c4b2c06b00c5':
  Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
2014-07-23 16:49:25 +00:00
Elliott Hughes
5cd06abdcf am ea42a6ca: Merge "Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files."
* commit 'ea42a6caea9d5cb5a92939ba0696856306b1d56b':
  Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
2014-07-23 16:42:30 +00: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
f6c8d26680 am be0ee5a6: am 3ff6d95a: Remove the unused swab.S.
* commit 'be0ee5a62600b98533b0c072f61ab1470ab4a843':
  Remove the unused swab.S.
2014-07-23 03:56:31 +00:00
Elliott Hughes
be0ee5a626 am 3ff6d95a: Remove the unused swab.S.
* commit '3ff6d95a9b26154c94b5cf130649cf99eb6a4010':
  Remove the unused swab.S.
2014-07-23 03:51:55 +00: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
Elliott Hughes
5017fbda4e am ad87093f: am e26ac7f7: Merge "Remove the unused swab.S."
* commit 'ad87093f04f567573afa3bcdbc6a5f967e86834f':
  Remove the unused swab.S.
2014-07-23 03:37:56 +00:00
Elliott Hughes
ad87093f04 am e26ac7f7: Merge "Remove the unused swab.S."
* commit 'e26ac7f776c4011d17e7609efafa116ac4db25ff':
  Remove the unused swab.S.
2014-07-23 03:33:41 +00:00
Duane Sand
439910983e am f6ab6bfe: am 5d7775c6: [MIPS] Allow united mipsel and mips64el gcc toolchain
* commit 'f6ab6bfeb0ee36ac30421d203b750f80627d21ee':
  [MIPS] Allow united mipsel and mips64el gcc toolchain
2014-07-23 02:53:41 +00:00
Elliott Hughes
98a685f5fd am b5031b5d: am 79b5a396: Merge "[MIPS] Allow united mipsel and mips64el gcc toolchain"
* commit 'b5031b5d6b207484f2cf831d4dd46c17da055044':
  [MIPS] Allow united mipsel and mips64el gcc toolchain
2014-07-23 02:50:08 +00:00
Duane Sand
f6ab6bfeb0 am 5d7775c6: [MIPS] Allow united mipsel and mips64el gcc toolchain
* commit '5d7775c6dfa8f9b2ae313c9493525d54a2d04b38':
  [MIPS] Allow united mipsel and mips64el gcc toolchain
2014-07-23 02:48:41 +00:00
Elliott Hughes
b5031b5d6b am 79b5a396: Merge "[MIPS] Allow united mipsel and mips64el gcc toolchain"
* commit '79b5a396178e798af4ba9b327b884ae014f15bb2':
  [MIPS] Allow united mipsel and mips64el gcc toolchain
2014-07-23 02:44:48 +00: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
3a14439b6b am 1a1d0b7a: am 2582f02a: Cleanup: Delete dead code.
* commit '1a1d0b7abff01ed8d731e3590720c611a1db2daa':
  Cleanup: Delete dead code.
2014-07-23 00:13:13 +00:00
Sreeram Ramachandran
1a1d0b7abf am 2582f02a: Cleanup: Delete dead code.
* commit '2582f02a01cd56c56a4e6c9de4444a6ec937cc37':
  Cleanup: Delete dead code.
2014-07-23 00:10:16 +00:00
Elliott Hughes
e26ac7f776 Merge "Remove the unused swab.S." 2014-07-22 21:56:40 +00:00
Elliott Hughes
ca70453e84 Remove the unused swab.S.
Change-Id: Id30eac5a21b649d6a039a0d7ca0496177fbfb571
2014-07-22 20:21:31 -07:00
Sreeram Ramachandran
2582f02a01 Cleanup: Delete dead code.
Bug: 15413389
Change-Id: I315468832ef18ffc84174e54774ab63b86d284dc
2014-07-22 11:24:17 -07:00
Elliott Hughes
467e49be70 Merge "Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros." 2014-07-22 16:35:00 +00:00
Elliott Hughes
5d2f86f363 Fix generate-NOTICE to cope better with BSD __COPYRIGHT macros.
Change-Id: I99f9d2e0a28342663cec6aed483e1a23c12e5e87
2014-07-23 11:10:48 -07:00
Elliott Hughes
79b5a39617 Merge "[MIPS] Allow united mipsel and mips64el gcc toolchain" 2014-07-22 16:35:00 +00:00
Duane Sand
f541650828 [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.

Change-Id: I70cbd3f5867e59b1f6f829793444242fb0894aa6
2014-07-22 14:27:48 -07:00
Elliott Hughes
ea42a6caea Merge "Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files." 2014-07-22 16:25:43 +00:00
Elliott Hughes
3758a244cf Fix a couple of bugs in generate-NOTICE and regenerate the NOTICE files.
Change-Id: Id6fcb74292e661504d0758bfce24abdc18cb8d32
2014-07-22 21:29:00 -07:00
Elliott Hughes
3dde5101c4 am f6771114: am 6209c81d: Use upstream OpenBSD\'s arc4random.
* commit 'f6771114dddb8ec5802dbfdc13cc81e7c6f91d59':
  Use upstream OpenBSD's arc4random.
2014-07-22 02:35:52 +00:00
Elliott Hughes
f6b20f4156 am e41d7b4e: am b7661362: Rewrite syslog(3) to use Android logging.
* commit 'e41d7b4e83418b73a18416f7a50a5dd842ac65b5':
  Rewrite syslog(3) to use Android logging.
2014-07-22 02:35:51 +00:00
Elliott Hughes
f6771114dd am 6209c81d: Use upstream OpenBSD\'s arc4random.
* commit '6209c81d40e2b4e129a28bda3259150d79d507e8':
  Use upstream OpenBSD's arc4random.
2014-07-22 02:30:52 +00:00
Elliott Hughes
e41d7b4e83 am b7661362: Rewrite syslog(3) to use Android logging.
* commit 'b76613627d045acd3bdb7294f424f14c21584872':
  Rewrite syslog(3) to use Android logging.
2014-07-22 02:30:49 +00: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
72602a4682 am 55383d57: am 4d421901: Merge "Use upstream OpenBSD\'s arc4random."
* commit '55383d57d4b1507391923bbd59bf063a6eca7f7e':
  Use upstream OpenBSD's arc4random.
2014-07-22 02:12:22 +00:00
Elliott Hughes
55383d57d4 am 4d421901: Merge "Use upstream OpenBSD\'s arc4random."
* commit '4d421901e587fd1563da94baf59b015017c01b91':
  Use upstream OpenBSD's arc4random.
2014-07-22 02:07:58 +00:00
Elliott Hughes
91f1b3998f am 85287b29: am 925d388e: Merge "Rewrite syslog(3) to use Android logging."
* commit '85287b29eaeeefa46cac16cdc97551422f7449a2':
  Rewrite syslog(3) to use Android logging.
2014-07-22 01:58:50 +00: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
Elliott Hughes
85287b29ea am 925d388e: Merge "Rewrite syslog(3) to use Android logging."
* commit '925d388e24945afb17f66d5c132f993e6a0d4fee':
  Rewrite syslog(3) to use Android logging.
2014-07-22 01:54:47 +00:00
Dan Albert
3ce32b86ff am 607458ff: am b828eaeb: Merge "There is no _MIN for unsigned types."
* commit '607458ffe1cf8486116f3cb23c667785a8cdc2eb':
  There is no _MIN for unsigned types.
2014-07-22 00:50:55 +00:00
Dan Albert
607458ffe1 am b828eaeb: Merge "There is no _MIN for unsigned types."
* commit 'b828eaeb4512baba6d43a56da682bd7329079822':
  There is no _MIN for unsigned types.
2014-07-22 00:43:15 +00:00
Elliott Hughes
0f7d882bb7 Switch to OpenBSD res_random.
Change-Id: Ia971d647832893e9bb4601697132a105524d2f96
2014-07-21 15:31:53 -07:00
Dan Albert
b61f7f8316 am e226b640: am 1fb90a8a: Merge "Fix mbsrtowcs(3)\'s handling of len parameter."
* commit 'e226b64061207358f5489bc5c119e768d5761b99':
  Fix mbsrtowcs(3)'s handling of len parameter.
2014-07-21 19:24:46 +00:00
Dan Albert
96a820327f am 75fcd01a: am e9731387: Merge "__libc_fatal should print a newline to stderr."
* commit '75fcd01a6ecdee67f55751557ebceb0f31a73682':
  __libc_fatal should print a newline to stderr.
2014-07-21 19:24:27 +00:00
Dan Albert
e226b64061 am 1fb90a8a: Merge "Fix mbsrtowcs(3)\'s handling of len parameter."
* commit '1fb90a8aa0086f7e4f7960a5b916b8605a9a3c96':
  Fix mbsrtowcs(3)'s handling of len parameter.
2014-07-21 18:56:06 +00:00
Hans Boehm
3033608b86 am 50f2de91: am ed68221a: Define atomic_charN_t only if charN_t is supported.
* commit '50f2de914f24c0bb38a51ab7759698d11b38a9ad':
  Define atomic_charN_t only if charN_t is supported.
2014-07-21 18:27:40 +00:00
Christopher Ferris
41370acfef am b290796f: am b0815aea: Make sure not to construct illegal property names.
* commit 'b290796ff99151cd13f9d480cc186ceae4713c9f':
  Make sure not to construct illegal property names.
2014-07-21 18:27:40 +00:00
Elliott Hughes
2e138c41d9 am ebb47455: am fbd00819: Merge "Clean up some misinformation around prctl." into lmp-dev
* commit 'ebb474553165cf72c1b3908755aeb3b690f40ad8':
  Clean up some misinformation around prctl.
2014-07-21 18:27:39 +00:00
Christopher Ferris
44d1b00305 am 2affffac: am a6945179: Merge "Add gen syscalls step to instructions." into lmp-dev
* commit '2affffac74eac349b0981cfe8fd65743835896f5':
  Add gen syscalls step to instructions.
2014-07-21 18:27:38 +00:00
Elliott Hughes
065d312a53 am 4aa12034: am 291da8d3: Remove SIOCKILLADDR from <sys/socket.h>.
* commit '4aa120347435481cf439e0378ef12a60b546d2a8':
  Remove SIOCKILLADDR from <sys/socket.h>.
2014-07-21 18:27:38 +00:00
Elliott Hughes
a0d633c2f7 am 6f9e6124: am b5bef263: (-s ours) Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
* commit '6f9e612413a281d69c8d2dbbe00442d75a1f5abb':
  Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
2014-07-21 18:27:37 +00:00
Dan Albert
75fcd01a6e am e9731387: Merge "__libc_fatal should print a newline to stderr."
* commit 'e9731387f46938dd73fcda0193460b33655400c4':
  __libc_fatal should print a newline to stderr.
2014-07-21 18:23:56 +00:00
Elliott Hughes
beb24d0dd6 am 841c633f: resolved conflicts for merge of b5bef263 to lmp-dev-plus-aosp
* commit '841c633fa13ba8d48563fbda247e75bab3bd6f49':
  resolved conflicts for merge of b5bef263 to lmp-dev-plus-aosp
2014-07-21 18:21:55 +00:00
Christopher Ferris
451b910deb am bdfb313c: am e8bc5813: Use the mmap/munmap for allocation routines.
* commit 'bdfb313cf1cefd4ffaa59c6aea20a49608a73a52':
  Use the mmap/munmap for allocation routines.
2014-07-21 18:21:35 +00:00
Elliott Hughes
4d421901e5 Merge "Use upstream OpenBSD's arc4random." 2014-07-21 15:45:37 +00:00
Elliott Hughes
2b67d7dee0 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.

Change-Id: If32229fc28aba908035fb38703190d41ddcabc95
2014-07-21 14:38:16 -07:00
Dan Albert
b828eaeb45 Merge "There is no _MIN for unsigned types." 2014-07-21 15:45:37 +00:00
Dan Albert
ee7f1b5946 There is no _MIN for unsigned types.
Change-Id: I49c38e51197b750210bdbf28c9cf6db30452a206
2014-07-21 17:16:30 -07:00
Hans Boehm
50f2de914f am ed68221a: Define atomic_charN_t only if charN_t is supported.
* commit 'ed68221a8225a6696d2b0b1607ef0b2de1c1b3aa':
  Define atomic_charN_t only if charN_t is supported.
2014-07-20 18:02:21 +00:00
Christopher Ferris
b290796ff9 am b0815aea: Make sure not to construct illegal property names.
* commit 'b0815aeacb86e20cbbd4fa27dd90ad43b9c200fe':
  Make sure not to construct illegal property names.
2014-07-20 17:59:47 +00:00
Elliott Hughes
ebb4745531 am fbd00819: Merge "Clean up some misinformation around prctl." into lmp-dev
* commit 'fbd0081923336e3d2fa697445372a329134d9484':
  Clean up some misinformation around prctl.
2014-07-20 17:59:30 +00:00
Christopher Ferris
2affffac74 am a6945179: Merge "Add gen syscalls step to instructions." into lmp-dev
* commit 'a694517909546cf5c0d0fb54ab40234047238283':
  Add gen syscalls step to instructions.
2014-07-20 17:59:30 +00:00
Elliott Hughes
4aa1203474 am 291da8d3: Remove SIOCKILLADDR from <sys/socket.h>.
* commit '291da8d3533b3ee47f8d742c72d789d3149d15da':
  Remove SIOCKILLADDR from <sys/socket.h>.
2014-07-20 17:59:28 +00:00
Elliott Hughes
6f9e612413 am b5bef263: (-s ours) Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
* commit 'b5bef263b37b1f0def2a6c4e8e714ab871452b72':
  Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
2014-07-20 17:59:27 +00:00
Elliott Hughes
841c633fa1 resolved conflicts for merge of b5bef263 to lmp-dev-plus-aosp
.

Change-Id: Ieef30b3a308ca3cad4a59f17566d4cede0ae2b16
2014-07-20 10:43:16 -07:00
Christopher Ferris
bdfb313cf1 am e8bc5813: Use the mmap/munmap for allocation routines.
* commit 'e8bc581333d1fe19d28211330d1e06d471365d54':
  Use the mmap/munmap for allocation routines.
2014-07-20 02:17:50 +00:00
Elliott Hughes
925d388e24 Merge "Rewrite syslog(3) to use Android logging." 2014-07-19 23:20:08 +00:00
Elliott Hughes
3ad8ecb64e 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
Change-Id: Icee7f088b97f88ccbdaf471b98cbac7f19f9210a
2014-07-21 16:56:48 -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
Christopher Ferris
b0815aeacb Make sure not to construct illegal property names.
(cherry picked from commit 53531ccebbaf103d80516ff74874482ca3ee31fc)

Change-Id: I7e988c335ef32b61b2ac34f34509274623dbed69
2014-07-18 17:00:20 -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
Elliott Hughes
8831e40b19 am 2199ac31: am 7dd126a3: Merge "Clean up some misinformation around prctl."
* commit '2199ac3113d2fa35ff400788aa3d68c0123aacfb':
  Clean up some misinformation around prctl.
2014-07-18 23:39:40 +00:00
Elliott Hughes
2199ac3113 am 7dd126a3: Merge "Clean up some misinformation around prctl."
* commit '7dd126a38ca501818b07927f310dcc0f531c0f1f':
  Clean up some misinformation around prctl.
2014-07-18 23:35:08 +00: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
Christopher Ferris
cf622c1c22 am 3a23030d: am 3c2b71ad: Merge "Use the mmap/munmap for allocation routines."
* commit '3a23030ded42a7ee7a0b3ed2543e8758a6bcfc9a':
  Use the mmap/munmap for allocation routines.
2014-07-18 22:21:29 +00:00
Dan Albert
e9731387f4 Merge "__libc_fatal should print a newline to stderr." 2014-07-18 22:17:02 +00:00
Dan Albert
97e31dedf0 __libc_fatal should print a newline to stderr.
Change-Id: I088dc880d7488a65beac8cda95f530f3db41f112
2014-07-21 11:10:00 -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
Christopher Ferris
3a23030ded am 3c2b71ad: Merge "Use the mmap/munmap for allocation routines."
* commit '3c2b71ad5612721c7073a4396cdad2c00e86ba54':
  Use the mmap/munmap for allocation routines.
2014-07-18 22:13:21 +00:00
Elliott Hughes
96674169e0 am c6e9b8ce: am b4669685: Fix private/bionic_name_mem.h build breakage.
* commit 'c6e9b8cebfc0d3faff5ea986a6fc9bbc11413b37':
  Fix private/bionic_name_mem.h build breakage.
2014-07-18 02:57:51 +00:00
Elliott Hughes
c6e9b8cebf am b4669685: Fix private/bionic_name_mem.h build breakage.
* commit 'b46696858b9018ff8a1069d429366e05d4814c52':
  Fix private/bionic_name_mem.h build breakage.
2014-07-18 02:50:37 +00:00
Elliott Hughes
a9fdbb819f am 1b77f3f7: resolved conflicts for merge of d648f557 to lmp-dev-plus-aosp
* commit '1b77f3f7417598414694eb29e17a4873a38a1d18':
  Remove non-standard prctl constants from <sys/prctl.h>.
2014-07-18 00:42:52 +00:00
Elliott Hughes
1b77f3f741 resolved conflicts for merge of d648f557 to lmp-dev-plus-aosp
Change-Id: I406207b390460d5ccb6da338bf84fce674dc8038
2014-07-17 17:37:26 -07:00
Elliott Hughes
3d96532171 am 6e47ddab: am d18b87f3: Merge "Remove SIOCKILLADDR from <sys/socket.h>."
* commit '6e47ddab72841c165b538de198c5858409fb6349':
  Remove SIOCKILLADDR from <sys/socket.h>.
2014-07-18 00:30:05 +00:00
Elliott Hughes
96eef2388e am 1a04da87: am 76282482: Merge "Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>."
* commit '1a04da875064d81829c3ea1b3e8096e2b721cd10':
  Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
2014-07-18 00:30:04 +00:00
Elliott Hughes
6e47ddab72 am d18b87f3: Merge "Remove SIOCKILLADDR from <sys/socket.h>."
* commit 'd18b87f38de8644acdcd1a112bd06d3a70d2ea1d':
  Remove SIOCKILLADDR from <sys/socket.h>.
2014-07-18 00:24:35 +00:00
Elliott Hughes
1a04da8750 am 76282482: Merge "Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>."
* commit '76282482dbb05bf97a834d20b3ccf98de3f5a31d':
  Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
2014-07-18 00:24:34 +00:00
Dan Albert
1fb90a8aa0 Merge "Fix mbsrtowcs(3)'s handling of len parameter." 2014-07-17 22:34:19 +00:00
Dan Albert
6b55ba54ef Fix mbsrtowcs(3)'s handling of len parameter.
The len parameter is a _maximum_ length. The previous code was treating
it as an exact length, causing the following typical call to fail:

    mbsrtowcs(out, &in, sizeof(out), state); // sizeof(out) > strlen(in)

Change-Id: I48e474fd54ea5f122bc168a4d74bfe08704f28cc
2014-07-21 11:45:48 -07:00
Elliott Hughes
7dd126a38c Merge "Clean up some misinformation around prctl." 2014-07-17 22:33:54 +00:00
Elliott Hughes
9c07aee83b Clean up some misinformation around prctl.
prctl shouldn't be in <unistd.h>.

Change-Id: I29609fc91c033e1ad143b75d9b4eb17aefbd63d6
2014-07-18 16:15:32 -07:00
Christopher Ferris
3c2b71ad56 Merge "Use the mmap/munmap for allocation routines." 2014-07-17 22:33:54 +00:00
Christopher Ferris
6425327c32 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.

Change-Id: Iae2d197145da43dc103ad6024357d8cc2374378f
2014-07-18 14:16:51 -07:00
Elliott Hughes
d18b87f38d Merge "Remove SIOCKILLADDR from <sys/socket.h>." 2014-07-17 22:33:42 +00:00
Elliott Hughes
8a3d1ca183 Remove SIOCKILLADDR from <sys/socket.h>.
Change-Id: I6b64a9abe01c786a9ec26aee1517cb981a4860fb
2014-07-17 17:10:02 -07:00
Elliott Hughes
76282482db Merge "Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>." 2014-07-17 22:33:42 +00:00
Elliott Hughes
9f165d24f0 Remove PR_SET_TIMERSLACK_PID from <sys/prctl.h>.
Change-Id: Ie70f23c80e8473ac9617b74967d7c84709f5b00d
2014-07-17 17:12:35 -07:00
Elliott Hughes
bb74030901 am d377833d: am 6bf42ddc: Merge "Fix private/bionic_name_mem.h build breakage."
* commit 'd377833de61664b57f656aa0111b7a4b166b1df8':
  Fix private/bionic_name_mem.h build breakage.
2014-07-17 22:20:56 +00:00
Elliott Hughes
d377833de6 am 6bf42ddc: Merge "Fix private/bionic_name_mem.h build breakage."
* commit '6bf42ddc7962dec56840eb370bfe7b0469a4efb1':
  Fix private/bionic_name_mem.h build breakage.
2014-07-17 22:16:45 +00: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
Elliott Hughes
c616d304e9 am fdd64140: am 169e2bf6: Merge "Remove non-standard prctl constants from <sys/prctl.h>."
* commit 'fdd64140933bedbefc8633a28bc9478ea954f81a':
  Remove non-standard prctl constants from <sys/prctl.h>.
2014-07-17 22:01:13 +00:00
Elliott Hughes
6bf42ddc79 Merge "Fix private/bionic_name_mem.h build breakage." 2014-07-17 21:58:34 +00:00
Elliott Hughes
2f9c6e38b8 Fix private/bionic_name_mem.h build breakage.
Change-Id: I8fe9c63dbbb5911721ca56791c0bff4bdf403314
2014-07-17 15:09:17 -07:00
Elliott Hughes
fdd6414093 am 169e2bf6: Merge "Remove non-standard prctl constants from <sys/prctl.h>."
* commit '169e2bf6bd092ea3599cfe3426766988ec66658a':
  Remove non-standard prctl constants from <sys/prctl.h>.
2014-07-17 21:54:26 +00: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
2651277e77 am 9633cc3e: am 9a7fdb2d: ptrace(3) should be varargs.
* commit '9633cc3ee9501550463d53929a05829e2824a476':
2014-07-17 18:31:08 +00:00
Elliott Hughes
19391d796c am 2492a8e3: am 3002131d: Use VDSO for clock_gettime(2) and gettimeofday(2).
* commit '2492a8e364e5cc8c606458ffdceda8cdc9d34bcc':
2014-07-17 18:31:07 +00:00
Elliott Hughes
db71f00794 am 9a7fdb2d: ptrace(3) should be varargs.
* commit '9a7fdb2dae8f0ae0f9c5b0596bb2710f782925aa':
  ptrace(3) should be varargs.
2014-07-17 18:18:01 +00:00
Elliott Hughes
0cf2d4902a am 3002131d: Use VDSO for clock_gettime(2) and gettimeofday(2).
* commit '3002131da33401cf1b45abbdbec58b7c751fc43a':
  Use VDSO for clock_gettime(2) and gettimeofday(2).
2014-07-17 18:16:35 +00:00
Elliott Hughes
169e2bf6bd Merge "Remove non-standard prctl constants from <sys/prctl.h>." 2014-07-17 17:59:29 +00:00
Elliott Hughes
d7453860a6 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.

Change-Id: I833744f91e887639f5b2d1269f966ee9032af207
2014-07-17 14:26:33 -07:00
Elliott Hughes
9633cc3ee9 am 9a7fdb2d: ptrace(3) should be varargs.
* commit '9a7fdb2dae8f0ae0f9c5b0596bb2710f782925aa':
  ptrace(3) should be varargs.
2014-07-17 17:01:54 +00:00
Elliott Hughes
2492a8e364 am 3002131d: Use VDSO for clock_gettime(2) and gettimeofday(2).
* commit '3002131da33401cf1b45abbdbec58b7c751fc43a':
  Use VDSO for clock_gettime(2) and gettimeofday(2).
2014-07-17 17:01:12 +00:00
Hans Boehm
a0582bfae6 am ec76a21f: am 43363ab7: Merge "Define atomic_charN_t only if charN_t is supported."
* commit 'ec76a21f27a3727f31c96bcaa27a820765471125':
  Define atomic_charN_t only if charN_t is supported.
2014-07-17 13:45:07 +00:00
Elliott Hughes
e569ff8fbf am 51b9d5ba: am 94f84d36: Merge "ptrace(3) should be varargs."
* commit '51b9d5bad9f011ad509f46622f1a341edf80ad34':
  ptrace(3) should be varargs.
2014-07-17 13:44:35 +00:00
Elliott Hughes
6777948bf2 am 379b1580: am f13aa6fc: Merge "Use VDSO for clock_gettime(2) and gettimeofday(2)."
* commit '379b1580dcad69360f83a6c70c5adc83e483c36b':
  Use VDSO for clock_gettime(2) and gettimeofday(2).
2014-07-17 13:43:35 +00:00
Hans Boehm
ec76a21f27 am 43363ab7: Merge "Define atomic_charN_t only if charN_t is supported."
* commit '43363ab7202a935e12cf6a38d32a48433bdc3705':
  Define atomic_charN_t only if charN_t is supported.
2014-07-17 12:59:40 +00: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
51b9d5bad9 am 94f84d36: Merge "ptrace(3) should be varargs."
* commit '94f84d36a9f16030546a667bab6c66a59e41e4bd':
  ptrace(3) should be varargs.
2014-07-16 23:49:52 +00:00
Hans Boehm
43363ab720 Merge "Define atomic_charN_t only if charN_t is supported." 2014-07-16 23:31:38 +00:00
Hans Boehm
8b002362d9 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.

Change-Id: Ie5a17f20b8b545c97128d00605b4eabd2a6bfe3e
2014-07-16 17:31:05 -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
Elliott Hughes
94f84d36a9 Merge "ptrace(3) should be varargs." 2014-07-16 21:56:17 +00:00
Elliott Hughes
98b088dce7 ptrace(3) should be varargs.
Bug: 16352070
Change-Id: Ied72e6e79eaf912fc93fc49ae7637af321a31a59
2014-07-16 16:07:10 -07:00
Elliott Hughes
379b1580dc am f13aa6fc: Merge "Use VDSO for clock_gettime(2) and gettimeofday(2)."
* commit 'f13aa6fc5b66d1c98b7fd4b43e20515033707e56':
  Use VDSO for clock_gettime(2) and gettimeofday(2).
2014-07-16 21:44:46 +00:00
Elliott Hughes
f13aa6fc5b Merge "Use VDSO for clock_gettime(2) and gettimeofday(2)." 2014-07-16 19:02:19 +00:00
Elliott Hughes
625993dfbb Use VDSO for clock_gettime(2) and gettimeofday(2).
Bug: 15387103
Change-Id: Ifc3608ea65060c1dc38120b10b6e79874f182a36
2014-07-16 14:27:43 -07:00
Dan Albert
0b0494c01f am 6526098e: am a4465058: Merge "Remove isascii_l(3)." into lmp-dev
* commit '6526098e710364f3ea9266de1a4a9b675b23bd9a':
  Remove isascii_l(3).
2014-07-16 16:08:25 +00:00
Dan Albert
6526098e71 am a4465058: Merge "Remove isascii_l(3)." into lmp-dev
* commit 'a446505874ba52eb6ddb893c0d9c9321a73b235d':
  Remove isascii_l(3).
2014-07-16 16:04:09 +00:00
Dan Albert
a446505874 Merge "Remove isascii_l(3)." into lmp-dev 2014-07-16 13:12:22 +00:00
Elliott Hughes
eb2ab29c32 am 775056ff: am 97ba2a5c: Regenerate the syscalls list after the uapi update.
* commit '775056ff71b9ae06db13dffc150d4d1162e775ab':
  Regenerate the syscalls list after the uapi update.
2014-07-16 03:08:38 +00:00
Elliott Hughes
775056ff71 am 97ba2a5c: Regenerate the syscalls list after the uapi update.
* commit '97ba2a5cc4cf098938bb0a2c19ff01eb57c5536c':
  Regenerate the syscalls list after the uapi update.
2014-07-16 03:04:25 +00:00
Christopher Ferris
94c30175e3 am 04e7056d: am 770d0f61: Merge "Make sure not to construct illegal property names."
* commit '04e7056d06a7098827dcc7060c5d827b1a8afab4':
  Make sure not to construct illegal property names.
2014-07-16 03:00:34 +00:00
Christopher Ferris
20d08f57f6 am f64411e7: am 64035c4a: Merge "Add gen syscalls step to instructions."
* commit 'f64411e7a8479f0e4968d9aa1ea5b7c95334ec6e':
  Add gen syscalls step to instructions.
2014-07-16 03:00:34 +00:00
Elliott Hughes
47840c305f am 99c8508a: am 52023cb7: Merge "Regenerate the syscalls list after the uapi update."
* commit '99c8508a6e1fefbb19e11af4bdde16f353a61615':
  Regenerate the syscalls list after the uapi update.
2014-07-16 03:00:33 +00:00
Christopher Ferris
09bbeac80c am 76dd4a79: am 51c914b7: Merge "Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit."
* commit '76dd4a7911d2b00262d4b60c2828de48818e3226':
  Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
2014-07-16 03:00:33 +00:00
Christopher Ferris
04e7056d06 am 770d0f61: Merge "Make sure not to construct illegal property names."
* commit '770d0f6177ca1ad242b509151fb612f07ef8a07b':
  Make sure not to construct illegal property names.
2014-07-16 02:56:23 +00:00
Christopher Ferris
f64411e7a8 am 64035c4a: Merge "Add gen syscalls step to instructions."
* commit '64035c4a4b52ce87398e3a5945ad6b755c8f35b1':
  Add gen syscalls step to instructions.
2014-07-16 02:56:22 +00:00
Elliott Hughes
99c8508a6e am 52023cb7: Merge "Regenerate the syscalls list after the uapi update."
* commit '52023cb725ade3a4ace8631af8d6df5b47dc4def':
  Regenerate the syscalls list after the uapi update.
2014-07-16 02:56:22 +00:00
Christopher Ferris
76dd4a7911 am 51c914b7: Merge "Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit."
* commit '51c914b7fd0994f09ef11e9038f2b1df4b909358':
  Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
2014-07-16 02:56:21 +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
1c050aa140 am cdf48775: am 73c963e4: Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
* commit 'cdf48775d4aaa441d833a85441d67ff990d9897e':
  Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
2014-07-15 22:22:27 +00:00
Christopher Ferris
cdf48775d4 am 73c963e4: Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
* commit '73c963e4c5bf111df3abe9ad7eac98a918b88bb3':
  Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit.
2014-07-15 21:46:28 +00:00
Christopher Ferris
770d0f6177 Merge "Make sure not to construct illegal property names." 2014-07-15 20:47:30 +00:00
Christopher Ferris
53531ccebb Make sure not to construct illegal property names.
Change-Id: I37624e69aec51efd4291f076fb87af3f35d33025
2014-07-15 19:26:28 -07:00
Christopher Ferris
64035c4a4b Merge "Add gen syscalls step to instructions." 2014-07-15 20:47:30 +00:00
Christopher Ferris
ea271fdf26 Add gen syscalls step to instructions.
Also, fix incorrect path to some tools.

Change-Id: I409fc02d7077f0d2811d90be19550e70f5d73c0e
2014-07-15 19:02:33 -07:00
Elliott Hughes
52023cb725 Merge "Regenerate the syscalls list after the uapi update." 2014-07-15 20:36:09 +00:00
Elliott Hughes
3fa60e10bc Regenerate the syscalls list after the uapi update.
Change-Id: I117c5b18f735376dd3ab5061018dc7db9c046202
2014-07-15 18:39:27 -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
cea72c11e1 am c80cb8e3: am ca276c40: Fix visibility for a bunch more symbols.
* commit 'c80cb8e3ca36aa0d41f6a58559450aac73b5b565':
  Fix visibility for a bunch more symbols.
2014-07-15 02:35:42 +00:00
Elliott Hughes
c80cb8e3ca am ca276c40: Fix visibility for a bunch more symbols.
* commit 'ca276c40dfdb80ef553c6646da7f984ef7b694ce':
  Fix visibility for a bunch more symbols.
2014-07-15 02:31:51 +00: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
Christopher Ferris
51c914b7fd Merge "Fix BIONIC_ROUND_UP_POWER_OF_2 for 64 bit." 2014-07-15 00:42:07 +00:00
Christopher Ferris
27047faf28 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.

Change-Id: If8cb41536a9d2f5c1bc213676f1e67a7903a36b0
2014-07-15 12:33:48 -07:00
Dan Albert
bfd4849e4f am 84491f5b: am 5656a0c4: Merge "Remove isascii_l(3)."
* commit '84491f5b0620386645beb5acf88f873a32179c35':
  Remove isascii_l(3).
2014-07-15 00:34:02 +00:00
Dan Albert
84491f5b06 am 5656a0c4: Merge "Remove isascii_l(3)."
* commit '5656a0c4943a9b14baa4fc135980f91591723156':
  Remove isascii_l(3).
2014-07-15 00:31:07 +00:00
Elliott Hughes
209422c44f am 1d31b554: am ee3608f9: Merge "Fix visibility for a bunch more symbols."
* commit '1d31b55443c534187ea726e7292dbd308f263d95':
  Fix visibility for a bunch more symbols.
2014-07-14 23:29:34 +00:00
Elliott Hughes
dc5f392158 am 07198cbf: am 99ae0983: Implement rand/srand in terms of random/srandom.
* commit '07198cbf1676665acd2144a5f9ebc71d7e31aebe':
  Implement rand/srand in terms of random/srandom.
2014-07-14 23:29:29 +00:00
Elliott Hughes
c241ad0688 am 0a79e279: am caaf71eb: Sync upstream-openbsd.
* commit '0a79e2798e4d2b05ca32a7912df274c461e96b2b':
  Sync upstream-openbsd.
2014-07-14 23:29:29 +00:00
Dmitriy Ivanov
a41e7e9492 am db3b2995: resolved conflicts for merge of 38778e3b to lmp-dev-plus-aosp
* commit 'db3b29958dbfe23489cc4fa66d42cd95d441391c':
  Upstream atexit
2014-07-14 23:29:28 +00:00
Elliott Hughes
1d31b55443 am ee3608f9: Merge "Fix visibility for a bunch more symbols."
* commit 'ee3608f9d3259a0ef22a27932a3f5149fb2763c8':
  Fix visibility for a bunch more symbols.
2014-07-14 23:15:15 +00:00
Dan Albert
5656a0c494 Merge "Remove isascii_l(3)." 2014-07-14 23:04:02 +00:00
Dan Albert
e612add051 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-14 15:48:02 -07:00
Elliott Hughes
07198cbf16 am 99ae0983: Implement rand/srand in terms of random/srandom.
* commit '99ae0983c0fd22e34e4d2aa61942b04e347447ee':
  Implement rand/srand in terms of random/srandom.
2014-07-14 22:24:33 +00:00
Elliott Hughes
0a79e2798e am caaf71eb: Sync upstream-openbsd.
* commit 'caaf71ebb358f811fe7602bbadb90b897e93eaf7':
  Sync upstream-openbsd.
2014-07-14 22:24:32 +00:00
Dmitriy Ivanov
db3b29958d resolved conflicts for merge of 38778e3b to lmp-dev-plus-aosp
Change-Id: I138f093f20570079af13aee6dc54202e214a56a4
2014-07-14 15:20:59 -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
df9777c3b9 am ac56fc86: am 673bff01: Merge "Implement rand/srand in terms of random/srandom."
* commit 'ac56fc8663a01c3cad6fcacab8d2958f20bc047a':
  Implement rand/srand in terms of random/srandom.
2014-07-14 20:14:06 +00:00
Brian Carlstrom
3c5a701f94 am 6835f586: Merge branch \'lmp-dev-plus-aosp\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp
* commit '6835f5864d56cf6ee10da027c2ca013423a01bb1':
  Upstream atexit
  Sync upstream-openbsd.
2014-07-14 19:29:50 +00:00
Elliott Hughes
93235cabfb am 49e34298: am 3b318a5b: am e2b177a5: am 83ce99d8: Merge "Define SIOCKILLADDR which isn\'t in the common kernel uapi headers."
* commit '49e34298e62eec01eb6ae777a62b421db45adc36':
2014-07-14 19:29:49 +00:00
Elliott Hughes
40c1838322 am 646e7eb4: am f6968e3c: Define SIOCKILLADDR which isn\'t in the common kernel uapi headers.
* commit '646e7eb4bd0b834eeeddcbd1b4b976f849b7ce77':
2014-07-14 19:29:49 +00:00
Elliott Hughes
4cb78fe675 am 5ddb411c: am bae7c206: am b962ab81: am 57a5b338: Merge "Define three prctl constants that went missing from uapi."
* commit '5ddb411c174ee2402b5445bf73db25f1c7fa33f5':
2014-07-14 19:29:48 +00:00
Elliott Hughes
be69279338 am 29ba6754: am f65d552b: am 0594b9dd: am b8e82b5e: Merge "EM_ARM and EM_AARCH64 are now in the uapi header."
* commit '29ba6754e5370b46adad73cc949f507cdb85fd38':
2014-07-14 19:29:45 +00:00
Christopher Ferris
68b180812e am 8edb50a7: am 8832cfb2: am efdf7862: am 385bb1ed: Merge "Add optimized memchr implementation from newlib"
* commit '8edb50a7ce1e16618983179692169ed9a4c83f34':
2014-07-14 19:29:44 +00:00
Christopher Ferris
c03b5b0c87 am 99ad4f90: am d92a6d06: am 55230dd0: am 96502e27: Merge "Make jemalloc the default choice."
* commit '99ad4f9028e62d268190a7b81365153a9a82a868':
2014-07-14 19:29:43 +00:00
Christopher Ferris
a3f8b0b3df am f0fe22cd: am d389809d: am 18a25078: am c6bc0017: Merge "Update kernel headers to v3.14."
* commit 'f0fe22cd13d6e6650f50453d502d64a67ee35a0f':
2014-07-14 19:29:42 +00:00
Elliott Hughes
3df82ef283 am 1edd9758: am 9c98443e: am ce1422b9: am 040e1187: Merge "Enable building libc with clang."
* commit '1edd97580f74ba11f13f383aa70e4b47d163d600':
2014-07-14 19:29:42 +00:00
Dan Albert
9e962e499c am 42eed01a: am 405fd491: am c0afc23e: am 37f09d6d: Merge "Revert "Revert "Add locale aware APIs."""
* commit '42eed01a1f079515ddc64fbd7d1d77d6de576db6':
2014-07-14 19:29:39 +00:00
Elliott Hughes
0310e5d912 am a7d2f57d: am 210a8423: am d19f2d85: am 76df69d1: Merge "The err family allow null format strings."
* commit 'a7d2f57d614dbf6be3308f5d476bae1e29551db4':
2014-07-14 19:29:37 +00:00
Elliott Hughes
a34620eb55 am bad533b4: am d54994a4: am 696c48df: am eba7c15b: Merge "Revert "Switch libm to building with clang.""
* commit 'bad533b465be292c5c609a5edd336bf00ca359e6':
2014-07-14 19:29:36 +00:00
Elliott Hughes
d4a1d6e229 am 84ae9f67: am 2545bf7b: am 37ab54fd: am 5df23dc8: Merge "Switch libm to building with clang."
* commit '84ae9f673bf96c87b54978db396cc5cb7a9e6266':
2014-07-14 19:29:36 +00:00
Elliott Hughes
5cc91d1f54 am 387d52ea: am 3ea96e7b: am 35805377: am 9b491470: Merge "Slim down static binaries by avoiding stdio."
* commit '387d52ea4bdab7c90061d5828f0208a16214fa74':
2014-07-14 19:29:35 +00:00
Elliott Hughes
a102132057 am 32a93da1: am a9e847fd: am 7d9f1cc5: am f0f8cd1f: Merge "Remove the global lock around thread stack creation."
* commit '32a93da106d58ba9329c3f040063c334574e315c':
2014-07-14 19:29:35 +00:00
Elliott Hughes
7eb1cbc6e5 am e6153565: am b2ddd728: am 12ce9115: am cd23370c: Merge "Remove the obsolete _thread_created_hook."
* commit 'e6153565adce260251d8bf0b285abea053c2da8f':
2014-07-14 19:29:34 +00:00
Calin Juravle
3cfac9fe42 am 8ebfc51e: am 9899217a: am 9712d913: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '8ebfc51ee226d7d5ebcb5f34b579a2391589127d':
2014-07-14 19:29:33 +00:00
Calin Juravle
943f25c072 am cd1093fa: am b89ef57d: am cd061f6e: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit 'cd1093fab5e24e02214f49de8b37aeace8e48330':
2014-07-14 19:29:32 +00:00
Christopher Ferris
464972fc6e am d0e94fa5: am a35ae1bc: am 4306b0f8: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit 'd0e94fa58d775d6980ab6dc7c4cd70de0f16f10c':
2014-07-14 19:29:31 +00:00
Elliott Hughes
6144d69275 am 699cecdd: am 4c28373d: am 96d7251c: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit '699cecdd2ec27a37a1edfc42556e3f9877ae3055':
2014-07-14 19:29:30 +00:00
Elliott Hughes
72085c59a0 am fffca5a9: am 4f459ec6: am 1cad0226: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit 'fffca5a9f7d3f4fea4e4d88ba8a15d1810239d33':
2014-07-14 19:29:29 +00:00
Dan Albert
b231d97436 am 2f96faad: am d0a7157c: am ea04b5a6: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit '2f96faadec2dbd3f8a30466de413629e860cdf0a':
2014-07-14 19:29:28 +00:00
Dan Albert
87abe8a43c am 12810d6d: am 1e46158e: am f6b95993: am 430d5f93: Merge "Add locale aware APIs."
* commit '12810d6d6116049aa68fd9c0c16ec0f408933ac0':
2014-07-14 19:29:27 +00:00
Elliott Hughes
4e67f9c453 am df17c1f2: am 67ee7b9d: am 94560b5b: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit 'df17c1f20bb366e59f75869a3396ca8cedd850de':
2014-07-14 19:29:26 +00:00
Elliott Hughes
e9db4fa091 am 26734a7d: am c346c606: am 8d11fb18: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '26734a7dd7628f59c70dcad8d732420c92ff6be1':
2014-07-14 19:29:24 +00:00
Elliott Hughes
b6bc601165 am 602492a6: am 53641001: am 986fb565: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit '602492a682f1d7fe21f34b1ff7c08942de0fefa4':
2014-07-14 19:29:23 +00:00
Ying Wang
b1be9d8b5c am af47a46d: am 4fae7675: am 6ee2f321: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit 'af47a46d38d3b5571944e70ed9ea0a0816dd4685':
2014-07-14 19:29:22 +00:00
Dmitriy Ivanov
be0162e1d7 am 3dd6e3d8: am e245060c: am ab164750: am 3c12ae56: Merge "Add test for constructor function."
* commit '3dd6e3d880077ee2632fb055ef17339558a61c03':
2014-07-14 19:29:21 +00:00
Dmitriy Ivanov
9afe125fdb am 065abed9: am 30e596e9: am ca673e73: am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit '065abed9a580e8ad23bd6cbd5721ea1d70474828':
2014-07-14 19:29:20 +00:00
Elliott Hughes
21c8f41d3f am 0ec257dc: am a3eead96: am 7e43f0d4: resolved conflicts for merge of aedc14b1 to lmp-dev
* commit '0ec257dc20ceadde049296246c78b99f02625412':
2014-07-14 19:29:18 +00:00
Calin Juravle
48766828da am 37eca3d3: am 3b0f3112: am f11e7c74: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '37eca3d325de93ce95e0f85c53aab508c18b306d':
2014-07-14 19:29:17 +00:00
Calin Juravle
a7be72e7a2 am b94d0294: am e8ce76c2: am 1d63dd90: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit 'b94d0294037a37b60ba2bd403f12c1c7c28efbaa':
2014-07-14 19:29:16 +00:00
Christopher Ferris
450f9a4b83 am c743b189: am 0f8d5a06: am c04e73a6: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit 'c743b18961b46b82e5a4770d67071aeeee8753bf':
2014-07-14 19:29:15 +00:00
Elliott Hughes
6bf66f8ce7 am 5252514d: am 05916dda: am cf53885b: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit '5252514d65ee924d53ceafd14e0d566a477cf35a':
2014-07-14 19:29:14 +00:00
Elliott Hughes
04b7898f17 am e4a1004d: am 42775b51: am feccec68: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit 'e4a1004d875465b39e7d557bdcc5bbfa8acefeda':
2014-07-14 19:29:13 +00:00
Dan Albert
b24b709ea2 am 5b41373d: am 293006c9: am 418fdef2: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit '5b41373d499b7ab2b72ad5235c5d1a3c06f236b2':
2014-07-14 19:29:11 +00:00
Dan Albert
79465f3d25 am a0ce997e: am 16dd7fd5: am 43e79dab: am 430d5f93: Merge "Add locale aware APIs."
* commit 'a0ce997e1bf7a1074ce78b1ff8cf6acfa59ca2f3':
2014-07-14 19:29:10 +00:00
Elliott Hughes
3cdcfc82eb am 6c804ab1: am e2bcc8bb: am 748d8708: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit '6c804ab1ea8ed48ba9ec78c443f2c7815fa830a0':
2014-07-14 19:29:09 +00:00
Elliott Hughes
129820c8d6 am 7ad8adbe: am 48ad92a4: am 742fce7b: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '7ad8adbe51280128ddcad7849f36d091fb05dda1':
2014-07-14 19:29:08 +00:00
Elliott Hughes
845d50ba81 am f7fe0779: am dc0b68e5: am b9d95b5d: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit 'f7fe0779027ce54b6936f8210bc867707c969f38':
2014-07-14 19:29:06 +00:00
Ying Wang
8e8d019b5c am de78c2c4: am 76171b2d: am 02406f68: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit 'de78c2c45181e8a1b16e70c87be981af9c76a092':
2014-07-14 19:29:05 +00:00
Dmitriy Ivanov
fd2fd4398e am 994faff2: am 4e37e7b1: am b9247ada: am 3c12ae56: Merge "Add test for constructor function."
* commit '994faff20941661a557e3a9339768fa8e2ecf21d':
2014-07-14 19:29:04 +00:00
Dmitriy Ivanov
ff181ce7ac am 49b59013: am 4c632335: am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit '49b590136a7269902179bf61258709d2bb6d5611':
2014-07-14 19:29:03 +00:00
Elliott Hughes
d7c9ad906b am f40424d3: am ddf9066e: resolved conflicts for merge of aedc14b1 to master
* commit 'f40424d38fbe540c1a04a27f7ad1c7a89826fd1c':
2014-07-14 19:29:02 +00:00
Elliott Hughes
ac56fc8663 am 673bff01: Merge "Implement rand/srand in terms of random/srandom."
* commit '673bff01aed0c08991b98841ed0bfad78a589672':
  Implement rand/srand in terms of random/srandom.
2014-07-14 19:28:49 +00:00
Brian Carlstrom
6835f5864d Merge branch 'lmp-dev-plus-aosp' of https://googleplex-android.googlesource.com/_direct/platform/bionic into lmp-dev-plus-aosp 2014-07-14 19:23:02 +00:00
Elliott Hughes
6d3032891a am 4ae93869: Merge "Sync upstream-openbsd."
* commit '4ae938698c89e9e3c79008d9a833db726779accd':
  Sync upstream-openbsd.
2014-07-14 19:21:32 +00:00
Dmitriy Ivanov
7ba7686b46 am 91f2074e: Merge "Upstream atexit"
* commit '91f2074e5f4e475d7c88d9cdaeb7dcdc9d9ff882':
  Upstream atexit
2014-07-14 19:21:31 +00:00
Elliott Hughes
49e34298e6 am 3b318a5b: am e2b177a5: am 83ce99d8: Merge "Define SIOCKILLADDR which isn\'t in the common kernel uapi headers."
* commit '3b318a5b3da4afde3c6f35cab260e93d0adf7a5e':
2014-07-14 19:10:08 +00:00
Elliott Hughes
646e7eb4bd am f6968e3c: Define SIOCKILLADDR which isn\'t in the common kernel uapi headers.
* commit 'f6968e3c0822b27e9aa584c3490573f34b1725c1':
  Define SIOCKILLADDR which isn't in the common kernel uapi headers.
2014-07-14 19:10:07 +00:00
Elliott Hughes
5ddb411c17 am bae7c206: am b962ab81: am 57a5b338: Merge "Define three prctl constants that went missing from uapi."
* commit 'bae7c2067256272a0ce0a0eb4d24cc2d6a091735':
2014-07-14 19:10:06 +00:00
Elliott Hughes
29ba6754e5 am f65d552b: am 0594b9dd: am b8e82b5e: Merge "EM_ARM and EM_AARCH64 are now in the uapi header."
* commit 'f65d552b3de50fd9124f9704eda3e04d02c25a32':
2014-07-14 19:10:06 +00:00
Christopher Ferris
8edb50a7ce am 8832cfb2: am efdf7862: am 385bb1ed: Merge "Add optimized memchr implementation from newlib"
* commit '8832cfb2fea643ccf0378e2864ba25d773cad408':
2014-07-14 19:10:05 +00:00
Christopher Ferris
99ad4f9028 am d92a6d06: am 55230dd0: am 96502e27: Merge "Make jemalloc the default choice."
* commit 'd92a6d06690b63f70126ab55b6909cfae78a20c6':
2014-07-14 19:10:04 +00:00
Christopher Ferris
f0fe22cd13 am d389809d: am 18a25078: am c6bc0017: Merge "Update kernel headers to v3.14."
* commit 'd389809de7d4cccaa54a2ef468c47a6592015afa':
2014-07-14 19:10:04 +00:00
Elliott Hughes
1edd97580f am 9c98443e: am ce1422b9: am 040e1187: Merge "Enable building libc with clang."
* commit '9c98443e2bd2991a41dab118df19ab8cd676ab6b':
2014-07-14 19:10:03 +00:00
Dan Albert
42eed01a1f am 405fd491: am c0afc23e: am 37f09d6d: Merge "Revert "Revert "Add locale aware APIs."""
* commit '405fd491bc71e01dbb0616cff35d508f65803eb6':
2014-07-14 19:10:02 +00:00
Elliott Hughes
a7d2f57d61 am 210a8423: am d19f2d85: am 76df69d1: Merge "The err family allow null format strings."
* commit '210a842354d4a840cab29da6e11aea83a52a6e8c':
2014-07-14 19:10:01 +00:00
Elliott Hughes
bad533b465 am d54994a4: am 696c48df: am eba7c15b: Merge "Revert "Switch libm to building with clang.""
* commit 'd54994a45f1be37cdd7d3ff184027dd57f416703':
2014-07-14 19:10:00 +00:00
Elliott Hughes
84ae9f673b am 2545bf7b: am 37ab54fd: am 5df23dc8: Merge "Switch libm to building with clang."
* commit '2545bf7b411de74e3aede8e4d38d9f44bcef7948':
2014-07-14 19:10:00 +00:00
Elliott Hughes
387d52ea4b am 3ea96e7b: am 35805377: am 9b491470: Merge "Slim down static binaries by avoiding stdio."
* commit '3ea96e7b86fa00ed67c24ea742a6b87ae86df826':
2014-07-14 19:09:59 +00:00
Elliott Hughes
32a93da106 am a9e847fd: am 7d9f1cc5: am f0f8cd1f: Merge "Remove the global lock around thread stack creation."
* commit 'a9e847fdea2821841cfa511d32d86e6298616ee9':
2014-07-14 19:09:59 +00:00
Elliott Hughes
e6153565ad am b2ddd728: am 12ce9115: am cd23370c: Merge "Remove the obsolete _thread_created_hook."
* commit 'b2ddd728c353028bdfa6c2d09c9fa8651876a7bb':
2014-07-14 19:09:58 +00:00
Calin Juravle
8ebfc51ee2 am 9899217a: am 9712d913: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '9899217adbb72f1eadd32ca4319bf1962492935d':
2014-07-14 19:09:58 +00:00
Calin Juravle
cd1093fab5 am b89ef57d: am cd061f6e: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit 'b89ef57d092f4326195ce7ec8521c1f78cfd7c71':
2014-07-14 19:09:57 +00:00
Christopher Ferris
d0e94fa58d am a35ae1bc: am 4306b0f8: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit 'a35ae1bcaa6a902aa0c434e00948bce4a9ce5113':
2014-07-14 19:09:56 +00:00
Elliott Hughes
699cecdd2e am 4c28373d: am 96d7251c: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit '4c28373da6e90d3f4cfd70c2ade6a9181bbbde39':
2014-07-14 19:09:55 +00:00
Elliott Hughes
fffca5a9f7 am 4f459ec6: am 1cad0226: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit '4f459ec6bd00a0b269ba5f889c3c7fb32cade14f':
2014-07-14 19:09:54 +00:00
Dan Albert
2f96faadec am d0a7157c: am ea04b5a6: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit 'd0a7157c974b3d33a7c0d6a2fc514f006737cbf9':
2014-07-14 19:09:54 +00:00
Dan Albert
12810d6d61 am 1e46158e: am f6b95993: am 430d5f93: Merge "Add locale aware APIs."
* commit '1e46158e64f2b90be1ea7fdc569472be297d151c':
2014-07-14 19:09:53 +00:00
Elliott Hughes
df17c1f20b am 67ee7b9d: am 94560b5b: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit '67ee7b9d985255db87c6b7b046d06079baa63148':
2014-07-14 19:09:53 +00:00
Elliott Hughes
26734a7dd7 am c346c606: am 8d11fb18: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit 'c346c606e95d5ec724ea5efc1124ff348ad86025':
2014-07-14 19:09:52 +00:00
Elliott Hughes
602492a682 am 53641001: am 986fb565: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit '536410018a4966333350b330030791b546785296':
2014-07-14 19:09:51 +00:00
Ying Wang
af47a46d38 am 4fae7675: am 6ee2f321: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit '4fae7675103463a8322a04da707ba1f2d90ca9bb':
2014-07-14 19:09:50 +00:00
Dmitriy Ivanov
3dd6e3d880 am e245060c: am ab164750: am 3c12ae56: Merge "Add test for constructor function."
* commit 'e245060c6d1d0ed4a45909b50fe6bd04de068aa3':
2014-07-14 19:09:50 +00:00
Dmitriy Ivanov
065abed9a5 am 30e596e9: am ca673e73: am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit '30e596e9ead5bd7cfd9599b0e3d5e8bd4f6c1353':
2014-07-14 19:09:49 +00:00
Elliott Hughes
0ec257dc20 am a3eead96: am 7e43f0d4: resolved conflicts for merge of aedc14b1 to lmp-dev
* commit 'a3eead96b9f1000d403541dad0f086c3b175900a':
2014-07-14 19:09:48 +00:00
Calin Juravle
37eca3d325 am 3b0f3112: am f11e7c74: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '3b0f3112d0fed5cf30e2ad3fc6500810b760b35d':
2014-07-14 19:09:48 +00:00
Calin Juravle
b94d029403 am e8ce76c2: am 1d63dd90: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit 'e8ce76c26e0bae90b50ece7f8fa3d3f2fefc2476':
2014-07-14 19:09:47 +00:00
Christopher Ferris
c743b18961 am 0f8d5a06: am c04e73a6: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit '0f8d5a0664f6b21e4ebde63aa76ee2518bae9114':
2014-07-14 19:09:46 +00:00
Elliott Hughes
5252514d65 am 05916dda: am cf53885b: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit '05916dda8a9a48ce491ea33b9d196741125fe957':
2014-07-14 19:09:45 +00:00
Elliott Hughes
e4a1004d87 am 42775b51: am feccec68: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit '42775b512fa6f39a93c130513f1c44cebfdb9c8c':
2014-07-14 19:09:45 +00:00
Dan Albert
5b41373d49 am 293006c9: am 418fdef2: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit '293006c91b22105419e446268dee3b9b6d6e7dac':
2014-07-14 19:09:44 +00:00
Dan Albert
a0ce997e1b am 16dd7fd5: am 43e79dab: am 430d5f93: Merge "Add locale aware APIs."
* commit '16dd7fd5d293ad1fa5d812743cbbbddad20055ae':
2014-07-14 19:09:43 +00:00
Elliott Hughes
6c804ab1ea am e2bcc8bb: am 748d8708: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit 'e2bcc8bbe5b426e627395e88bb1748a3f33ccd98':
2014-07-14 19:09:43 +00:00
Elliott Hughes
7ad8adbe51 am 48ad92a4: am 742fce7b: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '48ad92a4b1e3d7a3611eba3bc067989a138802b4':
2014-07-14 19:09:42 +00:00
Elliott Hughes
f7fe077902 am dc0b68e5: am b9d95b5d: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit 'dc0b68e5ee7f730adf2864c9c16a38b7ab8c8432':
2014-07-14 19:09:42 +00:00
Ying Wang
de78c2c451 am 76171b2d: am 02406f68: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit '76171b2d583ee21c1292f402f109e800120f9907':
2014-07-14 19:09:41 +00:00
Dmitriy Ivanov
994faff209 am 4e37e7b1: am b9247ada: am 3c12ae56: Merge "Add test for constructor function."
* commit '4e37e7b1e89c3c9f734a3593838b6ba9b0e0e855':
2014-07-14 19:09:40 +00:00
Dmitriy Ivanov
49b590136a am 4c632335: am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit '4c632335112a9cedee8bb09be7ca56b132ef21ee':
2014-07-14 19:09:40 +00:00
Elliott Hughes
f40424d38f am ddf9066e: resolved conflicts for merge of aedc14b1 to master
* commit 'ddf9066e2e850a1e0dc936a731994ec831581807':
2014-07-14 19:09:39 +00:00
Elliott Hughes
673bff01ae Merge "Implement rand/srand in terms of random/srandom." 2014-07-14 17:20:33 +00:00
Elliott Hughes
76c241b091 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
Change-Id: Ia5a908a816e0a5f0639f514107a6384a51ec157e
2014-07-14 12:02:22 -07:00
Dmitriy Ivanov
91f2074e5f Merge "Upstream atexit" 2014-07-14 17:20:33 +00:00
Dmitriy Ivanov
53c3c271dc Upstream atexit
Change-Id: Ia454a2181b5058ed9783dc02b6b1805d0e4d2715
2014-07-14 12:05:16 -07:00
Elliott Hughes
4ae938698c Merge "Sync upstream-openbsd." 2014-07-14 17:15:23 +00:00
Elliott Hughes
4f0b67a8db Sync upstream-openbsd.
Change-Id: I5b9961a57e2ff05f63bd218c130bf8347850b9be
2014-07-14 11:22:59 -07:00
Elliott Hughes
ee3608f9d3 Merge "Fix visibility for a bunch more symbols." 2014-07-14 17:01:21 +00:00
Elliott Hughes
a167eef548 Fix visibility for a bunch more symbols.
Bug: 11156955
Bug: 15291317
Change-Id: I664f25cce7c17085a101d6593d8e01525a1f6a90
2014-07-14 15:13:30 -07:00
Elliott Hughes
3b318a5b3d am e2b177a5: am 83ce99d8: Merge "Define SIOCKILLADDR which isn\'t in the common kernel uapi headers."
* commit 'e2b177a5d1384ebbb82d576637364e5b24450beb':
  Define SIOCKILLADDR which isn't in the common kernel uapi headers.
2014-07-12 13:08:44 +00:00
Elliott Hughes
e2b177a5d1 am 83ce99d8: Merge "Define SIOCKILLADDR which isn\'t in the common kernel uapi headers."
* commit '83ce99d8b7e2b15b2169e6e6e18e871ad35abb6c':
  Define SIOCKILLADDR which isn't in the common kernel uapi headers.
2014-07-12 12:59:27 +00: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
bae7c20672 am b962ab81: am 57a5b338: Merge "Define three prctl constants that went missing from uapi."
* commit 'b962ab81fc37fc8b4b8cfd45d3538b641dd6fd13':
  Define three prctl constants that went missing from uapi.
2014-07-12 03:15:29 +00: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
f65d552b3d am 0594b9dd: am b8e82b5e: Merge "EM_ARM and EM_AARCH64 are now in the uapi header."
* commit '0594b9ddded7d832b786c209dd7cd4e26ee32eb8':
  EM_ARM and EM_AARCH64 are now in the uapi header.
2014-07-12 02:06:38 +00:00
Christopher Ferris
8832cfb2fe am efdf7862: am 385bb1ed: Merge "Add optimized memchr implementation from newlib"
* commit 'efdf7862be41b2dfd8d013e2495af9a2db5286f5':
  Add optimized memchr implementation from newlib
2014-07-12 02:06:37 +00:00
Christopher Ferris
d92a6d0669 am 55230dd0: am 96502e27: Merge "Make jemalloc the default choice."
* commit '55230dd048d8c93af67611c30fd6563e24ef23c5':
  Make jemalloc the default choice.
2014-07-12 02:06:37 +00:00
Christopher Ferris
d389809de7 am 18a25078: am c6bc0017: Merge "Update kernel headers to v3.14."
* commit '18a25078f0cc0aa9842f6397e3c24a5ae8686de5':
  Update kernel headers to v3.14.
2014-07-12 02:06:36 +00:00
Elliott Hughes
9c98443e2b am ce1422b9: am 040e1187: Merge "Enable building libc with clang."
* commit 'ce1422b985383c4cbb485b3ec121eb8d01af12b8':
  Enable building libc with clang.
2014-07-12 02:06:36 +00:00
Dan Albert
405fd491bc am c0afc23e: am 37f09d6d: Merge "Revert "Revert "Add locale aware APIs."""
* commit 'c0afc23e26ca0a591dd8fb5fcddf1cb616bd5e43':
  Revert "Revert "Add locale aware APIs.""
2014-07-12 02:06:35 +00:00
Elliott Hughes
210a842354 am d19f2d85: am 76df69d1: Merge "The err family allow null format strings."
* commit 'd19f2d859f744ded5a70cf0d8a23427eac7ec817':
  The err family allow null format strings.
2014-07-12 02:06:35 +00:00
Elliott Hughes
d54994a45f am 696c48df: am eba7c15b: Merge "Revert "Switch libm to building with clang.""
* commit '696c48df69a0841e8e179e313302c01155df5e85':
  Revert "Switch libm to building with clang."
2014-07-12 02:06:34 +00:00
Elliott Hughes
2545bf7b41 am 37ab54fd: am 5df23dc8: Merge "Switch libm to building with clang."
* commit '37ab54fd88f2bc579f7d5b931d6e3c40ad4e1f05':
  Switch libm to building with clang.
2014-07-12 02:06:33 +00:00
Elliott Hughes
3ea96e7b86 am 35805377: am 9b491470: Merge "Slim down static binaries by avoiding stdio."
* commit '35805377f91f0057704ee38687e0d9bf22d9d528':
  Slim down static binaries by avoiding stdio.
2014-07-12 02:06:33 +00:00
Elliott Hughes
a9e847fdea am 7d9f1cc5: am f0f8cd1f: Merge "Remove the global lock around thread stack creation."
* commit '7d9f1cc55c1f3641431e4ec8cf88d374025c5f39':
  Remove the global lock around thread stack creation.
2014-07-12 02:06:32 +00:00
Elliott Hughes
b2ddd728c3 am 12ce9115: am cd23370c: Merge "Remove the obsolete _thread_created_hook."
* commit '12ce91157a40785182a3424af2890fcad032f9c6':
  Remove the obsolete _thread_created_hook.
2014-07-12 02:06:31 +00:00
Calin Juravle
9899217adb am 9712d913: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '9712d913eba352d108116595d9be8bd0c96f24f6':
2014-07-12 02:06:31 +00:00
Calin Juravle
b89ef57d09 am cd061f6e: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit 'cd061f6e434a28e979346b14cfe29a953ab9181f':
2014-07-12 02:06:30 +00:00
Christopher Ferris
a35ae1bcaa am 4306b0f8: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit '4306b0f82b236acb10e1f42e7d850e4edd37fb78':
2014-07-12 02:06:29 +00:00
Elliott Hughes
4c28373da6 am 96d7251c: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit '96d7251cfc4d8134b864110908327880aa9ff8fd':
2014-07-12 02:06:29 +00:00
Elliott Hughes
4f459ec6bd am 1cad0226: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit '1cad0226f5b0b7346516132bb45f09dafdffb91f':
2014-07-12 02:06:28 +00:00
Dan Albert
d0a7157c97 am ea04b5a6: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit 'ea04b5a6d9fbbc3877446f47a50b3070da1e036e':
2014-07-12 02:06:27 +00:00
Dan Albert
1e46158e64 am f6b95993: am 430d5f93: Merge "Add locale aware APIs."
* commit 'f6b95993486005afb1d53677b321a85870c3b0c3':
2014-07-12 02:06:27 +00:00
Elliott Hughes
67ee7b9d98 am 94560b5b: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit '94560b5b9f43e106cce86916d99b86dd5e58d07b':
2014-07-12 02:06:26 +00:00
Elliott Hughes
c346c606e9 am 8d11fb18: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '8d11fb187dd7aca49e89c6e90aa2e79afa68780d':
2014-07-12 02:06:25 +00:00
Elliott Hughes
536410018a am 986fb565: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit '986fb5657919bde859b4dc618169c3178bc86b3b':
2014-07-12 02:06:25 +00:00
Ying Wang
4fae767510 am 6ee2f321: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit '6ee2f321d46b807e7a1ba4e08f2174265de3ea66':
2014-07-12 02:06:24 +00:00
Dmitriy Ivanov
e245060c6d am ab164750: am 3c12ae56: Merge "Add test for constructor function."
* commit 'ab16475066c4b2792601bfd41a2a7107c5a98b24':
2014-07-12 02:06:23 +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
696c48df69 am eba7c15b: Merge "Revert "Switch libm to building with clang.""
* commit 'eba7c15b69010441e914b946006dc235e1472c96':
  Revert "Switch libm to building with clang."
2014-07-12 01:41:49 +00:00
Elliott Hughes
37ab54fd88 am 5df23dc8: Merge "Switch libm to building with clang."
* commit '5df23dc85e459ef7271ad09b725631a3ad2d0ce4':
  Switch libm to building with clang.
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
Elliott Hughes
96d7251cfc am d028b620: Merge "Added a __system_property_serial benchmark."
* commit 'd028b6209cde7929e6d0613cbd92cc7b766d3d09':
  Added a __system_property_serial benchmark.
2014-07-12 01:41:47 +00:00
Elliott Hughes
1cad0226f5 am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit '84f0c7c258b3a72eed8737662bb5a730d6d9f5e2':
  update-tzdata.py needs to know where to find icu.
2014-07-12 01:41:47 +00:00
Dan Albert
ea04b5a6d9 am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit '7a85d9a1de7f0970af19eca5f3ca6938cbc2ce95':
  Revert "Add locale aware APIs."
2014-07-12 01:41:47 +00:00
Dan Albert
f6b9599348 am 430d5f93: Merge "Add locale aware APIs."
* commit '430d5f93ceea2e5172144a05885c295dca51b876':
  Add locale aware APIs.
2014-07-12 01:41:46 +00:00
Elliott Hughes
94560b5b9f am 4c199170: Merge "Added __system_propery_read benchmark."
* commit '4c199170a84e725a56b7d40c113c9d76a75d89ab':
  Added __system_propery_read benchmark.
2014-07-12 01:41:46 +00:00
Elliott Hughes
8d11fb187d am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '3139f6fdd7f9bec3b53be3da62314ae8ba24ceb4':
  Remove __CTOR_LIST__ from mips/mips64.
2014-07-12 01:41:46 +00:00
Elliott Hughes
986fb56579 am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit 'c4c6789362b82150e3f16cd655032f7ab2a1b6d6':
  Don't zero r1 on entry to the dynamic linker.
2014-07-12 01:41:46 +00:00
Ying Wang
6ee2f321d4 am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit '6cdd0cfd2f279dfb20b9f7cccc963eb9ee91c666':
  TARGET_OUT_DATA_NATIVE_TESTS now points to $(TARGET_OUT_DATA)/nativetest64 in 64-bit target
2014-07-12 01:41:46 +00:00
Dmitriy Ivanov
ab16475066 am 3c12ae56: Merge "Add test for constructor function."
* commit '3c12ae56f402744d1a446ceef7d20f5ea01025c3':
  Add test for constructor function.
2014-07-12 01:41:45 +00:00
Dmitriy Ivanov
30e596e9ea am ca673e73: am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit 'ca673e7300b361bbf49c2b7ea1012441d62b1995':
2014-07-11 17:52:23 +00:00
Elliott Hughes
a3eead96b9 am 7e43f0d4: resolved conflicts for merge of aedc14b1 to lmp-dev
* commit '7e43f0d40d3189ca219c6758f61ffe2a2d411ee2':
2014-07-11 17:52:22 +00:00
Dmitriy Ivanov
ca673e7300 am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit 'b9c5d606aab6c1a21e3785d155613c35c276eb18':
  Change android_dlextinfo flags to uint64_t
2014-07-11 17:28:53 +00:00
Elliott Hughes
7e43f0d40d resolved conflicts for merge of aedc14b1 to lmp-dev
Change-Id: I36d3a6ca42778686f1f2971ae72cd3b7b156a3da
2014-07-11 10:03:35 -07:00
Elliott Hughes
83ce99d8b7 Merge "Define SIOCKILLADDR which isn't in the common kernel uapi headers." 2014-07-11 16:35:27 +00:00
Elliott Hughes
2ba2888cac Define SIOCKILLADDR which isn't in the common kernel uapi headers.
Change-Id: I8760950d13a9625aa543e76bc9d6cd86ac782c2e
2014-07-11 21:11:21 -07:00
Elliott Hughes
040e11877d Merge "Enable building libc with clang." 2014-07-11 16:35:27 +00:00
Elliott Hughes
c999f76977 Enable building libc with clang.
Bug: 16218205
Change-Id: I024de2044fe016412c7bead22c264e96be4cb39c
2014-07-11 09:28:53 -07:00
Christopher Ferris
c6bc001776 Merge "Update kernel headers to v3.14." 2014-07-10 21:32:00 +00:00
Elliott Hughes
76df69d1f5 Merge "The err family allow null format strings." 2014-07-10 21:32:00 +00:00
Elliott Hughes
2f61fba72b The err family allow null format strings.
Also remove declarations for the _* variants that were never implemented in bionic (or glibc).

Change-Id: I4ea1f17bbb377e70632c10dd218f47110cabc27b
2014-07-11 02:53:27 +00:00
Elliott Hughes
57a5b3380a Merge "Define three prctl constants that went missing from uapi." 2014-07-10 21:09:57 +00:00
Elliott Hughes
263325d4b0 Define three prctl constants that went missing from uapi.
Change-Id: Ib81846ddefe9a75e02151c6592ed99b1f8ec5858
2014-07-11 19:54:55 -07:00
Dan Albert
37f09d6d2e Merge "Revert "Revert "Add locale aware APIs.""" 2014-07-10 21:02:22 +00:00
Dan Albert
dfb5ce42bc Revert "Revert "Add locale aware APIs.""
This reverts commit 063e20c26943ec82ef1d53a544545e79054e93d3.

Change-Id: Ib8c9004efefe75a5346b3af50dfe37952d91eb21
2014-07-11 16:21:31 +00:00
Christopher Ferris
385bb1eded Merge "Add optimized memchr implementation from newlib" 2014-07-10 20:49:23 +00:00
Bernhard Rosenkränzer
8c20c13100 Add optimized memchr implementation from newlib
Add NEON optimized memchr adapted from newlib

Change-Id: I91b2fafa243e4ab35fa56bb6171d48433c947cfd
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-07-11 00:17:07 +02:00
Elliott Hughes
b8e82b5e72 Merge "EM_ARM and EM_AARCH64 are now in the uapi header." 2014-07-10 20:49:23 +00:00
Elliott Hughes
10cf0d8c1f EM_ARM and EM_AARCH64 are now in the uapi header.
Change-Id: Ice73403daff75ea45b24e02351269f6c012df6c1
2014-07-11 11:01:42 -07:00
Christopher Ferris
96502e273e Merge "Make jemalloc the default choice." 2014-07-10 20:49:23 +00:00
Christopher Ferris
8e32b7b354 Make jemalloc the default choice.
Change-Id: I5ff0cf0c396b7ae6278e6fcd5a0d50f8b966fb54
2014-07-11 11:01:30 -07:00
Elliott Hughes
5df23dc85e Merge "Switch libm to building with clang." 2014-07-10 20:49:23 +00:00
Elliott Hughes
aadc4b2ff0 Switch libm to building with clang.
Bug: 16211965
Change-Id: I81ec9706a4f2b5e8a840508a0f711cd25a5826ca
2014-07-10 16:58:07 -07:00
Elliott Hughes
9b491470ac Merge "Slim down static binaries by avoiding stdio." 2014-07-10 20:49:23 +00:00
Elliott Hughes
eba7c15b69 Merge "Revert "Switch libm to building with clang."" 2014-07-10 20:43:44 +00:00
Elliott Hughes
1e83245bae Revert "Switch libm to building with clang."
This reverts commit aadc4b2ff03b12142f2c6163266ebdb1df2a6e76.

The patch broke x86.

Change-Id: I0cda903732a685838bbd1877f94e1593a2a32acc
2014-07-11 01:24:15 +00:00
Christopher Ferris
38062f954c Update kernel headers to v3.14.
Other changes:
- Modify update_all.py to skip ion header files when importing into aosp.
- Fix generate_uapi_headers.sh to handle imports from a linux-stable kernel.

Change-Id: I1ad81b9ccb063c21740f9875f2cc1238052cd4b3
2014-07-10 13:32:32 -07:00
Elliott Hughes
91570ce987 Slim down static binaries by avoiding stdio.
It's okay for a program to choose to drag in stdio, but it's unfortunate
if even the minimal "int main() { return 42; }" drags in stdio...

This brings the minimal static binary on ARM down from 78KiB to 46KiB.

Given that we don't have a separate -lpthread it's not obvious to me that
we can shave this down any further. I'm not sure whether this is a worthwhile
change for that reason. (And the fact that dynamic binaries, the usual case,
are unaffected either way.)

Change-Id: I02f91dcff37d14354314a30b72fed2563f431c88
2014-07-10 12:34:23 -07:00
Elliott Hughes
f0f8cd1ff3 Merge "Remove the global lock around thread stack creation." 2014-07-10 18:27:51 +00:00
Elliott Hughes
e959a3b315 Remove the global lock around thread stack creation.
This lock has been here since the original commits, but as far as I can tell
it never served any purpose. We've never had a free list of cached stacks or
anything like that.

Change-Id: I9d665c7eaa9c699ce0659ffb111402a0239fe1f5
2014-07-10 10:25:26 -07:00
Elliott Hughes
cd23370ca7 Merge "Remove the obsolete _thread_created_hook." 2014-07-10 16:05:36 +00:00
Calin Juravle
3b0f3112d0 am f11e7c74: am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit 'f11e7c74b5c8845bbad75c53f2837b831d883ea6':
  Move __cmsg_nxthdr to its proper file.
2014-07-10 15:24:13 +00:00
Calin Juravle
f11e7c74b5 am 02459d34: Merge "Move __cmsg_nxthdr to its proper file."
* commit '02459d34c9b82741155fbbb32850a7987eb7abaf':
  Move __cmsg_nxthdr to its proper file.
2014-07-10 15:20:25 +00:00
Calin Juravle
e8ce76c26e am 1d63dd90: am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit '1d63dd9092cc44645ab5001ea79f9f0aba86df69':
  Removed obsolete symbol cmsg_nxthdr.
2014-07-10 11:57:29 +00:00
Calin Juravle
1d63dd9092 am 8a71a745: Merge "Removed obsolete symbol cmsg_nxthdr."
* commit '8a71a745cb2a1eb573c6dc41e30c2f94a3a99db7':
  Removed obsolete symbol cmsg_nxthdr.
2014-07-10 11:54:36 +00:00
Christopher Ferris
0f8d5a0664 am c04e73a6: am 25fba981: Merge "Do not include libc_common in malloc debug code."
* commit 'c04e73a6b808012403a53d847f4946b33e880018':
  Do not include libc_common in malloc debug code.
2014-07-10 11:01:11 +00:00
Christopher Ferris
c04e73a6b8 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-10 09:43:32 +00:00
Elliott Hughes
e0f25dda3f Remove the obsolete _thread_created_hook.
gdb won't even try to use this on Android because it knows we don't
support old enough kernels to need it.

Bug: 15470251
Change-Id: Ia6d54585d888bbab8ee0490a148a1586b25437b9
2014-07-09 22:13:55 -07:00
Elliott Hughes
05916dda8a am cf53885b: am d028b620: Merge "Added a __system_property_serial benchmark."
* commit 'cf53885bfac9c7391d779df0a16355645fdedf64':
  Added a __system_property_serial benchmark.
2014-07-10 00:24:33 +00:00
Elliott Hughes
42775b512f am feccec68: am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit 'feccec68c57f03647166317b7f528364f925bbab':
  update-tzdata.py needs to know where to find icu.
2014-07-10 00:24:32 +00:00
Dan Albert
293006c91b am 418fdef2: am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit '418fdef2e7299fbf3d7c06319711b84a58423c2a':
  Revert "Add locale aware APIs."
2014-07-10 00:24:32 +00:00
Dan Albert
16dd7fd5d2 am 43e79dab: am 430d5f93: Merge "Add locale aware APIs."
* commit '43e79dab8478fcfadd723a9ba51b7cb07a214f79':
  Add locale aware APIs.
2014-07-10 00:24:27 +00:00
Elliott Hughes
cf53885bfa am d028b620: Merge "Added a __system_property_serial benchmark."
* commit 'd028b6209cde7929e6d0613cbd92cc7b766d3d09':
  Added a __system_property_serial benchmark.
2014-07-10 00:16:26 +00:00
Elliott Hughes
feccec68c5 am 84f0c7c2: Merge "update-tzdata.py needs to know where to find icu."
* commit '84f0c7c258b3a72eed8737662bb5a730d6d9f5e2':
  update-tzdata.py needs to know where to find icu.
2014-07-10 00:16:25 +00:00
Dan Albert
418fdef2e7 am 7a85d9a1: Merge "Revert "Add locale aware APIs.""
* commit '7a85d9a1de7f0970af19eca5f3ca6938cbc2ce95':
  Revert "Add locale aware APIs."
2014-07-10 00:16:24 +00:00
Dan Albert
43e79dab84 am 430d5f93: Merge "Add locale aware APIs."
* commit '430d5f93ceea2e5172144a05885c295dca51b876':
  Add locale aware APIs.
2014-07-10 00:16:23 +00:00
Christopher Ferris
25fba981a1 Merge "Do not include libc_common in malloc debug code." 2014-07-09 22:27:32 +00:00
Christopher Ferris
dda1c6c466 Do not include libc_common in malloc debug code.
The inclusion of the static libc_common library in the malloc_debug_XXX.so
shared libraries causes constructors to be called twice. This doesn't seem
to have caused any issues when setting the libc.debug.malloc property.
However, jemalloc crashes because there are two jemalloc implementations,
one in the static libc_common library and one in the shared library. Each
implementation has created overlapping thread keys that are not the same.
The crash comes because one of the jemalloc keys is actually used by the
locale setting code. Thus if someone sets the locale, the jemalloc code
crashes trying to access the same key.

Change-Id: Iaac650a82d69064db148a6333e9403744f68b4a4
2014-07-09 21:27:15 -07:00
Elliott Hughes
84f0c7c258 Merge "update-tzdata.py needs to know where to find icu." 2014-07-09 22:27:32 +00:00
Elliott Hughes
30ab939496 update-tzdata.py needs to know where to find icu.
Change-Id: If5561b92c233276fb072da62be21f23df4781c41
2014-07-09 15:42:59 -07:00
Dan Albert
430d5f93ce Merge "Add locale aware APIs." 2014-07-09 22:27:32 +00:00
Dan Albert
e087eac404 Add locale aware APIs.
Since we only support the C locale, we can just forward all of these to
their non-locale equivalents for correct behavior.

Change-Id: Ib7be71b7f636309c0cc3be1096a4c1f693f04fbb
2014-07-09 15:41:53 -07:00
Calin Juravle
02459d34c9 Merge "Move __cmsg_nxthdr to its proper file." 2014-07-09 19:42:15 +00:00
Calin Juravle
f8408c58fa Move __cmsg_nxthdr to its proper file.
Change-Id: I095fb6bc5318f2d256baa97658bdfe679d235aec
2014-07-10 12:47:13 +01:00
Calin Juravle
e95d0fc34c Removed obsolete symbol cmsg_nxthdr.
Bug: 15822452
Change-Id: I5322fb29522fc58e9c3489ff86216e25a12ef970
2014-07-10 12:44:52 +01:00
Calin Juravle
8a71a745cb Merge "Removed obsolete symbol cmsg_nxthdr." 2014-07-09 19:42:15 +00:00
Elliott Hughes
e2bcc8bbe5 am 748d8708: am 4c199170: Merge "Added __system_propery_read benchmark."
* commit '748d870871b8b95ae054f733683658afba86a539':
  Added __system_propery_read benchmark.
2014-07-09 18:15:10 +00:00
Elliott Hughes
748d870871 am 4c199170: Merge "Added __system_propery_read benchmark."
* commit '4c199170a84e725a56b7d40c113c9d76a75d89ab':
  Added __system_propery_read benchmark.
2014-07-09 18:11:32 +00:00
Elliott Hughes
48ad92a4b1 am 742fce7b: am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '742fce7b8414c095dd895547564ea8ef55d526b0':
  Remove __CTOR_LIST__ from mips/mips64.
2014-07-09 16:58:06 +00:00
Elliott Hughes
742fce7b84 am 3139f6fd: Merge "Remove __CTOR_LIST__ from mips/mips64."
* commit '3139f6fdd7f9bec3b53be3da62314ae8ba24ceb4':
  Remove __CTOR_LIST__ from mips/mips64.
2014-07-09 16:53:38 +00:00
Elliott Hughes
dc0b68e5ee am b9d95b5d: am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit 'b9d95b5d2f6eb748c0fdb83087b96bdb1cb5ef24':
  Don't zero r1 on entry to the dynamic linker.
2014-07-09 16:36:24 +00:00
Elliott Hughes
b9d95b5d2f am c4c67893: Merge "Don\'t zero r1 on entry to the dynamic linker."
* commit 'c4c6789362b82150e3f16cd655032f7ab2a1b6d6':
  Don't zero r1 on entry to the dynamic linker.
2014-07-09 16:32:58 +00:00
Ying Wang
76171b2d58 am 02406f68: am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit '02406f688ce2b9d35573a483251628bc82e88b3f':
  TARGET_OUT_DATA_NATIVE_TESTS now points to $(TARGET_OUT_DATA)/nativetest64 in 64-bit target
2014-07-09 16:26:28 +00:00
Ying Wang
02406f688c am 6cdd0cfd: Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to /nativetest64 in 64-bit target"
* commit '6cdd0cfd2f279dfb20b9f7cccc963eb9ee91c666':
  TARGET_OUT_DATA_NATIVE_TESTS now points to $(TARGET_OUT_DATA)/nativetest64 in 64-bit target
2014-07-09 16:22:58 +00:00
Dmitriy Ivanov
4e37e7b1e8 am b9247ada: am 3c12ae56: Merge "Add test for constructor function."
* commit 'b9247ada209fd7e3570127aacd77542d41a111fc':
  Add test for constructor function.
2014-07-09 15:07:37 +00:00
Elliott Hughes
4c199170a8 Merge "Added __system_propery_read benchmark." 2014-07-09 14:50:30 +00:00
Brigid Smith
a304476145 Added __system_propery_read benchmark.
Change-Id: Ic0e9118859a013aa04841de25822a81a7fc74b3c
2014-07-09 10:26:17 -07:00
Ying Wang
6cdd0cfd2f Merge "TARGET_OUT_DATA_NATIVE_TESTS now points to $(TARGET_OUT_DATA)/nativetest64 in 64-bit target" 2014-07-09 14:50:30 +00:00
Dan Albert
7a85d9a1de Merge "Revert "Add locale aware APIs."" 2014-07-09 14:45:53 +00:00
Dan Albert
063e20c269 Revert "Add locale aware APIs."
Accidentally verified against a dirty tree. Needs the companion change to libc++ to land upstream before I can submit this.

This reverts commit e087eac404b0e30de427392065e2750acf92bd4a.

Change-Id: I317ecd0923114f415eaad7603002f77feffb5e3f
2014-07-09 22:50:43 +00:00
Elliott Hughes
d028b6209c Merge "Added a __system_property_serial benchmark." 2014-07-09 14:42:04 +00:00
Brigid Smith
28417e6314 Added a __system_property_serial benchmark.
Change-Id: Ifc2116f26acb242f4dcdb6eefe128899a9dc63bb
2014-07-09 15:48:37 -07:00
Elliott Hughes
3139f6fdd7 Merge "Remove __CTOR_LIST__ from mips/mips64." 2014-07-09 14:42:04 +00:00
Elliott Hughes
40ad229b25 Remove __CTOR_LIST__ from mips/mips64.
Change-Id: I3486b09e30b32ddb67da602cbc2b5fb0402f9764
2014-07-09 09:20:17 -07:00
Elliott Hughes
c4c6789362 Merge "Don't zero r1 on entry to the dynamic linker." 2014-07-09 14:42:04 +00:00
Dmitriy Ivanov
b9247ada20 am 3c12ae56: Merge "Add test for constructor function."
* commit '3c12ae56f402744d1a446ceef7d20f5ea01025c3':
  Add test for constructor function.
2014-07-09 12:36:58 +00:00
Elliott Hughes
996524383f Don't zero r1 on entry to the dynamic linker.
There's no need: __linker_init only takes one argument.

Also remove the arm __CTOR_LIST__; we use .init_array and .fini_array instead
of .ctor and .dtor anyway, and I don't think we've ever supported the latter.

Change-Id: Ifc91a5a90c6aa39d674bf0509a7af2e1ff0beddd
2014-07-08 21:38:32 -07:00
Ying Wang
dc42e20d54 TARGET_OUT_DATA_NATIVE_TESTS now points to $(TARGET_OUT_DATA)/nativetest64 in 64-bit target
Change-Id: I9a562e79de7ec0f065c90de9ae1b72cbcd7d8c6b
2014-07-08 18:54:42 -07:00
Dmitriy Ivanov
3c12ae56f4 Merge "Add test for constructor function." 2014-07-08 22:56:31 +00:00
Dmitriy Ivanov
f8846a4587 Add test for constructor function.
Change-Id: I0ad26d617f00cdd6c2241d613be39a1d16918612
2014-07-08 21:21:34 -07:00
Dmitriy Ivanov
4c63233511 am b9c5d606: am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit 'b9c5d606aab6c1a21e3785d155613c35c276eb18':
  Change android_dlextinfo flags to uint64_t
2014-07-08 18:35:19 +00:00
Dmitriy Ivanov
b9c5d606aa am 006e0770: Merge "Change android_dlextinfo flags to uint64_t"
* commit '006e0770ffaa57d88f407fad8d9b78ea0efa9c6a':
  Change android_dlextinfo flags to uint64_t
2014-07-08 18:33:20 +00:00
Elliott Hughes
ddf9066e2e resolved conflicts for merge of aedc14b1 to master
Change-Id: Ib00a09a01541afb010f3c8a6f125d067a0c7812d
2014-07-08 11:15:27 -07:00
Elliott Hughes
aedc14b166 am 7244a861: Merge "Regenerate the bionic NOTICE files."
* commit '7244a8610a1b6f7cb38336696e15e2e4ee04613c':
  Regenerate the bionic NOTICE files.
2014-07-08 17:50:07 +00:00
Elliott Hughes
7244a8610a Merge "Regenerate the bionic NOTICE files." 2014-07-08 02:15:13 +00:00
Elliott Hughes
1558138315 Regenerate the bionic NOTICE files.
Also fix a few formatting issues in copyright headers that were confusing
the script (though obviously it would be better if the script were smarter).

Change-Id: I7f561bef4f84fdcbd84f375ee226bd65db0e507b
2014-07-07 15:42:06 -07:00
Elliott Hughes
e20bbaf8bb am 4568e344: am 2b2916d1: Merge "Remove some dead data."
* commit '4568e344c0a7581dc1b32387ba18c99df76ffeea':
  Remove some dead data.
2014-07-07 18:08:48 +00:00
Elliott Hughes
88ed7d2cc1 am d5a6a5e1: am db42a9f5: Merge "Fix three clang complaints about the DNS code."
* commit 'd5a6a5e18d66543bdfa4dffdfeec80eff32a87b9':
  Fix three clang complaints about the DNS code.
2014-07-07 18:08:47 +00:00
Elliott Hughes
4324fd7916 am a19e1d1c: am 4d763df3: Merge "Fix a broken boolean test found by clang."
* commit 'a19e1d1c6519e6adaa37ae151dc87cb04fe998b0':
  Fix a broken boolean test found by clang.
2014-07-07 18:08:46 +00:00
Elliott Hughes
ea24c25512 am 13610bec: am 1ee1bfde: Merge "Use __unused rather than self assignment for unused parameters."
* commit '13610bec6bfc0af64efdeeafc4c25d34912c2856':
  Use __unused rather than self assignment for unused parameters.
2014-07-07 18:08:46 +00:00
Elliott Hughes
4568e344c0 am 2b2916d1: Merge "Remove some dead data."
* commit '2b2916d15458671babed9e250b4d98f1980a976d':
  Remove some dead data.
2014-07-07 18:02:34 +00:00
Elliott Hughes
d5a6a5e18d am db42a9f5: Merge "Fix three clang complaints about the DNS code."
* commit 'db42a9f5a3b8a6bb6af2d9ef42844c8dc835527b':
  Fix three clang complaints about the DNS code.
2014-07-07 18:02:33 +00:00
Elliott Hughes
a19e1d1c65 am 4d763df3: Merge "Fix a broken boolean test found by clang."
* commit '4d763df3243f81041269015d0ac3fbd2912d5f3d':
  Fix a broken boolean test found by clang.
2014-07-07 18:02:33 +00:00
Elliott Hughes
13610bec6b am 1ee1bfde: Merge "Use __unused rather than self assignment for unused parameters."
* commit '1ee1bfdeeca74d71f3e7de7ac3a7e45c9a7d0f53':
  Use __unused rather than self assignment for unused parameters.
2014-07-07 18:02:32 +00:00
Dmitriy Ivanov
006e0770ff Merge "Change android_dlextinfo flags to uint64_t" 2014-07-07 17:50:18 +00:00
Dmitriy Ivanov
3a8646fc5d Change android_dlextinfo flags to uint64_t
Change-Id: Id27e8f8e58dbcf6ae79644f2ad3af3dd0aef9ae7
2014-07-08 11:24:03 -07:00
Dan Albert
67afc421f3 am 731f9273: am 2d94ee29: Merge "Revert "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64."""
* commit '731f9273134b861b86ef65f785f4811c2f17b5be':
  Revert "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64.""
2014-07-07 16:25:28 +00:00
Dan Albert
731f927313 am 2d94ee29: Merge "Revert "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64."""
* commit '2d94ee29f4be528167f1de328226cac259aac738':
  Revert "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64.""
2014-07-07 16:20:11 +00:00
Elliott Hughes
4d763df324 Merge "Fix a broken boolean test found by clang." 2014-07-05 03:01:43 +00:00
Elliott Hughes
29edbfd64f Fix a broken boolean test found by clang.
This was only on the failure case, so this probably never caused
any real trouble.

Change-Id: Id983689772102cbb9171693b927e544fb0b584fb
2014-07-07 09:45:15 -07:00
Nick Kralevich
031517ff74 am 8ad9909a: am d11ca4e8: Merge "Revert "Reenable support for non-PIE executables""
* commit '8ad9909a70c4925a1da15ce150835e436f54d8c1':
  Revert "Reenable support for non-PIE executables"
2014-07-03 19:59:41 +00:00
Nick Kralevich
8ad9909a70 am d11ca4e8: Merge "Revert "Reenable support for non-PIE executables""
* commit 'd11ca4e8c7cbbdd4b37ea82a351966da75907c0d':
  Revert "Reenable support for non-PIE executables"
2014-07-03 19:54:53 +00:00
Nick Kralevich
80d877d6c3 am e6ef1977: am f95964c9: Merge "libc_logging: Set SOCK_CLOEXEC on socket"
* commit 'e6ef19779f35bfc1e49b50dd6d3189ab393328f1':
  libc_logging: Set SOCK_CLOEXEC on socket
2014-07-03 16:09:56 +00:00
Nick Kralevich
e6ef19779f am f95964c9: Merge "libc_logging: Set SOCK_CLOEXEC on socket"
* commit 'f95964c93becfeb51433d7d90a6e1b9bb456a3e7':
  libc_logging: Set SOCK_CLOEXEC on socket
2014-07-03 16:05:17 +00:00
Elliott Hughes
ca771fc396 am bebe8de7: am 1f262b35: Merge "Fix recv.cpp so it can build with clang."
* commit 'bebe8de7e2d2df2605fe96f7426f26ecbcd7d251':
  Fix recv.cpp so it can build with clang.
2014-07-03 00:13:14 +00:00
Elliott Hughes
bebe8de7e2 am 1f262b35: Merge "Fix recv.cpp so it can build with clang."
* commit '1f262b35fef5108e3bd3fbea4b6aa1ce635767f9':
  Fix recv.cpp so it can build with clang.
2014-07-03 00:08:14 +00:00
Elliott Hughes
cda4006cc7 am 2a70aba8: am ab4fc823: Merge "Fix all resolv warnings and turn on -Werror."
* commit '2a70aba8460eff1bfb1417c271c6a5a53c560afa':
  Fix all resolv warnings and turn on -Werror.
2014-07-02 23:54:12 +00:00
Elliott Hughes
2a70aba846 am ab4fc823: Merge "Fix all resolv warnings and turn on -Werror."
* commit 'ab4fc82315567a1400bb25af3f835f1b5d80a0fe':
  Fix all resolv warnings and turn on -Werror.
2014-07-02 23:51:08 +00:00
Dmitriy Ivanov
fba3354e81 am 176f13a7: am afd37c42: Merge "Build fix"
* commit '176f13a70845555d6b5776ddacdae8771dccb13f':
  Build fix
2014-07-02 23:19:28 +00:00
Dmitriy Ivanov
176f13a708 am afd37c42: Merge "Build fix"
* commit 'afd37c429b14d63ee4144f00cf1fb8041f681f68':
  Build fix
2014-07-02 23:16:04 +00:00
Dmitriy Ivanov
e9fa0de5b0 am 8551bfb0: am 950a435f: Merge "Load library using file handle."
* commit '8551bfb04385781c3b8c68afaf9c055c22a4e985':
  Load library using file handle.
2014-07-02 23:13:56 +00:00
Elliott Hughes
f5bd675225 am 9ff95c47: am 99e2a2f0: Merge "Switch to upstream OpenBSD mktemp.c."
* commit '9ff95c4763bcbc44d25092510fde299f0ba0be7f':
  Switch to upstream OpenBSD mktemp.c.
2014-07-02 23:13:47 +00:00
Dmitriy Ivanov
6d3314f227 am f308174a: am 87b654ce: Merge "Disable local/protected symbol test for lp64"
* commit 'f308174ae2d0655385ae5f50bdd5ae9e3388265f':
  Disable local/protected symbol test for lp64
2014-07-02 23:13:44 +00:00
Dmitriy Ivanov
8551bfb043 am 950a435f: Merge "Load library using file handle."
* commit '950a435fc0dffc22a816194af175420176b86908':
  Load library using file handle.
2014-07-02 22:57:45 +00:00
Elliott Hughes
1f262b35fe Merge "Fix recv.cpp so it can build with clang." 2014-07-02 21:12:58 +00:00
Elliott Hughes
6917e6c2ae Fix recv.cpp so it can build with clang.
Change-Id: Iac3e676aa256837333240219bcadbdc31985b5dd
2014-07-02 16:46:34 -07:00
Elliott Hughes
ab4fc82315 Merge "Fix all resolv warnings and turn on -Werror." 2014-07-02 21:12:58 +00:00
Elliott Hughes
37b1b5bbcd Fix all resolv warnings and turn on -Werror.
The res_init.c changes bring us a bit closer to upstream too, though
there's still work to be done there. Some of the remaining differences
look like bugs we'd want to fix, so we should definitely try to come
back to that.

Change-Id: I50baa148e967c90d55d711e9904ad54c7d724d4d
2014-07-02 16:27:20 -07:00
Elliott Hughes
9ff95c4763 am 99e2a2f0: Merge "Switch to upstream OpenBSD mktemp.c."
* commit '99e2a2f04ca3bc4c66ecb91bc5abb378ec7c10ef':
  Switch to upstream OpenBSD mktemp.c.
2014-07-02 21:08:52 +00:00
Nick Kralevich
f95964c93b Merge "libc_logging: Set SOCK_CLOEXEC on socket" 2014-07-02 20:52:43 +00:00
Nick Kralevich
bae5b1dbd8 libc_logging: Set SOCK_CLOEXEC on socket
Socket file descriptors remain open across exec unless
SOCK_CLOEXEC is set. Enable this option, to avoid leaking
file descriptors.

In practice, this isn't a big deal, since the socket only remains
open for a very short period to write a message. However, this
socket might leak for for multithreaded programs if an exec occurs
between the open and close.

Change-Id: Ica2e71fe28657c32d56de1431c8f7f1f5c7b7c58
2014-07-02 22:39:14 -07:00
Dmitriy Ivanov
afd37c429b Merge "Build fix" 2014-07-02 20:52:43 +00:00
Dmitriy Ivanov
d383066941 Build fix
Change-Id: Ib43e0f055e3c5f07b50393bfcab9738454835ac3
2014-07-02 16:06:50 -07:00
Dmitriy Ivanov
950a435fc0 Merge "Load library using file handle." 2014-07-02 20:52:43 +00:00
Elliott Hughes
99e2a2f04c Merge "Switch to upstream OpenBSD mktemp.c." 2014-07-02 20:52:16 +00:00
Dan Albert
2d94ee29f4 Merge "Revert "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64.""" 2014-07-02 20:51:20 +00:00
Nick Kralevich
d11ca4e8c7 Merge "Revert "Reenable support for non-PIE executables"" 2014-07-02 20:51:20 +00:00
Nick Kralevich
76e289c026 Revert "Reenable support for non-PIE executables"
/system/bin/tf_daemon on Nakasi has been updated so it's
a PIE executable. We can now drop non-PIE support.

This reverts commit d81b3b275dff99561cbe5905ca63a1c72fa54a17.

Bug: 15086752
Bug: 15732002
Bug: 14566672
Change-Id: I832c4de01a8fa050754ea64da317d1639990265e
2014-07-03 12:08:34 -07:00
Elliott Hughes
1ee1bfdeec Merge "Use __unused rather than self assignment for unused parameters." 2014-07-02 20:49:53 +00:00
Elliott Hughes
668da74ef1 Use __unused rather than self assignment for unused parameters.
Clang, reasonably enough, doesn't like self assignment.

Change-Id: Ie5843287802949dad148a1a815231035678e1306
2014-07-07 09:46:54 -07:00
Elliott Hughes
2b2916d154 Merge "Remove some dead data." 2014-07-02 20:49:42 +00:00
Elliott Hughes
920d831ba1 Remove some dead data.
Clang doesn't like dead data, and this is just an LP32 compatibility turd.

Change-Id: I3832748a4e773b254877f4438b5340e7d4c1ce70
2014-07-07 09:46:11 -07:00
Elliott Hughes
db42a9f5a3 Merge "Fix three clang complaints about the DNS code." 2014-07-02 20:49:42 +00:00
Elliott Hughes
68c2755d71 Fix three clang complaints about the DNS code.
These are all already fixed upstream in the same way.

Change-Id: I2881b6d0fbd0237fffc0f00563bc14750dcce0d9
2014-07-07 09:44:17 -07:00
Dmitriy Ivanov
04dc91ae76 Load library using file handle.
* This patch enables dlopen by file descriptor
   instead of path/name.

Bug: 15984217
Change-Id: Ib39051e00567fb97070bf96d8ce63993877c0a01
2014-07-02 13:20:47 -07:00
Dmitriy Ivanov
f308174ae2 am 87b654ce: Merge "Disable local/protected symbol test for lp64"
* commit '87b654ce467934ab6a0fe1546341e4db42b5c344':
  Disable local/protected symbol test for lp64
2014-07-02 18:54:19 +00:00
Elliott Hughes
6593597931 Switch to upstream OpenBSD mktemp.c.
Almost all of our stdio is actually OpenBSD, so although this isn't
really a core part of stdio (it doesn't touch struct FILE, for example)
it probably makes sense for it to come from the same upstream. My
actual motivation though is that it's the only FreeBSD file we have
compiler warnings from.

This patch moves us over to -Werror by default, with only the DNS code
having -Wno-error.

Change-Id: Id244a5b445cba41b0a1ca30298ca7b1ed177810c
2014-07-02 11:22:26 -07:00
Elliott Hughes
fd18df1e7d am 7ec1ba3e: am 4d299a2c: Merge "Build all bionic test files -Werror and fix our one warning."
* commit '7ec1ba3ed7735160786c7f4fa95accdd1dc5f5bf':
  Build all bionic test files -Werror and fix our one warning.
2014-07-02 00:46:18 +00:00
Elliott Hughes
a230741e47 am e20fcb2d: am e9975987: Merge "Quiten warnings in semaphore.c."
* commit 'e20fcb2d70af950cff4ae5df8038d800630e39be':
  Quiten warnings in semaphore.c.
2014-07-02 00:46:18 +00:00
Elliott Hughes
dc615691c9 am d103c98b: am f2102f54: Merge "Quiten warnings in fts.c."
* commit 'd103c98be845e060d86463a895c2e33aa8256839':
  Quiten warnings in fts.c.
2014-07-02 00:46:17 +00:00
Elliott Hughes
7ec1ba3ed7 am 4d299a2c: Merge "Build all bionic test files -Werror and fix our one warning."
* commit '4d299a2cf7880789e658f427196d1ca9fe02a9bc':
  Build all bionic test files -Werror and fix our one warning.
2014-07-02 00:41:14 +00:00
Elliott Hughes
e20fcb2d70 am e9975987: Merge "Quiten warnings in semaphore.c."
* commit 'e9975987900e5713c5b8b13e1817a243e92f79d9':
  Quiten warnings in semaphore.c.
2014-07-02 00:41:14 +00:00
Elliott Hughes
d103c98be8 am f2102f54: Merge "Quiten warnings in fts.c."
* commit 'f2102f54a0006c56033ab0ba62d48dc4b4e8b91a':
  Quiten warnings in fts.c.
2014-07-02 00:41:13 +00:00
Dmitriy Ivanov
053f4c9cb2 am 711b5584: am 105ef36c: Merge "Native tests are now multilib=both by default"
* commit '711b5584db13b6a2aca555e577c3d7cfb04946ab':
  Native tests are now multilib=both by default
2014-07-01 23:12:34 +00:00
Dmitriy Ivanov
711b5584db am 105ef36c: Merge "Native tests are now multilib=both by default"
* commit '105ef36c67baeebd2fd9c24b6140953afba4f160':
  Native tests are now multilib=both by default
2014-07-01 23:08:01 +00:00
Dan Albert
c492450147 am 30c958f7: am 42a5a177: Merge "Revert "Revert "Prevent symbols from libgcc from being reexported."""
* commit '30c958f7f5dfd712f11026c5caa78aa7d67f082d':
  Revert "Revert "Prevent symbols from libgcc from being reexported.""
2014-07-01 22:57:06 +00:00
Dan Albert
30c958f7f5 am 42a5a177: Merge "Revert "Revert "Prevent symbols from libgcc from being reexported."""
* commit '42a5a177e99ee2ba37e041cabbbc8175ed5c5dc5':
  Revert "Revert "Prevent symbols from libgcc from being reexported.""
2014-07-01 22:50:49 +00:00
Dan Albert
f79ee064b6 Revert "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64.""
This reverts commit 715242fd0f69e73a6aca19e32b8979fa0f384788.

Change-Id: Ia9892fa3b03287129aa72a49974cef9fd94ae735
2014-07-01 22:41:50 +00:00
Dmitriy Ivanov
4d8f3c4d99 am 51c812cd: am 442d41fc: Merge "Write message to stderr on __libc_fatal()"
* commit '51c812cd220cd9f493d61df98ca77dd0b5f000da':
  Write message to stderr on __libc_fatal()
2014-07-01 22:10:25 +00:00
Dmitriy Ivanov
51c812cd22 am 442d41fc: Merge "Write message to stderr on __libc_fatal()"
* commit '442d41fc128646d7f572da842d5d5b1918341c53':
  Write message to stderr on __libc_fatal()
2014-07-01 22:05:49 +00:00
Dmitriy Ivanov
eff2f8bc2c am aa355352: am 176ccd49: Merge "Add support for protected local symbol lookup."
* commit 'aa3553521b82e7fbec242cdc5280d1aa626a47e6':
  Add support for protected local symbol lookup.
2014-07-01 21:36:00 +00:00
Dmitriy Ivanov
aa3553521b am 176ccd49: Merge "Add support for protected local symbol lookup."
* commit '176ccd4925c682f036141c8618650b16912b9bd4':
  Add support for protected local symbol lookup.
2014-07-01 21:30:04 +00:00
Elliott Hughes
eae0d91dd5 am 94f8beb7: am dc42d7ff: Merge "Fix a warning in if_indextoname.c."
* commit '94f8beb7e3450204bb117ca2301c1769a9b76dc2':
  Fix a warning in if_indextoname.c.
2014-07-01 19:39:38 +00:00
Elliott Hughes
94f8beb7e3 am dc42d7ff: Merge "Fix a warning in if_indextoname.c."
* commit 'dc42d7ff6b792f72cfe09d8bbc2fd1f342d1d9fb':
  Fix a warning in if_indextoname.c.
2014-07-01 19:33:53 +00:00
Elliott Hughes
f2102f54a0 Merge "Quiten warnings in fts.c." 2014-07-01 19:26:36 +00:00
Elliott Hughes
ec67cded1d Quiten warnings in fts.c.
Also bring us closer to upstream. Sadly the Linux and BSD dirent
structs don't match, so we'll never be completely in sync (and I don't
think we can hide the difference with macro trickery).

Change-Id: Ief4275856116cd1d5b5e0f9166db1ead9439515c
2014-07-01 17:20:06 -07:00
Elliott Hughes
e997598790 Merge "Quiten warnings in semaphore.c." 2014-07-01 19:22:04 +00:00
Elliott Hughes
95d3cd0b85 Quiten warnings in semaphore.c.
Change-Id: I30aff82174f789ab407d2282c07e6207123d4d5b
2014-07-01 17:07:43 -07:00
Elliott Hughes
4d299a2cf7 Merge "Build all bionic test files -Werror and fix our one warning." 2014-07-01 19:16:01 +00:00
Elliott Hughes
d06ee1d6db Build all bionic test files -Werror and fix our one warning.
Change-Id: I62bb0528fd1bcb9aa4c61e44c78158a592690fc7
2014-07-01 17:17:46 -07:00
Elliott Hughes
ff7d2d0920 am 56d0f8ca: am f573a52c: Merge "Silence time64.c build warnings."
* commit '56d0f8ca50900edca67e24cfdcfb33824551b0c2':
  Silence time64.c build warnings.
2014-07-01 18:25:16 +00:00
Elliott Hughes
56d0f8ca50 am f573a52c: Merge "Silence time64.c build warnings."
* commit 'f573a52cf3a814504e5d5a6b62d74ba9516f7a28':
  Silence time64.c build warnings.
2014-07-01 18:18:04 +00:00
Dmitriy Ivanov
87b654ce46 Merge "Disable local/protected symbol test for lp64" 2014-07-01 16:52:01 +00:00
Dmitriy Ivanov
ce0ba3c706 Disable local/protected symbol test for lp64
* Static linker optimizes protected local symbol
    out of existence, which leads to test failure.
    Disabling it for now.

Change-Id: I8de327e5073f98b64639f7a0bba3a273aa419884
2014-07-01 19:13:01 -07:00
Dmitriy Ivanov
442d41fc12 Merge "Write message to stderr on __libc_fatal()" 2014-07-01 16:52:01 +00:00
Dmitriy Ivanov
12bf3bcdee Write message to stderr on __libc_fatal()
Change-Id: Ia8d6e256768fa51786d0139d3f3b6e9e4bebe027
2014-07-01 14:46:03 -07:00
Dmitriy Ivanov
105ef36c67 Merge "Native tests are now multilib=both by default" 2014-07-01 16:35:05 +00:00
Dmitriy Ivanov
fcac81ef04 Native tests are now multilib=both by default
Change-Id: I788ac0b871703c137727a65e017c4466127c0190
2014-07-01 15:38:22 -07:00
Dmitriy Ivanov
176ccd4925 Merge "Add support for protected local symbol lookup." 2014-07-01 16:35:05 +00:00
Dmitriy Ivanov
d97e9f546e Add support for protected local symbol lookup.
Bug: http://code.google.com/p/android/issues/detail?id=66048
Change-Id: Ib334223df27adad9477fb241ab099c5e26df4a7d
2014-07-01 10:25:54 -07:00
Elliott Hughes
dc42d7ff6b Merge "Fix a warning in if_indextoname.c." 2014-07-01 14:59:07 +00:00
Elliott Hughes
49eb761306 Fix a warning in if_indextoname.c.
Change-Id: Ib6afe2a5452022f5c98ec28fd110d6b910dccdad
2014-07-01 11:13:25 -07:00
Dan Albert
42a5a177e9 Merge "Revert "Revert "Prevent symbols from libgcc from being reexported.""" 2014-07-01 14:58:20 +00:00
Christopher Ferris
f1be48d4c2 am 4ba40564: am 4ec3bc83: Merge "Add optimized stpcpy."
* commit '4ba40564c62bbd6ac52e53aad003bb424f1e8f10':
  Add optimized stpcpy.
2014-07-01 02:57:13 +00:00
Christopher Ferris
4ba40564c6 am 4ec3bc83: Merge "Add optimized stpcpy."
* commit '4ec3bc83c632132bda915d00b5bc716dc6ab8dd8':
  Add optimized stpcpy.
2014-07-01 02:52:05 +00:00
Nick Kralevich
b18a1c3d19 am e844f27a: am bcf77b5d: Merge "add CLOEXEC to various DNS related code"
* commit 'e844f27a05b32b7bf2fd68b1bd69e450040c1e24':
  add CLOEXEC to various DNS related code
2014-06-30 23:23:47 +00:00
Nick Kralevich
e844f27a05 am bcf77b5d: Merge "add CLOEXEC to various DNS related code"
* commit 'bcf77b5dfff2c93187c42c613ada6d2b97bb02d4':
  add CLOEXEC to various DNS related code
2014-06-30 23:20:54 +00:00
Elliott Hughes
dd9efcbab6 am c5f1504e: am 6cdab387: Merge "Restore <nsswitch.h> which is BSD API, not private."
* commit 'c5f1504e3db3a39bb951bf01e2d0d758ca93cc44':
  Restore <nsswitch.h> which is BSD API, not private.
2014-06-30 23:16:01 +00:00
Elliott Hughes
c5f1504e3d am 6cdab387: Merge "Restore <nsswitch.h> which is BSD API, not private."
* commit '6cdab387b3fa6900ba918318edc426b5cb62b66e':
  Restore <nsswitch.h> which is BSD API, not private.
2014-06-30 23:10:03 +00:00
Elliott Hughes
6cdab387b3 Merge "Restore <nsswitch.h> which is BSD API, not private." 2014-06-30 22:33:03 +00:00
Christopher Ferris
4ec3bc83c6 Merge "Add optimized stpcpy." 2014-06-30 22:26:48 +00:00
Nick Kralevich
bcf77b5dff Merge "add CLOEXEC to various DNS related code" 2014-06-30 22:26:48 +00:00
Elliott Hughes
27cc284e02 am 0bdbc499: am 260846f3: Merge "Reinstate the x86 dynamic linker warning for text relocations."
* commit '0bdbc499baf361e1b04ba97baf60e0ccdbddeb04':
  Reinstate the x86 dynamic linker warning for text relocations.
2014-06-30 22:08:04 +00:00
Elliott Hughes
0bdbc499ba am 260846f3: Merge "Reinstate the x86 dynamic linker warning for text relocations."
* commit '260846f374f88ba6686bff8ab33c17c487c7a8f7':
  Reinstate the x86 dynamic linker warning for text relocations.
2014-06-30 22:04:33 +00:00
Elliott Hughes
a311704103 Restore <nsswitch.h> which is BSD API, not private.
Also make nsdispatch non-hidden. Firefox uses it.

Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1030899
Change-Id: Iaccc1ec813d196ec91ac475fcc4ae9dca756861d
2014-06-30 14:15:34 -07:00
Christopher Ferris
76437dc7b0 am 6464c7e4: am eac2bbf0: Merge "Add extra strchr testing."
* commit '6464c7e4437b73da41c1c77b0225fb0d964d7445':
  Add extra strchr testing.
2014-06-30 20:08:48 +00:00
Christopher Ferris
6464c7e443 am eac2bbf0: Merge "Add extra strchr testing."
* commit 'eac2bbf0fce2da710bb086414ad1054568747a42':
  Add extra strchr testing.
2014-06-30 20:03:43 +00:00
Christopher Ferris
753eb7f07e Add optimized stpcpy.
Change-Id: Ifed38f92a54fef4488fd0ed26a1569059a054574
2014-06-30 12:48:13 -07:00
Elliott Hughes
71ee128e0c am e1047515: am f72c56d6: Merge "Switch to upstream NetBSD nsap_addr.c."
* commit 'e104751566da6e8ef340926781d5ef120bf1d801':
  Switch to upstream NetBSD nsap_addr.c.
2014-06-30 19:44:47 +00:00
Elliott Hughes
e104751566 am f72c56d6: Merge "Switch to upstream NetBSD nsap_addr.c."
* commit 'f72c56d66a79492310389b6065b76fc03b518407':
  Switch to upstream NetBSD nsap_addr.c.
2014-06-30 19:39:25 +00:00
Dmitriy Ivanov
59d4f55ab5 am 33c1af30: am e5c759ff: Merge "Disallow dlopen("egl/blah.so") on LP64"
* commit '33c1af30706ed0869b3997f2ee0f087e55b56676':
  Disallow dlopen("egl/blah.so") on LP64
2014-06-30 18:07:02 +00:00
Dmitriy Ivanov
33c1af3070 am e5c759ff: Merge "Disallow dlopen("egl/blah.so") on LP64"
* commit 'e5c759ff3a602f884cdac011600dc64645bce93e':
  Disallow dlopen("egl/blah.so") on LP64
2014-06-30 18:01:38 +00:00
Christopher Ferris
eac2bbf0fc Merge "Add extra strchr testing." 2014-06-30 14:46:08 +00:00
Christopher Ferris
3a657d01ec Add extra strchr testing.
Change-Id: Idd0a779eb3388e402cfcb4e0df40872320f8e155
2014-06-30 12:39:55 -07:00
Elliott Hughes
f72c56d66a Merge "Switch to upstream NetBSD nsap_addr.c." 2014-06-30 14:46:08 +00:00
Elliott Hughes
a210cae724 Switch to upstream NetBSD nsap_addr.c.
These symbols should be public (and Firefox uses them), and we'd also probably
rather have the upstream thread-safe implementation.

Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1030899
Change-Id: I2a5888fbb3198546848398f576fd2195ff3fe00c
2014-06-30 12:03:43 -07:00
Nick Kralevich
1781ed7774 add CLOEXEC to various DNS related code
Occasionally file descriptors seem to be leaking across execs
from DNS related calls. Set close-on-execute for the various
sockets / file to prevent file descriptor leakage.

Change-Id: I4724b47bc7236f40c29518a6075598a9bba48b0a
2014-06-29 20:46:17 -07:00
Colin Cross
4720dc7372 am 26dde2d2: am ddc44974: Merge "Revert "HACK: linker: check for handle==0xffffffff on LP64""
* commit '26dde2d2e407b45ebeeacd9784823ff1c8f78f64':
  Revert "HACK: linker: check for handle==0xffffffff on LP64"
2014-06-29 03:24:21 +00:00
Elliott Hughes
f573a52cf3 Merge "Silence time64.c build warnings." 2014-06-28 11:29:06 +00:00
Elliott Hughes
066eb0b06d Silence time64.c build warnings.
Change-Id: Ibc5672480ee5e72eedf2bc29e420315b5346b0df
2014-07-01 10:48:23 -07:00
Colin Cross
26dde2d2e4 am ddc44974: Merge "Revert "HACK: linker: check for handle==0xffffffff on LP64""
* commit 'ddc449748bc3ff0ba574be00f4bbac9fba242e33':
  Revert "HACK: linker: check for handle==0xffffffff on LP64"
2014-06-28 00:49:03 +00:00
Christopher Ferris
29642e8ec6 am d1bf0706: am 2e249c2e: Merge "Add optimized 64 bit strcpy."
* commit 'd1bf0706425d7ee4b6fd99fbda7653b788c1eb6f':
  Add optimized 64 bit strcpy.
2014-06-27 22:40:14 +00:00
Christopher Ferris
d1bf070642 am 2e249c2e: Merge "Add optimized 64 bit strcpy."
* commit '2e249c2e7a1bc2290d34c77d48206e97b8b883b6':
  Add optimized 64 bit strcpy.
2014-06-27 22:34:48 +00:00
Elliott Hughes
26c69d6438 am 5d4cb156: am ec97c3f0: Merge "asm/sigcontext.h is required to build unwind-dw2.c in gcc-4.9."
* commit '5d4cb15610e91c99b062589e6297d423ed2e1176':
  asm/sigcontext.h is required to build unwind-dw2.c in gcc-4.9.
2014-06-27 21:30:20 +00:00
Elliott Hughes
5d4cb15610 am ec97c3f0: Merge "asm/sigcontext.h is required to build unwind-dw2.c in gcc-4.9."
* commit 'ec97c3f0246680c77a2f9d72e0f1600f799e1754':
  asm/sigcontext.h is required to build unwind-dw2.c in gcc-4.9.
2014-06-27 21:24:48 +00:00
Christopher Ferris
35cf5c59b9 am 627a8096: am a4a28d90: Merge "Add optimized neon strchr implementation based on newlib"
* commit '627a8096ea34a4dfe790a1a85617136e58e0ba4a':
  Add optimized neon strchr implementation based on newlib
2014-06-27 19:52:09 +00:00
Christopher Ferris
627a8096ea am a4a28d90: Merge "Add optimized neon strchr implementation based on newlib"
* commit 'a4a28d90f30dad54a7851176ddffee435d75f83f':
  Add optimized neon strchr implementation based on newlib
2014-06-27 19:46:41 +00:00
Colin Cross
ddc449748b Merge "Revert "HACK: linker: check for handle==0xffffffff on LP64"" 2014-06-26 23:45:01 +00:00
Dmitriy Ivanov
e5c759ff3a Merge "Disallow dlopen("egl/blah.so") on LP64" 2014-06-26 23:39:54 +00:00
Dmitriy Ivanov
e43c4a7a66 Disallow dlopen("egl/blah.so") on LP64
Bug: 7465467
Change-Id: Ibd3a4f1a6095f4397bde4f656e3c11b67f7edd47
2014-06-29 13:02:06 -07:00
Elliott Hughes
260846f374 Merge "Reinstate the x86 dynamic linker warning for text relocations." 2014-06-26 18:40:47 +00:00
Elliott Hughes
aa836f7310 Reinstate the x86 dynamic linker warning for text relocations.
Bug: 11358761
Change-Id: I4fc56ce7d76c9703a307ddd4d371d5e98bc6f51d
2014-06-30 14:46:53 -07:00
Elliott Hughes
ec97c3f024 Merge "asm/sigcontext.h is required to build unwind-dw2.c in gcc-4.9." 2014-06-26 18:34:59 +00:00
Christopher Ferris
2e249c2e7a Merge "Add optimized 64 bit strcpy." 2014-06-26 18:12:01 +00:00
Christopher Ferris
77561bfe0b Add optimized 64 bit strcpy.
Change-Id: I4ac12735a53c3ae9336b148ce694fe6c63613139
2014-06-26 17:51:56 -07:00
Christopher Ferris
a4a28d90f3 Merge "Add optimized neon strchr implementation based on newlib" 2014-06-26 18:12:01 +00:00
Bernhard Rosenkränzer
12c0274d9c Add optimized neon strchr implementation based on newlib
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
Change-Id: I276ff0f879e733a1115456247e1342b9c5a09015
2014-06-27 13:21:42 +02:00
Raghu Gandham
93e7b9f3ea asm/sigcontext.h is required to build unwind-dw2.c in gcc-4.9.
Change-Id: Ie36b68d1260a656056f66a67750232a7da78c61f
Signed-off-by: Steve Ellcey <steve.ellcey@imgtec.com>
2014-06-25 18:03:41 -07:00
Elliott Hughes
aca4068ca9 am 5f3bf515: am 3df0774b: Merge "Add a new pthread_key_delete test."
* commit '5f3bf51532704e3f92d93427ff136a5b091e67c4':
  Add a new pthread_key_delete test.
2014-06-25 21:09:44 +00:00
Elliott Hughes
5f3bf51532 am 3df0774b: Merge "Add a new pthread_key_delete test."
* commit '3df0774b15cfe85033c23d5e51b6f5174bf0559f':
  Add a new pthread_key_delete test.
2014-06-25 21:03:59 +00:00
Elliott Hughes
f9ebc87c2c am e3ee7819: am ba4ebf78: Merge "Change the LP64 off_t/loff_t/off64_t definitions to reduce warnings."
* commit 'e3ee7819378096fcc207262704dafea54101b712':
  Change the LP64 off_t/loff_t/off64_t definitions to reduce warnings.
2014-06-25 20:47:33 +00:00
Elliott Hughes
e3ee781937 am ba4ebf78: Merge "Change the LP64 off_t/loff_t/off64_t definitions to reduce warnings."
* commit 'ba4ebf78ad29ab2ee57c05807140bdf751f59cc6':
  Change the LP64 off_t/loff_t/off64_t definitions to reduce warnings.
2014-06-25 19:27:59 +00:00
Elliott Hughes
3df0774b15 Merge "Add a new pthread_key_delete test." 2014-06-25 17:34:27 +00:00
Elliott Hughes
ebb770f90d Add a new pthread_key_delete test.
Bug: https://code.google.com/p/android/issues/detail?id=66813
Change-Id: Ida87bc1fb15a73a08c223a7099456d9f049cd3c5
2014-06-25 13:46:46 -07:00
Elliott Hughes
ba4ebf78ad Merge "Change the LP64 off_t/loff_t/off64_t definitions to reduce warnings." 2014-06-25 03:39:25 +00:00
Elliott Hughes
00fb5f97be Change the LP64 off_t/loff_t/off64_t definitions to reduce warnings.
Code written for glibc can be sloppy about these types on LP64 and
get away with it. It's probably better for our users if these types
are identical rather than just being the same size.

Change-Id: I3dd116d80569d2d101342a552c55f4a18884025b
2014-06-25 12:09:11 -07:00
Elliott Hughes
671ffdbf0e am 19fe877e: am d59ed678: Merge "Add splice, tee, and vmsplice."
* commit '19fe877ec35b7ff7d356d6f4020e77886fff89e2':
  Add splice, tee, and vmsplice.
2014-06-25 02:19:53 +00:00
Elliott Hughes
19fe877ec3 am d59ed678: Merge "Add splice, tee, and vmsplice."
* commit 'd59ed678fe6d6bc5aeb1566004490126bd552df4':
  Add splice, tee, and vmsplice.
2014-06-25 02:14:34 +00:00
Elliott Hughes
d59ed678fe Merge "Add splice, tee, and vmsplice." 2014-06-25 01:46:04 +00:00
Elliott Hughes
3f525d41c2 Add splice, tee, and vmsplice.
Change-Id: I5f43380b88d776a8bb607b47dbbc5db5a2fe6163
2014-06-24 19:03:31 -07:00
Elliott Hughes
8a41df6521 am cc9acb8d: am 52f9b051: Merge "Sync to current upstream arc4random."
* commit 'cc9acb8d7b10304e2cb215b471dc9f9636de47f8':
  Sync to current upstream arc4random.
2014-06-25 00:28:09 +00:00
Elliott Hughes
cc9acb8d7b am 52f9b051: Merge "Sync to current upstream arc4random."
* commit '52f9b051c8bcb3d723b023a74d7d89ee45cf754c':
  Sync to current upstream arc4random.
2014-06-24 21:33:42 +00:00
Elliott Hughes
256f07ec5c am 1411afd6: am 598f4b3a: Merge "Fix getpid caching across a clone."
* commit '1411afd6d18ee363b96c8e4b20561d5e946abfbf':
  Fix getpid caching across a clone.
2014-06-24 19:42:41 +00:00
Elliott Hughes
1411afd6d1 am 598f4b3a: Merge "Fix getpid caching across a clone."
* commit '598f4b3ac1be3c6ef3af613ac4b0694841e165fe':
  Fix getpid caching across a clone.
2014-06-24 19:35:23 +00:00
Elliott Hughes
52f9b051c8 Merge "Sync to current upstream arc4random." 2014-06-24 18:00:13 +00:00
Elliott Hughes
0468feb286 Sync to current upstream arc4random.
This is actually revision 1.33, which is no longer the latest, but it's
as close to head as we can currently reasonably get. I've also switched
to the OpenBSD getentropy_linux.c implementation of getentropy, lightly
modified to try to report an error on failure.

Bug: 14499627
Change-Id: Ia7c561184b1f366c9bf66f248aa60f0d53535fcb
2014-06-24 14:13:48 -07:00
Calin Juravle
05509541af am b52d7e7b: am 63fa660b: Merge "Prefix cmsg_nxthdr with "__"."
* commit 'b52d7e7b6ebfac476a1f9506a1a8b2999797ef15':
  Prefix cmsg_nxthdr with "__".
2014-06-24 12:32:41 +00:00
Calin Juravle
b52d7e7b6e am 63fa660b: Merge "Prefix cmsg_nxthdr with "__"."
* commit '63fa660b52f1e9717f0a2105d4861a4b48c330b1':
  Prefix cmsg_nxthdr with "__".
2014-06-24 11:02:06 +00:00
Elliott Hughes
598f4b3ac1 Merge "Fix getpid caching across a clone." 2014-06-24 07:45:29 +00:00
Calin Juravle
63fa660b52 Merge "Prefix cmsg_nxthdr with "__"." 2014-06-24 06:28:56 +00:00
Calin Juravle
096b4eb752 Prefix cmsg_nxthdr with "__".
This brings us on par with glibc.

To avoid breaking clients, temporary keep cmsg_nxthdr until the next NDK
refresh.

Bug: 15822452
Change-Id: I24c24e68c31f4f2b8f3d2df7acd575cb75174173
2014-06-24 11:53:06 +01:00
Dan Albert
71f9b34fbe Revert "Revert "Prevent symbols from libgcc from being reexported.""
This reverts commit 4e4e1a5d78ff6dd9394b9b116c012046da409e99.

Change-Id: I8e78c3a59598e052e02965dd37b3fba8f567eed9
2014-06-24 04:31:08 +00:00
Elliott Hughes
fa9e16efaf Fix getpid caching across a clone.
If you make clone, fork, or vfork system calls directly, you're still
on your own, but we now do the right thing for the clone wrapper.
With this implementation, children lose the getpid caching, but we've
no reason to think that that covers any significant use cases.

Bug: 15387103
Change-Id: Icfab6b63c708fea830960742ec92aeba8ce7680d
2014-06-23 17:49:45 -07:00
Dan Albert
15a75decbf am af8046a9: am 66a805b9: Merge "Revert "Prevent symbols from libgcc from being reexported.""
* commit 'af8046a9f9ee4d341047dfff156077d7e7a559db':
  Revert "Prevent symbols from libgcc from being reexported."
2014-06-23 21:26:33 +00:00
Dan Albert
af8046a9f9 am 66a805b9: Merge "Revert "Prevent symbols from libgcc from being reexported.""
* commit '66a805b91e53ae89d029d31f9e8b385bc79ac04a':
  Revert "Prevent symbols from libgcc from being reexported."
2014-06-23 21:21:36 +00:00
Dan Albert
4e4e1a5d78 Revert "Prevent symbols from libgcc from being reexported."
This reverts commit 65e80cf62200085f72c1c081aea2d6e9b800cde2.

Change-Id: I5f94b123f73db8d0b03cd71a5cffa0662776a017
2014-06-23 20:12:05 +00:00
Dan Albert
66a805b91e Merge "Revert "Prevent symbols from libgcc from being reexported."" 2014-06-23 17:14:09 +00:00
Dan Albert
ff1917e08d am 203ec23c: am 559f3cb5: Merge "Use __builtin_*_chk for bcopy/bzero."
* commit '203ec23c4b92d76b6bc2597d7d07b7e01e52d83e':
  Use __builtin_*_chk for bcopy/bzero.
2014-06-23 17:12:18 +00:00
Dan Albert
203ec23c4b am 559f3cb5: Merge "Use __builtin_*_chk for bcopy/bzero."
* commit '559f3cb532f2740f1c86d16663ad23dad6aa96e8':
  Use __builtin_*_chk for bcopy/bzero.
2014-06-23 17:08:26 +00:00
Dan Albert
0163222d18 am b5e050d2: am 54e9dc02: Merge "Prevent symbols from libgcc from being reexported."
* commit 'b5e050d2f98d7a196ac85ffae42ebc057985a664':
  Prevent symbols from libgcc from being reexported.
2014-06-21 10:36:53 +00:00
Dan Albert
509cf86c80 am 4b62f0d8: am 0d7415fb: Merge "Remove SHA1 from LP64 in favor of libcrypto."
* commit '4b62f0d809e6a29366f8bbc987b4091b0fb94863':
  Remove SHA1 from LP64 in favor of libcrypto.
2014-06-21 10:36:52 +00:00
Dan Albert
b5e050d2f9 am 54e9dc02: Merge "Prevent symbols from libgcc from being reexported."
* commit '54e9dc02138838fdb7a89e62467c369e3cf1f41f':
  Prevent symbols from libgcc from being reexported.
2014-06-21 09:47:23 +00:00
Dan Albert
4b62f0d809 am 0d7415fb: Merge "Remove SHA1 from LP64 in favor of libcrypto."
* commit '0d7415fb225573c37ff9e880957cd2044dd658ce':
  Remove SHA1 from LP64 in favor of libcrypto.
2014-06-21 09:47:20 +00:00
Dan Albert
65e80cf622 Prevent symbols from libgcc from being reexported.
Since this was not done earlier, there are binary compatibility concerns
that prevent us from being able to apply this to LP32.

Bug: 11156955
Change-Id: Ie717c3ae4b81c749548a45a993c834e109700b27
2014-06-21 00:09:31 -07:00
Christopher Ferris
92f979725f am 6131798e: am ac86f994: Merge "[MIPS64] Regenerate mips kernel headers with fixed tool"
* commit '6131798e574d85200053d93bc2673ab5a0f715fe':
  [MIPS64] Regenerate mips kernel headers with fixed tool
2014-06-21 01:06:58 +00:00
Christopher Ferris
4a96c1b216 am 40b85d34: am eee5f173: Merge "[MIPS64] Adjust kernel/tools for mips32,mips64 headers"
* commit '40b85d34e0f87bdb0ede4c36d6389a7af9c6548c':
  [MIPS64] Adjust kernel/tools for mips32,mips64 headers
2014-06-21 01:06:57 +00:00
Christopher Ferris
6131798e57 am ac86f994: Merge "[MIPS64] Regenerate mips kernel headers with fixed tool"
* commit 'ac86f99405707aa099e11d97cd68bfe011cf7a32':
  [MIPS64] Regenerate mips kernel headers with fixed tool
2014-06-21 01:03:44 +00:00
Christopher Ferris
40b85d34e0 am eee5f173: Merge "[MIPS64] Adjust kernel/tools for mips32,mips64 headers"
* commit 'eee5f173d1e55c1fe35ef664b6eb0aa3eeab942d':
  [MIPS64] Adjust kernel/tools for mips32,mips64 headers
2014-06-21 01:03:43 +00:00
Elliott Hughes
8e34804df8 am 3e2ea6ba: am fb0a3622: Merge "Cache getpid."
* commit '3e2ea6ba22092ab23f4836d68eec2528f6f88ed1':
  Cache getpid.
2014-06-20 23:14:37 +00:00
Elliott Hughes
3e2ea6ba22 am fb0a3622: Merge "Cache getpid."
* commit 'fb0a3622f79bb0a31dd4d0e2f9cea990075ef129':
  Cache getpid.
2014-06-20 22:40:16 +00:00
Dan Albert
54e9dc0213 Merge "Prevent symbols from libgcc from being reexported." 2014-06-20 21:00:34 +00:00
Dan Albert
0d7415fb22 Merge "Remove SHA1 from LP64 in favor of libcrypto." 2014-06-20 20:43:43 +00:00
Christopher Ferris
ac86f99405 Merge "[MIPS64] Regenerate mips kernel headers with fixed tool" 2014-06-20 20:43:43 +00:00
Duane Sand
2300332596 [MIPS64] Regenerate mips kernel headers with fixed tool
Change-Id: I530891123cba78edbea4aa8af88390213711ab16
2014-06-20 11:08:49 -07:00
Duane Sand
a69eaec4d4 [MIPS64] Adjust kernel/tools for mips32,mips64 headers
Define CONFIG_32BIT as _ABIO32 rather than as 1;
it needs to be undefined for calls from mips64.
We need  defined(CONFIG_32BIT) == !defined(CONFIG_64BIT),
and get that via  defined(_ABIO32) == !defined(__LP64__).

Define CONFIG_CPU_LITTLE_ENDIAN to get correctly-placed
struct msqid64_ds fillers on ipc calls from mips32.
Without this, big-endian fillers were erroneously used.
This bug exists in prior mips32 Android releases.

Define __SANE_USERSPACE_TYPES__ to use int_ll64.h
rather than int_ll64.h on mips64.
This depends on external/kernel-headers patch
 https://android-review.googlesource.com/#/c/98915/
 http://patchwork.linux-mips.org/patch/6890/

Change-Id: If65fa80746533723cdf46eebe95733bea7ce24ba
2014-06-20 10:46:28 -07:00
Christopher Ferris
eee5f173d1 Merge "[MIPS64] Adjust kernel/tools for mips32,mips64 headers" 2014-06-20 02:09:57 +00:00
Dan Albert
559f3cb532 Merge "Use __builtin_*_chk for bcopy/bzero." 2014-06-20 00:28:52 +00:00
Dan Albert
8ca440089f Use __builtin_*_chk for bcopy/bzero.
Replacing memmove/memset with their builtin check equivalents fixes an
implicit definition warning when only including strings.h.

Change-Id: I74f03b9506ea37f5c2f9c11498e379a70998b430
2014-06-23 08:30:40 -07:00
Elliott Hughes
fb0a3622f7 Merge "Cache getpid." 2014-06-20 00:26:25 +00:00
Elliott Hughes
7086ad6919 Cache getpid.
In practice, with this implementation we never need to make a system call.
We get the main thread's tid (which is the same as our pid) back from
the set_tid_address system call we have to make during initialization.
A new pthread will have the same pid as its parent, and a fork child's
main (and only) thread will have a pid equal to its tid, which we get for
free from the kernel before clone returns.

The only time we'd actually have to make a getpid system call now is if
we take a signal during fork and the signal handler calls getpid. (That,
or we call getpid in the dynamic linker while it's still dealing with its
own relocations and hasn't even set up the main thread yet.)

Bug: 15387103
Change-Id: I6d4718ed0a5c912fc75b5f738c49a023dbed5189
2014-06-20 09:06:57 -07:00
Elliott Hughes
d5706a1a84 am 87170203: am e58055f0: Merge "Expose tzname, daylight, and timezone."
* commit '8717020375529de8b6027b9040c34246e9a97f9d':
  Expose tzname, daylight, and timezone.
2014-06-19 23:21:10 +00:00
Elliott Hughes
8717020375 am e58055f0: Merge "Expose tzname, daylight, and timezone."
* commit 'e58055f05dbbb22a9e308c4b628b93d858f57685':
  Expose tzname, daylight, and timezone.
2014-06-19 23:17:15 +00:00
Elliott Hughes
dc042c64d1 am 9d963b40: am d1bf3778: Merge "Build tzcode with hidden visibility."
* commit '9d963b406b9e2ac98a820b868c99be91a0f5842d':
  Build tzcode with hidden visibility.
2014-06-19 22:34:29 +00:00
Elliott Hughes
9d963b406b am d1bf3778: Merge "Build tzcode with hidden visibility."
* commit 'd1bf37780d0bcaca3e6046171f958ebfea34bde1':
  Build tzcode with hidden visibility.
2014-06-19 22:31:01 +00:00
Elliott Hughes
e58055f05d Merge "Expose tzname, daylight, and timezone." 2014-06-19 22:08:31 +00:00
Elliott Hughes
06366724d5 Expose tzname, daylight, and timezone.
These were accidentally hidden.

Bug: 11156955
Change-Id: I380f00bdafa547aea13d4634f3de9ec6f0b50a6f
2014-06-19 16:08:03 -07:00
Elliott Hughes
dbb4328da3 am abd03d34: am 29e3a0e3: Merge "Fix arm64 localtime.c build."
* commit 'abd03d348c13b5d5301702151e0729f6a491092f':
  Fix arm64 localtime.c build.
2014-06-19 21:37:43 +00:00
Elliott Hughes
abd03d348c am 29e3a0e3: Merge "Fix arm64 localtime.c build."
* commit '29e3a0e312b7a76b91adfd77a399a390ffaed11d':
  Fix arm64 localtime.c build.
2014-06-19 21:31:49 +00:00
Elliott Hughes
15dcc6f4cb am ef0273e1: am 477b45b8: Merge "Build tzcode with -Werror."
* commit 'ef0273e130e171523e256efc2f077dbccca50ad6':
  Build tzcode with -Werror.
2014-06-19 21:29:14 +00:00
Elliott Hughes
ef0273e130 am 477b45b8: Merge "Build tzcode with -Werror."
* commit '477b45b89d84c9efec95c49a76cacbc9b2d5104c':
  Build tzcode with -Werror.
2014-06-19 21:22:31 +00:00
Elliott Hughes
d1bf37780d Merge "Build tzcode with hidden visibility." 2014-06-19 20:38:20 +00:00
Elliott Hughes
d10db82619 Build tzcode with hidden visibility.
Bug: 11156955
Change-Id: Ib98d837b56cbbdfd01687cb3054fe3103eec0da9
2014-06-19 14:49:30 -07:00
Elliott Hughes
29e3a0e312 Merge "Fix arm64 localtime.c build." 2014-06-19 20:38:20 +00:00
Elliott Hughes
2cb752664b Fix arm64 localtime.c build.
I'm sick of having so many different compilers.

Change-Id: I9088c38df2504e2b827d0ce5ba0fa551ae48f8f9
2014-06-19 14:19:24 -07:00
Elliott Hughes
a2e7dc7cef am 442a0b1c: am 942fa486: Merge "Update localtime.c."
* commit '442a0b1ca3a4a1ae0ddc022991bc25f8df92b23f':
  Update localtime.c.
2014-06-19 18:18:23 +00:00
Elliott Hughes
442a0b1ca3 am 942fa486: Merge "Update localtime.c."
* commit '942fa486f669da8bb5db724d5c4fdc93b4fb65d9':
  Update localtime.c.
2014-06-19 18:12:17 +00:00
Christopher Ferris
66802993d5 am fa817e64: am 5c864766: Merge "add 64-bit bionic implementation for denver arch"
* commit 'fa817e64e9a422b6c9380b81597cf8bf8d44849f':
  add 64-bit bionic implementation for denver arch
2014-06-19 18:09:11 +00:00
Christopher Ferris
fa817e64e9 am 5c864766: Merge "add 64-bit bionic implementation for denver arch"
* commit '5c8647665c7fa84f50f75a18f7455c8f9c927c39':
  add 64-bit bionic implementation for denver arch
2014-06-19 18:05:20 +00:00
Nick Kralevich
881e426524 am deca2451: am 8a7cffc8: Merge "Reenable support for non-PIE executables"
* commit 'deca2451e0bdcc98777f06bfbe8f9e10fc529778':
  Reenable support for non-PIE executables
2014-06-19 17:15:02 +00:00
Nick Kralevich
deca2451e0 am 8a7cffc8: Merge "Reenable support for non-PIE executables"
* commit '8a7cffc85dc4664a8bd7c3c526bfa56b25126864':
  Reenable support for non-PIE executables
2014-06-19 17:12:04 +00:00
Dan Albert
3b46eaa80c am 6eeb6176: am 0df59bd3: Merge "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64.""
* commit '6eeb61767d367258bb5709265769a3a931090529':
  Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64."
2014-06-19 10:04:11 +00:00
Dan Albert
6eeb61767d am 0df59bd3: Merge "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64.""
* commit '0df59bd3a5aed6c90dbac80f2c85968af52730d6':
  Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64."
2014-06-19 09:21:39 +00:00
Dan Albert
715242fd0f Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64."
This reverts commit dd4ad5c463c9bd479e8acf81227708717aafe204.

Change-Id: If3c9771825e460ce68604082f4feb0ca783e56c6
2014-06-19 03:57:05 +00:00
Christopher Ferris
15d0e2a1c1 am 79cd486d: am 0b09153c: Merge "Move common macros into bionic_macros.h."
* commit '79cd486d54edd1fbaf6b33872f5c35e273d3c324':
  Move common macros into bionic_macros.h.
2014-06-18 23:03:26 +00:00
Christopher Ferris
79cd486d54 am 0b09153c: Merge "Move common macros into bionic_macros.h."
* commit '0b09153c12915c6d17434cf9fed2389f6fe4e713':
  Move common macros into bionic_macros.h.
2014-06-18 22:58:29 +00:00
Dan Albert
0df59bd3a5 Merge "Revert "Hide _tolower_tab_ and _toupper_tab_ on LP64."" 2014-06-18 22:48:04 +00:00
Dan Albert
ee5b17b479 am 9fbcc435: am a5fe7b89: Merge "Hide _tolower_tab_ and _toupper_tab_ on LP64."
* commit '9fbcc435dc8ab7d82653230c810e3071c5b5cc06':
  Hide _tolower_tab_ and _toupper_tab_ on LP64.
2014-06-18 21:40:32 +00:00
Dan Albert
65e8bca624 am 9ac80645: am 49d5399b: Merge "Hide __atexit and remove __atexit_invalid."
* commit '9ac80645542e03559ecee6524d87791b1b1f5fd7':
  Hide __atexit and remove __atexit_invalid.
2014-06-18 21:40:29 +00:00
Dan Albert
9fbcc435dc am a5fe7b89: Merge "Hide _tolower_tab_ and _toupper_tab_ on LP64."
* commit 'a5fe7b89528d8a03063a3579e971c901a2fc6f32':
  Hide _tolower_tab_ and _toupper_tab_ on LP64.
2014-06-18 21:04:17 +00:00
Dan Albert
9ac8064554 am 49d5399b: Merge "Hide __atexit and remove __atexit_invalid."
* commit '49d5399bbcfae80d8b21f2303077b24257a1b966':
  Hide __atexit and remove __atexit_invalid.
2014-06-18 20:29:31 +00:00
Dan Albert
dd4ad5c463 Hide _tolower_tab_ and _toupper_tab_ on LP64.
We can't hide them on LP32 because they appeared in NDK headers.

Bug: 11156955
Change-Id: I22bf5a0f4d330c04b49565bc598cd0568128d4fc
2014-06-18 13:11:07 -07:00
Christopher Ferris
40bc7cd4ed DO NOT MERGE Re-add .save directive for arm assembler code.
Restored the .save directives so that the libcorkscrew unwinder continues
to function.

Bug: 15701117
Change-Id: I853695a299548b84c78ae8147b9757dbeacdb1ec
2014-06-18 12:54:59 -07:00
Dan Albert
a5fe7b8952 Merge "Hide _tolower_tab_ and _toupper_tab_ on LP64." 2014-06-18 19:25:04 +00:00
Dmitriy Ivanov
8c79f5f895 am 6b8b3dd2: am 64dfbd24: Merge "Fix weak function lookups"
* commit '6b8b3dd28a145021281f69b485763748f29b7b03':
  Fix weak function lookups
2014-06-18 16:00:39 +00:00
Dmitriy Ivanov
6b8b3dd28a am 64dfbd24: Merge "Fix weak function lookups"
* commit '64dfbd242cddc3ef95576e27e3940d68b89b5fce':
  Fix weak function lookups
2014-06-18 15:56:19 +00:00
Dan Albert
1cd8f57cbc am b29a7f1d: am ef82c28d: Merge "Hide declaration of gets(3) for C11 and later."
* commit 'b29a7f1d29a1183c1f1a67433f36ae09cf1eee89':
  Hide declaration of gets(3) for C11 and later.
2014-06-18 01:54:57 +00:00
Dan Albert
b29a7f1d29 am ef82c28d: Merge "Hide declaration of gets(3) for C11 and later."
* commit 'ef82c28db63c6f333edb7e9d7e7ad1baa656343c':
  Hide declaration of gets(3) for C11 and later.
2014-06-18 01:22:00 +00:00
Dan Albert
3bb25acb46 am b86ffd8d: am 1ef3ba2b: Merge "Revert "Hide declaration of gets(3) for C11 and later.""
* commit 'b86ffd8d82c177b393e6ed3199ee94331776afc7':
  Revert "Hide declaration of gets(3) for C11 and later."
2014-06-17 23:44:26 +00:00
Dan Albert
b86ffd8d82 am 1ef3ba2b: Merge "Revert "Hide declaration of gets(3) for C11 and later.""
* commit '1ef3ba2b4fd2408cdd78828ec2930ce31ce8cee7':
  Revert "Hide declaration of gets(3) for C11 and later."
2014-06-17 23:39:30 +00:00
Dan Albert
7cd4e72561 am 285a1c13: am 185c399c: Merge "Hide declaration of gets(3) for C11 and later."
* commit '285a1c13482f64813dd8f5dd54b479199c0f2569':
  Hide declaration of gets(3) for C11 and later.
2014-06-17 23:34:10 +00:00
Dan Albert
285a1c1348 am 185c399c: Merge "Hide declaration of gets(3) for C11 and later."
* commit '185c399c581f867ad288737b5f824a1fda1f6aaf':
  Hide declaration of gets(3) for C11 and later.
2014-06-17 23:30:18 +00:00
Dmitriy Ivanov
a537ec85ea am 65806a84: am 1d2b4c02: Merge "Move libraries for unit-tests to separate folder"
* commit '65806a842b5b3475b4481325a56227492a4e063a':
  Move libraries for unit-tests to separate folder
2014-06-17 23:29:40 +00:00
Dmitriy Ivanov
65806a842b am 1d2b4c02: Merge "Move libraries for unit-tests to separate folder"
* commit '1d2b4c022c419e1e85336fa44e644772eefb8b64':
  Move libraries for unit-tests to separate folder
2014-06-17 23:25:55 +00:00
Dan Albert
ef82c28db6 Merge "Hide declaration of gets(3) for C11 and later." 2014-06-17 23:00:03 +00:00
Dan Albert
9635046e53 Hide declaration of gets(3) for C11 and later.
gets(3) was removed from C11.

This reverts commit 1291680c2a0c23b2163198d27e00261ca206298b.

Bug: 14500800
Change-Id: I5e5146bdbb80f2be818a17f287b112bab37d1f6d
2014-06-17 17:37:06 -07:00
Dmitriy Ivanov
1d2b4c022c Merge "Move libraries for unit-tests to separate folder" 2014-06-17 23:00:03 +00:00
Elliott Hughes
d150eab4ed am c02f242d: am b6ca7474: Merge "Add a flag control that PRIVATE libm can be chosen"
* commit 'c02f242d330f11ccfd6322164ce1b16861416ff1':
  Add a flag control that PRIVATE libm can be chosen
2014-06-17 22:45:46 +00:00
Elliott Hughes
c02f242d33 am b6ca7474: Merge "Add a flag control that PRIVATE libm can be chosen"
* commit 'b6ca7474023f7832d4230756781031b7687517e6':
  Add a flag control that PRIVATE libm can be chosen
2014-06-17 22:42:16 +00:00
Dmitriy Ivanov
1f5e1a3cbc Move libraries for unit-tests to separate folder
Change-Id: I1653f3f2fd63ba25525369bc725c8f7438ecf021
2014-06-17 15:08:53 -07:00
Elliott Hughes
8a72b6187f am 775b2a0d: am 4ac22649: Merge "Add <linux/tty.h> to libc/include/sys/ioctl.h"
* commit '775b2a0d9ca8ba17f9f443b203536c9879bd519c':
  Add <linux/tty.h> to libc/include/sys/ioctl.h
2014-06-17 21:58:19 +00:00
Elliott Hughes
775b2a0d9c am 4ac22649: Merge "Add <linux/tty.h> to libc/include/sys/ioctl.h"
* commit '4ac22649441339d0a81e0fc6428ac7f1867ffe6f':
  Add <linux/tty.h> to libc/include/sys/ioctl.h
2014-06-17 21:53:05 +00:00
Elliott Hughes
477b45b89d Merge "Build tzcode with -Werror." 2014-06-17 21:42:00 +00:00
Elliott Hughes
5f564540a9 Build tzcode with -Werror.
Parts of this are just getting us in sync with upstream, but the
'const' stuff is our own mess. We should kill the *_tz functions
and lose this difference from upstream.

Change-Id: I17d26534ed3f54667143d78147a8c53be56d7b33
2014-06-19 13:54:10 -07:00
Elliott Hughes
942fa486f6 Merge "Update localtime.c." 2014-06-17 21:42:00 +00:00
Elliott Hughes
906eb9999b Update localtime.c.
This brings us closer to upstream's ToT localtime.c; our main interest
being their alternative fix for the stack usage we addressed in commit
8a8b0c9bfcd80c67154ed2aca1e60d815c822acb.

Bug: 14468519
Change-Id: Ic28600115afda7f3158d91255edf422678bac082
2014-06-18 19:48:14 -07:00
Christopher Ferris
5c8647665c Merge "add 64-bit bionic implementation for denver arch" 2014-06-17 21:42:00 +00:00
Nick Kralevich
8a7cffc85d Merge "Reenable support for non-PIE executables" 2014-06-17 21:42:00 +00:00
Nick Kralevich
d81b3b275d Reenable support for non-PIE executables
On Nakasi builds, /system/bin/tf_daemon is a pre-compiled
vendor supplied binary. When support for non-PIE executables
was removed, that daemon failed to start, which induced
a number of bugs.

  * keystore is broken
  * CTS runs will hang after a certain period of time

Temporarily reenable non-PIE support for 32-bit platforms
until Nakasi is fixed.

This rolls back the following commits:

  Cleanup: updated comments
  * 6275f2083415d22a6ce0de55645079cd47e0cc80
  Cleanup: remove AARCH/ARM_COPY relocation support
  * b906e13c55c9fe9b4157ba548534a0230434882b

And restricts the following patch to 64 bit only:

  Remove support for non-PIE executables
  * 2aebf5429bb1241a3298b5b642d38f73124c2026

Bug: 14566672
Bug: 15086752
Bug: 15732002
Change-Id: Ia2501aa14bd30feb4a6ce66bdb7c9f066dba0b5f
2014-06-19 09:09:54 -07:00
Christopher Ferris
0b09153c12 Merge "Move common macros into bionic_macros.h." 2014-06-17 21:42:00 +00:00
Christopher Ferris
03eebcb6e8 Move common macros into bionic_macros.h.
Bug: 15590152
Change-Id: I730636613ef3653f68c5ab1d43b53beaf8e0dc25
2014-06-18 14:23:46 -07:00
Dan Albert
49d5399bbc Merge "Hide __atexit and remove __atexit_invalid." 2014-06-17 21:42:00 +00:00
Dan Albert
11f715c62e Hide __atexit and remove __atexit_invalid.
Bug: 11156955
Change-Id: I8c72edee8ecb92b75a282384277253bae19f7455
2014-06-18 13:19:22 -07:00
Dmitriy Ivanov
64dfbd242c Merge "Fix weak function lookups" 2014-06-17 21:07:34 +00:00
Dmitriy Ivanov
ce44166c73 Fix weak function lookups
* Linker now correctly resolves function defined
   with __attribute__((weak)).

Bug: https://code.google.com/p/android/issues/detail?id=70206
Change-Id: I82efb905676c25fefb1b11a13f5fecb0f1384657
2014-06-17 16:18:18 -07:00
Dan Albert
1ef3ba2b4f Merge "Revert "Hide declaration of gets(3) for C11 and later."" 2014-06-17 20:56:23 +00:00
Dan Albert
1291680c2a Revert "Hide declaration of gets(3) for C11 and later."
Breaks stlport. checkbuild lied to me?

This reverts commit c0ce5908277a9bf18628946629dba4277e9a2281.

Change-Id: I72fb21aba7eaea96a7c3208236fd03411527fa5e
2014-06-17 23:28:38 +00:00
Dan Albert
c0ce590827 Hide declaration of gets(3) for C11 and later.
gets(3) was removed from C11.

Change-Id: I4040a8a6c6d5d2a86878e8a80ca67964fbbb82a8
2014-06-17 15:52:07 -07:00
Elliott Hughes
b6ca747402 Merge "Add a flag control that PRIVATE libm can be chosen" 2014-06-17 20:56:23 +00:00
Elliott Hughes
4ac2264944 Merge "Add <linux/tty.h> to libc/include/sys/ioctl.h" 2014-06-17 20:56:23 +00:00
Dan Albert
185c399c58 Merge "Hide declaration of gets(3) for C11 and later." 2014-06-17 20:49:57 +00:00
Christopher Ferris
49b7175138 am d61729c0: am b656410a: Merge "Use a separate config.h for config like defines."
* commit 'd61729c0a55ce139c57cbf526cbfd3e448e3d3f1':
  Use a separate config.h for config like defines.
2014-06-17 18:35:46 +00:00
Christopher Ferris
d61729c0a5 am b656410a: Merge "Use a separate config.h for config like defines."
* commit 'b656410a73c4dfa2a3f8deba0a673080320f8605':
  Use a separate config.h for config like defines.
2014-06-17 18:30:28 +00:00
Christopher Ferris
b656410a73 Merge "Use a separate config.h for config like defines." 2014-06-17 04:51:41 +00:00
Christopher Ferris
6361964381 Use a separate config.h for config like defines.
This allows an easier way to share config parameters between unit tests
and the bionic code.

It also fixes a problem where the 32 bit bionic tests based on glibc, or
the cts list executable did not have the pvalloc,valloc tests.

Change-Id: Ib47942cb8a278252faa7498a6ef23e9578db544f
2014-06-16 23:35:53 -07:00
Christopher Ferris
c92354b66d am 6589ba15: am d10d3acd: Merge "Move jemalloc due to whole_static_library bug."
* commit '6589ba1561fd97785a0eb5c2eb8cc7d41a5b83e1':
  Move jemalloc due to whole_static_library bug.
2014-06-17 01:47:47 +00:00
Christopher Ferris
6589ba1561 am d10d3acd: Merge "Move jemalloc due to whole_static_library bug."
* commit 'd10d3acd45d045e5a705d22c2297483765e40f5f':
  Move jemalloc due to whole_static_library bug.
2014-06-17 00:57:37 +00:00
Dan Albert
c82c0b7e07 Remove SHA1 from LP64 in favor of libcrypto.
Keep the symbols around on LP32 for binary compatibility.

Bug: 11156955
Change-Id: I379a7e0fa3092e9a70daeafcbcb2aacfc314031a
2014-06-16 16:52:27 -07:00
Colin Cross
acfc63760e Revert "HACK: linker: check for handle==0xffffffff on LP64"
This reverts commit 346fea0805b8c2a20171c9b4ab1aac5f66ede5de.

Change-Id: Id3fd79451e4218e68e39ce22f21408cbf93255ee
2014-06-16 15:44:20 -07:00
Dan Albert
c4978a5646 am 7a11b7a6: am a217a0cd: Merge "libc: Fix \'index\' symbol export."
* commit '7a11b7a674805f8373fd9f126ee46721ccab8eeb':
  libc: Fix 'index' symbol export.
2014-06-16 22:13:20 +00:00
Dan Albert
f3fc2fe72c am c732859d: am 4fb0d4fb: Merge "Revert "Revert "Remove ftime from bionic LP64"""
* commit 'c732859d241a182dc0a9c8b2a2bca9ec5926cd39':
  Revert "Revert "Remove ftime from bionic LP64""
2014-06-16 22:13:08 +00:00
Dan Albert
15d00e2989 am f49791fd: am 9a3ad98f: Merge "Removes getdtablesize(3) from LP64."
* commit 'f49791fd8767a3b09fe70febc9142da45c4398f1':
  Removes getdtablesize(3) from LP64.
2014-06-16 22:13:05 +00:00
Dan Albert
7a11b7a674 am a217a0cd: Merge "libc: Fix \'index\' symbol export."
* commit 'a217a0cdb3ff78f6b59d64fd4356f87643ad9d1e':
  libc: Fix 'index' symbol export.
2014-06-16 20:25:14 +00:00
Elliott Hughes
b618aa818d am fe6e646c: Update NOTICE files.
* commit 'fe6e646cb79fe15d7815fdb9c92cc66be56ab1d4':
  Update NOTICE files.
2014-06-16 20:05:43 +00:00
Dan Albert
c732859d24 am 4fb0d4fb: Merge "Revert "Revert "Remove ftime from bionic LP64"""
* commit '4fb0d4fb312ed696081200e65ce9bf643928e5e6':
  Revert "Revert "Remove ftime from bionic LP64""
2014-06-16 19:57:15 +00:00
Dan Albert
f49791fd87 am 9a3ad98f: Merge "Removes getdtablesize(3) from LP64."
* commit '9a3ad98fd69a276f7c5fca0489d5657be75fcf69':
  Removes getdtablesize(3) from LP64.
2014-06-16 19:36:18 +00:00
Dan Albert
4fb0d4fb31 Merge "Revert "Revert "Remove ftime from bionic LP64""" 2014-06-16 19:18:38 +00:00
Dan Albert
ac6467587e Revert "Revert "Remove ftime from bionic LP64""
This reverts commit 0921204660b9597de795065d0350a787035ad589.

Change-Id: I749af8d7d429cda9f9d09a75bd30df54e6b1dd65
2014-06-16 12:32:38 -07:00
Dan Albert
9a3ad98fd6 Merge "Removes getdtablesize(3) from LP64." 2014-06-16 19:16:50 +00:00
Elliott Hughes
fe6e646cb7 Update NOTICE files.
Change-Id: I459caf48ba861372a4d0bc75f98a9cb4acc20fd5
2014-06-16 10:24:37 -07:00
Dan Albert
462abab12b Removes getdtablesize(3) from LP64.
getdtablesize(3) was removed fro POSIX 2004. Keep the symbol around in LP32 for
binary compatibility, but remove the declaration from unistd.h.

Bug: 13935372
Change-Id: I1f96cd290bf9176f922dad58bd5a7ab2cae7ef0f
2014-06-16 10:12:37 -07:00
Christopher Ferris
d10d3acd45 Merge "Move jemalloc due to whole_static_library bug." 2014-06-16 15:49:03 +00:00
Christopher Ferris
3a37576d4b Move jemalloc due to whole_static_library bug.
Rename jemalloc.cpp to jemalloc_wrapper.cpp to avoid problems with
the libc library having two jemalloc.o files that clobber each other.

Change-Id: I9a2d966dbf414b1367ee0ef1f0d73fca6f25b518
2014-06-16 17:13:09 -07:00
Dan Albert
a217a0cdb3 Merge "libc: Fix 'index' symbol export." 2014-06-16 15:34:52 +00:00
David 'Digit' Turner
891dedb935 libc: Fix 'index' symbol export.
The C library didn't export the 'index' symbol, but its C++ name-mangling
instead, which broke the ABI and prevented some applications from loading
properly.

The main reason was that the implementation under bionic/index.cpp relied
on the declaration to specify that the function has C linkage.

However, the declaration for index() was removed from both <string.h>
and <strings.h> in a recent patch, which made the compiler think it was
ok to compile the function with C++ linkage instead!

This patch does the following:

- Move index() definition to bionic/ndk_cruft.cpp and ensure it uses
  C linkage.

  Note that this removes index() from the 64-bit library entirely, this
  is intentional and will break source compatibility. Simply replacing
  an index() call with the equivalent strchr() should be enough to fix
  this in third-party code.

- Remove bionic/index.cpp from the tree and build files.

- Remove x86 assembly implementation from arch-x86/ to avoid conflict
  with the one in ndk_cruft.cpp

BUG=15606653

Change-Id: I816b589f69c8f8a6511f6be6195d20cf1c4e8123
2014-06-16 13:10:20 -07:00
Dan Albert
ca24f7dcfa am 38ebfc09: am 72dc1c22: Merge "Revert "Backing this one out since the counterpart needs to be sent upstream.""
* commit '38ebfc09ea610687d028db5f0a7b8f6789932288':
  Revert "Backing this one out since the counterpart needs to be sent upstream."
2014-06-14 01:22:09 +00:00
Dan Albert
758f56d368 am 54c61d57: am b84783ec: Merge "Backing this one out since the counterpart needs to be sent upstream."
* commit '54c61d5715715ac7f1c6a4f7a53f981e09dc7134':
  Backing this one out since the counterpart needs to be sent upstream.
2014-06-14 01:17:44 +00:00
Dan Albert
38ebfc09ea am 72dc1c22: Merge "Revert "Backing this one out since the counterpart needs to be sent upstream.""
* commit '72dc1c22dc6a92dea925398c9e3880364ab29c1c':
  Revert "Backing this one out since the counterpart needs to be sent upstream."
2014-06-14 01:16:56 +00:00
Dan Albert
dd45ea3c08 am 263fe685: am 65b1c90a: Merge "Hides valloc(3)/pvalloc(3) on LP64."
* commit '263fe68548f430d532517056963cb5de6863b9cc':
  Hides valloc(3)/pvalloc(3) on LP64.
2014-06-14 00:58:02 +00:00
Dan Albert
4ef9bbb01d am 080c820d: am b725e762: Merge "Removes wait3(2) from LP64."
* commit '080c820d3f4506f5ef2c2ccc90c0197342b33472':
  Removes wait3(2) from LP64.
2014-06-14 00:58:02 +00:00
Dan Albert
54c61d5715 am b84783ec: Merge "Backing this one out since the counterpart needs to be sent upstream."
* commit 'b84783ecaa71f9450152f8d9b5f97e1b07f05ef6':
  Backing this one out since the counterpart needs to be sent upstream.
2014-06-14 00:57:50 +00:00
Dan Albert
263fe68548 am 65b1c90a: Merge "Hides valloc(3)/pvalloc(3) on LP64."
* commit '65b1c90a32036cbb06ff610fbae545b65ae8b72d':
  Hides valloc(3)/pvalloc(3) on LP64.
2014-06-14 00:28:38 +00:00
Dan Albert
080c820d3f am b725e762: Merge "Removes wait3(2) from LP64."
* commit 'b725e7627f0e35d0c7acb1c09fe3cb89b0a4d481':
  Removes wait3(2) from LP64.
2014-06-14 00:28:37 +00:00
Dan Albert
0af830d29c am 0021dcef: am f87ac523: Merge "Remove ioprio_get(2) and ioprio_set(2) from LP64."
* commit '0021dcef7214823824555d9d694a59e2f4aba45d':
  Remove ioprio_get(2) and ioprio_set(2) from LP64.
2014-06-13 22:26:51 +00:00
Elliott Hughes
1f29fd72c8 am 7e6f6965: am 1e7ae47d: Merge "Bring our "libresolv" stuff in line with glibc."
* commit '7e6f6965982183ebae357e61e7bad55b91e97cc9':
  Bring our "libresolv" stuff in line with glibc.
2014-06-13 21:50:45 +00:00
Elliott Hughes
edf7d7a723 am f005d976: am 15330331: Merge "Upgrade to tzdata2014e."
* commit 'f005d9769096d92a31d3b4377d29fcc251a07c87':
  Upgrade to tzdata2014e.
2014-06-13 21:50:16 +00:00
Dan Albert
0021dcef72 am f87ac523: Merge "Remove ioprio_get(2) and ioprio_set(2) from LP64."
* commit 'f87ac523a1aa02490d67330e74180c8ac2d78420':
  Remove ioprio_get(2) and ioprio_set(2) from LP64.
2014-06-13 20:59:55 +00:00
Elliott Hughes
7e6f696598 am 1e7ae47d: Merge "Bring our "libresolv" stuff in line with glibc."
* commit '1e7ae47d40aad100fa16731418ac8af7b9919da7':
  Bring our "libresolv" stuff in line with glibc.
2014-06-13 19:03:57 +00:00
Elliott Hughes
f005d97690 am 15330331: Merge "Upgrade to tzdata2014e."
* commit '15330331b60a4d5e352eda284b4cf3a4c1963ba2':
  Upgrade to tzdata2014e.
2014-06-13 18:06:02 +00:00
Elliott Hughes
773b85eff8 am a335c869: am 0f690d9e: Merge "Fix x86-64 libvpx build."
* commit 'a335c869748b133c661cc1efff3028984ee9f7aa':
  Fix x86-64 libvpx build.
2014-06-13 10:24:38 +00:00
Qiming Shi
0069f31066 Add <linux/tty.h> to libc/include/sys/ioctl.h
This is the change to export the tty ldisc definitions (like N_TTY)
from Linux uapi kernel header. So bionic is compatbile with glibc
which has its own tty ldisc definition exported through ioctl.h

Change-Id: I44e4c7cc2eba31549e9c9c75f74961a949d4a696
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
Signed-off-by: Yin, Fengwei <fengwei.yin@intel.com>
2014-06-13 16:39:39 +08:00
Elliott Hughes
a335c86974 am 0f690d9e: Merge "Fix x86-64 libvpx build."
* commit '0f690d9eda1893e66223138d2b930eb3e0164820':
  Fix x86-64 libvpx build.
2014-06-13 03:17:05 +00:00
Elliott Hughes
619d0fe581 am e9e92749: am ae3c6af3: Merge "[MIPS64] linker64 requires startup code"
* commit 'e9e9274941b41e9cc7ef1bc332faa1e29b9da11a':
  [MIPS64] linker64 requires startup code
2014-06-13 02:43:02 +00:00
Elliott Hughes
e9e9274941 am ae3c6af3: Merge "[MIPS64] linker64 requires startup code"
* commit 'ae3c6af3e536cd8bdf6f2cf1495b5d7463feb1a5':
  [MIPS64] linker64 requires startup code
2014-06-13 02:40:10 +00:00
Elliott Hughes
62e50ea8de am 294cae0f: am 1aaed87f: Merge "Somewhere, the declaration of _resolv_delete_cache_for_net went missing."
* commit '294cae0f18ceae96e1a5f8b42ae9fd8064b98746':
  Somewhere, the declaration of _resolv_delete_cache_for_net went missing.
2014-06-13 01:51:30 +00:00
Elliott Hughes
294cae0f18 am 1aaed87f: Merge "Somewhere, the declaration of _resolv_delete_cache_for_net went missing."
* commit '1aaed87f7f75aafe3cd99857c33e1cf4fa73c95d':
  Somewhere, the declaration of _resolv_delete_cache_for_net went missing.
2014-06-13 01:48:11 +00:00
Christopher Ferris
ec93f16302 am 9552809d: am 2ba734d8: Merge "Fix %u format that should have been %zu."
* commit '9552809d30a6f1ac54af8c8e9bcb616bd4da6c93':
  Fix %u format that should have been %zu.
2014-06-13 01:31:43 +00:00
Christopher Ferris
9552809d30 am 2ba734d8: Merge "Fix %u format that should have been %zu."
* commit '2ba734d8cd370d9cdb544f4d3afecc9a13e35116':
  Fix %u format that should have been %zu.
2014-06-13 01:29:55 +00:00
Elliott Hughes
48691a0bb4 am eb917428: am ff17671b: Merge "Add a hack to <stdlib.h> until we can fix libvpx."
* commit 'eb91742861607539fa88ae6d962597dde00ff860':
  Add a hack to <stdlib.h> until we can fix libvpx.
2014-06-13 01:12:14 +00:00
Elliott Hughes
eb91742861 am ff17671b: Merge "Add a hack to <stdlib.h> until we can fix libvpx."
* commit 'ff17671bc630d294903aa2827b76156590b09629':
  Add a hack to <stdlib.h> until we can fix libvpx.
2014-06-13 01:09:49 +00:00
Elliott Hughes
bbc485c892 am cc24144e: am 5d25d548: Merge "Remove __memcmp16 from bionic."
* commit 'cc24144e5b431d5eb7d688a7f8f32c743c6469e0':
  Remove __memcmp16 from bionic.
2014-06-13 00:54:44 +00:00
Elliott Hughes
cc24144e5b am 5d25d548: Merge "Remove __memcmp16 from bionic."
* commit '5d25d5480ab1e02d8f1e39f5936a3180e84a842c':
  Remove __memcmp16 from bionic.
2014-06-13 00:52:12 +00:00
Elliott Hughes
b38018f786 am c189362d: am 564222e3: Merge "Use default hidden visibility to build libc_dns."
* commit 'c189362d879520243cc9e1ba65b9828165efa159':
  Use default hidden visibility to build libc_dns.
2014-06-13 00:48:44 +00:00
Christopher Ferris
658150d431 am d92ba899: am 29ddd78c: Merge "Put all allocation functions into dispatch table."
* commit 'd92ba899450953e5ec9259f826c1790fc09004f7':
  Put all allocation functions into dispatch table.
2014-06-13 00:48:43 +00:00
Elliott Hughes
c189362d87 am 564222e3: Merge "Use default hidden visibility to build libc_dns."
* commit '564222e3384eb1c649bc75650deb847c40ec7da3':
  Use default hidden visibility to build libc_dns.
2014-06-13 00:44:36 +00:00
Christopher Ferris
d92ba89945 am 29ddd78c: Merge "Put all allocation functions into dispatch table."
* commit '29ddd78c21b15117bc7d4fc196f3a503f3aab3e2':
  Put all allocation functions into dispatch table.
2014-06-13 00:44:35 +00:00
Elliott Hughes
78ad3cd2eb am d13ff0f0: am 346fa721: Merge "Get the full set of PRNG functions in <stdlib.h>"
* commit 'd13ff0f0b3c228753b11ac55015618978b49ada3':
  Get the full set of PRNG functions in <stdlib.h>
2014-06-12 22:05:50 +00:00
Elliott Hughes
d13ff0f0b3 am 346fa721: Merge "Get the full set of PRNG functions in <stdlib.h>"
* commit '346fa721ca20e481a624930425d823d452e11dfe':
  Get the full set of PRNG functions in <stdlib.h>
2014-06-12 22:03:45 +00:00
Christopher Ferris
99ec7df7ac am 4a448223: am 3d5e0b20: Merge "Add/Remove mmap tests."
* commit '4a448223d7183c39bc59b6252d85c2a0c08d2c99':
  Add/Remove mmap tests.
2014-06-12 21:16:52 +00:00
Christopher Ferris
4a448223d7 am 3d5e0b20: Merge "Add/Remove mmap tests."
* commit '3d5e0b2045f899e27a071dc228dafc9378e90798':
  Add/Remove mmap tests.
2014-06-12 21:10:21 +00:00
Elliott Hughes
15330331b6 Merge "Upgrade to tzdata2014e." 2014-06-12 21:07:49 +00:00
Elliott Hughes
addd6a2f1d Upgrade to tzdata2014e.
From the release notes:

  Changes affecting near-future time stamps

    Egypt's 2014 Ramadan-based transitions are June 26 and July 31 at 24:00.
    (Thanks to Imed Chihi.)  Guess that from 2015 on Egypt will temporarily
    switch to standard time at 24:00 the last Thursday before Ramadan, and
    back to DST at 00:00 the first Friday after Ramadan.

    Similarly, Morocco's are June 28 at 03:00 and August 2 at 02:00. (Thanks
    to Milamber Space Network.)  Guess that from 2015 on Morocco will
    temporarily switch to standard time at 03:00 the last Saturday before
    Ramadan, and back to DST at 02:00 the first Saturday after Ramadan.

  Changes affecting past time stamps

    The abbreviation "MSM" (Moscow Midsummer Time) is now used instead of
    "MSD" for Moscow's double daylight time in summer 1921.  Also, a typo
    "VLASST" has been repaired to be "VLAST" for Vladivostok summer time
    in 1991.  (Thanks to Hank W. for reporting the problems.)

Change-Id: Iaca5e8c2d572559b464b10d24f4315405e413ada
2014-06-13 10:55:19 -07:00
Elliott Hughes
0f690d9eda Merge "Fix x86-64 libvpx build." 2014-06-12 21:07:49 +00:00
Elliott Hughes
e61919ad11 Fix x86-64 libvpx build.
This is now fixed upstream, but we need to wait for it to come back down
via chromium...

Bug: 15598056
Change-Id: I08f1be4296c391cfc1616a5ff0815be14071594a
2014-06-12 20:07:47 -07:00
Christopher Ferris
2ba734d8cd Merge "Fix %u format that should have been %zu." 2014-06-12 21:07:49 +00:00
Christopher Ferris
580b6e09fe Fix %u format that should have been %zu.
Change-Id: Icedacf6783d6b0cf4783c838b3c4622d2e67f073
2014-06-12 18:20:44 -07:00
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
Christopher Ferris
29ddd78c21 Merge "Put all allocation functions into dispatch table." 2014-06-12 21:07:49 +00:00
Dan Albert
8e20420064 am fde37008: am 37b845f9: Merge "Remove declaration for putw(3)/getw(3)."
* commit 'fde37008e514d408ba8075144a1903c1509707e8':
  Remove declaration for putw(3)/getw(3).
2014-06-12 20:33:33 +00:00
Dan Albert
fde37008e5 am 37b845f9: Merge "Remove declaration for putw(3)/getw(3)."
* commit '37b845f9e410e326f24fa8c820774d92eafa4dd3':
  Remove declaration for putw(3)/getw(3).
2014-06-12 20:29:55 +00:00
Elliott Hughes
af7fb0add2 am 9e57d478: am b67a3c27: Merge "Fix GCC 4.9 complaint about int/size_t mismatch."
* commit '9e57d478ec1d484f811e320300bb2a69dd615f4b':
  Fix GCC 4.9 complaint about int/size_t mismatch.
2014-06-12 20:04:30 +00:00
Elliott Hughes
9e57d478ec am b67a3c27: Merge "Fix GCC 4.9 complaint about int/size_t mismatch."
* commit 'b67a3c271616d7b2506ead15e97c6a840b5eb5a8':
  Fix GCC 4.9 complaint about int/size_t mismatch.
2014-06-12 20:00:08 +00:00
Elliott Hughes
fcaa13e354 am e1c47a2e: am d242aff4: Merge "Fix most of the tzcode warnings."
* commit 'e1c47a2e87985d339ef5a85dbf637c42736b0ba7':
  Fix most of the tzcode warnings.
2014-06-12 19:23:42 +00:00
Elliott Hughes
849750a0c0 am b7d9d296: am b28d3748: Merge "Size the benchmark name column appropriately."
* commit 'b7d9d29653e06bbbbcbd6f7a3168c74a4766f2a4':
  Size the benchmark name column appropriately.
2014-06-12 19:23:41 +00:00
Elliott Hughes
e1c47a2e87 am d242aff4: Merge "Fix most of the tzcode warnings."
* commit 'd242aff47dc4eaa5081dc7af821308d353cd1090':
  Fix most of the tzcode warnings.
2014-06-12 18:55:23 +00:00
Elliott Hughes
b7d9d29653 am b28d3748: Merge "Size the benchmark name column appropriately."
* commit 'b28d37482ed9f179842a991d142bea52d9026d5b':
  Size the benchmark name column appropriately.
2014-06-12 18:55:23 +00:00
Shu Zhang
0ef7a8fd31 add 64-bit bionic implementation for denver arch
Add 64-bit bionic implementation for denver. memcpy/memset are
denver-specific optimized. Use generic version of other routines.

Change-Id: I44a830e07b82b2986001d73d1540b4080aaa839b
2014-06-12 15:08:27 +08:00
Dan Albert
72dc1c22dc Merge "Revert "Backing this one out since the counterpart needs to be sent upstream."" 2014-06-12 05:34:11 +00:00
Dan Albert
e5fdaa4f9d Revert "Backing this one out since the counterpart needs to be sent upstream."
This reverts commit a04d2bc28e7d7fcaf34ad71e4a6608a13cf84197.

Change-Id: I1b49165ca5d4bafdba7948818256a6167a363aca
2014-06-14 01:04:31 +00:00
Dan Albert
a04d2bc28e Backing this one out since the counterpart needs to be sent upstream.
This reverts commit 5ee320dd35fafc11eaf90c62198e08c6670e35b4.

Change-Id: I1a9c6b06c3aca595f01c629f7649be743dc48e77
2014-06-14 00:51:14 +00:00
Dan Albert
5ee320dd35 Hides valloc(3)/pvalloc(3) on LP64.
These were removed from POSIX 2004. Hides the header declarations for all
targets, and hides the symbols for LP64.

Bug: 13935372
Change-Id: Id592f67e9b7051517a05f536e1373b30162e669c
2014-06-13 15:35:05 -07:00
Dan Albert
b84783ecaa Merge "Backing this one out since the counterpart needs to be sent upstream." 2014-06-12 05:34:11 +00:00
Elliott Hughes
5d25d5480a Merge "Remove __memcmp16 from bionic." 2014-06-12 05:34:11 +00:00
Elliott Hughes
24614b4729 Remove __memcmp16 from bionic.
Change-Id: I2486d667d96c8900dd368d855f37c1327161efb7
2014-06-12 15:35:22 -07:00
Elliott Hughes
564222e338 Merge "Use default hidden visibility to build libc_dns." 2014-06-12 05:34:11 +00:00
Elliott Hughes
8563802b04 Use default hidden visibility to build libc_dns.
Bug: 11156955
Change-Id: Ia443705f5fbee0681039d4480abc89850968f475
2014-06-12 13:35:41 -07:00
Dan Albert
37b845f9e4 Merge "Remove declaration for putw(3)/getw(3)." 2014-06-12 05:34:11 +00:00
Elliott Hughes
b67a3c2716 Merge "Fix GCC 4.9 complaint about int/size_t mismatch." 2014-06-12 05:34:11 +00:00
Elliott Hughes
5ab51d0d1a Fix GCC 4.9 complaint about int/size_t mismatch.
Change-Id: Ib13857f98658dc8760cff15adb5829e8e140008a
2014-06-12 12:52:58 -07:00
Dan Albert
65b1c90a32 Merge "Hides valloc(3)/pvalloc(3) on LP64." 2014-06-12 03:32:07 +00:00
Dan Albert
b725e7627f Merge "Removes wait3(2) from LP64." 2014-06-12 03:32:07 +00:00
Dan Albert
8229ae46f4 Removes wait3(2) from LP64.
wait3(2) was removed from POSIX 2004. Keep the symbol around in LP32 for binary
compatibility, but remove the declaration in sys/wait.h.

Bug: 13935372
Change-Id: Ic715fce6781aae43b4ac6d745dc6d1e6b9914e71
2014-06-13 16:04:41 -07:00
Dan Albert
f87ac523a1 Merge "Remove ioprio_get(2) and ioprio_set(2) from LP64." 2014-06-12 03:32:07 +00:00
Dan Albert
607341e226 Remove ioprio_get(2) and ioprio_set(2) from LP64.
Bug: 11156955
Change-Id: I07b596d85e4bd6347d488d1a92c8d0a00b5ef3b3
2014-06-12 18:10:13 -07:00
Elliott Hughes
1e7ae47d40 Merge "Bring our "libresolv" stuff in line with glibc." 2014-06-12 03:32:07 +00:00
Elliott Hughes
e8e453439f Bring our "libresolv" stuff in line with glibc.
Despite the name, most of resolv_private.h is actually in glibc; it's just
that there it's tucked away in libresolv whereas we have it in libc.

Change-Id: Ibcf6603f1141ffd2661cee0bffa83052d4f9e549
2014-06-13 11:50:07 -07:00
Elliott Hughes
ae3c6af3e5 Merge "[MIPS64] linker64 requires startup code" 2014-06-12 03:32:07 +00:00
Chris Dearman
9d98ee17fe [MIPS64] linker64 requires startup code
Change-Id: Iff2cd7d4dc40a67978bd9fc585b86e5a87afdbdd
2014-06-12 19:18:12 -07:00
Elliott Hughes
1aaed87f7f Merge "Somewhere, the declaration of _resolv_delete_cache_for_net went missing." 2014-06-12 03:32:07 +00:00
Elliott Hughes
7f2d4c21cc Somewhere, the declaration of _resolv_delete_cache_for_net went missing.
I couldn't work out where this went missing from "git log", but it became
important with the switch to hidden visibility.

Change-Id: I921f81e36642a2c65c3ec85dc9b5b87c5d977a5b
2014-06-12 18:40:06 -07:00
Elliott Hughes
ff17671bc6 Merge "Add a hack to <stdlib.h> until we can fix libvpx." 2014-06-12 03:32:07 +00:00
Elliott Hughes
3fb5097a7e Add a hack to <stdlib.h> until we can fix libvpx.
libvpx should probably change its assembler to refer to lrand48 directly,
because that will work on old and new versions of Android. This keeps things
building until that happens.

Bug: 15598056
Change-Id: I4a1f59e710a083b9f9a707ceeb9ca0a28141a954
2014-06-12 17:50:52 -07:00
Elliott Hughes
346fa721ca Merge "Get the full set of PRNG functions in <stdlib.h>" 2014-06-12 03:32:07 +00:00
Elliott Hughes
a0beeeabbc Get the full set of PRNG functions in <stdlib.h>
Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: I435250bdae302e8bd7e29977d0fde7b9afbfca5e
2014-06-12 14:37:31 -07:00
Christopher Ferris
3d5e0b2045 Merge "Add/Remove mmap tests." 2014-06-12 03:32:07 +00:00
Christopher Ferris
eda26bc1ff Add/Remove mmap tests.
Remove the incorrect tests that use a negative offset for mmap without
a fd.

Add a small set of tests for mmap.

Bug: 15436969

Change-Id: Id537d33cd4cdc26dee6cdfa9bf9cf35754bce335
2014-06-12 13:16:36 -07:00
Elliott Hughes
ea13c54b17 am e02086a6: am 2c02d005: Merge "Add __pure2 to a few more functions, most notably gettid and pthread_self."
* commit 'e02086a6dc789b427c817b39a6adb9c50db8f70d':
  Add __pure2 to a few more functions, most notably gettid and pthread_self.
2014-06-11 23:44:01 +00:00
Elliott Hughes
e02086a6dc am 2c02d005: Merge "Add __pure2 to a few more functions, most notably gettid and pthread_self."
* commit '2c02d0057c93bfa6db4b30d8646baeb55d076062':
  Add __pure2 to a few more functions, most notably gettid and pthread_self.
2014-06-11 23:39:47 +00:00
Elliott Hughes
972f13c85b am c6b6c27c: am ab66d360: Merge "Fix mbrtoc32 test from tests/uchar_test.cpp for x86."
* commit 'c6b6c27caec6138b2d9c524a0287b5ae1e4553e3':
  Fix mbrtoc32 test from tests/uchar_test.cpp for x86.
2014-06-11 23:08:30 +00:00
Elliott Hughes
c6b6c27cae am ab66d360: Merge "Fix mbrtoc32 test from tests/uchar_test.cpp for x86."
* commit 'ab66d360bc6f543b6c26400067e50db3134798e1':
  Fix mbrtoc32 test from tests/uchar_test.cpp for x86.
2014-06-11 23:06:02 +00:00
Dan Albert
cb7048138a am 6f7f1caa: am 48082a0a: Merge "Remove declarations related to cuserid(3)."
* commit '6f7f1caa1dc14c3f8b522653d20aa5075b7203f2':
  Remove declarations related to cuserid(3).
2014-06-11 21:49:00 +00:00
Dan Albert
8e613cf342 Remove declaration for putw(3)/getw(3).
These were both removed from POSIX 2004, and we don't define an
implementation for getw(3). Keep the definition of put(3) on LP32 for
binary compatibility.

Bug: 13935372
Change-Id: Iba384b45093ac6d2d7c2d81f7980cd7701dd6f56
2014-06-11 14:41:45 -07:00
Dan Albert
4880b0a820 am abf16559: am 440bd6bc: Merge "Replaces vfork() implementation with fork()"
* commit 'abf16559d31c49d52fba6f42a3d7b4566de0493b':
  Replaces vfork() implementation with fork()
2014-06-11 21:38:19 +00:00
Elliott Hughes
c6003c11c8 am 7c38499e: am 0ada9388: Merge "Add a couple more system call benchmarks."
* commit '7c38499edabc93b3c685fa7accc6c63a94d8b81d':
  Add a couple more system call benchmarks.
2014-06-11 21:37:51 +00:00
Elliott Hughes
617573af9f am b94b1bc0: am 80664231: Merge "Revert "Temporarily expose dlmalloc_usable_size.""
* commit 'b94b1bc0342744d351db8f7720dfec8bd2279784':
  Revert "Temporarily expose dlmalloc_usable_size."
2014-06-11 21:37:50 +00:00
Christopher Ferris
33537e3190 am d9d37cfe: am 30d15e54: Merge "Allow bionic-unit-tests-glibc to be built again."
* commit 'd9d37cfe218c83c99aa77e6f057b737e5ddc2061':
  Allow bionic-unit-tests-glibc to be built again.
2014-06-11 21:37:48 +00:00
Dan Albert
6f7f1caa1d am 48082a0a: Merge "Remove declarations related to cuserid(3)."
* commit '48082a0a6e2f74cdc2ad1820131eca7d00299b6d':
  Remove declarations related to cuserid(3).
2014-06-11 21:33:15 +00:00
Elliott Hughes
d242aff47d Merge "Fix most of the tzcode warnings." 2014-06-11 21:23:58 +00:00
Elliott Hughes
5204a9e8ca Fix most of the tzcode warnings.
There's one left, but that's not fixed upstream yet.

Change-Id: Iba920cb7b156357c7f5e8220eb55ff1637ff48a1
2014-06-11 17:15:56 -07:00
Elliott Hughes
3c111b0d2a am 95f6cfc9: am bdb8b21d: Merge "AArch64: Fix memcmp16() test"
* commit '95f6cfc9719700d7f419b31ffc1f75209da53c28':
  AArch64: Fix memcmp16() test
2014-06-11 19:33:33 +00:00
Elliott Hughes
4e863b2f21 am df8a09b1: am 2b8246fa: Merge "Hide rand48 implementation details."
* commit 'df8a09b132573b021850fe41ed23ec6684d9b329':
  Hide rand48 implementation details.
2014-06-11 18:37:20 +00:00
Elliott Hughes
f1771794af am 228b33e9: am bdcab25e: Merge "Hide non-standard syslog API."
* commit '228b33e90c34a1392e77b4a9100210233a390ad0':
  Hide non-standard syslog API.
2014-06-11 18:37:18 +00:00
Ying Wang
00af294b6e am c3064d27: am 199e8638: Merge "Use PRIVATE_POST_INSTALL_CMD to create symlink."
* commit 'c3064d27725dec8bab5259605960e77e86d94f80':
  Use PRIVATE_POST_INSTALL_CMD to create symlink.
2014-06-11 18:19:00 +00:00
Elliott Hughes
f2a131cf4e am 97fbf8e7: am 87d4233c: Merge "Remove the MD5 implementation that was only used by toolbox."
* commit '97fbf8e746ca6e90f890a43d759a16901882c93a':
  Remove the MD5 implementation that was only used by toolbox.
2014-06-11 18:18:51 +00:00
Elliott Hughes
aec4f5b03e am 9f82c7bd: am e7baf46b: Merge "Add a regression test for two libm bugs we didn\'t have."
* commit '9f82c7bd5269631e3bad35414821255a83227ddc':
  Add a regression test for two libm bugs we didn't have.
2014-06-11 18:05:31 +00:00
Elliott Hughes
abd34f5cab am 936ea9a1: am 4779a11a: Merge "Move mips fenv implementation details into fenv.c."
* commit '936ea9a1ce725eb9c0f52e5690e7e8e5e42fa883':
  Move mips fenv implementation details into fenv.c.
2014-06-11 17:58:39 +00:00
Elliott Hughes
1aecbb85ce am 04e115c7: am 385f7009: Merge "Move x86 fenv implementation details into fenv.c."
* commit '04e115c7f9a90002c2e80a490848890ec284699b':
  Move x86 fenv implementation details into fenv.c.
2014-06-11 17:58:38 +00:00
Dan Albert
abf16559d3 am 440bd6bc: Merge "Replaces vfork() implementation with fork()"
* commit '440bd6bcc308f78b32fcbc4a3ba312dd1343559b':
  Replaces vfork() implementation with fork()
2014-06-11 17:06:02 +00:00
Elliott Hughes
7c38499eda am 0ada9388: Merge "Add a couple more system call benchmarks."
* commit '0ada9388e74693d990bdbb4af92c33bae8b34d4b':
  Add a couple more system call benchmarks.
2014-06-11 03:24:33 +00:00
Elliott Hughes
b94b1bc034 am 80664231: Merge "Revert "Temporarily expose dlmalloc_usable_size.""
* commit '80664231b8a17fc6a1bf2f4881c9353a47b74ab6':
  Revert "Temporarily expose dlmalloc_usable_size."
2014-06-11 03:24:32 +00:00
Christopher Ferris
d9d37cfe21 am 30d15e54: Merge "Allow bionic-unit-tests-glibc to be built again."
* commit '30d15e5499ab097e1074b4e78e4397f5429975ac':
  Allow bionic-unit-tests-glibc to be built again.
2014-06-11 03:14:40 +00:00
Elliott Hughes
3d1a7f1fad am cb0114a1: am 8c054c51: Merge "Clean up the ARM fenv.h, moving implementation details into fenv.c."
* commit 'cb0114a1f6230d7ddd1226dc14979a2272c20c07':
  Clean up the ARM fenv.h, moving implementation details into fenv.c.
2014-06-11 03:04:53 +00:00
Elliott Hughes
ab66d360bc Merge "Fix mbrtoc32 test from tests/uchar_test.cpp for x86." 2014-06-10 22:20:24 +00:00
Alexander Ivchenko
68b01665b3 Fix mbrtoc32 test from tests/uchar_test.cpp for x86.
Without that fix the test fails with:
"error: comparison between signed and unsigned integer expressions" on x86,
due to the fact that char is signed on x86.

Change-Id: I44462d67c15c7e9b730ad5da52eb9c05e207d34b
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
2014-06-11 15:57:57 -07:00
Dan Albert
48082a0a6e Merge "Remove declarations related to cuserid(3)." 2014-06-10 22:20:24 +00:00
Dan Albert
cd32219c5b Remove declarations related to cuserid(3).
cuserid(3) was removed from POSIX 2004, and we don't have an
implementation anyway.

Bug: 13935372
Change-Id: I7ac7cde931ba802d0d5b917c22f5116618b21d2f
2014-06-11 13:20:18 -07: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
2c02d0057c Merge "Add __pure2 to a few more functions, most notably gettid and pthread_self." 2014-06-10 22:15:14 +00:00
Elliott Hughes
b27a840f4b Add __pure2 to a few more functions, most notably gettid and pthread_self.
Change-Id: I7eee9f26f45130038af09d8285782b07f70a996f
2014-06-11 16:32:10 -07:00
Elliott Hughes
0ada9388e7 Merge "Add a couple more system call benchmarks." 2014-06-10 22:08:45 +00:00
Dan Albert
440bd6bcc3 Merge "Replaces vfork() implementation with fork()" 2014-06-10 22:08:45 +00:00
Dan Albert
210331d976 Replaces vfork() implementation with fork()
vfork() was removed from POSIX 2008, so this replaces its implementation
with a call to fork().

Bug: 13935372
Change-Id: I6d99ac9e52a2efc5ee9bda1cab908774b830cedc
2014-06-10 21:38:52 -07:00
Elliott Hughes
b28d37482e Merge "Size the benchmark name column appropriately." 2014-06-10 21:49:56 +00:00
Elliott Hughes
c0eed72cbf Size the benchmark name column appropriately.
Nobody likes misaligned output.

Change-Id: Ifbfd7beec755e91e204426a96c054d4ea20d3fae
2014-06-11 16:48:29 -07:00
Elliott Hughes
95f6cfc971 am bdb8b21d: Merge "AArch64: Fix memcmp16() test"
* commit 'bdb8b21d0547dd74c62af3ddc9b8e7670adcbe9f':
  AArch64: Fix memcmp16() test
2014-06-10 18:31:16 +00: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
df8a09b132 am 2b8246fa: Merge "Hide rand48 implementation details."
* commit '2b8246fa755cf3e2828d702b6c27c2d238395fad':
  Hide rand48 implementation details.
2014-06-10 01:33:07 +00:00
Elliott Hughes
2b8246fa75 Merge "Hide rand48 implementation details." 2014-06-10 01:28:08 +00:00
Elliott Hughes
228b33e90c am bdcab25e: Merge "Hide non-standard syslog API."
* commit 'bdcab25ee6aebe2f5653fdc8f73e6bd94dadb763':
  Hide non-standard syslog API.
2014-06-10 01:14:54 +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
c3064d2772 am 199e8638: Merge "Use PRIVATE_POST_INSTALL_CMD to create symlink."
* commit '199e8638df12eb6373771ebb59a1f5a83c6de1cc':
  Use PRIVATE_POST_INSTALL_CMD to create symlink.
2014-06-10 00:00:45 +00:00
Ying Wang
199e8638df Merge "Use PRIVATE_POST_INSTALL_CMD to create symlink." 2014-06-09 23:55:19 +00:00
Elliott Hughes
97fbf8e746 am 87d4233c: Merge "Remove the MD5 implementation that was only used by toolbox."
* commit '87d4233c7224201b1199179b11c5c5f854ab36a3':
  Remove the MD5 implementation that was only used by toolbox.
2014-06-09 23:33:51 +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
9f82c7bd52 am e7baf46b: Merge "Add a regression test for two libm bugs we didn\'t have."
* commit 'e7baf46b860fca249c98ba905150544cb49e6b1f':
  Add a regression test for two libm bugs we didn't have.
2014-06-09 23:26:04 +00: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
936ea9a1ce am 4779a11a: Merge "Move mips fenv implementation details into fenv.c."
* commit '4779a11a3dfa7314b3cb3998b1f9172c40dfc5f6':
  Move mips fenv implementation details into fenv.c.
2014-06-09 22:31:51 +00:00
Elliott Hughes
04e115c7f9 am 385f7009: Merge "Move x86 fenv implementation details into fenv.c."
* commit '385f70094ef45b974b804b7d29d9e92329538b46':
  Move x86 fenv implementation details into fenv.c.
2014-06-09 22:28:24 +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
cb0114a1f6 am 8c054c51: Merge "Clean up the ARM fenv.h, moving implementation details into fenv.c."
* commit '8c054c51c3324d36dc9ed1cf50229bae8a3f875c':
  Clean up the ARM fenv.h, moving implementation details into fenv.c.
2014-06-09 21:42:53 +00: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
b1dc57caa7 am b98dd8cb: am 87472963: Merge "AArch64: libm: Fix ARM64 fenv_t and refactor ARM64 libm implementation."
* commit 'b98dd8cb75df69d7211920ee6402bf82e2b8cf93':
  AArch64: libm: Fix ARM64 fenv_t and refactor ARM64 libm implementation.
2014-06-09 21:05:05 +00:00
Elliott Hughes
b98dd8cb75 am 87472963: Merge "AArch64: libm: Fix ARM64 fenv_t and refactor ARM64 libm implementation."
* commit '87472963c7c50240002fd83efec69c267c0d6ec7':
  AArch64: libm: Fix ARM64 fenv_t and refactor ARM64 libm implementation.
2014-06-09 21:00:35 +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
4e33504927 am 1dcb8471: am 36ed5971: Merge "AArch64: Remove Frame Record from ARM64 syscalls"
* commit '1dcb84712c2dad520eb49e283bff06ae47a6c1b1':
  AArch64: Remove Frame Record from ARM64 syscalls
2014-06-09 19:39:21 +00:00
Elliott Hughes
1dcb84712c am 36ed5971: Merge "AArch64: Remove Frame Record from ARM64 syscalls"
* commit '36ed5971c45425bf258c72e7baaa68ebdd70c7bb':
  AArch64: Remove Frame Record from ARM64 syscalls
2014-06-09 19:35:33 +00: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
b07189ab1e am 3b9da0f9: Fix the printf family for non-ASCII.
* commit '3b9da0f99a6629d5283844922327711c985c78eb':
  Fix the printf family for non-ASCII.
2014-06-07 10:01:19 +00:00
Elliott Hughes
47907ba49b am 3b1e9bf3: am e18c2714: Merge "Add the missing issetugid binary compatibility stub."
* commit '3b1e9bf3e9bec519a75031dda231cdbfbac53005':
  Add the missing issetugid binary compatibility stub.
2014-06-07 09:57:41 +00:00
Elliott Hughes
3b1e9bf3e9 am e18c2714: Merge "Add the missing issetugid binary compatibility stub."
* commit 'e18c271423d1777adfe18434558944082fc32c70':
  Add the missing issetugid binary compatibility stub.
2014-06-07 09:18:43 +00: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
44ac8af8ed am 20811f9e: am 19718f0c: Merge "Rewrite and hide longjmperror."
* commit '20811f9e87b86ba7171b9c9480a9212d787c732e':
  Rewrite and hide longjmperror.
2014-06-07 03:56:27 +00:00
Elliott Hughes
20811f9e87 am 19718f0c: Merge "Rewrite and hide longjmperror."
* commit '19718f0cd605f55df26823c67b62ceab6fe99a00':
  Rewrite and hide longjmperror.
2014-06-07 03:53:03 +00: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
28f321aa0f am 1b8163f5: am 1cada9b3: Merge "Remove unused scripts."
* commit '1b8163f5e686bc2405731d529c684c06bae65f17':
  Remove unused scripts.
2014-06-07 02:11:49 +00:00
Christopher Ferris
1b8163f5e6 am 1cada9b3: Merge "Remove unused scripts."
* commit '1cada9b3ea2724ebb0dee89a7f9a8f00a0ece2ae':
  Remove unused scripts.
2014-06-07 02:09:15 +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
Elliott Hughes
3b9da0f99a 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

(cherry picked from commit 69f05d291d848de654c72e5278de8ca06fbf5d2f)

Change-Id: Ia5467e22ccb022e8d118de82291916050656147e
2014-06-06 16:25:13 -07:00
Elliott Hughes
53495dad3a am afd4df20: am 6fa47ca4: Merge "Fix ndk_cruft.cpp __getdents64 build failure."
* commit 'afd4df20c99e52be84d1cac2108c18619f32b5f2':
  Fix ndk_cruft.cpp __getdents64 build failure.
2014-06-06 22:45:50 +00:00
Elliott Hughes
12e98b459d am 655dba09: am 1c60f808: Merge "Rename __bionic_clone_entry to __start_thread."
* commit '655dba09c72ceb5852dae296cef49cbad6b1053f':
  Rename __bionic_clone_entry to __start_thread.
2014-06-06 22:45:50 +00:00
Elliott Hughes
449e4aa0a8 am e932f5b5: am 087b3cfa: Merge "Add a few more C11 functions to the whitelist."
* commit 'e932f5b5d89fcffe1c2e9e68eac4e9092f24719e':
  Add a few more C11 functions to the whitelist.
2014-06-06 22:45:49 +00:00
Elliott Hughes
3f508b3fc0 am 132a66be: am 3e0e7eea: Merge "Remove getdents from bionic."
* commit '132a66be4692840b13b3a6d6fb93d6e7965003c5':
  Remove getdents from bionic.
2014-06-06 22:45:48 +00:00
Elliott Hughes
afd4df20c9 am 6fa47ca4: Merge "Fix ndk_cruft.cpp __getdents64 build failure."
* commit '6fa47ca484aa37b0a2a5734a9def32973d110cc6':
  Fix ndk_cruft.cpp __getdents64 build failure.
2014-06-06 22:39:09 +00:00
Elliott Hughes
655dba09c7 am 1c60f808: Merge "Rename __bionic_clone_entry to __start_thread."
* commit '1c60f8080acaf0f1794689886e94e54d15d43a7b':
  Rename __bionic_clone_entry to __start_thread.
2014-06-06 22:39:09 +00:00
Elliott Hughes
e932f5b5d8 am 087b3cfa: Merge "Add a few more C11 functions to the whitelist."
* commit '087b3cfa5b56c2e4a29cca225fdb1956033868ac':
  Add a few more C11 functions to the whitelist.
2014-06-06 22:39:08 +00:00
Elliott Hughes
132a66be46 am 3e0e7eea: Merge "Remove getdents from bionic."
* commit '3e0e7eea490d2080d0290a1e2709e98d8fcf0ebf':
  Remove getdents from bionic.
2014-06-06 22:39:07 +00:00
Christopher Ferris
4ff5aa3568 am 5261fd2c: am b837767a: Merge "Update kernel header generation docs."
* commit '5261fd2cacc8a53643089cab9fbbeb8142f98dea':
  Update kernel header generation docs.
2014-06-06 22:35:55 +00:00
Christopher Ferris
5261fd2cac am b837767a: Merge "Update kernel header generation docs."
* commit 'b837767a63dfc65653448cf732090d7d0b270080':
  Update kernel header generation docs.
2014-06-06 22:32:23 +00: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
Elliott Hughes
f5df23521f am 5f409720: Merge "Use __libc_fatal() for failed malloc in new" into lmp-preview-dev
* commit '5f409720ec6bcf9ec6e9874dbb9ffd77d7061554':
  Use __libc_fatal() for failed malloc in new
2014-06-06 20:57:13 +00:00
Elliott Hughes
5dd51818e0 resolved conflicts for merge of bd7a892c to master
Change-Id: I2d1699032399444fc7bbca62226fce32b9b5f08e
2014-06-06 13:55:36 -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
5f409720ec Merge "Use __libc_fatal() for failed malloc in new" into lmp-preview-dev 2014-06-06 18:33:03 +00:00
Dan Albert
acc2f79ed7 Use __libc_fatal() for failed malloc in new
This way we can print a useful message to the log isntead of just dying
mysteriously.

(cherry picked from commit 989725940e765f0065b2bc06b881cde864b62595)

Bug: 13564922
Change-Id: I704e1263ec1e7556808348b821a20bacc934eb4a
2014-06-06 18:30:35 +00:00
Elliott Hughes
d45b2e5084 am fd0de89e: am c3bdc792: Merge "Fix the printf family for non-ASCII."
* commit 'fd0de89e4cd46de5f3439a7112c4dd25d62ec392':
  Fix the printf family for non-ASCII.
2014-06-06 18:26:25 +00:00
Elliott Hughes
fd0de89e4c am c3bdc792: Merge "Fix the printf family for non-ASCII."
* commit 'c3bdc792be78d788663ff9b5e019b4af852dc6f7':
  Fix the printf family for non-ASCII.
2014-06-06 18:23:12 +00:00
Elliott Hughes
c3bdc792be Merge "Fix the printf family for non-ASCII." 2014-06-06 18:06:44 +00:00
Elliott Hughes
bd7a892c30 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

(cherry picked from commit aeb3016f8132689d1b49d30056005b667e3d2d0e)

Change-Id: I511fe238b1ef1a1c16aef735f93bbee9accb0689
2014-06-06 10:00:32 -07: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
aa8979269b am 6db22710: am e2a54ca8: Merge "Remove unnecessary instructions from x86/x86_64 syscalls."
* commit '6db22710ce11766cc88f55f1e3c48d3167d5eb4c':
  Remove unnecessary instructions from x86/x86_64 syscalls.
2014-06-06 01:56:15 +00:00
Elliott Hughes
6db22710ce am e2a54ca8: Merge "Remove unnecessary instructions from x86/x86_64 syscalls."
* commit 'e2a54ca80e011db21665e9639af4608f58e32fbd':
  Remove unnecessary instructions from x86/x86_64 syscalls.
2014-06-06 01:18:27 +00: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
76166f85e2 am a271b977: am 50b79530: Merge "Fix unwinding through x86-64 __bionic_clone."
* commit 'a271b97773e16974cb59b6636546641a14b0fe68':
  Fix unwinding through x86-64 __bionic_clone.
2014-06-05 23:59:54 +00:00
Elliott Hughes
a271b97773 am 50b79530: Merge "Fix unwinding through x86-64 __bionic_clone."
* commit '50b79530c6fea6d47d54edf6f351dcbd7d87ab6a':
  Fix unwinding through x86-64 __bionic_clone.
2014-06-05 23:56:26 +00: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
Dan Albert
c99f9845fb am 802d4cab: am 9c101eb9: Merge "Removes index() from bionic."
* commit '802d4cabf37fc0008db3d7d265e18a0b6112ddb6':
  Removes index() from bionic.
2014-06-05 21:56:44 +00:00
Dan Albert
802d4cabf3 am 9c101eb9: Merge "Removes index() from bionic."
* commit '9c101eb9d12a87c9b68fce9052751df75e36d172':
  Removes index() from bionic.
2014-06-05 21:53:30 +00:00
Dan Albert
9c101eb9d1 Merge "Removes index() from bionic." 2014-06-05 21:34:49 +00:00
Christopher Ferris
72240e7b62 am 675a41f5: am 8ac8278b: Merge "Fix for slm-tuned memmove (both 32- and 64-bit)."
* commit '675a41f56eb65b91d8f3c39304869b6ae64fa983':
  Fix for slm-tuned memmove (both 32- and 64-bit).
2014-06-05 18:33:26 +00:00
Dan Albert
48089efd92 am a66c43ea: am 431aa4dc: Merge "Remove bsd_signal and sysv_signal from bionic LP64."
* commit 'a66c43eab073aae5e1e5754c476a5c39ece6930b':
  Remove bsd_signal and sysv_signal from bionic LP64.
2014-06-05 18:33:26 +00:00
Christopher Ferris
675a41f56e am 8ac8278b: Merge "Fix for slm-tuned memmove (both 32- and 64-bit)."
* commit '8ac8278b0a673e30698ba4d81f495165b66acbd5':
  Fix for slm-tuned memmove (both 32- and 64-bit).
2014-06-05 18:29:19 +00:00
Dan Albert
a66c43eab0 am 431aa4dc: Merge "Remove bsd_signal and sysv_signal from bionic LP64."
* commit '431aa4dc9282e23231ba9243f43fd3d49b5f88b3':
  Remove bsd_signal and sysv_signal from bionic LP64.
2014-06-05 18:29:18 +00:00
Christopher Ferris
8ac8278b0a Merge "Fix for slm-tuned memmove (both 32- and 64-bit)." 2014-06-05 18:10:59 +00:00
Varvara Rainchik
fce861498c Fix for slm-tuned memmove (both 32- and 64-bit).
Introduce a test for memmove that catches a fault.
Fix both 32- and 64-bit versions of slm-tuned memmove.

Change-Id: Ib416def2610a0972e32c3b9b6055b54967643dc3
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-06-05 11:08:09 -07:00
Dan Albert
40fca0f08b Removes index() from bionic.
This function has been removed from POSIX.

Unfortunately, we can't leave #define index(a, b) strchr((a), (b)) in its place
because defining a preprocessor macro for index() breaks a whole lot of code.

Bug: 13935372
Change-Id: Ifda348acde06da61c12e7ee2f8fe6950a3174dd1
2014-06-05 11:05:10 -07:00
Dan Albert
431aa4dc92 Merge "Remove bsd_signal and sysv_signal from bionic LP64." 2014-06-05 18:03:45 +00:00
Dan Albert
205dd7d9b3 Remove bsd_signal and sysv_signal from bionic LP64.
bsd_signal was removed in POSIX 2008, sysv_signal was never POSIX.

Bug: 13935372
Change-Id: I7688e5cc317247ff075dcf99b598f515fb4f15c4
2014-06-05 08:21:17 -07:00
Elliott Hughes
a6bd78a30a am 3cd4b783: am 8aabecf3: Merge "Hide __libc_fini."
* commit '3cd4b783fb7b0c0172934faef21792356fdf3385':
  Hide __libc_fini.
2014-06-05 09:47:59 +00:00
Elliott Hughes
3cd4b783fb am 8aabecf3: Merge "Hide __libc_fini."
* commit '8aabecf35c71a8255db259cba01005eea10485cf':
  Hide __libc_fini.
2014-06-05 03:51:24 +00:00
Elliott Hughes
8aabecf35c Merge "Hide __libc_fini." 2014-06-05 03:24:25 +00:00
Dan Albert
6d9b463b72 am 60d57baf: am 76812041: Merge "Revert "Remove ftime from bionic LP64""
* commit '60d57baf5718f5d18dff4059b2f59f9d9b63dc0a':
  Revert "Remove ftime from bionic LP64"
2014-06-05 01:08:52 +00:00
Dan Albert
60d57baf57 am 76812041: Merge "Revert "Remove ftime from bionic LP64""
* commit '768120416ba465b8dcac21737f7d4451df962406':
  Revert "Remove ftime from bionic LP64"
2014-06-05 01:06:30 +00:00
Dan Albert
768120416b Merge "Revert "Remove ftime from bionic LP64"" 2014-06-05 00:50:56 +00:00
Dan Albert
0921204660 Revert "Remove ftime from bionic LP64"
Breaking some build... will look in to it later.

This reverts commit 26d6799bbe170b0955f564974b584c1471efdca1.

Change-Id: I35fa770221be3a181bd37c6c3dce1bf37a69a4a1
2014-06-05 00:50:43 +00:00
Dan Albert
8e89ed2e87 am 3d7fd883: am 428581fb: Merge "Remove ftime from bionic LP64"
* commit '3d7fd8836474497e2745e98df30e0fea6f4d4723':
  Remove ftime from bionic LP64
2014-06-05 00:01:53 +00:00
Dan Albert
3d7fd88364 am 428581fb: Merge "Remove ftime from bionic LP64"
* commit '428581fb4532d4369aece3e42906e27e634af050':
  Remove ftime from bionic LP64
2014-06-04 23:58:35 +00:00
Dan Albert
428581fb45 Merge "Remove ftime from bionic LP64" 2014-06-04 23:42:27 +00:00
Elliott Hughes
31fee71b43 am a4edb723: am 37229f2a: Merge "Temporarily expose dlmalloc_usable_size."
* commit 'a4edb7235084cdf62149310fcb1653596f680948':
  Temporarily expose dlmalloc_usable_size.
2014-06-04 23:33:02 +00:00
Elliott Hughes
1f29665f15 Hide __libc_fini.
Bug: 11156955
Change-Id: Id5af3540c6ec4d9ef969d62a230144fe8bb76b0b
2014-06-04 16:29:37 -07:00
Elliott Hughes
a4edb72350 am 37229f2a: Merge "Temporarily expose dlmalloc_usable_size."
* commit '37229f2a9271b6e0d0d1ec516421018b807f00e8':
  Temporarily expose dlmalloc_usable_size.
2014-06-04 23:29:31 +00:00
Dan Albert
26d6799bbe Remove ftime from bionic LP64
Bug: 13935372
Change-Id: I5dd31147143b23a090a3b75b846dc5354e599121
2014-06-04 16:25:24 -07:00
Elliott Hughes
67c437b231 Revert "Temporarily expose dlmalloc_usable_size."
This reverts commit 6403cc48707b67b3400bdaf720f3e4777a1b48de.

Change-Id: Id1ce4088be1e6c83271c6317eb3e5f7fc11c7b95
2014-06-04 23:14:48 +00:00
Elliott Hughes
37229f2a92 Merge "Temporarily expose dlmalloc_usable_size." 2014-06-04 23:11:06 +00:00
Elliott Hughes
6403cc4870 Temporarily expose dlmalloc_usable_size.
Bug: 15425694
Change-Id: I47e1ca598817359260c372fec8072e76886054f0
2014-06-04 16:08:17 -07:00
Elliott Hughes
c5a17834c4 am 02255f26: am 53e3bbab: Merge "Temporary fix for asan_malloc_linux.cc build failure."
* commit '02255f267448f88f16f3ddeaf5c701ab01a17c4b':
  Temporary fix for asan_malloc_linux.cc build failure.
2014-06-04 22:39:38 +00:00
Elliott Hughes
02255f2674 am 53e3bbab: Merge "Temporary fix for asan_malloc_linux.cc build failure."
* commit '53e3bbab07f8d410418f87007177d5ad81e38bcf':
  Temporary fix for asan_malloc_linux.cc build failure.
2014-06-04 22:35:28 +00:00
Elliott Hughes
53e3bbab07 Merge "Temporary fix for asan_malloc_linux.cc build failure." 2014-06-04 22:21:13 +00:00
Elliott Hughes
14442bb229 Temporary fix for asan_malloc_linux.cc build failure.
Bug: 15432753
Change-Id: I02a3a2c826e6d01e6809c51588a9670dcd179123
2014-06-04 15:20:46 -07:00
Elliott Hughes
aca22284fc am b27cb268: am 38732aa9: Merge "Fix debug malloc."
* commit 'b27cb268c0c1424c71d64b8a713983257d4de7ee':
  Fix debug malloc.
2014-06-04 21:49:25 +00:00
Elliott Hughes
b27cb268c0 am 38732aa9: Merge "Fix debug malloc."
* commit '38732aa9ea28b54d55c46b6b1f9367cb8fa147f1':
  Fix debug malloc.
2014-06-04 21:44:20 +00:00
Dan Albert
ab86296461 am ea5c19c4: am 623dce3b: Merge "Removes wcswcs from bionic for LP64."
* commit 'ea5c19c4cf82eb97a0ee90d6e9c7dfe0c709e2fb':
  Removes wcswcs from bionic for LP64.
2014-06-04 21:33:35 +00:00
Dan Albert
ea5c19c4cf am 623dce3b: Merge "Removes wcswcs from bionic for LP64."
* commit '623dce3bd43975ca5b8698955a9fd8f18e9d5963':
  Removes wcswcs from bionic for LP64.
2014-06-04 21:29:25 +00:00
Elliott Hughes
38732aa9ea Merge "Fix debug malloc." 2014-06-04 21:10:55 +00:00
Elliott Hughes
8e52e8fe83 Fix debug malloc.
Previously the dynamically-loaded part of the debug malloc implementation
wanted to access hidden symbols in libc itself.

Bug: 15426546
Change-Id: I6a366ef626854d1af1d705ca24842817b1c02a19
2014-06-04 14:08:20 -07:00
Dan Albert
623dce3bd4 Merge "Removes wcswcs from bionic for LP64." 2014-06-04 20:59:10 +00:00
Dan Albert
001f8f041b Removes wcswcs from bionic for LP64.
Bug: 13935372
Change-Id: I0deb15e769da4fa81bb65a87f3c86db5163a5796
2014-06-04 12:01:56 -07:00
Elliott Hughes
441216a28c am 430cf1a6: (-s ours) DO NOT MERGE fdprintf backward compatibility shim.
* commit '430cf1a6c32471ada4dad028acbfcc032da01fd3':
  DO NOT MERGE fdprintf backward compatibility shim.
2014-06-04 18:43:41 +00:00
Elliott Hughes
9100b11973 am 4832a096: (-s ours) DO NOT MERGE Fix lmp-preview-dev after bionic merge.
* commit '4832a0961dc891ef69177c9cf0c3e3ba5dd7b69d':
  DO NOT MERGE Fix lmp-preview-dev after bionic merge.
2014-06-04 18:43:41 +00:00
Christopher Ferris
88848df902 am 81b20406: Merge remote-tracking branch \'goog/master\' into merge
* commit '81b2040683415845efa2694671c3ed212137051d':
2014-06-04 18:43:40 +00:00
Elliott Hughes
5406127ca0 am 8c5d3170: am e120cba3: Merge "Cherrypick upstream OpenBSD\'s vfwprintf.c revision 1.11."
* commit '8c5d3170411e00c8f0cc126d84e4b08e6a1223d1':
  Cherrypick upstream OpenBSD's vfwprintf.c revision 1.11.
2014-06-04 17:32:11 +00:00
Dan Albert
bb87e9a823 am 4855a97e: am 452e0913: Merge "Adds functionality specified by uchar.h"
* commit '4855a97ed06500de7515e2984d9f44cae7bf756a':
  Adds functionality specified by uchar.h
2014-06-04 17:32:11 +00:00
Elliott Hughes
8c5d317041 am e120cba3: Merge "Cherrypick upstream OpenBSD\'s vfwprintf.c revision 1.11."
* commit 'e120cba31df5249b720579312e799bd1c65f8e3d':
  Cherrypick upstream OpenBSD's vfwprintf.c revision 1.11.
2014-06-04 17:28:48 +00:00
Dan Albert
4855a97ed0 am 452e0913: Merge "Adds functionality specified by uchar.h"
* commit '452e09130010b641904e7411e0c539590a654022':
  Adds functionality specified by uchar.h
2014-06-04 17:28:46 +00:00
Elliott Hughes
e120cba31d Merge "Cherrypick upstream OpenBSD's vfwprintf.c revision 1.11." 2014-06-04 16:17:10 +00:00
Dan Albert
452e091300 Merge "Adds functionality specified by uchar.h" 2014-06-04 16:10:50 +00:00
Elliott Hughes
be8df2e744 Cherrypick upstream OpenBSD's vfwprintf.c revision 1.11.
revision 1.11
date: 2014/06/04 07:45:25;  author: stsp;  state: Exp;  lines: +1 -7;  commitid:
 zJPRH5RUO224FmQu;
Remove assigned but unused local variables and macro from vfwprintf().
Found by Elliott @ google
ok mpi@

Change-Id: I716edc0c4d736a484a5317942de8e87bd8c6fd26
2014-06-04 09:00:25 -07:00
Dan Albert
7a7f9952c1 Adds functionality specified by uchar.h
mbrtoc32 and c32rtomb get their implementations from mbrtowc and wcrtomb. The
wc functions now simply call the c32 functions.

Bug: 14646575
Change-Id: I49d4b95fed0f9d790260c996c4d0f8bfd1686324
2014-06-04 08:39:24 -07:00
Elliott Hughes
27e3e3300c am 9a2aba17: am 38ed337c: Merge "Hide dlmalloc symbols."
* commit '9a2aba176a8b315207c728132591eea57f6b4d53':
  Hide dlmalloc symbols.
2014-06-04 03:51:18 +00:00
Elliott Hughes
9a2aba176a am 38ed337c: Merge "Hide dlmalloc symbols."
* commit '38ed337c1343af1aa55487777ed80de6b0d33638':
  Hide dlmalloc symbols.
2014-06-04 03:48:09 +00:00
Elliott Hughes
38ed337c13 Merge "Hide dlmalloc symbols." 2014-06-04 03:30:37 +00:00
Elliott Hughes
9b5235d74e Hide dlmalloc symbols.
We need to leave dlmalloc_trim and dlmalloc_inspect_all exposed for
the VM, but if we're seriously looking at other malloc implementations,
that's something we're going to have to fix.

Bug: 11156955
Change-Id: If85156c280044f1616c09a3c50ba674aaf0e8d3a
2014-06-03 18:47:17 -07:00
Dan Albert
651dde33e4 am d90ded5a: am c3801894: Merge "Removes bcopy and bzero from bionic."
* commit 'd90ded5a911d5c37da49fb6179cf4ff5b9d48cb3':
  Removes bcopy and bzero from bionic.
2014-06-04 01:19:26 +00:00
Dan Albert
d90ded5a91 am c3801894: Merge "Removes bcopy and bzero from bionic."
* commit 'c380189410b66dcaca5936b2fabceab4c492dd53':
  Removes bcopy and bzero from bionic.
2014-06-04 01:15:59 +00:00
Dan Albert
c380189410 Merge "Removes bcopy and bzero from bionic." 2014-06-04 01:00:40 +00:00
Dan Albert
ce9ce28e5d Removes bcopy and bzero from bionic.
These symbols are still defined for LP32 for binary compatibility, but
the declarations have been replaced with the POSIX recommended #defines.

Bug: 13935372
Change-Id: Ief7e6ca012db374588ba5839f11e8f3a13a20467
2014-06-03 17:22:07 -07:00
Elliott Hughes
ad5342a0c0 am 5bf90caa: am 3dbc2fe3: Merge "Work around "error: variable \'uio\' set but not used"."
* commit '5bf90caa78425c0053d35186b91a1c4936ccb149':
  Work around "error: variable 'uio' set but not used".
2014-06-04 00:12:10 +00:00
Elliott Hughes
2e9e17c91a am d575c374: am bd6b8497: Merge "Remove an unused parameter from the dlopen implementation."
* commit 'd575c374d290d3e590e1e7a228673c68194a473e':
  Remove an unused parameter from the dlopen implementation.
2014-06-04 00:12:09 +00:00
Elliott Hughes
b239d3fa27 am 85981760: am be15d16b: Merge "Turn on -Wunused and fix the mistakes it uncovers."
* commit '859817602d24d5c4868ed8b7d0cc69e5d3babfc6':
  Turn on -Wunused and fix the mistakes it uncovers.
2014-06-04 00:12:06 +00:00
Elliott Hughes
5bf90caa78 am 3dbc2fe3: Merge "Work around "error: variable \'uio\' set but not used"."
* commit '3dbc2fe33e7a1c0e545f7762d3c7a98429c5a82b':
  Work around "error: variable 'uio' set but not used".
2014-06-03 23:57:03 +00:00
Elliott Hughes
d575c374d2 am bd6b8497: Merge "Remove an unused parameter from the dlopen implementation."
* commit 'bd6b849754386a1befa2c935cde3110cadf422c6':
  Remove an unused parameter from the dlopen implementation.
2014-06-03 23:56:58 +00:00
Elliott Hughes
3dbc2fe33e Merge "Work around "error: variable 'uio' set but not used"." 2014-06-03 23:41:35 +00:00
Elliott Hughes
b082645ccb Work around "error: variable 'uio' set but not used".
I've sent the real fix upstream, and will merge that when they commit it.

Change-Id: I75e5cab87026f8990c585d364dd178753d727e2a
2014-06-03 16:39:58 -07:00
Elliott Hughes
bd6b849754 Merge "Remove an unused parameter from the dlopen implementation." 2014-06-03 23:36:35 +00:00
Elliott Hughes
859817602d am be15d16b: Merge "Turn on -Wunused and fix the mistakes it uncovers."
* commit 'be15d16b7246e32a1e622d4442cf919646bc71a9':
  Turn on -Wunused and fix the mistakes it uncovers.
2014-06-03 23:24:39 +00:00
Elliott Hughes
1a58629340 Remove an unused parameter from the dlopen implementation.
Change-Id: I9297913a743bb570b48ebbe594ff711a481e89e0
2014-06-03 16:23:08 -07:00
Elliott Hughes
be15d16b72 Merge "Turn on -Wunused and fix the mistakes it uncovers." 2014-06-03 23:14:21 +00:00
Elliott Hughes
430cf1a6c3 DO NOT MERGE fdprintf backward compatibility shim.
Fixes LP64 build.

Change-Id: Ic76005cd1f5a55344ea8ee3d070d25631d011037
2014-06-03 16:01:35 -07:00
Elliott Hughes
d286796fce Turn on -Wunused and fix the mistakes it uncovers.
Change-Id: I023d2d8b547fbc21d4124bb7510d42b06a0dc501
2014-06-03 15:22:34 -07:00
Paul Jensen
0d78bdaf65 Merge "Make host resolver call __connect() rather than connect() so mark isn't cleared." 2014-06-03 17:23:28 +00:00
Dan Albert
109c5a81d4 am 6e587086: am 2f9400b6: Merge "Use __libc_fatal() for failed malloc in new"
* commit '6e5870865e11f38ac9fcdf39c6097f1e39af9234':
  Use __libc_fatal() for failed malloc in new
2014-06-03 17:15:22 +00:00
Dan Albert
6e5870865e am 2f9400b6: Merge "Use __libc_fatal() for failed malloc in new"
* commit '2f9400b679ffe08f7190781e64edda5edf0f7297':
  Use __libc_fatal() for failed malloc in new
2014-06-03 17:12:16 +00:00
Dan Albert
2f9400b679 Merge "Use __libc_fatal() for failed malloc in new" 2014-06-03 16:53:47 +00:00
Dan Albert
989725940e Use __libc_fatal() for failed malloc in new
This way we can print a useful message to the log isntead of just dying
mysteriously.

Change-Id: Ib660c2fd8ce8bb9aa0d0bb634ae08c645d3901e5
2014-06-02 18:48:53 -07:00
Elliott Hughes
4832a0961d DO NOT MERGE Fix lmp-preview-dev after bionic merge.
Other projects in lmp-preview-dev are out of date, and it's easier to patch
bionic than to fix all of them.

(cherry picked from commit a856c6f543c71f6778cdb9b39f6049ae8b2c4e53)

Change-Id: Id8fbdf35eb55150579f85b7bdddb5d68d3012218
2014-06-02 15:27:21 -07:00
Christopher Ferris
81b2040683 Merge remote-tracking branch 'goog/master' into merge 2014-06-02 15:27:02 -07:00
Elliott Hughes
87f0392320 am 016074f6: am 987bd5c6: am 2deef73f: Merge "Avoid a system call in \'gettid\'."
* commit '016074f6beec46fa2140e2cabd11ade488776402':
  Avoid a system call in 'gettid'.
2014-06-02 17:55:53 +00:00
Elliott Hughes
016074f6be am 987bd5c6: am 2deef73f: Merge "Avoid a system call in \'gettid\'."
* commit '987bd5c64f1381185f27afb60ec46be5e9eaba36':
  Avoid a system call in 'gettid'.
2014-06-02 17:52:28 +00:00
Elliott Hughes
987bd5c64f am 2deef73f: Merge "Avoid a system call in \'gettid\'."
* commit '2deef73fe1e9dbf57b683a15fd1e0c2922e6ecc0':
  Avoid a system call in 'gettid'.
2014-06-02 17:48:53 +00:00
Elliott Hughes
2deef73fe1 Merge "Avoid a system call in 'gettid'." 2014-06-02 17:43:27 +00:00
Elliott Hughes
5d9a7ba0dc Avoid a system call in 'gettid'.
System calls can be pretty slow. This is mako, which has one of our
lowest latencies:

                       iterations      ns/op
  BM_unistd_getpid       10000000        209
  BM_unistd_gettid      200000000          8

Bug: 15297299 (kernel panic from too many gettid calls)
Bug: 15315766 (excessive gettid overhead in liblogd)
Change-Id: I49656c0fc5b5d092390264a59e4f2c0d8a8b1aeb
2014-06-02 10:32:55 -07:00
Dmitriy Ivanov
bbecdcad08 am 109e3b16: am 5f29c328: am 831405b7: Merge "Make atexit.dlclose work for glibc"
* commit '109e3b16137d17d68e2b1a02ce1df054d13c283a':
  Make atexit.dlclose work for glibc
2014-05-31 01:35:30 +00:00
Dmitriy Ivanov
109e3b1613 am 5f29c328: am 831405b7: Merge "Make atexit.dlclose work for glibc"
* commit '5f29c32844d8997d65a4ac8e8d9efa7903d6f83a':
  Make atexit.dlclose work for glibc
2014-05-31 01:33:06 +00:00
Dmitriy Ivanov
5f29c32844 am 831405b7: Merge "Make atexit.dlclose work for glibc"
* commit '831405b749d15a11fb947a40d61fd858e952d860':
  Make atexit.dlclose work for glibc
2014-05-31 01:31:26 +00:00
Dmitriy Ivanov
831405b749 Merge "Make atexit.dlclose work for glibc" 2014-05-31 01:28:33 +00:00
Dmitriy Ivanov
214e64135e Make atexit.dlclose work for glibc
* build libtest_atexit.so
 * remove atexit(NULL) - glibc segfaults on it

Bug: 15350494
Change-Id: I27d79130c32c5691b0e8790a57d92f9710f5bf4a
2014-05-30 18:16:09 -07:00
Christopher Ferris
9a545ee6d9 am a59d22ef: am bd1ec44c: am 66b5e6b6: Merge "Do not run dlclose test on glibc."
* commit 'a59d22efce6f1a2003d8c54be72853e18f6315a0':
  Do not run dlclose test on glibc.
2014-05-31 00:50:18 +00:00
Christopher Ferris
a59d22efce am bd1ec44c: am 66b5e6b6: Merge "Do not run dlclose test on glibc."
* commit 'bd1ec44cc5ef01c125fe2b61871927561a43b444':
  Do not run dlclose test on glibc.
2014-05-31 00:46:00 +00:00
Christopher Ferris
bd1ec44cc5 am 66b5e6b6: Merge "Do not run dlclose test on glibc."
* commit '66b5e6b609f16062262b777905bdd2305a941596':
  Do not run dlclose test on glibc.
2014-05-31 00:43:52 +00:00
Christopher Ferris
66b5e6b609 Merge "Do not run dlclose test on glibc." 2014-05-31 00:41:37 +00:00
Elliott Hughes
468c292262 am df2e70f3: am d3f2a204: am 7a5732bd: Merge "Add some missing __noreturn attributes."
* commit 'df2e70f39036cab8bcbf8c238f39b21f83b32d8d':
  Add some missing __noreturn attributes.
2014-05-30 23:07:32 +00:00
Elliott Hughes
df2e70f390 am d3f2a204: am 7a5732bd: Merge "Add some missing __noreturn attributes."
* commit 'd3f2a204b7faa52b086c85736aa2449d8a83c547':
  Add some missing __noreturn attributes.
2014-05-30 23:05:08 +00:00
Elliott Hughes
d3f2a204b7 am 7a5732bd: Merge "Add some missing __noreturn attributes."
* commit '7a5732bd83c64489b9bd953f49fb6ad3b420126c':
  Add some missing __noreturn attributes.
2014-05-30 23:01:01 +00:00
Elliott Hughes
7a5732bd83 Merge "Add some missing __noreturn attributes." 2014-05-30 22:58:42 +00:00
Elliott Hughes
6203e7b853 Add some missing __noreturn attributes.
This is more honest, and lets us remove a hack.

Change-Id: I309f064743ded5248573ccafc379f78d417db08d
2014-05-30 15:56:25 -07:00
Elliott Hughes
4a7cae7a45 am 8db7b4b5: am f306c414: am 3a3b27e0: Merge "x86: stop unwinding past __bionic_clone."
* commit '8db7b4b54ca28f6c80115c43a83323f562d275b7':
  x86: stop unwinding past __bionic_clone.
2014-05-30 21:50:51 +00:00
Elliott Hughes
8db7b4b54c am f306c414: am 3a3b27e0: Merge "x86: stop unwinding past __bionic_clone."
* commit 'f306c414eb22cf5e80f61f1b26ceafbb3296c651':
  x86: stop unwinding past __bionic_clone.
2014-05-30 21:47:24 +00:00
Elliott Hughes
f306c414eb am 3a3b27e0: Merge "x86: stop unwinding past __bionic_clone."
* commit '3a3b27e04df395b789b92af3d0ed05d2a0f3bf04':
  x86: stop unwinding past __bionic_clone.
2014-05-30 21:43:47 +00:00
Elliott Hughes
3a3b27e04d Merge "x86: stop unwinding past __bionic_clone." 2014-05-30 21:40:28 +00:00
Christopher Ferris
39036f655a Do not run dlclose test on glibc.
The support library for this test is not built for host by default.
Even if the support library is built, the test segfaults on glibc.

Change-Id: I9cb7a364c59b55d4bf5d8634293037cd9bae020b
2014-05-30 11:23:21 -07:00
Elliott Hughes
ee9d5bdd95 x86: stop unwinding past __bionic_clone.
The apparent "previous" frame is on another thread's stack.

Bug: 14270816
Bug: 15195760
Change-Id: I884f370e116203c5fa3b05a75fb8f356537261c4
2014-05-30 11:15:32 -07:00
Paul Jensen
31ad03761d Make host resolver call __connect() rather than connect() so mark isn't cleared.
Calling connect() will erase the mark set by the host resolver code because the
explicitlySelected bit of the Fwmark isn't set.  It's by design that the
explicitlySelected bit isn't set as this facilitates falling through to other
routing rules if the selected network doesn't provide a route to the DNS server
as may be the case with VPNs.

Change-Id: I60ba7c754194ead97df3ac6a6c5b3db1f446dac8
2014-05-30 08:02:52 -04:00
Elliott Hughes
2759e6033d am a856c6f5: (-s ours) DO NOT MERGE Fix lmp-preview-dev after bionic merge.
* commit 'a856c6f543c71f6778cdb9b39f6049ae8b2c4e53':
  DO NOT MERGE Fix lmp-preview-dev after bionic merge.
2014-05-30 11:24:05 +00:00
Elliott Hughes
0e4aa8db3f am 79e7c0a9: Merge remote-tracking branch \'goog/master\' into merge-from-master
* commit '79e7c0a98e0ffd5af09dac4d6ab7a7449b93b472':
2014-05-30 04:05:29 +00:00
Elliott Hughes
a856c6f543 DO NOT MERGE Fix lmp-preview-dev after bionic merge.
Other projects in lmp-preview-dev are out of date, and it's easier to patch
bionic than to fix all of them.

Change-Id: Id55c3da7259ba0bb5e62462d5eca721d3716c07f
2014-05-29 21:03:15 -07:00
Christopher Ferris
62e2ff00e4 am bb385e6f: am 69371ef1: am 1672b056: Merge "Fix unwinding_through_signal_frame test."
* commit 'bb385e6f90d7f32735626117923b37e6d29bc21d':
  Fix unwinding_through_signal_frame test.
2014-05-30 04:02:56 +00:00
Christopher Ferris
bb385e6f90 am 69371ef1: am 1672b056: Merge "Fix unwinding_through_signal_frame test."
* commit '69371ef1cc43c471cc4ff35435042a58720edda5':
  Fix unwinding_through_signal_frame test.
2014-05-30 03:59:22 +00:00
Christopher Ferris
69371ef1cc am 1672b056: Merge "Fix unwinding_through_signal_frame test."
* commit '1672b0563693eaaf92db4f304308d456a6102e64':
  Fix unwinding_through_signal_frame test.
2014-05-30 03:55:51 +00:00
Christopher Ferris
1672b05636 Merge "Fix unwinding_through_signal_frame test." 2014-05-30 03:53:00 +00:00
Christopher Ferris
d178c83d45 Fix unwinding_through_signal_frame test.
I accidentally removed the compilcation of the test implementation file
with special flags needed for the test to work. This change creates the
impl as a library with those flags back.

Bug: 14819262
Change-Id: Ib84fd26a7f4d40a0267d3ed686185b0abc5a3706
2014-05-29 20:00:12 -07:00
Christopher Ferris
2779dc7373 am 1a3a9d4d: am e4068e33: am 94170742: Merge "Fix x86 cfi directives for syscalls."
* commit '1a3a9d4d99557021a77d2d903775adabb24560f4':
  Fix x86 cfi directives for syscalls.
2014-05-30 02:29:08 +00:00
Christopher Ferris
1a3a9d4d99 am e4068e33: am 94170742: Merge "Fix x86 cfi directives for syscalls."
* commit 'e4068e3399d6d572d2f9bd7f925f080a74122d60':
  Fix x86 cfi directives for syscalls.
2014-05-30 02:26:17 +00:00
Christopher Ferris
e4068e3399 am 94170742: Merge "Fix x86 cfi directives for syscalls."
* commit '941707429d8577e90580277c51ad8a354f664586':
  Fix x86 cfi directives for syscalls.
2014-05-30 02:22:34 +00:00
Christopher Ferris
941707429d Merge "Fix x86 cfi directives for syscalls." 2014-05-30 02:20:27 +00:00
Christopher Ferris
15b91e92a0 Fix x86 cfi directives for syscalls.
The syscall generation always used 4 bytes for each push cfi directive.
However, the first push should always use an offset of 8 bytes, each
subsequent push after that is only 4 bytes though.

Change-Id: Ibaabd107f399ef67010b9a08213783957c2f74a9
2014-05-29 19:04:36 -07:00
Elliott Hughes
79e7c0a98e Merge remote-tracking branch 'goog/master' into merge-from-master 2014-05-29 18:16:37 -07:00
Elliott Hughes
768fa1f636 am 2f97e423: am e1df1eb2: am 264d1b83: Merge "Remove issetugid."
* commit '2f97e423274793c1b47a5be2479f767fd26bbc54':
  Remove issetugid.
2014-05-30 00:17:37 +00:00
Elliott Hughes
2f97e42327 am e1df1eb2: am 264d1b83: Merge "Remove issetugid."
* commit 'e1df1eb2c451b541094550dfdbd550bc417ea398':
  Remove issetugid.
2014-05-30 00:14:21 +00:00
Elliott Hughes
e1df1eb2c4 am 264d1b83: Merge "Remove issetugid."
* commit '264d1b832510b746c1d45b5efaa33c164d6f8b2b':
  Remove issetugid.
2014-05-30 00:10:42 +00:00
Elliott Hughes
264d1b8325 Merge "Remove issetugid." 2014-05-30 00:07:52 +00:00
Christopher Ferris
c86e40f7d5 am 017cec03: am d8532678: am 5800aab3: Merge "Fix wmemmove test."
* commit '017cec033a20c97f3118df0432cec7fd3bf73865':
  Fix wmemmove test.
2014-05-29 23:50:09 +00:00
Christopher Ferris
017cec033a am d8532678: am 5800aab3: Merge "Fix wmemmove test."
* commit 'd853267899d6c2fb1eed428285c66b5c77a7c55f':
  Fix wmemmove test.
2014-05-29 23:46:50 +00:00
Ben Cheng
4cb7690aa1 am 772d1d27: am a5b0a62d: am fd9f07a2: Merge "Workaround the GCC "(long)fn -> lfn" optimization bug."
* commit '772d1d27853ad92a8e9e7c9d200689da37e68bf3':
  Workaround the GCC "(long)fn -> lfn" optimization bug.
2014-05-29 23:45:31 +00:00
Christopher Ferris
d853267899 am 5800aab3: Merge "Fix wmemmove test."
* commit '5800aab347a3764f5edb3db0da83b7400ed8426e':
  Fix wmemmove test.
2014-05-29 23:43:06 +00:00
Elliott Hughes
b4e099c6f7 Remove issetugid.
Bug: 14569474
Change-Id: I752c77ed53c724f144f0b618443eb95e87f2929a
2014-05-29 16:43:01 -07:00
Ben Cheng
772d1d2785 am a5b0a62d: am fd9f07a2: Merge "Workaround the GCC "(long)fn -> lfn" optimization bug."
* commit 'a5b0a62dbb560796dc0cfc6947e6e980964e98c4':
  Workaround the GCC "(long)fn -> lfn" optimization bug.
2014-05-29 23:41:22 +00:00
Christopher Ferris
5800aab347 Merge "Fix wmemmove test." 2014-05-29 23:40:39 +00:00
Ben Cheng
a5b0a62dbb am fd9f07a2: Merge "Workaround the GCC "(long)fn -> lfn" optimization bug."
* commit 'fd9f07a2a2aa6c17b99c4bf9815e380eeac6aa0f':
  Workaround the GCC "(long)fn -> lfn" optimization bug.
2014-05-29 23:38:27 +00:00
Ben Cheng
fd9f07a2a2 Merge "Workaround the GCC "(long)fn -> lfn" optimization bug." 2014-05-29 23:33:04 +00:00
Ben Cheng
ff00dc8565 Workaround the GCC "(long)fn -> lfn" optimization bug.
Pass "-fno-builtin-rint -fno-builtin-rintl -fno-builtin-rintf" to avoid
generating self recursions in lrint, lrintl, and lrintf.

BUG: 14225968
Change-Id: Iffc4d8f0692580d636a529f4c8aa9a7a10d7acd8
2014-05-29 16:32:00 -07:00
Christopher Ferris
5c60bf63b0 am dea5f4b1: am 9d73fa3f: am d4fbb1a8: Merge "Fix dprintf test."
* commit 'dea5f4b157784a677820d43e595b1dfcf1d42430':
  Fix dprintf test.
2014-05-29 22:51:28 +00:00
Christopher Ferris
dea5f4b157 am 9d73fa3f: am d4fbb1a8: Merge "Fix dprintf test."
* commit '9d73fa3fad4b50851187214976934d2fa4012fe5':
  Fix dprintf test.
2014-05-29 22:49:10 +00:00
Christopher Ferris
8bf50d5b72 Fix wmemmove test.
I accidentally copied over the nul terminator with the test.

Change-Id: I24a9aa05d4fba4f383fa38a3041bb6a6b179130c
2014-05-29 15:44:34 -07:00
Christopher Ferris
9d73fa3fad am d4fbb1a8: Merge "Fix dprintf test."
* commit 'd4fbb1a8617285ab1d29324308aa016377fc36f3':
  Fix dprintf test.
2014-05-29 22:44:25 +00:00
Christopher Ferris
d4fbb1a861 Merge "Fix dprintf test." 2014-05-29 22:41:50 +00:00
Christopher Ferris
a6ee6ac422 am 4704238d: am 84d90bf5: am aa5f32ea: Merge "Add Aarch64 optimized bzero based on memset"
* commit '4704238dd27095886e273edc3902722e8f941310':
  Add Aarch64 optimized bzero based on memset
2014-05-29 21:30:37 +00:00
Christopher Ferris
4704238dd2 am 84d90bf5: am aa5f32ea: Merge "Add Aarch64 optimized bzero based on memset"
* commit '84d90bf5114466bb62d0580ce524da98b6b45dd2':
  Add Aarch64 optimized bzero based on memset
2014-05-29 21:27:03 +00:00
Christopher Ferris
84d90bf511 am aa5f32ea: Merge "Add Aarch64 optimized bzero based on memset"
* commit 'aa5f32ea1c8af9776a1c26a027495954c835be55':
  Add Aarch64 optimized bzero based on memset
2014-05-29 21:23:16 +00:00
Christopher Ferris
aa5f32ea1c Merge "Add Aarch64 optimized bzero based on memset" 2014-05-29 21:19:44 +00:00
Elliott Hughes
0f20aafa25 am 8efc3054: am dafa59b8: am 4dd0b72d: Merge "Return the actual success result from __futex."
* commit '8efc30544f5ef32395d97f41139d1906a21ca06f':
  Return the actual success result from __futex.
2014-05-29 21:10:06 +00:00
Christopher Ferris
ea1004b6b3 am deb1ec4a: am 47150dca: am 1a57de71: Merge "Fix overflow testing in sbrk."
* commit 'deb1ec4aaa0e7f74746c97ccbc22a367640c301f':
  Fix overflow testing in sbrk.
2014-05-29 21:09:29 +00:00
Elliott Hughes
8efc30544f am dafa59b8: am 4dd0b72d: Merge "Return the actual success result from __futex."
* commit 'dafa59b8fff9ecd562487f9a186ac567c0908c5b':
  Return the actual success result from __futex.
2014-05-29 21:06:29 +00:00
Bernhard Rosenkraenzer
62d92e1610 Add Aarch64 optimized bzero based on memset
Change-Id: I62cf25bfe23b9d811e00af7307bbd19d89937792
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-05-29 13:28:55 -07:00
Christopher Ferris
9e01ea63a7 Fix dprintf test.
Change-Id: Ied783d545b6a35a70a158249f3957a9d00971627
2014-05-29 13:17:40 -07:00
Elliott Hughes
dafa59b8ff am 4dd0b72d: Merge "Return the actual success result from __futex."
* commit '4dd0b72dd36f3d9afd6bf0c184866f0d9242084f':
  Return the actual success result from __futex.
2014-05-29 20:14:35 +00:00
Elliott Hughes
4dd0b72dd3 Merge "Return the actual success result from __futex." 2014-05-29 20:12:06 +00:00
Christopher Ferris
deb1ec4aaa am 47150dca: am 1a57de71: Merge "Fix overflow testing in sbrk."
* commit '47150dca59e63899843182237775628677ec4af3':
  Fix overflow testing in sbrk.
2014-05-29 18:10:10 +00:00
Christopher Ferris
47150dca59 am 1a57de71: Merge "Fix overflow testing in sbrk."
* commit '1a57de713adfb81842cb2ebdfc051ecb9afa55f1':
  Fix overflow testing in sbrk.
2014-05-29 18:06:46 +00:00
Christopher Ferris
1a57de713a Merge "Fix overflow testing in sbrk." 2014-05-29 18:03:28 +00:00
Christopher Ferris
738b0cc5e9 Fix overflow testing in sbrk.
Modify the overflow testing for sbrk.

Bug: 15188366

Change-Id: Ia83f85f7c1789454d872279bd41f38f1ce6b8a34
2014-05-29 10:51:22 -07:00
Elliott Hughes
1ee46520ca Return the actual success result from __futex.
futex(2) can return non-zero successes.

Bug: 15195455
Change-Id: I7818bc922a5a2df31228ff72c169320b5e69a544
2014-05-29 10:27:55 -07:00
Elliott Hughes
dd4489bfbe am 4843fab2: am ad73e2f5: am ef023873: Merge "Minor style cleanup of some code I had to look at."
* commit '4843fab2ee025fae5e04d84dd687e507fc4e99f0':
  Minor style cleanup of some code I had to look at.
2014-05-29 16:23:08 +00:00
Elliott Hughes
864b926026 am 8a00b45d: am c3930812: am 0bdd668f: Merge "Upgrade to tzdata2014d."
* commit '8a00b45d601d6e9a5a7ab63544f66267ed1a857b':
  Upgrade to tzdata2014d.
2014-05-29 16:23:07 +00:00
Elliott Hughes
4843fab2ee am ad73e2f5: am ef023873: Merge "Minor style cleanup of some code I had to look at."
* commit 'ad73e2f58ca672ee8b7c19a1c993b829a43dd89c':
  Minor style cleanup of some code I had to look at.
2014-05-29 16:19:40 +00:00
Elliott Hughes
8a00b45d60 am c3930812: am 0bdd668f: Merge "Upgrade to tzdata2014d."
* commit 'c3930812df525ab6b2e68272903e332d6ee7a7d1':
  Upgrade to tzdata2014d.
2014-05-29 16:19:39 +00:00
Elliott Hughes
ad73e2f58c am ef023873: Merge "Minor style cleanup of some code I had to look at."
* commit 'ef023873e2bbd83f4fde69fd427e04ef1eb6e769':
  Minor style cleanup of some code I had to look at.
2014-05-29 16:15:52 +00:00
Elliott Hughes
c3930812df am 0bdd668f: Merge "Upgrade to tzdata2014d."
* commit '0bdd668f05b22b44547a2b9f05e506166b22f02a':
  Upgrade to tzdata2014d.
2014-05-29 16:15:51 +00:00
Elliott Hughes
ef023873e2 Merge "Minor style cleanup of some code I had to look at." 2014-05-29 16:12:02 +00:00
Elliott Hughes
0bdd668f05 Merge "Upgrade to tzdata2014d." 2014-05-29 16:09:40 +00:00
Elliott Hughes
b7f136a01f Upgrade to tzdata2014d.
There are no substantive changes to the data in this release. I'm applying
this just for completeness.

Change-Id: Ibe953969cb16db4d8d1ddb7dd3c943316e6e46b4
2014-05-28 20:33:33 -07:00
Elliott Hughes
624996026b Minor style cleanup of some code I had to look at.
(It turns out that this is the only place we're saying __inline in C++.)

Change-Id: I8095e67a385087817c47caab9a621f82f8e0cfc8
2014-05-28 20:30:40 -07:00
Elliott Hughes
49d1ce63d9 am 275906e4: am 3388c7be: am fae42a83: Merge "Revert "Revert "Lose the hand-written futex assembler."""
* commit '275906e4b08062e50dbd0b1938a9a1379f577649':
  Revert "Revert "Lose the hand-written futex assembler.""
2014-05-29 03:22:03 +00:00
Elliott Hughes
275906e4b0 am 3388c7be: am fae42a83: Merge "Revert "Revert "Lose the hand-written futex assembler."""
* commit '3388c7be52e087256862171a5abdc9ceacf54e9d':
  Revert "Revert "Lose the hand-written futex assembler.""
2014-05-29 03:19:41 +00:00
Elliott Hughes
3388c7be52 am fae42a83: Merge "Revert "Revert "Lose the hand-written futex assembler."""
* commit 'fae42a837ae7f880de9561c7b3c2b18e4a531e90':
  Revert "Revert "Lose the hand-written futex assembler.""
2014-05-29 03:16:18 +00:00
Elliott Hughes
fae42a837a Merge "Revert "Revert "Lose the hand-written futex assembler.""" 2014-05-29 03:13:23 +00:00
Elliott Hughes
b30aff405a Revert "Revert "Lose the hand-written futex assembler.""
The problem with the original patch was that using syscall(3) means that
errno can be set, but pthread_create(3) was abusing the TLS errno slot as
a pthread_mutex_t for the thread startup handshake.

There was also a mistake in the check for syscall failures --- it should
have checked against -1 instead of 0 (not just because that's the default
idiom, but also here because futex(2) can legitimately return values > 0).

This patch stops abusing the TLS errno slot and adds a pthread_mutex_t to
pthread_internal_t instead. (Note that for LP64 sizeof(pthread_mutex_t) >
sizeof(uintptr_t), so we could potentially clobber other TLS slots too.)

I've also rewritten the LP32 compatibility stubs to directly reuse the
code from the .h file.

This reverts commit 75c55ff84ebfa686c7ae2cc8ee431c6a33bd46b4.

Bug: 15195455
Change-Id: I6ffb13e5cf6a35d8f59f692d94192aae9ab4593d
2014-05-28 18:31:15 -07:00
Dan Albert
213524ad06 am 1875a51c: am c8d59fae: am 32c8ae9d: Merge "Fixes stdatomic.h test to match C11 spec"
* commit '1875a51c51517c559dde901d61d5dd4f00e80c14':
  Fixes stdatomic.h test to match C11 spec
2014-05-29 00:59:25 +00:00
Dan Albert
1875a51c51 am c8d59fae: am 32c8ae9d: Merge "Fixes stdatomic.h test to match C11 spec"
* commit 'c8d59fae72fb95fd7034ccf42664711849ed497f':
  Fixes stdatomic.h test to match C11 spec
2014-05-29 00:55:47 +00:00
Dan Albert
c8d59fae72 am 32c8ae9d: Merge "Fixes stdatomic.h test to match C11 spec"
* commit '32c8ae9de0e51ac64efcfd2e5da34382deee959e':
  Fixes stdatomic.h test to match C11 spec
2014-05-29 00:52:18 +00:00
Dan Albert
32c8ae9de0 Merge "Fixes stdatomic.h test to match C11 spec" 2014-05-29 00:50:26 +00:00
Dan Albert
6b3beb23d6 Fixes stdatomic.h test to match C11 spec
C11 defines the expected value to atomic_compare_exchange_* as being non-atomic
types. Using an atomic type is a syntax error in clang.

http://en.cppreference.com/w/c/atomic/atomic_compare_exchange

Change-Id: I74de1061fa1fc50d835451792d902000f368200e
2014-05-28 16:53:08 -07:00
Dan Albert
cd4e99048a am e4f5ae5d: am c51e9208: am dc3fb119: Merge "Updated ambiguous comment in pthread_mutex_lock."
* commit 'e4f5ae5d54865d6f61a32eeba6af846550d2a254':
  Updated ambiguous comment in pthread_mutex_lock.
2014-05-28 22:18:10 +00:00
Christopher Ferris
48c544f1c2 am 02d1cfb3: am fa204cf0: am 8a405b02: Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
* commit '02d1cfb366b461d4c64cc87fc0f48bc3eae5fd92':
  Add optimized AArch64 versions of bcopy and wmemmove based on memmove
2014-05-28 22:17:56 +00:00
Dan Albert
e4f5ae5d54 am c51e9208: am dc3fb119: Merge "Updated ambiguous comment in pthread_mutex_lock."
* commit 'c51e92086a574c7209b8310925212f06eaa6ba20':
  Updated ambiguous comment in pthread_mutex_lock.
2014-05-28 22:13:22 +00:00
Dan Albert
c51e92086a am dc3fb119: Merge "Updated ambiguous comment in pthread_mutex_lock."
* commit 'dc3fb119497382fc8d9c3b87c5ef8321141330dc':
  Updated ambiguous comment in pthread_mutex_lock.
2014-05-28 22:10:22 +00:00
Dan Albert
dc3fb11949 Merge "Updated ambiguous comment in pthread_mutex_lock." 2014-05-28 22:00:50 +00:00
Christopher Ferris
02d1cfb366 am fa204cf0: am 8a405b02: Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
* commit 'fa204cf030d79e65851cdd13ff5c073e5b5fd2ac':
  Add optimized AArch64 versions of bcopy and wmemmove based on memmove
2014-05-28 21:41:40 +00:00
Christopher Ferris
fa204cf030 am 8a405b02: Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
* commit '8a405b027a9c8b3a614016f4824a03fa252e9e1e':
  Add optimized AArch64 versions of bcopy and wmemmove based on memmove
2014-05-28 21:38:01 +00:00
Christopher Ferris
8a405b027a Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove" 2014-05-28 21:35:04 +00:00
Brigid Smith
ff03a7aaad Updated ambiguous comment in pthread_mutex_lock.
The comment used the phrase "normal case" when it more specifically refers to the "recursive case," so I changed it to that.

Change-Id: I8335cce4dee933c6a463aee653b28bd986b5b5e4
2014-05-28 11:48:49 -07:00
Narayan Kamath
dc3178707d am adb1ec50: am 784254f2: am 52f74322: Merge "Revert "Lose the hand-written futex assembler.""
* commit 'adb1ec509e4866eab1f0a7fb8b99dd31e5d8e23f':
  Revert "Lose the hand-written futex assembler."
2014-05-28 18:14:34 +00:00
Calin Juravle
15627c1016 am c3f22810: am 7ca4d736: am 53e70fe3: Merge "Remove unnecessary padding in ucontext_t"
* commit 'c3f228103f0ff855214e0d15d51a26da7723d3b6':
  Remove unnecessary padding in ucontext_t
2014-05-28 18:10:34 +00:00
Narayan Kamath
adb1ec509e am 784254f2: am 52f74322: Merge "Revert "Lose the hand-written futex assembler.""
* commit '784254f28ed3e3b40889d060ccbc176361d70dc9':
  Revert "Lose the hand-written futex assembler."
2014-05-28 18:08:39 +00:00
Narayan Kamath
784254f28e am 52f74322: Merge "Revert "Lose the hand-written futex assembler.""
* commit '52f74322b1d72d57146107f32ee2c76c421bf4b1':
  Revert "Lose the hand-written futex assembler."
2014-05-28 18:06:05 +00:00
Narayan Kamath
52f74322b1 Merge "Revert "Lose the hand-written futex assembler."" 2014-05-28 18:04:26 +00:00
Narayan Kamath
75c55ff84e Revert "Lose the hand-written futex assembler."
This reverts commit ced906c849704f379d7191822f6d74993d4fa296.

Causes issues on art / dalvik due to a broken return value
check and other undiagnosed issues.

bug: 15195455

Change-Id: I5d6bbb389ecefb0e33a5237421a9d56d32a9317c
2014-05-28 18:03:01 +00:00
Elliott Hughes
0ba998b3c3 am 44445f2d: am ab4c4686: am 7fdde4a5: Merge "Expose __srefill for LP64 until we can fix the NDK."
* commit '44445f2d51e946f6ba14101058a1cc6157f2e185':
  Expose __srefill for LP64 until we can fix the NDK.
2014-05-28 18:02:08 +00:00
Calin Juravle
c3f228103f am 7ca4d736: am 53e70fe3: Merge "Remove unnecessary padding in ucontext_t"
* commit '7ca4d73644284a7ffce83ba62923e46c0a29ab64':
  Remove unnecessary padding in ucontext_t
2014-05-28 17:54:08 +00:00
Calin Juravle
7ca4d73644 am 53e70fe3: Merge "Remove unnecessary padding in ucontext_t"
* commit '53e70fe30646453a5deba0730337cb9674cd6fc8':
  Remove unnecessary padding in ucontext_t
2014-05-28 17:50:43 +00:00
Calin Juravle
53e70fe306 Merge "Remove unnecessary padding in ucontext_t" 2014-05-28 17:48:06 +00:00
Calin Juravle
bdca3802c9 Remove unnecessary padding in ucontext_t
- removed extra padding from ucontex_t on x86, x86_64 and mips
- force ucontext_t struct to use 64 bits for the sigmask on all arches
(previsouly wrong since sigset_t on arm and x86 is only 32 bits)
- arm and arm64 continue to use padding to match glibc sigset_t

This brings Bionic on par with the kernel w.r.t ucontext padding.

Bug: 12828904
Change-Id: Ia8915ace694ecb4695603a334e697985f4c3e7aa
2014-05-28 17:24:28 +01:00
Elliott Hughes
44445f2d51 am ab4c4686: am 7fdde4a5: Merge "Expose __srefill for LP64 until we can fix the NDK."
* commit 'ab4c46863d32daf6ed5c98a101317c0108071c1d':
  Expose __srefill for LP64 until we can fix the NDK.
2014-05-28 09:15:56 +00:00
Elliott Hughes
ab4c46863d am 7fdde4a5: Merge "Expose __srefill for LP64 until we can fix the NDK."
* commit '7fdde4a58b304a7c4f87987f3fde16bdded63a76':
  Expose __srefill for LP64 until we can fix the NDK.
2014-05-28 05:22:38 +00:00
Elliott Hughes
7fdde4a58b Merge "Expose __srefill for LP64 until we can fix the NDK." 2014-05-28 05:19:45 +00:00
Elliott Hughes
f6d2ca2696 Expose __srefill for LP64 until we can fix the NDK.
The LP64 has a duplicate copy of part of stdio, and relies
on bionic supplying this part. We should remove the hack from
the NDK, at least for LP64, and then revert this.

Bug: 15291317
Change-Id: I75e06e130188ca0aeb9d50dfe3a3e48a1d3968b7
2014-05-27 21:23:36 -07:00
Elliott Hughes
0f1a221b3a am faf071df: am 9e3a0356: am 1454ff25: Merge "Clear the return address register in __bionic_clone."
* commit 'faf071dfcb2f6811727dfdfc70574552639b937c':
  Clear the return address register in __bionic_clone.
2014-05-27 23:01:16 +00:00
Elliott Hughes
faf071dfcb am 9e3a0356: am 1454ff25: Merge "Clear the return address register in __bionic_clone."
* commit '9e3a0356f4f04f4adac31206876ed41db091c808':
  Clear the return address register in __bionic_clone.
2014-05-27 22:57:19 +00:00
Elliott Hughes
9e3a0356f4 am 1454ff25: Merge "Clear the return address register in __bionic_clone."
* commit '1454ff2574f0bee9fb3646c9c6dd30443e0dbd38':
  Clear the return address register in __bionic_clone.
2014-05-27 22:55:34 +00:00
Elliott Hughes
1454ff2574 Merge "Clear the return address register in __bionic_clone." 2014-05-27 22:53:52 +00:00
Elliott Hughes
e7dccdf683 Clear the return address register in __bionic_clone.
The unwinder will end up on the parent thread's stack if the return
address register is not cleared.

Bug: 14270816
Bug: 15195760
Change-Id: Iebcdf5cc881cad245643bb193760de35eb7f8b19
2014-05-27 15:49:51 -07:00
Dan Albert
493b5cb6ac am 923619f6: am 4a542fc5: am 134911d7: Merge "Use __typeof__() instead of typeof()"
* commit '923619f6e22cc76db598c7e0331ce3d1a470943d':
  Use __typeof__() instead of typeof()
2014-05-27 22:03:37 +00:00
Dan Albert
923619f6e2 am 4a542fc5: am 134911d7: Merge "Use __typeof__() instead of typeof()"
* commit '4a542fc5193152d64de23add0c4ee27b8486cdf9':
  Use __typeof__() instead of typeof()
2014-05-27 22:01:25 +00:00
Dan Albert
4a542fc519 am 134911d7: Merge "Use __typeof__() instead of typeof()"
* commit '134911d75deab2b5babc175c894c002e875dfed6':
  Use __typeof__() instead of typeof()
2014-05-27 21:59:33 +00:00
Dan Albert
134911d75d Merge "Use __typeof__() instead of typeof()" 2014-05-27 21:57:24 +00:00
Dan Albert
a7821b7121 Use __typeof__() instead of typeof()
typeof() is a gcc builtin and is not always available (such as clang when
-std=c*). Both gcc and clang always expose __typeof__(), so just use that.

Change-Id: I75e2a990acc35f6f39b2c353f6548100ec03c67f
2014-05-27 12:47:54 -07:00
Elliott Hughes
0ad4b21658 am 5264518f: am 946bc952: am 8e85b4f0: Merge "Restore __srefill for LP32."
* commit '5264518f61f506bb025b17520ae5e0f0bba9cb85':
  Restore __srefill for LP32.
2014-05-27 18:48:41 +00:00
Elliott Hughes
5264518f61 am 946bc952: am 8e85b4f0: Merge "Restore __srefill for LP32."
* commit '946bc9528df170d32033ec5794073896d2406301':
  Restore __srefill for LP32.
2014-05-27 18:44:59 +00:00
Elliott Hughes
946bc9528d am 8e85b4f0: Merge "Restore __srefill for LP32."
* commit '8e85b4f00e8816f22bf5b5f20b1f978432f2ae08':
  Restore __srefill for LP32.
2014-05-27 18:41:52 +00:00
Elliott Hughes
8e85b4f00e Merge "Restore __srefill for LP32." 2014-05-27 18:38:56 +00:00
Elliott Hughes
aa50585d96 Restore __srefill for LP32.
The NDK apparently includes an android_support.a library that
refers to __srefill in its copy of the vsnprintf implementation.

Bug: 15249361
Change-Id: Ic2cf6f21290b3146c42fbe0624f5e4d54f6194b4
2014-05-27 11:22:39 -07:00
Elliott Hughes
06b3711de3 am ab4064bc: am 50c52f74: am b3c75a1e: Merge "Restore __srget and __swbuf for LP32."
* commit 'ab4064bc9308dca7880ecca6ee52242642dfa2a7':
  Restore __srget and __swbuf for LP32.
2014-05-26 08:49:00 +00:00
Elliott Hughes
ab4064bc93 am 50c52f74: am b3c75a1e: Merge "Restore __srget and __swbuf for LP32."
* commit '50c52f7424c2ef6fdc8fae1635a1c646c28a96a9':
  Restore __srget and __swbuf for LP32.
2014-05-26 08:07:13 +00:00
Elliott Hughes
50c52f7424 am b3c75a1e: Merge "Restore __srget and __swbuf for LP32."
* commit 'b3c75a1e8ffbf575c2a425b34fd67ff8077da299':
  Restore __srget and __swbuf for LP32.
2014-05-26 05:10:46 +00:00
Elliott Hughes
b3c75a1e8f Merge "Restore __srget and __swbuf for LP32." 2014-05-26 05:07:20 +00:00
Elliott Hughes
23826c81d4 am 6571b81b: am 21296dfe: am bc904896: Merge "Add C11 <stdatomic.h>."
* commit '6571b81b1f8f8ade80024a99af37fcf42514aaae':
  Add C11 <stdatomic.h>.
2014-05-25 17:56:53 +00:00
Elliott Hughes
6571b81b1f am 21296dfe: am bc904896: Merge "Add C11 <stdatomic.h>."
* commit '21296dfe530c73906411b44347c66db8c0e6d3aa':
  Add C11 <stdatomic.h>.
2014-05-25 17:54:20 +00:00
Elliott Hughes
21296dfe53 am bc904896: Merge "Add C11 <stdatomic.h>."
* commit 'bc904896a6f846e2648922d46324ea626ae9e1d1':
  Add C11 <stdatomic.h>.
2014-05-25 17:51:05 +00:00
Elliott Hughes
bc904896a6 Merge "Add C11 <stdatomic.h>." 2014-05-25 17:48:19 +00:00
Elliott Hughes
35d90bb6ec Restore __srget and __swbuf for LP32.
Anthony King <anthonydking@slimroms.net> reports that for Grouper the
Nvidia GL blobs need access to __swbuf. This is because the old <stdio.h>
had inline getc and putc implementations that directly referred to these
symbols.

Change-Id: I11a7b5550018ecc93d8f195c99857759669b2906
2014-05-25 10:38:25 -07:00
Elliott Hughes
d460da0813 am abc68292: am 06c9662a: am 255789e4: Merge "Restore tkill for LP32."
* commit 'abc68292b48741fa646b8f16263cae3c42012dc8':
  Restore tkill for LP32.
2014-05-25 03:24:01 +00:00
Elliott Hughes
abc68292b4 am 06c9662a: am 255789e4: Merge "Restore tkill for LP32."
* commit '06c9662a2feddc86a37d3adb3e468d57067c3714':
  Restore tkill for LP32.
2014-05-25 03:21:27 +00:00
Elliott Hughes
06c9662a2f am 255789e4: Merge "Restore tkill for LP32."
* commit '255789e4d12d95dbb8e34cfae7fdc58514843ba5':
  Restore tkill for LP32.
2014-05-25 03:18:14 +00:00
Elliott Hughes
7b9626f449 am 4d436a2f: am 85df714f: am d4f37110: Merge "Restore __futex_wake and __futex_wait for LP32."
* commit '4d436a2fdc3a847571a69c22d2cfefeef29ca9a2':
  Restore __futex_wake and __futex_wait for LP32.
2014-05-25 03:17:25 +00:00
Elliott Hughes
4d436a2fdc am 85df714f: am d4f37110: Merge "Restore __futex_wake and __futex_wait for LP32."
* commit '85df714f911fe6c2155b6a5d8158e935b9b040a1':
  Restore __futex_wake and __futex_wait for LP32.
2014-05-25 03:14:47 +00:00
Elliott Hughes
255789e4d1 Merge "Restore tkill for LP32." 2014-05-25 03:14:39 +00:00
Anthony King
001707363d Restore tkill for LP32.
libmono from Unity still requires tkill(2).

Change-Id: I37a1994b08086c7fedb5c78ea0dadf2d72bc1463
Signed-off-by: Anthony King <anthonydking@slimroms.net>
2014-05-24 20:13:13 -07:00
Elliott Hughes
85df714f91 am d4f37110: Merge "Restore __futex_wake and __futex_wait for LP32."
* commit 'd4f37110ce4b8439dd30540565f7c73e00cfe2fb':
  Restore __futex_wake and __futex_wait for LP32.
2014-05-25 03:11:02 +00:00
Elliott Hughes
d4f37110ce Merge "Restore __futex_wake and __futex_wait for LP32." 2014-05-25 03:09:00 +00:00
Elliott Hughes
bd3a98c6b9 Restore __futex_wake and __futex_wait for LP32.
Should fix Skype:

  java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "__futex_wake" referenced by "libsliq.so"...

Bug: 15196718
Change-Id: I8a18e18d830f0436e820cbde577121bd92710803
2014-05-24 17:19:36 -07:00
Elliott Hughes
e6c57fcb05 Add C11 <stdatomic.h>.
Bug: 14903517
Change-Id: I631dbfdaa698cf7fea8e3b5e18a32586383e62a5
2014-05-23 20:06:03 -07:00
Bernhard Rosenkraenzer
6f2bde3441 Add optimized AArch64 versions of bcopy and wmemmove based on memmove
Add optimized versions of bcopy and wmemmove for AArch64 based on the
memmove implementation

Change-Id: I82fbe8a7221ce224c567ffcfed7a94a53640fca8
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-05-23 18:49:57 -07:00
Christopher Ferris
18f89a699c am 3e9cd6ca: am 86f5d0f9: am 1c4d8301: Merge "Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove""
* commit '3e9cd6ca1050d222e1ce5dbe27356162eb194f6f':
  Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
2014-05-24 01:10:59 +00:00
Christopher Ferris
3e9cd6ca10 am 86f5d0f9: am 1c4d8301: Merge "Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove""
* commit '86f5d0f9c1d9904ce45329d14682a849253917cd':
  Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
2014-05-24 01:08:38 +00:00
Christopher Ferris
d35cac4a2e am b6481ffb: am 5c34b003: am 78c3e11e: Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
* commit 'b6481ffb63820b759369da2e6836b1ecc453889f':
  Add optimized AArch64 versions of bcopy and wmemmove based on memmove
2014-05-24 01:07:31 +00:00
Christopher Ferris
86f5d0f9c1 am 1c4d8301: Merge "Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove""
* commit '1c4d83012fea4e6d011215bef1665cf68d2ac47c':
  Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
2014-05-24 01:05:42 +00:00
Christopher Ferris
b6481ffb63 am 5c34b003: am 78c3e11e: Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
* commit '5c34b003dca903f0308da9a2e07a5cd99bc7ebf1':
  Add optimized AArch64 versions of bcopy and wmemmove based on memmove
2014-05-24 01:04:06 +00:00
Ben Cheng
a937f5246f am 50049943: am 50348295: am f4985b14: Merge "Clear link register in __bionic_clone."
* commit '500499435f04b8617e0756f71a37736bdc1ef9ad':
  Clear link register in __bionic_clone.
2014-05-24 01:04:03 +00:00
Christopher Ferris
1c4d83012f Merge "Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"" 2014-05-24 01:02:31 +00:00
Christopher Ferris
fd0ce866ce Revert "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
This reverts commit 8167dd7cb98e87ffe9b40e4993c330b244ca2234.

For some reason I thought the bcopy change was bzero. The bcopy code doesn't pass our tests, so reverting until I can figure out what's wrong.

Change-Id: Id89fe959ea5105cd58dff6bba8d91a30cc4bcb07
2014-05-24 01:02:22 +00:00
Christopher Ferris
5c34b003dc am 78c3e11e: Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove"
* commit '78c3e11e78e7d2643ec25e2be1cfc258aeb6d9d7':
  Add optimized AArch64 versions of bcopy and wmemmove based on memmove
2014-05-24 01:01:01 +00:00
Ben Cheng
500499435f am 50348295: am f4985b14: Merge "Clear link register in __bionic_clone."
* commit '50348295048b25b06140b4d34edb7932973addfd':
  Clear link register in __bionic_clone.
2014-05-24 01:00:40 +00:00
Christopher Ferris
78c3e11e78 Merge "Add optimized AArch64 versions of bcopy and wmemmove based on memmove" 2014-05-24 00:58:15 +00:00
Ben Cheng
5034829504 am f4985b14: Merge "Clear link register in __bionic_clone."
* commit 'f4985b14cfed187376a24dd4a0cd16206e746bd9':
  Clear link register in __bionic_clone.
2014-05-24 00:57:39 +00:00
Ben Cheng
f4985b14cf Merge "Clear link register in __bionic_clone." 2014-05-24 00:54:16 +00:00
Bernhard Rosenkraenzer
8167dd7cb9 Add optimized AArch64 versions of bcopy and wmemmove based on memmove
Add optimized versions of bcopy and wmemmove for AArch64 based on the
memmove implementation

Change-Id: Ie43d0ff4f8ec4edba5b4fb5ccacd941f81ac6557
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-05-23 17:54:08 -07:00
Ben Cheng
8df0fe0c74 Clear link register in __bionic_clone.
Since __bionic_clone uses tail-call to invoke __bionic_clone_entry,
at runtime the unwinder will reach the stack of the clone() function,
which belongs to the parent thread, if the link register is not cleared.

BUG: 14270816
Change-Id: Ia3711c87f8b619debe73748c28b9fb8691ea698e
2014-05-23 16:35:21 -07:00
Elliott Hughes
8adf95857b am 28bfc84e: am 764ebf8a: am a486632e: Merge "Remove <sys/atomics.h>."
* commit '28bfc84e42a91a4960844ea36c90dc7c936ef292':
  Remove <sys/atomics.h>.
2014-05-23 22:33:40 +00:00
Elliott Hughes
28bfc84e42 am 764ebf8a: am a486632e: Merge "Remove <sys/atomics.h>."
* commit '764ebf8a901ac2d3b04279ea7f8d77c51e1024ea':
  Remove <sys/atomics.h>.
2014-05-23 22:27:27 +00:00
Elliott Hughes
764ebf8a90 am a486632e: Merge "Remove <sys/atomics.h>."
* commit 'a486632e789c6db4c35f969485ebb57f503bcf48':
  Remove <sys/atomics.h>.
2014-05-23 22:23:56 +00:00
Elliott Hughes
a486632e78 Merge "Remove <sys/atomics.h>." 2014-05-23 22:18:40 +00:00
Elliott Hughes
c3f909630b Remove <sys/atomics.h>.
Bug: 14903517
Change-Id: I6de1d9d3624922517fdc37922097abbc3b41f661
2014-05-23 14:36:30 -07:00
Calin Juravle
09afdfb514 am 66aba0d8: am d2b12988: am b2604949: Merge "Migrate pthread_rwlock implementation away from sys/atomics"
* commit '66aba0d8b2789b3ccf74df7111b0e8b838f0e320':
  Migrate pthread_rwlock implementation away from sys/atomics
2014-05-23 19:43:29 +00:00
Elliott Hughes
bfba94aa3c am 8255a971: am 69068fd9: am fb9a47c7: Merge "Hide various stdio implementation details."
* commit '8255a971cc0d6d69c870f514fcf0fae1e5d3ebec':
  Hide various stdio implementation details.
2014-05-23 19:43:17 +00:00
Elliott Hughes
fc07a1e613 am a722fdcd: am cdf15e39: am 253fa170: Merge "Lose the hand-written futex assembler."
* commit 'a722fdcdb7bcddfb5ac30ad22798da4b53988013':
  Lose the hand-written futex assembler.
2014-05-23 19:43:16 +00:00
Dmitriy Ivanov
3e72f2894e am 571c1639: am d97458eb: am ce00354f: Merge "Do not add arcs to the soinfo graph on dlopen"
* commit '571c163950479bd41928098415b2cae7602d4743':
  Do not add arcs to the soinfo graph on dlopen
2014-05-23 19:34:47 +00:00
Elliott Hughes
f25f5712f3 am 16933c6a: am 5a95dd14: am ea7dc320: Merge "Add some more BSD symbols to the list."
* commit '16933c6ae9c6b8de8e05374b5b52446f637e6071':
  Add some more BSD symbols to the list.
2014-05-23 19:34:39 +00:00
Elliott Hughes
a03e07a625 am 236130cd: am 3fd88ebe: am 0f79a2f4: Merge "Cleaned up pthread rwlocks implementation."
* commit '236130cd8dab048009ab3fbbe7e24bd7dca8dfa3':
  Cleaned up pthread rwlocks implementation.
2014-05-23 19:34:39 +00:00
Elliott Hughes
c1c1992527 am 57b0f075: am bfa87e27: am ec071ac0: Merge "Remove the tkill(2) stub."
* commit '57b0f075dd66f195c6568e049a9269b9e1e8f016':
  Remove the tkill(2) stub.
2014-05-23 19:34:38 +00:00
The Android Automerger
b3515ef311 am 19cb2c17: merge in master-release history after reset to 2c525659409fb051df19db438c0d3e6b3e5e09d5
* commit '19cb2c175a2527bc58f610d6b7f0a69d7d5592ac':
2014-05-23 18:22:21 +00:00
Calin Juravle
66aba0d8b2 am d2b12988: am b2604949: Merge "Migrate pthread_rwlock implementation away from sys/atomics"
* commit 'd2b129881acb7000f7943bfdb47782f505026cc0':
  Migrate pthread_rwlock implementation away from sys/atomics
2014-05-23 10:14:49 +00:00
Calin Juravle
d2b129881a am b2604949: Merge "Migrate pthread_rwlock implementation away from sys/atomics"
* commit 'b26049490b3a5e054d7440b94c0082e8bfd09f0b':
  Migrate pthread_rwlock implementation away from sys/atomics
2014-05-23 10:11:35 +00:00
Calin Juravle
b26049490b Merge "Migrate pthread_rwlock implementation away from sys/atomics" 2014-05-23 10:07:46 +00:00
Elliott Hughes
8255a971cc am 69068fd9: am fb9a47c7: Merge "Hide various stdio implementation details."
* commit '69068fd919b482028b3afd84a814d48b362a0189':
  Hide various stdio implementation details.
2014-05-23 08:34:57 +00:00
Elliott Hughes
a722fdcdb7 am cdf15e39: am 253fa170: Merge "Lose the hand-written futex assembler."
* commit 'cdf15e3908312493331b20abef422234fbcc1c29':
  Lose the hand-written futex assembler.
2014-05-23 08:34:53 +00:00
Elliott Hughes
69068fd919 am fb9a47c7: Merge "Hide various stdio implementation details."
* commit 'fb9a47c740661a1c578cfc4f16180f14724cbdf5':
  Hide various stdio implementation details.
2014-05-23 07:15:53 +00:00
Elliott Hughes
fb9a47c740 Merge "Hide various stdio implementation details." 2014-05-23 06:28:42 +00:00
Elliott Hughes
cdf15e3908 am 253fa170: Merge "Lose the hand-written futex assembler."
* commit '253fa170a3f6a1edce8ce4b8e6e966b35152b550':
  Lose the hand-written futex assembler.
2014-05-23 05:38:49 +00:00
Elliott Hughes
253fa170a3 Merge "Lose the hand-written futex assembler." 2014-05-23 05:34:28 +00:00
Elliott Hughes
2899de9b05 Hide various stdio implementation details.
I've left __sF exposed since that's how the OpenBSD stdin, stdout, stderr
are implemented. Other BSDs and glibc use a separate global for each instead
of an array.

Bug: 11156955
Change-Id: I9f3d2d4314a8d4a78c3197b9acd9258820c5f150
2014-05-22 20:06:23 -07:00
Elliott Hughes
ced906c849 Lose the hand-written futex assembler.
Also stop exporting 'futex'.

Bug: 12250341
Change-Id: Icc4fa4296cd04dfe0d1061822c69e2eb40c3433a
2014-05-22 19:49:11 -07:00
Dmitriy Ivanov
571c163950 am d97458eb: am ce00354f: Merge "Do not add arcs to the soinfo graph on dlopen"
* commit 'd97458eb877a06ab097a806788580f72349fb09e':
  Do not add arcs to the soinfo graph on dlopen
2014-05-23 02:27:22 +00:00
Dmitriy Ivanov
d97458eb87 am ce00354f: Merge "Do not add arcs to the soinfo graph on dlopen"
* commit 'ce00354fec9dfad87090aad4ec79c418e42e92f4':
  Do not add arcs to the soinfo graph on dlopen
2014-05-23 02:22:42 +00:00
Dmitriy Ivanov
ce00354fec Merge "Do not add arcs to the soinfo graph on dlopen" 2014-05-23 02:19:10 +00:00
Bjorn Andersson
3c005d6019 Do not add arcs to the soinfo graph on dlopen
While introducing RTLD_NOLOAD in b648a8a5 a change in how soinfo structs are
connected was also introduced. When calling dlopen the library that is loaded
is added as a child to the soinfo from which the caller comes - i.e. building a
dependency graph.

Unfortunately this shows issues upon unloading, such as blowing the stack if
there are loops in the graph.

This change reverts that part of b648a8a5, keeping everything as a child of the
root soinfo.

Change-Id: I604ee9210613b19f693a568158e69707620a95db
Signed-off-by: Bjorn Andersson <bjorn.andersson@sonymobile.com>
2014-05-22 19:08:14 -07:00
Elliott Hughes
16933c6ae9 am 5a95dd14: am ea7dc320: Merge "Add some more BSD symbols to the list."
* commit '5a95dd1446ee1563d6500990a8576917b01f2981':
  Add some more BSD symbols to the list.
2014-05-23 02:02:36 +00:00
Elliott Hughes
5a95dd1446 am ea7dc320: Merge "Add some more BSD symbols to the list."
* commit 'ea7dc32080114af59789c119ca6aa4814426ea42':
  Add some more BSD symbols to the list.
2014-05-23 01:58:38 +00:00
Elliott Hughes
236130cd8d am 3fd88ebe: am 0f79a2f4: Merge "Cleaned up pthread rwlocks implementation."
* commit '3fd88ebe0f881438ed07b62d991e46e7f9adab83':
  Cleaned up pthread rwlocks implementation.
2014-05-23 01:56:05 +00:00
Elliott Hughes
ea7dc32080 Merge "Add some more BSD symbols to the list." 2014-05-23 01:53:53 +00:00
Elliott Hughes
45bf4c315d Add some more BSD symbols to the list.
Bug: 11156955
Change-Id: I07489ec63536121dbfc372170ef5cf60a5c58948
2014-05-22 18:53:21 -07:00
Elliott Hughes
3fd88ebe0f am 0f79a2f4: Merge "Cleaned up pthread rwlocks implementation."
* commit '0f79a2f48788c093804c9f61a66105873eb1cb59':
  Cleaned up pthread rwlocks implementation.
2014-05-23 01:52:42 +00:00
Elliott Hughes
57b0f075dd am bfa87e27: am ec071ac0: Merge "Remove the tkill(2) stub."
* commit 'bfa87e27f7c9d19f697bb384429673bb96140d7a':
  Remove the tkill(2) stub.
2014-05-23 01:52:40 +00:00
Elliott Hughes
0f79a2f487 Merge "Cleaned up pthread rwlocks implementation." 2014-05-23 01:47:56 +00:00
Elliott Hughes
bfa87e27f7 am ec071ac0: Merge "Remove the tkill(2) stub."
* commit 'ec071ac062077498dfee3e2171371def7320aa56':
  Remove the tkill(2) stub.
2014-05-23 01:47:49 +00:00
Elliott Hughes
ec071ac062 Merge "Remove the tkill(2) stub." 2014-05-23 01:43:42 +00:00
Calin Juravle
1b676ea5fb Migrate pthread_rwlock implementation away from sys/atomics
Bug: 8133149
Bug: 14903517
Change-Id: Ib85987f53d7aeaec12a980ccb645c4a449c48503
2014-05-23 00:26:24 +01:00
Calin Juravle
92687e41bc Cleaned up pthread rwlocks implementation.
- used underscore_style_for_vars
- extracted time related functionality into a function
- cleaned up style
- removed unused fields from pthread_rwlock_t on LP64
- changed reservation in pthread_rwlock_t so that the size of the
structure equals glibc version

Bug: 8133149

Change-Id: I84ad3918678dc7f5e6b3db9b7e9b0899d3abe9cd
2014-05-23 00:22:58 +01:00
Elliott Hughes
6e599a904b Remove the tkill(2) stub.
glibc doesn't have tkill or tgkill and says "use syscall(3) instead".
I've left tgkill since it's quite widely used, but there's no reason
to have tkill as well.

Bug: 11156955
Change-Id: Ifc0af750320086f829bc9914551c172b501f3b60
2014-05-22 13:41:36 -07:00
Elliott Hughes
9b49321ea5 am 4cf6b531: am 8a326a17: am 4f6ed4a1: Merge "Remove unnecessary #includes of <sys/atomics.h>."
* commit '4cf6b531c2d7408ea5fa754e5b1bf4711c5fe396':
  Remove unnecessary #includes of <sys/atomics.h>.
2014-05-22 18:28:15 +00:00
Dmitriy Ivanov
53f857b235 am 587afa2e: am 88923ba4: am 0b10ffb4: Merge "Fix dlsym_failure NULL handle test"
* commit '587afa2efc040c40e0be3811ad663269c9ffc637':
  Fix dlsym_failure NULL handle test
2014-05-22 18:27:56 +00:00
Elliott Hughes
4cf6b531c2 am 8a326a17: am 4f6ed4a1: Merge "Remove unnecessary #includes of <sys/atomics.h>."
* commit '8a326a17f3b55b4b95f1f06ed4030b5290ca80f0':
  Remove unnecessary #includes of <sys/atomics.h>.
2014-05-22 18:07:50 +00:00
Elliott Hughes
8a326a17f3 am 4f6ed4a1: Merge "Remove unnecessary #includes of <sys/atomics.h>."
* commit '4f6ed4a10951cbd868fec1b0117a276918c60fa1':
  Remove unnecessary #includes of <sys/atomics.h>.
2014-05-22 18:04:54 +00:00
Elliott Hughes
4f6ed4a109 Merge "Remove unnecessary #includes of <sys/atomics.h>." 2014-05-22 18:02:09 +00:00
Calin Juravle
67916021b5 am 5a2f51fc: am dd31f282: am eea59ea2: Merge "Add dprintf test"
* commit '5a2f51fcd1e1ab31a74dc7529d80316fc7243a18':
  Add dprintf test
2014-05-22 18:01:40 +00:00
Elliott Hughes
2ea60ff0b4 Remove unnecessary #includes of <sys/atomics.h>.
Bug: 14903517
Change-Id: I7b5bcebe58774a441da986cc02376dd88e00ea0e
2014-05-22 11:00:21 -07:00
Dmitriy Ivanov
587afa2efc am 88923ba4: am 0b10ffb4: Merge "Fix dlsym_failure NULL handle test"
* commit '88923ba4d8bbb4b47cde66bd66d2690d3cfb5d80':
  Fix dlsym_failure NULL handle test
2014-05-22 17:18:44 +00:00
Dmitriy Ivanov
88923ba4d8 am 0b10ffb4: Merge "Fix dlsym_failure NULL handle test"
* commit '0b10ffb40f3b426a7b5e734f90c41f56351729a0':
  Fix dlsym_failure NULL handle test
2014-05-22 17:14:59 +00:00
Dmitriy Ivanov
0b10ffb40f Merge "Fix dlsym_failure NULL handle test" 2014-05-22 17:10:47 +00:00
Dmitriy Ivanov
44adf93b8e Fix dlsym_failure NULL handle test
* RTLD_DEFAULT != (void*)0 only for bionic32

Change-Id: I3b3758835cf4085b0f899e2b62861591411aec13
2014-05-22 10:06:32 -07:00
Calin Juravle
a959644d5d am 5f8626a3: am db3cda2d: am 254fa885: Merge "Switch to POSIX dprintf/vdprintf."
* commit '5f8626a3755dc397fc48c67ed36243877aea18d7':
  Switch to POSIX dprintf/vdprintf.
2014-05-22 16:49:09 +00:00
Calin Juravle
5a2f51fcd1 am dd31f282: am eea59ea2: Merge "Add dprintf test"
* commit 'dd31f28273ddec95778a4f0e60d9e1b5f1373d40':
  Add dprintf test
2014-05-22 16:11:56 +00:00
Calin Juravle
dd31f28273 am eea59ea2: Merge "Add dprintf test"
* commit 'eea59ea21e04806fff48fdf4ad5ba117dcb0babb':
  Add dprintf test
2014-05-22 16:08:10 +00:00
Calin Juravle
eea59ea21e Merge "Add dprintf test" 2014-05-22 16:03:08 +00:00
Dmitriy Ivanov
9ae38fcdf8 am 1ca1db12: am 5bfa06de: am 3eb9f1f6: Merge "Removed dlsym handle != NULL check for lp64"
* commit '1ca1db1204c8455154406d947db51ee2a4c5770b':
  Removed dlsym handle != NULL check for lp64
2014-05-22 16:02:35 +00:00
The Android Automerger
19cb2c175a merge in master-release history after reset to 2c525659409fb051df19db438c0d3e6b3e5e09d5 2014-05-22 07:21:22 -07:00
Calin Juravle
5f8626a375 am db3cda2d: am 254fa885: Merge "Switch to POSIX dprintf/vdprintf."
* commit 'db3cda2decaa1f04f5e6b8e2d2706c4f17f2db5d':
  Switch to POSIX dprintf/vdprintf.
2014-05-22 13:37:47 +00:00
Calin Juravle
63590a2f95 am 77761e4c: am ddf52021: am d1dc009c: Merge "Add padding to mips ucontext_t."
* commit '77761e4cc8719933bf66be7894e1b3da27bd03dd':
  Add padding to mips ucontext_t.
2014-05-22 13:33:29 +00:00
Calin Juravle
e5d8092d89 am 3625f432: am 841a1a13: am 156c7d3d: Merge "Clean up ucontext.h TODOs."
* commit '3625f432b39c1f9a7f23d2219eb421d4478cd852':
  Clean up ucontext.h TODOs.
2014-05-22 13:33:29 +00:00
Calin Juravle
f9aac10cf3 am d75b6e2e: am 6cec7775: am 17216716: Merge "Mutex-free implementation of pthread_rwlock"
* commit 'd75b6e2e478fddfbdd404d44e0d33383965b2f39':
  Mutex-free implementation of pthread_rwlock
2014-05-22 13:33:28 +00:00
Calin Juravle
db3cda2dec am 254fa885: Merge "Switch to POSIX dprintf/vdprintf."
* commit '254fa8857f5d88a4140cea2ee05056eae7f102b1':
  Switch to POSIX dprintf/vdprintf.
2014-05-22 13:33:21 +00:00
Calin Juravle
254fa8857f Merge "Switch to POSIX dprintf/vdprintf." 2014-05-22 13:28:52 +00:00
Dmitriy Ivanov
1ca1db1204 am 5bfa06de: am 3eb9f1f6: Merge "Removed dlsym handle != NULL check for lp64"
* commit '5bfa06de888770970d56d598960ba7c375998c75':
  Removed dlsym handle != NULL check for lp64
2014-05-22 13:03:27 +00:00
Dmitriy Ivanov
5bfa06de88 am 3eb9f1f6: Merge "Removed dlsym handle != NULL check for lp64"
* commit '3eb9f1f6bade8085520d9b0ec35d84d69563ebe1':
  Removed dlsym handle != NULL check for lp64
2014-05-22 12:59:11 +00:00
Dmitriy Ivanov
3eb9f1f6ba Merge "Removed dlsym handle != NULL check for lp64" 2014-05-22 12:55:15 +00:00
The Android Automerger
fb2d225bc8 merge in master-release history after reset to 486396a8c9f36373987e181b5c7a31e78356c520 2014-05-22 05:49:24 -07:00
Calin Juravle
6afb2a9a97 Add dprintf test
Change-Id: I0fe1b4d45c1312cf01deed6ce5db032d5513e908
2014-05-22 11:47:47 +01:00
Elliott Hughes
fcac8ff97f Switch to POSIX dprintf/vdprintf.
Bug: 11156955
Change-Id: I734bd02db514367ab119a48304aae9767958e367
2014-05-22 11:27:06 +01:00
Calin Juravle
77761e4cc8 am ddf52021: am d1dc009c: Merge "Add padding to mips ucontext_t."
* commit 'ddf520213c2a41831e9d56b01dccd41b04f259f8':
  Add padding to mips ucontext_t.
2014-05-22 10:20:20 +00:00
Calin Juravle
3625f432b3 am 841a1a13: am 156c7d3d: Merge "Clean up ucontext.h TODOs."
* commit '841a1a13ec25885133249960bc5a640c90c12e6a':
  Clean up ucontext.h TODOs.
2014-05-22 10:20:20 +00:00
Calin Juravle
d75b6e2e47 am 6cec7775: am 17216716: Merge "Mutex-free implementation of pthread_rwlock"
* commit '6cec77755ba563f3707f695c99b9d24bff0f1791':
  Mutex-free implementation of pthread_rwlock
2014-05-22 10:20:19 +00:00
Calin Juravle
ddf520213c am d1dc009c: Merge "Add padding to mips ucontext_t."
* commit 'd1dc009c56f650ae4e990b00613f1c2ff93ed3ba':
  Add padding to mips ucontext_t.
2014-05-22 10:18:02 +00:00
Calin Juravle
841a1a13ec am 156c7d3d: Merge "Clean up ucontext.h TODOs."
* commit '156c7d3d0ac4457a051ac7d81ff8541636e0864f':
  Clean up ucontext.h TODOs.
2014-05-22 10:18:01 +00:00
Calin Juravle
6cec77755b am 17216716: Merge "Mutex-free implementation of pthread_rwlock"
* commit '172167163af5412c316a8be2f29ca8622984df32':
  Mutex-free implementation of pthread_rwlock
2014-05-22 10:18:00 +00:00
Calin Juravle
d1dc009c56 Merge "Add padding to mips ucontext_t." 2014-05-22 10:16:41 +00:00
Calin Juravle
156c7d3d0a Merge "Clean up ucontext.h TODOs." 2014-05-22 10:16:12 +00:00
Calin Juravle
172167163a Merge "Mutex-free implementation of pthread_rwlock" 2014-05-22 10:15:03 +00:00
Calin Juravle
76f352eec1 Mutex-free implementation of pthread_rwlock
Bug: 8133149
Change-Id: Id6775010d95f2634b173daa55d87a59a3cf4131b
2014-05-22 11:11:15 +01:00
Dmitriy Ivanov
ca1c80220e Removed dlsym handle != NULL check for lp64
* Removed unnecessary NULL check in dlsym
 * Fixed dlsym_failure test to account for
   correct RTLD_DEFAULT value
 * Added temporary check for legacy RTLD_DEFAULT
   value for non-yet-recompiled binaries

Bug: 15146875
Change-Id: I089fa673762629f5724b6e4fbca019d9cfc39905
2014-05-21 22:42:24 -07:00
Elliott Hughes
2c52565940 am e2d7d274: am 176e71fb: am 3d4a7b02: Merge "Hide most of the private futex functions."
* commit 'e2d7d274f5c6edf38b9a27ad87178619ed6c4ab3':
  Hide most of the private futex functions.
2014-05-22 03:09:10 +00:00
Elliott Hughes
e2d7d274f5 am 176e71fb: am 3d4a7b02: Merge "Hide most of the private futex functions."
* commit '176e71fb52d4ba380404280aade630b29708f002':
  Hide most of the private futex functions.
2014-05-22 03:04:44 +00:00
Elliott Hughes
176e71fb52 am 3d4a7b02: Merge "Hide most of the private futex functions."
* commit '3d4a7b02cc7948c94932c4d71c68f864457d59d6':
  Hide most of the private futex functions.
2014-05-22 03:00:21 +00:00
Elliott Hughes
3d4a7b02cc Merge "Hide most of the private futex functions." 2014-05-22 02:56:41 +00:00
Elliott Hughes
d5ed63a6a8 Hide most of the private futex functions.
Also hide part of the system properties compatibility code, since
we needed to touch that to keep it building.

I'll remove __futex_syscall4 and futex in a later patch.

Bug: 11156955
Change-Id: Ibbf42414c5bb07fb9f1c4a169922844778e4eeae
2014-05-21 18:30:00 -07:00
Christopher Ferris
486396a8c9 am 328b2b6b: am 05645db0: am f97d8713: Merge "Add cfi directives for arm64 assembler."
* commit '328b2b6bfb73ee5bded6719ac15e0a3381c1800f':
  Add cfi directives for arm64 assembler.
2014-05-22 01:22:39 +00:00
Christopher Ferris
328b2b6bfb am 05645db0: am f97d8713: Merge "Add cfi directives for arm64 assembler."
* commit '05645db074c9116e628b3e50b0e88d173eef0a0d':
  Add cfi directives for arm64 assembler.
2014-05-22 01:18:09 +00:00
Christopher Ferris
05645db074 am f97d8713: Merge "Add cfi directives for arm64 assembler."
* commit 'f97d8713a265f44279819ba6b245dd81aada34da':
  Add cfi directives for arm64 assembler.
2014-05-22 01:13:32 +00:00
Christopher Ferris
f97d8713a2 Merge "Add cfi directives for arm64 assembler." 2014-05-22 01:08:22 +00:00
Christopher Ferris
df22a121b2 Add cfi directives for arm64 assembler.
Fix syscall generator to add cfi directives and add the directives
for all arm64 assembler.

Bug: 15138290
Change-Id: I7f0e4a16c141ac624e5276917a3a1ed45778e057
2014-05-21 17:46:52 -07:00
Elliott Hughes
0e00375a5c am 17e44b89: am fc951aae: am bf0a4407: Merge "Remove an unnecessary instruction from arm64 __bionic_clone."
* commit '17e44b89e11286f3dcf7b35f9bb6432864ac085e':
  Remove an unnecessary instruction from arm64 __bionic_clone.
2014-05-22 00:33:42 +00:00
Elliott Hughes
17e44b89e1 am fc951aae: am bf0a4407: Merge "Remove an unnecessary instruction from arm64 __bionic_clone."
* commit 'fc951aaec61f14b2a6053be295408a9a3a8d520a':
  Remove an unnecessary instruction from arm64 __bionic_clone.
2014-05-22 00:27:52 +00:00
Elliott Hughes
fc951aaec6 am bf0a4407: Merge "Remove an unnecessary instruction from arm64 __bionic_clone."
* commit 'bf0a440730d9659146bf1ac1c4141bae5a2f96a7':
  Remove an unnecessary instruction from arm64 __bionic_clone.
2014-05-21 23:56:31 +00:00
Elliott Hughes
bf0a440730 Merge "Remove an unnecessary instruction from arm64 __bionic_clone." 2014-05-21 23:44:55 +00:00
Elliott Hughes
f93f50d7ea Remove an unnecessary instruction from arm64 __bionic_clone.
Change-Id: Ib0dd5079d10b3634901d561932259653945176ee
2014-05-21 16:29:55 -07:00
Christopher Ferris
63900a7110 am 845e5c77: am fc11ebc5: am 3d5a4240: Merge "Fix build."
* commit '845e5c77b551b7b3079f9e6adf1f780f96729c33':
  Fix build.
2014-05-21 19:49:46 +00:00
Christopher Ferris
845e5c77b5 am fc11ebc5: am 3d5a4240: Merge "Fix build."
* commit 'fc11ebc50141c5fcd2d2a9ff36595d72962e7d07':
  Fix build.
2014-05-21 18:53:15 +00:00
Christopher Ferris
fc11ebc501 am 3d5a4240: Merge "Fix build."
* commit '3d5a42408ca24f86b8b81697b20012736cb48c2b':
  Fix build.
2014-05-21 18:50:10 +00:00
Christopher Ferris
3d5a42408c Merge "Fix build." 2014-05-21 18:47:36 +00:00
Christopher Ferris
8d2410d33d Fix build.
Change-Id: I5a35eee4074e35f459c86c7f9b1d9b0754888940
2014-05-21 11:45:51 -07:00
Christopher Ferris
c1df57d60e am bce2357e: am c1be1ecc: am 011076b7: Merge "Support for jemalloc to replace dlmalloc."
* commit 'bce2357e42fdfb45556ec57ccb54d587e645f196':
  Support for jemalloc to replace dlmalloc.
2014-05-21 18:24:30 +00:00
Christopher Ferris
bce2357e42 am c1be1ecc: am 011076b7: Merge "Support for jemalloc to replace dlmalloc."
* commit 'c1be1eccbb22e136de933824cd003c1dad9b17e5':
  Support for jemalloc to replace dlmalloc.
2014-05-21 18:21:28 +00:00
Elliott Hughes
91b4613403 am 68396799: am c5f723ae: am c1b7f44c: Merge "Remove __syslog; we have the public klogctl API."
* commit '683967991425addf38a24024ae5503768a813b64':
  Remove __syslog; we have the public klogctl API.
2014-05-21 18:17:26 +00:00
Christopher Ferris
c1be1eccbb am 011076b7: Merge "Support for jemalloc to replace dlmalloc."
* commit '011076b720b0809a6b94703780e768cd7b877c68':
  Support for jemalloc to replace dlmalloc.
2014-05-21 18:16:41 +00:00
Elliott Hughes
6839679914 am c5f723ae: am c1b7f44c: Merge "Remove __syslog; we have the public klogctl API."
* commit 'c5f723aef55912545b3dc32983a58974c5193e5e':
  Remove __syslog; we have the public klogctl API.
2014-05-21 18:14:08 +00:00
Christopher Ferris
011076b720 Merge "Support for jemalloc to replace dlmalloc." 2014-05-21 18:12:50 +00:00
Elliott Hughes
3db501139b am c323b97c: am 87987df9: am daf69128: Merge "Fix x86_64 __set_tls.c build failure."
* commit 'c323b97c52297c4342dd45e329bad816f3bc5746':
  Fix x86_64 __set_tls.c build failure.
2014-05-21 18:10:23 +00:00
Elliott Hughes
c5f723aef5 am c1b7f44c: Merge "Remove __syslog; we have the public klogctl API."
* commit 'c1b7f44c13fbcbab3faaa8e11d3a459ebc11bfe5':
  Remove __syslog; we have the public klogctl API.
2014-05-21 18:09:55 +00:00
Elliott Hughes
c1b7f44c13 Merge "Remove __syslog; we have the public klogctl API." 2014-05-21 18:07:05 +00:00
Neil Fuller
a073b4ee0a am 55326c4b: am b7a23959: am 76805140: Merge "Treat zero or >1 dat files as an error"
* commit '55326c4b9714cba3e7bf0e27ceea0e2b91240d6f':
  Treat zero or >1 dat files as an error
2014-05-21 17:28:39 +00:00
Calin Juravle
ae0f8f1e48 Add padding to mips ucontext_t.
Bug: 12828904
Change-Id: I49e7adcebf769a9c30dc43def36501260369b1ac
2014-05-21 18:16:17 +01:00
Calin Juravle
eb454522da Clean up ucontext.h TODOs.
There's no need to expose gregset_t and fpregset_t when they
are not used in ucontext_t.

Bug: 12828904
Change-Id: Ieda1edf0ab18015f444c4d385fe9c41c4544017f
2014-05-21 18:15:35 +01:00
Elliott Hughes
c323b97c52 am 87987df9: am daf69128: Merge "Fix x86_64 __set_tls.c build failure."
* commit '87987df99034265fdfeebe315e6545d809379ede':
  Fix x86_64 __set_tls.c build failure.
2014-05-21 17:07:46 +00:00
Elliott Hughes
87987df990 am daf69128: Merge "Fix x86_64 __set_tls.c build failure."
* commit 'daf6912838dd27e3c064c4e7df98b6165549af82':
  Fix x86_64 __set_tls.c build failure.
2014-05-21 17:05:11 +00:00
Elliott Hughes
daf6912838 Merge "Fix x86_64 __set_tls.c build failure." 2014-05-21 17:02:44 +00:00
Elliott Hughes
7136927d39 Fix x86_64 __set_tls.c build failure.
Change-Id: I697b8ab4ce781d7aebeddb1391b63c653511bbcb
2014-05-21 10:02:00 -07:00
Neil Fuller
55326c4b97 am b7a23959: am 76805140: Merge "Treat zero or >1 dat files as an error"
* commit 'b7a23959984c5407d8cc138ccf017da493c1d24e':
  Treat zero or >1 dat files as an error
2014-05-21 16:26:01 +00:00
Neil Fuller
b7a2395998 am 76805140: Merge "Treat zero or >1 dat files as an error"
* commit '768051405e8d471e06447a5b7223c742022f525a':
  Treat zero or >1 dat files as an error
2014-05-21 16:22:27 +00:00
Neil Fuller
768051405e Merge "Treat zero or >1 dat files as an error" 2014-05-21 16:18:59 +00:00
Neil Fuller
43f3715953 Treat zero or >1 dat files as an error
Based on feedback from
I7efbd6f453fe2b3e71f564121ff0f64a74289d86

Change-Id: Ie131ab8475083350dc183d9f6d5ea7a0b0617c5b
2014-05-21 17:18:17 +01:00
Elliott Hughes
b8297bfdf6 am ee2939db: am ceed7b76: am 29f2906b: Merge "Add a few more symbols to check-symbols-glibc."
* commit 'ee2939dbf9d6574394249548e94a31575b4ada2d':
  Add a few more symbols to check-symbols-glibc.
2014-05-21 15:35:58 +00:00
Elliott Hughes
ee2939dbf9 am ceed7b76: am 29f2906b: Merge "Add a few more symbols to check-symbols-glibc."
* commit 'ceed7b76b768aaa0dd84769afd689336f5b5ac98':
  Add a few more symbols to check-symbols-glibc.
2014-05-21 15:32:10 +00:00
Elliott Hughes
66af04b512 am a7293ddb: am 7a611f18: am 9f0a52e4: Merge "Hide __get_sp."
* commit 'a7293ddb8da94cc823ec28b851f69ef2d99a70d4':
  Hide __get_sp.
2014-05-21 15:31:13 +00:00
Elliott Hughes
802383df53 am f55dc413: am 0aa1fb1c: am 7471a370: Merge "Hide __set_tls."
* commit 'f55dc41303417904136902698191fd0f0fe3a061':
  Hide __set_tls.
2014-05-21 15:31:12 +00:00
Elliott Hughes
a7293ddb8d am 7a611f18: am 9f0a52e4: Merge "Hide __get_sp."
* commit '7a611f184d2a8e1a5e8187629ff95ad793d561ac':
  Hide __get_sp.
2014-05-21 15:28:19 +00:00
Elliott Hughes
f55dc41303 am 0aa1fb1c: am 7471a370: Merge "Hide __set_tls."
* commit '0aa1fb1c1672a3bbe63155e05e445826c64aafb7':
  Hide __set_tls.
2014-05-21 15:28:18 +00:00
Elliott Hughes
ceed7b76b7 am 29f2906b: Merge "Add a few more symbols to check-symbols-glibc."
* commit '29f2906bdaf9afe816fc9196437fc07728af98bf':
  Add a few more symbols to check-symbols-glibc.
2014-05-21 15:28:00 +00:00
Elliott Hughes
7a611f184d am 9f0a52e4: Merge "Hide __get_sp."
* commit '9f0a52e4e5afc20a61230e6cbfe735606bff7e0c':
  Hide __get_sp.
2014-05-21 15:24:33 +00:00
Elliott Hughes
0aa1fb1c16 am 7471a370: Merge "Hide __set_tls."
* commit '7471a3700348df588d4da35a41b38f6a88b505fd':
  Hide __set_tls.
2014-05-21 15:24:32 +00:00
Elliott Hughes
29f2906bda Merge "Add a few more symbols to check-symbols-glibc." 2014-05-21 15:23:35 +00:00
Elliott Hughes
9f0a52e4e5 Merge "Hide __get_sp." 2014-05-21 15:21:16 +00:00
Elliott Hughes
7471a37003 Merge "Hide __set_tls." 2014-05-21 15:21:01 +00:00
The Android Automerger
f584321edc merge in master-release history after reset to 9e2595d7b6c246261fbbd8e35a99c2d2463fe4a8 2014-05-21 05:49:22 -07:00
Neil Fuller
9e2595d7b6 am fa5903ed: am 3248b9d3: am 22784885: Merge "Change update-tzdata.py to update ICU data as well"
* commit 'fa5903edf32062d95a4a09f34571a640c1429eb6':
  Change update-tzdata.py to update ICU data as well
2014-05-21 11:17:01 +00:00
Neil Fuller
fa5903edf3 am 3248b9d3: am 22784885: Merge "Change update-tzdata.py to update ICU data as well"
* commit '3248b9d33c14bef51a07146ce93ec810c07c01e3':
  Change update-tzdata.py to update ICU data as well
2014-05-21 08:49:25 +00:00
Neil Fuller
3248b9d33c am 22784885: Merge "Change update-tzdata.py to update ICU data as well"
* commit '227848854695fe5b6f7183fe507edf093808d8ff':
  Change update-tzdata.py to update ICU data as well
2014-05-21 08:44:18 +00:00
Neil Fuller
2278488546 Merge "Change update-tzdata.py to update ICU data as well" 2014-05-21 08:11:40 +00:00
Elliott Hughes
46a55a4478 Remove __syslog; we have the public klogctl API.
Bug: 11156955
Change-Id: I5c2cc02f39f76dd32984135f5c12c10bf2853796
2014-05-20 21:01:00 -07:00
Elliott Hughes
b497c43336 Add a few more symbols to check-symbols-glibc.
Bug: 11156955
Change-Id: Iee0bae6f9742eca188abc7a337371c50888a0ad6
2014-05-20 20:58:23 -07:00
Elliott Hughes
a75869f0b2 Hide __set_tls.
Bug: 11156955
Change-Id: If82c10ae412651361d09591017d1c3a411bd6f0b
2014-05-20 20:32:28 -07:00
Elliott Hughes
dc961faa95 am 58425608: am a9e2ffd8: am 20177b9f: Merge "Remove perf_event_open."
* commit '5842560845af94c2f15a1e7186c800e0f1e6224b':
  Remove perf_event_open.
2014-05-21 03:28:15 +00:00
Elliott Hughes
5842560845 am a9e2ffd8: am 20177b9f: Merge "Remove perf_event_open."
* commit 'a9e2ffd8e5cb385d85000c02636514d439bcedec':
  Remove perf_event_open.
2014-05-21 03:25:52 +00:00
Elliott Hughes
c3705f6415 Hide __get_sp.
Bug: 11156955
Change-Id: I55d8d320521e80c2085af28933a18b00cf5c714e
2014-05-20 20:22:50 -07:00
Elliott Hughes
a9e2ffd8e5 am 20177b9f: Merge "Remove perf_event_open."
* commit '20177b9fea893ab63a49cf574790ea5e5027e50d':
  Remove perf_event_open.
2014-05-21 03:22:22 +00:00
Elliott Hughes
20177b9fea Merge "Remove perf_event_open." 2014-05-21 03:11:58 +00:00
Colin Cross
4d9fe6863f am 57889849: am 8a6217df: am 3d2bc5d6: Merge "HACK: linker: check for handle==0xffffffff on LP64"
* commit '5788984925a13b964c8003616773695fa4ef519b':
  HACK: linker: check for handle==0xffffffff on LP64
2014-05-21 00:01:48 +00:00
Colin Cross
5788984925 am 8a6217df: am 3d2bc5d6: Merge "HACK: linker: check for handle==0xffffffff on LP64"
* commit '8a6217df921eadf7e2f92fb82f2e6f1bfe36d5cb':
  HACK: linker: check for handle==0xffffffff on LP64
2014-05-20 23:45:48 +00:00
Colin Cross
8a6217df92 am 3d2bc5d6: Merge "HACK: linker: check for handle==0xffffffff on LP64"
* commit '3d2bc5d6c8f08e587a8dad848829f98776549ba6':
  HACK: linker: check for handle==0xffffffff on LP64
2014-05-20 23:36:41 +00:00
Elliott Hughes
4e631ba568 Remove perf_event_open.
This was accidentally added at a time when you couldn't add a constant
to <syscall.h> without generating an assembly stub! (You no longer need
to add the constants at all.)

Bug: 11156955
Change-Id: I053c17879138787976c744a5ecf7d30ee51dc48f
2014-05-20 16:24:55 -07:00
Colin Cross
3d2bc5d6c8 Merge "HACK: linker: check for handle==0xffffffff on LP64" 2014-05-20 23:03:07 +00:00
Colin Cross
346fea0805 HACK: linker: check for handle==0xffffffff on LP64
bionic RTLD_NEXT was changed from 0xffffffff to -1L, which breaks
existing binaries compiled.  Temporarily look either until we can
get recompiled binaries.

Bug: 15113039
Change-Id: I1568fa0e4a832c5e6df21da74a33b22bde7f16f6
2014-05-20 15:19:02 -07:00
Colin Cross
ddc7f830ce HACK: linker: check for handle==0xffffffff on LP64
bionic RTLD_NEXT was changed from 0xffffffff to -1L, which breaks
existing binaries compiled.  Temporarily look either until we can
get recompiled binaries.

Bug: 15113039
Change-Id: I1568fa0e4a832c5e6df21da74a33b22bde7f16f6
2014-05-20 15:10:01 -07:00
Christopher Ferris
72bbd42357 Support for jemalloc to replace dlmalloc.
To use jemalloc, add MALLOC_IMPL = jemalloc in a board config file
and you get the new version automatically.

Update the pthread_create_key tests since jemalloc uses a few keys.
Add a new test to verify memalign works as expected.

Bug: 981363

Change-Id: I16eb152b291a95bd2499e90492fc6b4bd7053836
2014-05-20 14:47:33 -07:00
Christopher Ferris
223069e0e1 am 1a5d6435: am 78f22ecb: am afb89c2a: Merge "denver: optimize memmove"
* commit '1a5d64357968393d03c66c564066add0d589b760':
  denver: optimize memmove
2014-05-20 20:18:04 +00:00
Dmitriy Ivanov
a67d3168b9 am 45c1baf1: am 87ce52ac: am f092feb8: Merge "Add R_X86_64_64 to the list of possible weak relocs"
* commit '45c1baf1ad7cc5e31a09cd11740846a0ba69041c':
  Add R_X86_64_64 to the list of possible weak relocs
2014-05-20 20:17:55 +00:00
Dmitriy Ivanov
8151d09639 am 1350ed3d: am 5277e772: am 0a8f296e: Merge "Add RTLD_NOLOAD support and some related changes."
* commit '1350ed3d5252ed2beb8eb06564660c2cc97747f9':
  Add RTLD_NOLOAD support and some related changes.
2014-05-20 20:17:54 +00:00
Christopher Ferris
1a5d643579 am 78f22ecb: am afb89c2a: Merge "denver: optimize memmove"
* commit '78f22ecb6d10c163165e9c7b294bb613a1af3a0a':
  denver: optimize memmove
2014-05-20 20:03:40 +00:00
Christopher Ferris
78f22ecb6d am afb89c2a: Merge "denver: optimize memmove"
* commit 'afb89c2a01089bb247456634a15a58f111bb55a6':
  denver: optimize memmove
2014-05-20 19:59:32 +00:00
Christopher Ferris
afb89c2a01 Merge "denver: optimize memmove" 2014-05-20 19:56:13 +00:00
Shu Zhang
6c80ccdeed denver: optimize memmove
Optimize 32-bit denver memmove with reversal memcpy.

Change-Id: Iaad0a9475248cdd7e4f50d58bea9db1b767abc88
2014-05-20 12:31:38 -07:00
Dmitriy Ivanov
45c1baf1ad am 87ce52ac: am f092feb8: Merge "Add R_X86_64_64 to the list of possible weak relocs"
* commit '87ce52ac08dd43bed0ceb16f284d5f73f40c7804':
  Add R_X86_64_64 to the list of possible weak relocs
2014-05-20 19:19:53 +00:00
Dmitriy Ivanov
1350ed3d52 am 5277e772: am 0a8f296e: Merge "Add RTLD_NOLOAD support and some related changes."
* commit '5277e7726fced48505cc147310bdbca91c9d0668':
  Add RTLD_NOLOAD support and some related changes.
2014-05-20 19:19:52 +00:00
Dmitriy Ivanov
87ce52ac08 am f092feb8: Merge "Add R_X86_64_64 to the list of possible weak relocs"
* commit 'f092feb81b36d024a3da4318a340e069ca1c2d3d':
  Add R_X86_64_64 to the list of possible weak relocs
2014-05-20 19:16:50 +00:00
Dmitriy Ivanov
5277e7726f am 0a8f296e: Merge "Add RTLD_NOLOAD support and some related changes."
* commit '0a8f296e09c34a8eb21099d2a49e70b1b2641faa':
  Add RTLD_NOLOAD support and some related changes.
2014-05-20 19:16:49 +00:00
Dmitriy Ivanov
f092feb81b Merge "Add R_X86_64_64 to the list of possible weak relocs" 2014-05-20 19:11:25 +00:00
Dmitriy Ivanov
0a8f296e09 Merge "Add RTLD_NOLOAD support and some related changes." 2014-05-20 19:11:09 +00:00
Dmitriy Ivanov
b648a8a57e Add RTLD_NOLOAD support and some related changes.
* Aligned RTLD_ values with glibc for lp64
 * dlopen supports RTLD_NOLOAD flag
 * soinfo_unload calls find_library(.., RTLD_NOLOAD)
   instead of naive find_loaded_library_by_name()
 * dlopen changed to add child to caller soinfo instead
   of somain.

Bug: https://code.google.com/p/android/issues/detail?id=64069
Change-Id: I1a65f2c34f3e0edc6d2c41a2e408b58195feb640
2014-05-20 12:02:24 -07:00
Elliott Hughes
7435e9e974 am 7bdf1e48: am da095f3c: am ce0e1b81: Merge "Add a script for finding symbols in bionic that aren\'t in glibc."
* commit '7bdf1e48ff8711f35163f95764bb1d467b205b96':
  Add a script for finding symbols in bionic that aren't in glibc.
2014-05-20 18:35:30 +00:00
Elliott Hughes
7bdf1e48ff am da095f3c: am ce0e1b81: Merge "Add a script for finding symbols in bionic that aren\'t in glibc."
* commit 'da095f3cd10a117fb36acfd2d0650f86e46da69b':
  Add a script for finding symbols in bionic that aren't in glibc.
2014-05-20 18:30:08 +00:00
Elliott Hughes
da095f3cd1 am ce0e1b81: Merge "Add a script for finding symbols in bionic that aren\'t in glibc."
* commit 'ce0e1b81cc434f613d039e7c9d9b852cca0b69ed':
  Add a script for finding symbols in bionic that aren't in glibc.
2014-05-20 18:27:55 +00:00
Elliott Hughes
ce0e1b81cc Merge "Add a script for finding symbols in bionic that aren't in glibc." 2014-05-20 18:25:24 +00:00
Dmitriy Ivanov
8de39cd11d am 11a6b260: am 486628a3: am 0b9a72ce: Merge "Fix lookup-by-base-name for lp64"
* commit '11a6b260f194d69591aa058d05d46e62601d496c':
  Fix lookup-by-base-name for lp64
2014-05-20 18:16:00 +00:00
Calin Juravle
077cbee5d1 am 995b9704: am bcd1a312: am b2b0f7e1: Merge "Add uc_regspace to arm\'s ucontext_t"
* commit '995b9704d8ba70d4d09ef0c3453d5f25ed099816':
  Add uc_regspace to arm's ucontext_t
2014-05-20 18:15:40 +00:00
Dmitriy Ivanov
11a6b260f1 am 486628a3: am 0b9a72ce: Merge "Fix lookup-by-base-name for lp64"
* commit '486628a3a570a6ae62ac322dcd75a25a285a4151':
  Fix lookup-by-base-name for lp64
2014-05-20 16:04:27 +00:00
Dmitriy Ivanov
486628a3a5 am 0b9a72ce: Merge "Fix lookup-by-base-name for lp64"
* commit '0b9a72ce1124f17d514b93c0d26dea76ce8069f0':
  Fix lookup-by-base-name for lp64
2014-05-20 15:59:22 +00:00
Dmitriy Ivanov
0b9a72ce11 Merge "Fix lookup-by-base-name for lp64" 2014-05-20 15:53:52 +00:00
Pavel Chupin
bb5bb2046f Add R_X86_64_64 to the list of possible weak relocs
Change-Id: I768a5948d89701a1719734954a3524d3c7187e6a
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-05-20 16:53:33 +04:00
The Android Automerger
e49c966c24 merge in master-release history after reset to b85444009872fb5109f63d70d3ea20e36c6cbcde 2014-05-20 05:49:19 -07:00
Neil Fuller
246c688020 Change update-tzdata.py to update ICU data as well
The update-tzdata.py tool now uses downloaded Olson data
to update ICU (*new*) at the same time as it updates Bionic
data.

Change-Id: I7efbd6f453fe2b3e71f564121ff0f64a74289d86
2014-05-20 11:48:43 +01:00
Calin Juravle
995b9704d8 am bcd1a312: am b2b0f7e1: Merge "Add uc_regspace to arm\'s ucontext_t"
* commit 'bcd1a312ae34021eda8b0ca3635592b76380e25f':
  Add uc_regspace to arm's ucontext_t
2014-05-20 10:20:59 +00:00
Calin Juravle
bcd1a312ae am b2b0f7e1: Merge "Add uc_regspace to arm\'s ucontext_t"
* commit 'b2b0f7e1ae0a0459b41a7732b84f58d62373e512':
  Add uc_regspace to arm's ucontext_t
2014-05-20 10:17:12 +00:00
Calin Juravle
b2b0f7e1ae Merge "Add uc_regspace to arm's ucontext_t" 2014-05-20 10:14:49 +00:00
Dmitriy Ivanov
489e498434 Fix lookup-by-base-name for lp64
Bug:https://code.google.com/p/android/issues/detail?id=6670
Change-Id: I5b70e7cde7f40799148aca0a91fb2bb08e0f2b54
2014-05-19 19:15:06 -07:00
Elliott Hughes
5a93e88c7f Add a script for finding symbols in bionic that aren't in glibc.
Bug: 11156955
Change-Id: I9772f054f6a92b842531df084dee0ea9c28806be
2014-05-19 18:01:07 -07:00
Elliott Hughes
b854440098 am 6cdd33db: am 509348b8: am c4794a74: Merge "Use -fvisibility=hidden to build libm."
* commit '6cdd33db4ad73f337530d2be33532f005a114c57':
  Use -fvisibility=hidden to build libm.
2014-05-20 00:58:00 +00:00
Elliott Hughes
6cdd33db4a am 509348b8: am c4794a74: Merge "Use -fvisibility=hidden to build libm."
* commit '509348b8ffbeddcd76be4a8117184e6592382ad4':
  Use -fvisibility=hidden to build libm.
2014-05-20 00:54:19 +00:00
Elliott Hughes
509348b8ff am c4794a74: Merge "Use -fvisibility=hidden to build libm."
* commit 'c4794a745c17763729c18f64ae3ccef437a53dcd':
  Use -fvisibility=hidden to build libm.
2014-05-20 00:51:15 +00:00
Elliott Hughes
c4794a745c Merge "Use -fvisibility=hidden to build libm." 2014-05-20 00:48:14 +00:00
Dan Albert
ac7778e1ce am 9e69a2e8: am 898f8053: am 05b37cfc: Merge "Revert "Removes bionic\'s dependence on stlport""
* commit '9e69a2e8ccccae557e40145bbe15a438dc3f336d':
  Revert "Removes bionic's dependence on stlport"
2014-05-20 00:23:12 +00:00
Dan Albert
28f4bdaa39 am a484e2d4: am 1f71e131: am 036bf65a: Merge "Removes bionic\'s dependence on stlport"
* commit 'a484e2d4fcaaaf03ce0c095d638755c7c737a1f0':
  Removes bionic's dependence on stlport
2014-05-20 00:23:10 +00:00
Dan Albert
4cc742e920 am 60bab8a7: am d8cc98ad: am 94a9ba2b: Merge "Removes RTTI support from libc"
* commit '60bab8a7ef30f72eb26a843afc3e0bdd02d3796d':
  Removes RTTI support from libc
2014-05-20 00:23:09 +00:00
Elliott Hughes
310ecf1ae9 am 348adca2: am be3db39e: am 948acf71: Merge "Switch back to OpenBSD inet_ntop now they\'re FORTIFY clean."
* commit '348adca20e68c42bdfbf594aaa675062d3595761':
  Switch back to OpenBSD inet_ntop now they're FORTIFY clean.
2014-05-20 00:23:09 +00:00
Sreeram Ramachandran
7c30167b3a am d70e0c88: am 54c83fee: am 9925c1a8: Merge "Mark sockets on creation (socket()) and accept4()."
* commit 'd70e0c884c19c08aa44c038dbf2f12a5b55c73fe':
  Mark sockets on creation (socket()) and accept4().
2014-05-20 00:23:03 +00:00
Ben Cheng
0d225606ec am 10a1ecb4: am d9798383: am 77338a29: Merge "Address additional warnings found by GCC 4.9."
* commit '10a1ecb4cbbc6a7236b12ad9c3dbc9b645091135':
  Address additional warnings found by GCC 4.9.
2014-05-20 00:23:01 +00:00
Sreeram Ramachandran
59f3405d50 am f65c4db3: am 1c99b23c: am 172ab0f6: Merge "Query libnetd_client for the appropriate netId for host resolution."
* commit 'f65c4db319feaeec844c8cf3f3eb920a134900e7':
  Query libnetd_client for the appropriate netId for host resolution.
2014-05-20 00:23:00 +00:00
Dan Albert
9e69a2e8cc am 898f8053: am 05b37cfc: Merge "Revert "Removes bionic\'s dependence on stlport""
* commit '898f80538043ff6c296e13e6b86b1b8fcb87bddf':
  Revert "Removes bionic's dependence on stlport"
2014-05-20 00:00:10 +00:00
Elliott Hughes
de9ac71053 Use -fvisibility=hidden to build libm.
Bug: 11156955
Change-Id: I77b7772a44313a1eb3970f5d2c8e2af63690efa4
2014-05-19 16:58:52 -07:00
Dan Albert
898f805380 am 05b37cfc: Merge "Revert "Removes bionic\'s dependence on stlport""
* commit '05b37cfc182017876468445c589568ea0f27a3b7':
  Revert "Removes bionic's dependence on stlport"
2014-05-19 23:50:28 +00:00
Dan Albert
05b37cfc18 Merge "Revert "Removes bionic's dependence on stlport"" 2014-05-19 23:48:06 +00:00
Dan Albert
7a39094465 Revert "Removes bionic's dependence on stlport"
This reverts commit 4d35da1df8b74c1965b2201f6089e7d7bb352def.

Change-Id: Ie9a2620441edb55dbc5949e13a4b913ea4e66797
2014-05-19 23:46:51 +00:00
Dan Albert
a484e2d4fc am 1f71e131: am 036bf65a: Merge "Removes bionic\'s dependence on stlport"
* commit '1f71e131b61721bfca7efe72e3b39f9a0dd4c41b':
  Removes bionic's dependence on stlport
2014-05-19 23:39:06 +00:00
Dan Albert
1f71e131b6 am 036bf65a: Merge "Removes bionic\'s dependence on stlport"
* commit '036bf65a9f295562a0e99a36683454323c4639b2':
  Removes bionic's dependence on stlport
2014-05-19 23:35:02 +00:00
Dan Albert
036bf65a9f Merge "Removes bionic's dependence on stlport" 2014-05-19 23:31:34 +00:00
Dan Albert
60bab8a7ef am d8cc98ad: am 94a9ba2b: Merge "Removes RTTI support from libc"
* commit 'd8cc98ad0cb76d0e3328c5eda407cc77aa434628':
  Removes RTTI support from libc
2014-05-19 23:30:37 +00:00
Elliott Hughes
348adca20e am be3db39e: am 948acf71: Merge "Switch back to OpenBSD inet_ntop now they\'re FORTIFY clean."
* commit 'be3db39e213990af69a68f5070455a59775b24ee':
  Switch back to OpenBSD inet_ntop now they're FORTIFY clean.
2014-05-19 23:26:23 +00:00
Dan Albert
d8cc98ad0c am 94a9ba2b: Merge "Removes RTTI support from libc"
* commit '94a9ba2b4a4d8be7e3520e34bfc7bd47ff7af0ce':
  Removes RTTI support from libc
2014-05-19 23:26:03 +00:00
Elliott Hughes
be3db39e21 am 948acf71: Merge "Switch back to OpenBSD inet_ntop now they\'re FORTIFY clean."
* commit '948acf710ed9be223696288466d4f4a566169ec5':
  Switch back to OpenBSD inet_ntop now they're FORTIFY clean.
2014-05-19 23:22:21 +00:00
Dan Albert
94a9ba2b4a Merge "Removes RTTI support from libc" 2014-05-19 23:21:46 +00:00
Elliott Hughes
948acf710e Merge "Switch back to OpenBSD inet_ntop now they're FORTIFY clean." 2014-05-19 23:19:32 +00:00
Elliott Hughes
f51d3e8767 Switch back to OpenBSD inet_ntop now they're FORTIFY clean.
Change-Id: I04798a4966c352a8a12feebdff9646e3bad5933f
2014-05-19 15:55:29 -07:00
Sreeram Ramachandran
d70e0c884c am 54c83fee: am 9925c1a8: Merge "Mark sockets on creation (socket()) and accept4()."
* commit '54c83feebfc3b2046ed9e060e19ba6793dec17c4':
  Mark sockets on creation (socket()) and accept4().
2014-05-19 22:45:00 +00:00
Sreeram Ramachandran
54c83feebf am 9925c1a8: Merge "Mark sockets on creation (socket()) and accept4()."
* commit '9925c1a8f717b006b4245880c16f91e5f5f3b40a':
  Mark sockets on creation (socket()) and accept4().
2014-05-19 22:42:30 +00:00
Sreeram Ramachandran
9925c1a8f7 Merge "Mark sockets on creation (socket()) and accept4()." 2014-05-19 22:39:05 +00:00
Ben Cheng
10a1ecb4cb am d9798383: am 77338a29: Merge "Address additional warnings found by GCC 4.9."
* commit 'd979838321ffe232cd4b37d9b73ee2ec41e99850':
  Address additional warnings found by GCC 4.9.
2014-05-19 22:34:25 +00:00
Ben Cheng
d979838321 am 77338a29: Merge "Address additional warnings found by GCC 4.9."
* commit '77338a2969c4b5d6de5200c326ef67d6a82e95b2':
  Address additional warnings found by GCC 4.9.
2014-05-19 22:30:09 +00:00
Ben Cheng
77338a2969 Merge "Address additional warnings found by GCC 4.9." 2014-05-19 22:28:10 +00:00
Sreeram Ramachandran
f65c4db319 am 1c99b23c: am 172ab0f6: Merge "Query libnetd_client for the appropriate netId for host resolution."
* commit '1c99b23cc1ff5f1de658d7377cedf6e43b20f39b':
  Query libnetd_client for the appropriate netId for host resolution.
2014-05-19 22:23:55 +00:00
Sreeram Ramachandran
1c99b23cc1 am 172ab0f6: Merge "Query libnetd_client for the appropriate netId for host resolution."
* commit '172ab0f65035013565ec57f52ece663082683698':
  Query libnetd_client for the appropriate netId for host resolution.
2014-05-19 22:21:23 +00:00
Sreeram Ramachandran
903b78873a Mark sockets on creation (socket()) and accept4().
Remove the separate syscall for accept() and implement it as accept4(..., 0).

Change-Id: Ib0b8f5d7c5013b91eae6bbc3847852eb355c7714
2014-05-19 15:19:16 -07:00
Sreeram Ramachandran
172ab0f650 Merge "Query libnetd_client for the appropriate netId for host resolution." 2014-05-19 22:16:47 +00:00
Ben Cheng
caff5f2e1a Address additional warnings found by GCC 4.9.
Change-Id: If668a6eb98a6ce7b2872f528b8e3527638814f68
2014-05-19 14:27:31 -07:00
Paul Jensen
5240b562e7 Query libnetd_client for the appropriate netId for host resolution.
If libnetd_client can't be found, operate as before and use the default netId
potentially overriden by a more specific netId passed in to
android_get*fornet().

(cherry picked from commit 559c7842cc6862568d9b5799fc0bcf74d58b596b)

Change-Id: I42ef3293172651870fb46d2de22464c4f03e8e0b
2014-05-19 12:49:52 -07:00
Dan Albert
4d35da1df8 Removes bionic's dependence on stlport
Only affects tests/benchmarks. Confirmed passing on arm.

Change-Id: If158e23e8cd06e7597ef6f3c9376f6799b467e62
2014-05-19 11:33:14 -07:00
Calin Juravle
0e85fb6121 Add uc_regspace to arm's ucontext_t
Bug: 12828904
Bug: 12875898
Change-Id: Ic5d532bd0ef58cad9e36a99fc2995c4b069121b2
2014-05-19 19:14:03 +01:00
Dan Albert
48ee47ce25 Removes RTTI support from libc
Our type_info stub implementation is incompatible with the libc++ headers. Since
we don't need this support internally and anyone that wants RTTI support will
have to use libc++ anyway, this can be safely removed.

Change-Id: Ied8b67a0d86a4eb0e31191a50cceba0e39a16a6d
2014-05-19 10:32:42 -07:00
Sreeram Ramachandran
57a2627575 Fix build breakage.
Change-Id: I1835198c64c28021b81f0c790f108685a3f456c7
2014-05-19 10:21:39 -07:00
Sreeram Ramachandran
7fe1063797 resolved conflicts for merge of e7329284 to master
Change-Id: Iaeb09451ed1a268a025ce3033ab018f28f954848
2014-05-19 09:57:54 -07:00
Sreeram Ramachandran
e732928425 am 0617c73f: am 308c30af: Merge "Cosmetic changes to netd client files."
* commit '0617c73f918ccfa5b836e1ae11c06a060f447469':
  Cosmetic changes to netd client files.
2014-05-19 16:52:14 +00:00
Sreeram Ramachandran
0617c73f91 am 308c30af: Merge "Cosmetic changes to netd client files."
* commit '308c30af72da7b13938934ba5037dd347b1ef139':
  Cosmetic changes to netd client files.
2014-05-19 16:48:50 +00:00
Sreeram Ramachandran
308c30af72 Merge "Cosmetic changes to netd client files." 2014-05-19 16:45:53 +00:00
The Android Automerger
3b44079a09 merge in master-release history after reset to bf701a1a92937ee7caa01d2df05a1ecd641cade1 2014-05-19 05:49:12 -07:00
Paul Jensen
559c7842cc Query libnetd_client for the appropriate netId for host resolution.
If libnetd_client can't be found, operate as before and use the default netId
potentially overriden by a more specific netId passed in to
android_get*fornet().

Change-Id: I42ef3293172651870fb46d2de22464c4f03e8e0b
2014-05-19 11:23:12 +00:00
Christopher Ferris
bf701a1a92 am 1937b329: am 8fccb27f: am 3a757f40: Merge "Accuracy tests for libm"
* commit '1937b329604a19abc85bbd252cf1e7d49ca980f0':
  Accuracy tests for libm
2014-05-19 02:29:40 +00:00
Christopher Ferris
1937b32960 am 8fccb27f: am 3a757f40: Merge "Accuracy tests for libm"
* commit '8fccb27f951a9c790a92dc4619fef744c59aba9e':
  Accuracy tests for libm
2014-05-19 02:26:57 +00:00
Christopher Ferris
8fccb27f95 am 3a757f40: Merge "Accuracy tests for libm"
* commit '3a757f403ba98ab2132ceb8d290dfafea6c4c7a5':
  Accuracy tests for libm
2014-05-19 02:23:16 +00:00
Christopher Ferris
3a757f403b Merge "Accuracy tests for libm" 2014-05-19 02:19:58 +00:00
Sreeram Ramachandran
72c53933f8 Cosmetic changes to netd client files.
+ Name the dispatch header correctly (NetdClientDispatch.h).
+ Hide the global dispatch variable (__netdClientDispatch).
+ Explain why it's okay to read the variable without locking.
+ Use quotes instead of angle-brackets for non-system includes.
+ Add necessary declarations for C compiles (and not just C++).

Change-Id: Id0932165e71d81da5fce77a684f40c2263f58e61
2014-05-18 15:18:36 -07:00
The Android Automerger
a8250a6360 merge in master-release history after reset to de546168fce332cd5e825cb1ae0fa4197015d5ea 2014-05-18 05:49:09 -07:00
The Android Automerger
008ab8ce31 merge in master-release history after reset to de546168fce332cd5e825cb1ae0fa4197015d5ea 2014-05-17 05:49:30 -07:00
Elliott Hughes
de546168fc am ad064403: am 6e37ebfe: am 6c83305c: Merge "Rethrow SIGTRAP too."
* commit 'ad064403363cf1cafc497ef8a086184318d5e6cf':
  Rethrow SIGTRAP too.
2014-05-17 00:42:52 +00:00
Elliott Hughes
ad06440336 am 6e37ebfe: am 6c83305c: Merge "Rethrow SIGTRAP too."
* commit '6e37ebfe5cb037bba00967d4b3e891c122ec4904':
  Rethrow SIGTRAP too.
2014-05-17 00:40:39 +00:00
Elliott Hughes
6e37ebfe5c am 6c83305c: Merge "Rethrow SIGTRAP too."
* commit '6c83305c9a0c43eff407f3b4a2ff10ad0be26f01':
  Rethrow SIGTRAP too.
2014-05-17 00:38:01 +00:00
Elliott Hughes
6c83305c9a Merge "Rethrow SIGTRAP too." 2014-05-17 00:35:34 +00:00
Elliott Hughes
00c855eb3d Rethrow SIGTRAP too.
Bug: 15024256
Change-Id: I0347da9698a6ccd317ce6e6f7916d710d66e0f8a
2014-05-16 17:34:13 -07:00
Elliott Hughes
3810729e54 am 91a7e878: am 81e4ab45: am 8b9a22f3: Merge "Fix the newly-introduced warning and turn on -Werror."
* commit '91a7e878f22776c8b15fb1aceb4823718611fe12':
  Fix the newly-introduced warning and turn on -Werror.
2014-05-17 00:23:14 +00:00
Elliott Hughes
92fd345436 am 0a26974e: am dc9ac844: am 2071b983: Merge "debugger.cpp should know the names of the signals it catches."
* commit '0a26974e5291a56bdd06a8b0bb25101dde408181':
  debugger.cpp should know the names of the signals it catches.
2014-05-17 00:23:14 +00:00
Elliott Hughes
91a7e878f2 am 81e4ab45: am 8b9a22f3: Merge "Fix the newly-introduced warning and turn on -Werror."
* commit '81e4ab453a43fc490205cc42d0be391495fe9686':
  Fix the newly-introduced warning and turn on -Werror.
2014-05-17 00:19:59 +00:00
Elliott Hughes
0a26974e52 am dc9ac844: am 2071b983: Merge "debugger.cpp should know the names of the signals it catches."
* commit 'dc9ac8449cee4d6ddb9afa57c730e8b3aedb83a5':
  debugger.cpp should know the names of the signals it catches.
2014-05-17 00:19:59 +00:00
Elliott Hughes
81e4ab453a am 8b9a22f3: Merge "Fix the newly-introduced warning and turn on -Werror."
* commit '8b9a22f30a6cfc58f35ad5964d90319d5f3c9cd5':
  Fix the newly-introduced warning and turn on -Werror.
2014-05-17 00:17:06 +00:00
Elliott Hughes
dc9ac8449c am 2071b983: Merge "debugger.cpp should know the names of the signals it catches."
* commit '2071b98341915dbf63d222539c455f1d60e1a233':
  debugger.cpp should know the names of the signals it catches.
2014-05-17 00:17:05 +00:00
Elliott Hughes
8b9a22f30a Merge "Fix the newly-introduced warning and turn on -Werror." 2014-05-17 00:16:05 +00:00
Elliott Hughes
2071b98341 Merge "debugger.cpp should know the names of the signals it catches." 2014-05-17 00:14:46 +00:00
Elliott Hughes
62e35755eb debugger.cpp should know the names of the signals it catches.
Change-Id: I37908b07739ad465652f143848c52bc1ef19e421
2014-05-16 16:59:54 -07:00
Elliott Hughes
4c2da039ba Fix the newly-introduced warning and turn on -Werror.
I cleaned up most of our warnings last week but forgot to turn on -Werror,
so of course we're getting new warnings already. I've left -Werror commented
out in those places where we still have warnings to deal with before we can
turn on -Werror.

Change-Id: Ia58ff8b8c1ada4bf81eec6f19ec1d34e133cf4b1
2014-05-16 16:50:34 -07:00
Elliott Hughes
0f43d02843 am 19a54ce4: am 88a8e09b: am 5e6e3edb: Merge "Export get_malloc_leak_info and free_malloc_leak_info, used by ddms."
* commit '19a54ce4d446cdea01a7d50c2951481f3ed006bd':
  Export get_malloc_leak_info and free_malloc_leak_info, used by ddms.
2014-05-16 23:40:25 +00:00
Elliott Hughes
19a54ce4d4 am 88a8e09b: am 5e6e3edb: Merge "Export get_malloc_leak_info and free_malloc_leak_info, used by ddms."
* commit '88a8e09bcf1bd498afbf4104c8a6a46ac76b4625':
  Export get_malloc_leak_info and free_malloc_leak_info, used by ddms.
2014-05-16 23:36:50 +00:00
Elliott Hughes
88a8e09bcf am 5e6e3edb: Merge "Export get_malloc_leak_info and free_malloc_leak_info, used by ddms."
* commit '5e6e3edbba20bf5a166ea9d06a8f2f38a40e122f':
  Export get_malloc_leak_info and free_malloc_leak_info, used by ddms.
2014-05-16 23:33:54 +00:00
Elliott Hughes
f4ad3d6dd7 am b95ce9b3: am 838c5c25: am a23ee2cf: Merge "Hide _exit_with_stack_teardown."
* commit 'b95ce9b3d7b94878cb1a42e19cf059ad4d1455e8':
  Hide _exit_with_stack_teardown.
2014-05-16 23:33:44 +00:00
Elliott Hughes
5e6e3edbba Merge "Export get_malloc_leak_info and free_malloc_leak_info, used by ddms." 2014-05-16 23:30:53 +00:00
Elliott Hughes
b95ce9b3d7 am 838c5c25: am a23ee2cf: Merge "Hide _exit_with_stack_teardown."
* commit '838c5c25705fbdd79de1ddde1d0f45e59eb83349':
  Hide _exit_with_stack_teardown.
2014-05-16 23:30:14 +00:00
Elliott Hughes
7c9923d05f Export get_malloc_leak_info and free_malloc_leak_info, used by ddms.
Bug: 11156955
Change-Id: I84043f7b2c0ea0e336f6e2af3b7adb2f8488bd53
2014-05-16 16:29:55 -07:00
Elliott Hughes
838c5c2570 am a23ee2cf: Merge "Hide _exit_with_stack_teardown."
* commit 'a23ee2cf8e8665efe4e0929467782fad7ad31661':
  Hide _exit_with_stack_teardown.
2014-05-16 23:26:30 +00:00
Elliott Hughes
a23ee2cf8e Merge "Hide _exit_with_stack_teardown." 2014-05-16 23:23:36 +00:00
Elliott Hughes
31d0398de6 Hide _exit_with_stack_teardown.
Bug: 11156955
Change-Id: Ida3020343c9975177dc324918cd1f10c455eb173
2014-05-16 16:17:44 -07:00
Elliott Hughes
7c8d98db59 am f8cb4542: am 30f89b6f: am aafa3d0e: Merge "Hide various debug malloc implementation details."
* commit 'f8cb45429b2cd4df8908f998fdc72b0fa235474a':
  Hide various debug malloc implementation details.
2014-05-16 23:15:33 +00:00
Elliott Hughes
f8cb45429b am 30f89b6f: am aafa3d0e: Merge "Hide various debug malloc implementation details."
* commit '30f89b6f32e102454d3fbecd797c2b98d1262d01':
  Hide various debug malloc implementation details.
2014-05-16 23:11:44 +00:00
Elliott Hughes
30f89b6f32 am aafa3d0e: Merge "Hide various debug malloc implementation details."
* commit 'aafa3d0e4623f3c57c7abe66f6afa726b9cde348':
  Hide various debug malloc implementation details.
2014-05-16 23:07:43 +00:00
Elliott Hughes
aafa3d0e46 Merge "Hide various debug malloc implementation details." 2014-05-16 23:04:02 +00:00
Elliott Hughes
968aaf5d8d am fd5155e7: am 48ecb3a6: am 58b52fb1: Merge "Remove dead code."
* commit 'fd5155e7eb64563285831c774e112cf7513adb43':
  Remove dead code.
2014-05-16 23:00:35 +00:00
Elliott Hughes
3ac925850a am 45740160: am 67e34f30: am e2d5746a: Merge "Hide __signalfd4, used to implement signalfd(3)."
* commit '4574016027cce3132c6a348de8f0585348b4ffd5':
  Hide __signalfd4, used to implement signalfd(3).
2014-05-16 23:00:34 +00:00
Elliott Hughes
fd5155e7eb am 48ecb3a6: am 58b52fb1: Merge "Remove dead code."
* commit '48ecb3a64c56fb380cb642726787d1809d5ab1e4':
  Remove dead code.
2014-05-16 22:58:23 +00:00
Elliott Hughes
4574016027 am 67e34f30: am e2d5746a: Merge "Hide __signalfd4, used to implement signalfd(3)."
* commit '67e34f30749073c334828e565477d737136e1cb0':
  Hide __signalfd4, used to implement signalfd(3).
2014-05-16 22:58:23 +00:00
Elliott Hughes
48ecb3a64c am 58b52fb1: Merge "Remove dead code."
* commit '58b52fb133ee4f8a82d3da5c439ca7b9d2caa2bf':
  Remove dead code.
2014-05-16 22:54:31 +00:00
Elliott Hughes
67e34f3074 am e2d5746a: Merge "Hide __signalfd4, used to implement signalfd(3)."
* commit 'e2d5746a8ae9c7dd957b46286af42e7ff412a68b':
  Hide __signalfd4, used to implement signalfd(3).
2014-05-16 22:54:30 +00:00
Elliott Hughes
58b52fb133 Merge "Remove dead code." 2014-05-16 22:52:41 +00:00
Elliott Hughes
e2d5746a8a Merge "Hide __signalfd4, used to implement signalfd(3)." 2014-05-16 22:51:29 +00:00
Elliott Hughes
7222b1b594 Hide __signalfd4, used to implement signalfd(3).
Bug: 11156955
Change-Id: I50842279cb5b32ec8bd45193435574e415cd806e
2014-05-16 15:47:29 -07:00
Jingwei Zhang
568d64dc62 Accuracy tests for libm
This patch adds tests for 14 math functions to address coverage
issue of math functions discussed in:
https://android-review.googlesource.com/#/c/49653/

Change-Id: Ia7200b93d4f5c7928a3fb827ca6932226384a116
Signed-off-by: Jingwei Zhang <jingwei.zhang@intel.com>
Signed-off-by: Yong Yao <yong.yao@intel.com>
2014-05-16 15:31:55 -07:00
Elliott Hughes
6b7987cca3 Hide various debug malloc implementation details.
Bug: 11156955
Change-Id: Ib9d69d49ecec8eff4f12392bde94d843ae53d442
2014-05-16 15:23:54 -07:00
Elliott Hughes
bd27a8b4af Remove dead code.
This doesn't exist upstream.

Really we should upgrade to the current arc4random, but that's a bigger
job for another day.

Bug: 11156955
Change-Id: If6cd41b79139c64c17e81999e246cf4f00882ce8
2014-05-16 14:43:00 -07:00
Elliott Hughes
971f66e469 am 1453b3df: am 7177d1d6: am d9b06298: Merge "Hide __futex_wake_ex and __futex_wait_ex."
* commit '1453b3df559609252633e40d677aadaf5dd70309':
  Hide __futex_wake_ex and __futex_wait_ex.
2014-05-16 20:07:34 +00:00
Elliott Hughes
1453b3df55 am 7177d1d6: am d9b06298: Merge "Hide __futex_wake_ex and __futex_wait_ex."
* commit '7177d1d6bb8f61e399dc5df1c0a15c04419ff426':
  Hide __futex_wake_ex and __futex_wait_ex.
2014-05-16 20:05:07 +00:00
Elliott Hughes
7177d1d6bb am d9b06298: Merge "Hide __futex_wake_ex and __futex_wait_ex."
* commit 'd9b0629868fe4a2ce2e144b826dd869b6d808834':
  Hide __futex_wake_ex and __futex_wait_ex.
2014-05-16 19:59:57 +00:00
Elliott Hughes
d9b0629868 Merge "Hide __futex_wake_ex and __futex_wait_ex." 2014-05-16 19:56:52 +00:00
Elliott Hughes
3973de9616 Hide __futex_wake_ex and __futex_wait_ex.
Also remove some cruft that isn't needed now we're using uapi headers.

Bug: 11156955
Change-Id: I936b9c5b01d8bd6bfb2e5bc0e3f86cd86739cc04
2014-05-16 12:53:31 -07:00
Elliott Hughes
a0accd85c9 am 0178eba2: am 9700b6ca: am 22ade3c3: Merge "With libstdc++ in libc, __futex_wait and __futex_wake can be hidden."
* commit '0178eba213dfec500e71cd9889ece5af2f7de4cb':
  With libstdc++ in libc, __futex_wait and __futex_wake can be hidden.
2014-05-16 18:10:33 +00:00
Elliott Hughes
0178eba213 am 9700b6ca: am 22ade3c3: Merge "With libstdc++ in libc, __futex_wait and __futex_wake can be hidden."
* commit '9700b6ca97736062348469a83ede28dc1310d2db':
  With libstdc++ in libc, __futex_wait and __futex_wake can be hidden.
2014-05-16 18:07:04 +00:00
Elliott Hughes
9700b6ca97 am 22ade3c3: Merge "With libstdc++ in libc, __futex_wait and __futex_wake can be hidden."
* commit '22ade3c30d83407d19cd3a2b49ead66e6c5e3cf0':
  With libstdc++ in libc, __futex_wait and __futex_wake can be hidden.
2014-05-16 18:03:32 +00:00
Elliott Hughes
22ade3c30d Merge "With libstdc++ in libc, __futex_wait and __futex_wake can be hidden." 2014-05-16 18:00:51 +00:00
Elliott Hughes
879180c3ac With libstdc++ in libc, __futex_wait and __futex_wake can be hidden.
This patch is conservative and just touches LP64. (But not because we
know of anyone using this in LP32.)

Bug: 13367666
Change-Id: Id45652debc4534584479b16b501401f6f23acea9
2014-05-16 10:58:59 -07:00
Elliott Hughes
ae04d58b96 am 505de840: am 80cff53e: am 2a602272: Merge "Move libstdc++ into libc."
* commit '505de840a225be10947f6aa25b25e8e623e670e5':
  Move libstdc++ into libc.
2014-05-16 17:40:55 +00:00
Elliott Hughes
505de840a2 am 80cff53e: am 2a602272: Merge "Move libstdc++ into libc."
* commit '80cff53e138cca6c2634e08f5ed1198facc7adb6':
  Move libstdc++ into libc.
2014-05-16 16:42:48 +00:00
Elliott Hughes
80cff53e13 am 2a602272: Merge "Move libstdc++ into libc."
* commit '2a60227223da700e4ae1b5436f61aea99fc7a5aa':
  Move libstdc++ into libc.
2014-05-16 16:39:45 +00:00
Elliott Hughes
2a60227223 Merge "Move libstdc++ into libc." 2014-05-16 16:37:20 +00:00
Christopher Ferris
02aabff12e am c98359cc: am 0d9c78af: am 5265ad62: Merge "Fix comment typo."
* commit 'c98359cc6bffdffe03067740a0ad691cc16d83fa':
  Fix comment typo.
2014-05-16 02:21:53 +00:00
Christopher Ferris
c98359cc6b am 0d9c78af: am 5265ad62: Merge "Fix comment typo."
* commit '0d9c78afb314f60a9d384de4eaf5884a00ae57d3':
  Fix comment typo.
2014-05-16 02:18:31 +00:00
Christopher Ferris
0d9c78afb3 am 5265ad62: Merge "Fix comment typo."
* commit '5265ad6273cd7c61d096ebe0e29e493915e7c63e':
  Fix comment typo.
2014-05-16 02:16:17 +00:00
Christopher Ferris
5265ad6273 Merge "Fix comment typo." 2014-05-16 02:14:07 +00:00
Christopher Ferris
9029d2f638 Fix comment typo.
Change-Id: I1909f724826b531daf14fec4853e40d578fc0f59
2014-05-15 19:11:58 -07:00
Dmitriy Ivanov
6a0f7d6187 am a161eea2: am 7f3d6b69: am 0a5b0166: Merge "Register _cleanup function with atexit"
* commit 'a161eea241da06c70995248df7a00b6553050e05':
  Register _cleanup function with atexit
2014-05-16 00:43:54 +00:00
Dmitriy Ivanov
a161eea241 am 7f3d6b69: am 0a5b0166: Merge "Register _cleanup function with atexit"
* commit '7f3d6b69cee423bb726814fb4b929c535b7d607e':
  Register _cleanup function with atexit
2014-05-16 00:41:48 +00:00
Dmitriy Ivanov
7f3d6b69ce am 0a5b0166: Merge "Register _cleanup function with atexit"
* commit '0a5b01662316a06be68f3250c1b678c5ef17cc40':
  Register _cleanup function with atexit
2014-05-16 00:40:18 +00:00
Dmitriy Ivanov
0a5b016623 Merge "Register _cleanup function with atexit" 2014-05-16 00:37:54 +00:00
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
Elliott Hughes
9eb2d38d53 am b9fdad77: am ec81b4a3: Merge "Scrub uapi headers slightly harder."
* commit 'b9fdad7715f3b3182e0fd6947446ef8df82064e8':
  Scrub uapi headers slightly harder.
2014-05-15 23:08:50 +00:00
Elliott Hughes
b9fdad7715 am ec81b4a3: Merge "Scrub uapi headers slightly harder."
* commit 'ec81b4a380e1bbbaf6e582cd28476a245694abe7':
  Scrub uapi headers slightly harder.
2014-05-15 23:05:33 +00:00
Elliott Hughes
ec81b4a380 Merge "Scrub uapi headers slightly harder." 2014-05-15 23:03:25 +00:00
Dmitriy Ivanov
128e0b65b2 am 67bdd4b8: am b17cc880: am 86bc436e: Merge "Improve detection of already loaded libraries"
* commit '67bdd4b8a1e56ba7cb4dd1d946d279ba32674e35':
  Improve detection of already loaded libraries
2014-05-15 22:04:50 +00:00
Dmitriy Ivanov
67bdd4b8a1 am b17cc880: am 86bc436e: Merge "Improve detection of already loaded libraries"
* commit 'b17cc8801a24464c9e0e9cb1829ebfb50f8588d4':
  Improve detection of already loaded libraries
2014-05-15 22:02:16 +00:00
Dmitriy Ivanov
b17cc8801a am 86bc436e: Merge "Improve detection of already loaded libraries"
* commit '86bc436e20621656cd76b653ae3396c6584259e5':
  Improve detection of already loaded libraries
2014-05-15 21:59:05 +00:00
Dmitriy Ivanov
86bc436e20 Merge "Improve detection of already loaded libraries" 2014-05-15 21:55:24 +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
The Android Automerger
bd8097e040 merge in master-release history after reset to 5491a4fd4dc26e258848472e8a91b03eb17df21d 2014-05-15 05:49:24 -07:00
Calin Juravle
5491a4fd4d am 08589ca2: am e5205d35: am 089c7c92: Merge "Document a known test issue in stdio_test.cpp."
* commit '08589ca235a82a7cdfb14db16c8e84a11d12f93d':
  Document a known test issue in stdio_test.cpp.
2014-05-15 10:34:37 +00: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
08589ca235 am e5205d35: am 089c7c92: Merge "Document a known test issue in stdio_test.cpp."
* commit 'e5205d35efb594cf1f645237b85114da45c2a352':
  Document a known test issue in stdio_test.cpp.
2014-05-15 09:42:04 +00:00
Calin Juravle
4c9eab7234 am 83c94c6d: am 98efae4c: Merge "Fill in missing bits in x86(_64) ucontext_t"
* commit '83c94c6d60d6615c69cb0548c1b846f210f93262':
  Fill in missing bits in x86(_64) ucontext_t
2014-05-15 09:42:04 +00:00
Calin Juravle
e5205d35ef am 089c7c92: Merge "Document a known test issue in stdio_test.cpp."
* commit '089c7c921786ff6255526feec96552fc16ada7f4':
  Document a known test issue in stdio_test.cpp.
2014-05-15 09:38:08 +00:00
Calin Juravle
83c94c6d60 am 98efae4c: Merge "Fill in missing bits in x86(_64) ucontext_t"
* commit '98efae4c09ba05c5b25c95ea4a39b0711e6f8b98':
  Fill in missing bits in x86(_64) ucontext_t
2014-05-15 09:38:08 +00:00
Calin Juravle
089c7c9217 Merge "Document a known test issue in stdio_test.cpp." 2014-05-15 09:36:22 +00:00
Calin Juravle
98efae4c09 Merge "Fill in missing bits in x86(_64) ucontext_t" 2014-05-15 09:36:01 +00:00
Calin Juravle
9b95ea936a Document a known test issue in stdio_test.cpp.
Bug: 13077905
Change-Id: Iab7fc7be0737c732e26cc07ecd7884b3087b51bb
2014-05-15 10:34:06 +01: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
Andrew Hsieh
5d76a6c26e am c67e917a: am d0a89921: Merge "Rename user_i387_struct -> user_fpregs_struct in sys/ucontext.h"
* commit 'c67e917abc57c189411621032232f3d18773c66a':
  Rename  user_i387_struct -> user_fpregs_struct in sys/ucontext.h
2014-05-15 01:56:15 +00:00
Andrew Hsieh
c67e917abc am d0a89921: Merge "Rename user_i387_struct -> user_fpregs_struct in sys/ucontext.h"
* commit 'd0a899215b27254661ef9af90aea31343ffc4367':
  Rename  user_i387_struct -> user_fpregs_struct in sys/ucontext.h
2014-05-15 01:54:28 +00:00
Andrew Hsieh
d0a899215b Merge "Rename user_i387_struct -> user_fpregs_struct in sys/ucontext.h" 2014-05-15 01:52:22 +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
Christopher Ferris
70240fda03 am 493cfc33: am 1596b884: Merge "Increase minimum thread size for 64 bit."
* commit '493cfc338bb42dd1df77accd06d92aa736293709':
  Increase minimum thread size for 64 bit.
2014-05-15 01:11:16 +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
493cfc338b am 1596b884: Merge "Increase minimum thread size for 64 bit."
* commit '1596b884648642ad09f87d2a0dc4db47f037b6d7':
  Increase minimum thread size for 64 bit.
2014-05-15 01:09:29 +00: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
Elliott Hughes
e05c4ebb65 am 4cbb778b: am f280130f: Merge "Remove the unused __system_property_wait."
* commit '4cbb778beb9cfc6cae88468413c80430424e6438':
  Remove the unused __system_property_wait.
2014-05-15 00:23:52 +00:00
Elliott Hughes
4cbb778beb am f280130f: Merge "Remove the unused __system_property_wait."
* commit 'f280130f3fd6719cee3a4cb42155dcef44665ea0':
  Remove the unused __system_property_wait.
2014-05-15 00:22:12 +00:00
Elliott Hughes
f280130f3f Merge "Remove the unused __system_property_wait." 2014-05-15 00:20:00 +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
Christopher Ferris
d849068a35 am cd5b7920: am bc7f8a79: Merge "Do not keep struct state on the stack."
* commit 'cd5b7920395f00c767d57c096dfcd713e9e25326':
  Do not keep struct state on the stack.
2014-05-15 00:07:37 +00:00
Christopher Ferris
cd5b792039 am bc7f8a79: Merge "Do not keep struct state on the stack."
* commit 'bc7f8a791b4a510914fd5cac713415acb80fb806':
  Do not keep struct state on the stack.
2014-05-15 00:05:17 +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
bc7f8a791b Merge "Do not keep struct state on the stack." 2014-05-15 00:00:50 +00:00
Elliott Hughes
00f2ab2054 am 370892c4: am f015757f: am 1e07463f: Merge "Add tests for fprintf behavior when the underlying fd is bad."
* commit '370892c42d95ac37fad68f0b7aab90f82609903f':
  Add tests for fprintf behavior when the underlying fd is bad.
2014-05-15 00:00:38 +00:00
Elliott Hughes
370892c42d am f015757f: am 1e07463f: Merge "Add tests for fprintf behavior when the underlying fd is bad."
* commit 'f015757fc6c36c63ff2f3332093e3527c579bfdb':
  Add tests for fprintf behavior when the underlying fd is bad.
2014-05-14 23:56:02 +00:00
Elliott Hughes
f015757fc6 am 1e07463f: Merge "Add tests for fprintf behavior when the underlying fd is bad."
* commit '1e07463fcc92e515f7f57e9faa94f31e02cd07cb':
  Add tests for fprintf behavior when the underlying fd is bad.
2014-05-14 23:51:56 +00: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
1e07463fcc Merge "Add tests for fprintf behavior when the underlying fd is bad." 2014-05-14 23:35:31 +00:00
Dmitriy Ivanov
d59e50063a Improve detection of already loaded libraries
Linker is now able to resolve symlinked libraries correctly.

soinfo is extended to save the graph of dependencies during
load/unload. Dependencies are used only in CallConstructor.

Bug: 9741592
Change-Id: Id9c48a74c46aa89bcdf3d54ec2f8ba3d398130b1
2014-05-14 15:16:35 -07:00
Dmitriy Ivanov
82935da8a6 am 3d80e36a: am 283ec625: am 6897b7b8: Merge "Fix for linker allocator"
* commit '3d80e36a85414e09f7ccbdd71c7a196704344c92':
  Fix for linker allocator
2014-05-14 21:09:40 +00:00
Dmitriy Ivanov
3d80e36a85 am 283ec625: am 6897b7b8: Merge "Fix for linker allocator"
* commit '283ec6256bdde5685f224efdc67a061cc611b33a':
  Fix for linker allocator
2014-05-14 21:07:21 +00:00
Elliott Hughes
0fdfa216d4 am c04a2061: am f5b79eba: am fbd9dcad: Merge "Add a unit test for already-fixed printf -0.0 formatting."
* commit 'c04a20613a0e438e4dcdafc2632470fbee47c3f3':
  Add a unit test for already-fixed printf -0.0 formatting.
2014-05-14 21:05:33 +00:00
Dmitriy Ivanov
283ec6256b am 6897b7b8: Merge "Fix for linker allocator"
* commit '6897b7b8b95beae120fd53e6fd15921d6420bea7':
  Fix for linker allocator
2014-05-14 21:04:17 +00:00
Dmitriy Ivanov
6897b7b8b9 Merge "Fix for linker allocator" 2014-05-14 21:02:18 +00:00
Elliott Hughes
c9244bdac1 Add tests for fprintf behavior when the underlying fd is bad.
Bug: 7229520
Change-Id: Ie878e0c13fdcda7b9131fa56208b84ed88125be7
2014-05-14 13:31:35 -07:00
Elliott Hughes
c04a20613a am f5b79eba: am fbd9dcad: Merge "Add a unit test for already-fixed printf -0.0 formatting."
* commit 'f5b79eba6fae370316987f2d8f7399a641909fe7':
  Add a unit test for already-fixed printf -0.0 formatting.
2014-05-14 20:18:37 +00:00
Elliott Hughes
f5b79eba6f am fbd9dcad: Merge "Add a unit test for already-fixed printf -0.0 formatting."
* commit 'fbd9dcadc8e25b22c99596462669017b9b1b4a7c':
  Add a unit test for already-fixed printf -0.0 formatting.
2014-05-14 20:14:36 +00:00
Elliott Hughes
fbd9dcadc8 Merge "Add a unit test for already-fixed printf -0.0 formatting." 2014-05-14 20:11:23 +00:00
Sreeram Ramachandran
c184a7a0ad am 62090bb6: am d2ac8787: am 49ec2a0c: Merge "Mark sockets on accept()."
* commit '62090bb6b9b3a38820dfd758ffccf0e94a3eb943':
  Mark sockets on accept().
2014-05-14 19:54:25 +00:00
Elliott Hughes
ad25b331c6 am c1a5bc96: am deedbebb: am acc51369: Merge "Add a regression test for a long-fixed pthread_once bug."
* commit 'c1a5bc96fb84a16dc1f4cae7919413be2b3912f0':
  Add a regression test for a long-fixed pthread_once bug.
2014-05-14 19:54:24 +00: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
Dmitriy Ivanov
1079406cab Fix for linker allocator
Change-Id: I18a3f1a8515657f0deb69266184fb516a27f90e8
2014-05-14 12:52:57 -07:00
Sreeram Ramachandran
62090bb6b9 am d2ac8787: am 49ec2a0c: Merge "Mark sockets on accept()."
* commit 'd2ac8787496422ee70e44f6e5abf65b570015470':
  Mark sockets on accept().
2014-05-14 19:51:36 +00:00
Elliott Hughes
c1a5bc96fb am deedbebb: am acc51369: Merge "Add a regression test for a long-fixed pthread_once bug."
* commit 'deedbebb4ef3dfb14334a95ff5bdff42faa3a70f':
  Add a regression test for a long-fixed pthread_once bug.
2014-05-14 19:51:35 +00:00
Elliott Hughes
c6057a5f61 am d60d67db: am aeec2ae7: Merge "Remove the broken pthread deadlock prediction."
* commit 'd60d67db33a7190504c1503455a4e49f7f01a9db':
  Remove the broken pthread deadlock prediction.
2014-05-14 19:51:35 +00:00
Sreeram Ramachandran
d2ac878749 am 49ec2a0c: Merge "Mark sockets on accept()."
* commit '49ec2a0cdc56fcd6bdd1b0feea127acfabc076f9':
  Mark sockets on accept().
2014-05-14 19:48:10 +00:00
Elliott Hughes
deedbebb4e am acc51369: Merge "Add a regression test for a long-fixed pthread_once bug."
* commit 'acc513698b90abdf84f26d6dd08eb0b32fa56714':
  Add a regression test for a long-fixed pthread_once bug.
2014-05-14 19:48:09 +00:00
Elliott Hughes
d60d67db33 am aeec2ae7: Merge "Remove the broken pthread deadlock prediction."
* commit 'aeec2ae7202892a2bca25a17e60850f9c07b64f6':
  Remove the broken pthread deadlock prediction.
2014-05-14 19:48:08 +00:00
Sreeram Ramachandran
49ec2a0cdc Merge "Mark sockets on accept()." 2014-05-14 19:40:50 +00:00
Elliott Hughes
e77f38f14a Add a unit test for already-fixed printf -0.0 formatting.
This was fixed by the upgrade to upstream head.

Bug: 5084292
Change-Id: Ia3bda1c0bbe38f428e22213b8bdbdf1a16caccf2
2014-05-14 12:39:12 -07:00
Elliott Hughes
acc513698b Merge "Add a regression test for a long-fixed pthread_once bug." 2014-05-14 19:29:45 +00:00
Elliott Hughes
aeec2ae720 Merge "Remove the broken pthread deadlock prediction." 2014-05-14 19:29:30 +00:00
Elliott Hughes
3694ec6c4b Add a regression test for a long-fixed pthread_once bug.
Bug: 1934122
Change-Id: Iae09baedc2c6ed4036521e51718fe9d015bc56b9
2014-05-14 11:46:08 -07: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
b270fd3329 am 7451897c: am e6c27a7a: Merge "Fix a typo in the big g_ search/replace."
* commit '7451897cd45c7dceb52803400c5f979692013c4f':
  Fix a typo in the big g_ search/replace.
2014-05-14 18:07:19 +00:00
Elliott Hughes
7451897cd4 am e6c27a7a: Merge "Fix a typo in the big g_ search/replace."
* commit 'e6c27a7af7a9b13e4e3d3ebd604d28effa9e9322':
  Fix a typo in the big g_ search/replace.
2014-05-14 18:02:53 +00:00
Elliott Hughes
e6c27a7af7 Merge "Fix a typo in the big g_ search/replace." 2014-05-14 17:59:52 +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
b2da973fe9 am 6eb0fe2b: am 15c13bd6: Merge "Switch to g_ for globals."
* commit '6eb0fe2b02bcc7d82ba23df6cfaef0369e7b068b':
  Switch to g_ for globals.
2014-05-14 17:45:12 +00:00
Elliott Hughes
6eb0fe2b02 am 15c13bd6: Merge "Switch to g_ for globals."
* commit '15c13bd6cc0ce44d8f083f75d0bfa926a88cc169':
  Switch to g_ for globals.
2014-05-14 17:41:20 +00:00
Elliott Hughes
15c13bd6cc Merge "Switch to g_ for globals." 2014-05-14 17:36:37 +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
582cf71130 am bc45edaa: am bac79558: Merge "Fix x86_64 user_fpregs_struct to use the same name for the tag word as glibc."
* commit 'bc45edaa9e5673c13b3cb161aa2bfacea29bbe04':
  Fix x86_64 user_fpregs_struct to use the same name for the tag word as glibc.
2014-05-14 14:35:38 +00:00
Ross McIlroy
bc45edaa9e am bac79558: Merge "Fix x86_64 user_fpregs_struct to use the same name for the tag word as glibc."
* commit 'bac795586bbc5dcbe886d8d781710f60c4c19d9b':
  Fix x86_64 user_fpregs_struct to use the same name for the tag word as glibc.
2014-05-14 14:30:56 +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
The Android Automerger
afa90b4c3a merge in master-release history after reset to 7fbc7481cc972db9fd604def8684e72e43073254 2014-05-14 05:49:33 -07: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
32cd82f093 am 7c0b313d: am a7318774: Merge "Change wctype_t from int to long."
* commit '7c0b313df17569fd821a5617339f962fa1f1ef11':
  Change wctype_t from int to long.
2014-05-14 10:42:44 +00:00
Calin Juravle
c16e4332e4 am d36bbf13: am fd3171b4: Merge "Change wctype_t from enum to int"
* commit 'd36bbf13154affc7bcae0745ca14a55927f8f037':
  Change wctype_t from enum to int
2014-05-14 10:42:44 +00:00
Calin Juravle
7c0b313df1 am a7318774: Merge "Change wctype_t from int to long."
* commit 'a7318774061b508e7f769fb0e122cfb40cbb94c9':
  Change wctype_t from int to long.
2014-05-14 10:37:48 +00:00
Calin Juravle
d36bbf1315 am fd3171b4: Merge "Change wctype_t from enum to int"
* commit 'fd3171b465184b8eac16dfc88b954b2d6748b2ce':
  Change wctype_t from enum to int
2014-05-14 10:37:48 +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
28c9e21fe7 am 2146f78c: am 3e684183: Merge "Use the NetBSD inet_ntop until the OpenBSD bug is fixed."
* commit '2146f78c09e08efe19215ae52c4fa715023ee15c':
  Use the NetBSD inet_ntop until the OpenBSD bug is fixed.
2014-05-14 02:29:31 +00:00
Elliott Hughes
2146f78c09 am 3e684183: Merge "Use the NetBSD inet_ntop until the OpenBSD bug is fixed."
* commit '3e684183881f18b9f3300257b6d65e83f8d5e27c':
  Use the NetBSD inet_ntop until the OpenBSD bug is fixed.
2014-05-14 02:24:40 +00:00
Elliott Hughes
3e68418388 Merge "Use the NetBSD inet_ntop until the OpenBSD bug is fixed." 2014-05-14 02:21:20 +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
Dmitriy Ivanov
3b6c264ae9 am f49da77e: am f9a28bd7: am c6b5834c: Merge "Remove page level mprotects"
* commit 'f49da77e4a9cea6f2f5d8772b02f63ee4ab4e338':
  Remove page level mprotects
2014-05-14 01:56:32 +00: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
Dmitriy Ivanov
f49da77e4a am f9a28bd7: am c6b5834c: Merge "Remove page level mprotects"
* commit 'f9a28bd79df2abb17304f0cfafb143c9e79e3377':
  Remove page level mprotects
2014-05-14 01:51:26 +00:00
Elliott Hughes
46afef329f am 9b1e2a14: am 3557f2f6: Merge "Fix <sys/endian.h> uint32_t build failures."
* commit '9b1e2a14f9dad7c4cc19db9fee5afdc1f01340b4':
  Fix <sys/endian.h> uint32_t build failures.
2014-05-14 01:51:25 +00:00
Dmitriy Ivanov
f9a28bd79d am c6b5834c: Merge "Remove page level mprotects"
* commit 'c6b5834ceb3df72608a8fe3526a2db337e504512':
  Remove page level mprotects
2014-05-14 01:50:02 +00:00
Elliott Hughes
9b1e2a14f9 am 3557f2f6: Merge "Fix <sys/endian.h> uint32_t build failures."
* commit '3557f2f61b9cc736d245aff1e979500cc399e491':
  Fix <sys/endian.h> uint32_t build failures.
2014-05-14 01:46:44 +00:00
Dmitriy Ivanov
c6b5834ceb Merge "Remove page level mprotects" 2014-05-14 01:45:50 +00:00
Elliott Hughes
3557f2f61b Merge "Fix <sys/endian.h> uint32_t build failures." 2014-05-14 01:43:15 +00:00
Elliott Hughes
135b103fd9 Fix <sys/endian.h> uint32_t build failures.
Change-Id: I833b51318f0bf7749073859b7ffacc668c27558e
2014-05-13 18:42:12 -07:00
Dmitriy Ivanov
bc23e530c4 Remove page level mprotects
Freeing block mprotects on the page which it turn
may lead to application crash if linker subsequently
tries to modify another block on the page.

Bug: 14895266
Change-Id: I8ff7f5df467d7be184242de652032b3c84e24b76
2014-05-13 18:34:48 -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
239347d97e am cb6f6243: am 17f8ef87: Merge "Flesh out <arpa/inet.h>."
* commit 'cb6f6243dbf12dd76f50910c476af01519b4be41':
  Flesh out <arpa/inet.h>.
2014-05-14 01:16:05 +00:00
Elliott Hughes
62c24c8353 am f984afd0: am 57722375: Merge "We don\'t need two copies of <nsswitch.h>."
* commit 'f984afd0ef2185d493c03830537460edf34baefc':
  We don't need two copies of <nsswitch.h>.
2014-05-14 01:16:05 +00:00
Elliott Hughes
cb6f6243db am 17f8ef87: Merge "Flesh out <arpa/inet.h>."
* commit '17f8ef87b565d88c3b391d6d8de8818dec74c4d5':
  Flesh out <arpa/inet.h>.
2014-05-14 01:10:55 +00:00
Elliott Hughes
f984afd0ef am 57722375: Merge "We don\'t need two copies of <nsswitch.h>."
* commit '5772237588a606cad2c7a26d24e9de3c0a62ce81':
  We don't need two copies of <nsswitch.h>.
2014-05-14 01:10:55 +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
d591b2413a am 4d61e7b5: am 59a4a10f: am d57d710f: Merge "Fix build (take two)."
* commit '4d61e7b5493dc6cafaa3348482521226ddd1e286':
  Fix build (take two).
2014-05-14 00:56:58 +00:00
Sreeram Ramachandran
4d61e7b549 am 59a4a10f: am d57d710f: Merge "Fix build (take two)."
* commit '59a4a10f097a0bdd8d5e9aa52ce1139ccabf82b1':
  Fix build (take two).
2014-05-14 00:51:49 +00: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
59a4a10f09 am d57d710f: Merge "Fix build (take two)."
* commit 'd57d710f0847009038297d1ffcc1613198fb48d4':
  Fix build (take two).
2014-05-14 00:47:06 +00:00
Sreeram Ramachandran
d57d710f08 Merge "Fix build (take two)." 2014-05-14 00:43:47 +00: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
5907e23907 am 9d58ec78: am cd004d2d: am 2ed09d44: Merge "Fix build."
* commit '9d58ec78b33296325982e1b87edcb54d0fb7a012':
  Fix build.
2014-05-14 00:11:25 +00:00
Sreeram Ramachandran
9d58ec78b3 am cd004d2d: am 2ed09d44: Merge "Fix build."
* commit 'cd004d2d0117243908b71b2b4c7036d79de5344c':
  Fix build.
2014-05-14 00:05:40 +00:00
Sreeram Ramachandran
cd004d2d01 am 2ed09d44: Merge "Fix build."
* commit '2ed09d44ecdaf656a598052d155a813897239042':
  Fix build.
2014-05-14 00:00:58 +00:00
Sreeram Ramachandran
2677d133dd Fix build.
(cherry picked from commit 06e8796ee95793435c194b0a55e26d7b568c7409)

Change-Id: I33293d8bc62cbb22e23a704c4242e7e9d3fce7c5
2014-05-13 16:59:38 -07:00
Sreeram Ramachandran
2ed09d44ec Merge "Fix build." 2014-05-13 23:57:07 +00: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
Sreeram Ramachandran
af36c9ae13 am 9b5bc6fd: am 79b56f4b: Merge "Introduce netd_client, a dynamic library that talks to netd."
* commit '9b5bc6fd7ed97900a1d5d8427108f26cf8a0aa09':
  Introduce netd_client, a dynamic library that talks to netd.
2014-05-13 22:16:11 +00:00
Sreeram Ramachandran
9b5bc6fd7e am 79b56f4b: Merge "Introduce netd_client, a dynamic library that talks to netd."
* commit '79b56f4b0b9fa52fbf2e79c073d28efd21ae724d':
  Introduce netd_client, a dynamic library that talks to netd.
2014-05-13 22:11:48 +00:00
Sreeram Ramachandran
79b56f4b0b Merge "Introduce netd_client, a dynamic library that talks to netd." 2014-05-13 22:07:26 +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
Elliott Hughes
6755bb3833 am 7aba9ef3: am 492e8f72: am 4482091b: Merge "Consistently use #if defined(__BIONIC__) in tests."
* commit '7aba9ef3d00201d4410c5db0bf0853df24b94243':
  Consistently use #if defined(__BIONIC__) in tests.
2014-05-13 18:42:26 +00:00
Elliott Hughes
5c0fe1a39d am b00435d1: am 0ccef7ec: Merge "Upgrade to tzdata2014c."
* commit 'b00435d15c6320f81a92c16d0bd94ae05730e26f':
  Upgrade to tzdata2014c.
2014-05-13 18:38:31 +00:00
Elliott Hughes
7aba9ef3d0 am 492e8f72: am 4482091b: Merge "Consistently use #if defined(__BIONIC__) in tests."
* commit '492e8f72505f4c14df3f37ed00bd6b62ce3893a2':
  Consistently use #if defined(__BIONIC__) in tests.
2014-05-13 18:38:31 +00:00
Elliott Hughes
b00435d15c am 0ccef7ec: Merge "Upgrade to tzdata2014c."
* commit '0ccef7ec5294b34902e07c26db55891d3eddb2be':
  Upgrade to tzdata2014c.
2014-05-13 18:35:49 +00:00
Elliott Hughes
492e8f7250 am 4482091b: Merge "Consistently use #if defined(__BIONIC__) in tests."
* commit '4482091b1d1611aa395931656b94bfd8ffd583bf':
  Consistently use #if defined(__BIONIC__) in tests.
2014-05-13 18:35:49 +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
Elliott Hughes
0ccef7ec52 Merge "Upgrade to tzdata2014c." 2014-05-13 18:27:30 +00:00
Elliott Hughes
4482091b1d Merge "Consistently use #if defined(__BIONIC__) in tests." 2014-05-13 18:26:47 +00:00
Elliott Hughes
121cb5f4a7 Upgrade to tzdata2014c.
From the release notes:

  Changes affecting near-future time stamps

    Egypt observes DST starting 2014-05-15 at 24:00.
    (Thanks to Ahmad El-Dardiry and Gunther Vermier.)
    Details have not been announced, except that DST will not be
    observed during Ramadan.  Guess that DST will stop during the same
    Ramadan dates as Morocco, and that Egypt's future spring and fall
    transitions will be the same as 2010 when it last observed DST,
    namely April's last Friday at 00:00 to September's last Thursday at
    23:00 standard time.  Also, guess that Ramadan transitions will be
    at 00:00 standard time.

Change-Id: I6a20cae02a314871acbd52cb90fcbebd37625810
2014-05-13 11:23:18 -07:00
Elliott Hughes
1d8130e8b3 am 56b18bb4: am a26dd781: Merge "Add getmntent_r to our collection of <mntent.h> compatibility stubs."
* commit '56b18bb4d2926dd5b17a79c97867748b22a8f0f8':
  Add getmntent_r to our collection of <mntent.h> compatibility stubs.
2014-05-13 18:21:35 +00:00
Elliott Hughes
063525c61d Consistently use #if defined(__BIONIC__) in tests.
I've also switched some tests to be positive rather than negative,
because !defined is slightly harder to reason about and there are
only two cases: bionic and glibc.

Change-Id: I8d3ac40420ca5aead3e88c69cf293f267273c8ef
2014-05-13 11:19:57 -07:00
Elliott Hughes
56b18bb4d2 am a26dd781: Merge "Add getmntent_r to our collection of <mntent.h> compatibility stubs."
* commit 'a26dd781fe675cf94c62183da27622eb83ff6fa7':
  Add getmntent_r to our collection of <mntent.h> compatibility stubs.
2014-05-13 18:18:20 +00:00
Elliott Hughes
a26dd781fe Merge "Add getmntent_r to our collection of <mntent.h> compatibility stubs." 2014-05-13 18:14:49 +00:00
Elliott Hughes
280bd7a9f4 am 2fbb0fb7: am 2b5503b5: am dbcba8f5: Merge "Reduce stack usage of tmpfile(3)."
* commit '2fbb0fb751b985c6f8a6fa556cf5fe51c88e6645':
  Reduce stack usage of tmpfile(3).
2014-05-13 17:49:29 +00:00
Elliott Hughes
eb664e24c0 Add getmntent_r to our collection of <mntent.h> compatibility stubs.
This helps build 'external/flo' out of the box.

Bug: 14841211
Change-Id: I30dde77239cceaf1f5743163744eb3604d27a266
2014-05-13 10:44:07 -07:00
Elliott Hughes
2fbb0fb751 am 2b5503b5: am dbcba8f5: Merge "Reduce stack usage of tmpfile(3)."
* commit '2b5503b578adb2a86dccf08b86bc0b30ec8b93a4':
  Reduce stack usage of tmpfile(3).
2014-05-13 17:42:37 +00:00
Elliott Hughes
2b5503b578 am dbcba8f5: Merge "Reduce stack usage of tmpfile(3)."
* commit 'dbcba8f5f9a59fac3d22dfc17a14d3d5cfb4f4b0':
  Reduce stack usage of tmpfile(3).
2014-05-13 17:37:22 +00:00
Elliott Hughes
dbcba8f5f9 Merge "Reduce stack usage of tmpfile(3)." 2014-05-13 17:32:48 +00:00
Calin Juravle
1b530a9f80 am 493f718d: am 66faa0c2: am f34f0ccb: Merge "Use __LP64__ instead of __LP32__ in sched.h"
* commit '493f718d87722615b2657dc6a0254dc3c3714a16':
  Use __LP64__ instead of __LP32__ in sched.h
2014-05-13 17:29:56 +00:00
Calin Juravle
493f718d87 am 66faa0c2: am f34f0ccb: Merge "Use __LP64__ instead of __LP32__ in sched.h"
* commit '66faa0c21fcf8e0283167606bdfea32a99ff5bbc':
  Use __LP64__ instead of __LP32__ in sched.h
2014-05-13 17:24:08 +00:00
Calin Juravle
66faa0c21f am f34f0ccb: Merge "Use __LP64__ instead of __LP32__ in sched.h"
* commit 'f34f0ccb0e1d1c6df5f60bbfc44983263f89164d':
  Use __LP64__ instead of __LP32__ in sched.h
2014-05-13 17:21:29 +00:00
Calin Juravle
f34f0ccb0e Merge "Use __LP64__ instead of __LP32__ in sched.h" 2014-05-13 17:16:30 +00:00
Elliott Hughes
b6943186ce Reduce stack usage of tmpfile(3).
Also ensure that none of our home-grown code uses more than 2KiB per frame.

Change-Id: I8987a17d72f4b7f082bb7fa25e137c8433664c14
2014-05-13 10:14:22 -07:00
Dmitriy Ivanov
61c5dc3998 am b6c0ef26: am f4846a3a: am d44927b8: Merge "Refactor linker allocator"
* commit 'b6c0ef2635adcb898317b68fb1a28caf59da9d01':
  Refactor linker allocator
2014-05-13 15:59:06 +00:00
Dmitriy Ivanov
b6c0ef2635 am f4846a3a: am d44927b8: Merge "Refactor linker allocator"
* commit 'f4846a3ab6cc0f4787b684cf887e7ce462b7f2b6':
  Refactor linker allocator
2014-05-13 15:55:07 +00:00
Dmitriy Ivanov
f4846a3ab6 am d44927b8: Merge "Refactor linker allocator"
* commit 'd44927b8e9f4b2bcd376d1f84bad46f3ba9094de':
  Refactor linker allocator
2014-05-13 15:52:15 +00:00
Dmitriy Ivanov
d44927b8e9 Merge "Refactor linker allocator" 2014-05-13 15:49:18 +00:00
Calin Juravle
dd09699fae Use __LP64__ instead of __LP32__ in sched.h
Gcc defines only __LP64__ so testing __LP32__ will always be false.

Bug: 14881256
Change-Id: Ic63c1d562be09c3eb4b9e17c9e5ef2d9e404db80
2014-05-13 16:07:28 +01:00
The Android Automerger
3548680d02 merge in master-release history after reset to 3b0d098df111647eb60d9747b6bc81760d5781b1 2014-05-13 05:49:18 -07:00
Calin Juravle
b55f2631dc Change wctype_t from int to long.
On LP64 this brings us on par with the other libcs where wctype_t is 8
bytes.

Bug: 12875898
Change-Id: Ice4f538ccf0634ef6667a8d90d0f7f09cec9e1b0
2014-05-13 13:11:27 +01:00
Calin Juravle
0c472479a2 Change wctype_t from enum to int
This increases bionic source compatibility with other libcs where
"wctype_t foo = 0;" is valid without -fpermissive.

Bug: 14646243
Change-Id: Ia9bd0785bc42c7b46e2bb6c3d9b9a9d3f769d983
2014-05-13 12:47:27 +01:00
Calin Juravle
3b0d098df1 am d0c625f5: am d9f0e8f2: am ddda264f: Merge "Undef private *_BODY defines after use"
* commit 'd0c625f5de63e659e524710fe49ae1061d585dc6':
  Undef private *_BODY defines after use
2014-05-13 10:41:10 +00:00
Calin Juravle
d0c625f5de am d9f0e8f2: am ddda264f: Merge "Undef private *_BODY defines after use"
* commit 'd9f0e8f2e0810a9ed0b3799d9ab61d56d837276d':
  Undef private *_BODY defines after use
2014-05-13 10:38:08 +00:00
Calin Juravle
d9f0e8f2e0 am ddda264f: Merge "Undef private *_BODY defines after use"
* commit 'ddda264f1b3bf7627042c2d197d85044cac04564':
  Undef private *_BODY defines after use
2014-05-13 10:34:20 +00:00
Calin Juravle
ddda264f1b Merge "Undef private *_BODY defines after use" 2014-05-13 10:31:07 +00:00
Calin Juravle
f963da22ec Undef private *_BODY defines after use
Bug: 14865741
Change-Id: I1398f7b3f64e3c94f2714cede5b61205dfa78a24
2014-05-13 11:01:11 +01:00
Calin Juravle
1410e398eb am 17bc470c: am c291db12: am 38967f3d: Merge "Add fpos_t tests."
* commit '17bc470c312aef0c403e1dac029c80856da94c40':
  Add fpos_t tests.
2014-05-13 09:49:40 +00:00
Calin Juravle
e1a15335be am df45321d: am e0913cd4: am e788f5e0: Merge "Support mb sequences across calls to mb*to*wcs* functions"
* commit 'df45321da1b41ee3fb6c2a5504f6e84ea3599361':
  Support mb sequences across calls to mb*to*wcs* functions
2014-05-13 09:49:39 +00:00
Calin Juravle
17bc470c31 am c291db12: am 38967f3d: Merge "Add fpos_t tests."
* commit 'c291db129b20cac08514e6767e88b911e025168d':
  Add fpos_t tests.
2014-05-13 09:45:37 +00:00
Calin Juravle
df45321da1 am e0913cd4: am e788f5e0: Merge "Support mb sequences across calls to mb*to*wcs* functions"
* commit 'e0913cd44936c09b12aa66a6ac11ef127d60409e':
  Support mb sequences across calls to mb*to*wcs* functions
2014-05-13 09:45:37 +00:00
Calin Juravle
c291db129b am 38967f3d: Merge "Add fpos_t tests."
* commit '38967f3d1fbc9326beb7eef8c084b334e9bd65f5':
  Add fpos_t tests.
2014-05-13 09:40:29 +00:00
Calin Juravle
e0913cd449 am e788f5e0: Merge "Support mb sequences across calls to mb*to*wcs* functions"
* commit 'e788f5e04b4618a2f51865f60b2d482dac50e05a':
  Support mb sequences across calls to mb*to*wcs* functions
2014-05-13 09:40:28 +00:00
Calin Juravle
38967f3d1f Merge "Add fpos_t tests." 2014-05-13 09:37:08 +00:00
Calin Juravle
e788f5e04b Merge "Support mb sequences across calls to mb*to*wcs* functions" 2014-05-13 09:36:01 +00:00
Dmitriy Ivanov
d597d263bc Refactor linker allocator
Makes it reusable for different fixed sized and not very
big structures (<PAGE_SIZE).

Change-Id: Id5ec13fc6541b1935ef7fe3671c22b98685abbae
2014-05-12 21:40:09 -07:00
Christopher Ferris
823074c5e4 am 66d0e685: am 199e830a: am 1abb1b93: Merge "Add 64-bit Silvermont-optimized string/memory functions."
* commit '66d0e685145a400b08f5e4ec6bbc61ed8185cd39':
  Add 64-bit Silvermont-optimized string/memory functions.
2014-05-13 00:59:29 +00:00
Christopher Ferris
66d0e68514 am 199e830a: am 1abb1b93: Merge "Add 64-bit Silvermont-optimized string/memory functions."
* commit '199e830a88548acf49f472ffa412b9d2d66bd4b1':
  Add 64-bit Silvermont-optimized string/memory functions.
2014-05-13 00:54:52 +00:00
Christopher Ferris
199e830a88 am 1abb1b93: Merge "Add 64-bit Silvermont-optimized string/memory functions."
* commit '1abb1b939d318513066ef580377cc3659ceac8ef':
  Add 64-bit Silvermont-optimized string/memory functions.
2014-05-13 00:52:06 +00:00
Christopher Ferris
1abb1b939d Merge "Add 64-bit Silvermont-optimized string/memory functions." 2014-05-13 00:48:40 +00:00
Christopher Ferris
64010b8f7e am 19e15c5b: am 5a3303da: am c1d26965: Merge "Add 32-bit Silvermont-optimized string/memory functions."
* commit '19e15c5bf6eecf2baa5bf8dd50fcf028477991bf':
  Add 32-bit Silvermont-optimized string/memory functions.
2014-05-13 00:38:59 +00:00
Varvara Rainchik
a020a244ae Add 64-bit Silvermont-optimized string/memory functions.
Add following functions:
bcopy, bzero, memcpy, memmove, memset, stpcpy, stpncpy, strcat, strcpy,
strlen, strncat, strncpy, memcmp, strcmp, strncmp.
Set all these functions as the default ones.

Change-Id: Ic66b250ad8c349a43d25e2d4dea075604f6df6ac
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-05-12 17:37:07 -07:00
Christopher Ferris
19e15c5bf6 am 5a3303da: am c1d26965: Merge "Add 32-bit Silvermont-optimized string/memory functions."
* commit '5a3303dad514bcb5fdb0b44d89ce78d0a5db5b1e':
  Add 32-bit Silvermont-optimized string/memory functions.
2014-05-13 00:34:26 +00:00
Elliott Hughes
3ff9c0246c am 5a19b361: am 0b1a2ee7: am 8b307e0e: Merge "Remove the useless indirection in mips\' __set_tls."
* commit '5a19b361684283e51e00d532af231f5e9e4a9456':
  Remove the useless indirection in mips' __set_tls.
2014-05-13 00:33:52 +00:00
Christopher Ferris
5a3303dad5 am c1d26965: Merge "Add 32-bit Silvermont-optimized string/memory functions."
* commit 'c1d26965ae12f94c7b0dc64b2548c3c29d180296':
  Add 32-bit Silvermont-optimized string/memory functions.
2014-05-13 00:30:07 +00:00
Christopher Ferris
c1d26965ae Merge "Add 32-bit Silvermont-optimized string/memory functions." 2014-05-13 00:26:50 +00:00
Calin Juravle
03e4ebee8d Add fpos_t tests.
Bug: 13077905

Change-Id: I86bb0ee95660f69f9971231c6f828a3a067d1ac8
2014-05-13 00:39:08 +01:00
Calin Juravle
15a6310e4b Support mb sequences across calls to mb*to*wcs* functions
Bug: 13077905
Change-Id: I5abdc7cc3c27c109b7900c94b112f18a95c35763
2014-05-13 00:24:25 +01:00
Elliott Hughes
5a19b36168 am 0b1a2ee7: am 8b307e0e: Merge "Remove the useless indirection in mips\' __set_tls."
* commit '0b1a2ee7811dd1c9fcbad067a9b972d6c1844c39':
  Remove the useless indirection in mips' __set_tls.
2014-05-12 23:23:39 +00:00
Elliott Hughes
0b1a2ee781 am 8b307e0e: Merge "Remove the useless indirection in mips\' __set_tls."
* commit '8b307e0e9843aad7e1816eb631208117df2e787b':
  Remove the useless indirection in mips' __set_tls.
2014-05-12 23:18:32 +00:00
Elliott Hughes
8b307e0e98 Merge "Remove the useless indirection in mips' __set_tls." 2014-05-12 23:14:51 +00:00
Elliott Hughes
dcbef06ce6 Remove the useless indirection in mips' __set_tls.
Change-Id: I12e9d6716c42ccbccc9a186441aca0736bb22d05
2014-05-12 16:11:06 -07:00
Elliott Hughes
b47d8cd12a am 04211b2c: am 14d02ac7: am 2b18b107: Merge "Fix use-after-free errors in stdio_test."
* commit '04211b2c47bcae733ffb875ee9d205c3d675bc00':
  Fix use-after-free errors in stdio_test.
2014-05-12 22:44:16 +00:00
Elliott Hughes
04211b2c47 am 14d02ac7: am 2b18b107: Merge "Fix use-after-free errors in stdio_test."
* commit '14d02ac74cd3cd1cb22e7d1b12a555e38df2402a':
  Fix use-after-free errors in stdio_test.
2014-05-12 22:39:25 +00:00
Elliott Hughes
14d02ac74c am 2b18b107: Merge "Fix use-after-free errors in stdio_test."
* commit '2b18b10710995834e955658aedad3fdb2f994af8':
  Fix use-after-free errors in stdio_test.
2014-05-12 22:35:02 +00:00
Elliott Hughes
2b18b10710 Merge "Fix use-after-free errors in stdio_test." 2014-05-12 22:30:41 +00:00
Elliott Hughes
20f8aec897 Fix use-after-free errors in stdio_test.
fclose(3) frees the passed-in FILE*. We should close(2) the underlying fd,
not fclose(3) the stream, if we want to test what happens with a stream
we can't read from.

Bug: 14466691
Change-Id: I99fed5904b0266b9c6ae05d0b9cf2e926446c064
2014-05-12 15:15:37 -07:00
Varvara Rainchik
5a92284167 Add 32-bit Silvermont-optimized string/memory functions.
Add following functions:
bcopy, memcpy, memmove, memset, bzero, memcmp, wmemcmp, strlen,
strcpy, strncpy, stpcpy, stpncpy.
Create new directories inside arch-x86 to specify architecture: atom,
silvermont and generic (non atom or silvermont architectures are treated like generic).
Due to introducing optimized versions of stpcpy and stpncpy,
c-implementations of these functions are moved from
common for architectures makefile to arm and mips specific makefiles.

Change-Id: I990f8061c3e9bca1f154119303da9e781c5d086e
Signed-off-by: Varvara Rainchik <varvara.rainchik@intel.com>
2014-05-12 13:56:59 -07:00
Dmitriy Ivanov
c133ddd209 am 92ab5010: am fe4233e5: am ebcc7207: Merge "Cleanup: updated comments"
* commit '92ab50103a6611ba7f76639fa39645ce6956af85':
  Cleanup: updated comments
2014-05-12 19:03:14 +00:00
Dmitriy Ivanov
92ab50103a am fe4233e5: am ebcc7207: Merge "Cleanup: updated comments"
* commit 'fe4233e589bbc035fae49f891b9db7e31bc8b12b':
  Cleanup: updated comments
2014-05-12 18:59:52 +00:00
Dmitriy Ivanov
fe4233e589 am ebcc7207: Merge "Cleanup: updated comments"
* commit 'ebcc72070499b2ab2d1dee990d6f52814a56600e':
  Cleanup: updated comments
2014-05-12 18:54:45 +00:00
Dmitriy Ivanov
ebcc720704 Merge "Cleanup: updated comments" 2014-05-12 18:49:35 +00:00
Dmitriy Ivanov
6275f20834 Cleanup: updated comments
Bug: 14566672
Change-Id: I49ad28e3914b7d559db1e98542fee919db768f49
2014-05-12 11:47:10 -07:00
Dmitriy Ivanov
4b204cc316 am 1a6b54fd: am 15989a2b: am e2997950: Merge "Cleanup: remove AARCH/ARM_COPY relocation support"
* commit '1a6b54fd2e67d6d2bfd54b9a188030230065b943':
  Cleanup: remove AARCH/ARM_COPY relocation support
2014-05-12 17:38:15 +00:00
Dmitriy Ivanov
1a6b54fd2e am 15989a2b: am e2997950: Merge "Cleanup: remove AARCH/ARM_COPY relocation support"
* commit '15989a2b343fa55ff9e6aa927e7ce2fbe76a86cf':
  Cleanup: remove AARCH/ARM_COPY relocation support
2014-05-12 17:33:14 +00:00
Dmitriy Ivanov
15989a2b34 am e2997950: Merge "Cleanup: remove AARCH/ARM_COPY relocation support"
* commit 'e29979503a166d51e18e557a16aa8703a0dbdbb9':
  Cleanup: remove AARCH/ARM_COPY relocation support
2014-05-12 17:28:09 +00:00
Dmitriy Ivanov
e29979503a Merge "Cleanup: remove AARCH/ARM_COPY relocation support" 2014-05-12 17:21:35 +00:00
Dmitriy Ivanov
b906e13c55 Cleanup: remove AARCH/ARM_COPY relocation support
They are only legal for ET_EXEC binaries and these are no
longer supported.

Bug: 14566672
Change-Id: I99e0ff47e8c572db474bc5e52df870a72269abb3
2014-05-12 09:06:14 -07:00
The Android Automerger
9093a5d513 merge in master-release history after reset to 3c831506cf3871d8ec10418e7edf7dedf96e4ccb 2014-05-12 05:49:10 -07:00
Calin Juravle
3c831506cf am 26fbede0: am e032a18c: am d67c6af2: Merge "Reserve space for the future in statvfs(64)"
* commit '26fbede03e32a679836ac0b4fabe7be0d9458759':
  Reserve space for the future in statvfs(64)
2014-05-12 10:11:57 +00:00
Calin Juravle
324f9e22ef am fc7cc469: am 60e11324: am 4d695bf5: Merge "Align struct passwd definition with other variations of libc"
* commit 'fc7cc469d320b8bb66dd40d93692cd159040a04f':
  Align struct passwd definition with other variations of libc
2014-05-12 10:07:24 +00:00
Calin Juravle
26fbede03e am e032a18c: am d67c6af2: Merge "Reserve space for the future in statvfs(64)"
* commit 'e032a18c9792a51f6690b7c6e32b0c8c4ea0411b':
  Reserve space for the future in statvfs(64)
2014-05-12 10:07:20 +00:00
Calin Juravle
e032a18c97 am d67c6af2: Merge "Reserve space for the future in statvfs(64)"
* commit 'd67c6af2f6767b057546e80cb90818e0efccce96':
  Reserve space for the future in statvfs(64)
2014-05-12 10:03:05 +00:00
Calin Juravle
fc7cc469d3 am 60e11324: am 4d695bf5: Merge "Align struct passwd definition with other variations of libc"
* commit '60e1132460aec1dbe191dc3d2c8fec6073163824':
  Align struct passwd definition with other variations of libc
2014-05-12 10:02:49 +00:00
Calin Juravle
d67c6af2f6 Merge "Reserve space for the future in statvfs(64)" 2014-05-12 09:59:57 +00:00
Calin Juravle
60e1132460 am 4d695bf5: Merge "Align struct passwd definition with other variations of libc"
* commit '4d695bf5606f2cf4029a7ff4e6dd61073407d3b0':
  Align struct passwd definition with other variations of libc
2014-05-12 09:58:20 +00:00
Calin Juravle
7bec1212c7 Reserve space for the future in statvfs(64)
The kernel struct has some spare space at the end too, and some extra
fields, so having a bit of flexibility in statvfs might be worthwhile.

Bug: 14681331
Bug: 12875898
Change-Id: I5b502c5dd9d2e3bb8f34804f83c02669cefce01e
2014-05-12 10:56:39 +01:00
Calin Juravle
4d695bf560 Merge "Align struct passwd definition with other variations of libc" 2014-05-12 09:53:41 +00:00
The Android Automerger
7a3538df42 merge in master-release history after reset to d35f1b508e7fe5e7e01993751baed7f7a765723f 2014-05-11 05:49:11 -07:00
The Android Automerger
da749ec7aa merge in master-release history after reset to d35f1b508e7fe5e7e01993751baed7f7a765723f 2014-05-10 05:49:24 -07:00
Elliott Hughes
d35f1b508e am 5ce362b4: am cf113ab9: am 4b57305a: Merge "Bring in google3-style DISALLOW_* macros."
* commit '5ce362b4c5a942beea8dc90542f00d19b3b49845':
  Bring in google3-style DISALLOW_* macros.
2014-05-10 03:46:15 +00:00
Elliott Hughes
5ce362b4c5 am cf113ab9: am 4b57305a: Merge "Bring in google3-style DISALLOW_* macros."
* commit 'cf113ab91d30d7c984889b1ee26131aeac71c6d4':
  Bring in google3-style DISALLOW_* macros.
2014-05-10 03:41:53 +00:00
Elliott Hughes
cf113ab91d am 4b57305a: Merge "Bring in google3-style DISALLOW_* macros."
* commit '4b57305afe2b54a6afb733361f6fd93cb92ccfa8':
  Bring in google3-style DISALLOW_* macros.
2014-05-10 03:37:14 +00:00
Elliott Hughes
4b57305afe Merge "Bring in google3-style DISALLOW_* macros." 2014-05-10 03:32:28 +00:00
Elliott Hughes
8eac9af24e Bring in google3-style DISALLOW_* macros.
I've been meaning to do this for a very long time...

Change-Id: Ia8c16eee7c026c3c9505399948485fb778fb0152
2014-05-09 19:12:08 -07:00
Elliott Hughes
4e499eb7bf am f05495fd: am c66df5e9: am b2c3c803: Merge "Align the child stack in clone(2)."
* commit 'f05495fdab6a73575560190ae88cc0f2ba0a5a74':
  Align the child stack in clone(2).
2014-05-10 00:51:17 +00:00
Elliott Hughes
f05495fdab am c66df5e9: am b2c3c803: Merge "Align the child stack in clone(2)."
* commit 'c66df5e92d5ccb7ee6dce58107f042b367f074dc':
  Align the child stack in clone(2).
2014-05-10 00:47:04 +00:00
Elliott Hughes
c66df5e92d am b2c3c803: Merge "Align the child stack in clone(2)."
* commit 'b2c3c803f0f4a50acfdc31eb28bd83b48a0026fe':
  Align the child stack in clone(2).
2014-05-10 00:42:01 +00:00
Elliott Hughes
b2c3c803f0 Merge "Align the child stack in clone(2)." 2014-05-10 00:38:51 +00:00
Elliott Hughes
0d236aa3f1 Align the child stack in clone(2).
Also let clone(2) set the TLS for x86.

Also ensure we initialize the TLS before we clone(2) for all architectures.

Change-Id: Ie5fa4466e1c9ee116a281dfedef574c5ba60c0b5
2014-05-09 17:06:51 -07:00
Elliott Hughes
656e405f8b am 1bca28eb: am 0db4c690: am 8fa5c252: Merge "Align arm64 stacks to 16 bytes in __bionic_clone."
* commit '1bca28eb0d75763ba1813bed65b68f913dc6d79e':
  Align arm64 stacks to 16 bytes in __bionic_clone.
2014-05-09 21:54:56 +00:00
Christopher Ferris
e58f9950ae am 262700ac: am aabcf287: am b222097d: Merge "Use larger neon instructions for moving data."
* commit '262700ac96e4cdb299f542e7e7723b980dd2244f':
  Use larger neon instructions for moving data.
2014-05-09 21:54:55 +00:00
Elliott Hughes
1bca28eb0d am 0db4c690: am 8fa5c252: Merge "Align arm64 stacks to 16 bytes in __bionic_clone."
* commit '0db4c69087fab71cfe3f4874721af36330ea3d8d':
  Align arm64 stacks to 16 bytes in __bionic_clone.
2014-05-09 21:36:11 +00:00
Elliott Hughes
0db4c69087 am 8fa5c252: Merge "Align arm64 stacks to 16 bytes in __bionic_clone."
* commit '8fa5c2528c04df00f9f9a3dc4047ae88d3f13524':
  Align arm64 stacks to 16 bytes in __bionic_clone.
2014-05-09 21:31:44 +00:00
Calin Juravle
c768874c66 Align struct passwd definition with other variations of libc
Add pg_gecos ("real name") field to struct passwd.

Bug: 14679430
Bug: 12875898
Change-Id: I833ec2c46f6a6259b7232a8e3f7942968ef0b50d
2014-05-09 22:29:23 +01:00
Elliott Hughes
8fa5c2528c Merge "Align arm64 stacks to 16 bytes in __bionic_clone." 2014-05-09 21:28:05 +00:00
Christopher Ferris
262700ac96 am aabcf287: am b222097d: Merge "Use larger neon instructions for moving data."
* commit 'aabcf2871d6ca096b3a0ba5c2ba5ef5691e1ca71':
  Use larger neon instructions for moving data.
2014-05-09 21:20:11 +00:00
Christopher Ferris
aabcf2871d am b222097d: Merge "Use larger neon instructions for moving data."
* commit 'b222097dae05dfbca8000a18e0629c6bca7584c4':
  Use larger neon instructions for moving data.
2014-05-09 21:15:24 +00:00
Christopher Ferris
b222097dae Merge "Use larger neon instructions for moving data." 2014-05-09 21:09:55 +00:00
Elliott Hughes
fff3c0fdcf Align arm64 stacks to 16 bytes in __bionic_clone.
Also ensure that arm64/x86-64/x86 assembler uses local labels.
(There are are so many non-local labels in arm that fixing them
seems out of scope.)

Also synchronize the __bionic_clone.S comments.

Change-Id: I03b4f84780d996b54d6637a074638196bbb01cd4
2014-05-09 12:16:20 -07:00
Christopher Ferris
2146d142b2 Use larger neon instructions for moving data.
Included is a new target generic-neon that will use neon instructions
on 64 bit platforms where appropriate.

Change-Id: Iaf71b768780aa9240a24539cd87666ca9298e4c6
2014-05-09 11:29:37 -07:00
Elliott Hughes
137945c0d5 am 5f98c5a5: am df3aa079: am 55b4c8a4: Merge "Hide the __bionic_clone and __bionic_clone_entry implementation details."
* commit '5f98c5a54a63be80c59bcdf0d278c3e37cf9b325':
  Hide the __bionic_clone and __bionic_clone_entry implementation details.
2014-05-09 16:26:26 +00:00
Elliott Hughes
5f98c5a54a am df3aa079: am 55b4c8a4: Merge "Hide the __bionic_clone and __bionic_clone_entry implementation details."
* commit 'df3aa079cc676bbbc5f9d31044925c7d99fed53d':
  Hide the __bionic_clone and __bionic_clone_entry implementation details.
2014-05-09 16:21:29 +00:00
Elliott Hughes
df3aa079cc am 55b4c8a4: Merge "Hide the __bionic_clone and __bionic_clone_entry implementation details."
* commit '55b4c8a4a15723f7c5f68b9ab167fbdea0c4e610':
  Hide the __bionic_clone and __bionic_clone_entry implementation details.
2014-05-09 16:18:37 +00:00
Elliott Hughes
55b4c8a4a1 Merge "Hide the __bionic_clone and __bionic_clone_entry implementation details." 2014-05-09 16:13:52 +00:00
Elliott Hughes
68c937b929 am 529cb6c4: am 5a61272b: am adfc007d: Merge "Declare sincos/sincosf/sincosl in <math.h>."
* commit '529cb6c44d43c060d5bc4173599235e56fbf1d68':
  Declare sincos/sincosf/sincosl in <math.h>.
2014-05-09 09:36:06 +00:00
Elliott Hughes
529cb6c44d am 5a61272b: am adfc007d: Merge "Declare sincos/sincosf/sincosl in <math.h>."
* commit '5a61272b09c577e9c09eda667078d771100bc823':
  Declare sincos/sincosf/sincosl in <math.h>.
2014-05-09 08:22:51 +00:00
Elliott Hughes
5a61272b09 am adfc007d: Merge "Declare sincos/sincosf/sincosl in <math.h>."
* commit 'adfc007dbf936bd021d79ba2d2c360a3cfc77be9':
  Declare sincos/sincosf/sincosl in <math.h>.
2014-05-09 04:36:03 +00:00
Elliott Hughes
adfc007dbf Merge "Declare sincos/sincosf/sincosl in <math.h>." 2014-05-09 04:33:31 +00:00
Elliott Hughes
b4f2f28054 Declare sincos/sincosf/sincosl in <math.h>.
Change-Id: If7b98f98c7ab4d3d77d310be082bff64512d51a8
2014-05-08 21:19:12 -07:00
Dmitriy Ivanov
61df017831 am 0d223900: am 3f357c72: am 29d10e3d: Merge "Test dlopen with symlinked .so files"
* commit '0d2239003a06bb53a5191eb8689ce0afc03fb23f':
  Test dlopen with symlinked .so files
2014-05-09 02:17:04 +00:00
Dmitriy Ivanov
0d2239003a am 3f357c72: am 29d10e3d: Merge "Test dlopen with symlinked .so files"
* commit '3f357c72cdb26abc1fdbbf04796e50553752d8a6':
  Test dlopen with symlinked .so files
2014-05-09 02:11:06 +00:00
Elliott Hughes
954cf0d4e2 Hide the __bionic_clone and __bionic_clone_entry implementation details.
clone(2) is the public symbol.

Also switch a test from __bionic_clone to clone; testing public API
means the test now works on glibc too.

Change-Id: If59def26a00c3afadb8a6cf9442094c35a59ffde
2014-05-08 19:00:23 -07:00
Dmitriy Ivanov
3f357c72cd am 29d10e3d: Merge "Test dlopen with symlinked .so files"
* commit '29d10e3de8f5258fec25174eb5f55eb19577859e':
  Test dlopen with symlinked .so files
2014-05-09 00:56:07 +00:00
Dmitriy Ivanov
29d10e3de8 Merge "Test dlopen with symlinked .so files" 2014-05-09 00:52:08 +00:00
Elliott Hughes
a8baee874f am 0769a6d7: am c6854d5a: am 170daa04: Merge "wchar_test.cpp: fix error between comparison signed and unsigned integer"
* commit '0769a6d70ea4751de0b92ee3daecf73cbebd4a0f':
  wchar_test.cpp: fix error between comparison signed and unsigned integer
2014-05-09 00:04:27 +00:00
Elliott Hughes
0769a6d70e am c6854d5a: am 170daa04: Merge "wchar_test.cpp: fix error between comparison signed and unsigned integer"
* commit 'c6854d5a34c956b00c6e5557adf42686e65f69e1':
  wchar_test.cpp: fix error between comparison signed and unsigned integer
2014-05-09 00:01:03 +00:00
Elliott Hughes
c6854d5a34 am 170daa04: Merge "wchar_test.cpp: fix error between comparison signed and unsigned integer"
* commit '170daa042cb0ef3e5d7839f79d052a683b3c670f':
  wchar_test.cpp: fix error between comparison signed and unsigned integer
2014-05-08 23:56:46 +00:00
Elliott Hughes
170daa042c Merge "wchar_test.cpp: fix error between comparison signed and unsigned integer" 2014-05-08 23:52:59 +00:00
Dmitriy Ivanov
ffdaf4d416 am 4a9e8a9a: am 125a10b8: am b6964524: Merge "Remove support for non-PIE executables"
* commit '4a9e8a9ab725f932c66d24d7c7c4f53fe3e79b41':
  Remove support for non-PIE executables
2014-05-08 21:43:09 +00:00
Dmitriy Ivanov
7db180919c Test dlopen with symlinked .so files
Bug: 9741592
Change-Id: I68c59d6f4e690136395c3dc3de13f99ce38de528
2014-05-08 14:28:34 -07:00
Dmitriy Ivanov
4a9e8a9ab7 am 125a10b8: am b6964524: Merge "Remove support for non-PIE executables"
* commit '125a10b8e25c5cf37b744f2181d30a64b500624a':
  Remove support for non-PIE executables
2014-05-08 20:58:40 +00:00
Dmitriy Ivanov
125a10b8e2 am b6964524: Merge "Remove support for non-PIE executables"
* commit 'b69645248887ddb88517b07c1617d390fdce9c9f':
  Remove support for non-PIE executables
2014-05-08 20:55:57 +00:00
Dmitriy Ivanov
b696452488 Merge "Remove support for non-PIE executables" 2014-05-08 20:52:10 +00:00
Nick Kralevich
2aebf5429b Remove support for non-PIE executables
Don't support the dynamic linker loading ET_EXEC executables. Only
support ET_DYN executables.

Bug: 14566672
Change-Id: Ia1f2bfffe7ea867c1cd62e67d7fd637c60c0728d
2014-05-08 13:17:17 -07:00
Elliott Hughes
b91610c95a am 8eed5d8b: am fae100f9: am a3ce6bdb: Merge "Fix LOG_ID_CRASH build failure."
* commit '8eed5d8bca6a3a2810bce17c2316ad44a3daa191':
  Fix LOG_ID_CRASH build failure.
2014-05-08 18:31:14 +00:00
Elliott Hughes
19d97abe9b am 64b53953: am 96fd4159: am 1ee18d0e: Merge "Send bionic\'s fatal logging to the crash log."
* commit '64b539533dc3a6ca21c680003d60fe1fcdd6fbdb':
  Send bionic's fatal logging to the crash log.
2014-05-08 18:31:12 +00:00
Elliott Hughes
9db56db00f am c267165b: am fe6eea18: am 3b968032: Merge "Add basic tests for fsync/fdatasync."
* commit 'c267165b46912733ffbfdea7013cc02439ea207b':
  Add basic tests for fsync/fdatasync.
2014-05-08 18:31:11 +00:00
Yongqin Liu
a5c6b2ecb5 wchar_test.cpp: fix error between comparison signed and unsigned integer
when compile the cts package with aarch64 gcc4.9, will get following error:
bionic/tests/wchar_test.cpp:253:3: required from here
external/gtest/include/gtest/gtest.h:1448:16:
    error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]

this change fix it by using static_cast<wchar_t> as suggested by Calin Juravle

Change-Id: I7fb9506e7b84b8a12b9d003458d4f0e78554c3cd
Signed-off-by: Yongqin Liu <yongqin.liu@linaro.org>
2014-05-09 00:57:47 +08:00
The Android Automerger
a05477a4f9 merge in master-release history after reset to 9bb0229be41bfa4e38d98140191ccf57bc7a6349 2014-05-08 05:49:18 -07:00
Elliott Hughes
8eed5d8bca am fae100f9: am a3ce6bdb: Merge "Fix LOG_ID_CRASH build failure."
* commit 'fae100f90f277bb1603b2cd862dfaded0041bab5':
  Fix LOG_ID_CRASH build failure.
2014-05-08 00:23:18 +00:00
Elliott Hughes
fae100f90f am a3ce6bdb: Merge "Fix LOG_ID_CRASH build failure."
* commit 'a3ce6bdb63cc1d657d9180269bf858af9fa685bf':
  Fix LOG_ID_CRASH build failure.
2014-05-08 00:18:13 +00:00
Elliott Hughes
a3ce6bdb63 Merge "Fix LOG_ID_CRASH build failure." 2014-05-08 00:13:26 +00:00
Elliott Hughes
ae0a62b014 Fix LOG_ID_CRASH build failure.
Change-Id: I66517e30c568d7f36f6bf6b1e4507ecf14f01226
2014-05-07 17:12:40 -07:00
Elliott Hughes
64b539533d am 96fd4159: am 1ee18d0e: Merge "Send bionic\'s fatal logging to the crash log."
* commit '96fd4159ecf2a9416f13ab215b662eba971e6d8c':
  Send bionic's fatal logging to the crash log.
2014-05-07 23:49:15 +00:00
Elliott Hughes
c267165b46 am fe6eea18: am 3b968032: Merge "Add basic tests for fsync/fdatasync."
* commit 'fe6eea18c35c266051c5aecab3aaf563702235f8':
  Add basic tests for fsync/fdatasync.
2014-05-07 23:49:13 +00:00
Elliott Hughes
96fd4159ec am 1ee18d0e: Merge "Send bionic\'s fatal logging to the crash log."
* commit '1ee18d0eb047edda23987c28bc78b8f7e4c2db0a':
  Send bionic's fatal logging to the crash log.
2014-05-07 23:44:39 +00:00
Elliott Hughes
fe6eea18c3 am 3b968032: Merge "Add basic tests for fsync/fdatasync."
* commit '3b968032848426c12185fe1c0f20e5bc882ed388':
  Add basic tests for fsync/fdatasync.
2014-05-07 23:44:39 +00:00
Elliott Hughes
1ee18d0eb0 Merge "Send bionic's fatal logging to the crash log." 2014-05-07 23:40:28 +00:00
Elliott Hughes
3b96803284 Merge "Add basic tests for fsync/fdatasync." 2014-05-07 23:40:11 +00:00
Elliott Hughes
011101905d Send bionic's fatal logging to the crash log.
Bug: 14159417
Change-Id: I7aa986fb8e11660035221f9bb4fe0bc40ac36c58
2014-05-07 16:35:59 -07:00
Dmitriy Ivanov
9bb0229be4 am ae7e6c5a: am 7fb0b5d2: am f837cbdc: Merge "Add missing test for atexit test suite."
* commit 'ae7e6c5ab3c871456e95d6aa6e095ef0b76ce989':
  Add missing test for atexit test suite.
2014-05-07 22:35:42 +00:00
Elliott Hughes
66d8ed603b am 62fcc2f6: am b40f4243: am 8ec38997: Merge "Give bionic\'s __ANDROID_API__ a more reasonable value."
* commit '62fcc2f6f012e7c66e61e564c3592f466a2be188':
  Give bionic's __ANDROID_API__ a more reasonable value.
2014-05-07 22:35:24 +00:00
Calin Juravle
170c91c696 am 60fcdc3e: am b5f4106c: am 837abf04: Merge "Fix bionic-unit-tests-glibc-run target"
* commit '60fcdc3ecb949ed9cdbbd878c5c6bf9f8613deef':
  Fix bionic-unit-tests-glibc-run target
2014-05-07 22:35:23 +00:00
Torne (Richard Coles)
a1d145c465 am de070ae5: am 551466e7: am 35cff760: Merge "Test that relro sharing actually saves memory."
* commit 'de070ae5255306eddffa452d56779aa8869403cf':
  Test that relro sharing actually saves memory.
2014-05-07 22:35:22 +00:00
Calin Juravle
9b6b11b0f9 am 71ee6889: am ed4e01f7: am e292875c: Merge "Reserve some space in sem_t for the future."
* commit '71ee6889457eb238c6a1bcbba5ecf0587f8b71c8':
  Reserve some space in sem_t for the future.
2014-05-07 22:35:22 +00:00
Calin Juravle
7fbe52b9af am 478a1b57: am c2787015: am b6c48b20: Merge "Allow for better utmp logging."
* commit '478a1b57bd44220373cedc72813ae7a9e26f328a':
  Allow for better utmp logging.
2014-05-07 22:35:21 +00:00
Calin Juravle
c5413a55e1 am 2b180ea8: am b742e82e: am fc2af0ca: Merge "Fix ino_t and suseconds_t"
* commit '2b180ea80c79db5887c03e7d6cf2b40e7036f8e0':
  Fix ino_t and suseconds_t
2014-05-07 22:35:20 +00:00
Calin Juravle
363eb3de3a am 2b4313a2: am adf5e63a: am 764a8882: Merge "Leave more space for extensions in pthread_rwlockattr_t"
* commit '2b4313a2737a9df2c0ce2e05077980ce638643c3':
  Leave more space for extensions in pthread_rwlockattr_t
2014-05-07 22:35:19 +00:00
Elliott Hughes
c47ec798bc am 5d73936f: am 1ecf7633: am 6ad9cd41: Merge "Change the interface for fatal logging."
* commit '5d73936fabd2cdcb336ec7c84d52e91a7d5e76de':
  Change the interface for fatal logging.
2014-05-07 22:35:19 +00:00
Elliott Hughes
a62a28d1d9 Add basic tests for fsync/fdatasync.
Bug: 14613980
Change-Id: Ie8002c2a1abae07295b7bdb33772764767c03d37
2014-05-07 14:30:33 -07:00
Dmitriy Ivanov
ae7e6c5ab3 am 7fb0b5d2: am f837cbdc: Merge "Add missing test for atexit test suite."
* commit '7fb0b5d26d24ad260605c7cad8df996f7e2c2106':
  Add missing test for atexit test suite.
2014-05-07 20:57:29 +00:00
Dmitriy Ivanov
7fb0b5d26d am f837cbdc: Merge "Add missing test for atexit test suite."
* commit 'f837cbdc27a0f024bdc9898177a8ac05817441a7':
  Add missing test for atexit test suite.
2014-05-07 20:52:47 +00:00
Dmitriy Ivanov
f837cbdc27 Merge "Add missing test for atexit test suite." 2014-05-07 20:49:00 +00:00
Elliott Hughes
62fcc2f6f0 am b40f4243: am 8ec38997: Merge "Give bionic\'s __ANDROID_API__ a more reasonable value."
* commit 'b40f424353b6dfadabcc0df6e3875d3c82b13a64':
  Give bionic's __ANDROID_API__ a more reasonable value.
2014-05-07 20:29:00 +00:00
Calin Juravle
60fcdc3ecb am b5f4106c: am 837abf04: Merge "Fix bionic-unit-tests-glibc-run target"
* commit 'b5f4106c85dabd33e88dabdeef98223a847a6772':
  Fix bionic-unit-tests-glibc-run target
2014-05-07 20:28:53 +00:00
Torne (Richard Coles)
de070ae525 am 551466e7: am 35cff760: Merge "Test that relro sharing actually saves memory."
* commit '551466e778ff00b4468442790d169810322e4190':
  Test that relro sharing actually saves memory.
2014-05-07 20:28:43 +00:00
Calin Juravle
71ee688945 am ed4e01f7: am e292875c: Merge "Reserve some space in sem_t for the future."
* commit 'ed4e01f7060b80e62d4936068d0cda1b76ab4650':
  Reserve some space in sem_t for the future.
2014-05-07 20:28:40 +00:00
Calin Juravle
478a1b57bd am c2787015: am b6c48b20: Merge "Allow for better utmp logging."
* commit 'c27870158ae54e06c39384722b519f06c4521dc7':
  Allow for better utmp logging.
2014-05-07 20:28:39 +00:00
Calin Juravle
2b180ea80c am b742e82e: am fc2af0ca: Merge "Fix ino_t and suseconds_t"
* commit 'b742e82e90e2606e67bf173736b21f79448c7293':
  Fix ino_t and suseconds_t
2014-05-07 20:28:39 +00:00
Calin Juravle
2b4313a273 am adf5e63a: am 764a8882: Merge "Leave more space for extensions in pthread_rwlockattr_t"
* commit 'adf5e63aca6dd4c77b0baa785e95e3e739018a72':
  Leave more space for extensions in pthread_rwlockattr_t
2014-05-07 20:28:38 +00:00
Elliott Hughes
5d73936fab am 1ecf7633: am 6ad9cd41: Merge "Change the interface for fatal logging."
* commit '1ecf7633737d66cc411a4ca628fe0776b0fc5940':
  Change the interface for fatal logging.
2014-05-07 20:28:28 +00:00
Elliott Hughes
b40f424353 am 8ec38997: Merge "Give bionic\'s __ANDROID_API__ a more reasonable value."
* commit '8ec38997ef44c12dc4cac0f19148a44ee70eba74':
  Give bionic's __ANDROID_API__ a more reasonable value.
2014-05-07 20:03:42 +00:00
Elliott Hughes
8ec38997ef Merge "Give bionic's __ANDROID_API__ a more reasonable value." 2014-05-07 19:58:21 +00:00
Elliott Hughes
4aa2e6a32a Give bionic's __ANDROID_API__ a more reasonable value.
This matches what frameworks/base does with Build.VERSION and means that
bionic's version number will always sort >= than any released version.
This should prevent confusion in code that builds both against bionic
and the NDK.

(Note that <sys/cdefs.h> drags this in, so it's always in the namespace.)

Bug: 14613709
Change-Id: I91fb745920e848a6b20f2f5797c0a7d6cde6c032
2014-05-07 12:57:51 -07:00
Dmitriy Ivanov
6396da98cb Add missing test for atexit test suite.
Change-Id: I3d14d7df1da53ccef534c106633593551ab6a7cb
2014-05-07 12:29:54 -07:00
Calin Juravle
b5f4106c85 am 837abf04: Merge "Fix bionic-unit-tests-glibc-run target"
* commit '837abf04667c29db178fd28f500537429a18be30':
  Fix bionic-unit-tests-glibc-run target
2014-05-07 19:10:08 +00:00
Calin Juravle
837abf0466 Merge "Fix bionic-unit-tests-glibc-run target" 2014-05-07 18:31:11 +00:00
Calin Juravle
0e9d7fccb9 Fix bionic-unit-tests-glibc-run target
Configure multilib for bionic-unit-tests-glibc-run target (the path to
the host executable was already patched to support multilib build but
the multilib itself wasn't configured).

Change-Id: If533fbdb19bc737e543cf85a0787505458f24579
2014-05-07 19:06:30 +01:00
The Android Automerger
cc5cad3af9 merge in master-release history after reset to 8cfe8c1d40cbc9a0aa2d6df0fe6d6408e6752908 2014-05-07 09:10:14 -07:00
Torne (Richard Coles)
551466e778 am 35cff760: Merge "Test that relro sharing actually saves memory."
* commit '35cff760dfc5d9d1432955503ffff02286ac20ef':
  Test that relro sharing actually saves memory.
2014-05-07 15:30:28 +00:00
Torne (Richard Coles)
35cff760df Merge "Test that relro sharing actually saves memory." 2014-05-07 15:25:44 +00:00
Calin Juravle
ed4e01f706 am e292875c: Merge "Reserve some space in sem_t for the future."
* commit 'e292875cf55265bea7f78049e31d50c15a3a34e0':
  Reserve some space in sem_t for the future.
2014-05-07 14:09:52 +00:00
Calin Juravle
c27870158a am b6c48b20: Merge "Allow for better utmp logging."
* commit 'b6c48b20e4aa9a0e0068980eb305dc522a680900':
  Allow for better utmp logging.
2014-05-07 14:09:52 +00:00
Calin Juravle
b742e82e90 am fc2af0ca: Merge "Fix ino_t and suseconds_t"
* commit 'fc2af0ca47cd5017838b495687784c82c080f9d2':
  Fix ino_t and suseconds_t
2014-05-07 14:09:50 +00:00
Calin Juravle
adf5e63aca am 764a8882: Merge "Leave more space for extensions in pthread_rwlockattr_t"
* commit '764a88821893f18d343d5a784a5b2047d4c11d88':
  Leave more space for extensions in pthread_rwlockattr_t
2014-05-07 14:09:49 +00:00
Calin Juravle
e292875cf5 Merge "Reserve some space in sem_t for the future." 2014-05-07 14:04:32 +00:00
Calin Juravle
b6c48b20e4 Merge "Allow for better utmp logging." 2014-05-07 14:04:22 +00:00
Calin Juravle
fc2af0ca47 Merge "Fix ino_t and suseconds_t" 2014-05-07 14:04:12 +00:00
Calin Juravle
764a888218 Merge "Leave more space for extensions in pthread_rwlockattr_t" 2014-05-07 14:04:01 +00:00
The Android Automerger
14c1512e56 merge in master-release history after reset to 59effda9ca6c3b0cf844307f2478ed8cf5093832 2014-05-07 05:49:18 -07:00
Elliott Hughes
1ecf763373 am 6ad9cd41: Merge "Change the interface for fatal logging."
* commit '6ad9cd41bc3ae27b8c8a1f6489d6ceb9921e6ad1':
  Change the interface for fatal logging.
2014-05-07 04:07:38 +00:00
Elliott Hughes
6ad9cd41bc Merge "Change the interface for fatal logging." 2014-05-07 04:04:28 +00:00
Elliott Hughes
c78368f04f Change the interface for fatal logging.
This more general interface lets liblog give us any fatal log message,
regardless of source. This means we can remove the special case for
LOG_ALWAYS_FATAL with a simpler scheme that automatically works for
the VM too.

Change-Id: Ia6dbf7c3dbabf223081bd5159294835d954bb067
2014-05-06 20:37:22 -07:00
Elliott Hughes
8cfe8c1d40 am c46ffbd5: am 4a7afa48: am e05df251: Merge "Fix a gethnamaddr.c warning that\'s already fixed upstream."
* commit 'c46ffbd51e48a8902db18b5f98d767766063c236':
  Fix a gethnamaddr.c warning that's already fixed upstream.
2014-05-06 20:52:55 +00:00
Elliott Hughes
c46ffbd51e am 4a7afa48: am e05df251: Merge "Fix a gethnamaddr.c warning that\'s already fixed upstream."
* commit '4a7afa4863668931a7253633ea0d42071598a96f':
  Fix a gethnamaddr.c warning that's already fixed upstream.
2014-05-06 20:49:20 +00:00
Elliott Hughes
4a7afa4863 am e05df251: Merge "Fix a gethnamaddr.c warning that\'s already fixed upstream."
* commit 'e05df25145eda8ca59db5eb03cf5dbf8c7714870':
  Fix a gethnamaddr.c warning that's already fixed upstream.
2014-05-06 20:46:16 +00:00
Elliott Hughes
e05df25145 Merge "Fix a gethnamaddr.c warning that's already fixed upstream." 2014-05-06 20:42:10 +00:00
Elliott Hughes
80a4b70efd am 33ba85cb: am 856e6a35: am 89ca3c5a: Merge "Sync with upstream OpenBSD wcsftime.c."
* commit '33ba85cbd6807bd15f7b197a0807f6a95b6e57b5':
  Sync with upstream OpenBSD wcsftime.c.
2014-05-06 20:29:36 +00:00
Elliott Hughes
33ba85cbd6 am 856e6a35: am 89ca3c5a: Merge "Sync with upstream OpenBSD wcsftime.c."
* commit '856e6a35bf350a7923c1e283c1816572adfbe1dd':
  Sync with upstream OpenBSD wcsftime.c.
2014-05-06 20:25:31 +00:00
Elliott Hughes
856e6a35bf am 89ca3c5a: Merge "Sync with upstream OpenBSD wcsftime.c."
* commit '89ca3c5aec19b3fa9bdc9982e31c0516d6077797':
  Sync with upstream OpenBSD wcsftime.c.
2014-05-06 20:23:37 +00:00
Elliott Hughes
89ca3c5aec Merge "Sync with upstream OpenBSD wcsftime.c." 2014-05-06 20:21:03 +00:00
Elliott Hughes
3e5f0c9849 Fix a gethnamaddr.c warning that's already fixed upstream.
We're still way out of sync, but this cleans up a tiny corner.

Change-Id: I51e76601785bf351d6418841b56e08a900a84d82
2014-05-06 11:23:40 -07:00
Elliott Hughes
2716f3e805 Sync with upstream OpenBSD wcsftime.c.
They removed the code nobody wants rather than fix the ""/L"" mixup.
Even better!

Change-Id: Ib4333acf5e90d69586805a218d2894c5dffcb82f
2014-05-06 11:12:34 -07:00
Calin Juravle
6726862e9a Fix ino_t and suseconds_t
Align ino_t and suseconds_t definitions with kernel
and OpenBSD upstream.

Bug: 14583346
Bug: 12875898
Change-Id: I0d97c6b4fc85b261472575290e6f6f2df1c8a36a
2014-05-06 18:41:26 +01:00
Elliott Hughes
59effda9ca am 00708229: am 41d97fa1: am 100168ab: Merge "Fix <math.h> to quieten most of our warnings."
* commit '0070822911bc5d5a6cf6c00c57b80b15803d8fbe':
  Fix <math.h> to quieten most of our warnings.
2014-05-06 17:29:52 +00:00
Elliott Hughes
0070822911 am 41d97fa1: am 100168ab: Merge "Fix <math.h> to quieten most of our warnings."
* commit '41d97fa15a99f38fb8126006e83243d6e868bd8a':
  Fix <math.h> to quieten most of our warnings.
2014-05-06 17:25:40 +00:00
Elliott Hughes
41d97fa15a am 100168ab: Merge "Fix <math.h> to quieten most of our warnings."
* commit '100168abff75f41c0179a77777f0aef622f7ed9f':
  Fix <math.h> to quieten most of our warnings.
2014-05-06 17:22:09 +00:00
Elliott Hughes
100168abff Merge "Fix <math.h> to quieten most of our warnings." 2014-05-06 17:18:16 +00:00
Calin Juravle
0686d5e26f Reserve some space in sem_t for the future.
Reserve 12 more bytes in sem_t to give room for future implementation
improvements. This gets us to a 16 bytes sem_t. Glibc uses 32 bytes (16
actual use + 16 reserved), while OpenBSD has 16 bytes (out of which 4
are for padding).

Bug: 14587103
Bug: 12875898
Change-Id: Id835cc5abf874c651e6b5ad5b8f29c9d6ab08d5a
2014-05-06 16:24:27 +01:00
Calin Juravle
7d8f303353 Allow for better utmp logging.
Increase (UT_NAMESIZE,UT_LINESIZE,UT_HOSTSIZE) to (32,32,256).

Nobody writes utmp on Android but it would be nice to be aligned
with others who use 32,32,256 (like glibc). If ever used it will produce
nicer logging. There is no consensus in BSDs for these values.

Bug: 14584341
Bug: 12875898

Change-Id: I94af10b982b8f9fcaea897c4cf968563f38403f9
2014-05-06 15:44:14 +01:00
Calin Juravle
289ce81cde am bfc812da: am c6141470: am 7b1a95bc: Merge "Add include guard to fileext.h"
* commit 'bfc812da93c785f66e9ad4486a94f6aaa3a6fa9d':
  Add include guard to fileext.h
2014-05-06 13:54:53 +00:00
Calin Juravle
bfc812da93 am c6141470: am 7b1a95bc: Merge "Add include guard to fileext.h"
* commit 'c614147042fa352919c891b08389cbf4512c674f':
  Add include guard to fileext.h
2014-05-06 13:51:48 +00:00
Calin Juravle
c614147042 am 7b1a95bc: Merge "Add include guard to fileext.h"
* commit '7b1a95bc761c584d2654f6dc355830ff2e405655':
  Add include guard to fileext.h
2014-05-06 13:49:38 +00:00
Calin Juravle
7b1a95bc76 Merge "Add include guard to fileext.h" 2014-05-06 13:47:19 +00:00
The Android Automerger
195651978d merge in master-release history after reset to 8f901feeae190856d6bd1cf66fdecb4cf4234b46 2014-05-06 05:49:18 -07:00
Calin Juravle
7c435f2415 Leave more space for extensions in pthread_rwlockattr_t
Change pthread_rwlockattr_t from int to long. On LP64 this gives us more
room for extensibility since longs are 8 bytes. glibc also reserves 8
bytes for this.

Bug: 14582681
Bug: 12875898
Change-Id: I55d599be0fdbbf0cb55957ec0ea62ab042bdee94
2014-05-06 13:40:24 +01:00
Torne (Richard Coles)
2605261691 Test that relro sharing actually saves memory.
Spawn 20 child processes, have them all load the library, and compare
the total PSS used in the case where we use dlopen() and the case where
we use android_dlopen_ext() with relro sharing. We assume we will save
at least 10% of the memory; in practise this example saves 40% or more
so this should be a reasonable threshold.

Bug: 14299541
Change-Id: Idccf6b8b0eb137abae2200f1ce68fb76b3cbdd75
2014-05-06 11:38:53 +01:00
Torne (Richard Coles)
8f901feeae am e0a8474a: am b9b75697: am 9b5ee4aa: Merge "Handle empty relro segment or incorrectly sized file."
* commit 'e0a8474adf94d8b2ae53bd7b96c259d860616958':
  Handle empty relro segment or incorrectly sized file.
2014-05-06 10:25:45 +00:00
Torne (Richard Coles)
e0a8474adf am b9b75697: am 9b5ee4aa: Merge "Handle empty relro segment or incorrectly sized file."
* commit 'b9b75697fa6c58a85f48d7f31113814385a709bd':
  Handle empty relro segment or incorrectly sized file.
2014-05-06 10:22:39 +00:00
Torne (Richard Coles)
b9b75697fa am 9b5ee4aa: Merge "Handle empty relro segment or incorrectly sized file."
* commit '9b5ee4aa85cf55467eb9a749b6602f6f2ba1cfc6':
  Handle empty relro segment or incorrectly sized file.
2014-05-06 10:18:34 +00:00
Torne (Richard Coles)
9b5ee4aa85 Merge "Handle empty relro segment or incorrectly sized file." 2014-05-06 10:16:18 +00:00
Elliott Hughes
9a5a3e8e74 Fix <math.h> to quieten most of our warnings.
I've reported the wcsftime bug upstream, but we really just want to use -D
to ensure the buggy code isn't built. (I've also brought our strftime a bit
closer to upstream now we have the right define.)

I don't think upstream is likely to fix all their sign-compare and
uninitialized warnings, so let's just silence them.

As for libm, again upstream isn't likely to fix all their warnings, and
silencing those made the ones that were our fault stand out. I've fixed
our <math.h> to fix the warnings caused by our lack of definitions for
the non-imprecise long-double functions. I checked the C99 standard, and
all these functions are there.

Change-Id: Iee8e1182c1db375058fb2c451eceb212bab47a37
2014-05-05 21:19:47 -07:00
Elliott Hughes
4e6c71fab9 am b8d60a2a: am e71e6a2e: am 185dd72a: Merge "bionic: make epoll_event structure packed"
* commit 'b8d60a2a0c7febce87b0511c86c3fc168c8089a4':
  bionic: make epoll_event structure packed
2014-05-06 02:59:58 +00:00
Elliott Hughes
b8d60a2a0c am e71e6a2e: am 185dd72a: Merge "bionic: make epoll_event structure packed"
* commit 'e71e6a2e6042ea118d64c8b763dd9236f2a3320b':
  bionic: make epoll_event structure packed
2014-05-06 02:57:23 +00:00
Elliott Hughes
e71e6a2e60 am 185dd72a: Merge "bionic: make epoll_event structure packed"
* commit '185dd72a2c487502717903065e46d14039f17826':
  bionic: make epoll_event structure packed
2014-05-06 02:54:13 +00:00
Elliott Hughes
185dd72a2c Merge "bionic: make epoll_event structure packed" 2014-05-06 02:50:39 +00:00
Philip Hatcher
9ded07cff6 bionic: make epoll_event structure packed
Description: In the kernel the epoll_event structure is packed
in 64 bit kernel builds to allow the structure to be more easily
compatible with 32 bit user space.  As a result, when user space
is 64-bit the structure must be packed as well.

Add unit test to show the ptr alignment issue.

Change-Id: I2c4848d5e38a357219091f350f9b6e3da05090da
Signed-off-by: Philip Hatcher <philip.hatcher@intel.com>
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
Reviewed-by: Hazarika, Prodyut <prodyut.hazarika@intel.com>
Tested-by: Hazarika, Prodyut <prodyut.hazarika@intel.com>
2014-05-05 19:48:55 -07:00
Elliott Hughes
30dc3f8313 am 1911676c: am e0cbc5da: am 4356adc3: Merge "Remove the non-standard time64 stuff for LP64."
* commit '1911676cecafeb9ae31bfb2718c7d3a351ce50b6':
  Remove the non-standard time64 stuff for LP64.
2014-05-06 02:02:44 +00:00
Elliott Hughes
1911676cec am e0cbc5da: am 4356adc3: Merge "Remove the non-standard time64 stuff for LP64."
* commit 'e0cbc5da31a0ebad76a6ca0968e26c200c70b502':
  Remove the non-standard time64 stuff for LP64.
2014-05-06 01:59:16 +00:00
Elliott Hughes
e0cbc5da31 am 4356adc3: Merge "Remove the non-standard time64 stuff for LP64."
* commit '4356adc3f46707b2664576857d7f4d8d6b0a81e2':
  Remove the non-standard time64 stuff for LP64.
2014-05-06 01:56:43 +00:00
Elliott Hughes
4356adc3f4 Merge "Remove the non-standard time64 stuff for LP64." 2014-05-06 01:53:53 +00:00
Elliott Hughes
52defb7c70 Remove the non-standard time64 stuff for LP64.
We need a workaround in strftime as long as we still need to support
64-bit times on LP32.

Change-Id: I8ffb616f6312d4063fb9ea3c36b52653e8f4c5f8
2014-05-05 17:14:02 -07:00
Elliott Hughes
a07758a8bf am 3356c72f: am 48931ca1: am 629d892d: Merge "Update the NOTICE files and improve the script slightly."
* commit '3356c72f273ba62128088e37214d786aa54b06cc':
  Update the NOTICE files and improve the script slightly.
2014-05-05 23:37:25 +00:00
Elliott Hughes
3356c72f27 am 48931ca1: am 629d892d: Merge "Update the NOTICE files and improve the script slightly."
* commit '48931ca1b027f428a8e7ca5e3e6a33a52ff8e197':
  Update the NOTICE files and improve the script slightly.
2014-05-05 23:30:47 +00:00
Elliott Hughes
48931ca1b0 am 629d892d: Merge "Update the NOTICE files and improve the script slightly."
* commit '629d892d0b5ec061b5260453d72fa54ab3d7ce37':
  Update the NOTICE files and improve the script slightly.
2014-05-05 23:27:30 +00:00
Elliott Hughes
629d892d0b Merge "Update the NOTICE files and improve the script slightly." 2014-05-05 23:24:00 +00:00
Elliott Hughes
bfa582d032 Update the NOTICE files and improve the script slightly.
Change-Id: Ia131634cd97ca9523e1b63dce41f66247cbaa311
2014-05-05 16:23:15 -07:00
Elliott Hughes
2a0d2202ef am b303cdc2: am 9d586d85: am 6916166e: Merge "Sync with upstream OpenBSD."
* commit 'b303cdc2c18a28becb2be5b5394dc599022f7ace':
  Sync with upstream OpenBSD.
2014-05-05 22:18:03 +00:00
Elliott Hughes
b303cdc2c1 am 9d586d85: am 6916166e: Merge "Sync with upstream OpenBSD."
* commit '9d586d85e5c45a38b8c0530570a6938ee1128bf0':
  Sync with upstream OpenBSD.
2014-05-05 22:15:25 +00:00
Elliott Hughes
9d586d85e5 am 6916166e: Merge "Sync with upstream OpenBSD."
* commit '6916166e108a0988dc6282bfae71f2746165fb47':
  Sync with upstream OpenBSD.
2014-05-05 22:13:36 +00:00
Elliott Hughes
6916166e10 Merge "Sync with upstream OpenBSD." 2014-05-05 22:10:48 +00:00
Elliott Hughes
7ef978f183 am c13ea3e2: am bab07de0: am ad534985: Merge "Disable %n in printf and vfwprintf."
* commit 'c13ea3e2365a4b42c10fa437c588e25a9807687e':
  Disable %n in printf and vfwprintf.
2014-05-05 21:58:52 +00:00
Elliott Hughes
e0a36f49a9 Sync with upstream OpenBSD.
These trivial differences are are only current differences from upstream
OpenBSD.

Change-Id: Iddbee2c803911915a25e1da8b246e8403fa72daf
2014-05-05 14:57:23 -07:00
Elliott Hughes
c13ea3e236 am bab07de0: am ad534985: Merge "Disable %n in printf and vfwprintf."
* commit 'bab07de0bc43a284647465dc167bcf5b63891eb6':
  Disable %n in printf and vfwprintf.
2014-05-05 21:55:46 +00:00
Elliott Hughes
bab07de0bc am ad534985: Merge "Disable %n in printf and vfwprintf."
* commit 'ad534985ec3e01d37d46c50caa562f6482f48347':
  Disable %n in printf and vfwprintf.
2014-05-05 21:51:55 +00:00
Elliott Hughes
ad534985ec Merge "Disable %n in printf and vfwprintf." 2014-05-05 21:49:22 +00:00
Elliott Hughes
e2341d08fa Disable %n in printf and vfwprintf.
Bug: 14492135
Change-Id: If190bede29e5f68a65043ddbe8e878c660933d03
2014-05-05 14:43:17 -07:00
Elliott Hughes
eac1c72997 am 2357a4cc: am d2943b60: am 8ec21d9d: Merge "Switch to current upstream OpenBSD wsetup.c."
* commit '2357a4cc7451e0387c236ab19467254483250cc1':
  Switch to current upstream OpenBSD wsetup.c.
2014-05-05 21:41:39 +00:00
Elliott Hughes
2357a4cc74 am d2943b60: am 8ec21d9d: Merge "Switch to current upstream OpenBSD wsetup.c."
* commit 'd2943b60e2c56530cd602eb5f3cfa8fb76501ecd':
  Switch to current upstream OpenBSD wsetup.c.
2014-05-05 21:39:41 +00:00
Elliott Hughes
d2943b60e2 am 8ec21d9d: Merge "Switch to current upstream OpenBSD wsetup.c."
* commit '8ec21d9ded4c05744b3f9388bf824a508d7c95c2':
  Switch to current upstream OpenBSD wsetup.c.
2014-05-05 21:36:59 +00:00
Elliott Hughes
8ec21d9ded Merge "Switch to current upstream OpenBSD wsetup.c." 2014-05-05 21:33:22 +00:00
Elliott Hughes
53b24382f5 Switch to current upstream OpenBSD wsetup.c.
Change-Id: I2c1123f3e1d3c4af7fd7bf354e763934a39b78c0
2014-05-05 14:31:20 -07:00
Dmitriy Ivanov
e2822af5ee am c2419e9d: am e9e4f08e: am 580b2469: Merge "Fixes for __cxa_finalize"
* commit 'c2419e9df73156f348f498514d5a423846ce1514':
  Fixes for __cxa_finalize
2014-05-05 21:15:34 +00:00
Dmitriy Ivanov
c2419e9df7 am e9e4f08e: am 580b2469: Merge "Fixes for __cxa_finalize"
* commit 'e9e4f08efb48a2cc6089eefc2f717bbfa1c3b9c5':
  Fixes for __cxa_finalize
2014-05-05 21:11:41 +00:00
Dmitriy Ivanov
e9e4f08efb am 580b2469: Merge "Fixes for __cxa_finalize"
* commit '580b246917d58fafc757daaf097b6bd20b17970a':
  Fixes for __cxa_finalize
2014-05-05 21:09:09 +00:00
Dmitriy Ivanov
580b246917 Merge "Fixes for __cxa_finalize" 2014-05-05 21:04:33 +00:00
Dmitriy Ivanov
6b56691a67 Fixes for __cxa_finalize
* Ability to register atexit handler from atexit handler
  * Correct way to handle both forms of atexit handler

Bug: https://code.google.com/p/android/issues/detail?id=66595
Bug: 4998315
Change-Id: I39529afaef97b6e1469c21389d54c0d7d175da28
2014-05-05 11:36:57 -07:00
The Android Automerger
fa9b2b9434 merge in master-release history after reset to f4c78487e39bb4918af01dfac3f62f1f82f84b19 2014-05-05 05:49:17 -07:00
The Android Automerger
2ba362646c merge in master-release history after reset to f4c78487e39bb4918af01dfac3f62f1f82f84b19 2014-05-04 05:49:11 -07:00
Elliott Hughes
f4c78487e3 am 2d92358a: am 23481495: am a334c1ec: Merge "Fix iswctype."
* commit '2d92358af5ad1846bcbe449f810bc978053dd2dd':
  Fix iswctype.
2014-05-04 03:33:34 +00:00
Elliott Hughes
2d92358af5 am 23481495: am a334c1ec: Merge "Fix iswctype."
* commit '23481495a359a46fe4f6da6e61b89b0eb9636571':
  Fix iswctype.
2014-05-04 03:30:55 +00:00
Elliott Hughes
efe3deb908 am 821fc960: am d18a844c: am 640b4a5a: Merge "Switch to current upstream OpenBSD fwrite.c."
* commit '821fc9603351815b4dc8cd0217204f6cf68d96d0':
  Switch to current upstream OpenBSD fwrite.c.
2014-05-04 03:30:02 +00:00
Elliott Hughes
23481495a3 am a334c1ec: Merge "Fix iswctype."
* commit 'a334c1ec135ec5c031635fd2a868ccf1125ff03a':
  Fix iswctype.
2014-05-04 03:28:38 +00:00
Elliott Hughes
821fc96033 am d18a844c: am 640b4a5a: Merge "Switch to current upstream OpenBSD fwrite.c."
* commit 'd18a844c36d0344a3258887238cd4cc83dc1d296':
  Switch to current upstream OpenBSD fwrite.c.
2014-05-04 03:26:16 +00:00
Elliott Hughes
a334c1ec13 Merge "Fix iswctype." 2014-05-04 03:25:45 +00:00
Elliott Hughes
d18a844c36 am 640b4a5a: Merge "Switch to current upstream OpenBSD fwrite.c."
* commit '640b4a5a64d39ad3c079d188dc74265373a35d8c':
  Switch to current upstream OpenBSD fwrite.c.
2014-05-04 03:23:55 +00:00
Elliott Hughes
640b4a5a64 Merge "Switch to current upstream OpenBSD fwrite.c." 2014-05-04 03:20:31 +00:00
The Android Automerger
9a636f2046 merge in master-release history after reset to 1d347514c19259364b071745de3792f187cd8899 2014-05-03 05:49:31 -07:00
Dmitriy Ivanov
1d347514c1 am 40a744fa: am 80893060: am 2d822ebe: Merge "Disallow dlopen("egl/blah.so") on LP64"
* commit '40a744fac798485c9b7a0594b1df548b7803768b':
  Disallow dlopen("egl/blah.so") on LP64
2014-05-03 01:48:37 +00:00
Dmitriy Ivanov
40a744fac7 am 80893060: am 2d822ebe: Merge "Disallow dlopen("egl/blah.so") on LP64"
* commit '80893060ddf59625e0b0906685cb2631763ecf74':
  Disallow dlopen("egl/blah.so") on LP64
2014-05-03 01:45:12 +00:00
Dmitriy Ivanov
80893060dd am 2d822ebe: Merge "Disallow dlopen("egl/blah.so") on LP64"
* commit '2d822ebe7af5aea1f93b67753e56357ce601b5a9':
  Disallow dlopen("egl/blah.so") on LP64
2014-05-03 01:42:06 +00:00
Dmitriy Ivanov
2d822ebe7a Merge "Disallow dlopen("egl/blah.so") on LP64" 2014-05-03 01:39:09 +00:00
Elliott Hughes
792ae72e41 Switch to current upstream OpenBSD fwrite.c.
Change-Id: Ife527aafc1e5438f477d711902efe6e6f59f3f8e
2014-05-02 18:22:23 -07:00
Dmitriy Ivanov
5ca7ed9005 Disallow dlopen("egl/blah.so") on LP64
Change-Id: I9a563a9dada6522129b1890bc1292667230e80a5
2014-05-02 18:18:50 -07:00
Elliott Hughes
39372de58c am c4ced713: am c01893cd: am e987803c: Merge "Sync with current OpenBSD stdio."
* commit 'c4ced713b857b68254effa753aad461082a41c3d':
  Sync with current OpenBSD stdio.
2014-05-03 01:05:51 +00:00
Elliott Hughes
c4ced713b8 am c01893cd: am e987803c: Merge "Sync with current OpenBSD stdio."
* commit 'c01893cde28ce9c8c760a29b7829159ca9de30be':
  Sync with current OpenBSD stdio.
2014-05-03 01:03:13 +00:00
Elliott Hughes
c01893cde2 am e987803c: Merge "Sync with current OpenBSD stdio."
* commit 'e987803c35b472f378f81a37beb162ac86e01503':
  Sync with current OpenBSD stdio.
2014-05-03 01:01:38 +00:00
Elliott Hughes
e987803c35 Merge "Sync with current OpenBSD stdio." 2014-05-03 00:59:06 +00:00
Elliott Hughes
f1ada79a83 Sync with current OpenBSD stdio.
We'd fallen a little behind.

Bug: 14492135
Change-Id: Ic1137ef10bffccecebd5ce51086c23db006d0ea3
2014-05-02 17:56:56 -07:00
Elliott Hughes
c42f5c6fe6 Fix iswctype.
This doesn't matter until we fix the other isw* functions, of course.

Change-Id: I0baed1c933259cf22444da391bc4a56446d66773
2014-05-02 16:25:59 -07:00
Elliott Hughes
bd0d92794f am 885275ec: am 9abfd44b: am d6ff0dce: Merge "Use the OpenBSD wcsftime."
* commit '885275eccac451fd2fce1e4e0a997976e39dc243':
  Use the OpenBSD wcsftime.
2014-05-02 23:11:12 +00:00
Elliott Hughes
885275ecca am 9abfd44b: am d6ff0dce: Merge "Use the OpenBSD wcsftime."
* commit '9abfd44b4c6c288f4ae18a58a8d88c30fe49c7b9':
  Use the OpenBSD wcsftime.
2014-05-02 23:06:26 +00:00
Elliott Hughes
9abfd44b4c am d6ff0dce: Merge "Use the OpenBSD wcsftime."
* commit 'd6ff0dcef670abd070efc6ff75bfbf265128eb2e':
  Use the OpenBSD wcsftime.
2014-05-02 23:03:00 +00:00
Elliott Hughes
d6ff0dcef6 Merge "Use the OpenBSD wcsftime." 2014-05-02 23:00:06 +00:00
Elliott Hughes
efaa461bd6 Use the OpenBSD wcsftime.
Change-Id: I81929355d245ba1e58b4a464ca6cf45915e0238e
2014-05-02 15:57:50 -07:00
Calin Juravle
9287223674 Add include guard to fileext.h
Change-Id: I89b0e3bf0b15989727b5903b40bec92d49e122d9
2014-05-02 17:34:58 +01:00
Torne (Richard Coles)
26ec9679ff Handle empty relro segment or incorrectly sized file.
If the file has no relro segment, the generated relro file will have
length 0, which caused mmap to fail. If the relro file has nonzero size,
but is too short (e.g. because it's for the wrong version of the
library), the linker would segfault while comparing the data. Fix both
these issues: don't try to map a zero length file, and don't try to
compare data that would be beyond the end of the file.

Improve test to explicitly generate two versions of the library: one
with -z relro, and one with -z norelro, so we can test both cases; also
explicitly test the case where the relro file has length 0.

Bug: 14299541
Change-Id: Id8b95585edda90e8bb5de452a35b70ed2d224934
2014-05-02 14:25:45 +01:00
Elliott Hughes
f3e94ae85f am 6e62c932: am fb49002b: am 790890fd: Merge "Fix wchar_t signedness problems found on x86-64."
* commit '6e62c9326aa15f68ce52216b7c3ce3f4f49f7279':
  Fix wchar_t signedness problems found on x86-64.
2014-05-02 02:38:54 +00:00
Elliott Hughes
6e62c9326a am fb49002b: am 790890fd: Merge "Fix wchar_t signedness problems found on x86-64."
* commit 'fb49002b41b43bfc85ad6deaec04f2ce67fcd55b':
  Fix wchar_t signedness problems found on x86-64.
2014-05-02 02:35:39 +00:00
Elliott Hughes
fb49002b41 am 790890fd: Merge "Fix wchar_t signedness problems found on x86-64."
* commit '790890fd5c896a098142e0783b10fa8246462249':
  Fix wchar_t signedness problems found on x86-64.
2014-05-02 02:33:19 +00:00
Elliott Hughes
790890fd5c Merge "Fix wchar_t signedness problems found on x86-64." 2014-05-02 02:31:23 +00:00
Elliott Hughes
0d0ccfe2ce Fix wchar_t signedness problems found on x86-64.
The existing tests caught this.

Change-Id: I6269844ae4301fd2c596241a59e97eb67ef166fa
2014-05-01 19:03:18 -07:00
Elliott Hughes
311fba409d am 6fbdc117: am 156f77c3: am 296f17af: Merge "Fix wchar.cpp MIPS narrowing conversion build failure."
* commit '6fbdc117db011a3f9963da632ea45b0b5a0200cb':
  Fix wchar.cpp MIPS narrowing conversion build failure.
2014-05-02 01:23:18 +00:00
Elliott Hughes
dc0ef86203 am c2ee2cd0: am ba8c37f1: am 7da31910: Merge "Fix wchar.cpp signed/unsigned comparison build failure."
* commit 'c2ee2cd09dfcaa9780285c948c091fd85d6b2171':
  Fix wchar.cpp signed/unsigned comparison build failure.
2014-05-02 01:23:15 +00:00
Elliott Hughes
6fbdc117db am 156f77c3: am 296f17af: Merge "Fix wchar.cpp MIPS narrowing conversion build failure."
* commit '156f77c3a0a9eb9ee9acaa0aecc8ab9f2d4027c4':
  Fix wchar.cpp MIPS narrowing conversion build failure.
2014-05-02 00:19:44 +00:00
Elliott Hughes
156f77c3a0 am 296f17af: Merge "Fix wchar.cpp MIPS narrowing conversion build failure."
* commit '296f17af0a630550f980dab85363093e4be55eb0':
  Fix wchar.cpp MIPS narrowing conversion build failure.
2014-05-02 00:17:45 +00:00
Elliott Hughes
296f17af0a Merge "Fix wchar.cpp MIPS narrowing conversion build failure." 2014-05-02 00:15:42 +00:00
Elliott Hughes
f83e644e2c Fix wchar.cpp MIPS narrowing conversion build failure.
Change-Id: Id9103c78958d60337dbdb807b11256c1b31c632a
2014-05-01 17:14:59 -07:00
Elliott Hughes
c2ee2cd09d am ba8c37f1: am 7da31910: Merge "Fix wchar.cpp signed/unsigned comparison build failure."
* commit 'ba8c37f1871e1ea574e48b77da665a0d56b57114':
  Fix wchar.cpp signed/unsigned comparison build failure.
2014-05-01 23:59:03 +00:00
Elliott Hughes
ba8c37f187 am 7da31910: Merge "Fix wchar.cpp signed/unsigned comparison build failure."
* commit '7da319106906ad236a0b4502cbafdd8dff7b8a39':
  Fix wchar.cpp signed/unsigned comparison build failure.
2014-05-01 23:56:03 +00:00
Elliott Hughes
7da3191069 Merge "Fix wchar.cpp signed/unsigned comparison build failure." 2014-05-01 23:50:35 +00:00
Elliott Hughes
568c86a489 Fix wchar.cpp signed/unsigned comparison build failure.
Change-Id: Id20b91f3d57c4430987b5cc88ac99c245801d73b
2014-05-01 16:49:55 -07:00
Elliott Hughes
831e1d796c am 5d4c9114: am 745b023b: am f0291ca6: Merge "Switch to a working UTF-8 mb/wc implementation."
* commit '5d4c911436445e627dcc9533bfc0792941b83a44':
  Switch to a working UTF-8 mb/wc implementation.
2014-05-01 23:21:54 +00:00
Elliott Hughes
5d4c911436 am 745b023b: am f0291ca6: Merge "Switch to a working UTF-8 mb/wc implementation."
* commit '745b023b4d7372851fb1f713c017b461de8d8860':
  Switch to a working UTF-8 mb/wc implementation.
2014-05-01 23:18:49 +00:00
Elliott Hughes
745b023b4d am f0291ca6: Merge "Switch to a working UTF-8 mb/wc implementation."
* commit 'f0291ca6b7d0ef42a31ae76a18a99c81d6e6d345':
  Switch to a working UTF-8 mb/wc implementation.
2014-05-01 23:15:32 +00:00
Elliott Hughes
f0291ca6b7 Merge "Switch to a working UTF-8 mb/wc implementation." 2014-05-01 23:12:41 +00:00
Elliott Hughes
5a0aa3dee2 Switch to a working UTF-8 mb/wc implementation.
Although glibc gets by with an 8-byte mbstate_t, OpenBSD uses 12 bytes (of
the 128 bytes it reserves!).

We can actually implement UTF-8 encoding/decoding with a 0-byte mbstate_t
which means we can make things work on LP32 too, as long as we accept the
limitation that the caller needs to present us with a complete sequence
before we'll process it.

Our behavior is fine when going from characters to bytes; we just
update the source wchar_t** to say how far through the input we got.

I'll come back and use the 4 bytes we do have to cope with byte sequences
split across multiple input buffers. The fact that we don't support
UTF-8 sequences longer than 4 bytes plus the fact that the first byte of
a UTF-8 sequence encodes the length means we shouldn't need the other
fields OpenBSD used (at the cost of some recomputation in cases where a
sequence is split across buffers).

This patch also makes the minimal changes necessary to setlocale(3) to
make us behave like glibc when an app requests UTF-8. (The difference
being that our "C" locale is the same as our "C.UTF-8" locale.)

Change-Id: Ied327a8c4643744b3611bf6bb005a9b389ba4c2f
2014-05-01 14:46:54 -07:00
Christopher Ferris
b335ee5a7b am 796bf883: am 97ded7f2: am cb475651: Merge "Add ability to run on host for x86/x86_64."
* commit '796bf88381f245052e31657dd32eb9ad72b96150':
  Add ability to run on host for x86/x86_64.
2014-05-01 21:13:34 +00:00
Christopher Ferris
796bf88381 am 97ded7f2: am cb475651: Merge "Add ability to run on host for x86/x86_64."
* commit '97ded7f2bca3c3fdd1bd695b94df28071fec467b':
  Add ability to run on host for x86/x86_64.
2014-05-01 21:09:51 +00:00
Christopher Ferris
97ded7f2bc am cb475651: Merge "Add ability to run on host for x86/x86_64."
* commit 'cb475651e3270175a5e6667952069f3ae7e7645a':
  Add ability to run on host for x86/x86_64.
2014-05-01 21:07:01 +00:00
Christopher Ferris
cb475651e3 Merge "Add ability to run on host for x86/x86_64." 2014-05-01 21:03:27 +00:00
Christopher Ferris
3347a79664 Add ability to run on host for x86/x86_64.
Change-Id: I063cb71ce0f7247cefacaa653c7b87b7b3e72025
2014-05-01 13:44:57 -07:00
Christopher Ferris
97193104db am fe131747: am 24f724c4: am de54b90e: Merge "Modify hard-coded directory."
* commit 'fe13174759c4023b9499e0b22fdf9420fab185b0':
  Modify hard-coded directory.
2014-05-01 20:29:24 +00:00
Christopher Ferris
fe13174759 am 24f724c4: am de54b90e: Merge "Modify hard-coded directory."
* commit '24f724c446f5741e4a0e1739fdb8167e15e11111':
  Modify hard-coded directory.
2014-05-01 20:26:07 +00:00
Christopher Ferris
24f724c446 am de54b90e: Merge "Modify hard-coded directory."
* commit 'de54b90ed573fdea390f8a06618374adbb32f18a':
  Modify hard-coded directory.
2014-05-01 20:22:29 +00:00
Christopher Ferris
de54b90ed5 Merge "Modify hard-coded directory." 2014-05-01 20:19:20 +00:00
Christopher Ferris
8b1ade5c0b Modify hard-coded directory.
Use the ANDROID_DATA environment variable instead of the hard-coded
directory for these benchmarks.

Change-Id: I00bae7b4a24e81e77fc8f52e1fe99f4d4918f520
2014-05-01 13:10:48 -07:00
Elliott Hughes
834c136cec am 0d443726: am d2623501: am 8979cfe1: Merge "Keep the kernel header scrubber\'s data structures in sync."
* commit '0d4437263e65b7acc4546753ac79577b94ccc6ba':
  Keep the kernel header scrubber's data structures in sync.
2014-05-01 17:36:06 +00:00
Elliott Hughes
0d4437263e am d2623501: am 8979cfe1: Merge "Keep the kernel header scrubber\'s data structures in sync."
* commit 'd2623501664f6345f1136d7edc5058bcc1fa5fc4':
  Keep the kernel header scrubber's data structures in sync.
2014-05-01 17:32:08 +00:00
Elliott Hughes
d262350166 am 8979cfe1: Merge "Keep the kernel header scrubber\'s data structures in sync."
* commit '8979cfe14b619743dba0625a62abd2e2834434dc':
  Keep the kernel header scrubber's data structures in sync.
2014-05-01 17:29:57 +00:00
Elliott Hughes
8979cfe14b Merge "Keep the kernel header scrubber's data structures in sync." 2014-05-01 17:28:12 +00:00
Elliott Hughes
fddbafdc0a Keep the kernel header scrubber's data structures in sync.
If you rewrite the tokens of a #if you need to rewrite the expression to match
because either might be used later. This was showing up as SIGRTMAX being
rewritten in a #define but not in the #ifndef that guarded it, for which case
I've added a unit test.

Change-Id: I6929675461a1afe272edd667594529fd84a3dc4d
2014-05-01 10:27:49 -07:00
The Android Automerger
6052fce40c merge in master-release history after reset to fc4d9263a3f291c3e9d82cc00ecbf5c4c769c6fd 2014-05-01 05:49:19 -07:00
Elliott Hughes
fc4d9263a3 am 01dc4152: am 4a41581a: am 9fb53dd4: Merge "Make SIGRTMIN hide the real-time signals we use internally."
* commit '01dc4152b736c822a11cbbff3240eec7143659e3':
  Make SIGRTMIN hide the real-time signals we use internally.
2014-04-30 18:48:56 +00:00
Elliott Hughes
ef2364c42f am e04f30d8: am db9d6094: am 2ae3f60c: Merge "Fix the CPU_*_S tests."
* commit 'e04f30d8747e9877fa59de67ca8c6779815d53f9':
  Fix the CPU_*_S tests.
2014-04-30 18:48:55 +00:00
Elliott Hughes
01dc4152b7 am 4a41581a: am 9fb53dd4: Merge "Make SIGRTMIN hide the real-time signals we use internally."
* commit '4a41581af5216867ec089c473bd1936b85565408':
  Make SIGRTMIN hide the real-time signals we use internally.
2014-04-30 18:36:33 +00:00
Elliott Hughes
e04f30d874 am db9d6094: am 2ae3f60c: Merge "Fix the CPU_*_S tests."
* commit 'db9d60940bde9dee18f0efaeac7e175c9e7a9286':
  Fix the CPU_*_S tests.
2014-04-30 18:36:32 +00:00
Elliott Hughes
4a41581af5 am 9fb53dd4: Merge "Make SIGRTMIN hide the real-time signals we use internally."
* commit '9fb53dd4dbaa7633c234d9da8417827fa3d3c32f':
  Make SIGRTMIN hide the real-time signals we use internally.
2014-04-30 18:32:28 +00:00
Elliott Hughes
db9d60940b am 2ae3f60c: Merge "Fix the CPU_*_S tests."
* commit '2ae3f60ca37ce01beba748bb6ffd02401a543721':
  Fix the CPU_*_S tests.
2014-04-30 18:32:28 +00:00
Elliott Hughes
9fb53dd4db Merge "Make SIGRTMIN hide the real-time signals we use internally." 2014-04-30 18:30:15 +00:00
Elliott Hughes
2ae3f60ca3 Merge "Fix the CPU_*_S tests." 2014-04-30 18:29:31 +00:00
Elliott Hughes
2d36750c3a Fix the CPU_*_S tests.
Change-Id: Id67c48b9c12a20b01309490670438bfcd9163465
2014-04-30 10:45:35 -07:00
Calin Juravle
3fdf865669 am 9981c35d: am b55562dd: am 77473e40: Merge "Fix cpu_set_t"
* commit '9981c35d3e4d4be35ca827b479e49e2f703bade0':
  Fix cpu_set_t
2014-04-30 17:36:24 +00:00
Dan Albert
e9681d9cbc am 9f2d5003: am a51f7153: am 45667317: Merge "Adds quick_exit(3) and at_quick_exit(3) from freebsd"
* commit '9f2d500334da3f7f4d52e73f26419e467ecea09b':
  Adds quick_exit(3) and at_quick_exit(3) from freebsd
2014-04-30 17:36:20 +00:00
Calin Juravle
742150e088 am f595e1ff: am fb15c73f: am d4ae59dc: Merge "Reserve space in mbstate to allow for proper wchar support"
* commit 'f595e1ffdab12ef85a134638fabdf52a2d92db52':
  Reserve space in mbstate to allow for proper wchar support
2014-04-30 17:36:19 +00:00
Elliott Hughes
c14cde0b03 am c8af363f: am ff7dec44: am 01933d92: Merge "Switch to OpenBSD stdio wide printf functions."
* commit 'c8af363f50461b87432ef20d011f4aab72f77fcc':
  Switch to OpenBSD stdio wide printf functions.
2014-04-30 17:36:18 +00:00
Elliott Hughes
8352c69ea1 am a9b10332: am 608aa733: am 85e780d0: Merge "Switch to OpenBSD stdio wide get/put functions."
* commit 'a9b10332b451298ca7afc7ff00804c3940cd15aa':
  Switch to OpenBSD stdio wide get/put functions.
2014-04-30 17:34:10 +00:00
Elliott Hughes
574eed1bde am b21c7985: am 25009c3b: am c19c8e6f: Merge "Switch to the OpenBSD implementations of the wide scanf functions."
* commit 'b21c7985c434a6c8641b4a53072f06bbc5f6ca2b':
  Switch to the OpenBSD implementations of the wide scanf functions.
2014-04-30 17:34:09 +00:00
Elliott Hughes
0990d4fda8 Make SIGRTMIN hide the real-time signals we use internally.
__SIGRTMIN will continue to tell the truth. This matches glibc's
behavior (as evidenced by the fact that we don't need a special case
in the strsignal test now).

Change-Id: I1abe1681d516577afa8cd39c837ef12467f68dd2
2014-04-30 10:06:09 -07:00
Calin Juravle
9981c35d3e am b55562dd: am 77473e40: Merge "Fix cpu_set_t"
* commit 'b55562dd89a4f896c34f7247ffe072ba756180b4':
  Fix cpu_set_t
2014-04-30 16:14:16 +00:00
Calin Juravle
b55562dd89 am 77473e40: Merge "Fix cpu_set_t"
* commit '77473e408504a7e298816b4071cd6902065b03d8':
  Fix cpu_set_t
2014-04-30 16:10:57 +00:00
Calin Juravle
77473e4085 Merge "Fix cpu_set_t" 2014-04-30 16:09:08 +00:00
Dan Albert
9f2d500334 am a51f7153: am 45667317: Merge "Adds quick_exit(3) and at_quick_exit(3) from freebsd"
* commit 'a51f7153ea60f5efec67559b8be8134ab338b441':
  Adds quick_exit(3) and at_quick_exit(3) from freebsd
2014-04-30 15:44:52 +00:00
Dan Albert
a51f7153ea am 45667317: Merge "Adds quick_exit(3) and at_quick_exit(3) from freebsd"
* commit '4566731772f3121c7c9b47bb6de44d5a9123fc11':
  Adds quick_exit(3) and at_quick_exit(3) from freebsd
2014-04-30 15:42:45 +00:00
Dan Albert
4566731772 Merge "Adds quick_exit(3) and at_quick_exit(3) from freebsd" 2014-04-30 15:39:14 +00:00
Calin Juravle
f595e1ffda am fb15c73f: am d4ae59dc: Merge "Reserve space in mbstate to allow for proper wchar support"
* commit 'fb15c73f3cdc4fa3781e21f9dc554e3b2dd41182':
  Reserve space in mbstate to allow for proper wchar support
2014-04-30 15:38:02 +00:00
Elliott Hughes
c8af363f50 am ff7dec44: am 01933d92: Merge "Switch to OpenBSD stdio wide printf functions."
* commit 'ff7dec44bdebccf2d000e65188ee7e02489a2757':
  Switch to OpenBSD stdio wide printf functions.
2014-04-30 15:38:02 +00:00
Calin Juravle
fb15c73f3c am d4ae59dc: Merge "Reserve space in mbstate to allow for proper wchar support"
* commit 'd4ae59dcf228cf602189c6d5e69fb65640b353e3':
  Reserve space in mbstate to allow for proper wchar support
2014-04-30 15:12:52 +00:00
Elliott Hughes
ff7dec44bd am 01933d92: Merge "Switch to OpenBSD stdio wide printf functions."
* commit '01933d921e9e2a36707dbb96dfc24073e8489912':
  Switch to OpenBSD stdio wide printf functions.
2014-04-30 15:12:45 +00:00
Calin Juravle
b743790cca Fix cpu_set_t
- extend CPU_SETSIZE for LP64
- fix CPU_(AND|OR|XOR) macros
- fix CPU_OP_S macro
- fix __sched_cpucount
- tidy up the code

Change-Id: I741afff4d0c473e8a1ee6b4141981dc24467e0d4
2014-04-30 14:30:15 +01:00
Elliott Hughes
eaefa1a5ae am 7bc266b1: am 42f33234: am c6e563c8: Merge "Fix build (signed char issue)."
* commit '7bc266b1285051d7ffaa1d312f1f3e08dc5f2bfa':
  Fix build (signed char issue).
2014-04-30 12:50:57 +00:00
The Android Automerger
3e13c46109 merge in master-release history after reset to 806b2a94b15d9427c97a21109f1434a721cb4de8 2014-04-30 05:49:22 -07:00
Calin Juravle
d4ae59dcf2 Merge "Reserve space in mbstate to allow for proper wchar support" 2014-04-30 10:34:09 +00:00
Elliott Hughes
01933d921e Merge "Switch to OpenBSD stdio wide printf functions." 2014-04-30 03:16:40 +00:00
Dan Albert
b8425c549a Adds quick_exit(3) and at_quick_exit(3) from freebsd
Change-Id: I4fe88abd8f7b8aa45e58aeb2529d59a8d555d338
2014-04-29 19:17:00 -07:00
Elliott Hughes
a9b10332b4 am 608aa733: am 85e780d0: Merge "Switch to OpenBSD stdio wide get/put functions."
* commit '608aa733a9535f9ebc7381b30ccd4c6e23eb873f':
  Switch to OpenBSD stdio wide get/put functions.
2014-04-30 01:20:09 +00:00
Elliott Hughes
b21c7985c4 am 25009c3b: am c19c8e6f: Merge "Switch to the OpenBSD implementations of the wide scanf functions."
* commit '25009c3b0259b5ff3ad5b9bb32c028114c1ed8a4':
  Switch to the OpenBSD implementations of the wide scanf functions.
2014-04-30 01:19:48 +00:00
Elliott Hughes
7bc266b128 am 42f33234: am c6e563c8: Merge "Fix build (signed char issue)."
* commit '42f33234b0a16dbd06ad1b78499d52588c11415f':
  Fix build (signed char issue).
2014-04-30 01:13:21 +00:00
Elliott Hughes
806b2a94b1 am 934e793b: am 15848671: am 55cd8276: Merge "Switch to the OpenBSD wcsto* functions."
* commit '934e793b19bd280e16b0ef76275dcad590bdc48f':
  Switch to the OpenBSD wcsto* functions.
2014-04-30 00:53:09 +00:00
Bill Yi
c58b5cb012 am 31655d9c: am 7af26353: Merge klp-dev-plus-aosp into stage-aosp-master
* commit '31655d9c34105df979823546d7d2cf3ed67ee130':
2014-04-30 00:53:08 +00:00
Elliott Hughes
934e793b19 am 15848671: am 55cd8276: Merge "Switch to the OpenBSD wcsto* functions."
* commit '158486717ed5b58be4cdcf427d5fb6b279eae27d':
  Switch to the OpenBSD wcsto* functions.
2014-04-30 00:49:36 +00:00
Bill Yi
31655d9c34 am 7af26353: Merge klp-dev-plus-aosp into stage-aosp-master
* commit '7af263533d2c25b4cdd4769cbcebc080e72056b9':
2014-04-30 00:49:34 +00:00
Elliott Hughes
608aa733a9 am 85e780d0: Merge "Switch to OpenBSD stdio wide get/put functions."
* commit '85e780d0557643a81c4a33b3bc5d3806ef9d78e3':
  Switch to OpenBSD stdio wide get/put functions.
2014-04-30 00:41:01 +00:00
Elliott Hughes
94336d8ecf Switch to OpenBSD stdio wide printf functions.
Change-Id: Icf4f8685d021ec6b7482ca1cc021ce8184098e4a
2014-04-29 17:39:29 -07:00
Elliott Hughes
85e780d055 Merge "Switch to OpenBSD stdio wide get/put functions." 2014-04-30 00:38:32 +00:00
Elliott Hughes
c932225e10 Switch to OpenBSD stdio wide get/put functions.
Change-Id: I71f8769cdea874e55d397ca7682d9d4e659d3dcb
2014-04-29 17:08:03 -07:00
Elliott Hughes
25009c3b02 am c19c8e6f: Merge "Switch to the OpenBSD implementations of the wide scanf functions."
* commit 'c19c8e6f7125984d04c9e4e05ac130b43d1cd13c':
  Switch to the OpenBSD implementations of the wide scanf functions.
2014-04-30 00:00:03 +00:00
Elliott Hughes
c19c8e6f71 Merge "Switch to the OpenBSD implementations of the wide scanf functions." 2014-04-29 23:57:11 +00:00
Elliott Hughes
01ae00f317 Switch to the OpenBSD implementations of the wide scanf functions.
This also gets us the C99 wcstoimax and wcstoumax, and a working fgetwc and
ungetwc, all of which are needed in the implementation.

This also brings several other files closer to upstream.

Change-Id: I23b025a8237a6dbb9aa50d2a96765ea729a85579
2014-04-29 16:28:56 -07:00
Elliott Hughes
42f33234b0 am c6e563c8: Merge "Fix build (signed char issue)."
* commit 'c6e563c87a7d8329607bccbc5c4a61c4e1180507':
  Fix build (signed char issue).
2014-04-29 23:08:57 +00:00
Elliott Hughes
c6e563c87a Merge "Fix build (signed char issue)." 2014-04-29 23:06:38 +00:00
Elliott Hughes
770491fb4f Fix build (signed char issue).
Change-Id: I05d78f4c1599ed9a0c1285f9eb1e89bc2f55c24d
2014-04-29 16:05:58 -07:00
Elliott Hughes
158486717e am 55cd8276: Merge "Switch to the OpenBSD wcsto* functions."
* commit '55cd82762f3173247dc7e0eae2826aa24d22213a':
  Switch to the OpenBSD wcsto* functions.
2014-04-29 22:36:13 +00:00
Elliott Hughes
55cd82762f Merge "Switch to the OpenBSD wcsto* functions." 2014-04-29 22:33:15 +00:00
Bill Yi
7af263533d Merge klp-dev-plus-aosp into stage-aosp-master
Change-Id: I2790b6a42d674678713d01479287b78510c4bb52
2014-04-29 15:27:33 -07:00
Elliott Hughes
3d7a0d9b08 Switch to the OpenBSD wcsto* functions.
This replaces a partial set of non-functional functions with a complete
set of functions, all of which actually work.

This requires us to implement mbsnrtowcs and wcsnrtombs which completes
the set of what we need for libc++.

The mbsnrtowcs is basically a copy & paste of wcsnrtombs, but I'm going
to go straight to looking at using the OpenBSD UTF-8 implementation rather
than keep polishing our home-grown turd.

(This patch also opportunistically switches us over to upstream btowc,
mbrlen, and wctob, since they're all trivially expressed in terms of
other functions.)

Change-Id: I0f81443840de0f1aa73b96f0b51988976793a323
2014-04-29 14:53:11 -07:00
Calin Juravle
eab395e4a8 Reserve space in mbstate to allow for proper wchar support
Bug: 14382788
Change-Id: If023ac9bb65f95135cae7ebe89147e3985a69a96
2014-04-29 20:28:29 +01:00
Christopher Ferris
2bf0806a42 am a34e9955: am 7fdab460: Merge "Fix potential makefile bug."
* commit 'a34e995557157e6958db77795fb866712a99af43':
  Fix potential makefile bug.
2014-04-29 16:05:38 +00:00
Christopher Ferris
a34e995557 am 7fdab460: Merge "Fix potential makefile bug."
* commit '7fdab460a9790959ce6c4201476a3ea982eb148e':
  Fix potential makefile bug.
2014-04-29 16:00:24 +00:00
Christopher Ferris
7fdab460a9 Merge "Fix potential makefile bug." 2014-04-29 15:56:06 +00:00
The Android Automerger
d6b98300eb merge in master-release history after reset to 02cf011db06484709a12f1650615f446245468f4 2014-04-29 05:49:22 -07:00
Christopher Ferris
5090964da0 Fix potential makefile bug.
Since multilib is not set every time, it needs to be per module or
there is a change that another target will use the multilib value set
previously.

Change-Id: I5c30e18d5111705cb3f6e3d4cd9ef8a28c9b746c
2014-04-28 21:10:37 -07:00
Elliott Hughes
02cf011db0 am c3221fb5: am 07bab525: Merge "Add mbtowc and fix mbrtowc."
* commit 'c3221fb531f437440646be3a6974b0e662442560':
  Add mbtowc and fix mbrtowc.
2014-04-29 01:04:12 +00:00
Elliott Hughes
c3221fb531 am 07bab525: Merge "Add mbtowc and fix mbrtowc."
* commit '07bab525e24725aaacd71e7cc63dfc31d48ba8a7':
  Add mbtowc and fix mbrtowc.
2014-04-29 01:00:57 +00:00
Elliott Hughes
07bab525e2 Merge "Add mbtowc and fix mbrtowc." 2014-04-29 00:54:43 +00:00
Elliott Hughes
0a5e26da1e Add mbtowc and fix mbrtowc.
Change-Id: I48786cd82587e61188d40f6fd6e11ac05e857ae9
2014-04-28 17:51:13 -07:00
Elliott Hughes
331754c7f3 am 777078b1: am 0fd2e87a: Merge "Replace our broken wcswcs with the working upstream one."
* commit '777078b1a68960ae9764fe6449af5525657d6803':
  Replace our broken wcswcs with the working upstream one.
2014-04-29 00:23:53 +00:00
Elliott Hughes
777078b1a6 am 0fd2e87a: Merge "Replace our broken wcswcs with the working upstream one."
* commit '0fd2e87a0cac56f772fe6fac4cd32de8a656a406':
  Replace our broken wcswcs with the working upstream one.
2014-04-29 00:12:02 +00:00
Elliott Hughes
0fd2e87a0c Merge "Replace our broken wcswcs with the working upstream one." 2014-04-28 23:47:18 +00:00
Elliott Hughes
d299bcfdad Replace our broken wcswcs with the working upstream one.
Change-Id: I2952684df5674d10f0564d92c2cd42597725c0e3
2014-04-28 16:46:24 -07:00
The Android Automerger
13de238e93 merge in master-release history after reset to 95dfea204c2ac03fad3599870453d63a01b94ba3 2014-04-28 05:49:09 -07:00
The Android Automerger
bf25d873ac merge in master-release history after reset to 95dfea204c2ac03fad3599870453d63a01b94ba3 2014-04-27 05:49:08 -07:00
Elliott Hughes
95dfea204c am 50769026: am 3ac3f3fd: Merge "Don\'t use so much stack in tzcode."
* commit '50769026e8538db260a6f986edeb6d08ec295b8e':
  Don't use so much stack in tzcode.
2014-04-27 03:26:11 +00:00
Elliott Hughes
50769026e8 am 3ac3f3fd: Merge "Don\'t use so much stack in tzcode."
* commit '3ac3f3fd0cab7b4ace8e15fd90ea869b26449df5':
  Don't use so much stack in tzcode.
2014-04-27 03:22:03 +00:00
The Android Automerger
bd85f34684 merge in master-release history after reset to 12e848eb43152493e26065376ec2b26381c1af0f 2014-04-26 05:49:30 -07:00
Elliott Hughes
3ac3f3fd0c Merge "Don't use so much stack in tzcode." 2014-04-26 04:51:55 +00:00
Elliott Hughes
329103d3e2 Don't use so much stack in tzcode.
Bug: 14313703
Bug: https://code.google.com/p/android/issues/detail?id=61130
Change-Id: Id9b240fce20d4a6f2660792070e02b2b5f287655
2014-04-25 21:51:26 -07:00
Elliott Hughes
12e848eb43 am 8fe46b47: am f2dc7d17: Merge "Pass si_code through to debuggerd."
* commit '8fe46b47c2bc3b47f44580dc0e3d21335c71462d':
  Pass si_code through to debuggerd.
2014-04-26 03:33:28 +00:00
Elliott Hughes
8fe46b47c2 am f2dc7d17: Merge "Pass si_code through to debuggerd."
* commit 'f2dc7d17196de9904df67f21aad1525b8568a705':
  Pass si_code through to debuggerd.
2014-04-26 03:30:13 +00:00
Elliott Hughes
f2dc7d1719 Merge "Pass si_code through to debuggerd." 2014-04-26 03:23:22 +00:00
Elliott Hughes
b7e289ed02 Pass si_code through to debuggerd.
Because we re-raise various signals, we corrupt the si_code that debuggerd
sees when it ptraces our siginfo. One possible solution (shown here) is to
pass the original si_code value in the message we send to debuggerd.

Change-Id: I76f9aa2c0442e5cab611d132532409e700383907
2014-04-25 20:00:45 -07:00
Elliott Hughes
d3dc0c1831 am 4a40dea6: am 213e46f7: Merge "Fix brk/sbrk error checking."
* commit '4a40dea62949b7ed562bac7173962800ed89b01d':
  Fix brk/sbrk error checking.
2014-04-26 02:46:37 +00:00
Elliott Hughes
4a40dea629 am 213e46f7: Merge "Fix brk/sbrk error checking."
* commit '213e46f7ae41f7d769087d854e061659bd0581d6':
  Fix brk/sbrk error checking.
2014-04-26 02:44:29 +00:00
Elliott Hughes
213e46f7ae Merge "Fix brk/sbrk error checking." 2014-04-26 02:39:09 +00:00
Elliott Hughes
533dde4dbf Fix brk/sbrk error checking.
Note that the kernel returns the current break on error or if the requested
break is smaller than the minimum break, or the new break. I don't know where
we got the idea that the kernel could return -1.

Also optimizes the query case.

Also hides an accidentally-exported symbol for LP64.

Change-Id: I0fd6b8b14ddf1ae82935c0c3fc610da5cc74932e
2014-04-25 19:38:33 -07:00
Colin Cross
cc97b7d9cd am e1e3430b: am eff450ff: Merge "Reserve space in pthread structures for future extensibility."
* commit 'e1e3430b9a4725c9506f10ab1b9b3be719e99c0c':
  Reserve space in pthread structures for future extensibility.
2014-04-24 22:49:50 +00:00
Colin Cross
e1e3430b9a am eff450ff: Merge "Reserve space in pthread structures for future extensibility."
* commit 'eff450ff45170ff17f17b7ceb26f54b858c39238':
  Reserve space in pthread structures for future extensibility.
2014-04-24 22:47:09 +00:00
Colin Cross
eff450ff45 Merge "Reserve space in pthread structures for future extensibility." 2014-04-24 22:40:50 +00:00
Calin Juravle
b1cacd4245 Reserve space in pthread structures for future extensibility.
Make our structures equal in size with glibc structures. This should
give us plenty of space to implement any missing feature.

Bug: 13278744
Bug: 12875898
(cherry picked from commit cf83fd77caa3128ecb6ac935e342cb0ea258b9ee)

Change-Id: I76968d31024eb51bc73887687e5ac492eb02a27f
2014-04-24 22:07:52 +00:00
Elliott Hughes
2c03e8ff06 am cf57e2c6: am 08bfcff0: Merge "Allow liblog to pass failure reasons to debuggerd."
* commit 'cf57e2c645116eefd64801be035512621df0ba5c':
  Allow liblog to pass failure reasons to debuggerd.
2014-04-24 20:47:46 +00:00
Elliott Hughes
cf57e2c645 am 08bfcff0: Merge "Allow liblog to pass failure reasons to debuggerd."
* commit '08bfcff0d4a931a4ed5e2a46541dc8d223482f34':
  Allow liblog to pass failure reasons to debuggerd.
2014-04-24 20:42:48 +00:00
Elliott Hughes
08bfcff0d4 Merge "Allow liblog to pass failure reasons to debuggerd." 2014-04-24 20:29:43 +00:00
Greg Hackmann
da4aad855e am 0f77d775: am ab290718: Merge "Revert "Reserve space in pthread structures for future extensibility.""
* commit '0f77d7758ac85a000f2ce5606051b8a7d121f6dd':
  Revert "Reserve space in pthread structures for future extensibility."
2014-04-24 18:26:02 +00:00
Greg Hackmann
0f77d7758a am ab290718: Merge "Revert "Reserve space in pthread structures for future extensibility.""
* commit 'ab290718e376795a51e1a09c7eb20e79b39efee8':
  Revert "Reserve space in pthread structures for future extensibility."
2014-04-24 18:20:54 +00:00
Greg Hackmann
ab290718e3 Merge "Revert "Reserve space in pthread structures for future extensibility."" 2014-04-24 18:12:28 +00:00
Greg Hackmann
6b64000ef0 Revert "Reserve space in pthread structures for future extensibility."
This reverts commit cf83fd77caa3128ecb6ac935e342cb0ea258b9ee.

Change-Id: I4f69e86ffe1c267a9018eb489d909237534c6cf9
2014-04-24 18:11:23 +00:00
Calin Juravle
18955d6909 am 9b720750: am f2aeca50: Merge "Remove an unsed include dir"
* commit '9b720750c1486627d774973c51fc210a1ad9def5':
  Remove an unsed include dir
2014-04-24 17:40:43 +00:00
Calin Juravle
9b720750c1 am f2aeca50: Merge "Remove an unsed include dir"
* commit 'f2aeca505cb5b85528981c46e0285ff3a7a70836':
  Remove an unsed include dir
2014-04-24 17:32:12 +00:00
Calin Juravle
e9df9c52dc am 123253b8: am 690401db: Merge "Removed non-existing include dir"
* commit '123253b86893d50f13d82f489e47924a4b69c228':
  Removed non-existing include dir
2014-04-24 17:31:17 +00:00
Calin Juravle
f2aeca505c Merge "Remove an unsed include dir" 2014-04-24 16:40:50 +00:00
Calin Juravle
fbb46a0c9a Remove an unsed include dir
Change-Id: I05aa1e7e0639a5ec5576bf7646f35d2e5b157c09
2014-04-24 17:40:06 +01:00
Calin Juravle
123253b868 am 690401db: Merge "Removed non-existing include dir"
* commit '690401db7a57cc6794129d9a2430279d55149251':
  Removed non-existing include dir
2014-04-24 16:39:06 +00:00
Calin Juravle
690401db7a Merge "Removed non-existing include dir" 2014-04-24 16:29:50 +00:00
Calin Juravle
4b7c4f886f Removed non-existing include dir
Change-Id: I3e00a8471e6d94f596a34bdfdb26a0caba23dd82
2014-04-24 17:17:02 +01:00
Calin Juravle
3b5bca823d am 131d8e38: am 477d14b0: Merge "Reserve space in pthread structures for future extensibility."
* commit '131d8e38e45902a1d33ed257b62972bfcd26dd92':
  Reserve space in pthread structures for future extensibility.
2014-04-24 15:43:51 +00:00
Calin Juravle
60a7622d48 am 334da4c9: am ae77f74b: Merge "Clean-up _fpmath and fake_long_doubles"
* commit '334da4c9a52f544bea0014da139766f2c0f7cf21':
  Clean-up _fpmath and fake_long_doubles
2014-04-24 15:43:39 +00:00
Elliott Hughes
81972ddba3 am b4428762: am 563ea4e1: Merge "Fix fallout from host GCC upgrade."
* commit 'b442876276d1c5d701806cd02d7f0cce516caf03':
  Fix fallout from host GCC upgrade.
2014-04-24 15:43:18 +00:00
The Android Automerger
90ca9f8aa4 merge in master-release history after reset to 4cec364af4874afeda19d118a0c2e16f6c5b0f67 2014-04-24 05:49:35 -07:00
Calin Juravle
131d8e38e4 am 477d14b0: Merge "Reserve space in pthread structures for future extensibility."
* commit '477d14b09202db5c009005b622fdcdefd780b955':
  Reserve space in pthread structures for future extensibility.
2014-04-24 11:43:03 +00:00
Calin Juravle
477d14b092 Merge "Reserve space in pthread structures for future extensibility." 2014-04-24 11:35:37 +00:00
Calin Juravle
334da4c9a5 am ae77f74b: Merge "Clean-up _fpmath and fake_long_doubles"
* commit 'ae77f74bcf51cb4199c9f7e87ec9c751fdd1842b':
  Clean-up _fpmath and fake_long_doubles
2014-04-24 10:21:06 +00:00
Calin Juravle
ae77f74bcf Merge "Clean-up _fpmath and fake_long_doubles" 2014-04-24 10:12:58 +00:00
Elliott Hughes
b442876276 am 563ea4e1: Merge "Fix fallout from host GCC upgrade."
* commit '563ea4e15189403da83fdeb74da09b8225f56216':
  Fix fallout from host GCC upgrade.
2014-04-24 09:03:33 +00:00
Elliott Hughes
563ea4e151 Merge "Fix fallout from host GCC upgrade." 2014-04-24 06:06:19 +00:00
Elliott Hughes
409588cdae Fix fallout from host GCC upgrade.
I'll raise a bug for the FD_ISSET fortification; we should do better too.

Change-Id: Id2bf277890ad06b010dc952e270d746714c2bea7
2014-04-23 23:02:43 -07:00
Elliott Hughes
2e3b7108b5 Allow liblog to pass failure reasons to debuggerd.
assert(3) already does this, but LOG_ALWAYS_FATAL and LOG_ALWAYS_FATAL_IF
have been missing out.

Change-Id: I1d6214c4f792fa0d4ba3c14eded3fc9c332bd3c5
2014-04-23 14:52:49 -07:00
Elliott Hughes
4cec364af4 am bdce3e63: am 3b0433f3: Merge "Remove two dead files."
* commit 'bdce3e63fc4cfc2b1b2db05007326e1608f3228a':
  Remove two dead files.
2014-04-23 20:07:41 +00:00
Elliott Hughes
bdce3e63fc am 3b0433f3: Merge "Remove two dead files."
* commit '3b0433f34fed755c28a92d46eab88729694b8055':
  Remove two dead files.
2014-04-23 20:04:04 +00:00
Elliott Hughes
3b0433f34f Merge "Remove two dead files." 2014-04-23 19:54:43 +00:00
Elliott Hughes
a64d76895d Remove two dead files.
I forgot to remove these in the change that stopped building them
(eae5902e73dc4381811e08fd2334bf4a9300a928).

Change-Id: I4665fa9f6b9b80c51778d5e82b49406fe56db9a6
2014-04-23 12:51:37 -07:00
Ruchi Kandoi
eba6501c20 am 88920300: am aa3d46a4: Merge "prctl: Adds the PR_SET_TIMERSLACK_PID option"
* commit '889203005b62f0c2124a7fcae12f9824cbc78868':
  prctl: Adds the PR_SET_TIMERSLACK_PID option
2014-04-23 19:29:32 +00:00
Ruchi Kandoi
889203005b am aa3d46a4: Merge "prctl: Adds the PR_SET_TIMERSLACK_PID option"
* commit 'aa3d46a45dd279f3fe0317f9ddd23b57200201e4':
  prctl: Adds the PR_SET_TIMERSLACK_PID option
2014-04-23 19:26:44 +00:00
Ruchi Kandoi
aa3d46a45d Merge "prctl: Adds the PR_SET_TIMERSLACK_PID option" 2014-04-23 19:13:28 +00:00
Ruchi Kandoi
b84926b95c prctl: Adds the PR_SET_TIMERSLACK_PID option
Allows software to set timer clack for other thread.

Change-Id: Ifa9d2cc7844ec581356bce15434609242fd898a8
Signed-off-by: Ruchi Kandoi <kandoiruchi@google.com>
2014-04-23 19:13:15 +00:00
Calin Juravle
1abc9ff6a5 Clean-up _fpmath and fake_long_doubles
- promoted IEEEld2bits to fpmath since most of the where the same for
diffrent archs
- removed _fpmath
- reinstated weak_references
- moved isfinite and isnormal to libc
- clean up fake_long_doubles
- clean up some useless ifdefs
- added missing nexttoward* tests

Bug: 14134235
Change-Id: I95639c4885653fe47fd7dc0570ee5bb3389bbc6b
2014-04-23 19:03:06 +01:00
Calin Juravle
cf83fd77ca Reserve space in pthread structures for future extensibility.
Make our structures equal in size with glibc structures. This should
give us plenty of space to implement any missing feature.

Bug: 13278744
Bug: 12875898
Change-Id: I980017fd5942411ebc5ac32b2673a10a20db68c8
2014-04-23 18:46:50 +01:00
The Android Automerger
d2ff1fd328 merge in master-release history after reset to master 2014-04-23 05:49:26 -07:00
Elliott Hughes
6292ad5796 am c6463dc1: am f602bf8e: Merge "Fix the glibc tests again."
* commit 'c6463dc1248607a16ef807d17809dcaaaf6fac6d':
  Fix the glibc tests again.
2014-04-23 02:35:01 +00:00
Elliott Hughes
c6463dc124 am f602bf8e: Merge "Fix the glibc tests again."
* commit 'f602bf8e943d76a03d0739d79d831e640ed07df7':
  Fix the glibc tests again.
2014-04-23 02:32:43 +00:00
Elliott Hughes
0036306445 am fc183f65: am 16ea297f: Merge "Tests for environment variables utility functions"
* commit 'fc183f65c9dd5d97c744ea60c99c8ae7fdc7f986':
  Tests for environment variables utility functions
2014-04-23 02:25:46 +00:00
Elliott Hughes
f602bf8e94 Merge "Fix the glibc tests again." 2014-04-23 02:24:41 +00:00
Elliott Hughes
0c567f1e6c Fix the glibc tests again.
The glibc tests are just a regular host binary; they don't require
that you're targeting x86 or x86_64. They do seem to pick up the
suffix of the target though, even though they're always 32-bit.

Change-Id: I689ca2a4f8d7b397afa4df722b95b0d7ec904bf6
2014-04-22 19:21:32 -07:00
Elliott Hughes
fc183f65c9 am 16ea297f: Merge "Tests for environment variables utility functions"
* commit '16ea297f1251be100fd7f70e5ed62ca095384c8a':
  Tests for environment variables utility functions
2014-04-23 02:20:25 +00:00
Elliott Hughes
16ea297f12 Merge "Tests for environment variables utility functions" 2014-04-23 02:10:39 +00:00
Grigoriy Kraynov
cbf6df0459 Tests for environment variables utility functions
This is the first patch from the new set of tests for Bionic standard functions.

Change-Id: Ie568788a24832394e597ad33f44a5c71cb33b51f
Signed-off-by: Grigoriy Kraynov <grigoriy.kraynov@intel.com>
2014-04-22 19:09:45 -07:00
Elliott Hughes
a26d162337 am 81f4521d: am 532ad903: Merge "Switch to the upstream OpenBSD getenv/putenv/setenv implementation."
* commit '81f4521d1f92532bb719f8bfbd7107df449b0d97':
  Switch to the upstream OpenBSD getenv/putenv/setenv implementation.
2014-04-23 02:01:16 +00:00
Elliott Hughes
81f4521d1f am 532ad903: Merge "Switch to the upstream OpenBSD getenv/putenv/setenv implementation."
* commit '532ad903d2febc400e23d66c5f4d836d1e5f11fc':
  Switch to the upstream OpenBSD getenv/putenv/setenv implementation.
2014-04-23 01:57:57 +00:00
Elliott Hughes
38a8744366 am c3266530: am d8f8e9c5: Merge "Remove strntoimax and strntoumax from the future."
* commit 'c32665300fc9b9407cef93881ce05fb48bf29f06':
  Remove strntoimax and strntoumax from the future.
2014-04-23 01:57:41 +00:00
Dmitriy Ivanov
7588ba0a29 am 61c62389: am 36f5a95b: Merge "Get ANDROID_DATA dir from enviroment"
* commit '61c62389e7f6ba0e9e1dda64a985fe1ed5b983cc':
  Get ANDROID_DATA dir from enviroment
2014-04-23 01:57:40 +00:00
Elliott Hughes
c32665300f am d8f8e9c5: Merge "Remove strntoimax and strntoumax from the future."
* commit 'd8f8e9c59e5643ba0f0f0cee0de2d58e0683e54e':
  Remove strntoimax and strntoumax from the future.
2014-04-23 01:54:31 +00:00
Dmitriy Ivanov
61c62389e7 am 36f5a95b: Merge "Get ANDROID_DATA dir from enviroment"
* commit '36f5a95b833db0b2a48e6ab2064716c58062ab3f':
  Get ANDROID_DATA dir from enviroment
2014-04-23 01:54:30 +00:00
Elliott Hughes
532ad903d2 Merge "Switch to the upstream OpenBSD getenv/putenv/setenv implementation." 2014-04-23 01:52:06 +00:00
Elliott Hughes
d8f8e9c59e Merge "Remove strntoimax and strntoumax from the future." 2014-04-23 01:50:08 +00:00
Dmitriy Ivanov
36f5a95b83 Merge "Get ANDROID_DATA dir from enviroment" 2014-04-23 01:48:56 +00:00
Dmitriy Ivanov
53c884e281 Get ANDROID_DATA dir from enviroment
Change-Id: Ie3675bd27bbc779fc2140f95b930eadd14838753
2014-04-22 18:44:55 -07:00
Elliott Hughes
eae5902e73 Remove strntoimax and strntoumax from the future.
Where do these turds come from?

Change-Id: Id9ad2cc85c6128aa63b5d56ff2aa455bde39a5eb
2014-04-22 17:56:42 -07:00
Elliott Hughes
58d9e280d4 Switch to the upstream OpenBSD getenv/putenv/setenv implementation.
This fixes all the bugs found by the new tests.

Change-Id: Id5a5f9f39a0620208bafa053f871a044725b4795
2014-04-22 17:41:00 -07:00
Dmitriy Ivanov
7240abf006 am 5603f4b8: am 635edbdf: Merge "Follow up on building tests for both platforms"
* commit '5603f4b8bc2c71d457f82d7d0556c261416f8424':
  Follow up on building tests for both platforms
2014-04-22 23:12:23 +00:00
Dmitriy Ivanov
5603f4b8bc am 635edbdf: Merge "Follow up on building tests for both platforms"
* commit '635edbdf93a127da7db77d9cd174615734b4fb85':
  Follow up on building tests for both platforms
2014-04-22 23:09:34 +00:00
Dmitriy Ivanov
635edbdf93 Merge "Follow up on building tests for both platforms" 2014-04-22 23:03:21 +00:00
Elliott Hughes
91f4eb485f am 48359851: am c6cd8846: Merge "LP64 shouldn\'t include the non-standard <time64.h> cruft."
* commit '4835985156538c05d562aeefe8e659d4b6d5c36f':
  LP64 shouldn't include the non-standard <time64.h> cruft.
2014-04-22 23:01:01 +00:00
Elliott Hughes
4835985156 am c6cd8846: Merge "LP64 shouldn\'t include the non-standard <time64.h> cruft."
* commit 'c6cd88464091460ccd845b218e05bc5d10025546':
  LP64 shouldn't include the non-standard <time64.h> cruft.
2014-04-22 22:57:40 +00:00
Elliott Hughes
c6cd884640 Merge "LP64 shouldn't include the non-standard <time64.h> cruft." 2014-04-22 22:53:15 +00:00
Dmitriy Ivanov
156c3afcf1 Follow up on building tests for both platforms
this makes run-on-host work properly

Change-Id: Iaed93ca9d96359b64bbeff995280ecd70fc9cc60
2014-04-22 15:22:25 -07:00
Christopher Ferris
24c2433256 am caba4e9b: am 8eaeaf50: Merge "Build 32/64 bit versions of tests/benchmarks."
* commit 'caba4e9b891d342c27cc60cfa8e469d7eb66b139':
  Build 32/64 bit versions of tests/benchmarks.
2014-04-22 21:42:51 +00:00
Christopher Ferris
caba4e9b89 am 8eaeaf50: Merge "Build 32/64 bit versions of tests/benchmarks."
* commit '8eaeaf50cbd769c7c9852621a422a4f0be1e08e5':
  Build 32/64 bit versions of tests/benchmarks.
2014-04-22 21:36:40 +00:00
Elliott Hughes
aef16ef2c4 am 3f9b56c7: am d0ecf597: Merge "Use -fvisibility=hidden to build libc_gdtoa."
* commit '3f9b56c75c3c9b0df085d11702595945aba15b7a':
  Use -fvisibility=hidden to build libc_gdtoa.
2014-04-22 21:20:49 +00:00
Elliott Hughes
3f9b56c75c am d0ecf597: Merge "Use -fvisibility=hidden to build libc_gdtoa."
* commit 'd0ecf5974f22f247fbf2b9e5e5e3194417589d11':
  Use -fvisibility=hidden to build libc_gdtoa.
2014-04-22 21:15:15 +00:00
Elliott Hughes
8d77bce185 LP64 shouldn't include the non-standard <time64.h> cruft.
This patch includes just enough to keep external/chromium_org building
until they switch 64-bit Android over to using the regular non-Android code.

Change-Id: Iecaf274efa46ae18a42d5e3439c5aa4f909177c1
2014-04-22 13:55:58 -07:00
Christopher Ferris
8eaeaf50cb Merge "Build 32/64 bit versions of tests/benchmarks." 2014-04-22 20:45:01 +00:00
Elliott Hughes
d0ecf5974f Merge "Use -fvisibility=hidden to build libc_gdtoa." 2014-04-22 20:42:36 +00:00
Elliott Hughes
cce36c1878 Use -fvisibility=hidden to build libc_gdtoa.
Bug: 12177745
Change-Id: Ia4ac71e1a3a237e764c809cc591622f8952ed642
2014-04-22 12:32:49 -07:00
Elliott Hughes
87a4339dc3 am 607475b8: am c5eea6d3: Merge "Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN."
* commit '607475b8570e1b203a23d2e904a628161bb7281e':
  Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN.
2014-04-22 18:31:25 +00:00
Christopher Ferris
345b49a7c0 Build 32/64 bit versions of tests/benchmarks.
Change-Id: I4d146377aac6573a214dfaa5cab5cce8b10538b4
2014-04-22 10:42:12 -07:00
Elliott Hughes
607475b857 am c5eea6d3: Merge "Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN."
* commit 'c5eea6d386c23bde6f0400a8959ed21081d8365b':
  Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN.
2014-04-22 17:10:16 +00:00
Elliott Hughes
c5eea6d386 Merge "Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN." 2014-04-22 17:00:33 +00:00
Torne (Richard Coles)
122d756378 am 5b673d23: am 4ff967f3: Merge "Fix arm64/x86 build."
* commit '5b673d23688cc78829a510be3b5825757e38be6a':
  Fix arm64/x86 build.
2014-04-22 13:37:43 +00:00
Torne (Richard Coles)
ca6a210693 am d56dd740: am b1bfa795: Merge "Allow sharing the RELRO section via a file."
* commit 'd56dd7403603c653e7622850ba30c7469a1ada7c':
  Allow sharing the RELRO section via a file.
2014-04-22 13:37:43 +00:00
Torne (Richard Coles)
b33b9aa98c am 2b981e8f: am c363e5dd: Merge "Support loading libraries to a reserved address."
* commit '2b981e8f612b4808b221724ce84dd8610d123fa2':
  Support loading libraries to a reserved address.
2014-04-22 13:37:42 +00:00
Torne (Richard Coles)
e115abbd3c am cf68e0db: am 16f6429c: Merge "Add android_dlopen_ext() interface to linker."
* commit 'cf68e0db1f6a9e6ca7aa7c267b2ce99ed02df3ae':
  Add android_dlopen_ext() interface to linker.
2014-04-22 13:37:41 +00:00
Elliott Hughes
5b3aa6c21a am 71eb83ac: am f3489807: Merge "Clean up and document our hacks for building BSD source."
* commit '71eb83acc5e273c847c0145573da0907fa51df3e':
  Clean up and document our hacks for building BSD source.
2014-04-22 13:37:40 +00:00
Torne (Richard Coles)
5b673d2368 am 4ff967f3: Merge "Fix arm64/x86 build."
* commit '4ff967f3301087ea6ccaa17cfb1f04a034448a68':
  Fix arm64/x86 build.
2014-04-22 13:32:01 +00:00
Torne (Richard Coles)
d56dd74036 am b1bfa795: Merge "Allow sharing the RELRO section via a file."
* commit 'b1bfa7956c56c28b8c914e6606df191e094e7b42':
  Allow sharing the RELRO section via a file.
2014-04-22 13:32:01 +00:00
Torne (Richard Coles)
2b981e8f61 am c363e5dd: Merge "Support loading libraries to a reserved address."
* commit 'c363e5dd0a15aac9036b453f655a3a0ae5cd32cd':
  Support loading libraries to a reserved address.
2014-04-22 13:32:00 +00:00
Torne (Richard Coles)
cf68e0db1f am 16f6429c: Merge "Add android_dlopen_ext() interface to linker."
* commit '16f6429c38c24236418cf127a4c11c5d8a2fd47b':
  Add android_dlopen_ext() interface to linker.
2014-04-22 13:32:00 +00:00
Elliott Hughes
71eb83acc5 am f3489807: Merge "Clean up and document our hacks for building BSD source."
* commit 'f3489807af6d48f208bc796d3c9b0d83a4fd5374':
  Clean up and document our hacks for building BSD source.
2014-04-22 13:31:59 +00:00
The Android Automerger
1ae52afd3c merge in master-release history after reset to master 2014-04-22 05:49:13 -07:00
Torne (Richard Coles)
4ff967f330 Merge "Fix arm64/x86 build." 2014-04-22 11:01:22 +00:00
Torne (Richard Coles)
0dcf06f976 Fix arm64/x86 build.
Add missing second param to soinfo_link_image in a section that's not
compiled on ARM.

Bug: 13005501
Change-Id: Id0ede8e03da4e05b25c0aeb24a840f868031d4e8
2014-04-22 11:59:26 +01:00
Torne (Richard Coles)
b1bfa7956c Merge "Allow sharing the RELRO section via a file." 2014-04-22 10:39:49 +00:00
Torne (Richard Coles)
c363e5dd0a Merge "Support loading libraries to a reserved address." 2014-04-22 10:33:34 +00:00
Torne (Richard Coles)
16f6429c38 Merge "Add android_dlopen_ext() interface to linker." 2014-04-22 10:33:07 +00:00
Elliott Hughes
83c07b5e50 Fix WCHAR_MAX, WCHAR_MIN, WINT_MAX, and WINT_MIN.
GCC tells us everything we need to know. clang does its usual half-assed job.

Change-Id: Id4d664529b10345274602768cd564d3df717e931
2014-04-21 18:09:46 -07:00
Elliott Hughes
f3489807af Merge "Clean up and document our hacks for building BSD source." 2014-04-22 00:34:01 +00:00
Elliott Hughes
d39f3f2c2e Clean up and document our hacks for building BSD source.
Change-Id: Ic591e22fa5b363bb68376b9f25814c0e5bd83fbf
2014-04-21 17:13:46 -07:00
Elliott Hughes
26d9ed8388 am 4af8a473: am 44a98d5c: Merge "clang is >= 3.4 now; remove a hack."
* commit '4af8a473a44fd1a01186bac2f3b458ad08dc3f09':
  clang is >= 3.4 now; remove a hack.
2014-04-21 18:36:17 +00:00
Elliott Hughes
4af8a473a4 am 44a98d5c: Merge "clang is >= 3.4 now; remove a hack."
* commit '44a98d5c12530cbd6b1b0779690e9952207c34bf':
  clang is >= 3.4 now; remove a hack.
2014-04-21 18:33:07 +00:00
Elliott Hughes
4fefac5c1b am 5aa48ee3: am d812b219: Merge "Remove unused #defines from "arith.h"."
* commit '5aa48ee3ce9d0b9eca4534c817e126307d8cce8d':
  Remove unused #defines from "arith.h".
2014-04-21 18:29:10 +00:00
Elliott Hughes
44a98d5c12 Merge "clang is >= 3.4 now; remove a hack." 2014-04-21 18:26:22 +00:00
Elliott Hughes
5aa48ee3ce am d812b219: Merge "Remove unused #defines from "arith.h"."
* commit 'd812b2196a90ea0880c9e6f2eac0386c2917918d':
  Remove unused #defines from "arith.h".
2014-04-21 18:26:09 +00:00
Elliott Hughes
d812b2196a Merge "Remove unused #defines from "arith.h"." 2014-04-21 18:17:45 +00:00
Elliott Hughes
d3679c815e clang is >= 3.4 now; remove a hack.
Change-Id: I8d976ee0fd88eca9779c87b5d7e27f46b4b1b489
2014-04-21 10:15:14 -07:00
Elliott Hughes
2e003f4324 Remove unused #defines from "arith.h".
These were defined in upstream's per-arch files, so I carried them across,
but they aren't actually used anywhere.

Change-Id: Ica9796201dcd2caa5c34070c0dd226fc2050ba47
2014-04-21 09:59:00 -07:00
Elliott Hughes
ef98c33720 am a3d82df0: am 8abf44c4: Merge "Make libc signal handler output more like debuggerd."
* commit 'a3d82df0057b1d3f4a831aae265c5cf9550a927b':
  Make libc signal handler output more like debuggerd.
2014-04-21 15:59:25 +00:00
Dmitriy Ivanov
abbee0a077 am 0baa0f74: am 6d09ec3c: Merge "Fix for libgcc compat generation script."
* commit '0baa0f74d13bf8a7da1a1a431d938b4c53f7049d':
  Fix for libgcc compat generation script.
2014-04-21 15:59:25 +00:00
Elliott Hughes
a3d82df005 am 8abf44c4: Merge "Make libc signal handler output more like debuggerd."
* commit '8abf44c415bb3b02b6a3198196c92266442a0c32':
  Make libc signal handler output more like debuggerd.
2014-04-21 13:41:35 +00:00
Dmitriy Ivanov
0baa0f74d1 am 6d09ec3c: Merge "Fix for libgcc compat generation script."
* commit '6d09ec3c2fc7bdb18eeb1706ef7c7f52db6095cc':
  Fix for libgcc compat generation script.
2014-04-21 13:41:32 +00:00
The Android Automerger
d4ab960c83 merge in master-release history after reset to master 2014-04-19 05:49:24 -07:00
Elliott Hughes
8abf44c415 Merge "Make libc signal handler output more like debuggerd." 2014-04-19 02:02:05 +00:00
Dmitriy Ivanov
6d09ec3c2f Merge "Fix for libgcc compat generation script." 2014-04-19 01:12:58 +00:00
Elliott Hughes
17e6a98b48 Make libc signal handler output more like debuggerd.
This has been annoying me for a while, because it's often quite misleading.

Today, for example, I saw:

  Fatal signal 13 (SIGPIPE) at 0x6573 (code=0), thread 25971 (top)

where the apparent address is actually the pid of the signal source (in this
case the kernel on behalf of the thread itself).

This patch isn't as fancy as strace, but it at least means we never say
anything misleading. We could decode the si_code field like strace and
debuggerd, but I'm reluctant to do that without some way to share the code
between at least bionic and debuggerd.

Examples after:

  Fatal signal 13 (SIGPIPE), code 0 in tid 9157 (top)
  Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0 in tid 9142 (crasher64)
  Fatal signal 6 (SIGABRT), code -6 in tid 9132 (crasher64)

(Note that the code still shows as 0 for SIGPIPE in the signal handler itself
but as -6 (SI_TKILL) in debuggerd; this is actually correct --- debuggerd is
showing the re-raised signal sent at the end of the signal handler that
initially showed the correct code 0.)

Change-Id: I71cad4ab61f422a4f6687a60ac770371790278e0
2014-04-18 17:54:51 -07:00
Dmitriy Ivanov
6a45fe9872 Fix for libgcc compat generation script.
Taking into account possibility that external symbol
  could have been an OBJECT instead of function.

  b/14090368

Change-Id: Iac173d2dd1309ed53024306578137c26b1dbbf15
2014-04-18 17:34:20 -07:00
Elliott Hughes
47552e7f3d am 57a61f85: am a9585aed: Merge "Temporarily disable text relocation warnings for x86 libraries"
* commit '57a61f859d504c4c895d8afac56cf97ad4f48900':
  Temporarily disable text relocation warnings for x86 libraries
2014-04-18 23:14:45 +00:00
Elliott Hughes
57a61f859d am a9585aed: Merge "Temporarily disable text relocation warnings for x86 libraries"
* commit 'a9585aedbc89242b1fe8c2f9eec1212d9b206e88':
  Temporarily disable text relocation warnings for x86 libraries
2014-04-18 23:10:06 +00:00
Elliott Hughes
a9585aedbc Merge "Temporarily disable text relocation warnings for x86 libraries" 2014-04-18 23:02:27 +00:00
Du Chenyang
865119efd4 Temporarily disable text relocation warnings for x86 libraries
Too many such warnings will cause CTS failed. This issue still exists
in some x86 version libraries: libdvm.so/libart.so.

$scanelf -qT out/target/product/generic_x86/system/lib/libdvm.so
  libdvm.so: (memory/data?) [0x2BAC7] in (optimized out: previous dvmAsmInstructionStartCode) [0x2B2F8]
  libdvm.so: (memory/data?) [0x2BB98] in (optimized out: previous dvmAsmInstructionStartCode) [0x2B2F8]
  libdvm.so: (memory/data?) [0x2EB28] in (optimized out: previous dvmAsmInstructionStartCode) [0x2B2F8]
  libdvm.so: (memory/data?) [0x2EF87] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]
  libdvm.so: (memory/data?) [0x2EFAF] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]
  libdvm.so: (memory/data?) [0x2EFD7] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]
  libdvm.so: (memory/data?) [0x2EFFF] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]
  libdvm.so: (memory/data?) [0x2F027] in (optimized out: previous dvmAsmInstructionEndCode) [0x2EF63]

Bug: https://code.google.com/p/android/issues/detail?id=68431
Change-Id: I11ecac282f1163e49a82156fce2a76cc2d619960
2014-04-18 16:00:55 -07:00
Elliott Hughes
3728877b9c am ccad9736: am 9b22c21c: Merge "Make uselocale(3) claim its pthread key in an ELF constructor."
* commit 'ccad97362ae773cadbbc41900e7440db6e8748dd':
  Make uselocale(3) claim its pthread key in an ELF constructor.
2014-04-18 22:35:05 +00:00
Elliott Hughes
ccad97362a am 9b22c21c: Merge "Make uselocale(3) claim its pthread key in an ELF constructor."
* commit '9b22c21ceec0a65875081525218315d08bbd36b5':
  Make uselocale(3) claim its pthread key in an ELF constructor.
2014-04-18 22:32:33 +00:00
Elliott Hughes
9b22c21cee Merge "Make uselocale(3) claim its pthread key in an ELF constructor." 2014-04-18 22:27:20 +00:00
Elliott Hughes
f112aed500 am 45d15f7d: am 1acd9716: Merge "Switch to upstream OpenBSD fread/fvwrite."
* commit '45d15f7dbeb8d72e5a671023e945b2884f061fdf':
  Switch to upstream OpenBSD fread/fvwrite.
2014-04-18 22:25:22 +00:00
Elliott Hughes
45d15f7dbe am 1acd9716: Merge "Switch to upstream OpenBSD fread/fvwrite."
* commit '1acd9716c252f487ec596e42594c0082245b6e34':
  Switch to upstream OpenBSD fread/fvwrite.
2014-04-18 22:19:40 +00:00
Elliott Hughes
1acd9716c2 Merge "Switch to upstream OpenBSD fread/fvwrite." 2014-04-18 22:15:02 +00:00
Dan Albert
089ec7dd91 am 302f8a92: am fe0c6ae5: Merge "Brings LC_* defs into line with POSIX"
* commit '302f8a92e4318d4637df8497a73bcc12446f051a':
  Brings LC_* defs into line with POSIX
2014-04-18 21:59:48 +00:00
Elliott Hughes
439c774f44 am 30659d4f: am cd79c8b1: Merge "Fix a wchar.wcstombs_wcrtombs test failure."
* commit '30659d4ff002b3c09cb1a5ae67b0d416afdf0383':
  Fix a wchar.wcstombs_wcrtombs test failure.
2014-04-18 21:56:16 +00:00
Dan Albert
302f8a92e4 am fe0c6ae5: Merge "Brings LC_* defs into line with POSIX"
* commit 'fe0c6ae5618af11e53ee5a41a5bf91353cd2a1ff':
  Brings LC_* defs into line with POSIX
2014-04-18 21:56:01 +00:00
Elliott Hughes
30659d4ff0 am cd79c8b1: Merge "Fix a wchar.wcstombs_wcrtombs test failure."
* commit 'cd79c8b1584237313ca6d14fbb0fb57be52a5394':
  Fix a wchar.wcstombs_wcrtombs test failure.
2014-04-18 21:52:35 +00:00
Dan Albert
fe0c6ae561 Merge "Brings LC_* defs into line with POSIX" 2014-04-18 21:49:24 +00:00
Dan Albert
db68e56997 Brings LC_* defs into line with POSIX
POSIX requires that LC_* constants be defined as macros, and libc++ is testing
for this. Source: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/locale.h.html

Change-Id: Id0653e54d74f12179ef88cadf7b5d6ba1bae3cdb
2014-04-18 21:48:57 +00:00
Elliott Hughes
cd79c8b158 Merge "Fix a wchar.wcstombs_wcrtombs test failure." 2014-04-18 21:44:26 +00:00
Elliott Hughes
cdbd17292e am 06b5431e: am b88da065: Merge "Upgrade to current vfprintf."
* commit '06b5431eaabec853a03013c9c8af1124aee0f4d4':
  Upgrade to current vfprintf.
2014-04-18 21:18:36 +00:00
Elliott Hughes
06b5431eaa am b88da065: Merge "Upgrade to current vfprintf."
* commit 'b88da06580a22d9a1ee5a1c573c49e89207bc71b':
  Upgrade to current vfprintf.
2014-04-18 21:15:28 +00:00
Elliott Hughes
2f68866f37 Make uselocale(3) claim its pthread key in an ELF constructor.
pthread_once is nice for decoupling, but it makes resource availability less
predictable, which is a bad thing.

This fixes a test failure if uselocale(3) is called before
pthread.pthread_key_create_lots runs.

Change-Id: Ie2634f986a50e7965582d4bd6e5aaf48cf0d55c8
2014-04-18 13:34:26 -07:00
Elliott Hughes
1b836ee6f8 Fix a wchar.wcstombs_wcrtombs test failure.
Looks like I screwed up a last-minute refactor and didn't re-run the tests.

Change-Id: I90a710ae66a313a9812859650aa0b4e8c6bc57f9
2014-04-18 13:32:33 -07:00
Elliott Hughes
9d3c2dd11f Switch to upstream OpenBSD fread/fvwrite.
Change-Id: I3dc11083693bc8d99edc0cbcc6f70dc9e5dc6565
2014-04-18 13:13:04 -07:00
Elliott Hughes
756952d6e9 am a984c3ad: am 9e94ea5c: Merge "Upgrade our <ctype.h> implementation to OpenBSD head."
* commit 'a984c3ad3b9f8fcc63cd17bbbea2978b93c16533':
  Upgrade our <ctype.h> implementation to OpenBSD head.
2014-04-18 19:08:35 +00:00
Elliott Hughes
a984c3ad3b am 9e94ea5c: Merge "Upgrade our <ctype.h> implementation to OpenBSD head."
* commit '9e94ea5c112a26af5cfc778983e4d5ca692947c0':
  Upgrade our <ctype.h> implementation to OpenBSD head.
2014-04-18 19:02:52 +00:00
Elliott Hughes
b88da06580 Merge "Upgrade to current vfprintf." 2014-04-18 18:19:23 +00:00
Elliott Hughes
9e94ea5c11 Merge "Upgrade our <ctype.h> implementation to OpenBSD head." 2014-04-18 17:56:38 +00:00
Elliott Hughes
f3c73901cb Upgrade our <ctype.h> implementation to OpenBSD head.
Adding the perfunctory <ctype.h> tests showed that we'd accidentally
dropped several symbols. This puts everything back in its proper place
and switches us to upstream head at the same time.

Change-Id: Ib527ad280c9baded81e667fa598698526d93e66f
2014-04-18 10:29:16 -07:00
Dan Albert
022984ff06 am 6c84b9d6: am 0e351e40: Merge "Changes our ctype identifiers to match the BSDs"
* commit '6c84b9d651e9eefab8b1a440979b15fb19404ffd':
  Changes our ctype identifiers to match the BSDs
2014-04-18 16:26:14 +00:00
Dan Albert
6c84b9d651 am 0e351e40: Merge "Changes our ctype identifiers to match the BSDs"
* commit '0e351e4011bc98cacc3e37292bfb0e86c3a3bb5b':
  Changes our ctype identifiers to match the BSDs
2014-04-18 16:01:54 +00:00
Dan Albert
0e351e4011 Merge "Changes our ctype identifiers to match the BSDs" 2014-04-18 15:52:59 +00:00
Dan Albert
779585fb26 Changes our ctype identifiers to match the BSDs
This is to make it possible to adopt the BSDs' implementations for a few locale
APIs in libc++ rather than writing our own, nearly identical, code.

Change-Id: I482acd4ece83aa4ec9eb0c7acf48f3686794bcc3
2014-04-18 08:48:34 -07:00
Elliott Hughes
0549371bd7 Upgrade to current vfprintf.
This gets us various bug fixes and missing C99 functionality.

Bug: https://code.google.com/p/android/issues/detail?id=64886
Change-Id: Ie9f8ac569e9b5eec1e4a1faacfe2c21662eaf895
2014-04-17 17:30:03 -07:00
Elliott Hughes
e2e41399fc am 48db3037: am 857b1796: Merge "Regenerate the NOTICE files."
* commit '48db3037714d460b112e67793ca8b0270a0cd6a4':
  Regenerate the NOTICE files.
2014-04-17 23:34:52 +00:00
Elliott Hughes
c87cb4fbb4 am c54c2a84: am 8da69a25: Merge "Switch fpclassify over to ieee_ext."
* commit 'c54c2a84cc70861e648932bd84e02163f845dcef':
  Switch fpclassify over to ieee_ext.
2014-04-17 23:34:51 +00:00
Elliott Hughes
6478ab8003 am 7fb450b8: am c480f57d: Merge "Clean up <machine/ieee.h>."
* commit '7fb450b8a4ab15729a28c239364de9240564fe90':
  Clean up <machine/ieee.h>.
2014-04-17 23:34:50 +00:00
Elliott Hughes
e21d198da6 am 31028f85: am 9ceae0c9: Merge "Use FLT_ROUNDS in LP64 strtold."
* commit '31028f852d7f65387bda433f230795b1add2b24f':
  Use FLT_ROUNDS in LP64 strtold.
2014-04-17 23:34:50 +00:00
Elliott Hughes
fb7b42df1b am bfd89274: am 4abaa576: Merge "Switch to gdtoa."
* commit 'bfd8927447b76bca6393c1e7c735a1333aa60786':
  Switch to gdtoa.
2014-04-17 23:34:44 +00:00
Elliott Hughes
48db303771 am 857b1796: Merge "Regenerate the NOTICE files."
* commit '857b1796738460f5f3cf16bb3c1e156e88171143':
  Regenerate the NOTICE files.
2014-04-17 23:21:58 +00:00
Elliott Hughes
c54c2a84cc am 8da69a25: Merge "Switch fpclassify over to ieee_ext."
* commit '8da69a25b7840db23846d4bb303ef84a1775c1e1':
  Switch fpclassify over to ieee_ext.
2014-04-17 23:21:58 +00:00
Elliott Hughes
7fb450b8a4 am c480f57d: Merge "Clean up <machine/ieee.h>."
* commit 'c480f57dd3b70c1e8aea013bc540b3a8e1cc40f6':
  Clean up <machine/ieee.h>.
2014-04-17 23:21:57 +00:00
Elliott Hughes
31028f852d am 9ceae0c9: Merge "Use FLT_ROUNDS in LP64 strtold."
* commit '9ceae0c9a62c8ffce1e3d9d79f494e692951cbc5':
  Use FLT_ROUNDS in LP64 strtold.
2014-04-17 23:21:57 +00:00
Elliott Hughes
bfd8927447 am 4abaa576: Merge "Switch to gdtoa."
* commit '4abaa576e86e4ceaa9a18271f306787294a1cdfc':
  Switch to gdtoa.
2014-04-17 23:21:56 +00:00
Torne (Richard Coles)
183ad9df53 Allow sharing the RELRO section via a file.
Add flags and a file descriptor to android_dlopen_ext() to allow writing
the RELRO section of the loaded library to a file after relocation
processing, and to allow mapping identical pages from the file over the
top of relocated memory in another process. Explicitly comparing the
pages is required in case a page contains a reference to a symbol
defined in another library loaded at a random base address.

Bug: 13005501
Change-Id: Ibb5b2d384edfaa5acf3e97a5f8b6115c10497a1e
2014-04-17 14:30:46 +01:00
Torne (Richard Coles)
12bbb91645 Support loading libraries to a reserved address.
Add flags and parameters to android_dlopen_ext() to allow loading a
library at an already-reserved fixed address. If the library to be
loaded will not fit within the space reserved, then the linker will
either fail, or allocate its own address space as usual, according to
which flag has been specified. This behaviour only applies to the
specific library requested; any other libraries loaded as dependencies
will be loaded in the normal fashion.

There is a new gtest included to cover the functionality added.

Bug: 13005501
Change-Id: I5d1810375b20fc51ba6a9b3191a25f9792c687f1
2014-04-17 14:22:17 +01:00
Torne (Richard Coles)
012cb4583a Add android_dlopen_ext() interface to linker.
Add a function "android_dlopen_ext()", defined in <android/dlext.h>.
This is an extended version of dlopen() which takes a struct for passing
additional parameters for Android-specific functionality. This will be
used to support RELRO section sharing between separate processes.

Bug: 13005501
Change-Id: I9c99b2f2a02ee329dedaeba09ef3a1113b17b2d6
2014-04-17 13:50:55 +01:00
Elliott Hughes
857b179673 Merge "Regenerate the NOTICE files." 2014-04-17 00:16:51 +00:00
Elliott Hughes
acbe322e82 Regenerate the NOTICE files.
Change-Id: Iac666f69b930e31bbeac3438812d544c6af55b0f
2014-04-16 17:01:12 -07:00
Elliott Hughes
8da69a25b7 Merge "Switch fpclassify over to ieee_ext." 2014-04-16 23:57:06 +00:00
Elliott Hughes
c480f57dd3 Merge "Clean up <machine/ieee.h>." 2014-04-16 23:56:40 +00:00
Elliott Hughes
f081e139fe Switch fpclassify over to ieee_ext.
Change-Id: I441bb7f715da24e1c04b0386ad9dcde0ea8c797c
2014-04-16 16:45:59 -07:00
Elliott Hughes
cb65cc3fb4 Clean up <machine/ieee.h>.
The upstream intention was for this to be architecture-dependent, but it's a
lot clearer if we just have one copy.

Change-Id: I4e8310496145f9f411cd2e847c8cd023b1d758e9
2014-04-16 16:31:17 -07:00
Elliott Hughes
9ceae0c9a6 Merge "Use FLT_ROUNDS in LP64 strtold." 2014-04-16 23:26:31 +00:00
Elliott Hughes
20828db758 Use FLT_ROUNDS in LP64 strtold.
Change-Id: I75323be6e1cadb00770fcdd08422836b03737416
2014-04-16 16:09:41 -07:00
Elliott Hughes
4abaa576e8 Merge "Switch to gdtoa." 2014-04-16 23:02:09 +00:00
Elliott Hughes
4bd97cee28 Switch to gdtoa.
This gives us a real strtold for LP64 and fixes various LP64
bugs.

Bug: 13563801
Change-Id: I277858d718ee746e136b6b6308a495ba50dfa488
2014-04-16 15:15:52 -07:00
The Android Automerger
7ecfbf2076 merge in master-release history after reset to master 2014-04-16 05:49:16 -07:00
Ben Cheng
d382df3bc2 am d7610ef7: am 26c2bb84: Merge "Fix signed vs unsigned comparison."
* commit 'd7610ef7e8d0a9f11c9990c9843031be21d2b447':
  Fix signed vs unsigned comparison.
2014-04-15 23:37:20 +00:00
Elliott Hughes
52f083925d am 930806a5: am 073ea101: Merge "Add iswblank for libcxx."
* commit '930806a51342ce98be4832cfb43ed5ccd88e6145':
  Add iswblank for libcxx.
2014-04-15 23:36:28 +00:00
Ben Cheng
d7610ef7e8 am 26c2bb84: Merge "Fix signed vs unsigned comparison."
* commit '26c2bb84dd5cbd9ab43a5f0ebc2635bc3b64be3d':
  Fix signed vs unsigned comparison.
2014-04-15 22:43:10 +00:00
Ben Cheng
26c2bb84dd Merge "Fix signed vs unsigned comparison." 2014-04-15 22:37:29 +00:00
Ben Cheng
b760164dd6 Fix signed vs unsigned comparison.
Otherwise GCC 4.9 complains.

Change-Id: I7cd3c5e8c78fda709130ca88a85fa1512e6fc024
2014-04-15 15:29:32 -07:00
Elliott Hughes
930806a513 am 073ea101: Merge "Add iswblank for libcxx."
* commit '073ea10156d62087a67a066527c92a1dbb92d650':
  Add iswblank for libcxx.
2014-04-15 19:26:42 +00:00
Elliott Hughes
073ea10156 Merge "Add iswblank for libcxx." 2014-04-15 19:19:48 +00:00
Elliott Hughes
40b0579127 Add iswblank for libcxx.
We have similar degenerate implementations for all the other isw* functions,
so it's weird to exclude just one.

Change-Id: I659b97930e68598826c4882bb59f4146870fb6a0
2014-04-15 12:04:05 -07:00
The Android Automerger
f62fbd9550 merge in master-release history after reset to master 2014-04-15 05:49:14 -07:00
Elliott Hughes
e2e9c630dc am 70ccd2bf: am a13c7fd3: Merge "Fix arm64 floating point definitions."
* commit '70ccd2bffff92d5277248c0a13962ad4477f5451':
  Fix arm64 floating point definitions.
2014-04-14 22:54:20 +00:00
Elliott Hughes
70ccd2bfff am a13c7fd3: Merge "Fix arm64 floating point definitions."
* commit 'a13c7fd3b34c1deb6592a75e79df9fe44dbf4d88':
  Fix arm64 floating point definitions.
2014-04-14 22:52:27 +00:00
Elliott Hughes
a13c7fd3b3 Merge "Fix arm64 floating point definitions." 2014-04-14 22:45:56 +00:00
Elliott Hughes
0f95a55322 Fix arm64 floating point definitions.
Change-Id: I6836da8fc9f66465435a21c51cb18851e20e9645
2014-04-14 15:33:32 -07:00
Elliott Hughes
9f3011ff59 am cf2c6639: am 76ba8e86: Merge "Reimplement isinf/isnan/fpclassify."
* commit 'cf2c663937b440ce78a195262a7f2d3d5b9a7157':
  Reimplement isinf/isnan/fpclassify.
2014-04-14 22:16:32 +00:00
Elliott Hughes
cf2c663937 am 76ba8e86: Merge "Reimplement isinf/isnan/fpclassify."
* commit '76ba8e86d509594d861687110bbae265904da33b':
  Reimplement isinf/isnan/fpclassify.
2014-04-14 21:42:51 +00:00
Elliott Hughes
76ba8e86d5 Merge "Reimplement isinf/isnan/fpclassify." 2014-04-14 21:36:26 +00:00
Elliott Hughes
02c78a3867 Reimplement isinf/isnan/fpclassify.
Also move isinf and isnan into libc like everyone else.

Also move fpclassify to libc like the BSDs (but unlike glibc). We need
this to be able to upgrade our float/double/long double parsing to gdtoa.

Also add some missing aliases. We now have all of:

  isnan, __isnan, isnanf, __isnanf, isnanl, __isnanl,
  isinf, __isinf, isinff, __isinff, isinfl, __isinfl,
  __fpclassify, __fpclassifyd, __fpclassifyf, __fpclassifyl.

Bug: 13469877
Change-Id: I407ffbac06c765a6c5fffda8106c37d7db04f27d
2014-04-14 14:35:47 -07:00
Elliott Hughes
7aa93b50ea am 4aa11e9a: am 05589068: Merge "Extra tests for printf of NaN and Inf."
* commit '4aa11e9a863b328c2916885988e5faf017aa2ae3':
  Extra tests for printf of NaN and Inf.
2014-04-14 21:17:02 +00:00
Elliott Hughes
4aa11e9a86 am 05589068: Merge "Extra tests for printf of NaN and Inf."
* commit '055890686636faddbb6d5d407c67f5dcc53ac865':
  Extra tests for printf of NaN and Inf.
2014-04-14 21:12:56 +00:00
Elliott Hughes
0558906866 Merge "Extra tests for printf of NaN and Inf." 2014-04-14 21:07:25 +00:00
Elliott Hughes
7823f320b1 Extra tests for printf of NaN and Inf.
Change-Id: I61fc655d9777a03aabf38f6ebd047fe275386f05
2014-04-14 12:11:28 -07:00
Elliott Hughes
268dac808e am 9bbd17cb: am 28417eb9: Merge "Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix."
* commit '9bbd17cb75db8a99691a6ca0462ca5476b7641a0':
  Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix.
2014-04-14 15:49:13 +00:00
Elliott Hughes
9bbd17cb75 am 28417eb9: Merge "Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix."
* commit '28417eb9b58ca666355f93e82dcad0df0d3466ce':
  Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix.
2014-04-13 02:32:43 +00:00
Elliott Hughes
28417eb9b5 Merge "Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix." 2014-04-12 17:35:27 +00:00
The Android Automerger
bb63e31685 merge in master-release history after reset to master 2014-04-12 05:49:27 -07:00
Elliott Hughes
5eb670462a Replace the bionic hack for a vfprintf leak with (roughly) the upstream fix.
Currently in bionic free and freedtoa are equivalent, but that's not true
of gdtoa. This makes it easier to test gdtoa without having to replace
everything. (Yes, I found this bug the hard way.)

Change-Id: I290823a2a0a83329def5f2719b349215ad0dbbde
2014-04-11 18:00:37 -07:00
Elliott Hughes
47d2456804 am 4d9a0d11: am a0b32321: Merge "Improve the <sstream> test."
* commit '4d9a0d11615f74e78ba97de487cbedf63325fd2e':
  Improve the <sstream> test.
2014-04-11 16:31:59 +00:00
Elliott Hughes
4d9a0d1161 am a0b32321: Merge "Improve the <sstream> test."
* commit 'a0b3232161f6ad60be1a3c4d97044ac2bb14808c':
  Improve the <sstream> test.
2014-04-11 16:29:26 +00:00
Elliott Hughes
a0b3232161 Merge "Improve the <sstream> test." 2014-04-11 16:23:29 +00:00
Elliott Hughes
6455ac73da Improve the <sstream> test.
It looks like libcxx's testing is crap too, and this turned up
another bug in stlport.

Change-Id: I98c93dceaa8225c3cc280166d4bb74adaf94a324
2014-04-10 20:44:27 -07:00
Elliott Hughes
8808dc6ff1 am d8b6b839: am c4e71fc9: Merge "Remove unnecessary #includes."
* commit 'd8b6b839578352abd107697d21b2e9a6671af0e9':
  Remove unnecessary #includes.
2014-04-11 00:58:27 +00:00
Elliott Hughes
d8b6b83957 am c4e71fc9: Merge "Remove unnecessary #includes."
* commit 'c4e71fc91f240d64aabf27d0da54e9cbf4298d14':
  Remove unnecessary #includes.
2014-04-11 00:56:40 +00:00
Elliott Hughes
c4e71fc91f Merge "Remove unnecessary #includes." 2014-04-11 00:50:49 +00:00
Elliott Hughes
b676aafad0 Remove unnecessary #includes.
Change-Id: Ie7e0c9ea03f35517c7dcf09fc808c12e55262bc1
2014-04-10 17:50:06 -07:00
Elliott Hughes
bdbd892567 am 727093a3: am b64868a5: Merge "Add a test for external/stlport a6df82320fcb8f26af0d067c7768fedbaeb9ad88."
* commit '727093a3e1a31fbaa8e8f45033dc33e6ef326bde':
  Add a test for external/stlport a6df82320fcb8f26af0d067c7768fedbaeb9ad88.
2014-04-10 19:13:58 +00:00
Elliott Hughes
727093a3e1 am b64868a5: Merge "Add a test for external/stlport a6df82320fcb8f26af0d067c7768fedbaeb9ad88."
* commit 'b64868a50715cfdb5c71d97144ba00acf78e2a76':
  Add a test for external/stlport a6df82320fcb8f26af0d067c7768fedbaeb9ad88.
2014-04-10 19:09:18 +00:00
Elliott Hughes
b64868a507 Merge "Add a test for external/stlport a6df82320fcb8f26af0d067c7768fedbaeb9ad88." 2014-04-10 19:03:56 +00:00
Elliott Hughes
8c42606ae1 Add a test for external/stlport a6df82320fcb8f26af0d067c7768fedbaeb9ad88.
Change-Id: If4df9f5df41ae5453a3dff6bb032b419819f8703
2014-04-10 11:34:14 -07:00
The Android Automerger
b106dbbc93 merge in master-release history after reset to master 2014-04-10 05:49:19 -07:00
Elliott Hughes
c4db98e302 am 9ac738e3: am 4e364d97: Merge "Use the glibc name user_fpregs_struct."
* commit '9ac738e3dd924b998815fe6fe4464eef4c9350f4':
  Use the glibc name user_fpregs_struct.
2014-04-10 01:07:31 +00:00
Elliott Hughes
9ac738e3dd am 4e364d97: Merge "Use the glibc name user_fpregs_struct."
* commit '4e364d972433bda04614b56bc422ca88bf406c00':
  Use the glibc name user_fpregs_struct.
2014-04-10 00:05:52 +00:00
Elliott Hughes
4e364d9724 Merge "Use the glibc name user_fpregs_struct." 2014-04-09 23:59:43 +00:00
Elliott Hughes
93e1907ae1 Use the glibc name user_fpregs_struct.
Instead of the kernel name user_i387_struct.

Bug: 13889008
Change-Id: Ideec2e1ce36c1faa4b5b2db1999ad2b23757ca4d
2014-04-09 16:35:36 -07:00
Elliott Hughes
c34a7c93b4 am 599921be: am e4392199: Merge "Fix mcontext_t for x86-64."
* commit '599921be7b0d21b1f16b6aff6f8a246476845a09':
  Fix mcontext_t for x86-64.
2014-04-09 23:01:59 +00:00
Elliott Hughes
599921be7b am e4392199: Merge "Fix mcontext_t for x86-64."
* commit 'e4392199af1f867f751f73b129cc71e2ea99aba9':
  Fix mcontext_t for x86-64.
2014-04-09 22:59:05 +00:00
Elliott Hughes
e4392199af Merge "Fix mcontext_t for x86-64." 2014-04-09 22:52:07 +00:00
Elliott Hughes
c5992a036b Fix mcontext_t for x86-64.
Change-Id: I1ac0e7f44bcdd06a07862993e92c3048a7474a8b
2014-04-09 13:27:48 -07:00
The Android Automerger
cd49747110 merge in master-release history after reset to master 2014-04-09 05:49:17 -07:00
Calin Juravle
08576fff6d am 49076afc: am a5d83312: Merge "Use glibc structure for __cmsg_nxthdr."
* commit '49076afc19a9f336cc958837cf56a6893de3c618':
  Use glibc structure for __cmsg_nxthdr.
2014-04-09 09:11:11 +00:00
Elliott Hughes
b2da536c1c am 2fbe6831: am b52a4ab4: Merge "Flesh out <locale.h>."
* commit '2fbe6831c455ac4883aa062ae51294625b4cfccc':
  Flesh out <locale.h>.
2014-04-09 09:11:10 +00:00
Calin Juravle
49076afc19 am a5d83312: Merge "Use glibc structure for __cmsg_nxthdr."
* commit 'a5d83312bdeae2062a45160f54ce86c4b7b164e0':
  Use glibc structure for __cmsg_nxthdr.
2014-04-09 08:58:03 +00:00
Elliott Hughes
2fbe6831c4 am b52a4ab4: Merge "Flesh out <locale.h>."
* commit 'b52a4ab4e281c7adae35b3d7ae8d99b5753b870d':
  Flesh out <locale.h>.
2014-04-09 08:58:02 +00:00
Calin Juravle
a5d83312bd Merge "Use glibc structure for __cmsg_nxthdr." 2014-04-09 06:06:48 +00:00
Elliott Hughes
b52a4ab4e2 Merge "Flesh out <locale.h>." 2014-04-09 04:13:43 +00:00
Elliott Hughes
1d4be682e3 am 327acb9b: am e6235505: Merge "Fix build: include what you use."
* commit '327acb9bbad825bc2e89eefd3fc408a0706701c3':
  Fix build: include what you use.
2014-04-09 03:22:27 +00:00
Elliott Hughes
327acb9bba am e6235505: Merge "Fix build: include what you use."
* commit 'e62355057ca703eeca22d54a8a0f5b69ca58487c':
  Fix build: include what you use.
2014-04-09 03:18:44 +00:00
Elliott Hughes
e62355057c Merge "Fix build: include what you use." 2014-04-09 02:45:48 +00:00
Elliott Hughes
764a993611 Fix build: include what you use.
Change-Id: I12b2d5e434ad3ed38d4451bd470673781e6ca8fe
2014-04-08 19:44:36 -07:00
Elliott Hughes
c4936e20a3 Flesh out <locale.h>.
This is a trivial implementation that only supports the C/POSIX locale.

Change-Id: Ib11cea4249e1862aca96a8b94d58ea9a418cbe75
2014-04-08 19:37:38 -07:00
Elliott Hughes
f4870920ac am 901b2839: am 7f38a3c9: Merge "Implement _Exit(3)."
* commit '901b2839d8ce51cbfde0c922390c8322107cd27d':
  Implement _Exit(3).
2014-04-09 02:22:37 +00:00
Elliott Hughes
901b2839d8 am 7f38a3c9: Merge "Implement _Exit(3)."
* commit '7f38a3c9bef9c6efc30a6b60873bbdeea04a18f0':
  Implement _Exit(3).
2014-04-09 02:12:43 +00:00
Elliott Hughes
7f38a3c9be Merge "Implement _Exit(3)." 2014-04-09 02:07:01 +00:00
Elliott Hughes
cb48308d1a am a93d2770: am ac70d2e1: Merge "Clean up localeconv(3)."
* commit 'a93d27703f65e11077eb0b965e52d34a1b82e979':
  Clean up localeconv(3).
2014-04-09 01:45:22 +00:00
Elliott Hughes
9f525644df Implement _Exit(3).
Change-Id: Ida6ac844cc87d38c9645b197dd8188bb73e27dbe
2014-04-08 17:16:13 -07:00
Elliott Hughes
a93d27703f am ac70d2e1: Merge "Clean up localeconv(3)."
* commit 'ac70d2e1fe71f98232942237c2b463ea3adbf662':
  Clean up localeconv(3).
2014-04-08 22:04:41 +00:00
Calin Juravle
ff64831b09 Use glibc structure for __cmsg_nxthdr.
Bug: 13418328
Change-Id: I7e656b373e53e80d708325321e48dcedacf5086d
2014-04-09 00:55:24 +03:00
Elliott Hughes
ac70d2e1fe Merge "Clean up localeconv(3)." 2014-04-08 21:52:33 +00:00
Elliott Hughes
5363a45f2b Clean up localeconv(3).
The OpenBSD doesn't support C99, and the extent to which we support
locales is trivial, so just do it ourselves.

Change-Id: If0a06e627ecc593f7b8ea3e9389365782e49b00e
2014-04-08 14:34:12 -07:00
Andrew Hsieh
57ba426913 am 0f147d74: am e2239ddb: Merge "Corrected typo in mips64.mk about memcpy.cpp"
* commit '0f147d74b88ea49ddeb9af82180b67895100bb7d':
  Corrected typo in mips64.mk about memcpy.cpp
2014-04-08 20:24:52 +00:00
Andrew Hsieh
0f147d74b8 am e2239ddb: Merge "Corrected typo in mips64.mk about memcpy.cpp"
* commit 'e2239ddb727f1f07237fa664edaf43b12b18e0a6':
  Corrected typo in mips64.mk about memcpy.cpp
2014-04-08 20:21:10 +00:00
Andrew Hsieh
e2239ddb72 Merge "Corrected typo in mips64.mk about memcpy.cpp" 2014-04-08 20:09:44 +00:00
Elliott Hughes
3680504a9c am 91f4f586: am 5acd2d40: Merge "AArch64: Fix flock64 for LP64."
* commit '91f4f586f3871075a676cf5fbd73d360b13097a3':
  AArch64: Fix flock64 for LP64.
2014-04-08 19:32:56 +00:00
Elliott Hughes
91f4f586f3 am 5acd2d40: Merge "AArch64: Fix flock64 for LP64."
* commit '5acd2d40052c55255a346167e504afb884eeb3af':
  AArch64: Fix flock64 for LP64.
2014-04-08 19:29:29 +00:00
Elliott Hughes
5acd2d4005 Merge "AArch64: Fix flock64 for LP64." 2014-04-08 19:20:51 +00:00
Serban Constantinescu
48501af98f AArch64: Fix flock64 for LP64.
On LP64 systems F_GETLK64, F_SETLK64 and F_SETLKW64 definitions should
map onto the F_GETLK, F_SETLK and F_SETLKW definitions, respectively.
LP64 also doesn't have a struct flock64.

Change-Id: Ibdfed9645d9e946999acd6efa8b96ea6238ed5bf
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2014-04-08 12:19:23 -07:00
Andrew Hsieh
4e3ce11450 Corrected typo in mips64.mk about memcpy.cpp
Change-Id: I1e6fb9373880bcdbad3fa86145e5138ce0d30b31
2014-04-09 02:16:03 +08:00
Elliott Hughes
fc38de6b0d am fc50845e: am 0b0387c9: Merge "Fix kernel header scrubbing for LP64."
* commit 'fc50845e7d921763152753b60417ece57158cf2e':
  Fix kernel header scrubbing for LP64.
2014-04-08 18:05:33 +00:00
Elliott Hughes
fc50845e7d am 0b0387c9: Merge "Fix kernel header scrubbing for LP64."
* commit '0b0387c965894e235b72fa965191bf346270135d':
  Fix kernel header scrubbing for LP64.
2014-04-08 18:00:08 +00:00
Elliott Hughes
0b0387c965 Merge "Fix kernel header scrubbing for LP64." 2014-04-08 17:47:28 +00:00
Elliott Hughes
9195a258ee Fix kernel header scrubbing for LP64.
Change-Id: I4caf44d41edd1b03a20d4c565e169c2b7a2f3686
2014-04-08 10:15:06 -07:00
The Android Automerger
86b8d2448a merge in master-release history after reset to master 2014-04-08 05:49:12 -07:00
Christopher Ferris
39a4d58f36 am 8c22d563: am 41059d76: Merge "Add stpcpy/stpncpy."
* commit '8c22d5635869b420ebe4178141a2c6e969a2626a':
  Add stpcpy/stpncpy.
2014-04-08 01:36:36 +00:00
Christopher Ferris
8c22d56358 am 41059d76: Merge "Add stpcpy/stpncpy."
* commit '41059d764f347baa28b8da653a88c772daa9b738':
  Add stpcpy/stpncpy.
2014-04-08 01:31:06 +00:00
Christopher Ferris
41059d764f Merge "Add stpcpy/stpncpy." 2014-04-08 01:21:07 +00:00
Elliott Hughes
bdca710f7d am 6a8d61e1: am b9bb48bf: Merge "Fix the printf issue for 64 bits. The following case:"
* commit '6a8d61e173954878037516bacfd725bdb3bece22':
  Fix the printf issue for 64 bits. The following case:
2014-04-07 23:58:05 +00:00
Elliott Hughes
6a8d61e173 am b9bb48bf: Merge "Fix the printf issue for 64 bits. The following case:"
* commit 'b9bb48bf289eec9053c6d7cc77ebbde2b4356c4b':
  Fix the printf issue for 64 bits. The following case:
2014-04-07 23:52:29 +00:00
Elliott Hughes
b9bb48bf28 Merge "Fix the printf issue for 64 bits. The following case:" 2014-04-07 23:44:50 +00:00
Christopher Ferris
950a58e24d Add stpcpy/stpncpy.
Add tests for the above.

Add the fortify implementations of __stpcpy_chk and __stpncpy_chk.

Modify the strncpy test to cover more cases and use this template for
stpncpy.

Add all of the fortify test cases.

Bug: 13746695
Change-Id: I8c0f0d4991a878b8e8734fff12c8b73b07fdd344
2014-04-07 16:41:53 -07:00
Elliott Hughes
d77b71710f am 602886de: am 26c31a75: Merge "Remove a non-standard turd: strtotimeval."
* commit '602886de86c45016e276cc63fa8f67e1596c97f8':
  Remove a non-standard turd: strtotimeval.
2014-04-07 23:07:30 +00:00
Elliott Hughes
602886de86 am 26c31a75: Merge "Remove a non-standard turd: strtotimeval."
* commit '26c31a75a5bd9a549cefc0424b7cac9e35816711':
  Remove a non-standard turd: strtotimeval.
2014-04-07 23:01:04 +00:00
Elliott Hughes
26c31a75a5 Merge "Remove a non-standard turd: strtotimeval." 2014-04-07 22:53:28 +00:00
Elliott Hughes
efbdb53f84 Remove a non-standard turd: strtotimeval.
Change-Id: I1b1e40746cb573e3fb73a5276969b40c5da36d15
2014-04-07 15:17:19 -07:00
Elliott Hughes
bfe0bc2447 am 53cffd8c: am 5f149f1b: Merge "Implement wctomb(3) for ltrace."
* commit '53cffd8ccd0016200d3345b6e87c20298309bb49':
  Implement wctomb(3) for ltrace.
2014-04-07 21:51:57 +00:00
Elliott Hughes
f5f5fa266d am 0842460e: am 60ba211d: Merge "Fix build: __unused isn\'t unused!"
* commit '0842460e539dd7203af1cea66e6fe2506e8ed856':
  Fix build: __unused isn't unused!
2014-04-07 21:51:56 +00:00
Elliott Hughes
53cffd8ccd am 5f149f1b: Merge "Implement wctomb(3) for ltrace."
* commit '5f149f1bdef31d198c0e84fd8c904204d263e825':
  Implement wctomb(3) for ltrace.
2014-04-07 21:46:16 +00:00
Elliott Hughes
0842460e53 am 60ba211d: Merge "Fix build: __unused isn\'t unused!"
* commit '60ba211d2b1b4205063419b0933cba711b1547d6':
  Fix build: __unused isn't unused!
2014-04-07 21:46:16 +00:00
Elliott Hughes
5f149f1bde Merge "Implement wctomb(3) for ltrace." 2014-04-07 21:39:38 +00:00
Elliott Hughes
60ba211d2b Merge "Fix build: __unused isn't unused!" 2014-04-07 21:37:47 +00:00
Elliott Hughes
50249bca00 Fix build: __unused isn't unused!
Change-Id: I57f2b755d1b2509f9c5504b12a5ff6c50b78b375
2014-04-07 14:36:59 -07:00
Elliott Hughes
77e944fd46 Implement wctomb(3) for ltrace.
This is an implementation in the style of the rest: char == byte.

We might want to come back and implement UTF-8, but this is enough for ltrace.

Bug: 13747066
Change-Id: Ib2b63609c9014fdef9a8491e067467c4fc5ae3cc
2014-04-07 14:29:28 -07:00
Elliott Hughes
7f1ee87ef9 am 3333a7af: am 47931f8f: Merge "Fix aarch64 struct ucontext."
* commit '3333a7af505a5d6230de5a455e9da6eb18ae07c6':
  Fix aarch64 struct ucontext.
2014-04-07 21:02:58 +00:00
Elliott Hughes
3333a7af50 am 47931f8f: Merge "Fix aarch64 struct ucontext."
* commit '47931f8f796b736bd229b6669efcf428108abc47':
  Fix aarch64 struct ucontext.
2014-04-07 20:56:05 +00:00
Elliott Hughes
47931f8f79 Merge "Fix aarch64 struct ucontext." 2014-04-07 20:44:31 +00:00
Elliott Hughes
5c7bda5c61 Fix aarch64 struct ucontext.
Change-Id: I6f0959723a753e8c788275709e7245c103ff88d1
2014-04-07 12:12:00 -07:00
The Android Automerger
f0cae0619b merge in master-release history after reset to master 2014-04-05 05:49:25 -07:00
Elliott Hughes
d4dadbfbcd am b49e6c8a: am dc5fcf36: Merge "Define __WORDSIZE like glibc."
* commit 'b49e6c8a542f9c7630ae49215f151b2e3bad817f':
  Define __WORDSIZE like glibc.
2014-04-04 03:19:06 +00:00
Paul Jensen
6f706dd88c am c8167111: resolved conflicts for merge of 804b95e5 to klp-modular-dev-plus-aosp
* commit 'c8167111d57992b8ce3ca554a9499973c55aa174':
  bionic: Replace iface with opaque netid in resolver.
2014-04-04 03:19:05 +00:00
Elliott Hughes
b49e6c8a54 am dc5fcf36: Merge "Define __WORDSIZE like glibc."
* commit 'dc5fcf3620bfc221954b3d42f459bfdcf8f48216':
  Define __WORDSIZE like glibc.
2014-04-04 00:08:20 +00:00
Paul Jensen
c8167111d5 resolved conflicts for merge of 804b95e5 to klp-modular-dev-plus-aosp
Change-Id: I124e9342acdb0c9cf0cdcae31f063787c96ab6e2
2014-04-03 19:59:27 -04:00
Elliott Hughes
dc5fcf3620 Merge "Define __WORDSIZE like glibc." 2014-04-03 22:06:25 +00:00
Elliott Hughes
caa15bfe2d Define __WORDSIZE like glibc.
Requested by Google Breakpad, but seems to be assumed to be defined
in various places in the AOSP tree already; iputils, wpa_supplicant,
et cetera.

Change-Id: I1f7833c98e0af4c77e49744c08b8239061c9a571
2014-04-03 13:59:14 -07:00
Robert Greenwalt
804b95e535 Merge "bionic: Replace iface with opaque netid in resolver." 2014-04-03 17:05:32 +00:00
The Android Automerger
36a131554e merge in master-release history after reset to master 2014-04-03 05:49:27 -07:00
Calin Juravle
d2abc19fa7 am c48efe35: am 38687593: Merge "Emit warnings when linking against imprecise math functions"
* commit 'c48efe35885c203e0d40abc81ae40579178ab90e':
  Emit warnings when linking against imprecise math functions
2014-04-03 09:15:54 +00:00
Calin Juravle
b183936e57 am c44b5bf2: am eb554998: Merge "Fix modf* tests"
* commit 'c44b5bf207ef08b0035a2fec0ede29ad7267da59':
  Fix modf* tests
2014-04-03 09:15:53 +00:00
Calin Juravle
c48efe3588 am 38687593: Merge "Emit warnings when linking against imprecise math functions"
* commit '38687593141ca4a4072210417877590e44a10b0c':
  Emit warnings when linking against imprecise math functions
2014-04-03 09:11:48 +00:00
Calin Juravle
c44b5bf207 am eb554998: Merge "Fix modf* tests"
* commit 'eb554998d774c670a169bde1792619789f2f7058':
  Fix modf* tests
2014-04-03 09:11:48 +00:00
Calin Juravle
3868759314 Merge "Emit warnings when linking against imprecise math functions" 2014-04-03 09:01:05 +00:00
Calin Juravle
eb554998d7 Merge "Fix modf* tests" 2014-04-03 09:00:34 +00:00
Greg Hackmann
ff14a40c80 am 9b0fa57c: am e2a0f15c: Merge "Regenerate adf header"
* commit '9b0fa57cb1e9722a07d601db9520cebaa04d743c':
  Regenerate adf header
2014-04-03 02:11:16 +00:00
Elliott Hughes
139a8acf26 am 40b9734c: am 26be5f50: Merge "Upgrade to tzdata2014b."
* commit '40b9734cd6f6b157700e1fc9149bc04c0ce5b185':
  Upgrade to tzdata2014b.
2014-04-03 01:41:01 +00:00
Greg Hackmann
9b0fa57cb1 am e2a0f15c: Merge "Regenerate adf header"
* commit 'e2a0f15c08827ee854f3bffdf78d2f4db49d4fe5':
  Regenerate adf header
2014-04-02 23:36:03 +00:00
Greg Hackmann
e2a0f15c08 Merge "Regenerate adf header" 2014-04-02 23:24:54 +00:00
Greg Hackmann
8061facb7c Regenerate adf header
Fixes 64-bit related alignment issues

Change-Id: Ie90b920a7489e807e953f45a6db72350b80f6f22
Signed-off-by: Greg Hackmann <ghackmann@google.com>
2014-04-02 16:07:32 -07:00
Elliott Hughes
40b9734cd6 am 26be5f50: Merge "Upgrade to tzdata2014b."
* commit '26be5f50c2a0d2a493559c897ab1a7711269dc88':
  Upgrade to tzdata2014b.
2014-04-02 22:03:00 +00:00
Elliott Hughes
26be5f50c2 Merge "Upgrade to tzdata2014b." 2014-04-02 21:54:55 +00:00
Elliott Hughes
fe6adbad19 Upgrade to tzdata2014b.
From the release notes:

  Changes affecting near-future time stamps

    Crimea switches to Moscow time on 2014-03-30 at 02:00 local time.
    (Thanks to Alexander Krivenyshev.)  Move its zone.tab entry from UA
    to RU.

    New entry for Troll station, Antarctica.  (Thanks to Paul-Inge
    Flakstad and Bengt-Inge Larsson.)  This is currently an
    approximation; a better version will require the zic and localtime
    fixes mentioned [in the full release notes], and the plan is to wait
    for a while until at least the zic fixes propagate.

Change-Id: Ib00f6cbc7b92e26822792b45e53a5f5381e0f6bf
2014-04-02 14:43:27 -07:00
Calin Juravle
d8d6feed3a Fix modf* tests
Use a value that can be exactly represented.

Change-Id: Idf3b1db5e6042fb49c1f591f25f9eee656659ece
2014-04-02 21:54:39 +01:00
Calin Juravle
f723b70fe0 Emit warnings when linking against imprecise math functions
Change-Id: I3da7b8396a64d7899fcb89452c879806a8a511ff
2014-04-02 19:16:54 +01:00
Elliott Hughes
130a02e116 am 05ed7048: am 1f136571: Merge "Fix the POSIX timers fix."
* commit '05ed7048ad9be79bdbf27d076a4d8cd4000f7e98':
  Fix the POSIX timers fix.
2014-04-02 16:36:28 +00:00
Elliott Hughes
05ed7048ad am 1f136571: Merge "Fix the POSIX timers fix."
* commit '1f136571312e4269df00dfc6d9a9049d0f2dabc9':
  Fix the POSIX timers fix.
2014-04-02 16:30:52 +00:00
Elliott Hughes
1f13657131 Merge "Fix the POSIX timers fix." 2014-04-02 16:20:47 +00:00
Alexander Ivchenko
edd7c2ec25 Fix the printf issue for 64 bits. The following case:
printf("%1$s %1$s\n", "test");

would print garbage instead of the second "test". The problem is __find_arguments
and the patch is a backport of two patches from OpenBSD that fix the issue:

Author: tedu <tedu@cvs.openbsd.org>
Date:   Sat Apr 29 23:00:24 2006 +0000

    check mmap for failure.  the helper functions using it return -1, but
    callers do not yet check since printf() for example is not documented
    to return an error.
    some formatting cleanups.
    mostly ok deraadt millert

Author: millert <millert@cvs.openbsd.org>
Date:   Fri May 16 14:28:54 2008 +0000

    C99 says that for each va_copy() there must be a matching va_end().
    Replace the non-portable hackery in __find_arguments() with a union.
    From FreeBSD.

Change-Id: I6ea392ce6fcf4a319ae6a67ec58cc52fe7cbe534
Signed-off-by: Alexander Ivchenko <alexander.ivchenko@intel.com>
2014-04-02 18:30:55 +04:00
The Android Automerger
940f4fac14 merge in master-release history after reset to master 2014-04-02 05:49:21 -07:00
Calin Juravle
09e087b829 am 0a6162e2: am 9c9ef0db: Merge "Changed long double literal suffix from \'l\' to \'L\'."
* commit '0a6162e2e7e53a55461770fba1a0af3fe2e9b543':
  Changed long double literal suffix from 'l' to 'L'.
2014-04-02 10:30:02 +00:00
Calin Juravle
0a6162e2e7 am 9c9ef0db: Merge "Changed long double literal suffix from \'l\' to \'L\'."
* commit '9c9ef0db91c816ca81a22a94c3ddd896a0f0f1bc':
  Changed long double literal suffix from 'l' to 'L'.
2014-04-02 10:24:07 +00:00
Calin Juravle
9c9ef0db91 Merge "Changed long double literal suffix from 'l' to 'L'." 2014-04-02 10:17:11 +00:00
Elliott Hughes
473d06707b Fix the POSIX timers fix.
If we're not going to wait for the timer threads to exit, we need
another way to ensure that we don't free the data they're using
prematurely. The easiest way to ensure that is to let them free the
data themselves.

Change-Id: Icee17c87bbcb9c3aac5868973f595d08569f33aa
2014-04-01 19:07:52 -07:00
Elliott Hughes
341b39bd1d am bfc540f6: am 1653ad5e: Merge "Remove <machine/limits.h>."
* commit 'bfc540f6e3b70d4585cf9338d309250bc964404b':
  Remove <machine/limits.h>.
2014-04-02 01:09:08 +00:00
Christopher Ferris
b9993a9869 am ba6ad860: am cb1da5d0: Merge "Include sys/types.h and sys/wait.h for waitpid"
* commit 'ba6ad8602ab4fae96679673f06129d9112f898e0':
  Include sys/types.h and sys/wait.h for waitpid
2014-04-02 01:05:29 +00:00
Elliott Hughes
bfc540f6e3 am 1653ad5e: Merge "Remove <machine/limits.h>."
* commit '1653ad5e08ba4cabfd4d81237e13a4952fac6194':
  Remove <machine/limits.h>.
2014-04-02 01:05:13 +00:00
Christopher Ferris
ba6ad8602a am cb1da5d0: Merge "Include sys/types.h and sys/wait.h for waitpid"
* commit 'cb1da5d0c9b65bc43062554a3bfd589ee7b100b1':
  Include sys/types.h and sys/wait.h for waitpid
2014-04-02 00:59:44 +00:00
Elliott Hughes
1653ad5e08 Merge "Remove <machine/limits.h>." 2014-04-02 00:59:09 +00:00
Christopher Ferris
cb1da5d0c9 Merge "Include sys/types.h and sys/wait.h for waitpid" 2014-04-02 00:49:04 +00:00
Brian Carlstrom
1021c05f1b Include sys/types.h and sys/wait.h for waitpid
(cherry picked from commit 8b2c6d44cac206b61dffd965863336e6f803fc66)

Change-Id: Ice1f6d956c11aaefd3d846c12121f08613a94446
2014-04-01 17:42:31 -07:00
Elliott Hughes
1b0dc40980 Remove <machine/limits.h>.
Change-Id: I7f9e9538517f726d4f08bf1f4b8d57c54d3f1676
2014-04-01 17:16:59 -07:00
Elliott Hughes
4b0ee2e965 am 099c13b9: am f1bfc878: Merge "Remove SIZE_MAX definition in limits.h"
* commit '099c13b92509b023fdbaa67a84785f3580cf7422':
  Remove SIZE_MAX definition in limits.h
2014-04-02 00:08:33 +00:00
Christopher Ferris
3a76f22fbc am e42e5b32: am ab5488f9: Merge "Fix transient failure in select_smoke test."
* commit 'e42e5b32ebae3390c33402764458d77137b2d626':
  Fix transient failure in select_smoke test.
2014-04-02 00:02:51 +00:00
Elliott Hughes
099c13b925 am f1bfc878: Merge "Remove SIZE_MAX definition in limits.h"
* commit 'f1bfc8781e17fb851de23dce4332c0cb5ccb8749':
  Remove SIZE_MAX definition in limits.h
2014-04-01 23:59:49 +00:00
Elliott Hughes
f1bfc8781e Merge "Remove SIZE_MAX definition in limits.h" 2014-04-01 23:52:04 +00:00
Christopher Ferris
e42e5b32eb am ab5488f9: Merge "Fix transient failure in select_smoke test."
* commit 'ab5488f97545f5dd1a1cd2ff6a5579b1d2443996':
  Fix transient failure in select_smoke test.
2014-04-01 22:03:17 +00:00
Elliott Hughes
85e5af0890 am 94d1de56: am 92d81d89: Merge "Add Silvermont architecture cache sizes"
* commit '94d1de561d31013cbe82a4ea980db9931a685e24':
  Add Silvermont architecture cache sizes
2014-04-01 21:55:02 +00:00
Christopher Ferris
ab5488f975 Merge "Fix transient failure in select_smoke test." 2014-04-01 21:52:05 +00:00
Elliott Hughes
94d1de561d am 92d81d89: Merge "Add Silvermont architecture cache sizes"
* commit '92d81d893f7ca2735afb07f38f7dc799a2de6860':
  Add Silvermont architecture cache sizes
2014-04-01 21:48:03 +00:00
Christopher Ferris
e3bb025b3d Fix transient failure in select_smoke test.
Make sure there is a delay before the file descriptor is written so that
the select/pselect calls do not return immediately.

Change-Id: If9e481b0e2cfae7ef7abd9cba8fff84078e203d3
2014-04-01 14:46:09 -07:00
Elliott Hughes
92d81d893f Merge "Add Silvermont architecture cache sizes" 2014-04-01 21:40:04 +00:00
Elliott Hughes
b13d66b578 am abd89b0c: am e05816cf: Merge "Fix debug malloc for LP64."
* commit 'abd89b0cccb893e62afce87ec05b325ca337a8d8':
  Fix debug malloc for LP64.
2014-04-01 21:14:58 +00:00
Elliott Hughes
abd89b0ccc am e05816cf: Merge "Fix debug malloc for LP64."
* commit 'e05816cfa0270d7def33da70bf2ada12350b08b5':
  Fix debug malloc for LP64.
2014-04-01 21:09:54 +00:00
Elliott Hughes
e05816cfa0 Merge "Fix debug malloc for LP64." 2014-04-01 21:00:07 +00:00
Elliott Hughes
64b2963224 Fix debug malloc for LP64.
Change-Id: I5de2097b6589c0d6750b2a3bc3cbb06227de6d5f
2014-04-01 13:48:30 -07:00
Elliott Hughes
59c78feb6d am f7dd9085: am f42df8c1: Merge "Add lsearch(3) for ltrace."
* commit 'f7dd908586ea49283a792e345e51d48541834b7c':
  Add lsearch(3) for ltrace.
2014-04-01 20:39:45 +00:00
Elliott Hughes
f7dd908586 am f42df8c1: Merge "Add lsearch(3) for ltrace."
* commit 'f42df8c1ac1fd1924a6244f5b9ad472d73786949':
  Add lsearch(3) for ltrace.
2014-04-01 20:35:58 +00:00
Szymon Jakubczak
ea9bf67881 bionic: Replace iface with opaque netid in resolver.
Replace iface cache key with netid.

Replace _mark with netid.

Mark sockets used to test IPv4/IPv6 support as well as sockets
used to determine source address for rfc6724 sort.

Remove pid/uid mappings (functionality moved to system/netd).

Do not create resolv_cache when it does not exist, but rather only
when DNS configuration is supplied.

Clean up unused functions.

Change-Id: I9ccfda2902cc0943e87c9bc346ad9a2578accdab
2014-04-01 16:25:49 -04:00
Elliott Hughes
f42df8c1ac Merge "Add lsearch(3) for ltrace." 2014-04-01 20:25:33 +00:00
Elliott Hughes
0f0fba75be am 0ea45999: am 796249a4: Merge "Remove duplicate line in linker/Android.mk."
* commit '0ea459992f75b454e743ebf1a41ddab4a3327b16':
  Remove duplicate line in linker/Android.mk.
2014-04-01 19:42:25 +00:00
Elliott Hughes
7f3a272ae3 Add lsearch(3) for ltrace.
Bug: 13746936
Change-Id: I833c6ba70a1752c04dab7de389f5bebb741662b3
2014-04-01 12:40:00 -07:00
Elliott Hughes
0ea459992f am 796249a4: Merge "Remove duplicate line in linker/Android.mk."
* commit '796249a4ce48ed5eb946170f32541e3edf83b601':
  Remove duplicate line in linker/Android.mk.
2014-04-01 19:33:44 +00:00
Elliott Hughes
796249a4ce Merge "Remove duplicate line in linker/Android.mk." 2014-04-01 19:22:19 +00:00
Elliott Hughes
88b44feb7d Remove duplicate line in linker/Android.mk.
Change-Id: I7b4d5fcdfacc840bbda4ffd965e5315c4651cfe5
2014-04-01 11:41:36 -07:00
Calin Juravle
b7afa9df25 Changed long double literal suffix from 'l' to 'L'.
Change-Id: Id569f2d335b0930704d12ad7f388cb98b65f3ab7
2014-04-01 16:49:14 +01:00
The Android Automerger
dfbc8515c4 merge in master-release history after reset to master 2014-04-01 05:49:18 -07:00
Christopher Ferris
182f839cc6 am bc004aa4: am b732b71d: Merge "Move accept4 tests into sys_socket_test.cpp."
* commit 'bc004aa4d36fec0fae112ff4de078b3f2fd3dbc6':
  Move accept4 tests into sys_socket_test.cpp.
2014-04-01 09:16:41 +00:00
Christopher Ferris
bc004aa4d3 am b732b71d: Merge "Move accept4 tests into sys_socket_test.cpp."
* commit 'b732b71dc10158a4c1d8ee2235d357f8694030ba':
  Move accept4 tests into sys_socket_test.cpp.
2014-04-01 09:08:01 +00:00
Henrik Smiding
3bfa0fd32f Add Silvermont architecture cache sizes
Adds Silvermont specific cache sizes for bionic optimizations.

Change-Id: Ib992f530b8c485121b2874470fd6bed2212adb0f
Signed-off-by: Henrik Smiding <henrik.smiding@intel.com>
2014-04-01 14:41:08 +08:00
Christopher Ferris
b732b71dc1 Merge "Move accept4 tests into sys_socket_test.cpp." 2014-04-01 05:50:17 +00:00
Christopher Ferris
108f6dc316 Move accept4 tests into sys_socket_test.cpp.
In addition, create basic recvmmsg, sendmmsg tests.

Change-Id: Ie9f4954446d98b5eb5e553d3c616c1ee67c3cb66
2014-03-31 22:43:38 -07:00
Christopher Ferris
29786ff84b am 1cf377bb: am aad59faf: Merge "Small accept4 fixes."
* commit '1cf377bbceb5c59b8572fcdb456034e18fdc1db1':
  Small accept4 fixes.
2014-03-31 19:50:02 +00:00
Christopher Ferris
1cf377bbce am aad59faf: Merge "Small accept4 fixes."
* commit 'aad59fafeaa1f46e1744864167e6407b5a5ae55e':
  Small accept4 fixes.
2014-03-31 19:11:02 +00:00
Christopher Ferris
aad59fafea Merge "Small accept4 fixes." 2014-03-31 19:01:23 +00:00
Christopher Ferris
9cea377505 Small accept4 fixes.
Put the accept4 test in the sorted order, and put the accept4 define in
sorted order.

Also add the missing SYS_RECVMMSG and SYS_SENDMMSG defines.

Change-Id: Iba55354975e0d5027dbee53f6de752c2df719493
2014-03-31 11:23:39 -07:00
Russell Webb
ac3fc00ca2 Remove SIZE_MAX definition in limits.h
the POSIX standard is that SIZE_MAX is defined
in stdint.h, not limits.h.

Change-Id: Iafd8ec71d1840541feaca4f53b2926b398293fac
Signed-off-by: Webb, Russell <russell.webb@intel.com>
Signed-off-by: Fengwei Yin <fengwei.yin@intel.com>
Reviewed-by: Ross, Andrew J <andrew.j.ross@intel.com>
Reviewed-by: Boie, Andrew P <andrew.p.boie@intel.com>
Reviewed-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
Tested-by: Gumbel, Matthew K <matthew.k.gumbel@intel.com>
2014-03-31 22:38:14 +08:00
The Android Automerger
7f808152bd merge in master-release history after reset to master 2014-03-31 05:49:09 -07:00
Calin Juravle
6a354178ef am 93203f65: am 557942ac: Merge "Fix math tests."
* commit '93203f65220bd3884bbe5da1cb90292341605088':
  Fix math tests.
2014-03-31 11:36:00 +00:00
Calin Juravle
93203f6522 am 557942ac: Merge "Fix math tests."
* commit '557942ac58f08675473460b1802b43473c467172':
  Fix math tests.
2014-03-31 11:29:51 +00:00
Calin Juravle
557942ac58 Merge "Fix math tests." 2014-03-31 10:54:15 +00:00
Christopher Ferris
461b1542e1 am ce5583f7: am d8fe15fd: Merge "add 32-bit bionic implementation for denver arch"
* commit 'ce5583f7065d930cc8d79a05601ca85146da5c2e':
  add 32-bit bionic implementation for denver arch
2014-03-31 03:42:38 +00:00
Christopher Ferris
ce5583f706 am d8fe15fd: Merge "add 32-bit bionic implementation for denver arch"
* commit 'd8fe15fdb6581b6920a4be75731337edbac64b11':
  add 32-bit bionic implementation for denver arch
2014-03-31 03:39:02 +00:00
Christopher Ferris
d8fe15fdb6 Merge "add 32-bit bionic implementation for denver arch" 2014-03-31 03:30:13 +00:00
Christopher Ferris
f6dc79befc am 52268f39: am c19972a4: Merge "Use __unused instead of UNUSED in linker.cpp"
* commit '52268f39820bc541aa7a8c79654de486d8a8e9f2':
  Use __unused instead of UNUSED in linker.cpp
2014-03-30 22:39:38 +00:00
Christopher Ferris
52268f3982 am c19972a4: Merge "Use __unused instead of UNUSED in linker.cpp"
* commit 'c19972a4ca24512e017ad501bf446a489d4236e7':
  Use __unused instead of UNUSED in linker.cpp
2014-03-30 22:34:02 +00:00
Christopher Ferris
c19972a4ca Merge "Use __unused instead of UNUSED in linker.cpp" 2014-03-30 22:24:22 +00:00
The Android Automerger
ae718f76ab merge in master-release history after reset to master 2014-03-29 05:49:25 -07:00
Calin Juravle
c08e1720c2 am fd134c6f: am 6617fb73: Merge "Add lconv declaration and localeconv(3)"
* commit 'fd134c6f33ad040dfc2f91d7e23e8186fa3e8610':
  Add lconv declaration and localeconv(3)
2014-03-28 11:36:03 +00:00
Calin Juravle
fd134c6f33 am 6617fb73: Merge "Add lconv declaration and localeconv(3)"
* commit '6617fb73b6393f727cfc88a650c7e033ced053ce':
  Add lconv declaration and localeconv(3)
2014-03-28 11:29:20 +00:00
Calin Juravle
6617fb73b6 Merge "Add lconv declaration and localeconv(3)" 2014-03-28 11:18:16 +00:00
Pavel Chupin
50282f72bb Add lconv declaration and localeconv(3)
lconv is taken from ndk/sources/android/support/include/locale.h and
matches
bsd/glibc upstream.
Keep old declaration for 32-bits for compatibility.
localeconv.c and deps are taken from openbsd upstream.
Changed strtod.c accordingly.

Change-Id: I9fcc4d15f5674d192950d80edf26f36006cd31b4
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-28 11:15:03 +00:00
Calin Juravle
c8564f2df2 Fix math tests.
Bug: 13657654
Change-Id: I39b2f13b5b3d3e6897618ac3aed49a0a08458dd0
2014-03-28 11:10:01 +00:00
Christopher Ferris
d5e61526bf am 7009abc2: am a58b3f78: Merge "Add accept4 unit test to bionic."
* commit '7009abc28335f01105ac1da02c3d0d06788e21b7':
  Add accept4 unit test to bionic.
2014-03-27 18:29:26 +00:00
Colin Cross
ba73053166 am 61bfc416: am cd3303fa: Merge "linker: use LOCAL_MULTILIB := both style to build linker64"
* commit '61bfc41644ba009678bb9f7e4a2deb3ebe60099e':
  linker: use LOCAL_MULTILIB := both style to build linker64
2014-03-27 18:29:26 +00:00
Christopher Ferris
7009abc283 am a58b3f78: Merge "Add accept4 unit test to bionic."
* commit 'a58b3f78e14500e7b10fc845ef0a6a8309664663':
  Add accept4 unit test to bionic.
2014-03-27 18:23:30 +00:00
Colin Cross
61bfc41644 am cd3303fa: Merge "linker: use LOCAL_MULTILIB := both style to build linker64"
* commit 'cd3303fa384c86f9e7dfab52cce33bd986fdd565':
  linker: use LOCAL_MULTILIB := both style to build linker64
2014-03-27 18:23:29 +00:00
Christopher Ferris
a58b3f78e1 Merge "Add accept4 unit test to bionic." 2014-03-27 18:15:15 +00:00
Colin Cross
cd3303fa38 Merge "linker: use LOCAL_MULTILIB := both style to build linker64" 2014-03-27 18:09:37 +00:00
Andrei Emeltchenko
2f3ba8844a Add accept4 unit test to bionic.
Change-Id: I1cce5fb8dab16f03164fdd288f35a814d7c49c6a
2014-03-27 11:08:49 -07:00
Colin Cross
406a75d371 linker: use LOCAL_MULTILIB := both style to build linker64
Use LOCAL_MODULE_STEM_32 and LOCAL_MODULE_STEM_64 to build
linker and linker64.  Set LOCAL_MULTILIB := both for consistency
with other rules of this type, although LOCAL_MULTILIB := both is
only consumed by executable.mk which is skipped by
linker_executable.mk.  Duplicate the necessary new parts of
executable.mk.

Change-Id: I888e87cf125cfbcfdee6a55b6377d8bc5ce402ea
2014-03-27 10:45:57 -07:00
Calin Juravle
4f6cd7cf9b am 113f7750: am 206fe5fd: Merge changes I1935a63d,I3dfd3647
* commit '113f77506b2382eeb2d99c74f84579c59832fbbb':
  Fix and clean up strtotimeval
  Added strtotimeval tests.
2014-03-27 17:06:14 +00:00
Calin Juravle
113f77506b am 206fe5fd: Merge changes I1935a63d,I3dfd3647
* commit '206fe5fd160504489234d222d824870837e82b59':
  Fix and clean up strtotimeval
  Added strtotimeval tests.
2014-03-27 16:59:18 +00:00
Calin Juravle
206fe5fd16 Merge changes I1935a63d,I3dfd3647
* changes:
  Fix and clean up strtotimeval
  Added strtotimeval tests.
2014-03-27 16:53:08 +00:00
Weichuan Yan
f1d7536dcf Fix and clean up strtotimeval
- parsing of fractional part was wrong (always parsed as 0)
- return value was also wrong in the presence of fractional parts
- general style clean up

Change-Id: I1935a63db938dbed7cacb4b5646e993a52c27f1a
Signed-off-by: Weichuan Yan <wchyan@marvell.com>
2014-03-27 14:57:36 +00:00
The Android Automerger
c7d5686d9b merge in master-release history after reset to master 2014-03-27 05:49:21 -07:00
Christopher Ferris
474663a398 am 7b6440d1: am bc475bc8: Merge "Add accept4() syscall"
* commit '7b6440d1547d9845ba5572179cd9c32b088b1985':
  Add accept4() syscall
2014-03-26 19:59:57 +00:00
Christopher Ferris
7b6440d154 am bc475bc8: Merge "Add accept4() syscall"
* commit 'bc475bc8d1d202baa48f6c9829fe1cced9122332':
  Add accept4() syscall
2014-03-26 19:53:07 +00:00
Christopher Ferris
bc475bc8d1 Merge "Add accept4() syscall" 2014-03-26 19:40:59 +00:00
Calin Juravle
4bfaf462f0 Added strtotimeval tests.
Change-Id: I3dfd3647a8494490a2d549bdb915968063a7fb99
2014-03-26 17:57:48 +00:00
Calin Juravle
d91b4a0ffc am cba91b3d: am ecbf00bd: Merge "Clean up CMSG_*HDR in <sys/socket.h>"
* commit 'cba91b3dbd2de2299979c0015896fb6942162bd7':
  Clean up CMSG_*HDR in <sys/socket.h>
2014-03-26 16:36:26 +00:00
Calin Juravle
cba91b3dbd am ecbf00bd: Merge "Clean up CMSG_*HDR in <sys/socket.h>"
* commit 'ecbf00bda2fcee65e4e6385772022529ffeeed91':
  Clean up CMSG_*HDR in <sys/socket.h>
2014-03-26 14:51:16 +00:00
Calin Juravle
ecbf00bda2 Merge "Clean up CMSG_*HDR in <sys/socket.h>" 2014-03-26 14:24:01 +00:00
Andrei Emeltchenko
8f2a30a92a Add accept4() syscall
Add accept4() using SYSCALLS.TXT and gensyscall

Change-Id: I6f19f29144186d15d46423e10f2cc4b4223719c6
2014-03-26 15:50:01 +02:00
The Android Automerger
629ad13f57 merge in master-release history after reset to master 2014-03-26 05:49:20 -07:00
Shu Zhang
5b5d6e7045 add 32-bit bionic implementation for denver arch
Add 32-bit bionic implementation for denver. Use denver version of memcpy/
memset. Use Cortex-A15 version of strlen/strcat/strcpy/strcmp.

Change-Id: I4c6b675f20cf41a29cadf70a11d1635d7df5b30a
2014-03-26 13:57:01 +08:00
Christopher Ferris
0f01bb2e68 am b47790fb: am c8fc4ddc: Merge "Keep the symbol table in the shared libc."
* commit 'b47790fb5620b4a856bba6e2cb1b76989d96956d':
  Keep the symbol table in the shared libc.
2014-03-25 21:22:58 +00:00
Christopher Ferris
b47790fb56 am c8fc4ddc: Merge "Keep the symbol table in the shared libc."
* commit 'c8fc4ddc183060aa979185d5a6845f26beb1a733':
  Keep the symbol table in the shared libc.
2014-03-25 19:09:32 +00:00
Christopher Ferris
6c8f573830 am c8fc4ddc: Merge "Keep the symbol table in the shared libc."
* commit 'c8fc4ddc183060aa979185d5a6845f26beb1a733':
  Keep the symbol table in the shared libc.
2014-03-25 17:57:20 +00:00
Christopher Ferris
c8fc4ddc18 Merge "Keep the symbol table in the shared libc." 2014-03-25 17:46:30 +00:00
Calin Juravle
f1de90b3a2 Clean up CMSG_*HDR in <sys/socket.h>
Removed __CMSG_NXTHDR, __CMSG_FIRSTHDR and cmsg_nxthdr.

Bug: 13418328
Change-Id: I6b1ed58b41b3f37d41e070c4f222b5bfa512bc48
2014-03-25 17:07:37 +00:00
Kito Cheng
812fd4263a Use __unused instead of UNUSED in linker.cpp
- sys/cdefs.h already define __unused, just use it
   instead of define a local one.

Change-Id: Iacf3da9193e65e1f34b12760b28bcb64b67cb790
2014-03-25 22:54:19 +08:00
The Android Automerger
136278f66e merge in master-release history after reset to master 2014-03-25 05:49:20 -07:00
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
f2da14ccc7 am 3f078dc9: am f71c0e75: Merge "Add include of float.h for LDBL_MIN_EXP and LDBL_MANT_DIG"
* commit '3f078dc9f7ecc7fcc2265198a7744754c78047f1':
  Add include of float.h for LDBL_MIN_EXP and LDBL_MANT_DIG
2014-03-25 00:36:02 +00:00
Brian Carlstrom
b9b7805358 am f71c0e75: Merge "Add include of float.h for LDBL_MIN_EXP and LDBL_MANT_DIG"
* commit 'f71c0e75e0d041c80e4dc6900e2c2283e5d55ce2':
  Add include of float.h for LDBL_MIN_EXP and LDBL_MANT_DIG
2014-03-25 00:26:29 +00:00
Brian Carlstrom
3f078dc9f7 am f71c0e75: Merge "Add include of float.h for LDBL_MIN_EXP and LDBL_MANT_DIG"
* commit 'f71c0e75e0d041c80e4dc6900e2c2283e5d55ce2':
  Add include of float.h for LDBL_MIN_EXP and LDBL_MANT_DIG
2014-03-25 00:26:01 +00: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
afc3a59e6c am 20f78d7e: am 989a80b7: Merge "Fix LP64 libm for 128-bit long doubles"
* commit '20f78d7eecb921fe9862039fe43c02747e4f253f':
  Fix LP64 libm for 128-bit long doubles
2014-03-24 21:25:35 +00:00
Calin Juravle
ade0564616 am 02a17877: am 9e8a8dc1: Merge "Remove ALIGNBYTES and ALIGN from <sys/param.h>"
* commit '02a178773806e118e60a422f82b8a2607bd54e86':
  Remove ALIGNBYTES and ALIGN from <sys/param.h>
2014-03-24 21:25:34 +00:00
Nick Kralevich
91ef8d53ec am aefe43b1: am 95c1abec: Merge "FORTIFY_SOURCE: don\'t define s?printf macros if already defined"
* commit 'aefe43b1824907b93c6280ce27cb2c105c564477':
  FORTIFY_SOURCE: don't define s?printf macros if already defined
2014-03-24 21:25:17 +00:00
Chad Brubaker
efe4461364 am b9e1688c: am 1d3d0360: am 081db840: Allow overlap in resolv uid => DNS iface mapping
* commit 'b9e1688cd9f8727bbe0dacafd194c7a571bedb14':
  Allow overlap in resolv uid => DNS iface mapping
2014-03-24 19:35:17 +00:00
Mark Salyzyn
248f1027e0 am 5b3c6fde: am cce6c380: Merge "libc: Thread IDs missing from logcat -v thread"
* commit '5b3c6fde09f2665f788f2586c3cdbab28b98b229':
  libc: Thread IDs missing from logcat -v thread
2014-03-24 18:44:03 +00:00
Christopher Ferris
7eec583445 am e1b25377: am 998d7b03: Merge "Fix deadlock in timer_delete."
* commit 'e1b25377387376932688bb436393764469af1cf3':
  Fix deadlock in timer_delete.
2014-03-24 17:27:10 +00:00
Calin Juravle
20f78d7eec am 989a80b7: Merge "Fix LP64 libm for 128-bit long doubles"
* commit '989a80b75014eff71600a6a4e1445e710c2f94b4':
  Fix LP64 libm for 128-bit long doubles
2014-03-24 12:33:51 +00:00
Calin Juravle
02a1787738 am 9e8a8dc1: Merge "Remove ALIGNBYTES and ALIGN from <sys/param.h>"
* commit '9e8a8dc18cb3162858feef2d4baaf3fa357aa3d2':
  Remove ALIGNBYTES and ALIGN from <sys/param.h>
2014-03-24 12:33:50 +00:00
Calin Juravle
8a9d5db263 am 989a80b7: Merge "Fix LP64 libm for 128-bit long doubles"
* commit '989a80b75014eff71600a6a4e1445e710c2f94b4':
  Fix LP64 libm for 128-bit long doubles
2014-03-24 12:33:41 +00:00
Calin Juravle
0839b2ba28 am 9e8a8dc1: Merge "Remove ALIGNBYTES and ALIGN from <sys/param.h>"
* commit '9e8a8dc18cb3162858feef2d4baaf3fa357aa3d2':
  Remove ALIGNBYTES and ALIGN from <sys/param.h>
2014-03-24 12:33:40 +00: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
aefe43b182 am 95c1abec: Merge "FORTIFY_SOURCE: don\'t define s?printf macros if already defined"
* commit '95c1abecc02b2a2f40b507e669b5bc17d4412bf9':
  FORTIFY_SOURCE: don't define s?printf macros if already defined
2014-03-22 18:06:03 +00:00
Nick Kralevich
15a69298ef am 95c1abec: Merge "FORTIFY_SOURCE: don\'t define s?printf macros if already defined"
* commit '95c1abecc02b2a2f40b507e669b5bc17d4412bf9':
  FORTIFY_SOURCE: don't define s?printf macros if already defined
2014-03-22 18:05:43 +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
Chad Brubaker
836b490c76 resolved conflicts for merge of 081db840 to klp-dev-plus-aosp
Change-Id: I3696d19a42bfafe5ce137f3333751b85fb434a2a
2014-03-21 15:46:39 -07:00
Chad Brubaker
b9e1688cd9 am 1d3d0360: am 081db840: Allow overlap in resolv uid => DNS iface mapping
* commit '1d3d0360eee442c7c73006e2069acdc051575edb':
  Allow overlap in resolv uid => DNS iface mapping
2014-03-21 21:09:37 +00:00
Chad Brubaker
1d3d0360ee am 081db840: Allow overlap in resolv uid => DNS iface mapping
* commit '081db840befec895fb86e709ae95832ade2d065c':
  Allow overlap in resolv uid => DNS iface mapping
2014-03-21 21:02:40 +00:00
Mark Salyzyn
508e255eff am cce6c380: Merge "libc: Thread IDs missing from logcat -v thread"
* commit 'cce6c380d7c9574f823f5e038c28c793fdb55c58':
  libc: Thread IDs missing from logcat -v thread
2014-03-21 20:16:58 +00:00
Mark Salyzyn
5b3c6fde09 am cce6c380: Merge "libc: Thread IDs missing from logcat -v thread"
* commit 'cce6c380d7c9574f823f5e038c28c793fdb55c58':
  libc: Thread IDs missing from logcat -v thread
2014-03-21 20:16:57 +00:00
Mark Salyzyn
cce6c380d7 Merge "libc: Thread IDs missing from logcat -v thread" 2014-03-21 20:09:32 +00:00
Christopher Ferris
e1b2537738 am 998d7b03: Merge "Fix deadlock in timer_delete."
* commit '998d7b030763e8da6ff04020eedab552857587d2':
  Fix deadlock in timer_delete.
2014-03-21 17:39:10 +00:00
Christopher Ferris
fe0f7a7944 am 998d7b03: Merge "Fix deadlock in timer_delete."
* commit '998d7b030763e8da6ff04020eedab552857587d2':
  Fix deadlock in timer_delete.
2014-03-21 17:39:10 +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
The Android Automerger
3b93d85e6c merge in master-release history after reset to master 2014-03-20 05:49:13 -07:00
Calin Juravle
e3fb244f7a am 00fa0390: am 2cc58603: Merge "Added a test flag to bionic run-test targets."
* commit '00fa0390dfba0f66685133b51474a2614399b70e':
  Added a test flag to bionic run-test targets.
2014-03-19 18:45:27 +00:00
Calin Juravle
1b3e9f45fa am 2cc58603: Merge "Added a test flag to bionic run-test targets."
* commit '2cc58603d5fd68ec582984318fb3c5f8865a186f':
  Added a test flag to bionic run-test targets.
2014-03-19 18:39:04 +00:00
Calin Juravle
00fa0390df am 2cc58603: Merge "Added a test flag to bionic run-test targets."
* commit '2cc58603d5fd68ec582984318fb3c5f8865a186f':
  Added a test flag to bionic run-test targets.
2014-03-19 18:39:01 +00: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
The Android Automerger
82e02c3f77 merge in master-release history after reset to master 2014-03-18 05:49:17 -07:00
Christopher Ferris
46e998fe08 am 6bde44a6: am 849e162d: Merge "Use the float/double assert macros."
* commit '6bde44a6a2a2f37eb04d4e73b49ccb9d90ba5ecd':
  Use the float/double assert macros.
2014-03-18 00:02:38 +00:00
Christopher Ferris
da6c5f7a71 am 849e162d: Merge "Use the float/double assert macros."
* commit '849e162d3bedc5ca61bdf15486268b253b9f4e93':
  Use the float/double assert macros.
2014-03-17 23:57:41 +00:00
Christopher Ferris
6bde44a6a2 am 849e162d: Merge "Use the float/double assert macros."
* commit '849e162d3bedc5ca61bdf15486268b253b9f4e93':
  Use the float/double assert macros.
2014-03-17 23:57:41 +00: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
The Android Automerger
408bb44471 merge in master-release history after reset to master 2014-03-15 05:49:33 -07:00
Calin Juravle
458c27c2c1 am b10e18dd: am f212bbf6: Merge "Update libm to the upstream head (2014.03.13)"
* commit 'b10e18dda57d00480ccbb6cd9a12783fd72874df':
  Update libm to the upstream head (2014.03.13)
2014-03-14 17:52:42 +00:00
Elliott Hughes
092774abfc am b689105d: am 143df89f: Merge "Clean up reentrancy cruft."
* commit 'b689105d79449bc40ec2c0947f17e188c0da6eef':
  Clean up reentrancy cruft.
2014-03-14 17:52:41 +00:00
Elliott Hughes
48a06ec3f7 am 16b8b0e1: am d16100c1: Merge "Clean up <stdio.h> macros."
* commit '16b8b0e12cfbe0baa242740b6ede2acdee1054f4':
  Clean up <stdio.h> macros.
2014-03-14 13:13:30 +00:00
Calin Juravle
38d61afd5b am f212bbf6: Merge "Update libm to the upstream head (2014.03.13)"
* commit 'f212bbf666b77777063a3a94a672bcae80b15253':
  Update libm to the upstream head (2014.03.13)
2014-03-14 11:03:53 +00:00
Calin Juravle
b10e18dda5 am f212bbf6: Merge "Update libm to the upstream head (2014.03.13)"
* commit 'f212bbf666b77777063a3a94a672bcae80b15253':
  Update libm to the upstream head (2014.03.13)
2014-03-14 11:03:42 +00:00
Calin Juravle
f212bbf666 Merge "Update libm to the upstream head (2014.03.13)" 2014-03-14 10:58:18 +00:00
Elliott Hughes
e130bc103e am 5321a9e7: am 6ece7fc3: Merge "property: fix getting dirty serial value"
* commit '5321a9e7401bc4ca0839884c627376367aee34c8':
  property: fix getting dirty serial value
2014-03-14 10:46:37 +00:00
Elliott Hughes
b689105d79 am 143df89f: Merge "Clean up reentrancy cruft."
* commit '143df89f729f39f4286f12daaf9cacf5c4501357':
  Clean up reentrancy cruft.
2014-03-14 09:13:14 +00:00
Elliott Hughes
62188636e2 am 143df89f: Merge "Clean up reentrancy cruft."
* commit '143df89f729f39f4286f12daaf9cacf5c4501357':
  Clean up reentrancy cruft.
2014-03-14 08:55:40 +00:00
Elliott Hughes
143df89f72 Merge "Clean up reentrancy cruft." 2014-03-14 04:58:20 +00:00
Elliott Hughes
d17a7ea467 am d16100c1: Merge "Clean up <stdio.h> macros."
* commit 'd16100c1fb8a39215497243ecb12176e9688ef77':
  Clean up <stdio.h> macros.
2014-03-13 23:23:25 +00:00
Elliott Hughes
16b8b0e12c am d16100c1: Merge "Clean up <stdio.h> macros."
* commit 'd16100c1fb8a39215497243ecb12176e9688ef77':
  Clean up <stdio.h> macros.
2014-03-13 23:19:36 +00:00
Elliott Hughes
18fcb38d0f am 6ece7fc3: Merge "property: fix getting dirty serial value"
* commit '6ece7fc33a389ef9bcbe78a83a6633e4cb4e4743':
  property: fix getting dirty serial value
2014-03-13 23:18:58 +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
2fcf90f1da am 8cd36386: am 01cd7885: Merge "Upgrade to current upstream scanf implementation."
* commit '8cd3638641cbd1540508e72b84189a4bd24d2b22':
  Upgrade to current upstream scanf implementation.
2014-03-13 21:20:15 +00:00
Elliott Hughes
5321a9e740 am 6ece7fc3: Merge "property: fix getting dirty serial value"
* commit '6ece7fc33a389ef9bcbe78a83a6633e4cb4e4743':
  property: fix getting dirty serial value
2014-03-13 20:21:05 +00: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
a315d15493 am 01cd7885: Merge "Upgrade to current upstream scanf implementation."
* commit '01cd78854afe5707f0d5b2b8418de07a55f8fde4':
  Upgrade to current upstream scanf implementation.
2014-03-13 15:54:54 +00:00
Elliott Hughes
723a8eec1e am 0e79338d: Merge "Ensure we always have symbols for atof, strtof, strtold."
* commit '0e79338d12d1ca780efcd0720af92b0a70e55da8':
  Ensure we always have symbols for atof, strtof, strtold.
2014-03-13 15:54:52 +00:00
Mark Salyzyn
53ffaa39e7 am 56e1eebd: Merge "logd: default user space logger"
* commit '56e1eebd39be4830f309603b38e4b1118c544fb3':
  logd: default user space logger
2014-03-13 15:54:45 +00:00
Elliott Hughes
9760604e14 am eef2928f: Merge "Include what you use."
* commit 'eef2928f94ac6ff5659c6177785b47e6fcdd03a2':
  Include what you use.
2014-03-13 15:54:44 +00:00
Elliott Hughes
66b5dcaf1d am 2282e16d: Merge "Use [u]int32_t instead of __[u]int32_t in sys/types.h"
* commit '2282e16d76c6691968bd62a4c4bb3ecefabc98ca':
  Use [u]int32_t instead of __[u]int32_t in sys/types.h
2014-03-13 15:54:43 +00:00
Elliott Hughes
3accf088e8 am ef43a6fb: Merge "Clean up our termios implementation."
* commit 'ef43a6fb0e0c5fb1debd8db83a5b57749e8331fa':
  Clean up our termios implementation.
2014-03-13 15:47:13 +00:00
The Android Automerger
52e0d9aa81 merge in master-release history after reset to master 2014-03-13 05:49:21 -07:00
Elliott Hughes
40078c683a am 76b4f1a3: Merge "More stdio cleanup."
* commit '76b4f1a33caef09891114bf37562968ab627059a':
  More stdio cleanup.
2014-03-13 01:55:48 +00:00
Elliott Hughes
6facd4fd6f am 55f9710a: Merge "Reimplement clock(3) and switch to OpenBSD time(3)."
* commit '55f9710ac4843b4a5d2c8b03ade3d2bddd1fdf46':
  Reimplement clock(3) and switch to OpenBSD time(3).
2014-03-13 01:55:48 +00:00
Elliott Hughes
d47674b777 am 753e1399: Merge "Add a basic unit test for system(3)."
* commit '753e1399060c08072a8fb17eb297889a2ae987d0':
  Add a basic unit test for system(3).
2014-03-13 01:55:47 +00:00
Elliott Hughes
da1f2abfbe am dd8c7863: Merge "Add various benchmarks."
* commit 'dd8c7863c613290acaa8bc4b90af34f020e0bee3':
  Add various benchmarks.
2014-03-13 01:55:47 +00:00
Calin Juravle
ba3f904fbf am 5810bcf3: Merge "Sysconfig fixes"
* commit '5810bcf381e28e423a782af9bf53c05085b09926':
  Sysconfig fixes
2014-03-13 01:55:16 +00:00
Calin Juravle
f6028c31f6 am 40c31ade: Merge "Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr"
* commit '40c31ade2c854ad61ab43bd5dbd66979efcea4c5':
  Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr
2014-03-13 01:55:15 +00:00
Elliott Hughes
fee4263f0b am 10f6beb3: Merge "Add system/extras strftime and strptime tests."
* commit '10f6beb3eb46cb2488427f58dccdd7bbfab5a250':
  Add system/extras strftime and strptime tests.
2014-03-13 01:55:09 +00:00
Elliott Hughes
04f1c8caf6 am 2cd3490d: Merge "Take ownership of various simple syscall wrappers."
* commit '2cd3490d7bdb18e5051a3cc66e7d03635bbcbeaf':
  Take ownership of various simple syscall wrappers.
2014-03-13 01:55:02 +00:00
Elliott Hughes
b17983a199 am a3056591: Merge "Switch to NetBSD utmp.c."
* commit 'a3056591960f9d9f646135ee20804cc1a9e41106':
  Switch to NetBSD utmp.c.
2014-03-13 01:54:42 +00:00
Elliott Hughes
a78cda3f51 am ec674b4d: Merge "Switch to upstream FreeBSD ldexp.c."
* commit 'ec674b4d064d923818d0deba9f8378d13ff6451a':
  Switch to upstream FreeBSD ldexp.c.
2014-03-13 01:54:40 +00:00
Elliott Hughes
e3ff496aac am 21d9e58d: Merge "Rename the stack protector intermediate library."
* commit '21d9e58d01080c7494c639ed3bd9e6c805e022d8':
  Rename the stack protector intermediate library.
2014-03-13 01:54:40 +00:00
Elliott Hughes
8cd3638641 am 01cd7885: Merge "Upgrade to current upstream scanf implementation."
* commit '01cd78854afe5707f0d5b2b8418de07a55f8fde4':
  Upgrade to current upstream scanf implementation.
2014-03-13 00:55:56 +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
14efe23765 am f3d83fa9: am 0e79338d: Merge "Ensure we always have symbols for atof, strtof, strtold."
* commit 'f3d83fa955cf4848b48850431c6a094662f53a69':
  Ensure we always have symbols for atof, strtof, strtold.
2014-03-12 23:44:29 +00:00
Elliott Hughes
f3d83fa955 am 0e79338d: Merge "Ensure we always have symbols for atof, strtof, strtold."
* commit '0e79338d12d1ca780efcd0720af92b0a70e55da8':
  Ensure we always have symbols for atof, strtof, strtold.
2014-03-12 23:36:54 +00: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
ff52f9f054 am 5b675903: am 56e1eebd: Merge "logd: default user space logger"
* commit '5b6759035b2f99f37cbdbf9de5c2e098f6ba3f76':
  logd: default user space logger
2014-03-12 23:04:41 +00:00
Elliott Hughes
ad9cb39296 am 6a250387: am eef2928f: Merge "Include what you use."
* commit '6a250387c7b13d19a29a0024f0f399862fc67d60':
  Include what you use.
2014-03-12 22:58:06 +00:00
Elliott Hughes
801a7a60cc am b51e4216: am 2282e16d: Merge "Use [u]int32_t instead of __[u]int32_t in sys/types.h"
* commit 'b51e4216e81c02b67218bbe417db8293836c6121':
  Use [u]int32_t instead of __[u]int32_t in sys/types.h
2014-03-12 22:58:05 +00:00
Mark Salyzyn
5b6759035b am 56e1eebd: Merge "logd: default user space logger"
* commit '56e1eebd39be4830f309603b38e4b1118c544fb3':
  logd: default user space logger
2014-03-12 21:07:06 +00:00
Mark Salyzyn
56e1eebd39 Merge "logd: default user space logger" 2014-03-12 21:02:46 +00:00
Elliott Hughes
6a250387c7 am eef2928f: Merge "Include what you use."
* commit 'eef2928f94ac6ff5659c6177785b47e6fcdd03a2':
  Include what you use.
2014-03-12 20:56:22 +00:00
Elliott Hughes
b51e4216e8 am 2282e16d: Merge "Use [u]int32_t instead of __[u]int32_t in sys/types.h"
* commit '2282e16d76c6691968bd62a4c4bb3ecefabc98ca':
  Use [u]int32_t instead of __[u]int32_t in sys/types.h
2014-03-12 20:52:56 +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
3b4fbccfaf am 2e1f5f09: am ef43a6fb: Merge "Clean up our termios implementation."
* commit '2e1f5f09d91f145d99c2a26f99bf58c5f3c5e14a':
  Clean up our termios implementation.
2014-03-12 20:11:06 +00:00
Elliott Hughes
4ef945379f am 32378d58: am 76b4f1a3: Merge "More stdio cleanup."
* commit '32378d584feb3343c6a4d93b82b9e0ac8e514238':
  More stdio cleanup.
2014-03-12 19:56:47 +00:00
Elliott Hughes
7517235f9d am 10675a79: am 55f9710a: Merge "Reimplement clock(3) and switch to OpenBSD time(3)."
* commit '10675a794d02497f530f9086b6edf61b5cdb447c':
  Reimplement clock(3) and switch to OpenBSD time(3).
2014-03-12 19:56:47 +00:00
Elliott Hughes
54aaa778a8 am a5b7850d: am 753e1399: Merge "Add a basic unit test for system(3)."
* commit 'a5b7850d5f467e17c379f10494154ce1e2d488d6':
  Add a basic unit test for system(3).
2014-03-12 19:56:46 +00:00
Elliott Hughes
23715c927b am e2a80994: am dd8c7863: Merge "Add various benchmarks."
* commit 'e2a8099446d03322bbdd6e42890adf9444bdac67':
  Add various benchmarks.
2014-03-12 19:56:45 +00:00
Elliott Hughes
e6b77015a6 am 31f05d91: am 9061c829: am 04583ce9: Upgrade to tzdata2014a.
* commit '31f05d91f5fef63cac225af0047e31b4846d234b':
  Upgrade to tzdata2014a.
2014-03-12 15:19:01 +00:00
Elliott Hughes
2e1f5f09d9 am ef43a6fb: Merge "Clean up our termios implementation."
* commit 'ef43a6fb0e0c5fb1debd8db83a5b57749e8331fa':
  Clean up our termios implementation.
2014-03-12 02:43:08 +00: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
32378d584f am 76b4f1a3: Merge "More stdio cleanup."
* commit '76b4f1a33caef09891114bf37562968ab627059a':
  More stdio cleanup.
2014-03-11 23:23:02 +00:00
Elliott Hughes
10675a794d am 55f9710a: Merge "Reimplement clock(3) and switch to OpenBSD time(3)."
* commit '55f9710ac4843b4a5d2c8b03ade3d2bddd1fdf46':
  Reimplement clock(3) and switch to OpenBSD time(3).
2014-03-11 23:23:01 +00:00
Elliott Hughes
a5b7850d5f am 753e1399: Merge "Add a basic unit test for system(3)."
* commit '753e1399060c08072a8fb17eb297889a2ae987d0':
  Add a basic unit test for system(3).
2014-03-11 23:23:01 +00:00
Elliott Hughes
e2a8099446 am dd8c7863: Merge "Add various benchmarks."
* commit 'dd8c7863c613290acaa8bc4b90af34f020e0bee3':
  Add various benchmarks.
2014-03-11 23:23:00 +00: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
31f05d91f5 am 9061c829: am 04583ce9: Upgrade to tzdata2014a.
* commit '9061c82991bced72e88588803af4dab4da3d77af':
  Upgrade to tzdata2014a.
2014-03-11 19:18:44 +00:00
Elliott Hughes
14e57d3a2c am 7aef2746: Merge "Switch to OpenBSD wcscoll."
* commit '7aef27468ee7683a0ce436f5453e6eb6ca12103b':
  Switch to OpenBSD wcscoll.
2014-03-11 18:52:56 +00:00
Elliott Hughes
773ae55d5a am 321ecc4e: Merge "Remove non-standard memswap."
* commit '321ecc4eaf9d061905f009494b420a604e1d973e':
  Remove non-standard memswap.
2014-03-11 18:52:55 +00:00
Elliott Hughes
63bdd44207 am 638e7892: Merge "Upgrade to tzdata2014a."
* commit '638e7892c63c9d6968c0cf2e98ace89b9c5b2f26':
  Upgrade to tzdata2014a.
2014-03-11 18:52:50 +00:00
Calin Juravle
b44b279692 am 55b6ec3f: Merge "Update the NOTICE files"
* commit '55b6ec3f93e88633b22a6f295e14a5ab4902e63a':
  Update the NOTICE files
2014-03-11 18:52:10 +00:00
Calin Juravle
afdc5ba487 am 0bca08d6: Merge "Update res_debug.c to take into account changes to the nameser.h"
* commit '0bca08d69f4d68782f5a3e6cf16dc74997bcf277':
  Update res_debug.c to take into account changes to the nameser.h
2014-03-11 18:52:09 +00:00
Brian Carlstrom
c6a7c0e5c7 am cd50898a: Merge "Add includes for waitpid"
* commit 'cd50898ad11ad3157f22fac15802757a9b559822':
  Add includes for waitpid
2014-03-11 18:51:57 +00:00
Elliott Hughes
a07bfb13c2 am fd9e20d1: Merge "Fix pthread_detach for already-exited threads."
* commit 'fd9e20d10f946334955ca199b0178580d284e89f':
  Fix pthread_detach for already-exited threads.
2014-03-11 18:51:54 +00:00
Elliott Hughes
f4ed518ec4 am 333e2ae8: Merge "Add si_timerid to <signal.h>."
* commit '333e2ae87dac85d6420786e9e12ffd7ea84dae38':
  Add si_timerid to <signal.h>.
2014-03-11 18:51:50 +00:00
Elliott Hughes
c735686350 am 4d46c940: Merge "Rewrite the POSIX timer functions."
* commit '4d46c940315af2d93efb44e751b69ea6880a5d65':
  Rewrite the POSIX timer functions.
2014-03-11 18:51:49 +00:00
Calin Juravle
d7a269ccee am b145b5ef: Merge "Fix broken pointer overflow check ns_name_unpack()"
* commit 'b145b5ef7c91ec76e4dc8450f70b7af80873b46e':
  Fix broken pointer overflow check ns_name_unpack()
2014-03-11 18:42:23 +00:00
Calin Juravle
945a6776d2 am d9ba757e: Merge "Sync up nameser with upstream(2014.03.05)"
* commit 'd9ba757ef4546ef931cfa2fff4e206b36c955ead':
  Sync up nameser with upstream(2014.03.05)
2014-03-11 18:42:22 +00:00
Elliott Hughes
ba9361da04 am d40eb159: Merge "Fix some pthread symbols build as C++ symbol under x64 lunch."
* commit 'd40eb1594dff0103247292967f8a801ef8c0ff12':
  Fix some pthread symbols build as C++ symbol under x64 lunch.
2014-03-11 18:42:00 +00:00
Elliott Hughes
61215e817c am 087dbc6b: Merge "Bring the generate-NOTICE script up to date."
* commit '087dbc6bb789dc549d8f71ea820e6fc7e69d99d2':
  Bring the generate-NOTICE script up to date.
2014-03-11 18:41:57 +00:00
Elliott Hughes
cf445b4658 am dec5bacf: Merge "Update the NOTICE files."
* commit 'dec5bacf1481a0e6b0ae0078933dbfb8953b7d19':
  Update the NOTICE files.
2014-03-11 18:41:56 +00:00
Elliott Hughes
60674e0d56 am e7ea9363: Merge "Add ARMv8 optimized string handling functions based on cortex-strings"
* commit 'e7ea9363cb30d5c36c9333162c11b1e7b4f302b6':
  Add ARMv8 optimized string handling functions based on cortex-strings
2014-03-11 18:41:56 +00:00
Mark Salyzyn
60f4f6a0c9 am 68a651e7: Merge "libc: libc_logging 64bit compile issue"
* commit '68a651e7162b922a2916da524ef9706276640752':
  libc: libc_logging 64bit compile issue
2014-03-11 18:30:06 +00:00
Narayan Kamath
6214115f29 am 48d145c1: Merge "Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC."
* commit '48d145c1ced299525ca766afd2aa34725bef5301':
  Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC.
2014-03-11 18:29:44 +00:00
Elliott Hughes
33c9438692 am bef50164: Merge "Remove dead NULL checks from pthread code."
* commit 'bef5016491eed41521f514d5c5528e2274689948':
  Remove dead NULL checks from pthread code.
2014-03-11 18:29:15 +00:00
Elliott Hughes
3a58c80e94 am a0bf9bde: Merge "Implement POSIX pthread_mutex_timedlock."
* commit 'a0bf9bdea24164db96ec1d5dfa2cd327942671b6':
  Implement POSIX pthread_mutex_timedlock.
2014-03-11 18:29:14 +00:00
Calin Juravle
6cd0c5c0b9 am 8e541b12: Merge "Moved nameser.h and namser_compat.h to public include dir"
* commit '8e541b12237f597c186820b9e18b059b620bef54':
  Moved nameser.h and namser_compat.h to public include dir
2014-03-11 18:29:12 +00:00
Calin Juravle
b87bb7bf00 am 4a46a689: Merge "Moved private dns header to their own dir."
* commit '4a46a68942d180e28c3e87f08359351245b220b7':
  Moved private dns header to their own dir.
2014-03-11 18:29:11 +00:00
Calin Juravle
2a56e3d966 am 9f2d1bcd: Merge "Renamed the misleading libc/netbsd directory to libc/dns."
* commit '9f2d1bcd176cb4a6f2bc0cae3f3c786444383476':
  Renamed the misleading libc/netbsd directory to libc/dns.
2014-03-11 18:29:10 +00:00
Narayan Kamath
9ea22f84c0 am caaae7f2: Merge "Implement pthread_condattr_{get,set}clock."
* commit 'caaae7f2e9a89df1514ba06d13e9eb5a0f04e94c':
  Implement pthread_condattr_{get,set}clock.
2014-03-11 18:29:03 +00:00
Elliott Hughes
b7265cbf2b am 2c7c79e6: Merge "Switch to upstream alarm(3)."
* commit '2c7c79e6e5e730553281b6d42e734ee2c532a660':
  Switch to upstream alarm(3).
2014-03-11 18:28:56 +00:00
Mark Salyzyn
ec8cdeca84 am f33df6a6: Merge "libc: Make calls to new user-space logger (revisit)"
* commit 'f33df6a662934cd72a79195773d2745ae8f937d4':
  libc: Make calls to new user-space logger (revisit)
2014-03-11 18:28:34 +00:00
Elliott Hughes
f0d5704efe am dfeb42ed: Merge "If the kernel doesn\'t have MADV_MERGEABLE, stop asking for it."
* commit 'dfeb42ede69a0dbea5735aed5fddaee3f810801d':
  If the kernel doesn't have MADV_MERGEABLE, stop asking for it.
2014-03-11 18:28:33 +00:00
Elliott Hughes
a34529f0ba am 15e71cd7: Merge "Remove deprecated and unused constants from <sys/klog.h>."
* commit '15e71cd760c35a4eab09b850904581ebbdc9bee3':
  Remove deprecated and unused constants from <sys/klog.h>.
2014-03-11 18:28:28 +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
Elliott Hughes
823051bf9a am ddad384d: Merge "Fix build."
* commit 'ddad384dbf802bf258e19a8d18f5d9e9fba8f97b':
  Fix build.
2014-03-11 18:17:35 +00:00
Elliott Hughes
4f1e25f818 am 2ec592c3: Merge "Add recvmmsg and sendmmsg syscalls."
* commit '2ec592c338f5c5021f127e92212d156cd909c617':
  Add recvmmsg and sendmmsg syscalls.
2014-03-11 18:17:29 +00:00
Elliott Hughes
34290b15c9 am ddc8cc7a: Merge "Add getprogname/setprogname for BSD compatibility."
* commit 'ddc8cc7a68415acb0694f7015ea0dae70ea04550':
  Add getprogname/setprogname for BSD compatibility.
2014-03-11 18:17:28 +00:00
Calin Juravle
a364c434a5 am d51db86a: Merge "Fix locatime.c indentation after sync"
* commit 'd51db86aafb988aea04355f2b6a6c925d67e5976':
  Fix locatime.c indentation after sync
2014-03-11 18:17:09 +00:00
Calin Juravle
9a539ec998 am 4ab29a3e: Merge "Update tzcode to 2013i"
* commit '4ab29a3e4a797cff05a3a1a6fea3db5a800ac5ba':
  Update tzcode to 2013i
2014-03-11 18:17:09 +00:00
Elliott Hughes
71fa4d9f3f am e9db4a97: Merge "Vastly reduce the number of read(2)s done in tzload."
* commit 'e9db4a976f864ef180340fe37c58af93a03daf46':
  Vastly reduce the number of read(2)s done in tzload.
2014-03-11 18:17:06 +00:00
Elliott Hughes
2296c221a8 am e3345405: Merge "Fix a leak on error in tzload."
* commit 'e33454051677cd8953af558b67e525dda2231501':
  Fix a leak on error in tzload.
2014-03-11 18:16:47 +00:00
Calin Juravle
dfda57f804 am ad2cfe2f: Merge "Fix x86_64 build"
* commit 'ad2cfe2f231506aed955f7e168a25fe1a1040f9a':
  Fix x86_64 build
2014-03-11 18:16:33 +00:00
Elliott Hughes
8431db545e am 000ffd8a: Merge "Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants."
* commit '000ffd8ab0b4112173ce319869f4111f08fbe975':
  Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants.
2014-03-11 18:15:58 +00:00
Mark Salyzyn
3d8b2d7b1d am 3ba62f73: Merge "libc: Make calls to new user-space logger"
* commit '3ba62f733bdc39262a5a9927a6ebaa29a4f4aad4':
  libc: Make calls to new user-space logger
2014-03-11 18:15:57 +00:00
Calin Juravle
3c07baa92e am d4ee6b62: Merge "Fix mips build"
* commit 'd4ee6b62d77ccea61c4b43d82c63455920e221bc':
  Fix mips build
2014-03-11 18:08:36 +00:00
Calin Juravle
0423f33be9 am 35036961: Merge "Moved to a more openbsd-like fenv.h"
* commit '35036961f85945483b6b833b976d12e6a58c2313':
  Moved to a more openbsd-like fenv.h
2014-03-11 18:08:20 +00:00
Elliott Hughes
9061c82991 am 04583ce9: Upgrade to tzdata2014a.
* commit '04583ce9b94d6f41f4c1e66939c4ca2ee41ff058':
  Upgrade to tzdata2014a.
2014-03-11 17:44:37 +00:00
Elliott Hughes
a10978da7c am 27c7dbee: Merge "Fix log_backtrace assertion failure caused by LP64 fix."
* commit '27c7dbeee6c5e0cee488ce5085cc0b8c5e0301bd':
  Fix log_backtrace assertion failure caused by LP64 fix.
2014-03-11 17:12:19 +00:00
Elliott Hughes
04443d4886 am 901553aa: Merge "Switch to current OpenBSD system.c."
* commit '901553aaf4960c4ab21c9a090919aee8be5e62ab':
  Switch to current OpenBSD system.c.
2014-03-11 17:12:18 +00:00
Elliott Hughes
7d50aa3dcf am c380385f: Merge "Fix LP64 builds after OpenBSD string changes."
* commit 'c380385f0b8826ab7c02429dd48b07670516f964':
  Fix LP64 builds after OpenBSD string changes.
2014-03-11 17:12:17 +00:00
Elliott Hughes
e79a5b698d am 5c7816f4: Merge "More OpenBSD cleanup (primarily string)."
* commit '5c7816f425cb70ca6920e816aba33ce3d691ef10':
  More OpenBSD cleanup (primarily string).
2014-03-11 17:12:14 +00:00
The Android Automerger
36fc0fd5c4 merge in master-release history after reset to master 2014-03-11 05:49:26 -07:00
Calin Juravle
7fb2576c0a am 8905752f: am 5810bcf3: Merge "Sysconfig fixes"
* commit '8905752f86279006a5213a5a0831a72e7fea9249':
  Sysconfig fixes
2014-03-11 11:01:03 +00:00
Calin Juravle
fd99dcb3cc am d920ef36: am 40c31ade: Merge "Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr"
* commit 'd920ef36f6bd372418cb92d9f21ab0b677fcf62e':
  Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr
2014-03-11 11:01:02 +00:00
Calin Juravle
8905752f86 am 5810bcf3: Merge "Sysconfig fixes"
* commit '5810bcf381e28e423a782af9bf53c05085b09926':
  Sysconfig fixes
2014-03-11 10:55:09 +00:00
Calin Juravle
d920ef36f6 am 40c31ade: Merge "Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr"
* commit '40c31ade2c854ad61ab43bd5dbd66979efcea4c5':
  Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr
2014-03-11 10:55:09 +00: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
95648eefc9 am e8752802: am 10f6beb3: Merge "Add system/extras strftime and strptime tests."
* commit 'e8752802b2a9efd4f0109530d20fcf399bf24f9e':
  Add system/extras strftime and strptime tests.
2014-03-11 01:59:46 +00:00
Elliott Hughes
e8752802b2 am 10f6beb3: Merge "Add system/extras strftime and strptime tests."
* commit '10f6beb3eb46cb2488427f58dccdd7bbfab5a250':
  Add system/extras strftime and strptime tests.
2014-03-11 01:46:15 +00:00
Elliott Hughes
10f6beb3eb Merge "Add system/extras strftime and strptime tests." 2014-03-11 01:41:28 +00:00
Elliott Hughes
3e3409af0f Add system/extras strftime and strptime tests.
Change-Id: I889c58f6e2e27b99cf6328a8671858d2e5feaa4e
2014-03-10 18:19:03 -07:00
Elliott Hughes
b951a4e1fd am 02bd494d: am 2cd3490d: Merge "Take ownership of various simple syscall wrappers."
* commit '02bd494dee4abb6572b8172bf46f6074b04dce17':
  Take ownership of various simple syscall wrappers.
2014-03-11 00:53:16 +00:00
Calin Juravle
997a9aa262 am a92b57c7: Merge "Added ftw64, nftw64"
* commit 'a92b57c7f8230661d911f2fd6dd67a81e9a90cef':
  Added ftw64, nftw64
2014-03-11 00:53:04 +00:00
Calin Juravle
c7cf383d87 am 7c1efffc: Merge "Added mkstemp64"
* commit '7c1efffc249283b47309846abba8795f3fb91555':
  Added mkstemp64
2014-03-11 00:53:04 +00:00
Elliott Hughes
ba37563f93 am ba40a560: Merge "Remove <asm/page.h>."
* commit 'ba40a560176e6ea753d09a6a71343b81ea4c8c1e':
  Remove <asm/page.h>.
2014-03-11 00:52:52 +00:00
Elliott Hughes
02bd494dee am 2cd3490d: Merge "Take ownership of various simple syscall wrappers."
* commit '2cd3490d7bdb18e5051a3cc66e7d03635bbcbeaf':
  Take ownership of various simple syscall wrappers.
2014-03-11 00:46:57 +00:00
Elliott Hughes
2cd3490d7b Merge "Take ownership of various simple syscall wrappers." 2014-03-11 00:40:56 +00:00
Narayan Kamath
2876ced494 am b26e4944: Merge "Fix 64-bit build."
* commit 'b26e4944e2a5bf4b7e33fa38fb17a3b76c7fe0f7':
  Fix 64-bit build.
2014-03-11 00:38:29 +00:00
Narayan Kamath
89ea99e1d7 am c6d96bb8: Merge "Move system_properties over to C++."
* commit 'c6d96bb8673a4f44d84f3beaa5ed4fec1484f0ad':
  Move system_properties over to C++.
2014-03-11 00:38:28 +00:00
Elliott Hughes
247dc91889 Take ownership of various simple syscall wrappers.
None of these trivial functions is something we're going to get from BSD.

Change-Id: Iee1d1281b73db67da5ec303da7a49748121464bf
2014-03-10 17:17:01 -07:00
Elliott Hughes
79ac8d725b am 2f80b7a8: am a3056591: Merge "Switch to NetBSD utmp.c."
* commit '2f80b7a86af6de438f1e5d84bc53b639dec61f0a':
  Switch to NetBSD utmp.c.
2014-03-10 23:48:59 +00:00
Elliott Hughes
2f80b7a86a am a3056591: Merge "Switch to NetBSD utmp.c."
* commit 'a3056591960f9d9f646135ee20804cc1a9e41106':
  Switch to NetBSD utmp.c.
2014-03-10 23:42:50 +00:00
Elliott Hughes
c95a204191 am fbb9e852: am ec674b4d: Merge "Switch to upstream FreeBSD ldexp.c."
* commit 'fbb9e852f0a3e3669a8fb6a38cdaf4b1c1ffd3db':
  Switch to upstream FreeBSD ldexp.c.
2014-03-10 23:42:21 +00:00
Elliott Hughes
11a98b081b am 02e4dada: am 21d9e58d: Merge "Rename the stack protector intermediate library."
* commit '02e4dada534aaebba0e66aa217f92d2c4698e60f':
  Rename the stack protector intermediate library.
2014-03-10 23:42:21 +00:00
Elliott Hughes
a305659196 Merge "Switch to NetBSD utmp.c." 2014-03-10 23:37:27 +00:00
Elliott Hughes
213dd5b9ce am ed13b4cf: am 7aef2746: Merge "Switch to OpenBSD wcscoll."
* commit 'ed13b4cf8b0d8f773b6abe62daca8c70b3ad3f50':
  Switch to OpenBSD wcscoll.
2014-03-10 23:34:48 +00:00
Elliott Hughes
fbb9e852f0 am ec674b4d: Merge "Switch to upstream FreeBSD ldexp.c."
* commit 'ec674b4d064d923818d0deba9f8378d13ff6451a':
  Switch to upstream FreeBSD ldexp.c.
2014-03-10 23:33:49 +00:00
Elliott Hughes
02e4dada53 am 21d9e58d: Merge "Rename the stack protector intermediate library."
* commit '21d9e58d01080c7494c639ed3bd9e6c805e022d8':
  Rename the stack protector intermediate library.
2014-03-10 23:33:49 +00:00
Elliott Hughes
19f58efa22 Switch to NetBSD utmp.c.
Change-Id: Ibe94888aa48b5b28fea97fd5719a1ed7a23ddeb3
2014-03-10 16:32:35 -07:00
Elliott Hughes
ed13b4cf8b am 7aef2746: Merge "Switch to OpenBSD wcscoll."
* commit '7aef27468ee7683a0ce436f5453e6eb6ca12103b':
  Switch to OpenBSD wcscoll.
2014-03-10 23:26:45 +00:00
Elliott Hughes
ec674b4d06 Merge "Switch to upstream FreeBSD ldexp.c." 2014-03-10 23:25:39 +00:00
Elliott Hughes
21d9e58d01 Merge "Rename the stack protector intermediate library." 2014-03-10 23:25:05 +00:00
Elliott Hughes
67563e6080 am acc63574: am 321ecc4e: Merge "Remove non-standard memswap."
* commit 'acc635740cf64262e54fc9f62ea9ab24ac6ae3f3':
  Remove non-standard memswap.
2014-03-10 23:23:25 +00:00
Elliott Hughes
57a883640f Switch to upstream FreeBSD ldexp.c.
(Yes, this should be in libm, but it isn't. For once, this mistake predates
bionic!)

Change-Id: I1340407acbcdc0151dee969a38ba490bdd5e6767
2014-03-10 16:23:09 -07:00
Elliott Hughes
7aef27468e Merge "Switch to OpenBSD wcscoll." 2014-03-10 23:21:08 +00:00
Elliott Hughes
acc635740c am 321ecc4e: Merge "Remove non-standard memswap."
* commit '321ecc4eaf9d061905f009494b420a604e1d973e':
  Remove non-standard memswap.
2014-03-10 23:18:03 +00:00
Elliott Hughes
6380b51a8d Rename the stack protector intermediate library.
libbionic_ssp already confused at least one person, and characters
in filenames are cheap, so let's just call this library what it is.

Change-Id: I69ab950bf52fa4d267a6891efb49b5e177efc0c4
2014-03-10 16:15:11 -07:00
Elliott Hughes
321ecc4eaf Merge "Remove non-standard memswap." 2014-03-10 23:12:59 +00:00
Elliott Hughes
c8937eadf4 Switch to OpenBSD wcscoll.
Change-Id: I1050ef728e18124656e76f32b42ac9a4688f252d
2014-03-10 16:11:59 -07:00
Elliott Hughes
169d8f6845 am 04583ce9: Upgrade to tzdata2014a.
* commit '04583ce9b94d6f41f4c1e66939c4ca2ee41ff058':
  Upgrade to tzdata2014a.
2014-03-10 22:58:12 +00:00
Elliott Hughes
152b9de19a Remove non-standard memswap.
Change-Id: I06548dda339987b755ef7139c590ca3e1f9fe0a9
2014-03-10 15:54:40 -07:00
Elliott Hughes
e324d90d70 am 4d212bdb: am 638e7892: Merge "Upgrade to tzdata2014a."
* commit '4d212bdb4f1999225e3be862b1060bd2af2eb0cd':
  Upgrade to tzdata2014a.
2014-03-10 22:35:31 +00:00
Elliott Hughes
4d212bdb4f am 638e7892: Merge "Upgrade to tzdata2014a."
* commit '638e7892c63c9d6968c0cf2e98ace89b9c5b2f26':
  Upgrade to tzdata2014a.
2014-03-10 22:29:29 +00:00
Elliott Hughes
638e7892c6 Merge "Upgrade to tzdata2014a." 2014-03-10 22:21:35 +00:00
Elliott Hughes
159b28eb46 Upgrade to tzdata2014a.
From the release notes:

  Changes affecting near-future time stamps

    Turkey begins DST on 2014-03-31, not 03-30.  (Thanks to Faruk Pasin
    for the heads-up, and to Tim Parenti for simplifying the update.)

  Changes affecting past time stamps

    Fiji ended DST on 2014-01-19 at 02:00, not the previously-scheduled
    03:00.  (Thanks to Steffen Thorsen.)

    Ukraine switched from Moscow to Eastern European time on 1990-07-01
    (not 1992-01-01), and observed DST during the entire next winter.
    (Thanks to Vladimir in Moscow via Alois Treindl.)

    In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to
    09-03.  (Thanks to Avigdor Finkelstein.)

Bug: 13193205
Change-Id: Ie2e4fd48491315f3e97befff0c8ea797a766c676
2014-03-10 15:19:05 -07:00
Elliott Hughes
565590c0d5 am 3572fbc8: Merge "Fix a typo in HACKING.txt."
* commit '3572fbc8cd01d90a7f0c65a15c79abf1ece144ef':
  Fix a typo in HACKING.txt.
2014-03-10 18:06:13 +00:00
Elliott Hughes
8bab37f155 am 9150dfb1: Merge "Clean up our OpenBSD usage."
* commit '9150dfb1c6928ceef228e640412c3653d5e87a10':
  Clean up our OpenBSD usage.
2014-03-10 18:06:11 +00:00
The Android Automerger
37398427c1 merge in master-release history after reset to master 2014-03-10 05:49:10 -07:00
Calin Juravle
f45709b67b am eacfa695: am 55b6ec3f: Merge "Update the NOTICE files"
* commit 'eacfa69553c2ca98af51e4dc636ade89c347e6e9':
  Update the NOTICE files
2014-03-10 11:39:58 +00:00
Calin Juravle
eacfa69553 am 55b6ec3f: Merge "Update the NOTICE files"
* commit '55b6ec3f93e88633b22a6f295e14a5ab4902e63a':
  Update the NOTICE files
2014-03-10 11:33:20 +00:00
Calin Juravle
66016dad14 am f535485c: am 0bca08d6: Merge "Update res_debug.c to take into account changes to the nameser.h"
* commit 'f535485cc0fef33faaaa2bc2e2a0bd9d7254e97e':
  Update res_debug.c to take into account changes to the nameser.h
2014-03-10 11:32:02 +00:00
Calin Juravle
f535485cc0 am 0bca08d6: Merge "Update res_debug.c to take into account changes to the nameser.h"
* commit '0bca08d69f4d68782f5a3e6cf16dc74997bcf277':
  Update res_debug.c to take into account changes to the nameser.h
2014-03-10 11:26:28 +00:00
Calin Juravle
55b6ec3f93 Merge "Update the NOTICE files" 2014-03-10 11:25:50 +00:00
Calin Juravle
c4fbf92ce1 Update the NOTICE files
Change-Id: I751c4eeda813b811faa4ee26c64445896db3d5bd
2014-03-10 11:23:52 +00:00
Calin Juravle
0bca08d69f Merge "Update res_debug.c to take into account changes to the nameser.h" 2014-03-10 11:20:12 +00:00
The Android Automerger
56ce3ebc3b merge in master-release history after reset to master 2014-03-09 05:49:10 -07:00
Brian Carlstrom
c13a1b2bad am e9dbdc8c: am cd50898a: Merge "Add includes for waitpid"
* commit 'e9dbdc8cf429ff045861a1128ccd8be2c3d2324a':
  Add includes for waitpid
2014-03-08 23:53:49 +00:00
Brian Carlstrom
e9dbdc8cf4 am cd50898a: Merge "Add includes for waitpid"
* commit 'cd50898ad11ad3157f22fac15802757a9b559822':
  Add includes for waitpid
2014-03-08 23:48:00 +00:00
Brian Carlstrom
cd50898ad1 Merge "Add includes for waitpid" 2014-03-08 23:41:46 +00:00
Brian Carlstrom
be1d91dedc Add includes for waitpid
(cherry picked from commit f07c5dd9ab63f2e8ba736107bd4b69bbd8829c9f)

Change-Id: I7a765fd7a3a5f8f29a703f6a591c4fd8df4ebf1c
2014-03-08 15:09:43 -08:00
The Android Automerger
495aac1fbb merge in master-release history after reset to master 2014-03-08 05:49:28 -08:00
Elliott Hughes
69ee396704 am 00b522ad: am fd9e20d1: Merge "Fix pthread_detach for already-exited threads."
* commit '00b522ad9e87cb9ae5ad776ded92ac01e79ef31b':
  Fix pthread_detach for already-exited threads.
2014-03-08 11:02:22 +00:00
Elliott Hughes
fb2fbbc269 am 206e2c05: am 333e2ae8: Merge "Add si_timerid to <signal.h>."
* commit '206e2c05f1b08a60b5706c93fbb6e53f456ae67d':
  Add si_timerid to <signal.h>.
2014-03-08 07:28:14 +00:00
Elliott Hughes
d1256ccbb3 am 68126def: am 4d46c940: Merge "Rewrite the POSIX timer functions."
* commit '68126def6e37eae1ddc0b372fcecc3ac8287b97e':
  Rewrite the POSIX timer functions.
2014-03-08 07:28:11 +00:00
Elliott Hughes
00b522ad9e am fd9e20d1: Merge "Fix pthread_detach for already-exited threads."
* commit 'fd9e20d10f946334955ca199b0178580d284e89f':
  Fix pthread_detach for already-exited threads.
2014-03-08 03:13:34 +00:00
Elliott Hughes
fd9e20d10f Merge "Fix pthread_detach for already-exited threads." 2014-03-08 03:07:46 +00:00
Elliott Hughes
04620a3cd7 Fix pthread_detach for already-exited threads.
Change-Id: I2bf7f41234d93b226132a4c51705f4186f4961c3
Reported-by: Paresh Nakhe <pnakhe@codeaurora.org>
2014-03-07 17:59:05 -08:00
Elliott Hughes
206e2c05f1 am 333e2ae8: Merge "Add si_timerid to <signal.h>."
* commit '333e2ae87dac85d6420786e9e12ffd7ea84dae38':
  Add si_timerid to <signal.h>.
2014-03-08 01:56:39 +00:00
Elliott Hughes
68126def6e am 4d46c940: Merge "Rewrite the POSIX timer functions."
* commit '4d46c940315af2d93efb44e751b69ea6880a5d65':
  Rewrite the POSIX timer functions.
2014-03-08 01:56:38 +00:00
Calin Juravle
c25a920e95 am 90b01576: Merge "Fixed int fast types for LP64"
* commit '90b0157679a984f1829a72f8c642d17030aa7644':
  Fixed int fast types for LP64
2014-03-08 01:51:50 +00:00
Elliott Hughes
333e2ae87d Merge "Add si_timerid to <signal.h>." 2014-03-08 00:52:02 +00:00
Elliott Hughes
4d46c94031 Merge "Rewrite the POSIX timer functions." 2014-03-08 00:50:56 +00:00
Elliott Hughes
4b558f50a4 Rewrite the POSIX timer functions.
This is a much simpler implementation that lets the kernel
do as much as possible.

Co-authored-by: Jörgen Strand <jorgen.strand@sonymobile.com>
Co-authored-by: Snild Dolkow <snild.dolkow@sonymobile.com>
Change-Id: Iad19f155de977667aea09410266d54e63e8a26bf
2014-03-07 16:49:46 -08:00
Elliott Hughes
a0cd9bc339 Add si_timerid to <signal.h>.
The kernel uses the very misleading name "si_tid", but glibc uses the more
intention-revealing "si_timerid". We should let people use that.

(Added because I wanted to improve SI_TIMER siginfo_t dumping in strace.)

Change-Id: Ib626cdd3b57a6afb276a15753a237b4e81ec45e3
2014-03-07 15:41:25 -08:00
Elliott Hughes
42afda7227 am e65055af: Merge "Stop asking GCC to cause trouble."
* commit 'e65055af112780623f372aca6a1f78d2b2acb34f':
  Stop asking GCC to cause trouble.
2014-03-07 23:19:18 +00:00
Elliott Hughes
74c946d42e am 26172fa4: Merge "Move the upstream-netbsd libc files into the correct directory."
* commit '26172fa401a4323c8c9b4063a59ab6d08ca617bf':
  Move the upstream-netbsd libc files into the correct directory.
2014-03-07 23:00:04 +00:00
Elliott Hughes
e600c51c0c am 8d0fe1c4: Merge "Remove two DNS files that weren\'t being built."
* commit '8d0fe1c49e83592372becc996accfe9d5948aa9b':
  Remove two DNS files that weren't being built.
2014-03-07 23:00:02 +00:00
Elliott Hughes
1fa1416bb8 am cb43f847: Merge "Unify our assembler macros."
* commit 'cb43f8474dafd7a4d3eb605d4a7c7f69ad7cef2e':
  Unify our assembler macros.
2014-03-07 23:00:02 +00:00
Elliott Hughes
60aa4222c4 am 22c6b7ff: Merge "Fix mips64 crt build."
* commit '22c6b7ffd36fe8b34b677eea94d00aef2624e4e8':
  Fix mips64 crt build.
2014-03-07 22:59:46 +00:00
Elliott Hughes
918b2aa34c am 6a686556: Merge "Remove useless _C_LABEL from our assembler source."
* commit '6a686556b9f112fdf02ce404d680306ab1d901be':
  Remove useless _C_LABEL from our assembler source.
2014-03-07 22:59:46 +00:00
Elliott Hughes
db6236ba23 am bfa2b6fc: Merge "Stop advertising an arm32-specific hack like it\'s a build system feature."
* commit 'bfa2b6fc6a09df9815773890db94d6a126565289':
  Stop advertising an arm32-specific hack like it's a build system feature.
2014-03-07 22:59:45 +00:00
Dmitriy Ivanov
b450e464d3 am 54d49ac7: Merge "Added script generating additions to libgcc_compat.c from linker errors"
* commit '54d49ac75b4b71f38eb154ab8e05f60b7c347a2b':
  Added script generating additions to libgcc_compat.c from linker errors
2014-03-07 22:59:45 +00:00
Elliott Hughes
6d04702970 am ca566b31: Merge "Don\'t explicitly list the tzcode files."
* commit 'ca566b31036704eb6cdde05a0bd9ee972d7a995d':
  Don't explicitly list the tzcode files.
2014-03-07 22:59:42 +00:00
Calin Juravle
0ad555a908 Update res_debug.c to take into account changes
to the nameser.h

Bug: 13219633
Change-Id: Id75de2e8933f716ad86ca296a97f5c619fb946a7
2014-03-07 20:03:57 +00:00
Narayan Kamath
530e4359e2 am d9459525: Merge "Fix signbit / infinite / isinf / isnan unit tests."
* commit 'd9459525b4133e825bf95d03b06e695433c124bd':
  Fix signbit / infinite / isinf / isnan unit tests.
2014-03-07 19:41:17 +00:00
Elliott Hughes
42804637a0 am 75f04d10: Merge "Remove the useless _C_LABEL from generated system calls."
* commit '75f04d107695f17bc800024d03e03b602dc02ee1':
  Remove the useless _C_LABEL from generated system calls.
2014-03-07 19:41:10 +00:00
Elliott Hughes
3198715eb5 am fbaddda9: Merge "Linker writes to wrong memory location when processing DT_MIPS_RLD_MAP"
* commit 'fbaddda9f04fa504deb752bba819eb1fa5439baa':
  Linker writes to wrong memory location when processing DT_MIPS_RLD_MAP
2014-03-07 19:41:03 +00:00
Elliott Hughes
26e961eb0a am b69c0b53: Merge "Make mips/mips64 syscall stubs more like the other architectures."
* commit 'b69c0b532e4f6d32e7c43a7be02a27e0b02e75c3':
  Make mips/mips64 syscall stubs more like the other architectures.
2014-03-07 19:41:02 +00:00
Elliott Hughes
830b23a9f3 am 6db95a86: Merge "Top-level documentation about working on bionic."
* commit '6db95a869e5c57713632106878d854c7c0aff7a1':
  Top-level documentation about working on bionic.
2014-03-07 19:40:59 +00:00
Elliott Hughes
bc73c85f7a am e6c451f5: Merge "Make mips generated assembler more like the mips64 stuff."
* commit 'e6c451f5f2e17fccccedaa1c2a90d8d9ba0c1917':
  Make mips generated assembler more like the mips64 stuff.
2014-03-07 19:40:51 +00:00
Elliott Hughes
679b356d4d am 44ef37c1: Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat."
* commit '44ef37c1b445e864068cdcd885ab3d7b17079ad3':
  Use uid_t and gid_t for st_uid and st_gid in struct stat.
2014-03-07 19:40:11 +00:00
Elliott Hughes
2bb7f7c9a2 am 24ef4779: Merge "Fix build by avoiding the _C_LABEL macro."
* commit '24ef4779eb47f23b8d4f4e678d677bd45a91373f':
  Fix build by avoiding the _C_LABEL macro.
2014-03-07 19:40:10 +00:00
Elliott Hughes
3d7a897b68 am 787c1f93: Merge "Add missing file from previous change."
* commit '787c1f937a915feefb767d0c6a15ddb70e6de933':
  Add missing file from previous change.
2014-03-07 19:40:08 +00:00
Elliott Hughes
73ddb94692 am b3602078: Merge "Implement some of the missing LFS64 support."
* commit 'b36020789ac860fcfbbeaf56d560926d8ee228f6':
  Implement some of the missing LFS64 support.
2014-03-07 19:40:05 +00:00
Elliott Hughes
1e56f06585 am 3623d806: Merge "Fix x86 build."
* commit '3623d80675e5321b92c2d88a7b7ec6bd998d81d5':
  Fix x86 build.
2014-03-07 19:39:57 +00:00
Elliott Hughes
9df798dcfc am ffe02668: Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value"
* commit 'ffe026680edaba268330bc67dd986d2c900ecfc7':
  bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
2014-03-07 19:39:55 +00:00
Elliott Hughes
dd0222a1fe am 7f15e28d: Merge "Clean up warnings in libstdc++."
* commit '7f15e28dd4184015a2c990b6e45c33c35b251935':
  Clean up warnings in libstdc++.
2014-03-07 19:39:54 +00:00
Elliott Hughes
2f5ffde865 am cd6748cd: Merge "Clean up various warnings in bionic."
* commit 'cd6748cdd7bcab702fe0bf6de943eb832f4fb762':
  Clean up various warnings in bionic.
2014-03-07 19:39:53 +00:00
Elliott Hughes
0cc47451b8 am d4bc9ef8: Merge "Remove duplicate definitions of MIN and MAX."
* commit 'd4bc9ef83b36916d5e63c4c3e4a092381473ea52':
  Remove duplicate definitions of MIN and MAX.
2014-03-07 19:39:37 +00:00
Colin Cross
ec1152dded am 95b808c4: Merge "build linker and linker64 on 64-bit architectures"
* commit '95b808c4ae11ea5737fee63f7b61673483ea5e2d':
  build linker and linker64 on 64-bit architectures
2014-03-07 19:33:36 +00:00
Calin Juravle
c3957eea26 am d57eb903: am b145b5ef: Merge "Fix broken pointer overflow check ns_name_unpack()"
* commit 'd57eb903c1ca2f798ab6a9ab0f9c84678b0f3025':
  Fix broken pointer overflow check ns_name_unpack()
2014-03-07 19:29:51 +00:00
Calin Juravle
a7c42b1268 am 542e6c87: am d9ba757e: Merge "Sync up nameser with upstream(2014.03.05)"
* commit '542e6c87e52f7886e5ede72e3222c2d6ed83aefb':
  Sync up nameser with upstream(2014.03.05)
2014-03-07 19:29:50 +00:00
Calin Juravle
d57eb903c1 am b145b5ef: Merge "Fix broken pointer overflow check ns_name_unpack()"
* commit 'b145b5ef7c91ec76e4dc8450f70b7af80873b46e':
  Fix broken pointer overflow check ns_name_unpack()
2014-03-07 11:52:24 +00:00
Calin Juravle
542e6c87e5 am d9ba757e: Merge "Sync up nameser with upstream(2014.03.05)"
* commit 'd9ba757ef4546ef931cfa2fff4e206b36c955ead':
  Sync up nameser with upstream(2014.03.05)
2014-03-07 11:52:24 +00:00
Calin Juravle
b145b5ef7c Merge "Fix broken pointer overflow check ns_name_unpack()" 2014-03-07 11:46:48 +00:00
Calin Juravle
d9ba757ef4 Merge "Sync up nameser with upstream(2014.03.05)" 2014-03-07 11:45:58 +00:00
Elliott Hughes
e4014d8882 am 37486940: am d40eb159: Merge "Fix some pthread symbols build as C++ symbol under x64 lunch."
* commit '3748694064366694b2136ac8943332d5ceec7bf4':
  Fix some pthread symbols build as C++ symbol under x64 lunch.
2014-03-07 11:00:32 +00:00
Elliott Hughes
39febf4a95 am e992f79a: am 087dbc6b: Merge "Bring the generate-NOTICE script up to date."
* commit 'e992f79a5627e9d839a001f8563b637d2e97bb93':
  Bring the generate-NOTICE script up to date.
2014-03-07 03:09:45 +00:00
Elliott Hughes
18a32d4ac0 am 372196e9: am dec5bacf: Merge "Update the NOTICE files."
* commit '372196e955047551d6241de7b83ae43bdb5a8b5c':
  Update the NOTICE files.
2014-03-07 03:09:44 +00:00
Elliott Hughes
7157b81966 am 91a5272e: am e7ea9363: Merge "Add ARMv8 optimized string handling functions based on cortex-strings"
* commit '91a5272e6f7712e5313b85c6a615f6891e7ea0a7':
  Add ARMv8 optimized string handling functions based on cortex-strings
2014-03-07 03:09:44 +00:00
Elliott Hughes
93a0c03463 am fadc8a77: Merge "Restore sys_signame for LP64."
* commit 'fadc8a7777ca304c8a7de066a94effd3a5471ee6':
  Restore sys_signame for LP64.
2014-03-07 02:30:04 +00:00
Elliott Hughes
33ca22ad98 am fc48e8cf: Merge "Remove unused variables not spotted by GCC."
* commit 'fc48e8cf28b80ce0f95e288eeee459b4cb932afa':
  Remove unused variables not spotted by GCC.
2014-03-07 02:30:00 +00:00
Elliott Hughes
b2321439aa am 7b3876e2: Merge "Clean up sys_signame and sys_siglist a little."
* commit '7b3876e2516fd55d61a48cb23a7080ea88b9617b':
  Clean up sys_signame and sys_siglist a little.
2014-03-07 02:29:59 +00:00
Ying Wang
0eef722ca8 am 9e572ca4: Merge "Fix missing args."
* commit '9e572ca4163e42bcd053df2cb8557e4b61ad064d':
  Fix missing args.
2014-03-07 02:29:54 +00:00
Ying Wang
116e2312c3 am c4c50b25: Merge "Reconfig libc\'s Android.mk to build for multilib"
* commit 'c4c50b25f805b48338f3e8fb9ac137e81c187706':
  Reconfig libc's Android.mk to build for multilib
2014-03-07 02:29:50 +00:00
Elliott Hughes
72dc7cd5fb am 819c132e: Merge "Fix NSIG."
* commit '819c132ebc18a458f651e6dacd75a0950269656b':
  Fix NSIG.
2014-03-07 02:29:17 +00:00
Elliott Hughes
ddfcbfb9ac am 022885e2: Merge "Clean up all the lint cpplint can find in the dynamic linker."
* commit '022885e2fad5ef9643e05d80c6f50a2a90bf3431':
  Clean up all the lint cpplint can find in the dynamic linker.
2014-03-07 02:27:33 +00:00
Elliott Hughes
8f0d531289 am 577fce01: Merge "[MIPS64] Dynamic linker"
* commit '577fce0108feda58296beacfbc0ada4a6d6afbc2':
  [MIPS64] Dynamic linker
2014-03-07 02:27:21 +00:00
Elliott Hughes
152058fe12 am c856baee: Merge "Build syscall stubs in their own library."
* commit 'c856baeeade96c167400f179a86d50c426e81788':
  Build syscall stubs in their own library.
2014-03-07 02:27:16 +00:00
Elliott Hughes
49c1ff9df3 am a206dde5: Merge "Clean up cacheflush."
* commit 'a206dde5bdf9b4d995bf578cc3b54fb8b85e02c5':
  Clean up cacheflush.
2014-03-07 02:26:59 +00:00
Elliott Hughes
72ef407406 am 71e4466b: Merge "Switch <elf.h> over to linux uapi under the covers."
* commit '71e4466b100359f36a29c8c0277888df6081a265':
  Switch <elf.h> over to linux uapi under the covers.
2014-03-07 02:26:30 +00:00
Elliott Hughes
cba61f7136 am eeb9a9f5: Merge "Fix <link.h>."
* commit 'eeb9a9f59a58a2f042e8f6fd1a4911ae92ac5493':
  Fix <link.h>.
2014-03-07 02:26:19 +00:00
Elliott Hughes
126e7fa706 am e74fc3a6: Merge "Fix socklen_t (on LP64 only)."
* commit 'e74fc3a64fe9296813e5bd867d0c66bd8213be6a':
  Fix socklen_t (on LP64 only).
2014-03-07 02:25:34 +00:00
Elliott Hughes
856e341fdd am c16a4532: Merge "Remove <sys/_types.h>."
* commit 'c16a4532917259fabc8018d681cdd1ad1b1b5e08':
  Remove <sys/_types.h>.
2014-03-07 02:25:28 +00:00
Christopher Ferris
e314bf20b6 am 4affcbf8: Merge "Make sure that the same tests are on all platforms."
* commit '4affcbf87769c43c4d03ecd60f902b0b6a6cb84a':
  Make sure that the same tests are on all platforms.
2014-03-07 02:25:05 +00:00
Elliott Hughes
a5200ae6f4 am 8a80a23c: Merge "[MIPS64] libc/libm support"
* commit '8a80a23c930a41b62cfa47bed362732ee5833bf0':
  [MIPS64] libc/libm support
2014-03-07 02:24:34 +00:00
Elliott Hughes
82b7800326 am 5036935c: Merge "[MIPS64] Add syscall related files"
* commit '5036935c41d9193cfbba606df2121cd4c6973116':
  [MIPS64] Add syscall related files
2014-03-07 02:24:32 +00:00
Elliott Hughes
0cafd712f0 am e163a398: Merge "Remove unused cruft from MIPS <machine/signal.h>."
* commit 'e163a3986aa7d1c67fe3274eb9204812be0a6245':
  Remove unused cruft from MIPS <machine/signal.h>.
2014-03-07 02:23:32 +00:00
Elliott Hughes
ad7ed5f776 am 375aaa3f: Merge "Kill <machine/_types.h>."
* commit '375aaa3f608d6089102b256f162e423638a16c47':
  Kill <machine/_types.h>.
2014-03-07 02:23:31 +00:00
Ying Wang
a3187f688e am 12e8b76e: Merge "Use arch-specific LOCAL_ variables to build libm."
* commit '12e8b76e5f799b2b8407bf354a9675577529d34b':
  Use arch-specific LOCAL_ variables to build libm.
2014-03-07 01:35:24 +00:00
Elliott Hughes
25a3ee43d9 am 53cc62c3: Merge "Add fallocate/fallocate64/posix_fallocate/posix_fallocate64."
* commit '53cc62c31bfb6c329299549b69fdadd2705f6497':
  Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.
2014-03-07 01:35:22 +00:00
Elliott Hughes
ae85553d68 am a122c376: Merge "Use __inline__ for fortify."
* commit 'a122c376ef0737454a592cf44f50beabe154e9e3':
  Use __inline__ for fortify.
2014-03-07 01:35:19 +00:00
Arve Hjønnevåg
69aa18d973 am fb4da1e7: Merge "Regenerate binder header"
* commit 'fb4da1e7b749b4cf6843515517e839efa1ee24c7':
  Regenerate binder header
2014-03-07 01:34:26 +00:00
Elliott Hughes
91b5f5a0cf am ed29345c: Merge "Clean up debugger.cpp slightly."
* commit 'ed29345c22acec61e4ef8953baefc64dc750c812':
  Clean up debugger.cpp slightly.
2014-03-07 01:33:42 +00:00
Elliott Hughes
6266617af6 am 4939d6d8: Merge "LP64 binaries should talk to debuggerd64."
* commit '4939d6d8424d47e19823e5dfcfc5474e8a7e77b8':
  LP64 binaries should talk to debuggerd64.
2014-03-07 01:33:36 +00:00
Elliott Hughes
96e5f809a7 am 47ff6b9f: Merge "Add missing ucontext_t definition to bionic for arch-arm64."
* commit '47ff6b9faae7f1bde5deb4760982e7e6785955f2':
  Add missing ucontext_t definition to bionic for arch-arm64.
2014-03-07 01:33:09 +00:00
Elliott Hughes
3748694064 am d40eb159: Merge "Fix some pthread symbols build as C++ symbol under x64 lunch."
* commit 'd40eb1594dff0103247292967f8a801ef8c0ff12':
  Fix some pthread symbols build as C++ symbol under x64 lunch.
2014-03-07 01:27:38 +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
a18b9b9ab3 am a14df4a9: Merge "[MIPS] SA_RESTORER support is not needed for MIPS"
* commit 'a14df4a98ad1c4018f63fea358dd30c7e6b51858':
  [MIPS] SA_RESTORER support is not needed for MIPS
2014-03-07 00:37:42 +00:00
Elliott Hughes
e992f79a56 am 087dbc6b: Merge "Bring the generate-NOTICE script up to date."
* commit '087dbc6bb789dc549d8f71ea820e6fc7e69d99d2':
  Bring the generate-NOTICE script up to date.
2014-03-07 00:01:24 +00:00
Elliott Hughes
372196e955 am dec5bacf: Merge "Update the NOTICE files."
* commit 'dec5bacf1481a0e6b0ae0078933dbfb8953b7d19':
  Update the NOTICE files.
2014-03-07 00:01:23 +00:00
Elliott Hughes
91a5272e6f am e7ea9363: Merge "Add ARMv8 optimized string handling functions based on cortex-strings"
* commit 'e7ea9363cb30d5c36c9333162c11b1e7b4f302b6':
  Add ARMv8 optimized string handling functions based on cortex-strings
2014-03-07 00:01:23 +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
Elliott Hughes
b97cc02146 am 07f84025: Merge "Make ARM <user.h> more glibc-compatible."
* commit '07f84025520a9530760a2f2535a1effde5ec51dd':
  Make ARM <user.h> more glibc-compatible.
2014-03-06 22:58:24 +00:00
Elliott Hughes
1e38be24f9 am 53a55c12: Merge "Add mips <sys/ucontext.h>."
* commit '53a55c121b458e4131e025f1bbe0e4e2b1b232f7':
  Add mips <sys/ucontext.h>.
2014-03-06 20:23:37 +00:00
Elliott Hughes
f40e9facbb am 807bbb75: Merge "Add arm <sys/ucontext.h>."
* commit '807bbb75f14543a72b3f745d35f2c97a92752cd0':
  Add arm <sys/ucontext.h>.
2014-03-06 20:23:35 +00:00
Elliott Hughes
f20e85811d am 8f355275: Merge "Add x86 <sys/ucontext.h>."
* commit '8f355275920f8be82f56e30087a57b1d5ce49771':
  Add x86 <sys/ucontext.h>.
2014-03-06 20:23:31 +00:00
Elliott Hughes
4619eaaab0 am 972c39c4: Merge "Add x86_64 ucontext.h for better compatibility"
* commit '972c39c4fee85c5c532eecac409a1384c76b2cc6':
  Add x86_64 ucontext.h for better compatibility
2014-03-06 20:23:29 +00: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
The Android Automerger
099d41c16f merge in master-release history after reset to master 2014-03-06 05:49:21 -08:00
Mark Salyzyn
bbcd3c686e am a6bd876e: am 68a651e7: Merge "libc: libc_logging 64bit compile issue"
* commit 'a6bd876e3dffedb2227dde034328987ebb79223b':
  libc: libc_logging 64bit compile issue
2014-03-06 02:50:44 +00:00
Mark Salyzyn
a6bd876e3d am 68a651e7: Merge "libc: libc_logging 64bit compile issue"
* commit '68a651e7162b922a2916da524ef9706276640752':
  libc: libc_logging 64bit compile issue
2014-03-06 01:08:55 +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
Robert Greenwalt
336801367b am 320765f4: am 8b6a9651: am c5443e6e: am abf91850: Merge "Fix dns searchdomain use in gethostbyname." into klp-dev
* commit '320765f44e2d20b4b9542c13fb3358a0ea2caef3':
  Fix dns searchdomain use in gethostbyname.
2014-03-06 00:14:42 +00:00
Robert Greenwalt
320765f44e am 8b6a9651: am c5443e6e: am abf91850: Merge "Fix dns searchdomain use in gethostbyname." into klp-dev
* commit '8b6a965150b955393e46572c79d69577f0425a30':
  Fix dns searchdomain use in gethostbyname.
2014-03-05 22:21:24 +00:00
Robert Greenwalt
8b6a965150 am c5443e6e: am abf91850: Merge "Fix dns searchdomain use in gethostbyname." into klp-dev
* commit 'c5443e6e516921bdb1862b85a52b873523427bea':
  Fix dns searchdomain use in gethostbyname.
2014-03-05 22:14:48 +00:00
Robert Greenwalt
c5443e6e51 am abf91850: Merge "Fix dns searchdomain use in gethostbyname." into klp-dev
* commit 'abf91850f96858a286de268267ca5cf337ec9a3b':
  Fix dns searchdomain use in gethostbyname.
2014-03-05 18:35:18 +00:00
The Android Automerger
a39362de4f merge in master-release history after reset to master 2014-03-05 08:04:45 -08:00
Narayan Kamath
ffce5ede0b am 4e53c59d: am 48d145c1: Merge "Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC."
* commit '4e53c59db205bcb991000bf540241eb5d3b99bef':
  Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC.
2014-03-05 13:31:12 +00:00
Narayan Kamath
4e53c59db2 am 48d145c1: Merge "Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC."
* commit '48d145c1ced299525ca766afd2aa34725bef5301':
  Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC.
2014-03-05 13:24:32 +00: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
636bcf0f69 am 614f7626: am bef50164: Merge "Remove dead NULL checks from pthread code."
* commit '614f7626fc5dcf5c0cff2c49799f2659524d3ad3':
  Remove dead NULL checks from pthread code.
2014-03-04 19:16:08 +00:00
Elliott Hughes
614f7626fc am bef50164: Merge "Remove dead NULL checks from pthread code."
* commit 'bef5016491eed41521f514d5c5528e2274689948':
  Remove dead NULL checks from pthread code.
2014-03-04 19:10:24 +00: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
43b9169ffb am 17ef5653: am a0bf9bde: Merge "Implement POSIX pthread_mutex_timedlock."
* commit '17ef5653dd8aa92176e90964c95a02ccf4809695':
  Implement POSIX pthread_mutex_timedlock.
2014-03-04 18:50:35 +00:00
Elliott Hughes
17ef5653dd am a0bf9bde: Merge "Implement POSIX pthread_mutex_timedlock."
* commit 'a0bf9bdea24164db96ec1d5dfa2cd327942671b6':
  Implement POSIX pthread_mutex_timedlock.
2014-03-04 18:45:18 +00:00
Elliott Hughes
a0bf9bdea2 Merge "Implement POSIX pthread_mutex_timedlock." 2014-03-04 18:39:08 +00:00
Elliott Hughes
29309d30ed am a934a901: am e365f284: am f27cc051: am 806f3bd7: Upgrade to tzdata2013i.
* commit 'a934a9019efeb2630bfac92ad186c3db4a525735':
  Upgrade to tzdata2013i.
2014-03-04 18:35:33 +00:00
Elliott Hughes
a934a9019e am e365f284: am f27cc051: am 806f3bd7: Upgrade to tzdata2013i.
* commit 'e365f2840f20bb6b7fdd044c9515018b2d4cd309':
  Upgrade to tzdata2013i.
2014-03-04 18:29:22 +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
Elliott Hughes
e365f2840f am f27cc051: am 806f3bd7: Upgrade to tzdata2013i.
* commit 'f27cc051ec36809a64f8cc6a17fd39eca3516d1d':
  Upgrade to tzdata2013i.
2014-03-04 18:26:11 +00:00
Elliott Hughes
f27cc051ec am 806f3bd7: Upgrade to tzdata2013i.
* commit '806f3bd7aaec5b7444b1b218b69b3952386cb92f':
  Upgrade to tzdata2013i.
2014-03-04 18:22:45 +00:00
Calin Juravle
631d309268 am 0c8d3b35: am 8e541b12: Merge "Moved nameser.h and namser_compat.h to public include dir"
* commit '0c8d3b35c6eb07384b0176ab3d1d462bad996e06':
  Moved nameser.h and namser_compat.h to public include dir
2014-03-04 18:04:44 +00:00
Calin Juravle
0c8d3b35c6 am 8e541b12: Merge "Moved nameser.h and namser_compat.h to public include dir"
* commit '8e541b12237f597c186820b9e18b059b620bef54':
  Moved nameser.h and namser_compat.h to public include dir
2014-03-04 17:58:52 +00:00
Calin Juravle
3f6229cf32 am cc0948d8: am 4a46a689: Merge "Moved private dns header to their own dir."
* commit 'cc0948d86a50a1b2441552cd0f357ca040855928':
  Moved private dns header to their own dir.
2014-03-04 17:55:59 +00:00
Calin Juravle
ff4dfd26a8 am 8121d264: am 9f2d1bcd: Merge "Renamed the misleading libc/netbsd directory to libc/dns."
* commit '8121d264bc58c6d97edae23981d2646b05fcdf83':
  Renamed the misleading libc/netbsd directory to libc/dns.
2014-03-04 17:55:58 +00: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
cc0948d86a am 4a46a689: Merge "Moved private dns header to their own dir."
* commit '4a46a68942d180e28c3e87f08359351245b220b7':
  Moved private dns header to their own dir.
2014-03-04 17:19:13 +00:00
Calin Juravle
8121d264bc am 9f2d1bcd: Merge "Renamed the misleading libc/netbsd directory to libc/dns."
* commit '9f2d1bcd176cb4a6f2bc0cae3f3c786444383476':
  Renamed the misleading libc/netbsd directory to libc/dns.
2014-03-04 17:19:13 +00:00
Narayan Kamath
b863c9574e am 3f985d31: am caaae7f2: Merge "Implement pthread_condattr_{get,set}clock."
* commit '3f985d31b6fc3fd61f76b71aa05c3c69d853452a':
  Implement pthread_condattr_{get,set}clock.
2014-03-04 16:05:46 +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
The Android Automerger
c6ff1951af merge in master-release history after reset to master 2014-03-04 05:49:18 -08:00
Narayan Kamath
3f985d31b6 am caaae7f2: Merge "Implement pthread_condattr_{get,set}clock."
* commit 'caaae7f2e9a89df1514ba06d13e9eb5a0f04e94c':
  Implement pthread_condattr_{get,set}clock.
2014-03-04 13:41:52 +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
010d090241 am fea778b3: am 2c7c79e6: Merge "Switch to upstream alarm(3)."
* commit 'fea778b308be2dd0d75bd757129c3ef62ace3a61':
  Switch to upstream alarm(3).
2014-03-04 01:11:01 +00:00
Elliott Hughes
fea778b308 am 2c7c79e6: Merge "Switch to upstream alarm(3)."
* commit '2c7c79e6e5e730553281b6d42e734ee2c532a660':
  Switch to upstream alarm(3).
2014-03-04 01:04:22 +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
4fc7758e6f am 337815ff: am f33df6a6: Merge "libc: Make calls to new user-space logger (revisit)"
* commit '337815ffa2d4c899bf3c2b9798cb90665b497cea':
  libc: Make calls to new user-space logger (revisit)
2014-03-03 21:18:08 +00:00
Mark Salyzyn
337815ffa2 am f33df6a6: Merge "libc: Make calls to new user-space logger (revisit)"
* commit 'f33df6a662934cd72a79195773d2745ae8f937d4':
  libc: Make calls to new user-space logger (revisit)
2014-03-03 21:12:03 +00:00
Mark Salyzyn
f33df6a662 Merge "libc: Make calls to new user-space logger (revisit)" 2014-03-03 21:05:19 +00:00
Elliott Hughes
1eb606df0a am 46215a8b: am dfeb42ed: Merge "If the kernel doesn\'t have MADV_MERGEABLE, stop asking for it."
* commit '46215a8b53e149de3fc28600c2b2eebe66d36716':
  If the kernel doesn't have MADV_MERGEABLE, stop asking for it.
2014-03-03 20:55:35 +00:00
Elliott Hughes
29264f4eda am f6ce4490: am 15e71cd7: Merge "Remove deprecated and unused constants from <sys/klog.h>."
* commit 'f6ce44900e5b94c18a026ac4ce4d5fd2c51663d4':
  Remove deprecated and unused constants from <sys/klog.h>.
2014-03-03 20:55:35 +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
Elliott Hughes
46215a8b53 am dfeb42ed: Merge "If the kernel doesn\'t have MADV_MERGEABLE, stop asking for it."
* commit 'dfeb42ede69a0dbea5735aed5fddaee3f810801d':
  If the kernel doesn't have MADV_MERGEABLE, stop asking for it.
2014-03-03 20:31:39 +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
f6ce44900e am 15e71cd7: Merge "Remove deprecated and unused constants from <sys/klog.h>."
* commit '15e71cd760c35a4eab09b850904581ebbdc9bee3':
  Remove deprecated and unused constants from <sys/klog.h>.
2014-03-03 20:21:25 +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
The Android Automerger
eb25e220bc merge in master-release history after reset to master 2014-03-01 05:49:47 -08:00
Elliott Hughes
019cff957e am 3c42b739: am ddad384d: Merge "Fix build."
* commit '3c42b73985817da87c32c2d97a58e5e4f21d48a6':
  Fix build.
2014-03-01 02:12:59 +00:00
Elliott Hughes
3c42b73985 am ddad384d: Merge "Fix build."
* commit 'ddad384dbf802bf258e19a8d18f5d9e9fba8f97b':
  Fix build.
2014-03-01 02:05:38 +00: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
79370b2aee am 5b9d3ddf: am 2ec592c3: Merge "Add recvmmsg and sendmmsg syscalls."
* commit '5b9d3ddf372ca47e3065845487a770794021c760':
  Add recvmmsg and sendmmsg syscalls.
2014-03-01 01:24:39 +00:00
Elliott Hughes
e63d519946 am 796b7c7c: am ddc8cc7a: Merge "Add getprogname/setprogname for BSD compatibility."
* commit '796b7c7cf9404b59b2120177d2f2b40ecc58c3c8':
  Add getprogname/setprogname for BSD compatibility.
2014-03-01 01:24:38 +00:00
Elliott Hughes
5b9d3ddf37 am 2ec592c3: Merge "Add recvmmsg and sendmmsg syscalls."
* commit '2ec592c338f5c5021f127e92212d156cd909c617':
  Add recvmmsg and sendmmsg syscalls.
2014-03-01 01:17:13 +00:00
Elliott Hughes
796b7c7cf9 am ddc8cc7a: Merge "Add getprogname/setprogname for BSD compatibility."
* commit 'ddc8cc7a68415acb0694f7015ea0dae70ea04550':
  Add getprogname/setprogname for BSD compatibility.
2014-03-01 01:17:12 +00: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
8ddc3328f8 am 11e4513d: am d51db86a: Merge "Fix locatime.c indentation after sync"
* commit '11e4513d328d9ae16ef5aa4b25d886c8bb6049a1':
  Fix locatime.c indentation after sync
2014-02-28 18:13:28 +00:00
Calin Juravle
11e4513d32 am d51db86a: Merge "Fix locatime.c indentation after sync"
* commit 'd51db86aafb988aea04355f2b6a6c925d67e5976':
  Fix locatime.c indentation after sync
2014-02-28 18:07:48 +00:00
Calin Juravle
d51db86aaf Merge "Fix locatime.c indentation after sync" 2014-02-28 18:02:22 +00:00
Calin Juravle
daceb01b7c am 3926e9f4: am 4ab29a3e: Merge "Update tzcode to 2013i"
* commit '3926e9f4039929d745692310a8a458e81ae72a52':
  Update tzcode to 2013i
2014-02-28 17:49:53 +00:00
Calin Juravle
3926e9f403 am 4ab29a3e: Merge "Update tzcode to 2013i"
* commit '4ab29a3e4a797cff05a3a1a6fea3db5a800ac5ba':
  Update tzcode to 2013i
2014-02-28 17:44:15 +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
Elliott Hughes
77ed5f6b15 am 8fa8b75b: am e9db4a97: Merge "Vastly reduce the number of read(2)s done in tzload."
* commit '8fa8b75b54990cdabbfa108b92ace9cf511d45c0':
  Vastly reduce the number of read(2)s done in tzload.
2014-02-28 16:35:04 +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
8fa8b75b54 am e9db4a97: Merge "Vastly reduce the number of read(2)s done in tzload."
* commit 'e9db4a976f864ef180340fe37c58af93a03daf46':
  Vastly reduce the number of read(2)s done in tzload.
2014-02-28 16:28:52 +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
034663774d am 331dd270: am e3345405: Merge "Fix a leak on error in tzload."
* commit '331dd2708232fb538de60e5aa807bbd4490910f7':
  Fix a leak on error in tzload.
2014-02-28 02:28:44 +00:00
Elliott Hughes
331dd27082 am e3345405: Merge "Fix a leak on error in tzload."
* commit 'e33454051677cd8953af558b67e525dda2231501':
  Fix a leak on error in tzload.
2014-02-28 02:22:36 +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
7c5a879095 am 3d1f6798: am ad2cfe2f: Merge "Fix x86_64 build"
* commit '3d1f6798ad3c299e66dcbc386943a6d566159a82':
  Fix x86_64 build
2014-02-27 21:42:51 +00:00
Calin Juravle
3d1f6798ad am ad2cfe2f: Merge "Fix x86_64 build"
* commit 'ad2cfe2f231506aed955f7e168a25fe1a1040f9a':
  Fix x86_64 build
2014-02-27 21:36:09 +00:00
Calin Juravle
ad2cfe2f23 Merge "Fix x86_64 build" 2014-02-27 21:31:13 +00:00
Pavel Chupin
7ba84d3108 Fix x86_64 build
Fix types after recent update:
https://android-review.googlesource.com/#/c/83435/

Change-Id: I17ed28af84b7adeb8572e18834e66f3264ec061d
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-02-28 00:52:09 +04:00
The Android Automerger
c88861196b merge in master-release history after reset to master 2014-02-27 05:49:15 -08:00
Elliott Hughes
a22674050c am 9d40389a: am 000ffd8a: Merge "Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants."
* commit '9d40389ac288a603632de35beed7460ea3300e0c':
  Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants.
2014-02-27 01:04:25 +00:00
Elliott Hughes
9d40389ac2 am 000ffd8a: Merge "Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants."
* commit '000ffd8ab0b4112173ce319869f4111f08fbe975':
  Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants.
2014-02-27 00:58:14 +00:00
Elliott Hughes
000ffd8ab0 Merge "Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants." 2014-02-27 00:52:36 +00:00
Mark Salyzyn
ffc797c3b8 am 663916f7: am 3ba62f73: Merge "libc: Make calls to new user-space logger"
* commit '663916f77747297e36dbc2b0f25192f3fa05ab9f':
  libc: Make calls to new user-space logger
2014-02-27 00:41:33 +00:00
Mark Salyzyn
663916f777 am 3ba62f73: Merge "libc: Make calls to new user-space logger"
* commit '3ba62f733bdc39262a5a9927a6ebaa29a4f4aad4':
  libc: Make calls to new user-space logger
2014-02-27 00:34:50 +00:00
Mark Salyzyn
3ba62f733b Merge "libc: Make calls to new user-space logger" 2014-02-27 00:28:48 +00:00
Elliott Hughes
3434727b3e Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants.
Needed to build strace at their tip of tree.

Change-Id: I64db00a332088e08e25bc30357293a9308b8a226
2014-02-26 15:51:01 -08:00
Mark Salyzyn
0336e35368 libc: Make calls to new user-space logger
* libc (fatal) logging now makes socket connection to the
  user-space logging service.
* Add a TARGET_USES_LOGD make flag for BoardConfig.mk to manage
  whether logd is enabled for use or not.

Change-Id: I96ab598c76d6eec86f9d0bc81094c1fb3fb0d9b4
2014-02-26 15:33:13 -08:00
Calin Juravle
beef4b0759 am 42f6ad96: am d4ee6b62: Merge "Fix mips build"
* commit '42f6ad96036e8a73ffdb8e42ecd3fe8c44ba9c95':
  Fix mips build
2014-02-26 22:39:02 +00:00
Calin Juravle
42f6ad9603 am d4ee6b62: Merge "Fix mips build"
* commit 'd4ee6b62d77ccea61c4b43d82c63455920e221bc':
  Fix mips build
2014-02-26 22:31:00 +00:00
Calin Juravle
d4ee6b62d7 Merge "Fix mips build" 2014-02-26 21:34:57 +00:00
Calin Juravle
26349d8c2e Fix mips build
Change-Id: Ica843d387e115d0b27afd961af73237ec9109ed9
2014-02-26 21:33:36 +00:00
Calin Juravle
04e9001c2b am adc3d96f: am 35036961: Merge "Moved to a more openbsd-like fenv.h"
* commit 'adc3d96fce0ae1b3d2166893b9951629dc367db4':
  Moved to a more openbsd-like fenv.h
2014-02-26 20:44:57 +00:00
Calin Juravle
adc3d96fce am 35036961: Merge "Moved to a more openbsd-like fenv.h"
* commit '35036961f85945483b6b833b976d12e6a58c2313':
  Moved to a more openbsd-like fenv.h
2014-02-26 20:39:58 +00:00
Calin Juravle
35036961f8 Merge "Moved to a more openbsd-like fenv.h" 2014-02-26 20:34:41 +00:00
The Android Automerger
7b5b843379 merge in master-release history after reset to master 2014-02-26 09:58:51 -08:00
Calin Juravle
2d367905a2 Moved to a more openbsd-like fenv.h
Factored out common declarations to include/fenv.h and pushed
the implementation to .c files.

Bug: 11050744
Change-Id: I446b13cc4bc599d328343a8d392b07de280f6304
2014-02-26 12:30:44 +00:00
Elliott Hughes
3fc5dce69e am ddcba6e8: am 27c7dbee: Merge "Fix log_backtrace assertion failure caused by LP64 fix."
* commit 'ddcba6e8eefb4331b103f60b2d233a2cb114874f':
  Fix log_backtrace assertion failure caused by LP64 fix.
2014-02-25 23:45:51 +00:00
Elliott Hughes
ddcba6e8ee am 27c7dbee: Merge "Fix log_backtrace assertion failure caused by LP64 fix."
* commit '27c7dbeee6c5e0cee488ce5085cc0b8c5e0301bd':
  Fix log_backtrace assertion failure caused by LP64 fix.
2014-02-25 23:42:00 +00:00
Elliott Hughes
27c7dbeee6 Merge "Fix log_backtrace assertion failure caused by LP64 fix." 2014-02-25 23:36:43 +00:00
Elliott Hughes
2388fd78c6 am 73efa96c: am 901553aa: Merge "Switch to current OpenBSD system.c."
* commit '73efa96c06b60621dbb7317e3ade47e4a179c909':
  Switch to current OpenBSD system.c.
2014-02-25 23:32:29 +00:00
Elliott Hughes
ba76572789 Fix log_backtrace assertion failure caused by LP64 fix.
When libc.debug.malloc is enabled, stack backtraces fail with:

bionic/libc/bionic/libc_logging.cpp:378: assertion "conversion
    specifier unsupported" failed

The cause was a change to the format specifier from "%08x" to
"%0*x" to pass the field width as an additional parameter.
Unfortunately this modifier isn't supported by out_vformat() in
libc_logging.cpp.

Changed to use "%016x" if __LP64__ is defined; "%08x" otherwise.

Bug: 13177507
Change-Id: Ibf07263acf14da086d3c3788872f4b5477bd5708
2014-02-25 15:32:01 -08:00
Elliott Hughes
4e95b270f3 am 6c793540: am c380385f: Merge "Fix LP64 builds after OpenBSD string changes."
* commit '6c7935408ed92bbc322468f13e19c08c626cd018':
  Fix LP64 builds after OpenBSD string changes.
2014-02-25 23:28:49 +00:00
Elliott Hughes
73efa96c06 am 901553aa: Merge "Switch to current OpenBSD system.c."
* commit '901553aaf4960c4ab21c9a090919aee8be5e62ab':
  Switch to current OpenBSD system.c.
2014-02-25 23:25:38 +00:00
Elliott Hughes
6c7935408e am c380385f: Merge "Fix LP64 builds after OpenBSD string changes."
* commit 'c380385f0b8826ab7c02429dd48b07670516f964':
  Fix LP64 builds after OpenBSD string changes.
2014-02-25 23:21:55 +00:00
Elliott Hughes
901553aaf4 Merge "Switch to current OpenBSD system.c." 2014-02-25 23:21:00 +00:00
Elliott Hughes
1e4378ea06 Switch to current OpenBSD system.c.
Change-Id: Ie2df60f0d55dca69149ffe064f10183411407987
2014-02-25 15:19:26 -08:00
Elliott Hughes
c380385f0b Merge "Fix LP64 builds after OpenBSD string changes." 2014-02-25 23:15:39 +00:00
Elliott Hughes
b6208836cb Fix LP64 builds after OpenBSD string changes.
Change-Id: I07202f6484e716d153d0387fcfc023e119438251
2014-02-25 15:12:29 -08:00
Elliott Hughes
d19de168c8 am 6358fc2d: am 5c7816f4: Merge "More OpenBSD cleanup (primarily string)."
* commit '6358fc2d0b11417ccabd97b36b8e24f1b23fd662':
  More OpenBSD cleanup (primarily string).
2014-02-25 21:54:13 +00:00
Elliott Hughes
6358fc2d0b am 5c7816f4: Merge "More OpenBSD cleanup (primarily string)."
* commit '5c7816f425cb70ca6920e816aba33ce3d691ef10':
  More OpenBSD cleanup (primarily string).
2014-02-25 21:47:41 +00:00
Elliott Hughes
5c7816f425 Merge "More OpenBSD cleanup (primarily string)." 2014-02-25 21:41:48 +00:00
The Android Automerger
8fb9d213ee merge in master-release history after reset to master 2014-02-25 05:49:13 -08:00
Calin Juravle
51c25e1dc5 am 5a600f59: am a92b57c7: Merge "Added ftw64, nftw64"
* commit '5a600f59d7212a670c9fda0edd81b14f044136a0':
  Added ftw64, nftw64
2014-02-25 10:53:51 +00:00
Calin Juravle
15aa4aee8a am dfb02bcd: am 7c1efffc: Merge "Added mkstemp64"
* commit 'dfb02bcdf46ebdf3ac37e2fd26ebc2e81392f28a':
  Added mkstemp64
2014-02-25 10:53:50 +00:00
Calin Juravle
5a600f59d7 am a92b57c7: Merge "Added ftw64, nftw64"
* commit 'a92b57c7f8230661d911f2fd6dd67a81e9a90cef':
  Added ftw64, nftw64
2014-02-25 10:47:38 +00:00
Calin Juravle
dfb02bcdf4 am 7c1efffc: Merge "Added mkstemp64"
* commit '7c1efffc249283b47309846abba8795f3fb91555':
  Added mkstemp64
2014-02-25 10:47:37 +00:00
Calin Juravle
a92b57c7f8 Merge "Added ftw64, nftw64" 2014-02-25 10:44:26 +00:00
Calin Juravle
7c1efffc24 Merge "Added mkstemp64" 2014-02-25 10:43:31 +00:00
Elliott Hughes
53e43292aa More OpenBSD cleanup (primarily string).
This patch removes the string/ and wchar/ directories.

Change-Id: Ia489904bc67047e4bc79acb1f3eec21aa3fe5f0d
2014-02-24 18:02:05 -08:00
Elliott Hughes
80a51a39c3 am 633502c1: am ba40a560: Merge "Remove <asm/page.h>."
* commit '633502c1771dfecb6bbaaa7f9e38ee889bc173ac':
  Remove <asm/page.h>.
2014-02-25 00:14:43 +00:00
Elliott Hughes
633502c177 am ba40a560: Merge "Remove <asm/page.h>."
* commit 'ba40a560176e6ea753d09a6a71343b81ea4c8c1e':
  Remove <asm/page.h>.
2014-02-25 00:06:51 +00:00
Elliott Hughes
ba40a56017 Merge "Remove <asm/page.h>." 2014-02-25 00:01:44 +00:00
Elliott Hughes
0e44bc3bae Remove <asm/page.h>.
If we have PAGE_SIZE/PAGESIZE, POSIX says they should be in <limits.h>.

Change-Id: I3c2d574ea2aea81f524874a156361411a4ffa18e
2014-02-24 15:55:31 -08:00
Calin Juravle
d4934a70e6 Added ftw64, nftw64
Bug: 13076637
Change-Id: I5b926526f935b00bba14c2807b61d85f95089c33
2014-02-24 20:22:11 +00:00
Calin Juravle
fe317a3775 Added mkstemp64
Bug: 13076637
Change-Id: I41bf28ab3e6c7325470781e9323eeec023483df5
2014-02-24 20:19:19 +00:00
Narayan Kamath
70dd5a71d3 am 9b823726: am b26e4944: Merge "Fix 64-bit build."
* commit '9b82372626092139e8ee09d6bdb4da798af38ced':
  Fix 64-bit build.
2014-02-24 14:32:18 +00:00
Narayan Kamath
bdfc6af405 am e425856b: am c6d96bb8: Merge "Move system_properties over to C++."
* commit 'e425856b1a943c32acf0bede50555d500eaf00ca':
  Move system_properties over to C++.
2014-02-24 14:32:17 +00:00
Narayan Kamath
9b82372626 am b26e4944: Merge "Fix 64-bit build."
* commit 'b26e4944e2a5bf4b7e33fa38fb17a3b76c7fe0f7':
  Fix 64-bit build.
2014-02-24 14:25:31 +00:00
Narayan Kamath
e425856b1a am c6d96bb8: Merge "Move system_properties over to C++."
* commit 'c6d96bb8673a4f44d84f3beaa5ed4fec1484f0ad':
  Move system_properties over to C++.
2014-02-24 14:25:31 +00:00
The Android Automerger
22c11870f4 merge in master-release history after reset to master 2014-02-24 05:49:26 -08:00
Narayan Kamath
b26e4944e2 Merge "Fix 64-bit build." 2014-02-24 11:14:08 +00:00
Narayan Kamath
37e9570bce Fix 64-bit build.
A warning about signed vs unsigned comparison was converted
into an error here :

 ...
 struct stat st;
 if (st.st_size > sizeof(prop_area) {
 ...

st_size is either an off64_t, which is a signed type. It's
worth investigating why this didn't trigger a warning on 32 bit,
where it's signed as well.

Change-Id: Ib2622bd5c444ddcfa7fb2141f00332cbb4a0818b
2014-02-24 11:05:02 +00:00
Narayan Kamath
c6d96bb867 Merge "Move system_properties over to C++." 2014-02-24 10:47:54 +00:00
Narayan Kamath
c9ae21a5c3 Move system_properties over to C++.
This change constitutes the minimum amount of
work required to move the code over to C++, address
compiler warnings, and to make it const correct and
idiomatic (within the constraints of being called
from C code).

bug: 13058886

Change-Id: Ic78cf91b7c8e8f07b4ab0781333a9e243763298c
2014-02-24 10:45:35 +00:00
Elliott Hughes
bc69445f3f am 5c266bca: am 3572fbc8: Merge "Fix a typo in HACKING.txt."
* commit '5c266bca8f8c0a6820de8eccde25118b8d2331eb':
  Fix a typo in HACKING.txt.
2014-02-22 00:58:45 +00:00
Elliott Hughes
a842eb7c95 am 7b9e7a70: am 9150dfb1: Merge "Clean up our OpenBSD usage."
* commit '7b9e7a709365c490d5ff73e6a74dfa32ffd8be25':
  Clean up our OpenBSD usage.
2014-02-22 00:58:44 +00:00
Elliott Hughes
5c266bca8f am 3572fbc8: Merge "Fix a typo in HACKING.txt."
* commit '3572fbc8cd01d90a7f0c65a15c79abf1ece144ef':
  Fix a typo in HACKING.txt.
2014-02-22 00:41:34 +00:00
Elliott Hughes
7b9e7a7093 am 9150dfb1: Merge "Clean up our OpenBSD usage."
* commit '9150dfb1c6928ceef228e640412c3653d5e87a10':
  Clean up our OpenBSD usage.
2014-02-22 00:41:32 +00:00
Elliott Hughes
3572fbc8cd Merge "Fix a typo in HACKING.txt." 2014-02-22 00:10:10 +00:00
Elliott Hughes
247904a235 Fix a typo in HACKING.txt.
Change-Id: If1cc18776d873cb5966186b65b8831677df77aaf
2014-02-21 16:09:27 -08:00
Elliott Hughes
9150dfb1c6 Merge "Clean up our OpenBSD usage." 2014-02-21 23:46:52 +00:00
Elliott Hughes
0133944b09 Clean up our OpenBSD usage.
Also undo some of the mess where we have OpenBSD <stdio.h> but a mix of
different BSD's implementations.

In this first pass, I've only moved easy OpenBSD stuff.

Change-Id: Iae67b02cde6dba9d8d06fedeb53efbfdac0a8cf6
2014-02-21 14:30:18 -08:00
Calin Juravle
79733ca2e7 am 587399d2: am 90b01576: Merge "Fixed int fast types for LP64"
* commit '587399d23a3dced6202e4b4abfa52b5b9621f134':
  Fixed int fast types for LP64
2014-02-21 17:32:17 +00:00
Calin Juravle
587399d23a am 90b01576: Merge "Fixed int fast types for LP64"
* commit '90b0157679a984f1829a72f8c642d17030aa7644':
  Fixed int fast types for LP64
2014-02-21 17:25:25 +00:00
Calin Juravle
90b0157679 Merge "Fixed int fast types for LP64" 2014-02-21 17:09:13 +00:00
Calin Juravle
da030de702 Fixed int fast types for LP64
Bug: 13110474
Change-Id: Id5591603ad4ba7e149c0852f4abb25e4e5a5d065
2014-02-21 16:27:21 +00:00
Elliott Hughes
a12d556d42 am 31425c9f: am e65055af: Merge "Stop asking GCC to cause trouble."
* commit '31425c9fce2d48699322b6eb3284b06d1f706336':
  Stop asking GCC to cause trouble.
2014-02-21 13:54:02 +00:00
Elliott Hughes
2244cd0155 am 1df76ccc: am 26172fa4: Merge "Move the upstream-netbsd libc files into the correct directory."
* commit '1df76ccc6022ad57c6cc8f4322be14b9c104192e':
  Move the upstream-netbsd libc files into the correct directory.
2014-02-21 04:19:46 +00:00
Elliott Hughes
77bd275640 am 5052dcd4: am 8d0fe1c4: Merge "Remove two DNS files that weren\'t being built."
* commit '5052dcd48897641e40256c8665441bde68a230da':
  Remove two DNS files that weren't being built.
2014-02-21 04:19:29 +00:00
Elliott Hughes
dfc86ed244 am 45352a06: am cb43f847: Merge "Unify our assembler macros."
* commit '45352a065cb66885a7d3e648664dbb2d16e7e529':
  Unify our assembler macros.
2014-02-21 04:19:21 +00:00
Elliott Hughes
578fa4e561 am 97dcfc06: am 22c6b7ff: Merge "Fix mips64 crt build."
* commit '97dcfc06e7502b53fc7f76ab6c88a6d030aceafa':
  Fix mips64 crt build.
2014-02-20 23:15:32 +00:00
Elliott Hughes
756f60da1d am 632e2422: am 6a686556: Merge "Remove useless _C_LABEL from our assembler source."
* commit '632e242207f337fb8d4e1ec80994a4eadb2ccfb8':
  Remove useless _C_LABEL from our assembler source.
2014-02-20 23:15:31 +00:00
Elliott Hughes
4708421b40 am f5fd87f4: am bfa2b6fc: Merge "Stop advertising an arm32-specific hack like it\'s a build system feature."
* commit 'f5fd87f4f993dee1ca728aac31bb927b34b6cb88':
  Stop advertising an arm32-specific hack like it's a build system feature.
2014-02-20 23:15:30 +00:00
Dmitriy Ivanov
ebf85ec7a7 am ac804934: am 54d49ac7: Merge "Added script generating additions to libgcc_compat.c from linker errors"
* commit 'ac8049349f056f87137ff9749877cb6f83fc3f10':
  Added script generating additions to libgcc_compat.c from linker errors
2014-02-20 23:15:29 +00:00
Elliott Hughes
21f6705147 am 8a498e4a: am ca566b31: Merge "Don\'t explicitly list the tzcode files."
* commit '8a498e4ab223466d6dc7c31dda025e7755b7a05c':
  Don't explicitly list the tzcode files.
2014-02-20 23:15:26 +00:00
Elliott Hughes
31425c9fce am e65055af: Merge "Stop asking GCC to cause trouble."
* commit 'e65055af112780623f372aca6a1f78d2b2acb34f':
  Stop asking GCC to cause trouble.
2014-02-20 22:55:25 +00:00
Elliott Hughes
e65055af11 Merge "Stop asking GCC to cause trouble." 2014-02-20 22:49:42 +00:00
Elliott Hughes
b8dc9bbd90 Stop asking GCC to cause trouble.
Why do we see so many bogus strict-aliasing warnings? Because we asked GCC to
cause trouble on arm and mips.

Change-Id: I25d7fd036b6afff7ccfa799abe0dc1579ead2847
2014-02-20 14:35:20 -08:00
Elliott Hughes
1df76ccc60 am 26172fa4: Merge "Move the upstream-netbsd libc files into the correct directory."
* commit '26172fa401a4323c8c9b4063a59ab6d08ca617bf':
  Move the upstream-netbsd libc files into the correct directory.
2014-02-20 22:28:48 +00:00
Elliott Hughes
26172fa401 Merge "Move the upstream-netbsd libc files into the correct directory." 2014-02-20 22:23:21 +00:00
Elliott Hughes
5052dcd488 am 8d0fe1c4: Merge "Remove two DNS files that weren\'t being built."
* commit '8d0fe1c49e83592372becc996accfe9d5948aa9b':
  Remove two DNS files that weren't being built.
2014-02-20 22:19:07 +00:00
Elliott Hughes
45352a065c am cb43f847: Merge "Unify our assembler macros."
* commit 'cb43f8474dafd7a4d3eb605d4a7c7f69ad7cef2e':
  Unify our assembler macros.
2014-02-20 22:19:07 +00:00
Elliott Hughes
677b6e605b Move the upstream-netbsd libc files into the correct directory.
I screwed up when I originally imported these files; they're in lib/libc/
in the upstream tree; there is no top-level libc/ (though there is a top-level
common/, so those files stay where they are).

Change-Id: I7c5e2224a4441ab0e33616a855a8c6aacfeac46f
2014-02-20 14:16:58 -08:00
Elliott Hughes
8d0fe1c49e Merge "Remove two DNS files that weren't being built." 2014-02-20 22:14:35 +00:00
Elliott Hughes
cb43f8474d Merge "Unify our assembler macros." 2014-02-20 22:13:18 +00:00
Elliott Hughes
d28b277952 Remove two DNS files that weren't being built.
And switch the makefile to just building everything in the relevant directory.

Change-Id: Ia7785c4dcabb51639c2230026f8a8a9eff919a36
2014-02-20 13:59:20 -08:00
Elliott Hughes
851e68a240 Unify our assembler macros.
Our <machine/asm.h> files were modified from upstream, to the extent
that no architecture was actually using the upstream ENTRY or END macros,
assuming that architecture even had such a macro upstream. This patch moves
everyone to the same macros, with just a few tweaks remaining in the
<machine/asm.h> files, which no one should now use directly.

I've removed most of the unused cruft from the <machine/asm.h> files, though
there's still rather a lot in the mips/mips64 ones.

Bug: 12229603
Change-Id: I2fff287dc571ac1087abe9070362fb9420d85d6d
2014-02-20 13:51:26 -08:00
Narayan Kamath
5d0b701451 am 8b6579d0: am d9459525: Merge "Fix signbit / infinite / isinf / isnan unit tests."
* commit '8b6579d02be07acf542946c11f0492065d6a7cbe':
  Fix signbit / infinite / isinf / isnan unit tests.
2014-02-20 21:28:05 +00:00
Elliott Hughes
08cf84db4e am f0e9d652: am 75f04d10: Merge "Remove the useless _C_LABEL from generated system calls."
* commit 'f0e9d652fa30c381295589f839a8f5f248a949f0':
  Remove the useless _C_LABEL from generated system calls.
2014-02-20 21:27:52 +00:00
Elliott Hughes
97dcfc06e7 am 22c6b7ff: Merge "Fix mips64 crt build."
* commit '22c6b7ffd36fe8b34b677eea94d00aef2624e4e8':
  Fix mips64 crt build.
2014-02-20 20:04:46 +00:00
Elliott Hughes
22c6b7ffd3 Merge "Fix mips64 crt build." 2014-02-20 19:58:23 +00:00
Elliott Hughes
632e242207 am 6a686556: Merge "Remove useless _C_LABEL from our assembler source."
* commit '6a686556b9f112fdf02ce404d680306ab1d901be':
  Remove useless _C_LABEL from our assembler source.
2014-02-20 19:58:15 +00:00
Elliott Hughes
c345caae9a Fix mips64 crt build.
This was broken during the multi-arch makefile changes.

Change-Id: Id25cf3273f63c11fbca1cff944fc5e1bf765c636
2014-02-20 11:57:25 -08:00
Elliott Hughes
6a686556b9 Merge "Remove useless _C_LABEL from our assembler source." 2014-02-20 19:52:37 +00:00
Elliott Hughes
09289d92f9 Remove useless _C_LABEL from our assembler source.
Change-Id: I41a9181537c70ecc69ef8035132c9a83811a40d0
2014-02-20 11:51:11 -08:00
Elliott Hughes
f5fd87f4f9 am bfa2b6fc: Merge "Stop advertising an arm32-specific hack like it\'s a build system feature."
* commit 'bfa2b6fc6a09df9815773890db94d6a126565289':
  Stop advertising an arm32-specific hack like it's a build system feature.
2014-02-20 19:46:24 +00:00
Dmitriy Ivanov
ac8049349f am 54d49ac7: Merge "Added script generating additions to libgcc_compat.c from linker errors"
* commit '54d49ac75b4b71f38eb154ab8e05f60b7c347a2b':
  Added script generating additions to libgcc_compat.c from linker errors
2014-02-20 19:46:23 +00:00
Elliott Hughes
bfa2b6fc6a Merge "Stop advertising an arm32-specific hack like it's a build system feature." 2014-02-20 19:41:15 +00:00
Dmitriy Ivanov
54d49ac75b Merge "Added script generating additions to libgcc_compat.c from linker errors" 2014-02-20 19:40:08 +00:00
Elliott Hughes
6e39ba73bf Stop advertising an arm32-specific hack like it's a build system feature.
Change-Id: I3a830b4a3516b6eb8e4f8e6e6b122a22a2e341df
2014-02-20 11:36:55 -08:00
Elliott Hughes
8a498e4ab2 am ca566b31: Merge "Don\'t explicitly list the tzcode files."
* commit 'ca566b31036704eb6cdde05a0bd9ee972d7a995d':
  Don't explicitly list the tzcode files.
2014-02-20 19:35:21 +00:00
Dmitriy Ivanov
adab51aefd Added script generating additions to libgcc_compat.c from linker errors
bug: 12234455
Change-Id: Icac35237f06e75745da5a91d9c4c941d7df4f84d
2014-02-20 11:34:08 -08:00
Elliott Hughes
ca566b3103 Merge "Don't explicitly list the tzcode files." 2014-02-20 19:31:13 +00:00
Elliott Hughes
1fbe6213cd Don't explicitly list the tzcode files.
Change-Id: I3ac19899523ac1f5fd2fdd6c942aefce75a964a4
2014-02-20 11:28:20 -08:00
Elliott Hughes
7809d7f4cb am 42049f4b: am fbaddda9: Merge "Linker writes to wrong memory location when processing DT_MIPS_RLD_MAP"
* commit '42049f4b9cf881e739ace101f1e06aed6c1f4f51':
  Linker writes to wrong memory location when processing DT_MIPS_RLD_MAP
2014-02-20 14:01:20 +00:00
Elliott Hughes
2bed56599f am bde420bb: am b69c0b53: Merge "Make mips/mips64 syscall stubs more like the other architectures."
* commit 'bde420bb86bbb0f4223a117cd3aaca00e7906501':
  Make mips/mips64 syscall stubs more like the other architectures.
2014-02-20 14:01:19 +00:00
The Android Automerger
84f71571ca merge in master-release history after reset to master 2014-02-20 05:49:19 -08:00
Narayan Kamath
8b6579d02b am d9459525: Merge "Fix signbit / infinite / isinf / isnan unit tests."
* commit 'd9459525b4133e825bf95d03b06e695433c124bd':
  Fix signbit / infinite / isinf / isnan unit tests.
2014-02-20 10:08:22 +00:00
Narayan Kamath
d9459525b4 Merge "Fix signbit / infinite / isinf / isnan unit tests." 2014-02-20 10:03:56 +00:00
Elliott Hughes
f0e9d652fa am 75f04d10: Merge "Remove the useless _C_LABEL from generated system calls."
* commit '75f04d107695f17bc800024d03e03b602dc02ee1':
  Remove the useless _C_LABEL from generated system calls.
2014-02-20 03:06:31 +00:00
Elliott Hughes
75f04d1076 Merge "Remove the useless _C_LABEL from generated system calls." 2014-02-20 03:00:16 +00:00
Elliott Hughes
d465eb4e76 Remove the useless _C_LABEL from generated system calls.
Change-Id: Id1d2fd39972652831ea825f6f9cf940b08f42b5c
2014-02-19 18:59:19 -08:00
Elliott Hughes
6a734b6df5 am 79183d7f: am 6db95a86: Merge "Top-level documentation about working on bionic."
* commit '79183d7ff46d5f2f1d465890da57aa4c510bb131':
  Top-level documentation about working on bionic.
2014-02-20 00:33:56 +00:00
Elliott Hughes
42049f4b9c am fbaddda9: Merge "Linker writes to wrong memory location when processing DT_MIPS_RLD_MAP"
* commit 'fbaddda9f04fa504deb752bba819eb1fa5439baa':
  Linker writes to wrong memory location when processing DT_MIPS_RLD_MAP
2014-02-19 23:45:49 +00:00
Elliott Hughes
bde420bb86 am b69c0b53: Merge "Make mips/mips64 syscall stubs more like the other architectures."
* commit 'b69c0b532e4f6d32e7c43a7be02a27e0b02e75c3':
  Make mips/mips64 syscall stubs more like the other architectures.
2014-02-19 23:42:17 +00:00
Elliott Hughes
fbaddda9f0 Merge "Linker writes to wrong memory location when processing DT_MIPS_RLD_MAP" 2014-02-19 23:40:46 +00:00
Elliott Hughes
b69c0b532e Merge "Make mips/mips64 syscall stubs more like the other architectures." 2014-02-19 23:35:31 +00:00
Elliott Hughes
79183d7ff4 am 6db95a86: Merge "Top-level documentation about working on bionic."
* commit '6db95a869e5c57713632106878d854c7c0aff7a1':
  Top-level documentation about working on bionic.
2014-02-19 23:03:39 +00:00
Elliott Hughes
6db95a869e Merge "Top-level documentation about working on bionic." 2014-02-19 22:58:04 +00:00
Elliott Hughes
9abbbdc534 Make mips/mips64 syscall stubs more like the other architectures.
Change-Id: I55f8c1a95f643a6e484f12fbcc25e2c77e55b6b8
2014-02-19 14:54:31 -08:00
Elliott Hughes
dae87c0c74 am ace8dfab: am e6c451f5: Merge "Make mips generated assembler more like the mips64 stuff."
* commit 'ace8dfab1fe07890440e8acf4a1e2c0cf0d0489d':
  Make mips generated assembler more like the mips64 stuff.
2014-02-19 20:42:33 +00:00
Elliott Hughes
ace8dfab1f am e6c451f5: Merge "Make mips generated assembler more like the mips64 stuff."
* commit 'e6c451f5f2e17fccccedaa1c2a90d8d9ba0c1917':
  Make mips generated assembler more like the mips64 stuff.
2014-02-19 20:34:25 +00:00
Elliott Hughes
e6c451f5f2 Merge "Make mips generated assembler more like the mips64 stuff." 2014-02-19 20:28:34 +00:00
Elliott Hughes
eae27dc55a Make mips generated assembler more like the mips64 stuff.
I broke the mips build yesterday because it doesn't use
<private/bionic_asm.h> like the other architectures, including mips64.
I want to move mips closer to mips64 to try to avoid this kind of thing
in future.

Change-Id: Idb985587ff355b9e5e765c1f5671dc0144cd2488
2014-02-19 12:20:00 -08:00
Narayan Kamath
5f6f4a956c Fix signbit / infinite / isinf / isnan unit tests.
Turns out stlport isn't broken. <cmath> (included
transitively via gtest in our case) is not required
to make C99 math macros (like signbit) available, nor is
it required to preserve them if they're already defined.
It is only required to make the equivalent functions in
namespace std available.

I couldn't find any documentation of required behaviour for
programs that include both <math.h> and <cmath>.

I've verified experimentally that llvm's libc++ and gnu
stl behave the same as stlport.

bug: 12935307

Change-Id: I9dc5cc0fd9f4f259abc8eefb280177cdd092a94b
2014-02-19 18:50:30 +00:00
The Android Automerger
098f0986b2 merge in master-release history after reset to master 2014-02-19 05:49:30 -08:00
Elliott Hughes
560cee6bff Top-level documentation about working on bionic.
Change-Id: If0a531865fa9c0d57486b98d4b78e3efcbf4e1d1
2014-02-18 22:08:56 -08:00
Elliott Hughes
b3183def04 am 112e3a9a: am 44ef37c1: Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat."
* commit '112e3a9a8c4c89b1cce366bc0c7a7f15fae862c2':
  Use uid_t and gid_t for st_uid and st_gid in struct stat.
2014-02-19 01:02:24 +00:00
Elliott Hughes
8a6ad03d0c am f7e642b9: am 24ef4779: Merge "Fix build by avoiding the _C_LABEL macro."
* commit 'f7e642b9ff2c0c70d9a800d0873880a58a33e424':
  Fix build by avoiding the _C_LABEL macro.
2014-02-19 00:58:59 +00:00
Elliott Hughes
112e3a9a8c am 44ef37c1: Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat."
* commit '44ef37c1b445e864068cdcd885ab3d7b17079ad3':
  Use uid_t and gid_t for st_uid and st_gid in struct stat.
2014-02-19 00:56:51 +00:00
Elliott Hughes
f7e642b9ff am 24ef4779: Merge "Fix build by avoiding the _C_LABEL macro."
* commit '24ef4779eb47f23b8d4f4e678d677bd45a91373f':
  Fix build by avoiding the _C_LABEL macro.
2014-02-19 00:52:24 +00:00
Elliott Hughes
44ef37c1b4 Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat." 2014-02-19 00:51:31 +00:00
Elliott Hughes
24ef4779eb Merge "Fix build by avoiding the _C_LABEL macro." 2014-02-19 00:46:32 +00:00
Elliott Hughes
6b5559315d Use uid_t and gid_t for st_uid and st_gid in struct stat.
Change-Id: Ide62dc714d76d881e3aa79e7a59ee6533a23dd00
2014-02-18 16:43:31 -08:00
Elliott Hughes
986f906710 Fix build by avoiding the _C_LABEL macro.
Change-Id: Ide367c2b65071388bd95fbc81a4ed6ae94aec4e4
2014-02-18 16:42:36 -08:00
Elliott Hughes
5dfe323310 am f25d0c1d: am 787c1f93: Merge "Add missing file from previous change."
* commit 'f25d0c1d4dc0f757dc7bf342b1964e875c439933':
  Add missing file from previous change.
2014-02-19 00:02:11 +00:00
Elliott Hughes
f25d0c1d4d am 787c1f93: Merge "Add missing file from previous change."
* commit '787c1f937a915feefb767d0c6a15ddb70e6de933':
  Add missing file from previous change.
2014-02-18 23:55:16 +00:00
Elliott Hughes
781236e321 am a676a54e: am b3602078: Merge "Implement some of the missing LFS64 support."
* commit 'a676a54e5dbb1ddda0c0045d990a920558671233':
  Implement some of the missing LFS64 support.
2014-02-18 23:54:43 +00:00
Benjamin Adolphi
006f9ad891 Linker writes to wrong memory location when processing DT_MIPS_RLD_MAP
When bionic's dynamic linker processes the .dynamic section of a MIPS ELF binary and encounters the DT_MIPS_RLD_MAP dynamic array tag, it calculates the address of where to write a pointer to the _r_debug structure. The current implementation simply reads the value given in the d_ptr field and writes the pointer address to that location. However, this value has to be adjusted to reflect the real load address of the binary. Otherwise the linker will write to a faulty location possibly resulting in a crash when linking a MIPS binary that includes DT_MIPS_RLD_MAP. This change corrects that problem.

Change-Id: I1a91874f7ab47289001fe72d9016660c14c70362
Signed-off-by: Benjamin Adolphi <b.adolphi@gmail.com>
2014-02-19 00:50:32 +01:00
Elliott Hughes
787c1f937a Merge "Add missing file from previous change." 2014-02-18 23:49:16 +00:00
Elliott Hughes
1d18e9cc0a Add missing file from previous change.
Change-Id: Id25000162a9ed76ce756842bdc09fe9afff9528f
2014-02-18 15:48:56 -08:00
Elliott Hughes
a676a54e5d am b3602078: Merge "Implement some of the missing LFS64 support."
* commit 'b36020789ac860fcfbbeaf56d560926d8ee228f6':
  Implement some of the missing LFS64 support.
2014-02-18 23:47:56 +00:00
Elliott Hughes
b36020789a Merge "Implement some of the missing LFS64 support." 2014-02-18 23:40:56 +00:00
Elliott Hughes
db1ea34748 Implement some of the missing LFS64 support.
This gives us:

* <dirent.h>
  struct dirent64
  readdir64, readdir64_r, alphasort64, scandir64

* <fcntl.h>
  creat64, openat64, open64.

* <sys/stat.h>
  struct stat64
  fstat64, fstatat64, lstat64, stat64.

* <sys/statvfs.h>
  struct statvfs64
  statvfs64, fstatvfs64.

* <sys/vfs.h>
  struct statfs64
  statfs64, fstatfs64.

This also removes some of the incorrect #define hacks we've had in the
past (for stat64, for example, which we promised to clean up way back
in bug 8472078).

Bug: 11865851
Bug: 8472078
Change-Id: Ia46443521918519f2dfa64d4621027dfd13ac566
2014-02-18 15:39:24 -08:00
Elliott Hughes
f998473357 am df3d56db: am 3623d806: Merge "Fix x86 build."
* commit 'df3d56db663a19d0de8f743102d13e62343c874c':
  Fix x86 build.
2014-02-18 20:47:29 +00:00
Elliott Hughes
a1ac8a60da am d49247be: am ffe02668: Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value"
* commit 'd49247be279b337fdd72c15421dcaf318489d284':
  bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
2014-02-18 20:42:57 +00:00
Elliott Hughes
df3d56db66 am 3623d806: Merge "Fix x86 build."
* commit '3623d80675e5321b92c2d88a7b7ec6bd998d81d5':
  Fix x86 build.
2014-02-18 20:40:54 +00:00
Elliott Hughes
d49247be27 am ffe02668: Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value"
* commit 'ffe026680edaba268330bc67dd986d2c900ecfc7':
  bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
2014-02-18 20:36:25 +00:00
Elliott Hughes
3623d80675 Merge "Fix x86 build." 2014-02-18 20:35:15 +00:00
Elliott Hughes
915fefb62e Fix x86 build.
Change-Id: Iee6e5884288f7da6c955694cfe32fecfd9c9e263
2014-02-18 12:34:51 -08:00
Elliott Hughes
ffe026680e Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value" 2014-02-18 20:31:01 +00:00
Elliott Hughes
662655428d am 29eed9cc: am 7f15e28d: Merge "Clean up warnings in libstdc++."
* commit '29eed9cc3aaee9236ec3c6397b41d5421e9b0c91':
  Clean up warnings in libstdc++.
2014-02-18 20:18:18 +00:00
Elliott Hughes
b8662c63b4 am d4c049e0: am cd6748cd: Merge "Clean up various warnings in bionic."
* commit 'd4c049e0234b0447b4da4369f2e2e509fe3ac549':
  Clean up various warnings in bionic.
2014-02-18 20:18:17 +00:00
Colin Cross
3d19a8319b bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
bionic/libc/arch-arm64/syscalls/read.S ends with:
    b.hi __set_errno
    ret
END(read)

If __set_errno returns int, it will set w0 to 0xFFFFFFFF, which means
x0 is 0x00000000FFFFFFFF.  When interpreted as a ssize_t that is
INT_MAX, not -1.

Change __set_errno to return long, which will cause x0 to be set instead
of w0.

Change-Id: I9f9ea0f2995928d2ea240eb2ff7758ecdf0ff412
2014-02-18 12:11:38 -08:00
Elliott Hughes
29eed9cc3a am 7f15e28d: Merge "Clean up warnings in libstdc++."
* commit '7f15e28dd4184015a2c990b6e45c33c35b251935':
  Clean up warnings in libstdc++.
2014-02-18 20:11:36 +00:00
Elliott Hughes
d4c049e023 am cd6748cd: Merge "Clean up various warnings in bionic."
* commit 'cd6748cdd7bcab702fe0bf6de943eb832f4fb762':
  Clean up various warnings in bionic.
2014-02-18 20:11:35 +00:00
Elliott Hughes
7f15e28dd4 Merge "Clean up warnings in libstdc++." 2014-02-18 20:05:59 +00:00
Elliott Hughes
cd6748cdd7 Merge "Clean up various warnings in bionic." 2014-02-18 20:05:17 +00:00
Elliott Hughes
a38cb08861 Clean up various warnings in bionic.
Change-Id: Ic57541d0a567fd4ae79f0ad59b2ffde1130eb7d2
2014-02-18 12:04:54 -08:00
Elliott Hughes
240f1e2940 Clean up warnings in libstdc++.
Change-Id: Ie71a2fdf227e7a5fc9a446bb1be110da9b3a4280
2014-02-18 12:02:37 -08:00
The Android Automerger
c818bf9366 merge in master-release history after reset to master 2014-02-18 05:49:07 -08:00
Elliott Hughes
1135bf27eb am 447d5655: am d4bc9ef8: Merge "Remove duplicate definitions of MIN and MAX."
* commit '447d5655498f1dc2a20269e252fd0442d78b4ff2':
  Remove duplicate definitions of MIN and MAX.
2014-02-17 19:10:32 +00:00
Elliott Hughes
447d565549 am d4bc9ef8: Merge "Remove duplicate definitions of MIN and MAX."
* commit 'd4bc9ef83b36916d5e63c4c3e4a092381473ea52':
  Remove duplicate definitions of MIN and MAX.
2014-02-17 19:05:00 +00:00
Elliott Hughes
d4bc9ef83b Merge "Remove duplicate definitions of MIN and MAX." 2014-02-17 19:00:18 +00:00
Elliott Hughes
cfbfe7059c Remove duplicate definitions of MIN and MAX.
These were needed when bionic's header files were missing these macros (though
it would have made a lot more sense to just fix the header files!) but cause
warnings now.

Change-Id: I65a677122f4f6bd07dffc3f37a0c4c0e823d1bb0
2014-02-17 10:57:56 -08:00
The Android Automerger
72eeda5aa5 merge in master-release history after reset to master 2014-02-17 05:49:25 -08:00
Colin Cross
0d873f8950 am 9e8ee4dd: am 95b808c4: Merge "build linker and linker64 on 64-bit architectures"
* commit '9e8ee4dd6ae56ee541a2c858039e29314a6923d6':
  build linker and linker64 on 64-bit architectures
2014-02-14 01:08:39 +00:00
Colin Cross
9e8ee4dd6a am 95b808c4: Merge "build linker and linker64 on 64-bit architectures"
* commit '95b808c4ae11ea5737fee63f7b61673483ea5e2d':
  build linker and linker64 on 64-bit architectures
2014-02-14 01:02:47 +00:00
Colin Cross
95b808c4ae Merge "build linker and linker64 on 64-bit architectures" 2014-02-14 00:56:22 +00:00
Colin Cross
36ee4ab243 build linker and linker64 on 64-bit architectures
Change-Id: I400bbaf5a779fc427de4c3d86c66548b0179b10d
2014-02-13 11:18:47 -08:00
The Android Automerger
45a4b237c8 merge in master-release history after reset to master 2014-02-13 05:49:36 -08:00
Elliott Hughes
db01286237 am 57f42f77: am fadc8a77: Merge "Restore sys_signame for LP64."
* commit '57f42f773dac7cbe374ec8449b1b57599367a878':
  Restore sys_signame for LP64.
2014-02-13 11:27:26 +00:00
Elliott Hughes
97503e2311 am 97a376d8: am fc48e8cf: Merge "Remove unused variables not spotted by GCC."
* commit '97a376d856f91b0406a71174dc1314fc3f3b31f2':
  Remove unused variables not spotted by GCC.
2014-02-13 11:27:19 +00:00
Elliott Hughes
796d2b1971 am f2e3964d: am 7b3876e2: Merge "Clean up sys_signame and sys_siglist a little."
* commit 'f2e3964d4e060d1b76be34bdc7847fad5c11ca63':
  Clean up sys_signame and sys_siglist a little.
2014-02-13 11:27:18 +00:00
Ying Wang
bf543d12de am 00956d03: am 9e572ca4: Merge "Fix missing args."
* commit '00956d039fb4ceafe92d5ffade51725b95da38d4':
  Fix missing args.
2014-02-13 11:27:18 +00:00
Elliott Hughes
57f42f773d am fadc8a77: Merge "Restore sys_signame for LP64."
* commit 'fadc8a7777ca304c8a7de066a94effd3a5471ee6':
  Restore sys_signame for LP64.
2014-02-13 03:48:55 +00:00
Elliott Hughes
fadc8a7777 Merge "Restore sys_signame for LP64." 2014-02-13 03:43:11 +00:00
Elliott Hughes
671e236d5f Restore sys_signame for LP64.
mksh is using this, and we probably build as much BSD source as glibc source.

Change-Id: I400d255a67f9614ca9e57090e3a2e49d2b10cba4
2014-02-12 19:04:27 -08:00
Elliott Hughes
97a376d856 am fc48e8cf: Merge "Remove unused variables not spotted by GCC."
* commit 'fc48e8cf28b80ce0f95e288eeee459b4cb932afa':
  Remove unused variables not spotted by GCC.
2014-02-13 01:30:18 +00:00
Elliott Hughes
fc48e8cf28 Merge "Remove unused variables not spotted by GCC." 2014-02-13 01:23:31 +00:00
Elliott Hughes
f2e3964d4e am 7b3876e2: Merge "Clean up sys_signame and sys_siglist a little."
* commit '7b3876e2516fd55d61a48cb23a7080ea88b9617b':
  Clean up sys_signame and sys_siglist a little.
2014-02-13 01:18:07 +00:00
Elliott Hughes
c62b8a4d3f Remove unused variables not spotted by GCC.
Change-Id: I49a16096bc0f41f3ad0007249161e8bdfcf3438c
2014-02-12 17:17:41 -08:00
Ying Wang
717cd12134 am c25552bb: am c4c50b25: Merge "Reconfig libc\'s Android.mk to build for multilib"
* commit 'c25552bb13e664bfd4574d77cbcaad459b52a47f':
  Reconfig libc's Android.mk to build for multilib
2014-02-13 01:11:36 +00:00
Elliott Hughes
7b3876e251 Merge "Clean up sys_signame and sys_siglist a little." 2014-02-13 01:10:42 +00:00
Elliott Hughes
aa0ebdafc7 Clean up sys_signame and sys_siglist a little.
We don't need quite so much duplication because we already have a way
to get the signal number from its name, and that already copes with the
fact that the mips/mips64 numbers are different from everyone else's.

Also remove sys_signame from LP64. glibc doesn't have this BSD-ism.

Change-Id: I6dc411a3d73589383c85d3b07d9d648311492a10
2014-02-12 17:09:25 -08:00
Ying Wang
00956d039f am 9e572ca4: Merge "Fix missing args."
* commit '9e572ca4163e42bcd053df2cb8557e4b61ad064d':
  Fix missing args.
2014-02-13 00:51:16 +00:00
Ying Wang
9e572ca416 Merge "Fix missing args." 2014-02-13 00:43:23 +00:00
Ying Wang
76c8b88269 Fix missing args.
Change-Id: I89a366db984ea6b2553896a4351e59bb91f93040
2014-02-12 16:40:55 -08:00
Ying Wang
c25552bb13 am c4c50b25: Merge "Reconfig libc\'s Android.mk to build for multilib"
* commit 'c4c50b25f805b48338f3e8fb9ac137e81c187706':
  Reconfig libc's Android.mk to build for multilib
2014-02-12 23:59:49 +00:00
Ying Wang
c4c50b25f8 Merge "Reconfig libc's Android.mk to build for multilib" 2014-02-12 23:53:08 +00:00
Elliott Hughes
dc6cd351b9 am f1f19464: am 819c132e: Merge "Fix NSIG."
* commit 'f1f19464c52e663ade6c18833eaa30bfcd5194de':
  Fix NSIG.
2014-02-12 23:01:26 +00:00
Elliott Hughes
5f72c86e4b am bff8cdfc: am 022885e2: Merge "Clean up all the lint cpplint can find in the dynamic linker."
* commit 'bff8cdfcece52f3fedaabb1fb498fdd7b4984f57':
  Clean up all the lint cpplint can find in the dynamic linker.
2014-02-12 23:01:26 +00:00
Elliott Hughes
23c7bdbbdd am b5bf7a72: am 577fce01: Merge "[MIPS64] Dynamic linker"
* commit 'b5bf7a725f5b63b0239fd5d92087d2f4c9dbee25':
  [MIPS64] Dynamic linker
2014-02-12 23:01:25 +00:00
Elliott Hughes
b7dfb8ab04 am d26184c0: am c856baee: Merge "Build syscall stubs in their own library."
* commit 'd26184c0385105ada22a9c060858a10e7b8f53e5':
  Build syscall stubs in their own library.
2014-02-12 23:01:24 +00:00
Ying Wang
f25d677147 Reconfig libc's Android.mk to build for multilib
1. Moved arch-specific setup to their own files:
    - <arch>/<arch>.mk, arch-specific configs. Variables in those config
      end with the arch name.
    - removed the extra complexity introduced by function libc-add-cpu-variant-src,
      which seems to be not very useful these days.
2. Separated out the crt object files generation rules and set up the
   rules for both TARGET_ARCH and TARGET_2ND_ARCH.
3. Build all the libraries for both TARGET_ARCH and TARGET_2ND_ARCH,
  with the arch-specific LOCAL_ variables.

Bug: 11654773
Change-Id: I9c2d85db0affa49199d182236d2210060a321421
2014-02-12 13:58:34 -08:00
Elliott Hughes
f1f19464c5 am 819c132e: Merge "Fix NSIG."
* commit '819c132ebc18a458f651e6dacd75a0950269656b':
  Fix NSIG.
2014-02-12 20:20:20 +00:00
Elliott Hughes
819c132ebc Merge "Fix NSIG." 2014-02-12 20:13:29 +00:00
Elliott Hughes
bff8cdfcec am 022885e2: Merge "Clean up all the lint cpplint can find in the dynamic linker."
* commit '022885e2fad5ef9643e05d80c6f50a2a90bf3431':
  Clean up all the lint cpplint can find in the dynamic linker.
2014-02-12 19:22:52 +00:00
Elliott Hughes
b5bf7a725f am 577fce01: Merge "[MIPS64] Dynamic linker"
* commit '577fce0108feda58296beacfbc0ada4a6d6afbc2':
  [MIPS64] Dynamic linker
2014-02-12 19:22:44 +00:00
Elliott Hughes
d26184c038 am c856baee: Merge "Build syscall stubs in their own library."
* commit 'c856baeeade96c167400f179a86d50c426e81788':
  Build syscall stubs in their own library.
2014-02-12 19:22:30 +00:00
The Android Automerger
031ea3bd6c merge in master-release history after reset to master 2014-02-12 05:49:10 -08:00
Elliott Hughes
199346a2ab Fix NSIG.
Our sigset_t definition hasn't been tied to our NSIG definition since we
switched to uapi headers, so we can now fix it without breaking the LP32 ABI.
The kernel uapi headers define and use _NSIG, so we need to have our scripts
rename the kernel's definitions out of the way, then we can define _NSIG
and NSIG in terms of the kernel's off-by-one value.

Bug: 12938442
Change-Id: Ic7c86fd5be5ad1d822f7b2b1d88c8a0d70a1ac0f
2014-02-11 22:16:04 -08:00
Elliott Hughes
022885e2fa Merge "Clean up all the lint cpplint can find in the dynamic linker." 2014-02-12 01:35:04 +00:00
Elliott Hughes
faf05bacd4 Clean up all the lint cpplint can find in the dynamic linker.
Change-Id: Ic9ee7153817c22a252cc4b309283e355b623cab9
2014-02-11 17:33:49 -08:00
Elliott Hughes
577fce0108 Merge "[MIPS64] Dynamic linker" 2014-02-11 23:48:51 +00:00
Chris Dearman
9918665a45 [MIPS64] Dynamic linker
Change-Id: I937c7c776cae3d66e214798d5217a922cd106bfc
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-11 15:33:14 -08:00
Elliott Hughes
c856baeead Merge "Build syscall stubs in their own library." 2014-02-11 22:01:45 +00:00
Elliott Hughes
b3a23bd017 Build syscall stubs in their own library.
This lets us lose the auto-generated makefiles.

Change-Id: I2de0c71b3b9c08f9cce8f4ff7fd7254dda008c86
2014-02-11 13:52:02 -08:00
Elliott Hughes
79ea3e3c74 am f7aa55d6: am a206dde5: Merge "Clean up cacheflush."
* commit 'f7aa55d684ecceab531856917745a52dc2eb05e1':
  Clean up cacheflush.
2014-02-11 18:38:43 +00:00
Elliott Hughes
f7aa55d684 am a206dde5: Merge "Clean up cacheflush."
* commit 'a206dde5bdf9b4d995bf578cc3b54fb8b85e02c5':
  Clean up cacheflush.
2014-02-11 18:32:43 +00:00
Elliott Hughes
a206dde5bd Merge "Clean up cacheflush." 2014-02-11 18:28:03 +00:00
Elliott Hughes
a6ecba4d23 Clean up cacheflush.
No cacheflush for LP64; use the GCC builtin instead. Clean up the
32-bit MIPS implementation now we no longer need to worry about
old versions of GCC.

Bug: 12924756
Change-Id: Ie23955b3ec194e226c4b2bce35b11d5e061f4753
2014-02-11 10:24:40 -08:00
The Android Automerger
629af9ca99 merge in master-release history after reset to master 2014-02-11 05:49:16 -08:00
Elliott Hughes
7949942e5e am 5f0374ab: am 71e4466b: Merge "Switch <elf.h> over to linux uapi under the covers."
* commit '5f0374ab4ff198c658b3902ebf4cc8f818efc5fc':
  Switch <elf.h> over to linux uapi under the covers.
2014-02-11 02:40:00 +00:00
Elliott Hughes
5f0374ab4f am 71e4466b: Merge "Switch <elf.h> over to linux uapi under the covers."
* commit '71e4466b100359f36a29c8c0277888df6081a265':
  Switch <elf.h> over to linux uapi under the covers.
2014-02-11 02:32:57 +00:00
Elliott Hughes
71e4466b10 Merge "Switch <elf.h> over to linux uapi under the covers." 2014-02-11 02:22:45 +00:00
Elliott Hughes
0266ae5f88 Switch <elf.h> over to linux uapi under the covers.
Remove the linker's reliance on BSD cruft and use the glibc-style
ElfW macro. (Other code too, but the linker contains the majority
of the code that needs to work for Elf32 and Elf64.)

All platforms need dl_iterate_phdr_static, so it doesn't make sense
to have that part of the per-architecture configuration.

Bug: 12476126
Change-Id: I1d7f918f1303a392794a6cd8b3512ff56bd6e487
2014-02-10 18:22:24 -08:00
Elliott Hughes
7fcdeb9570 am 6b0da947: am eeb9a9f5: Merge "Fix <link.h>."
* commit '6b0da947e9bc8badc739eece66cf3a9f66188dd4':
  Fix <link.h>.
2014-02-11 00:18:38 +00:00
Elliott Hughes
6b0da947e9 am eeb9a9f5: Merge "Fix <link.h>."
* commit 'eeb9a9f59a58a2f042e8f6fd1a4911ae92ac5493':
  Fix <link.h>.
2014-02-11 00:09:12 +00:00
Elliott Hughes
eeb9a9f59a Merge "Fix <link.h>." 2014-02-11 00:03:03 +00:00
Elliott Hughes
3a9c5d66dc Fix <link.h>.
Also move some of the stuff that should be in <link.h> out of the
private "linker.h", to make it clearer that these are public API
known to gdb that we can't change.

Bug: 12554197
Change-Id: I830e1260d3d8b833ed99bc1518f1c6b6102be8af
2014-02-10 13:31:13 -08:00
The Android Automerger
863c6684a6 merge in master-release history after reset to master 2014-02-10 05:49:18 -08:00
Elliott Hughes
db8e3c7dd2 am e7b1e0e2: am e74fc3a6: Merge "Fix socklen_t (on LP64 only)."
* commit 'e7b1e0e2919c65f352f4bf89cc4eb93151873453':
  Fix socklen_t (on LP64 only).
2014-02-10 12:50:51 +00:00
Elliott Hughes
09be5e752c am 1138e128: am c16a4532: Merge "Remove <sys/_types.h>."
* commit '1138e1281285ab17e2eb315e7d34e9c6bb752383':
  Remove <sys/_types.h>.
2014-02-10 12:50:50 +00:00
Christopher Ferris
82e8794c78 am d12185bf: am 4affcbf8: Merge "Make sure that the same tests are on all platforms."
* commit 'd12185bf2c9ad343e44ff9aeb0247f4963222281':
  Make sure that the same tests are on all platforms.
2014-02-10 12:50:50 +00:00
Elliott Hughes
d5952e1bfa am f03ea9d0: am 8a80a23c: Merge "[MIPS64] libc/libm support"
* commit 'f03ea9d02459c888fef26761e4139c1da065c821':
  [MIPS64] libc/libm support
2014-02-08 07:22:15 +00:00
Elliott Hughes
e7b1e0e291 am e74fc3a6: Merge "Fix socklen_t (on LP64 only)."
* commit 'e74fc3a64fe9296813e5bd867d0c66bd8213be6a':
  Fix socklen_t (on LP64 only).
2014-02-08 01:11:54 +00:00
Elliott Hughes
e74fc3a64f Merge "Fix socklen_t (on LP64 only)." 2014-02-08 01:05:35 +00:00
Elliott Hughes
ebd90b9ba9 Fix socklen_t (on LP64 only).
Too late to fix LP32 :-(

Bug: 12935461
Change-Id: Ib056ca1eaf9ae8712f88ae21ff94e91b08cf588b
2014-02-07 16:50:55 -08:00
Elliott Hughes
1138e12812 am c16a4532: Merge "Remove <sys/_types.h>."
* commit 'c16a4532917259fabc8018d681cdd1ad1b1b5e08':
  Remove <sys/_types.h>.
2014-02-08 00:37:32 +00:00
Elliott Hughes
c16a453291 Merge "Remove <sys/_types.h>." 2014-02-08 00:23:50 +00:00
Elliott Hughes
9f87a0b285 Remove <sys/_types.h>.
Bug: 12213562
Change-Id: I0d10664f9da60739bdbad0408be0dd61eea3c1fe
2014-02-07 14:55:58 -08:00
Christopher Ferris
d12185bf2c am 4affcbf8: Merge "Make sure that the same tests are on all platforms."
* commit '4affcbf87769c43c4d03ecd60f902b0b6a6cb84a':
  Make sure that the same tests are on all platforms.
2014-02-07 19:43:29 +00:00
Christopher Ferris
4affcbf877 Merge "Make sure that the same tests are on all platforms." 2014-02-07 19:03:41 +00:00
Christopher Ferris
f04935c85e Make sure that the same tests are on all platforms.
In order to be able to generate a list of tests for cts, the same set of
tests must exist across all platforms. This CL adds empty tests where a
test was conditionally compiled out.

This CL creates a single library libBionicTests that includes all of
the tests found in bionic-unit-tests-static.

Also fix a few missing include files in some test files.

Tested by running and compiling the tests for every platform and
verifying the same number of tests are on each platform.

Change-Id: I9989d4bfebb0f9c409a0ce7e87169299eac605a2
2014-02-06 20:12:21 -08:00
Elliott Hughes
f03ea9d024 am 8a80a23c: Merge "[MIPS64] libc/libm support"
* commit '8a80a23c930a41b62cfa47bed362732ee5833bf0':
  [MIPS64] libc/libm support
2014-02-07 00:28:47 +00:00
Elliott Hughes
8a80a23c93 Merge "[MIPS64] libc/libm support" 2014-02-07 00:23:22 +00:00
Chris Dearman
645d0312c2 [MIPS64] libc/libm support
libc/libm support for MIPS64 targets

Change-Id: I8271941d418612a286be55495f0e95822f90004f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
2014-02-06 16:22:20 -08:00
Elliott Hughes
175f230ffc am c2917297: am 5036935c: Merge "[MIPS64] Add syscall related files"
* commit 'c2917297bd34c8345c9b384b874f122ec4597779':
  [MIPS64] Add syscall related files
2014-02-07 00:02:24 +00:00
Elliott Hughes
c2917297bd am 5036935c: Merge "[MIPS64] Add syscall related files"
* commit '5036935c41d9193cfbba606df2121cd4c6973116':
  [MIPS64] Add syscall related files
2014-02-06 23:45:28 +00:00
Elliott Hughes
5036935c41 Merge "[MIPS64] Add syscall related files" 2014-02-06 23:40:22 +00:00
Chris Dearman
5043212b76 [MIPS64] Add syscall related files
Change-Id: I2f5d05df0e767538a6fe467ca0a2386325f8b71f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-06 15:39:38 -08:00
The Android Automerger
0ee47829fc merge in master-release history after reset to master 2014-02-06 05:49:40 -08:00
Elliott Hughes
3e9d866b28 am 03910c9a: am e163a398: Merge "Remove unused cruft from MIPS <machine/signal.h>."
* commit '03910c9ae1ab504c3d542416eac741147cb89e0a':
  Remove unused cruft from MIPS <machine/signal.h>.
2014-02-05 22:36:01 +00:00
Elliott Hughes
03910c9ae1 am e163a398: Merge "Remove unused cruft from MIPS <machine/signal.h>."
* commit 'e163a3986aa7d1c67fe3274eb9204812be0a6245':
  Remove unused cruft from MIPS <machine/signal.h>.
2014-02-05 22:28:58 +00:00
Elliott Hughes
e163a3986a Merge "Remove unused cruft from MIPS <machine/signal.h>." 2014-02-05 22:24:53 +00:00
Elliott Hughes
be97620a56 am 9eb69a3c: am 375aaa3f: Merge "Kill <machine/_types.h>."
* commit '9eb69a3c72c0ee23fd5f11997c2c0f7e5c0c58a3':
  Kill <machine/_types.h>.
2014-02-05 22:15:57 +00:00
Elliott Hughes
ea0fab18ba Remove unused cruft from MIPS <machine/signal.h>.
An extra (unused) struct sigcontext doesn't help anybody.

Change-Id: I73899fe7e1ccccf50a507c737945cf014d430396
2014-02-05 14:11:38 -08:00
Elliott Hughes
9eb69a3c72 am 375aaa3f: Merge "Kill <machine/_types.h>."
* commit '375aaa3f608d6089102b256f162e423638a16c47':
  Kill <machine/_types.h>.
2014-02-05 22:08:36 +00:00
Elliott Hughes
375aaa3f60 Merge "Kill <machine/_types.h>." 2014-02-05 22:04:39 +00:00
The Android Automerger
689348175a merge in master-release history after reset to master 2014-02-05 05:49:42 -08:00
Elliott Hughes
9afe2884c7 Kill <machine/_types.h>.
Most of <machine/_types.h> was either unused, wrong, or identical across
all 32-/64-bit architectures.

I'm not a huge fan of <sys/_types.h> either, but moving the bits we need
up into there is a step forward.

Bug: 12213562
Change-Id: Id13551c78966e324beee2dd90c5575e37d2a71e6
2014-02-04 19:26:31 -08:00
The Android Automerger
e01c404575 merge in master-release history after reset to master 2014-02-04 05:49:18 -08:00
Ying Wang
0734c84699 am 616ea65d: am 12e8b76e: Merge "Use arch-specific LOCAL_ variables to build libm."
* commit '616ea65dbaa95c0aaf577e2169ccbe229c70f2a7':
  Use arch-specific LOCAL_ variables to build libm.
2014-02-04 02:13:47 +00:00
Ying Wang
616ea65dba am 12e8b76e: Merge "Use arch-specific LOCAL_ variables to build libm."
* commit '12e8b76e5f799b2b8407bf354a9675577529d34b':
  Use arch-specific LOCAL_ variables to build libm.
2014-02-04 02:05:54 +00:00
Ying Wang
12e8b76e5f Merge "Use arch-specific LOCAL_ variables to build libm." 2014-02-04 01:20:32 +00:00
Ying Wang
609526f97f Use arch-specific LOCAL_ variables to build libm.
Use arch-specific LOCAL_ variables to build libm for both
TARGET_ARCH and TARGET_2ND_ARCH.

Bug: 11654773
Change-Id: I6da794ba722bb68e7484d8869c6eb0425b7d17cb
2014-02-03 17:19:41 -08:00
Elliott Hughes
8fac620e2f am 6944fcf0: am 53cc62c3: Merge "Add fallocate/fallocate64/posix_fallocate/posix_fallocate64."
* commit '6944fcf04e76a76a467dd4ab61af123539f7ccf7':
  Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.
2014-02-04 00:49:45 +00:00
Elliott Hughes
6944fcf04e am 53cc62c3: Merge "Add fallocate/fallocate64/posix_fallocate/posix_fallocate64."
* commit '53cc62c31bfb6c329299549b69fdadd2705f6497':
  Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.
2014-02-04 00:44:13 +00:00
Elliott Hughes
53cc62c31b Merge "Add fallocate/fallocate64/posix_fallocate/posix_fallocate64." 2014-02-04 00:39:30 +00:00
Elliott Hughes
f64b8ea09d Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.
Bug: 5287571
Bug: 12612860
Change-Id: I4501b9c6cdf9a830336ce0b3afc4ea716b6a0f6f
2014-02-03 16:20:46 -08:00
Elliott Hughes
2780476778 am 226f970a: am a122c376: Merge "Use __inline__ for fortify."
* commit '226f970a17bb212af11133fbcd92289cc88cc0c8':
  Use __inline__ for fortify.
2014-02-04 00:06:08 +00:00
Elliott Hughes
226f970a17 am a122c376: Merge "Use __inline__ for fortify."
* commit 'a122c376ef0737454a592cf44f50beabe154e9e3':
  Use __inline__ for fortify.
2014-02-03 23:59:29 +00:00
Elliott Hughes
a122c376ef Merge "Use __inline__ for fortify." 2014-02-03 23:55:14 +00:00
Elliott Hughes
8d60cc6316 Use __inline__ for fortify.
libunwind has #define inline /* empty */ which breaks our fortified headers.
glibc uses __inline but our BSD-derived headers often override that. __inline__
is the third alternative understood by GCC that -- as far as I know -- neither
the C library itself nor third-party code tries to mess with.

Bug: 12871594
Change-Id: I6677e70ea531bb7d4c46021b43af760d4ad8ecf7
2014-02-03 15:41:57 -08:00
Arve Hjønnevåg
ba7c3079bf am eb26da9a: am fb4da1e7: Merge "Regenerate binder header"
* commit 'eb26da9af841c60e69f44a3affb46ec48fdaa6d3':
  Regenerate binder header
2014-02-03 22:11:16 +00:00
Arve Hjønnevåg
eb26da9af8 am fb4da1e7: Merge "Regenerate binder header"
* commit 'fb4da1e7b749b4cf6843515517e839efa1ee24c7':
  Regenerate binder header
2014-02-03 21:18:35 +00:00
Arve Hjønnevåg
fb4da1e7b7 Merge "Regenerate binder header" 2014-02-03 21:13:23 +00:00
The Android Automerger
6406c840a1 merge in master-release history after reset to master 2014-02-03 05:49:18 -08:00
Elliott Hughes
3e91223e0e am 06163c29: am ed29345c: Merge "Clean up debugger.cpp slightly."
* commit '06163c293231b62198402b8a3f7a9e9f8ed69701':
  Clean up debugger.cpp slightly.
2014-02-01 01:44:00 +00:00
Elliott Hughes
d34f2c3709 am 76c5c940: am 4939d6d8: Merge "LP64 binaries should talk to debuggerd64."
* commit '76c5c940835d78e65abf203e8aa1968b6b966978':
  LP64 binaries should talk to debuggerd64.
2014-02-01 01:39:16 +00:00
Elliott Hughes
06163c2932 am ed29345c: Merge "Clean up debugger.cpp slightly."
* commit 'ed29345c22acec61e4ef8953baefc64dc750c812':
  Clean up debugger.cpp slightly.
2014-02-01 01:37:38 +00:00
Elliott Hughes
ed29345c22 Merge "Clean up debugger.cpp slightly." 2014-02-01 01:31:12 +00:00
Elliott Hughes
62e9c76ee8 Clean up debugger.cpp slightly.
In particular, don't do weird things with 'int tid'.

Change-Id: I0fd9158a452967163508ada8987de9494ad5f9af
2014-01-31 17:27:00 -08:00
Elliott Hughes
76c5c94083 am 4939d6d8: Merge "LP64 binaries should talk to debuggerd64."
* commit '4939d6d8424d47e19823e5dfcfc5474e8a7e77b8':
  LP64 binaries should talk to debuggerd64.
2014-02-01 01:05:12 +00:00
Elliott Hughes
4939d6d842 Merge "LP64 binaries should talk to debuggerd64." 2014-02-01 01:00:34 +00:00
Elliott Hughes
f858bd1c6e LP64 binaries should talk to debuggerd64.
Change-Id: I7eb30f9d04f80b6b45d3148757970d3f1117493c
2014-01-31 16:56:39 -08:00
Elliott Hughes
9304f2c461 am 0e0ae17d: am 47ff6b9f: Merge "Add missing ucontext_t definition to bionic for arch-arm64."
* commit '0e0ae17d3292951cbf74143c44b583916ebebff6':
  Add missing ucontext_t definition to bionic for arch-arm64.
2014-01-31 22:38:27 +00:00
Elliott Hughes
0e0ae17d32 am 47ff6b9f: Merge "Add missing ucontext_t definition to bionic for arch-arm64."
* commit '47ff6b9faae7f1bde5deb4760982e7e6785955f2':
  Add missing ucontext_t definition to bionic for arch-arm64.
2014-01-31 22:09:22 +00:00
Elliott Hughes
47ff6b9faa Merge "Add missing ucontext_t definition to bionic for arch-arm64." 2014-01-31 18:51:36 +00:00
Elliott Hughes
f970e07de3 am 8902d9a9: am a14df4a9: Merge "[MIPS] SA_RESTORER support is not needed for MIPS"
* commit '8902d9a944c377c63ce81d7dc16c1945ad715d18':
  [MIPS] SA_RESTORER support is not needed for MIPS
2014-01-31 16:19:40 +00:00
Elliott Hughes
da958d2e14 am 64b519e2: am 07f84025: Merge "Make ARM <user.h> more glibc-compatible."
* commit '64b519e2d4546da414bb9a04de4c04ce3e137999':
  Make ARM <user.h> more glibc-compatible.
2014-01-31 16:19:39 +00:00
Elliott Hughes
ab24c54d94 am dc84a5e6: am 53a55c12: Merge "Add mips <sys/ucontext.h>."
* commit 'dc84a5e66c9678619538b42709ab3637205c3bf2':
  Add mips <sys/ucontext.h>.
2014-01-31 16:19:38 +00:00
Elliott Hughes
5c73920bdc am d7f2ec93: am 807bbb75: Merge "Add arm <sys/ucontext.h>."
* commit 'd7f2ec93449a478710c286588818d00f8f219272':
  Add arm <sys/ucontext.h>.
2014-01-31 16:19:38 +00:00
Elliott Hughes
ae4e016d7f am 2f561425: am 8f355275: Merge "Add x86 <sys/ucontext.h>."
* commit '2f561425bf43676ab244738fb6ea4ed868208837':
  Add x86 <sys/ucontext.h>.
2014-01-31 16:19:37 +00:00
Elliott Hughes
63704af86e am 4dc8c880: am 972c39c4: Merge "Add x86_64 ucontext.h for better compatibility"
* commit '4dc8c880ca0677baad7950b0b3f5a9f035fea11b':
  Add x86_64 ucontext.h for better compatibility
2014-01-31 16:19:36 +00:00
Elliott Hughes
8902d9a944 am a14df4a9: Merge "[MIPS] SA_RESTORER support is not needed for MIPS"
* commit 'a14df4a98ad1c4018f63fea358dd30c7e6b51858':
  [MIPS] SA_RESTORER support is not needed for MIPS
2014-01-31 13:00:40 +00:00
Elliott Hughes
64b519e2d4 am 07f84025: Merge "Make ARM <user.h> more glibc-compatible."
* commit '07f84025520a9530760a2f2535a1effde5ec51dd':
  Make ARM <user.h> more glibc-compatible.
2014-01-31 12:17:14 +00:00
Elliott Hughes
dc84a5e66c am 53a55c12: Merge "Add mips <sys/ucontext.h>."
* commit '53a55c121b458e4131e025f1bbe0e4e2b1b232f7':
  Add mips <sys/ucontext.h>.
2014-01-31 10:27:01 +00:00
Elliott Hughes
d7f2ec9344 am 807bbb75: Merge "Add arm <sys/ucontext.h>."
* commit '807bbb75f14543a72b3f745d35f2c97a92752cd0':
  Add arm <sys/ucontext.h>.
2014-01-31 10:26:59 +00:00
Elliott Hughes
2f561425bf am 8f355275: Merge "Add x86 <sys/ucontext.h>."
* commit '8f355275920f8be82f56e30087a57b1d5ce49771':
  Add x86 <sys/ucontext.h>.
2014-01-31 10:26:55 +00:00
Elliott Hughes
4dc8c880ca am 972c39c4: Merge "Add x86_64 ucontext.h for better compatibility"
* commit '972c39c4fee85c5c532eecac409a1384c76b2cc6':
  Add x86_64 ucontext.h for better compatibility
2014-01-31 10:26:51 +00:00
Elliott Hughes
a14df4a98a Merge "[MIPS] SA_RESTORER support is not needed for MIPS" 2014-01-31 06:20:45 +00:00
Ross McIlroy
7b95807fa0 Add missing ucontext_t definition to bionic for arch-arm64.
Change-Id: I1ee15230c63e00f01d2063cfffcffe7f1a1eeb6a
2014-01-31 04:45:53 +00:00
Chris Dearman
46f3db6bb8 [MIPS] SA_RESTORER support is not needed for MIPS
Change-Id: I1c000c94973e811193c80c9770da4f3157594f90
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-01-30 20:39:53 -08:00
Elliott Hughes
07f8402552 Merge "Make ARM <user.h> more glibc-compatible." 2014-01-30 18:42:00 +00:00
Elliott Hughes
3614424e10 Make ARM <user.h> more glibc-compatible.
Change-Id: I681930ad7f80a5e7bc40eb0f36872e415445f0f9
2014-01-30 10:39:02 -08:00
The Android Automerger
a84801d9aa merge in master-release history after reset to master 2014-01-30 05:49:22 -08:00
Elliott Hughes
53a55c121b Merge "Add mips <sys/ucontext.h>." 2014-01-30 02:43:51 +00:00
Elliott Hughes
02c661b883 Add mips <sys/ucontext.h>.
Change-Id: I2821f523f0c3bb4400b2ad5d36e21e5a3d6d777c
2014-01-29 18:37:15 -08:00
Elliott Hughes
807bbb75f1 Merge "Add arm <sys/ucontext.h>." 2014-01-30 02:03:57 +00:00
Elliott Hughes
4e72fcc3c2 Add arm <sys/ucontext.h>.
Change-Id: I14d435f9e3e82f77d8a7e886ff88c18f5d09d14a
2014-01-29 17:53:59 -08:00
Elliott Hughes
8f35527592 Merge "Add x86 <sys/ucontext.h>." 2014-01-30 00:58:09 +00:00
Elliott Hughes
677a07cb9a Add x86 <sys/ucontext.h>.
Change-Id: I43e72604f7a932f134733b78094b577415a5edb7
2014-01-29 16:46:00 -08:00
Elliott Hughes
972c39c4fe Merge "Add x86_64 ucontext.h for better compatibility" 2014-01-29 23:41:22 +00:00
Pavel Chupin
e61d106008 Add x86_64 ucontext.h for better compatibility
As suggested here: https://android-review.googlesource.com/#/c/71267/
it may be used for x86_64 libunwind enabling.

Change-Id: I21623261a48ea7099e030d33932556e294d226ff
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-01-29 15:35:33 -08:00
The Android Automerger
f6d94016b7 merge in master-release history after reset to master 2014-01-29 05:49:19 -08:00
Elliott Hughes
7fccc34431 am 82072dc9: am 12e3a501: am 037b10d0: Merge "Fix pthread_test to work with gtest 1.7.0."
* commit '82072dc9327572f93bcc26331402ca7874a124d1':
  Fix pthread_test to work with gtest 1.7.0.
2014-01-29 12:49:07 +00:00
Elliott Hughes
37958fea13 am 2db157c8: am 3bd75303: am c75e7726: Merge "Remove a __system_property_get call from the DNS code."
* commit '2db157c853cb35243d49fd1e084c1fb444f9ba02':
  Remove a __system_property_get call from the DNS code.
2014-01-29 12:20:44 +00:00
Arve Hjønnevåg
fbaa254016 Regenerate binder header
Adds 64 bit support

Change-Id: I6db3c4f68bf2c337bff753599af193e2b062ec05
2014-01-28 19:29:46 -08:00
Elliott Hughes
82072dc932 am 12e3a501: am 037b10d0: Merge "Fix pthread_test to work with gtest 1.7.0."
* commit '12e3a5019a8bedcdac27470da92f81b5f7fd7b5b':
  Fix pthread_test to work with gtest 1.7.0.
2014-01-29 01:51:07 +00:00
Elliott Hughes
12e3a5019a am 037b10d0: Merge "Fix pthread_test to work with gtest 1.7.0."
* commit '037b10d05a789eb57878127ee4d69db1008e8c80':
  Fix pthread_test to work with gtest 1.7.0.
2014-01-29 01:47:11 +00:00
Elliott Hughes
037b10d05a Merge "Fix pthread_test to work with gtest 1.7.0." 2014-01-29 01:42:10 +00:00
Elliott Hughes
718a5b5495 Fix pthread_test to work with gtest 1.7.0.
Now we're building it correctly configured, gtest takes a couple of
TLS slots for itself.

Change-Id: I1c2c4e9e5f9c6e2e2e6ecd1214cfc16a5af5afed
2014-01-28 17:02:03 -08:00
Elliott Hughes
2db157c853 am 3bd75303: am c75e7726: Merge "Remove a __system_property_get call from the DNS code."
* commit '3bd75303f96a0838d971f98f941ee90bee6ba17d':
  Remove a __system_property_get call from the DNS code.
2014-01-28 23:11:07 +00:00
Elliott Hughes
3bd75303f9 am c75e7726: Merge "Remove a __system_property_get call from the DNS code."
* commit 'c75e7726ea5167ea03c512c7c35117762548d93f':
  Remove a __system_property_get call from the DNS code.
2014-01-28 23:04:52 +00:00
Elliott Hughes
c75e7726ea Merge "Remove a __system_property_get call from the DNS code." 2014-01-28 23:00:05 +00:00
Elliott Hughes
908e8c24ab Remove a __system_property_get call from the DNS code.
Change-Id: I48082ad9eb1b56349c6746ab2c371728c8571a81
2014-01-28 14:54:11 -08:00
Elliott Hughes
4d1bb942c2 am 0aa84269: am 7055c72a: am 4ea434e5: Merge "bionic: Change the type of soinfo\'s size to size_t"
* commit '0aa84269447141a032c0f3ad7830e9a2aa069809':
  bionic: Change the type of soinfo's size to size_t
2014-01-28 21:19:33 +00:00
Elliott Hughes
0aa8426944 am 7055c72a: am 4ea434e5: Merge "bionic: Change the type of soinfo\'s size to size_t"
* commit '7055c72a989188dd5e0984cc8cf6a2c0b2ffcc81':
  bionic: Change the type of soinfo's size to size_t
2014-01-28 21:17:06 +00:00
Elliott Hughes
7055c72a98 am 4ea434e5: Merge "bionic: Change the type of soinfo\'s size to size_t"
* commit '4ea434e5d22c8e257de3ff517fdda1175917b3ec':
  bionic: Change the type of soinfo's size to size_t
2014-01-28 21:10:19 +00:00
Elliott Hughes
4ea434e5d2 Merge "bionic: Change the type of soinfo's size to size_t" 2014-01-28 21:04:04 +00:00
Weiwu Chen
5ceb889ac9 bionic: Change the type of soinfo's size to size_t
Some system functions like munmap expect soinfo's size to be size_t, but currently
it is unsigned. Change it to size_t to fit 64bit's portability.

Change-Id: I0bf6d522b38b0cd9bf1db05b004b5326217412a2
Signed-off-by: Weiwu Chen <weiwu.chen@intel.com>
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
2014-01-28 11:54:01 -08:00
The Android Automerger
ffd5c80dbf merge in master-release history after reset to master 2014-01-28 05:49:17 -08:00
Elliott Hughes
a873595113 am 41ae96a1: am 4bc229eb: am 4449fe96: Merge "Fix 32-bit mmap/mmap64 handling of negative offsets."
* commit '41ae96a1cc69fd2e1bc39fe55da22f15047beb50':
  Fix 32-bit mmap/mmap64 handling of negative offsets.
2014-01-28 01:18:06 +00:00
Elliott Hughes
41ae96a1cc am 4bc229eb: am 4449fe96: Merge "Fix 32-bit mmap/mmap64 handling of negative offsets."
* commit '4bc229eb0228d0cfb5b58e87124e5473f3513f06':
  Fix 32-bit mmap/mmap64 handling of negative offsets.
2014-01-28 01:11:49 +00:00
Elliott Hughes
f025dd96af am 64989588: am 2d7f9616: am 652dd519: Merge "Remove libthread_db from bionic."
* commit '64989588ba93d9e666d50179fc6e879e4b7c926f':
  Remove libthread_db from bionic.
2014-01-28 01:04:54 +00:00
Elliott Hughes
4bc229eb02 am 4449fe96: Merge "Fix 32-bit mmap/mmap64 handling of negative offsets."
* commit '4449fe9675671264746af4876bd959af8e9fee82':
  Fix 32-bit mmap/mmap64 handling of negative offsets.
2014-01-28 01:03:26 +00:00
Elliott Hughes
64989588ba am 2d7f9616: am 652dd519: Merge "Remove libthread_db from bionic."
* commit '2d7f9616fda2366845af3443c15eb3405eff9b6e':
  Remove libthread_db from bionic.
2014-01-28 00:59:14 +00:00
Elliott Hughes
4449fe9675 Merge "Fix 32-bit mmap/mmap64 handling of negative offsets." 2014-01-28 00:58:51 +00:00
Elliott Hughes
2d7f9616fd am 652dd519: Merge "Remove libthread_db from bionic."
* commit '652dd5196df87bdeef7bff452f1a4857a96e3133':
  Remove libthread_db from bionic.
2014-01-28 00:43:45 +00:00
Elliott Hughes
431166d995 Fix 32-bit mmap/mmap64 handling of negative offsets.
We don't actually need to worry about sign extension if we reject
negative values ourselves. Previously it was possible to come up
with negative but aligned values that we would pass to the kernel;
in the case of mmap (as opposed to mmap64) we'd incorrectly turn
those into large positive offsets.

Change-Id: I2aa583e0f892d59bb77429aea8730b72db32dcb0
2014-01-27 16:36:56 -08:00
Elliott Hughes
652dd5196d Merge "Remove libthread_db from bionic." 2014-01-28 00:24:57 +00:00
Elliott Hughes
d373d0c038 Remove libthread_db from bionic.
The NDK statically links its own copy into gdb.

Bug: 11882807
Change-Id: I0c7ed8761c32df3cc3644258551bc7d2e263f47b
2014-01-27 15:45:06 -08:00
Elliott Hughes
48c43edcd6 am 240a5214: am cbb439ad: am ba0c668f: Merge "bionic: Do not use magic number for portability"
* commit '240a5214e9159a3ace09f0ea9f9ceb37a2135a4c':
  bionic: Do not use magic number for portability
2014-01-27 23:09:09 +00:00
Elliott Hughes
240a5214e9 am cbb439ad: am ba0c668f: Merge "bionic: Do not use magic number for portability"
* commit 'cbb439addbe9f04de28f291ebd163575933da177':
  bionic: Do not use magic number for portability
2014-01-27 23:05:21 +00:00
Elliott Hughes
cbb439addb am ba0c668f: Merge "bionic: Do not use magic number for portability"
* commit 'ba0c668feca851fd52359bee4174a232f27697b4':
  bionic: Do not use magic number for portability
2014-01-27 14:57:53 -08:00
Elliott Hughes
ba0c668fec Merge "bionic: Do not use magic number for portability" 2014-01-27 22:52:07 +00:00
Qiming Shi
4041b13c20 bionic: Do not use magic number for portability
Do not use the magic number 0xFFFFFFFFU to represent the max value of an address
as it's not correct on 64bit platform. We should use UINTPTR_MAX instead.

Change-Id: I1fc6f5864a651b2eddea2333cb0788f9d9223270
Signed-off-by: Qiming Shi <qiming.shi@intel.com>
Signed-off-by: Weiwu Chen <weiwu.chen@intel.com>
2014-01-27 14:51:07 -08:00
The Android Automerger
7c765e9687 merge in master-release history after reset to master 2014-01-27 05:49:19 -08:00
Elliott Hughes
4332c9ebba am e528d178: am f3ea7917: am 6f23ce36: Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)."
* commit 'e528d1787c80d4d6879c8fafa5487f9fd6ce4a29':
  Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).
2014-01-25 01:38:13 +00:00
Elliott Hughes
e528d1787c am f3ea7917: am 6f23ce36: Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)."
* commit 'f3ea791757dacdab64c870ccfb820e3e36a8d854':
  Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).
2014-01-25 01:35:03 +00:00
Elliott Hughes
f3ea791757 am 6f23ce36: Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)."
* commit '6f23ce36ce580da3c1419856c71d7426dd64748d':
  Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).
2014-01-24 17:30:03 -08:00
Elliott Hughes
6f23ce36ce Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)." 2014-01-25 01:25:16 +00:00
Ying Wang
7d6ae1e11e am cd66256a: am 22750476: am b32cc032: Merge "Use arch-specific variable to set up the x86 ld flags."
* commit 'cd66256a1f4fbcd192d033929c369bd54065e696':
  Use arch-specific variable to set up the x86 ld flags.
2014-01-25 01:03:36 +00:00
Ying Wang
cd66256a1f am 22750476: am b32cc032: Merge "Use arch-specific variable to set up the x86 ld flags."
* commit '227504768413a7802efcea3c80ee8fb6d78af9c5':
  Use arch-specific variable to set up the x86 ld flags.
2014-01-25 01:00:25 +00:00
Ying Wang
2275047684 am b32cc032: Merge "Use arch-specific variable to set up the x86 ld flags."
* commit 'b32cc032030e7a9f50b28d6dba5a40a38e6e76cf':
  Use arch-specific variable to set up the x86 ld flags.
2014-01-24 16:55:33 -08:00
Ying Wang
b32cc03203 Merge "Use arch-specific variable to set up the x86 ld flags." 2014-01-25 00:50:54 +00:00
Ying Wang
1682c63d77 Use arch-specific variable to set up the x86 ld flags.
Bug: 11654773
Change-Id: I9e9075bac1303cfa39b0f717dd74625ce1dd5fa5
2014-01-24 16:50:16 -08:00
Elliott Hughes
e2a292d278 Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).
The various committees decided that everyone should get all these macros,
all the time.

Bug: 12708004
Change-Id: Ib56010dcba9b0656e5701546fefb7f78dc0bf916
2014-01-24 16:38:07 -08:00
Ben Cheng
d1e32e1c35 am 0bae4c4d: am 50228472: am 5acce960: Merge "Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c."
* commit '0bae4c4d41acffa091680a5499e0381e1ea70f12':
  Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c.
2014-01-25 00:26:01 +00:00
Ben Cheng
0bae4c4d41 am 50228472: am 5acce960: Merge "Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c."
* commit '502284727b0e856442c95713ba61a16e7d86a5c1':
  Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c.
2014-01-25 00:24:08 +00:00
Ben Cheng
502284727b am 5acce960: Merge "Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c."
* commit '5acce960f40f51107301398f9cadff680a634951':
  Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c.
2014-01-24 16:19:39 -08:00
Ben Cheng
5acce960f4 Merge "Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c." 2014-01-25 00:13:10 +00:00
Ben Cheng
62ffe14a7e Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c.
Change-Id: I0e66a73e849a01817d016a688d7291c2fb604e48
2014-01-24 15:20:11 -08:00
Colin Cross
771524267b am 3aa1e605: am 35377004: am 513f83bb: Merge "bionic: rename aarch64 target to arm64"
* commit '3aa1e605ea1167e59976bf82922fd06c728b518b':
  bionic: rename aarch64 target to arm64
2014-01-24 21:24:50 +00:00
Colin Cross
3aa1e605ea am 35377004: am 513f83bb: Merge "bionic: rename aarch64 target to arm64"
* commit '353770042f38b0d377425f036979f7b90ac7429d':
  bionic: rename aarch64 target to arm64
2014-01-24 20:44:29 +00:00
Colin Cross
353770042f am 513f83bb: Merge "bionic: rename aarch64 target to arm64"
* commit '513f83bb7f6961d60eb10d2ab14fb31fed190bce':
  bionic: rename aarch64 target to arm64
2014-01-24 12:38:53 -08:00
Colin Cross
513f83bb7f Merge "bionic: rename aarch64 target to arm64" 2014-01-24 20:33:23 +00:00
Ben Cheng
af0debbfc7 am cc70de8f: am 0661bbe2: am 69d242d2: Merge "Re-export libgcc\'s __aeabi_uidivmod and __popcount_tab"
* commit 'cc70de8fc3726cf8cc242a4dcb80a7f5af50f4b1':
  Re-export libgcc's __aeabi_uidivmod and __popcount_tab
2014-01-24 18:25:55 +00:00
Ben Cheng
cc70de8fc3 am 0661bbe2: am 69d242d2: Merge "Re-export libgcc\'s __aeabi_uidivmod and __popcount_tab"
* commit '0661bbe2570ff52382552d9c404159f7651101f3':
  Re-export libgcc's __aeabi_uidivmod and __popcount_tab
2014-01-24 18:22:48 +00:00
Ben Cheng
0661bbe257 am 69d242d2: Merge "Re-export libgcc\'s __aeabi_uidivmod and __popcount_tab"
* commit '69d242d21cb3c40f241eaf7aceecc27bfb9385fa':
  Re-export libgcc's __aeabi_uidivmod and __popcount_tab
2014-01-24 10:17:55 -08:00
Ben Cheng
69d242d21c Merge "Re-export libgcc's __aeabi_uidivmod and __popcount_tab" 2014-01-24 18:11:48 +00:00
Bernhard Rosenkränzer
f38fb19d9d Re-export libgcc's __aeabi_uidivmod and __popcount_tab
This is required to make the Nexus 10 graphics driver work on a system
compiled with gcc 4.9.

Change-Id: If3f3d488652a736d9ea3e583548d74fae3ffa902
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-01-24 12:57:13 +01:00
Colin Cross
d1973ca513 bionic: rename aarch64 target to arm64
Rename aarch64 build targets to arm64.  The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
2014-01-23 18:35:39 -08:00
Ying Wang
0695aa7255 Use arch-specific variable to set up the x86 ld flags.
Bug: 11654773
Change-Id: I9e9075bac1303cfa39b0f717dd74625ce1dd5fa5
2014-01-23 15:15:28 -08:00
The Android Automerger
1fd915ff19 merge in master-release history after reset to master 2014-01-16 05:49:11 -08:00
Elliott Hughes
232e52e90b am 17758106: am 06d38ccd: am 5b4884fa: Merge "Add "__noreturn" to assert and assert2"
* commit '17758106e80d9ced66c7cfdae0b0331ebd7696b7':
  Add "__noreturn" to assert and assert2
2014-01-15 21:41:21 +00:00
Elliott Hughes
17758106e8 am 06d38ccd: am 5b4884fa: Merge "Add "__noreturn" to assert and assert2"
* commit '06d38ccda067428e0fbd448ad21cd8140fbecc11':
  Add "__noreturn" to assert and assert2
2014-01-15 21:39:12 +00:00
Elliott Hughes
06d38ccda0 am 5b4884fa: Merge "Add "__noreturn" to assert and assert2"
* commit '5b4884fac90753c68d401de73036c2de919958eb':
  Add "__noreturn" to assert and assert2
2014-01-15 13:32:40 -08:00
Elliott Hughes
5b4884fac9 Merge "Add "__noreturn" to assert and assert2" 2014-01-15 21:26:47 +00:00
The Android Automerger
0ca44084dc merge in master-release history after reset to master 2014-01-15 05:49:27 -08:00
Vadim Markovtsev
323d4b6f68 Add "__noreturn" to assert and assert2
These functions should print assertion violation messages and then
call abort(). They do really not return control flow afterwards.
Consider the declaration of the similar __assert_fail from glibc:

extern void __assert_fail (const char *__assertion,
                           const char *__file,
			   unsigned int __line,
                           const char *__function)
     __THROW __attribute__ ((__noreturn__));

Bionic has __noreturn defined in sys/cdefs.h to be that GNU
noreturn attribute.

This patch has a practical value. Consider the following function:

void check(void* ptr) {
  assert(ptr != NULL);
}

Without this patch applied, gcc (and presumably clang) shows even in
debug mode:

warning: unused parameter 'ptr' [-Wunused-parameter]

In release mode, NDEBUG is defined and assert() becomes a no-op, as
one should expect. Thus, the warning is shown correctly then.

Another code sample:

float array[2];
int i = 3;
...
assert(i < 2);
array[i] = 0;

gcc says,

warning: array subscript is below array bounds [-Warray-bounds]

In other words, without noreturn attribute, assertions do not
allow a compiler's static analyzer to properly understand
the preconditions.

Change-Id: I3be92e99787c528899cf243ed448c4730c00c45b
Signed-off-by: Vadim Markovtsev <gmarkhor@gmail.com>
2014-01-15 07:32:52 +00:00
Elliott Hughes
1ed0e5de75 am 530093e1: am 22d8bd9b: am 12159420: Merge "Fix libdl build warnings, turn on -Werror."
* commit '530093e1fd538debdfa06d8c04c8cd824912b1c7':
  Fix libdl build warnings, turn on -Werror.
2014-01-15 02:48:31 +00:00
Elliott Hughes
63ccebf3f3 am e83c98e6: am a17b7ba9: am c8d41263: Merge "Move _thread_created_hook to where it belongs."
* commit 'e83c98e6f7575000df7e36803c5349249f8aa982':
  Move _thread_created_hook to where it belongs.
2014-01-15 02:48:31 +00:00
Elliott Hughes
530093e1fd am 22d8bd9b: am 12159420: Merge "Fix libdl build warnings, turn on -Werror."
* commit '22d8bd9b93223634e2d0bf5ec1cbddd888e96136':
  Fix libdl build warnings, turn on -Werror.
2014-01-15 02:45:14 +00:00
Elliott Hughes
e83c98e6f7 am a17b7ba9: am c8d41263: Merge "Move _thread_created_hook to where it belongs."
* commit 'a17b7ba95d71d59ac5e04d2f01bb1839602912f9':
  Move _thread_created_hook to where it belongs.
2014-01-15 02:45:14 +00:00
Elliott Hughes
22d8bd9b93 am 12159420: Merge "Fix libdl build warnings, turn on -Werror."
* commit '12159420e1654f6896993eda39aea8b5e5586f80':
  Fix libdl build warnings, turn on -Werror.
2014-01-14 18:38:16 -08:00
Elliott Hughes
a17b7ba95d am c8d41263: Merge "Move _thread_created_hook to where it belongs."
* commit 'c8d412637a8f98418866a75525de2ad6f8b12b6e':
  Move _thread_created_hook to where it belongs.
2014-01-14 18:38:15 -08:00
Elliott Hughes
12159420e1 Merge "Fix libdl build warnings, turn on -Werror." 2014-01-15 02:33:34 +00:00
Elliott Hughes
c8d412637a Merge "Move _thread_created_hook to where it belongs." 2014-01-15 02:32:47 +00:00
Elliott Hughes
7ac975146e Fix libdl build warnings, turn on -Werror.
Change-Id: I71c39b77ac1e9a92482ce71a829449100945ec86
2014-01-14 17:25:13 -08:00
Elliott Hughes
af8aebebb5 Move _thread_created_hook to where it belongs.
Change-Id: I643d761c78ccaae25270aeffa2afb811c4e2fcd7
2014-01-14 17:16:18 -08:00
Elliott Hughes
c2f805db8b am e86a346c: am d0465f50: am d971f729: Merge "Make it possible for code to query the dynamic linker\'s default search path."
* commit 'e86a346cfe3b2325abeeef9700cf9e2e8208b2ce':
  Make it possible for code to query the dynamic linker's default search path.
2014-01-14 20:15:45 +00:00
Elliott Hughes
e86a346cfe am d0465f50: am d971f729: Merge "Make it possible for code to query the dynamic linker\'s default search path."
* commit 'd0465f50aa570a295a1bdad0c379d529a614198e':
  Make it possible for code to query the dynamic linker's default search path.
2014-01-14 20:12:57 +00:00
Elliott Hughes
d0465f50aa am d971f729: Merge "Make it possible for code to query the dynamic linker\'s default search path."
* commit 'd971f7290529310df6f8d4ba8b3a30f629ba2946':
  Make it possible for code to query the dynamic linker's default search path.
2014-01-14 12:08:32 -08:00
Elliott Hughes
d971f72905 Merge "Make it possible for code to query the dynamic linker's default search path." 2014-01-14 20:03:20 +00:00
The Android Automerger
a184f3e1e9 merge in master-release history after reset to master 2014-01-14 05:49:28 -08:00
Elliott Hughes
41af7f39e9 am d2124b7c: am 7e997388: am b5e21103: Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()"
* commit 'd2124b7c5ca15cb593c824d2488f6a95dce4a519':
  AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()
2014-01-14 01:15:04 +00:00
Elliott Hughes
d2124b7c5c am 7e997388: am b5e21103: Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()"
* commit '7e997388ba63f0b0b4c95542cfc5fbe6e3c93b4d':
  AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()
2014-01-14 01:12:56 +00:00
Elliott Hughes
7e997388ba am b5e21103: Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()"
* commit 'b5e211031b69963a5f72ff369c66dc325a03e740':
  AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()
2014-01-13 17:06:31 -08:00
Elliott Hughes
b5e211031b Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()" 2014-01-14 01:01:41 +00:00
Elliott Hughes
a4aafd1560 Make it possible for code to query the dynamic linker's default search path.
We're not going to have init(1) set LD_LIBRARY_PATH globally on 64-bit.
This patch makes it possible for libnativehelper to set LD_LIBRARY_PATH
in each Java VM (to support System.loadLibrary) without also hard-coding
the default search path there.

Change-Id: If13961fae976e06dd80d5ef522f31e8b7eb01154
2014-01-13 16:37:47 -08:00
Elliott Hughes
a5879404ef am 3c5323a7: am 490f1755: am ebc1c76d: Merge "Add -Bsymbolic to the ld flags when linking the dynamic linker."
* commit '3c5323a7318993918a282c31f92ea64fc7c0ae5b':
  Add -Bsymbolic to the ld flags when linking the dynamic linker.
2014-01-13 21:51:10 +00:00
Elliott Hughes
3c5323a731 am 490f1755: am ebc1c76d: Merge "Add -Bsymbolic to the ld flags when linking the dynamic linker."
* commit '490f1755d14536915f748a6513399a92f6e0b67f':
  Add -Bsymbolic to the ld flags when linking the dynamic linker.
2014-01-13 21:48:15 +00:00
Elliott Hughes
490f1755d1 am ebc1c76d: Merge "Add -Bsymbolic to the ld flags when linking the dynamic linker."
* commit 'ebc1c76d77dd604f16126e66b2171e8ee6fa1d22':
  Add -Bsymbolic to the ld flags when linking the dynamic linker.
2014-01-13 13:42:55 -08:00
Elliott Hughes
ebc1c76d77 Merge "Add -Bsymbolic to the ld flags when linking the dynamic linker." 2014-01-13 21:38:16 +00:00
Elliott Hughes
7ff07ad321 Add -Bsymbolic to the ld flags when linking the dynamic linker.
We don't need this on architectures other than aarch64, and
we're still investigating why we need it on aarch64, but it
doesn't seem unreasonable to have this flag set when linking
the dynamic linker anyway; it's clearly the intended behavior.

Change-Id: I4fa1b4ae543a818979934bf818eabac03bb9154f
2014-01-13 13:33:01 -08:00
The Android Automerger
1c12ce4525 merge in master-release history after reset to master 2014-01-13 05:49:16 -08:00
Elliott Hughes
758e586a98 am 0b9a13f5: am a1595487: am ae189740: Merge "Add some more headers."
* commit '0b9a13f58fa13fc7f29c386e265dcbe56c7c5095':
  Add some more headers.
2014-01-10 23:55:16 +00:00
Elliott Hughes
0b9a13f58f am a1595487: am ae189740: Merge "Add some more headers."
* commit 'a1595487faadaf48201ff8f91fdf59c8ae0e7b19':
  Add some more headers.
2014-01-10 23:51:16 +00:00
Elliott Hughes
a1595487fa am ae189740: Merge "Add some more headers."
* commit 'ae189740de6b03f06a06214122183a3774f5cb62':
  Add some more headers.
2014-01-10 15:42:44 -08:00
Elliott Hughes
ae189740de Merge "Add some more headers." 2014-01-10 23:35:47 +00:00
Elliott Hughes
c835c35727 Add some more headers.
This patch adds trivial implementations of the missing sys headers
needed by strace. All strace needs are the constants and structures,
so this is enough for now. We can come back and add the functions
if/when we ever need them.

Change-Id: Idb87c1a8b6b1c62f6e16ae94f147e1169722b48e
2014-01-10 15:32:31 -08:00
JP Abgrall
9a3f2b78e6 am 51e1ca76: am 09a73562: am f784f036: Merge "Add extra libc stubs for mntent related functions."
* commit '51e1ca76776822e3d020a1dc7e25dbc46ddde1e4':
  Add extra libc stubs for mntent related functions.
2014-01-10 02:08:05 +00:00
JP Abgrall
51e1ca7677 am 09a73562: am f784f036: Merge "Add extra libc stubs for mntent related functions."
* commit '09a735628269336d29f722ebcdeb3da9534f6020':
  Add extra libc stubs for mntent related functions.
2014-01-10 02:06:03 +00:00
JP Abgrall
09a7356282 am f784f036: Merge "Add extra libc stubs for mntent related functions."
* commit 'f784f0365d0c491cba7e6081a072b28ad357fef6':
  Add extra libc stubs for mntent related functions.
2014-01-09 18:01:06 -08:00
JP Abgrall
f784f0365d Merge "Add extra libc stubs for mntent related functions." 2014-01-10 01:54:31 +00:00
Elliott Hughes
a537a330a4 am e48e9c99: am 2872e742: am 33c3e8d3: Merge "Add NT_PRSTATUS to <elf.h>."
* commit 'e48e9c9919f1f1130ff09600f6c444e2f3be1689':
  Add NT_PRSTATUS to <elf.h>.
2014-01-10 01:54:25 +00:00
JP Abgrall
4e9cb032d1 Add extra libc stubs for mntent related functions.
This adds stubs for setmntent() and endmntent().

Change-Id: I6ccaa044145405cd7226c1c54a25d435c96a2308
2014-01-10 01:24:34 +00:00
Elliott Hughes
8667765896 am 1424b701: am fce55ed3: am 8e6bf35a: Merge "Add <sgidefs.h>."
* commit '1424b70152a1cacbfb3125a49b01d158f4028152':
  Add <sgidefs.h>.
2014-01-10 00:23:15 +00:00
Elliott Hughes
d36126ddc3 am fb12b9a7: am ea7c0ea6: am d29c75f0: Merge "Fix x86 user_regs_struct."
* commit 'fb12b9a7a3f6b0d91a201d4f39134edddc93c07c':
  Fix x86 user_regs_struct.
2014-01-10 00:23:14 +00:00
Elliott Hughes
f39f8f4414 am 2a25c30e: am c63fe9fa: am 6114ffb3: Merge "Add the glibc-compatible d_fileno."
* commit '2a25c30e33ecf2170709f5ff89588c81480dd23d':
  Add the glibc-compatible d_fileno.
2014-01-10 00:07:22 +00:00
Elliott Hughes
e48e9c9919 am 2872e742: am 33c3e8d3: Merge "Add NT_PRSTATUS to <elf.h>."
* commit '2872e74298ab535b36e03630207d3d685e29d570':
  Add NT_PRSTATUS to <elf.h>.
2014-01-10 00:02:23 +00:00
Elliott Hughes
2872e74298 am 33c3e8d3: Merge "Add NT_PRSTATUS to <elf.h>."
* commit '33c3e8d3b2312be3a3eb9d2632c4a570969e1624':
  Add NT_PRSTATUS to <elf.h>.
2014-01-09 15:58:59 -08:00
Elliott Hughes
33c3e8d3b2 Merge "Add NT_PRSTATUS to <elf.h>." 2014-01-09 23:53:58 +00:00
Elliott Hughes
1272dbd1d7 Add NT_PRSTATUS to <elf.h>.
Needed by aarch64.

Bug: 12476126
Change-Id: I7764664459a06cf4f2a60e707bd968d321a78430
2014-01-09 15:45:07 -08:00
Elliott Hughes
1424b70152 am fce55ed3: am 8e6bf35a: Merge "Add <sgidefs.h>."
* commit 'fce55ed319648f7b80303815ba25f5a5f48be2db':
  Add <sgidefs.h>.
2014-01-09 22:37:27 +00:00
Elliott Hughes
fb12b9a7a3 am ea7c0ea6: am d29c75f0: Merge "Fix x86 user_regs_struct."
* commit 'ea7c0ea61462691f9466489176c00393641821bc':
  Fix x86 user_regs_struct.
2014-01-09 22:33:46 +00:00
Elliott Hughes
fce55ed319 am 8e6bf35a: Merge "Add <sgidefs.h>."
* commit '8e6bf35a16532f9e90ce85b0674a0ff19dbef557':
  Add <sgidefs.h>.
2014-01-09 14:31:31 -08:00
Elliott Hughes
ea7c0ea614 am d29c75f0: Merge "Fix x86 user_regs_struct."
* commit 'd29c75f0907f1ea57b37ddbec0a41d8739ece6d8':
  Fix x86 user_regs_struct.
2014-01-09 14:28:08 -08:00
Elliott Hughes
8e6bf35a16 Merge "Add <sgidefs.h>." 2014-01-09 22:24:34 +00:00
Elliott Hughes
d29c75f090 Merge "Fix x86 user_regs_struct." 2014-01-09 22:23:35 +00:00
Elliott Hughes
f8b2b3c81e Fix x86 user_regs_struct.
I fixed x86-64 yesterday, but didn't fix x86 at the same time.

Change-Id: I5c081f5956dfedb9389af303369b841dd0fc1953
2014-01-09 14:01:18 -08:00
Elliott Hughes
1c2cf23a0c Add <sgidefs.h>.
Change-Id: I543d502a81dcb8d5969f814b8a9a9c819bc4fa2c
2014-01-09 13:54:49 -08:00
Elliott Hughes
2a25c30e33 am c63fe9fa: am 6114ffb3: Merge "Add the glibc-compatible d_fileno."
* commit 'c63fe9fa49ee8b7ad17021c1bd418525f9ee0fd0':
  Add the glibc-compatible d_fileno.
2014-01-09 21:49:06 +00:00
Elliott Hughes
c63fe9fa49 am 6114ffb3: Merge "Add the glibc-compatible d_fileno."
* commit '6114ffb3e16c114c728c31b472263660e2d2210c':
  Add the glibc-compatible d_fileno.
2014-01-09 13:43:48 -08:00
Elliott Hughes
6114ffb3e1 Merge "Add the glibc-compatible d_fileno." 2014-01-09 21:39:22 +00:00
Elliott Hughes
a8a3178445 Add the glibc-compatible d_fileno.
d_ino is the POSIX name, but glibc also offers d_fileno, and
that's what strace is using.

Change-Id: I3fadbe7a64700b42e78c7f4631620e864d43147b
2014-01-09 12:37:12 -08:00
Elliott Hughes
2a02502c77 am b1955cc4: am 56d790fc: am c65cbf97: Merge "Fix <sys/resource.h>."
* commit 'b1955cc44776dc272eece253e72b567ce32aa185':
  Fix <sys/resource.h>.
2014-01-09 19:21:56 +00:00
Elliott Hughes
b1955cc447 am 56d790fc: am c65cbf97: Merge "Fix <sys/resource.h>."
* commit '56d790fceed92d7d970da8a1bb598bf7c78db7ee':
  Fix <sys/resource.h>.
2014-01-09 19:11:47 +00:00
Elliott Hughes
56d790fcee am c65cbf97: Merge "Fix <sys/resource.h>."
* commit 'c65cbf97d9769025ad83d6e7f4e7daa58a273a4c':
  Fix <sys/resource.h>.
2014-01-09 11:05:35 -08:00
Elliott Hughes
c65cbf97d9 Merge "Fix <sys/resource.h>." 2014-01-09 19:01:15 +00:00
Elliott Hughes
0f461e35f6 Fix <sys/resource.h>.
The situation here is a bit confusing. On 64-bit, rlimit and rlimit64 are
the same, and so getrlimit/getrlimit64, setrlimit/setrlimit64,
and prlimit/prlimit64 are all the same. On 32-bit, rlimit and rlimit64 are
different. 32-bit architectures other than MIPS go one step further by having
an even more limited getrlimit system call, so arm and x86 need to use
ugetrlimit instead of getrlimit. Worse, the 32-bit architectures don't have
64-bit getrlimit- and setrlimit-equivalent system calls, and you have to use
prlimit64 instead. There's no 32-bit prlimit system call, so there's no
easy implementation of that --- what should we do if the result of prlimit64
won't fit in a struct rlimit? Since 32-bit survived without prlimit/prlimit64
for this long, I'm not going to bother implementing prlimit for 32-bit.

We need the rlimit64 functions to be able to build strace 4.8 out of the box.

Change-Id: I1903d913b23016a2fc3b9f452885ac730d71e001
2014-01-09 11:00:04 -08:00
The Android Automerger
e4732103a3 merge in master-release history after reset to master 2014-01-09 05:49:27 -08:00
Elliott Hughes
cf6090561b am e5af4430: am 8c6c9801: am 8276d287: Merge "Our dirent is a dirent64."
* commit 'e5af4430477b3fb8a6faaa5348a6dda4574fcea6':
  Our dirent is a dirent64.
2014-01-09 01:31:07 +00:00
Elliott Hughes
90e61a3039 am 49fd7864: am 2ab8dd30: am 66f473ef: Merge "Add <sys/reg.h>."
* commit '49fd7864cd997f78ac683c8c54dd009020c3d0e5':
  Add <sys/reg.h>.
2014-01-09 01:31:07 +00:00
Elliott Hughes
e5af443047 am 8c6c9801: am 8276d287: Merge "Our dirent is a dirent64."
* commit '8c6c9801f175acbd7ebde6e2f855e0b47ae0f96e':
  Our dirent is a dirent64.
2014-01-09 01:26:31 +00:00
Elliott Hughes
49fd7864cd am 2ab8dd30: am 66f473ef: Merge "Add <sys/reg.h>."
* commit '2ab8dd30ef455973c94a7386c70f0d4627789bab':
  Add <sys/reg.h>.
2014-01-09 01:26:30 +00:00
Elliott Hughes
8c6c9801f1 am 8276d287: Merge "Our dirent is a dirent64."
* commit '8276d2875f64587e266567f5bb2c5e0c70ef0a5d':
  Our dirent is a dirent64.
2014-01-08 17:20:16 -08:00
Elliott Hughes
2ab8dd30ef am 66f473ef: Merge "Add <sys/reg.h>."
* commit '66f473ef3313a2af7b9639f134e107a804d1e164':
  Add <sys/reg.h>.
2014-01-08 17:20:15 -08:00
Elliott Hughes
8276d2875f Merge "Our dirent is a dirent64." 2014-01-09 01:15:27 +00:00
Elliott Hughes
66f473ef33 Merge "Add <sys/reg.h>." 2014-01-09 01:15:10 +00:00
Elliott Hughes
72dee4e4aa am d0a17beb: am 548eddab: am 8a6eec38: Merge "Fix x86_64 register names in <sys/user.h>."
* commit 'd0a17beb73c851babf18736773645dbca206f69b':
  Fix x86_64 register names in <sys/user.h>.
2014-01-09 00:37:52 +00:00
Elliott Hughes
16b28da0df am 36a3f941: am 60ff1387: am 5d5cc227: Merge "We shouldn\'t have a <sys/dirent.h> that\'s a subset of <dirent.h>."
* commit '36a3f941d07ad58b7df1152b1cfb6041604eb666':
  We shouldn't have a <sys/dirent.h> that's a subset of <dirent.h>.
2014-01-09 00:37:51 +00:00
Elliott Hughes
d0a17beb73 am 548eddab: am 8a6eec38: Merge "Fix x86_64 register names in <sys/user.h>."
* commit '548eddab41c1665f1baf20be7d9d5267e9243087':
  Fix x86_64 register names in <sys/user.h>.
2014-01-09 00:35:30 +00:00
Elliott Hughes
36a3f941d0 am 60ff1387: am 5d5cc227: Merge "We shouldn\'t have a <sys/dirent.h> that\'s a subset of <dirent.h>."
* commit '60ff1387f418faa24f0eb6f00e72ad1674b3bcaa':
  We shouldn't have a <sys/dirent.h> that's a subset of <dirent.h>.
2014-01-09 00:35:30 +00:00
Elliott Hughes
38f0ef3ff7 Our dirent is a dirent64.
Change-Id: Idc9ebfd900fddd4f7c7ac95bc9b74401ebc801a3
2014-01-08 16:31:36 -08:00
Elliott Hughes
548eddab41 am 8a6eec38: Merge "Fix x86_64 register names in <sys/user.h>."
* commit '8a6eec38eb19b5af317b57c15459f9786df83eba':
  Fix x86_64 register names in <sys/user.h>.
2014-01-08 16:30:17 -08:00
Elliott Hughes
60ff1387f4 am 5d5cc227: Merge "We shouldn\'t have a <sys/dirent.h> that\'s a subset of <dirent.h>."
* commit '5d5cc2273f7be6b3d9fe4e5787ab22bc137c811a':
  We shouldn't have a <sys/dirent.h> that's a subset of <dirent.h>.
2014-01-08 16:30:17 -08:00
Elliott Hughes
5b17e4da39 Add <sys/reg.h>.
This describes the offsets into ptrace's returned arrays of registers
for x86 and x86-64.

Change-Id: I044f03e286673999a298b73a813d4ad366625845
2014-01-08 16:29:22 -08:00
Elliott Hughes
8a6eec38eb Merge "Fix x86_64 register names in <sys/user.h>." 2014-01-09 00:24:55 +00:00
Elliott Hughes
5d5cc2273f Merge "We shouldn't have a <sys/dirent.h> that's a subset of <dirent.h>." 2014-01-09 00:24:32 +00:00
Elliott Hughes
eddc8ece3d Fix x86_64 register names in <sys/user.h>.
Change-Id: Ieb327247a41f6195589716170e324d1cd1251b96
2014-01-08 15:54:19 -08:00
Elliott Hughes
155b076420 We shouldn't have a <sys/dirent.h> that's a subset of <dirent.h>.
glibc has no <sys/dirent.h>. If we do have to bring this back, we
should probably just have one file #include the other.

Change-Id: I5c0bf9c03769daf3b23f69778e9f01f81c3de9ec
2014-01-08 15:51:13 -08:00
The Android Automerger
cd3d8dbd07 merge in master-release history after reset to master 2014-01-08 05:49:16 -08:00
Elliott Hughes
398aadbf6d am e4f4ef04: am eac00eb7: am 4c8caf0a: Merge "<sched.h> should offer both __sched_priority and sched_priority."
* commit 'e4f4ef047c7240d5603ad4e65007f4b79a2fefa3':
  <sched.h> should offer both __sched_priority and sched_priority.
2014-01-08 02:53:05 +00:00
Elliott Hughes
f89abab0cb am fccb66b3: am 4458a5a7: am 4faf76ca: Merge "<fcntl.h> should get you the POSIX_FADV_* constants."
* commit 'fccb66b3ab3f6e5672a46d4730d545859308dc8c':
  <fcntl.h> should get you the POSIX_FADV_* constants.
2014-01-08 02:53:04 +00:00
Elliott Hughes
e4f4ef047c am eac00eb7: am 4c8caf0a: Merge "<sched.h> should offer both __sched_priority and sched_priority."
* commit 'eac00eb72bb6b7cfb9fb949df2dec52783df4bc9':
  <sched.h> should offer both __sched_priority and sched_priority.
2014-01-08 02:50:22 +00:00
Elliott Hughes
fccb66b3ab am 4458a5a7: am 4faf76ca: Merge "<fcntl.h> should get you the POSIX_FADV_* constants."
* commit '4458a5a78a9036e17d4747e0350e543588d97952':
  <fcntl.h> should get you the POSIX_FADV_* constants.
2014-01-08 02:50:21 +00:00
Elliott Hughes
eac00eb72b am 4c8caf0a: Merge "<sched.h> should offer both __sched_priority and sched_priority."
* commit '4c8caf0ad39768e614fb4c1f5ef415aab223adb2':
  <sched.h> should offer both __sched_priority and sched_priority.
2014-01-07 18:45:48 -08:00
Elliott Hughes
4458a5a78a am 4faf76ca: Merge "<fcntl.h> should get you the POSIX_FADV_* constants."
* commit '4faf76ca114a11cd264b0f5907e517add4585b27':
  <fcntl.h> should get you the POSIX_FADV_* constants.
2014-01-07 18:45:48 -08:00
Elliott Hughes
e0d647701e am ec93120e: am 82bbaf7e: am bc4e135a: Merge "Add SWAP_FLAG_* constants to <sys/swap.h>."
* commit 'ec93120e63b44e88ee4665820b7b29c0757852f7':
  Add SWAP_FLAG_* constants to <sys/swap.h>.
2014-01-08 02:43:02 +00:00
Elliott Hughes
4c8caf0ad3 Merge "<sched.h> should offer both __sched_priority and sched_priority." 2014-01-08 02:41:04 +00:00
Elliott Hughes
4faf76ca11 Merge "<fcntl.h> should get you the POSIX_FADV_* constants." 2014-01-08 02:40:44 +00:00
Elliott Hughes
ec93120e63 am 82bbaf7e: am bc4e135a: Merge "Add SWAP_FLAG_* constants to <sys/swap.h>."
* commit '82bbaf7e88440dc68f21cfe1b35c5a0f4a7b3dd2':
  Add SWAP_FLAG_* constants to <sys/swap.h>.
2014-01-08 02:40:32 +00:00
Elliott Hughes
82bbaf7e88 am bc4e135a: Merge "Add SWAP_FLAG_* constants to <sys/swap.h>."
* commit 'bc4e135a8ec0a72d07b2d74a082067e8e56c1f62':
  Add SWAP_FLAG_* constants to <sys/swap.h>.
2014-01-07 18:36:36 -08:00
Elliott Hughes
bc4e135a8e Merge "Add SWAP_FLAG_* constants to <sys/swap.h>." 2014-01-08 02:31:55 +00:00
Elliott Hughes
91a7e423a4 am 24ed782f: am d2fe982b: am 1c1b8354: Merge "Define fsid_t as well as __fsid_t."
* commit '24ed782faaf2f373c9c89a8c403bc3ec2e56bab8':
  Define fsid_t as well as __fsid_t.
2014-01-08 02:24:31 +00:00
Elliott Hughes
65c6f3099e Add SWAP_FLAG_* constants to <sys/swap.h>.
Bug: 9336527
Change-Id: I679be4d8425ba177dd782e714f465caf9daa976c
2014-01-08 02:23:06 +00:00
Elliott Hughes
24ed782faa am d2fe982b: am 1c1b8354: Merge "Define fsid_t as well as __fsid_t."
* commit 'd2fe982beec5ab7a2c9cc07239f276e7fcbecc46':
  Define fsid_t as well as __fsid_t.
2014-01-08 02:22:17 +00:00
Elliott Hughes
d2fe982bee am 1c1b8354: Merge "Define fsid_t as well as __fsid_t."
* commit '1c1b83549f8b96fec4cb7037cf595171909855c2':
  Define fsid_t as well as __fsid_t.
2014-01-07 18:16:44 -08:00
Elliott Hughes
1c1b83549f Merge "Define fsid_t as well as __fsid_t." 2014-01-08 02:11:05 +00:00
Elliott Hughes
bbb34f9536 <sched.h> should offer both __sched_priority and sched_priority.
If glibc hadn't already done things this way round, I'd have
called the field sched_priority and the macro __sched_priority
since that would seem less likely to cause trouble, but glibc
source compatibility is probably more important.

Change-Id: I8a8a477f2aa87cae641069c5c84b4fcab3152a82
2014-01-07 17:48:30 -08:00
Elliott Hughes
01e505ac9c <fcntl.h> should get you the POSIX_FADV_* constants.
Change-Id: I9de8b840570b228308c12d72b7617b8758237fb8
2014-01-07 17:47:20 -08:00
Elliott Hughes
abfc88fed7 Define fsid_t as well as __fsid_t.
Change-Id: Ib8efbd913a0e6bfe27b88c1342bd5cec926dd74e
2014-01-07 17:44:51 -08:00
Elliott Hughes
6f32b90ea4 am 0d668937: am 654a26b8: am 27a4bb31: Merge "Regenerate the NOTICE files."
* commit '0d66893771259bb82458ba303ff5f58fd9f9f74e':
  Regenerate the NOTICE files.
2014-01-07 22:00:58 +00:00
Elliott Hughes
0d66893771 am 654a26b8: am 27a4bb31: Merge "Regenerate the NOTICE files."
* commit '654a26b8c43a7955c5b33c5f988f93d6f71d6aa1':
  Regenerate the NOTICE files.
2014-01-07 21:59:08 +00:00
Elliott Hughes
654a26b8c4 am 27a4bb31: Merge "Regenerate the NOTICE files."
* commit '27a4bb319885f9ed218ebca02a92870582b35fd4':
  Regenerate the NOTICE files.
2014-01-07 13:52:39 -08:00
Elliott Hughes
27a4bb3198 Merge "Regenerate the NOTICE files." 2014-01-07 21:48:31 +00:00
Elliott Hughes
54a7494f17 Regenerate the NOTICE files.
Also standardize the orthography in a few places to reduce near-duplicates
in the NOTICE files.

Change-Id: I347c75e817be61ec1b9c5b4b96226feedc8d09ab
2014-01-07 13:46:11 -08:00
The Android Automerger
6bc44e5bdf merge in master-release history after reset to master 2014-01-07 06:21:54 -08:00
Christopher Ferris
a515fdfe15 am 4beb09a0: am 292f4473: am 10cd709f: Merge "Add cfi directives to x86 syscalls."
* commit '4beb09a0730ccd254a0f7683425911d7c90a1431':
  Add cfi directives to x86 syscalls.
2014-01-07 01:46:15 +00:00
Christopher Ferris
4beb09a073 am 292f4473: am 10cd709f: Merge "Add cfi directives to x86 syscalls."
* commit '292f4473e3c526955d337ccd0b7eb618d4b64d2d':
  Add cfi directives to x86 syscalls.
2014-01-07 01:44:17 +00:00
Christopher Ferris
292f4473e3 am 10cd709f: Merge "Add cfi directives to x86 syscalls."
* commit '10cd709ff92015a4c2306cdbd6e65260909bffb2':
  Add cfi directives to x86 syscalls.
2014-01-06 17:41:01 -08:00
Christopher Ferris
10cd709ff9 Merge "Add cfi directives to x86 syscalls." 2014-01-07 01:36:44 +00:00
Christopher Ferris
e4bc756121 Add cfi directives to x86 syscalls.
Modify the syscalls script to generate the cfi directives for x86
syscalls.

Update the x86 syscalls.

Change-Id: Ia1993dc714a7e79f917087fff8200e9a02c52603
2014-01-06 16:39:10 -08:00
Elliott Hughes
71d58d5621 am 3d37e2b6: am d7eb7dac: am 5f1322ce: Merge "Pass a valid stack pointer to __bionic_clone in pthread.__bionic_clone"
* commit '3d37e2b632d89f98fc2e53c6fa418ddf2d09a493':
  Pass a valid stack pointer to __bionic_clone in pthread.__bionic_clone
2014-01-06 23:59:39 +00:00
Elliott Hughes
3d37e2b632 am d7eb7dac: am 5f1322ce: Merge "Pass a valid stack pointer to __bionic_clone in pthread.__bionic_clone"
* commit 'd7eb7dacd9a878e7ce3772ebf9b5e6cfcee6ab1c':
  Pass a valid stack pointer to __bionic_clone in pthread.__bionic_clone
2014-01-06 23:52:55 +00:00
Elliott Hughes
d7eb7dacd9 am 5f1322ce: Merge "Pass a valid stack pointer to __bionic_clone in pthread.__bionic_clone"
* commit '5f1322cecf5af4bedfb2d3cf857d18e73a233b9d':
  Pass a valid stack pointer to __bionic_clone in pthread.__bionic_clone
2014-01-06 15:45:32 -08:00
Elliott Hughes
5f1322cecf Merge "Pass a valid stack pointer to __bionic_clone in pthread.__bionic_clone" 2014-01-06 23:37:21 +00:00
Elliott Hughes
9555fa7ec0 am 30ef1f3e: am ca63af9e: am b235f8c8: Merge "Fix dev_t (for LP64)."
* commit '30ef1f3e35e8c473b56cefa85617b660fa3a15fb':
  Fix dev_t (for LP64).
2014-01-06 20:56:51 +00:00
Elliott Hughes
6d3183bc40 am 8a6c497f: am 7a0e89b6: am 8c8852f1: Merge "Add TCPOPT_* constants."
* commit '8a6c497fb727e30d88a594f8ebfec9098595ae84':
  Add TCPOPT_* constants.
2014-01-06 20:56:50 +00:00
Elliott Hughes
30ef1f3e35 am ca63af9e: am b235f8c8: Merge "Fix dev_t (for LP64)."
* commit 'ca63af9e81813d978f19854d230e198de6dd4c6d':
  Fix dev_t (for LP64).
2014-01-06 20:46:29 +00:00
Elliott Hughes
8a6c497fb7 am 7a0e89b6: am 8c8852f1: Merge "Add TCPOPT_* constants."
* commit '7a0e89b61b8779ee800e7414736deb973cd0ea1b':
  Add TCPOPT_* constants.
2014-01-06 20:42:06 +00:00
Elliott Hughes
ca63af9e81 am b235f8c8: Merge "Fix dev_t (for LP64)."
* commit 'b235f8c8773c08569a97b0ff7e4c709b216c8478':
  Fix dev_t (for LP64).
2014-01-06 12:41:36 -08:00
Elliott Hughes
7a0e89b61b am 8c8852f1: Merge "Add TCPOPT_* constants."
* commit '8c8852f163c1263e539ba64a41f1389fa487377a':
  Add TCPOPT_* constants.
2014-01-06 12:38:17 -08:00
Elliott Hughes
b235f8c877 Merge "Fix dev_t (for LP64)." 2014-01-06 20:37:03 +00:00
Elliott Hughes
8c8852f163 Merge "Add TCPOPT_* constants." 2014-01-06 20:34:18 +00:00
The Android Automerger
6fa373e091 merge in master-release history after reset to master 2014-01-06 07:49:15 -08:00
Chris Dearman
dd00364807 Pass a valid stack pointer to __bionic_clone in pthread.__bionic_clone
__bionic_clone modifies the child stack before cloning so the stack
pointer should be valid. The test is expecting an EINVAL error to be
generated from the incorrect flags: CLONE_THREAD set without
CLONE_SIGHAND.

Change-Id: Ic02192081f6f52df6f03d9810efa82d923247a11
2014-01-04 13:14:35 +00:00
Elliott Hughes
338e6102a6 Add TCPOPT_* constants.
Adds the TCPOPT_* constants from NetBSD. Note that the BSDs also have
TCPOPT_SIGNATURE, but Linux calls that TCPOPT_MD5SIG and glibc doesn't
have any corresponding constant yet, so let's wait until we see which name
wins out.

Change-Id: If53cdada5595285d9a7e7248ef74cd7502d804c0
2014-01-03 15:58:40 -08:00
Elliott Hughes
a3ae611097 am dd18a8df: am 3fcc90c6: am c1c3f7d4: Merge "Remove as many hard-coded constants from the MIPS vfork.S as possible."
* commit 'dd18a8dfd03884ea6e6d71fdd013b2ebe6ebb999':
  Remove as many hard-coded constants from the MIPS vfork.S as possible.
2014-01-03 23:19:42 +00:00
Elliott Hughes
894f8cb139 Fix dev_t (for LP64).
32-bit Android's dev_t was wrong too. We can't fix that without ABI breakage,
but we can at least fix 64-bit Android. And add tests.

Bug: https://code.google.com/p/android/issues/detail?id=54966
Change-Id: Ie2e42cc042b78b669a1a44e55f959dbd9c52c5c9
2014-01-03 14:49:37 -08:00
Elliott Hughes
dd18a8dfd0 am 3fcc90c6: am c1c3f7d4: Merge "Remove as many hard-coded constants from the MIPS vfork.S as possible."
* commit '3fcc90c6c0ed602aeaa51b592e7d8effdae74cc8':
  Remove as many hard-coded constants from the MIPS vfork.S as possible.
2014-01-03 22:45:25 +00:00
Elliott Hughes
3fcc90c6c0 am c1c3f7d4: Merge "Remove as many hard-coded constants from the MIPS vfork.S as possible."
* commit 'c1c3f7d4468f02adbf8ced689d738386e42af773':
  Remove as many hard-coded constants from the MIPS vfork.S as possible.
2014-01-03 14:41:50 -08:00
Elliott Hughes
c1c3f7d446 Merge "Remove as many hard-coded constants from the MIPS vfork.S as possible." 2014-01-03 22:36:53 +00:00
Elliott Hughes
c5bf703c4c Remove as many hard-coded constants from the MIPS vfork.S as possible.
We could do better, but not without MIPS cleaning up their kernel headers.

Change-Id: Ib4d4ce5d720ce8ca27a3f9a1ae07a9a277675af9
2014-01-03 14:27:17 -08:00
The Android Automerger
a5fd8c8e95 merge in master-release history after reset to master 2014-01-03 07:50:11 -08:00
Elliott Hughes
83783d4c2d am c2162cc5: am b8f2df91: am 3b36564b: Merge "Use the MAX_ERRNO constant."
* commit 'c2162cc58fd7d68eb64cc787e741770f7f502343':
  Use the MAX_ERRNO constant.
2014-01-03 00:38:52 +00:00
Elliott Hughes
c2162cc58f am b8f2df91: am 3b36564b: Merge "Use the MAX_ERRNO constant."
* commit 'b8f2df91caa8f3f40cff5b324768d3a84232a87f':
  Use the MAX_ERRNO constant.
2014-01-03 00:36:39 +00:00
Elliott Hughes
b8f2df91ca am 3b36564b: Merge "Use the MAX_ERRNO constant."
* commit '3b36564b18d83ec313fd2aa6d7f38576dea3f6b8':
  Use the MAX_ERRNO constant.
2014-01-02 16:30:24 -08:00
Elliott Hughes
3b36564b18 Merge "Use the MAX_ERRNO constant." 2014-01-03 00:24:45 +00:00
Elliott Hughes
a85aaf11fa Use the MAX_ERRNO constant.
If you're going to hardcode a constant, you could at least try to
get the constant right...

Change-Id: I886a2593357d1c4dfd6c42649c63e8a35c15a441
2014-01-02 16:23:24 -08:00
Elliott Hughes
8b73b46948 am 0db8180f: am a4c979e3: am 66d16619: Merge "Remove a hardcoded constant from aarch64\'s vfork."
* commit '0db8180f9720c1b844d4e6c126e98d6bb78c0946':
  Remove a hardcoded constant from aarch64's vfork.
2014-01-02 22:28:16 +00:00
Elliott Hughes
0db8180f97 am a4c979e3: am 66d16619: Merge "Remove a hardcoded constant from aarch64\'s vfork."
* commit 'a4c979e396b60269a0f830e762b531f43718da4b':
  Remove a hardcoded constant from aarch64's vfork.
2014-01-02 22:25:44 +00:00
Elliott Hughes
a4c979e396 am 66d16619: Merge "Remove a hardcoded constant from aarch64\'s vfork."
* commit '66d166192e6b0e1091550e9f584e92521e375df7':
  Remove a hardcoded constant from aarch64's vfork.
2014-01-02 14:21:46 -08:00
Elliott Hughes
66d166192e Merge "Remove a hardcoded constant from aarch64's vfork." 2014-01-02 22:18:36 +00:00
Elliott Hughes
b0a2efc6f2 Remove a hardcoded constant from aarch64's vfork.
Change-Id: Ifc09ca066c32988b8cc9db9e808b9ef4c4d2bfcb
2014-01-02 14:17:30 -08:00
Elliott Hughes
8bea13ddcb am 9d0600e1: am 741d4023: am 7b0c23f1: Merge "Clean up <sched.h>."
* commit '9d0600e16169a326a68543992e428d78d4f67398':
  Clean up <sched.h>.
2014-01-02 21:57:07 +00:00
Elliott Hughes
9d0600e161 am 741d4023: am 7b0c23f1: Merge "Clean up <sched.h>."
* commit '741d4023bb4f752f15221f596c3122de1982cdc1':
  Clean up <sched.h>.
2014-01-02 21:54:39 +00:00
Elliott Hughes
741d4023bb am 7b0c23f1: Merge "Clean up <sched.h>."
* commit '7b0c23f1ac5df8654e0790b9eb3bbfcbf36c0e5f':
  Clean up <sched.h>.
2014-01-02 13:50:41 -08:00
Elliott Hughes
7b0c23f1ac Merge "Clean up <sched.h>." 2014-01-02 21:46:53 +00:00
Elliott Hughes
887e1140fe Clean up <sched.h>.
This patch switches to using the uapi constants. It also adds the missing
setns system call, fixes sched_getcpu's error behavior, and fixes the
gensyscalls script now ARM is uapi-only too.

Change-Id: I8e16b1693d6d32cd9b8499e46b5d8b0a50bc4f1d
2014-01-02 12:05:50 -08:00
Elliott Hughes
1c1a001deb am 19705a6e: am bb184de2: am 17c9fe7d: Merge "Fix MIPS build."
* commit '19705a6e350d3faedfcb69da117f18770528fe4a':
  Fix MIPS build.
2013-12-22 20:14:41 +00:00
Elliott Hughes
19705a6e35 am bb184de2: am 17c9fe7d: Merge "Fix MIPS build."
* commit 'bb184de241025aa34f9ca1c89ecae871f6fde86a':
  Fix MIPS build.
2013-12-22 20:12:20 +00:00
Elliott Hughes
bb184de241 am 17c9fe7d: Merge "Fix MIPS build."
* commit '17c9fe7d2f396294a09344a253b2a16ae400df14':
  Fix MIPS build.
2013-12-22 12:06:52 -08:00
Elliott Hughes
17c9fe7d2f Merge "Fix MIPS build." 2013-12-22 20:03:07 +00:00
Elliott Hughes
5063791535 Fix MIPS build.
Change-Id: I175f427e355fca9a5a3f4e4379d7fcd1f7f6a22d
2013-12-22 12:02:32 -08:00
Elliott Hughes
e2c900cf98 am 56ee4b95: am 8e3bdee3: am 3b2f4142: Merge "Improve dynamic linker diagnostics for internal errors."
* commit '56ee4b955eaa7aaa9fc1f8867b5b4b19d5971c77':
  Improve dynamic linker diagnostics for internal errors.
2013-12-22 19:53:19 +00:00
Elliott Hughes
56ee4b955e am 8e3bdee3: am 3b2f4142: Merge "Improve dynamic linker diagnostics for internal errors."
* commit '8e3bdee39c73af57a3782e10316a2d7a35dc2731':
  Improve dynamic linker diagnostics for internal errors.
2013-12-22 19:51:06 +00:00
Elliott Hughes
14a9c3f516 am 75ed8899: am 2f6f6c0b: am 47033433: Merge "Remove the bogus exit status from _exit_with_stack_teardown."
* commit '75ed8899ac02bf952dd42987f867372a8b56219f':
  Remove the bogus exit status from _exit_with_stack_teardown.
2013-12-22 19:45:47 +00:00
Elliott Hughes
8e3bdee39c am 3b2f4142: Merge "Improve dynamic linker diagnostics for internal errors."
* commit '3b2f4142aa4f2892ecbea89a256b4f5fc94e777a':
  Improve dynamic linker diagnostics for internal errors.
2013-12-22 11:44:52 -08:00
Elliott Hughes
75ed8899ac am 2f6f6c0b: am 47033433: Merge "Remove the bogus exit status from _exit_with_stack_teardown."
* commit '2f6f6c0b8e72c0ca4d6ff76ccd9a806a39b83de3':
  Remove the bogus exit status from _exit_with_stack_teardown.
2013-12-22 19:44:35 +00:00
Elliott Hughes
2f6f6c0b8e am 47033433: Merge "Remove the bogus exit status from _exit_with_stack_teardown."
* commit '470334333e2ad5119b72bb830c51c32852a77c6c':
  Remove the bogus exit status from _exit_with_stack_teardown.
2013-12-22 11:40:10 -08:00
Elliott Hughes
3b2f4142aa Merge "Improve dynamic linker diagnostics for internal errors." 2013-12-22 19:39:42 +00:00
Elliott Hughes
b93702a046 Improve dynamic linker diagnostics for internal errors.
If the linker can't resolve its own internal references to symbols,
we currently exit silently (albeit with EXIT_FAILURE). Not very helpful.

Change-Id: I1614fc970dee4560b38832ede1987b65a8e53a1e
2013-12-22 19:38:42 +00:00
Elliott Hughes
470334333e Merge "Remove the bogus exit status from _exit_with_stack_teardown." 2013-12-22 19:36:56 +00:00
Elliott Hughes
2aace21a19 Remove the bogus exit status from _exit_with_stack_teardown.
It should always be 0, and there's no reason to pass a constant in as
an argument.

Change-Id: I92ac59b718a18e298bd7c52821af447f9181ca2a
2013-12-21 15:30:49 -08:00
Elliott Hughes
b12dc8e6c8 am 7b9f6ab8: am 57c6a969: am 6d929061: Merge "Fix MIPS build."
* commit '7b9f6ab83459eea7f4070e93b0a4efbb70a38e2c':
  Fix MIPS build.
2013-12-21 02:59:01 +00:00
Elliott Hughes
7b9f6ab834 am 57c6a969: am 6d929061: Merge "Fix MIPS build."
* commit '57c6a96939533a149b2736a21d3c0bad3a096e4e':
  Fix MIPS build.
2013-12-21 02:56:06 +00:00
Elliott Hughes
57c6a96939 am 6d929061: Merge "Fix MIPS build."
* commit '6d929061c36e7929c61c8e6331315b86fe86976f':
  Fix MIPS build.
2013-12-20 18:51:56 -08:00
Elliott Hughes
6d929061c3 Merge "Fix MIPS build." 2013-12-21 02:47:01 +00:00
Elliott Hughes
5b395ce071 Fix MIPS build.
Change-Id: Idd3bcda1803fd16b728a352d325bb070aed8fd94
2013-12-20 18:46:14 -08:00
Elliott Hughes
bb6bf6417a am e4aaceb3: am 191c7e3e: am 3fdb7355: Merge "Avoid sign extension in 32-bit mmap."
* commit 'e4aaceb302a846cf862d9e8a6d96bf85b07d8123':
  Avoid sign extension in 32-bit mmap.
2013-12-21 02:38:20 +00:00
Elliott Hughes
e4aaceb302 am 191c7e3e: am 3fdb7355: Merge "Avoid sign extension in 32-bit mmap."
* commit '191c7e3e2a9e6a7b81cafd9839556cd8cc92e4c1':
  Avoid sign extension in 32-bit mmap.
2013-12-21 02:35:37 +00:00
Elliott Hughes
a255bce6d2 am 5ff62cbe: am 51166a7e: am 434f97f6: Merge "Remove some old kernel header cruft not needed with uapi."
* commit '5ff62cbe9df50eb9d1bac01180ca7f40c1e2c6e2':
  Remove some old kernel header cruft not needed with uapi.
2013-12-21 02:34:51 +00:00
Elliott Hughes
5ff62cbe9d am 51166a7e: am 434f97f6: Merge "Remove some old kernel header cruft not needed with uapi."
* commit '51166a7e6f172eea42a68f8f8bc4c4d024cfb3f5':
  Remove some old kernel header cruft not needed with uapi.
2013-12-21 02:32:16 +00:00
Elliott Hughes
191c7e3e2a am 3fdb7355: Merge "Avoid sign extension in 32-bit mmap."
* commit '3fdb735590ed642420608dd7095c06de89d852b5':
  Avoid sign extension in 32-bit mmap.
2013-12-20 18:29:41 -08:00
Elliott Hughes
51166a7e6f am 434f97f6: Merge "Remove some old kernel header cruft not needed with uapi."
* commit '434f97f66aa64cd082f3f62fdd6422cad3132706':
  Remove some old kernel header cruft not needed with uapi.
2013-12-20 18:26:21 -08:00
Elliott Hughes
3fdb735590 Merge "Avoid sign extension in 32-bit mmap." 2013-12-21 02:23:35 +00:00
Elliott Hughes
434f97f66a Merge "Remove some old kernel header cruft not needed with uapi." 2013-12-21 02:21:13 +00:00
Elliott Hughes
99868904fe Avoid sign extension in 32-bit mmap.
Change-Id: I2a77925f62f381a0b34648c3db8154a55dd80c46
2013-12-20 18:17:34 -08:00
Elliott Hughes
6ae8ab2896 am 9306d2a2: am bc86e156: am 22323f91: Merge "Fix aarch64 futex assembly routines."
* commit '9306d2a21f281b505582cd8710546decc92bf497':
  Fix aarch64 futex assembly routines.
2013-12-21 01:37:04 +00:00
Elliott Hughes
9306d2a21f am bc86e156: am 22323f91: Merge "Fix aarch64 futex assembly routines."
* commit 'bc86e156cccb9d1d9bb1b2f1fcbce55fb67c5eb5':
  Fix aarch64 futex assembly routines.
2013-12-21 01:32:27 +00:00
Elliott Hughes
bc86e156cc am 22323f91: Merge "Fix aarch64 futex assembly routines."
* commit '22323f91b11b0fbaa0a101a75e116132028a5817':
  Fix aarch64 futex assembly routines.
2013-12-20 17:26:47 -08:00
Elliott Hughes
68d89c7d65 Remove some old kernel header cruft not needed with uapi.
Change-Id: If543b056ae40f0eb660be4a0629ad22f4c4cb92f
2013-12-20 17:26:30 -08:00
Elliott Hughes
22323f91b1 Merge "Fix aarch64 futex assembly routines." 2013-12-21 01:20:23 +00:00
Elliott Hughes
5eccb9646d Fix aarch64 futex assembly routines.
Also make the other architectures more similar to one another,
use NULL instead of 0 in calling code, and remove an unused #define.

Change-Id: I52b874afb6a351c802f201a0625e484df6d093bb
2013-12-20 16:58:06 -08:00
Elliott Hughes
fb5222ebef am c2b4de4d: am 9f65022f: am 026b6ab6: Merge "Allocate additional space on stack for indirect syscall"
* commit 'c2b4de4dca45cf8bea64e69563f8efde13539a0f':
  Allocate additional space on stack for indirect syscall
2013-12-20 23:50:41 +00:00
Elliott Hughes
c2b4de4dca am 9f65022f: am 026b6ab6: Merge "Allocate additional space on stack for indirect syscall"
* commit '9f65022f8f7a224cf7c32cccff65a698123f5e97':
  Allocate additional space on stack for indirect syscall
2013-12-20 23:48:19 +00:00
Elliott Hughes
9f65022f8f am 026b6ab6: Merge "Allocate additional space on stack for indirect syscall"
* commit '026b6ab6d5f0d8fca5cdfab05727197626769dc2':
  Allocate additional space on stack for indirect syscall
2013-12-20 15:41:59 -08:00
Elliott Hughes
026b6ab6d5 Merge "Allocate additional space on stack for indirect syscall" 2013-12-20 23:36:32 +00:00
Chris Dearman
766c7efe28 Allocate additional space on stack for indirect syscall
The caller is only required to allocate 16 bytes on the
stack for a0-a3. syscall is handling up to 6 arguments so
additional space is needed on the stack to avoid corrupting the
callers frame.

Change-Id: I054b31696decc3e17d9c70af18cd278b852235d1
2013-12-20 15:36:00 -08:00
Greg Hackmann
218c50fcc3 am 8d4d6d55: am 70898677: am 5e26221a: Merge "Fix backwards compatible system property structure"
* commit '8d4d6d5536e138260f826f67175fb89b79c41c8c':
  Fix backwards compatible system property structure
2013-12-20 22:51:34 +00:00
Greg Hackmann
8d4d6d5536 am 70898677: am 5e26221a: Merge "Fix backwards compatible system property structure"
* commit '70898677713a4baee6abfb01d1c49b7169e68de2':
  Fix backwards compatible system property structure
2013-12-20 22:06:11 +00:00
Greg Hackmann
7089867771 am 5e26221a: Merge "Fix backwards compatible system property structure"
* commit '5e26221a1da6bc0f11819078e74f1f6e0b76f642':
  Fix backwards compatible system property structure
2013-12-20 14:00:26 -08:00
Greg Hackmann
5e26221a1d Merge "Fix backwards compatible system property structure" 2013-12-20 21:54:38 +00:00
Elliott Hughes
ac0c7d599e am 55ac19cf: am 7b0964b1: am 21955e54: Merge "Upgrade to tzdata2013i."
* commit '55ac19cf547b59cc1efce4562655b517f926f72d':
  Upgrade to tzdata2013i.
2013-12-20 19:46:41 +00:00
Elliott Hughes
55ac19cf54 am 7b0964b1: am 21955e54: Merge "Upgrade to tzdata2013i."
* commit '7b0964b1818cc4b136368297ff1b3d38b0bff84d':
  Upgrade to tzdata2013i.
2013-12-20 19:43:12 +00:00
Elliott Hughes
7b0964b181 am 21955e54: Merge "Upgrade to tzdata2013i."
* commit '21955e5453de0b82c1ab25a3bb7314c249d73269':
  Upgrade to tzdata2013i.
2013-12-20 11:38:17 -08:00
Elliott Hughes
21955e5453 Merge "Upgrade to tzdata2013i." 2013-12-20 19:33:46 +00:00
Elliott Hughes
498295ca2b Upgrade to tzdata2013i.
From the release notes:

  Changes affecting near-future time stamps:

    Jordan switches back to standard time at 00:00 on December 20, 2013.
    The 2006-2011 transition schedule is planned to resume in 2014.
    (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps:

    In 2004, Cuba began DST on March 28, not April 4.
    (Thanks to Steffen Thorsen.)

Change-Id: I8f26cc50f6b571804a18ff2113b4a47a22bc56dd
2013-12-20 11:26:19 -08:00
Elliott Hughes
ab27c70dd0 am aefb8b35: am ddeca583: am aa267685: Merge "Allow GCC-built fortified code to run on a clang-built bionic."
* commit 'aefb8b3599056465e8281bd1062c558c8554113f':
  Allow GCC-built fortified code to run on a clang-built bionic.
2013-12-20 05:50:50 +00:00
Elliott Hughes
aefb8b3599 am ddeca583: am aa267685: Merge "Allow GCC-built fortified code to run on a clang-built bionic."
* commit 'ddeca5832eac6ea7a50f8425fc97a45caaf6dd46':
  Allow GCC-built fortified code to run on a clang-built bionic.
2013-12-20 05:47:11 +00:00
Elliott Hughes
ddeca5832e am aa267685: Merge "Allow GCC-built fortified code to run on a clang-built bionic."
* commit 'aa267685c9da11502c4ec50f86f78a7075b6809c':
  Allow GCC-built fortified code to run on a clang-built bionic.
2013-12-19 21:23:09 -08:00
Elliott Hughes
aa267685c9 Merge "Allow GCC-built fortified code to run on a clang-built bionic." 2013-12-20 02:54:56 +00:00
Elliott Hughes
b0c37817d7 am 907710e4: am 543e5d54: am ea23753e: Merge "Fix __isnanl on aarch64."
* commit '907710e49e2d177bb7cb5a5cfbf355ffceec9ea4':
  Fix __isnanl on aarch64.
2013-12-20 02:16:30 +00:00
Elliott Hughes
907710e49e am 543e5d54: am ea23753e: Merge "Fix __isnanl on aarch64."
* commit '543e5d543295f1b867e13e66bc93feb04b55c4eb':
  Fix __isnanl on aarch64.
2013-12-20 02:13:41 +00:00
Elliott Hughes
543e5d5432 am ea23753e: Merge "Fix __isnanl on aarch64."
* commit 'ea23753ea0a4d07924d9605d9acb44f51787ddd7':
  Fix __isnanl on aarch64.
2013-12-19 18:09:23 -08:00
Elliott Hughes
ea23753ea0 Merge "Fix __isnanl on aarch64." 2013-12-20 02:03:22 +00:00
Elliott Hughes
4889dc1658 am 576fba08: am c7295d73: am a19a41b6: Merge "Fix struct stat for aarch64."
* commit '576fba08dc1cf289a1160d2c8e6678f6155a0814':
  Fix struct stat for aarch64.
2013-12-20 02:02:13 +00:00
Elliott Hughes
576fba08dc am c7295d73: am a19a41b6: Merge "Fix struct stat for aarch64."
* commit 'c7295d73098df8b5e6c23b1a08b0273232bb9176':
  Fix struct stat for aarch64.
2013-12-20 01:58:52 +00:00
Elliott Hughes
8491fd501a am d7a47858: am b37569e3: am f85b9ac3: Merge "Don\'t force O_LARGEFILE on LP64."
* commit 'd7a478589fdfde8fb4d7d1c9c4c294498f5009b8':
  Don't force O_LARGEFILE on LP64.
2013-12-20 01:57:29 +00:00
Elliott Hughes
d7a478589f am b37569e3: am f85b9ac3: Merge "Don\'t force O_LARGEFILE on LP64."
* commit 'b37569e32ef9f4ad8359a8b93c7cb029e77f38c0':
  Don't force O_LARGEFILE on LP64.
2013-12-20 01:55:24 +00:00
Elliott Hughes
c7295d7309 am a19a41b6: Merge "Fix struct stat for aarch64."
* commit 'a19a41b6b596654a1ae21c350957d874031b00b2':
  Fix struct stat for aarch64.
2013-12-19 17:52:35 -08:00
Elliott Hughes
b37569e32e am f85b9ac3: Merge "Don\'t force O_LARGEFILE on LP64."
* commit 'f85b9ac3ec4fbebc2792cf823e0e721543950352':
  Don't force O_LARGEFILE on LP64.
2013-12-19 17:49:12 -08:00
Elliott Hughes
a19a41b6b5 Merge "Fix struct stat for aarch64." 2013-12-20 01:45:33 +00:00
Elliott Hughes
f85b9ac3ec Merge "Don't force O_LARGEFILE on LP64." 2013-12-20 01:44:24 +00:00
Elliott Hughes
28ddd91c49 Fix __isnanl on aarch64.
This fixes the math.__isnanl, math.powl, and math.fdiml tests.

Change-Id: I0086e4a1a82d0e2708fa07cf580a6d9778c548f2
2013-12-19 17:13:56 -08:00
Ben Cheng
c77395b341 am 88568a4b: am 6517824f: am f576472a: Merge "Add __popcountsi2 to the function compat list."
* commit '88568a4b89f52f37001866680ff1ce07e592f75c':
  Add __popcountsi2 to the function compat list.
2013-12-20 00:58:01 +00:00
Ben Cheng
88568a4b89 am 6517824f: am f576472a: Merge "Add __popcountsi2 to the function compat list."
* commit '6517824f160a41bbf31b410001cae73a35f89b42':
  Add __popcountsi2 to the function compat list.
2013-12-20 00:55:25 +00:00
Elliott Hughes
b8fa5b1ca9 Fix struct stat for aarch64.
Another kernel, another struct stat.

Change-Id: Ia5ee553d4a2ffc878d2fed82a763ff64c02b12e8
2013-12-19 16:50:22 -08:00
Ben Cheng
6517824f16 am f576472a: Merge "Add __popcountsi2 to the function compat list."
* commit 'f576472a144c20f307bfa05839eb25e7215ff67e':
  Add __popcountsi2 to the function compat list.
2013-12-19 16:49:31 -08:00
Elliott Hughes
17cabe15d5 Don't force O_LARGEFILE on LP64.
aarch64's strace is confused by this, and it isn't necessary anyway.

Change-Id: Ib07b649eb1c38ff0296003874f73af78c47bc276
2013-12-19 16:48:56 -08:00
Ben Cheng
f576472a14 Merge "Add __popcountsi2 to the function compat list." 2013-12-20 00:42:40 +00:00
Ben Cheng
e3fb66dd01 Add __popcountsi2 to the function compat list.
This is needed if we use Clang to compile Bionic, which won't include
__popcountsi2 anymore as Clang generates inline instructions. However
prebuilt binary blobs still depend on libc.so to resolve __popcountsi2.

Change-Id: I9001a3884c4be250c0ceebcd79922783fae1a0b7
2013-12-19 16:26:40 -08:00
Elliott Hughes
d14636ae73 am ffbbc131: am 1608659a: am ed96db2a: Merge "Don\'t abort in stdio.getdelim_invalid and stdio.getline_invalid."
* commit 'ffbbc131fa49f60f78a39a1d4a35a2dba20a0167':
  Don't abort in stdio.getdelim_invalid and stdio.getline_invalid.
2013-12-19 23:52:12 +00:00
Elliott Hughes
ffbbc131fa am 1608659a: am ed96db2a: Merge "Don\'t abort in stdio.getdelim_invalid and stdio.getline_invalid."
* commit '1608659a45e2291cab84b4ef1d1c6f35ff988e67':
  Don't abort in stdio.getdelim_invalid and stdio.getline_invalid.
2013-12-19 23:48:01 +00:00
Elliott Hughes
1608659a45 am ed96db2a: Merge "Don\'t abort in stdio.getdelim_invalid and stdio.getline_invalid."
* commit 'ed96db2a4f2fe5683407c3571d037bb7325544da':
  Don't abort in stdio.getdelim_invalid and stdio.getline_invalid.
2013-12-19 15:42:06 -08:00
Elliott Hughes
ed96db2a4f Merge "Don't abort in stdio.getdelim_invalid and stdio.getline_invalid." 2013-12-19 23:36:47 +00:00
Elliott Hughes
6ad8f76f1f Don't abort in stdio.getdelim_invalid and stdio.getline_invalid.
Change-Id: Ie1aefed732f4bea77887bddd1be9a0578e247aa3
2013-12-19 14:56:17 -08:00
Elliott Hughes
cd0609f4fc Allow GCC-built fortified code to run on a clang-built bionic.
Even though code built with clang won't be fully fortified
and won't contain calls to our various helpers, binaries built
with GCC will.

Change-Id: I389b2f1e22a3e89b22aadedc46397bf704f9ca79
2013-12-19 14:20:22 -08:00
Elliott Hughes
1223248ba1 am 01e8d487: am 61f02065: am cf7a4a4f: Merge "Revert "Add C linkage for __open_2 and __openat_2.""
* commit '01e8d48761e64ce63bb4928ea9ce57f140027213':
  Revert "Add C linkage for __open_2 and __openat_2."
2013-12-19 20:15:24 +00:00
Elliott Hughes
01e8d48761 am 61f02065: am cf7a4a4f: Merge "Revert "Add C linkage for __open_2 and __openat_2.""
* commit '61f020650466751501fce0326e654135b88c9f99':
  Revert "Add C linkage for __open_2 and __openat_2."
2013-12-19 20:13:00 +00:00
Elliott Hughes
61f0206504 am cf7a4a4f: Merge "Revert "Add C linkage for __open_2 and __openat_2.""
* commit 'cf7a4a4fda076ec76bb79fdbd039665171e8cd75':
  Revert "Add C linkage for __open_2 and __openat_2."
2013-12-19 12:07:06 -08:00
Elliott Hughes
cf7a4a4fda Merge "Revert "Add C linkage for __open_2 and __openat_2."" 2013-12-19 20:02:28 +00:00
Elliott Hughes
9a42eef8b1 Revert "Add C linkage for __open_2 and __openat_2."
This reverts commit c13d89b829a83a248130184583cf0332515a05df.

Change-Id: I40a3c6b926e920b65dd054353a2db8d314d5b300
2013-12-19 20:02:16 +00:00
Elliott Hughes
d149305258 am b0ad47e2: am d520c95e: am bb4f6dc2: Merge "ARM: Change dmb domain for bionic_atomic_barrier()"
* commit 'b0ad47e20d0f9c5c5c498638cc9b5cd341b304bc':
  ARM: Change dmb domain for bionic_atomic_barrier()
2013-12-19 19:53:19 +00:00
Elliott Hughes
b0ad47e20d am d520c95e: am bb4f6dc2: Merge "ARM: Change dmb domain for bionic_atomic_barrier()"
* commit 'd520c95e457fb81522491b7e50dc736e81e9bbd1':
  ARM: Change dmb domain for bionic_atomic_barrier()
2013-12-19 19:51:14 +00:00
Elliott Hughes
c06eaa3e12 am f850700c: am 2520a94e: am 1afb375d: Merge "Fix aarch64 custom assembler now non-uapi is gone."
* commit 'f850700c67f8a5f9641c91c53269f9a5a14d3399':
  Fix aarch64 custom assembler now non-uapi is gone.
2013-12-19 19:49:46 +00:00
Elliott Hughes
994f5eee12 am 9ebc59e7: am 53fc123c: am eb15a6c9: Merge "We actually have modfl."
* commit '9ebc59e782dbf6de1856ff59125aa30cd9952b3b':
  We actually have modfl.
2013-12-19 19:49:45 +00:00
Elliott Hughes
f850700c67 am 2520a94e: am 1afb375d: Merge "Fix aarch64 custom assembler now non-uapi is gone."
* commit '2520a94e0bfce53b499feb7e88791cd6d8023356':
  Fix aarch64 custom assembler now non-uapi is gone.
2013-12-19 19:47:42 +00:00
Elliott Hughes
9ebc59e782 am 53fc123c: am eb15a6c9: Merge "We actually have modfl."
* commit '53fc123c696a37e428b788dd487598178c592c2c':
  We actually have modfl.
2013-12-19 19:47:41 +00:00
Elliott Hughes
d520c95e45 am bb4f6dc2: Merge "ARM: Change dmb domain for bionic_atomic_barrier()"
* commit 'bb4f6dc2ec388dca4f3570164509420e1df91b35':
  ARM: Change dmb domain for bionic_atomic_barrier()
2013-12-19 11:45:37 -08:00
Elliott Hughes
2520a94e0b am 1afb375d: Merge "Fix aarch64 custom assembler now non-uapi is gone."
* commit '1afb375d30cadf5dfcb5dfe352527e2a1147c79f':
  Fix aarch64 custom assembler now non-uapi is gone.
2013-12-19 11:42:06 -08:00
Elliott Hughes
53fc123c69 am eb15a6c9: Merge "We actually have modfl."
* commit 'eb15a6c9cd35fa2a91d277c48390827a78435ab4':
  We actually have modfl.
2013-12-19 11:42:05 -08:00
Elliott Hughes
bb4f6dc2ec Merge "ARM: Change dmb domain for bionic_atomic_barrier()" 2013-12-19 19:39:43 +00:00
Serban Constantinescu
845c778fa6 ARM: Change dmb domain for bionic_atomic_barrier()
This patch changes the domain that the memory barrier operates on. Assumes
that the scope of bionic_atomic_barrier() does not include device memory,
memory shared with the GPU or any other memory external to the processor
cluster.

Change-Id: I291e741c98a64c86f3a3cf99811bbf1e714ac9aa
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-19 11:39:01 -08:00
Elliott Hughes
1afb375d30 Merge "Fix aarch64 custom assembler now non-uapi is gone." 2013-12-19 19:36:04 +00:00
Elliott Hughes
eb15a6c9cd Merge "We actually have modfl." 2013-12-19 19:34:03 +00:00
Elliott Hughes
da9775509b Fix aarch64 custom assembler now non-uapi is gone.
Change-Id: I9c8ad17d9bae2de9d793444d87d4ee133728e900
2013-12-19 11:32:42 -08:00
Elliott Hughes
20adf52cf2 We actually have modfl.
Change-Id: I22bb4d14f99a418819f2941c2dfec49094807c5f
2013-12-19 11:30:51 -08:00
Ben Cheng
0c45d8568d am 08af3aae: am e884a039: am dcc18ea4: Merge "Add C linkage for __open_2 and __openat_2."
* commit '08af3aae104611d269d942354791e5bcb693ceee':
  Add C linkage for __open_2 and __openat_2.
2013-12-19 19:13:00 +00:00
Ben Cheng
08af3aae10 am e884a039: am dcc18ea4: Merge "Add C linkage for __open_2 and __openat_2."
* commit 'e884a039dbb716591a1af6427280a4b555fda604':
  Add C linkage for __open_2 and __openat_2.
2013-12-19 19:09:55 +00:00
Ben Cheng
e884a039db am dcc18ea4: Merge "Add C linkage for __open_2 and __openat_2."
* commit 'dcc18ea4c685230087618c12e8f20484b314596f':
  Add C linkage for __open_2 and __openat_2.
2013-12-19 11:05:15 -08:00
Ben Cheng
dcc18ea4c6 Merge "Add C linkage for __open_2 and __openat_2." 2013-12-19 18:59:05 +00:00
Ben Cheng
c13d89b829 Add C linkage for __open_2 and __openat_2.
Otherwise Clang mangle them with C++ names.

Change-Id: I844e28d834df8b0752b32d2aadd2013fc8804a43
2013-12-19 10:49:20 -08:00
Serban Constantinescu
bf3ec9ad52 AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()
The bionic_atomic_cmpxchg() API states that the cmpxchg() will be done without
explicit memory barriers. LDAXR/STLXR semantics involve half barriers for
load/store.

This patch optimises cmpxchg() by using LDXR/STXR and avoiding unnecessary half
bariers. It also fixes the clobber list for all the bionic_atomic_*() functions.

Change-Id: Iae9468965785cfeeec791d52f1e8cbc524adb682
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-19 18:32:53 +00:00
Christopher Ferris
f36c3ea8ff resolved conflicts for merge of 85e0dd89 to master
Change-Id: I21f7ffb9a582681877e2dbad54185ee37d18410e
2013-12-18 23:43:36 -08:00
Christopher Ferris
85e0dd89e0 am 5cdc1414: am 81ddd143: Merge "Remove the non-uapi kernel headers."
* commit '5cdc14143351539c3eae053fe142578382f254a5':
  Remove the non-uapi kernel headers.
2013-12-19 07:08:35 +00:00
Christopher Ferris
5cdc141433 am 81ddd143: Merge "Remove the non-uapi kernel headers."
* commit '81ddd14381b09f171c006ebcbba15b3c1baf2a9f':
  Remove the non-uapi kernel headers.
2013-12-18 23:04:58 -08:00
Christopher Ferris
81ddd14381 Merge "Remove the non-uapi kernel headers." 2013-12-19 06:58:53 +00:00
Nick Kralevich
f9c4078ab7 am c92f7f57: am c1624712: am 25447aec: Merge "Clean up more recursive FORTIFY_SOURCE calls"
* commit 'c92f7f57cf0b3a72f1447a0de99a18727d89d933':
  Clean up more recursive FORTIFY_SOURCE calls
2013-12-19 05:57:53 +00:00
Nick Kralevich
c92f7f57cf am c1624712: am 25447aec: Merge "Clean up more recursive FORTIFY_SOURCE calls"
* commit 'c16247127541af1eb73da28b55b1a41202fa1f56':
  Clean up more recursive FORTIFY_SOURCE calls
2013-12-19 05:53:23 +00:00
Nick Kralevich
c162471275 am 25447aec: Merge "Clean up more recursive FORTIFY_SOURCE calls"
* commit '25447aec39c3c3d54b2defab6a5666c162db4f5a':
  Clean up more recursive FORTIFY_SOURCE calls
2013-12-18 21:11:40 -08:00
Nick Kralevich
25447aec39 Merge "Clean up more recursive FORTIFY_SOURCE calls" 2013-12-19 05:08:17 +00:00
Nick Kralevich
e4c6b08c4e Clean up more recursive FORTIFY_SOURCE calls
Don't use FORTIFY_SOURCE on functions which implement
FORTIFY_SOURCE, to avoid infinite recursion problems.

The previous patch only addressed one of the problems.

Bug: 12216860
Change-Id: I6f30ae7cb5b481be9942add18182ea4839d348a6
2013-12-18 19:17:14 -08:00
Nick Kralevich
2e437261e3 am feceab73: am 58a2429b: am 4063bb61: Merge "__strnlen_chk: avoid recursive strlen calls"
* commit 'feceab7366c03b792c7679b8969bc573dc579ad2':
  __strnlen_chk: avoid recursive strlen calls
2013-12-19 03:06:16 +00:00
Nick Kralevich
feceab7366 am 58a2429b: am 4063bb61: Merge "__strnlen_chk: avoid recursive strlen calls"
* commit '58a2429b5b3defd73457273b1cc375b7aaa54810':
  __strnlen_chk: avoid recursive strlen calls
2013-12-19 03:03:20 +00:00
Elliott Hughes
a59fcae102 am ac65c496: am 7f4b9399: am 90bd36bc: Merge "Don\'t use weak aliases in libm."
* commit 'ac65c496f1980875a81e477a39f14119a31a6c57':
  Don't use weak aliases in libm.
2013-12-19 03:01:45 +00:00
Elliott Hughes
ac65c496f1 am 7f4b9399: am 90bd36bc: Merge "Don\'t use weak aliases in libm."
* commit '7f4b9399717eeedc961354b32727a3c8f9d6cbb8':
  Don't use weak aliases in libm.
2013-12-19 02:58:51 +00:00
Nick Kralevich
58a2429b5b am 4063bb61: Merge "__strnlen_chk: avoid recursive strlen calls"
* commit '4063bb6147bd256ad455bd3bd063ef40aae8851d':
  __strnlen_chk: avoid recursive strlen calls
2013-12-18 18:57:18 -08:00
Elliott Hughes
7f4b939971 am 90bd36bc: Merge "Don\'t use weak aliases in libm."
* commit '90bd36bca66205b1c15f80b70036ff4d64198d32':
  Don't use weak aliases in libm.
2013-12-18 18:53:59 -08:00
Nick Kralevich
4063bb6147 Merge "__strnlen_chk: avoid recursive strlen calls" 2013-12-19 02:52:23 +00:00
Elliott Hughes
90bd36bca6 Merge "Don't use weak aliases in libm." 2013-12-19 02:49:19 +00:00
Nick Kralevich
ddea383433 __strnlen_chk: avoid recursive strlen calls
Don't use FORTIFY_SOURCE on functions which implement
FORTIFY_SOURCE.

Bug: 12216860
Change-Id: I61db1b47ccdd6bdcf41eab3303f4806494016199
2013-12-18 18:17:52 -08:00
Elliott Hughes
241608e9ce Don't use weak aliases in libm.
The aarch64 toolchain doesn't support them, and we were already implementing
most of the fake long-double functions differently anyway.

Change-Id: I4a2f2df81972ee9c34ddfe96cec81b126506d881
2013-12-18 17:18:53 -08:00
Elliott Hughes
2abef87f7d am 9baf4839: am 3761f453: am f5897dcb: Merge "Fix linking of aarch64 static binaries."
* commit '9baf483936ef238d3961c281c6bc7280aec7069c':
  Fix linking of aarch64 static binaries.
2013-12-18 23:42:20 +00:00
Elliott Hughes
9baf483936 am 3761f453: am f5897dcb: Merge "Fix linking of aarch64 static binaries."
* commit '3761f4538424d2bcb332e41c1e78c6e3263d2c39':
  Fix linking of aarch64 static binaries.
2013-12-18 23:40:26 +00:00
Elliott Hughes
3761f45384 am f5897dcb: Merge "Fix linking of aarch64 static binaries."
* commit 'f5897dcb1d1dc493b6a2ba526a766da73bb9c1da':
  Fix linking of aarch64 static binaries.
2013-12-18 15:35:59 -08:00
Elliott Hughes
f5897dcb1d Merge "Fix linking of aarch64 static binaries." 2013-12-18 23:31:29 +00:00
Elliott Hughes
28d4b9bbcb Fix linking of aarch64 static binaries.
Change-Id: If1fa8b560074058b8f7ef32db21a7ca3c53d1fd7
2013-12-18 15:22:08 -08:00
Elliott Hughes
106e82ea29 am e567b596: am 512ff272: am 0b61567f: Merge "Fix the x86-64 int64_t/uint64_t."
* commit 'e567b596fe9a25584264ecf4a19ba4407d81d0ed':
  Fix the x86-64 int64_t/uint64_t.
2013-12-18 22:49:09 +00:00
Elliott Hughes
5c7795da84 am 85434881: am dce31dac: am 717ad649: Merge "Don\'t use __kernel_ulong_t."
* commit '85434881d33e8cb527c942c11e7d4c81ff3b56ca':
  Don't use __kernel_ulong_t.
2013-12-18 22:49:01 +00:00
Elliott Hughes
e567b596fe am 512ff272: am 0b61567f: Merge "Fix the x86-64 int64_t/uint64_t."
* commit '512ff2729ac99a6016d2c39a7da0117ba5f9a5b1':
  Fix the x86-64 int64_t/uint64_t.
2013-12-18 22:22:26 +00:00
Elliott Hughes
512ff2729a am 0b61567f: Merge "Fix the x86-64 int64_t/uint64_t."
* commit '0b61567f9fc5b54ffdb324bf21f8ca332b69a249':
  Fix the x86-64 int64_t/uint64_t.
2013-12-18 14:16:24 -08:00
Elliott Hughes
0b61567f9f Merge "Fix the x86-64 int64_t/uint64_t." 2013-12-18 22:11:17 +00:00
Elliott Hughes
ba9fee97cf Fix the x86-64 int64_t/uint64_t.
This now matches aarch64, which was already correct.

Bug: 12213562
Change-Id: I5da19f0af98347992fea2a62938472f86427740f
2013-12-18 14:00:14 -08:00
Elliott Hughes
85434881d3 am dce31dac: am 717ad649: Merge "Don\'t use __kernel_ulong_t."
* commit 'dce31dacfaf964f6438386c1705018fb7ad6d0ca':
  Don't use __kernel_ulong_t.
2013-12-18 20:32:53 +00:00
Elliott Hughes
dce31dacfa am 717ad649: Merge "Don\'t use __kernel_ulong_t."
* commit '717ad6498c06e53812e406aa0c40738ef3e85801':
  Don't use __kernel_ulong_t.
2013-12-18 12:28:13 -08:00
Elliott Hughes
717ad6498c Merge "Don't use __kernel_ulong_t." 2013-12-18 20:23:28 +00:00
Elliott Hughes
ad8842f5c6 Don't use __kernel_ulong_t.
Change-Id: Ifdfbac0ac6da647276a84bd64bb342bb5a07ad61
2013-12-18 12:22:33 -08:00
Elliott Hughes
72b430b5cc am 72f5da94: am 67c42d1d: am 7649766b: Merge "Remove <machine/kernel.h>."
* commit '72f5da943cd2ab5660753c7284e24433c3bb9efa':
  Remove <machine/kernel.h>.
2013-12-18 19:42:06 +00:00
Elliott Hughes
72f5da943c am 67c42d1d: am 7649766b: Merge "Remove <machine/kernel.h>."
* commit '67c42d1df50181108eb1c1eb49967ebbc911cab4':
  Remove <machine/kernel.h>.
2013-12-18 19:38:31 +00:00
Elliott Hughes
67c42d1df5 am 7649766b: Merge "Remove <machine/kernel.h>."
* commit '7649766b4569af52e6875828186fdf4924cadb3d':
  Remove <machine/kernel.h>.
2013-12-18 11:33:13 -08:00
Elliott Hughes
7649766b45 Merge "Remove <machine/kernel.h>." 2013-12-18 19:26:42 +00:00
Elliott Hughes
2b333ea31e Remove <machine/kernel.h>.
Bug: 12175484
Change-Id: I127f7f91f36bd879109d653e0c56ec56e2529d4d
2013-12-18 11:21:55 -08:00
Christopher Ferris
be5231442b Remove the non-uapi kernel headers.
Bug: 11559337
Change-Id: Id1ee4dadbd673cf35b9c79bc87f9a6fb7b2253c6
2013-12-18 10:34:18 -08:00
Elliott Hughes
a0c2cc7009 am 42513bf8: am 78ce7cbf: am d2bcbf0d: Merge "Small style cleanup."
* commit '42513bf8482fdb896f72d0d882973ebc4ade9aa2':
  Small style cleanup.
2013-12-18 18:22:00 +00:00
Elliott Hughes
42513bf848 am 78ce7cbf: am d2bcbf0d: Merge "Small style cleanup."
* commit '78ce7cbf35447057c9b04fd8f68e8eed1ea92b93':
  Small style cleanup.
2013-12-18 18:17:08 +00:00
Elliott Hughes
78ce7cbf35 am d2bcbf0d: Merge "Small style cleanup."
* commit 'd2bcbf0dbec86b8f27b1b3d939025098f134ea60':
  Small style cleanup.
2013-12-18 10:11:10 -08:00
Elliott Hughes
67a5d0a429 am 03335d91: am 136e7f2b: am 611b903c: Merge "Properly detect timeout in pthread_mutex_lock_timeout_np_impl"
* commit '03335d91248aaf4c70a126fbf80481a924c4588b':
  Properly detect timeout in pthread_mutex_lock_timeout_np_impl
2013-12-18 18:09:26 +00:00
Elliott Hughes
03335d9124 am 136e7f2b: am 611b903c: Merge "Properly detect timeout in pthread_mutex_lock_timeout_np_impl"
* commit '136e7f2b7909007d29e4cb917a85fc1d6ef0f6d5':
  Properly detect timeout in pthread_mutex_lock_timeout_np_impl
2013-12-18 18:07:23 +00:00
Elliott Hughes
d2bcbf0dbe Merge "Small style cleanup." 2013-12-18 18:06:17 +00:00
Elliott Hughes
977d4e0dc6 am 93e05879: am debc37b4: am e00f4890: Merge "Move bionic over to GCC\'s \'warning\' attribute."
* commit '93e058796760763f414e3403dca6d7f7781f73b8':
  Move bionic over to GCC's 'warning' attribute.
2013-12-18 18:05:58 +00:00
Elliott Hughes
9e79af3b61 Small style cleanup.
Change-Id: Ib45a4a2296232968296f9bd7cc3592ba46fd412d
2013-12-18 10:05:42 -08:00
Elliott Hughes
93e0587967 am debc37b4: am e00f4890: Merge "Move bionic over to GCC\'s \'warning\' attribute."
* commit 'debc37b4fb7bda538ab03b0a0433955006386fda':
  Move bionic over to GCC's 'warning' attribute.
2013-12-18 18:03:54 +00:00
Elliott Hughes
31d0542bcd am 0652fc66: am 63d56a00: am 62e6fe58: Merge "Fix compilation of crtbegin.c and pthread_debug.cpp."
* commit '0652fc667d86a646dc0011e9529bc59145e4bef4':
  Fix compilation of crtbegin.c and pthread_debug.cpp.
2013-12-18 18:02:35 +00:00
Elliott Hughes
136e7f2b79 am 611b903c: Merge "Properly detect timeout in pthread_mutex_lock_timeout_np_impl"
* commit '611b903ca7ba9d604a9e2ebc1efa5a66f7ccc049':
  Properly detect timeout in pthread_mutex_lock_timeout_np_impl
2013-12-18 10:01:33 -08:00
Elliott Hughes
0652fc667d am 63d56a00: am 62e6fe58: Merge "Fix compilation of crtbegin.c and pthread_debug.cpp."
* commit '63d56a00e95f6a6ca76d9bfd2e40d73cc7daff7d':
  Fix compilation of crtbegin.c and pthread_debug.cpp.
2013-12-18 18:00:22 +00:00
Elliott Hughes
debc37b4fb am e00f4890: Merge "Move bionic over to GCC\'s \'warning\' attribute."
* commit 'e00f4890c71e9c9eb715faf2c7443732b2fdfae3':
  Move bionic over to GCC's 'warning' attribute.
2013-12-18 09:58:10 -08:00
Elliott Hughes
611b903ca7 Merge "Properly detect timeout in pthread_mutex_lock_timeout_np_impl" 2013-12-18 17:56:22 +00:00
Elliott Hughes
63d56a00e9 am 62e6fe58: Merge "Fix compilation of crtbegin.c and pthread_debug.cpp."
* commit '62e6fe58490da764efebffe71ebf6c647695802e':
  Fix compilation of crtbegin.c and pthread_debug.cpp.
2013-12-18 09:54:42 -08:00
Elliott Hughes
e00f4890c7 Merge "Move bionic over to GCC's 'warning' attribute." 2013-12-18 17:52:18 +00:00
Elliott Hughes
62e6fe5849 Merge "Fix compilation of crtbegin.c and pthread_debug.cpp." 2013-12-18 17:48:28 +00:00
Elliott Hughes
e7c59f9e20 Fix compilation of crtbegin.c and pthread_debug.cpp.
Because there was no default := for the aarch64 libc_crt_target_cflags,
the += was causing libc_crt_target_cflags to be recursively-defined
variable, which meant that when we were compiling crtbegin.c LOCAL_PATH
would be bionic/tests/ and we'd have -Ibionic/tests/include/ and find
none of our include files.

Also fix linking of pthread_debug.cpp, at least in the disabled mode.
The enabled mode was already broken for all architectures, and continues
to be broken after this change. It's been broken for long enough that
we might want to just remove it...

(aarch64 is using the FSF linker where arm uses the gold linker.)

Change-Id: I7db2e386694f6933db043138e6e97e5ae54d4174
2013-12-18 09:47:44 -08:00
Elliott Hughes
c13fb75cea Move bionic over to GCC's 'warning' attribute.
This is a better solution than the old __warn_references because it's
a compile-time rather than link-time warning, it doesn't rely on something
that doesn't appear to be supported by gold (which is why you only used
to see these warnings on mips builds), and the errors refer to the exact
call site(s) rather than just telling you which object file contains a
reference to the bad function.

This is primarily so we can build bionic for aarch64; building libc.so
caused these warnings to fire (because link time is the wrong time) and
warnings are errors.

Change-Id: I5df9281b2a9d98b164a9b11807ea9472c6faa9e3
2013-12-17 20:43:30 -08:00
Elliott Hughes
a414f53e84 am 949295bb: am 22013ac4: am f293b157: Merge "AArch64: Linker64 support for AArch64"
* commit '949295bb87ea710e4c2c5353e39e52eafa0e1d05':
  AArch64: Linker64 support for AArch64
2013-12-17 23:22:40 +00:00
Elliott Hughes
949295bb87 am 22013ac4: am f293b157: Merge "AArch64: Linker64 support for AArch64"
* commit '22013ac4f061e2b88eda191fbd40ca5e1e9c8087':
  AArch64: Linker64 support for AArch64
2013-12-17 23:19:28 +00:00
Elliott Hughes
22013ac4f0 am f293b157: Merge "AArch64: Linker64 support for AArch64"
* commit 'f293b15728031432317791fb4a17a423545d37b3':
  AArch64: Linker64 support for AArch64
2013-12-17 15:11:57 -08:00
Elliott Hughes
f293b15728 Merge "AArch64: Linker64 support for AArch64" 2013-12-17 23:06:49 +00:00
Marcus Oakland
e365f9d654 AArch64: Linker64 support for AArch64
Addition of support for AArch64 in the linker64 target.

Change-Id: I8dfd9711278f6706063e91f626b6007ea7a3dd6e
Signed-off-by: Marcus Oakland <marcus.oakland@arm.com>
2013-12-17 15:02:43 -08:00
Ken Mixter
4fae14f333 Properly detect timeout in pthread_mutex_lock_timeout_np_impl
Previously we were checking against a positive errno which
would not be returned from a system call.

Change-Id: I8e3a36f6fbf5ccc2191a152a1def37e2d6f93124
2013-12-17 14:26:01 -08:00
The Android Automerger
c3986ecfbf merge in master-release history after reset to master 2013-12-17 07:49:16 -08:00
Elliott Hughes
fc98004632 am 75ba3a34: am a2573d95: am 2e3826c0: Merge "AArch64: Add fixes to bionic/tests"
* commit '75ba3a341e7af52c9c6df8ad51d3d099c9710888':
  AArch64: Add fixes to bionic/tests
2013-12-17 01:50:41 +00:00
Elliott Hughes
75ba3a341e am a2573d95: am 2e3826c0: Merge "AArch64: Add fixes to bionic/tests"
* commit 'a2573d956bf98a6dd2bb391fdc344c7637b46e8d':
  AArch64: Add fixes to bionic/tests
2013-12-17 01:49:12 +00:00
Elliott Hughes
a2573d956b am 2e3826c0: Merge "AArch64: Add fixes to bionic/tests"
* commit '2e3826c08171ead1647c800a0a6d9c333d335762':
  AArch64: Add fixes to bionic/tests
2013-12-16 17:45:38 -08:00
Elliott Hughes
2e3826c081 Merge "AArch64: Add fixes to bionic/tests" 2013-12-17 01:41:08 +00:00
Serban Constantinescu
282e232e2a AArch64: Add fixes to bionic/tests
This patch adds minor fixes to the bionic unit tests.

Change-Id: Ie10f33c631ed6c10987923d678711d22931ddb05
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-16 17:40:30 -08:00
Elliott Hughes
47b65d69b6 am 29d3df6d: am 5f0cc63a: am 4e78ca63: Merge "AArch64: Initial AArch64 port of libm"
* commit '29d3df6d3aad093e2ea1b9e55eff31faf2ccc6e0':
  AArch64: Initial AArch64 port of libm
2013-12-17 01:18:35 +00:00
Elliott Hughes
29d3df6d3a am 5f0cc63a: am 4e78ca63: Merge "AArch64: Initial AArch64 port of libm"
* commit '5f0cc63a25b4fa7996b0201f0879784f7b781fbd':
  AArch64: Initial AArch64 port of libm
2013-12-17 01:15:32 +00:00
Elliott Hughes
47fb66a50b am fc61a873: am 1a92f739: am c858b567: Merge "AArch64: Add initial support for AArch64"
* commit 'fc61a87345c5d2e8d156aa9e38aab2f65d3c5670':
  AArch64: Add initial support for AArch64
2013-12-17 01:14:12 +00:00
Elliott Hughes
fc61a87345 am 1a92f739: am c858b567: Merge "AArch64: Add initial support for AArch64"
* commit '1a92f739997b4f86e5cccbebb8da957178998d11':
  AArch64: Add initial support for AArch64
2013-12-17 01:11:01 +00:00
Elliott Hughes
5f0cc63a25 am 4e78ca63: Merge "AArch64: Initial AArch64 port of libm"
* commit '4e78ca63b8d53b96c590d3f1b29b0cfb65a651bc':
  AArch64: Initial AArch64 port of libm
2013-12-16 17:09:32 -08:00
Elliott Hughes
4e78ca63b8 Merge "AArch64: Initial AArch64 port of libm" 2013-12-17 01:06:16 +00:00
Serban Constantinescu
1c4f101a9b AArch64: Initial AArch64 port of libm
This patch adds intial support for AArch64 to bionic's libm.

Change-Id: I9ae0f895bbdd7fe67815e6ca1ead627581163a27
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-16 17:05:37 -08:00
Elliott Hughes
1a92f73999 am c858b567: Merge "AArch64: Add initial support for AArch64"
* commit 'c858b567ad20efa86652ffed7b7427a2c77709bd':
  AArch64: Add initial support for AArch64
2013-12-16 17:04:58 -08:00
Elliott Hughes
c858b567ad Merge "AArch64: Add initial support for AArch64" 2013-12-17 01:01:02 +00:00
Serban Constantinescu
e210488e0d AArch64: Add initial support for AArch64
This is the first patch out of a series of patches that add support for
AArch64, the new 64bit execution state of the ARMv8 Architecture. The
patches add support for LP64 programming model.

The patch adds:
* "arch-aarch64" to the architecture directories.
* "arch-aarch64/include" - headers used by libc
* "arch-aarch64/bionic":
    - crtbegin, crtend support;
    - aarch64 specific syscall stubs;
    - setjmp, clone, vfork assembly files.

Change-Id: If72b859f81928d03ad05d4ccfcb54c2f5dbf99a5
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-16 17:00:22 -08:00
Elliott Hughes
601aef388c am bf5d3929: am fa604740: am db718023: Merge "AArch64: Add support for AArch64 atomic operations"
* commit 'bf5d39296fca2a389f838d5b85fbfc7f19b76df3':
  AArch64: Add support for AArch64 atomic operations
2013-12-16 23:27:46 +00:00
Elliott Hughes
43f135abeb am 334e83e6: am 07fa38da: am 3937d415: Merge "Fix typo."
* commit '334e83e6b47ef4e0f36d4cd99a2269c3c4ae4f76':
  Fix typo.
2013-12-16 23:27:45 +00:00
Elliott Hughes
bf5d39296f am fa604740: am db718023: Merge "AArch64: Add support for AArch64 atomic operations"
* commit 'fa604740390d55ec7e8fe1afc12526f9bd7311e9':
  AArch64: Add support for AArch64 atomic operations
2013-12-16 21:21:08 +00:00
Elliott Hughes
fa60474039 am db718023: Merge "AArch64: Add support for AArch64 atomic operations"
* commit 'db7180233f4c81799660011c968ebd97aaa6d4d7':
  AArch64: Add support for AArch64 atomic operations
2013-12-16 13:15:49 -08:00
Elliott Hughes
334e83e6b4 am 07fa38da: am 3937d415: Merge "Fix typo."
* commit '07fa38dad69910996b6efe2e4a13732c638c69a5':
  Fix typo.
2013-12-16 21:15:31 +00:00
Elliott Hughes
db7180233f Merge "AArch64: Add support for AArch64 atomic operations" 2013-12-16 21:09:57 +00:00
Serban Constantinescu
1924a5c92e AArch64: Add support for AArch64 atomic operations
This patch adds support for AArch64 atomic operations. Some
of the stubs use the lightweight store/load exclusive.

Change-Id: Iaf704d048b2dc15bf08cf8e4f0c3ea9f2052fe13
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-16 13:09:33 -08:00
Elliott Hughes
07fa38dad6 am 3937d415: Merge "Fix typo."
* commit '3937d41561206430373c4b3e0690d6f81b536412':
  Fix typo.
2013-12-16 13:08:44 -08:00
Elliott Hughes
3937d41561 Merge "Fix typo." 2013-12-16 21:03:19 +00:00
Elliott Hughes
4c186ffb83 Fix typo.
Change-Id: I85157a6b2056b6c17cae193200960b8cae3cb3b3
2013-12-16 13:02:49 -08:00
Elliott Hughes
087333c1cc am b31b775d: am e8101372: am 341b55a1: Merge "Clean up the pthread-only atomic stuff a little."
* commit 'b31b775dfee3730703ec58fcbbbaafae480399ff':
  Clean up the pthread-only atomic stuff a little.
2013-12-16 18:34:47 +00:00
Elliott Hughes
b31b775dfe am e8101372: am 341b55a1: Merge "Clean up the pthread-only atomic stuff a little."
* commit 'e810137214dbeeb9c0ed23b429f9f5f1a3273aa5':
  Clean up the pthread-only atomic stuff a little.
2013-12-16 18:31:56 +00:00
Elliott Hughes
e810137214 am 341b55a1: Merge "Clean up the pthread-only atomic stuff a little."
* commit '341b55a1e675396829aeb56a8771855d5ee6e18d':
  Clean up the pthread-only atomic stuff a little.
2013-12-16 10:25:47 -08:00
Elliott Hughes
341b55a1e6 Merge "Clean up the pthread-only atomic stuff a little." 2013-12-16 18:21:01 +00:00
Elliott Hughes
2b333b97a2 Clean up the pthread-only atomic stuff a little.
It looks like we can probably just use the generic GCC stuff instead;
the generated code looks pretty similar. We should come back to that.

These routines are only used by the pthread implementation, and
__bionic_atomic_inc isn't used, so we can remove it.

Change-Id: I8b5b8cb30a1b159f0e85c3675aee06ddef39b429
2013-12-16 10:18:11 -08:00
The Android Automerger
ed82694f10 merge in master-release history after reset to master 2013-12-16 07:49:36 -08:00
Elliott Hughes
5bcf426ab1 am 56f7c97e: am 6d4e8c1e: am 003be710: Merge "Clean up some ARMv4/ARMv5 cruft."
* commit '56f7c97e07d1b12a3fd5b22bfadec33afa254caa':
  Clean up some ARMv4/ARMv5 cruft.
2013-12-14 00:02:22 +00:00
Elliott Hughes
56f7c97e07 am 6d4e8c1e: am 003be710: Merge "Clean up some ARMv4/ARMv5 cruft."
* commit '6d4e8c1ea03f332dd86763995d6219ea50a3bce6':
  Clean up some ARMv4/ARMv5 cruft.
2013-12-13 23:51:29 +00:00
Elliott Hughes
6d4e8c1ea0 am 003be710: Merge "Clean up some ARMv4/ARMv5 cruft."
* commit '003be7104b5cb075632b0ff98d8ab4d3d182ed8c':
  Clean up some ARMv4/ARMv5 cruft.
2013-12-13 15:46:52 -08:00
Elliott Hughes
003be7104b Merge "Clean up some ARMv4/ARMv5 cruft." 2013-12-13 23:42:21 +00:00
Elliott Hughes
c54ca40aef Clean up some ARMv4/ARMv5 cruft.
Change-Id: I29e836fea4b53901e29f96c6888869c35f6726be
2013-12-13 14:02:30 -08:00
Joshua J. Drake
063a572e6b Fix backwards compatible system property structure
The original structure included four reserved 32-bit values. This
change adds these back into the structure so that the
__system_property_find_compat function will (again) process the system
properties correctly.
2013-12-13 13:56:39 -06:00
Elliott Hughes
f1e05aa736 am b77ef8dc: am 664b1d46: am 8623bf7b: Merge "Make <sys/param.h> more glibc-like."
* commit 'b77ef8dc811c146c3e9b5b9488ea0f0f91b72d1d':
  Make <sys/param.h> more glibc-like.
2013-12-12 23:58:39 +00:00
Elliott Hughes
b77ef8dc81 am 664b1d46: am 8623bf7b: Merge "Make <sys/param.h> more glibc-like."
* commit '664b1d46d8e6e6d3cee600ef11ec9c6966ac5f05':
  Make <sys/param.h> more glibc-like.
2013-12-12 23:55:59 +00:00
Christopher Ferris
9bed351f79 am 64edf779: am 7dfd8ae1: am 513d2770: Merge "Add ioprio.h."
* commit '64edf779d79fd81a39ee5e0327f585b37cd828f2':
  Add ioprio.h.
2013-12-12 23:51:17 +00:00
Christopher Ferris
64edf779d7 am 7dfd8ae1: am 513d2770: Merge "Add ioprio.h."
* commit '7dfd8ae1346bfe20f09dc7f36dd87608393b4154':
  Add ioprio.h.
2013-12-12 23:48:14 +00:00
Elliott Hughes
664b1d46d8 am 8623bf7b: Merge "Make <sys/param.h> more glibc-like."
* commit '8623bf7b4da802ee56618f575e92290499011df9':
  Make <sys/param.h> more glibc-like.
2013-12-12 15:44:39 -08:00
Christopher Ferris
7dfd8ae134 am 513d2770: Merge "Add ioprio.h."
* commit '513d2770deebee15fd2d90bf8228050ff71dba5b':
  Add ioprio.h.
2013-12-12 15:41:02 -08:00
Elliott Hughes
8623bf7b4d Merge "Make <sys/param.h> more glibc-like." 2013-12-12 23:38:25 +00:00
Christopher Ferris
513d2770de Merge "Add ioprio.h." 2013-12-12 23:35:42 +00:00
Elliott Hughes
c2f082f655 Make <sys/param.h> more glibc-like.
In particular, add MAX and MIN, needed by elfutils.

Bug: 11864683
Change-Id: I1b876732cdf68cdf5b930319e5ef5b5647586718
2013-12-12 15:31:35 -08:00
Christopher Ferris
802a0a7285 Add ioprio.h.
Change-Id: I153d05c5b6e9d640e319d65acb48b9cb12b6dafb
2013-12-12 15:23:22 -08:00
Elliott Hughes
7b6d74f1a9 am 8d290516: am 2894204d: am 5aad083f: Merge "PTHREAD_KEYS_MAX cleanup."
* commit '8d290516620b6ccd9c86fa5d4ad76049e7ea2c04':
  PTHREAD_KEYS_MAX cleanup.
2013-12-12 21:08:02 +00:00
Elliott Hughes
8d29051662 am 2894204d: am 5aad083f: Merge "PTHREAD_KEYS_MAX cleanup."
* commit '2894204db465b02a0d3d90aef733dabea5888d81':
  PTHREAD_KEYS_MAX cleanup.
2013-12-12 21:05:05 +00:00
Elliott Hughes
2894204db4 am 5aad083f: Merge "PTHREAD_KEYS_MAX cleanup."
* commit '5aad083f3de0bbcc0ffb1fecb688fbbe5abe5214':
  PTHREAD_KEYS_MAX cleanup.
2013-12-12 12:57:00 -08:00
Elliott Hughes
5aad083f3d Merge "PTHREAD_KEYS_MAX cleanup." 2013-12-12 20:51:50 +00:00
Elliott Hughes
1887621de8 PTHREAD_KEYS_MAX cleanup.
I fixed this bug a while back, but didn't remove it from the list,
could have added a better test, and could have written clearer code
that didn't require a comment.

Change-Id: Iebdf0f9a54537a7d5cbca254a5967b1543061f3d
2013-12-12 12:51:08 -08:00
Elliott Hughes
bc597d71f8 am b61eeafa: am bce693eb: am 97e0c1dd: Merge "Fix debugging issues in vdso handling"
* commit 'b61eeafac8d734fbb86e0f058bce4fe4a5051354':
  Fix debugging issues in vdso handling
2013-12-12 19:32:19 +00:00
Elliott Hughes
b61eeafac8 am bce693eb: am 97e0c1dd: Merge "Fix debugging issues in vdso handling"
* commit 'bce693ebe08fd17878fde52c13469cd2d39c8e9a':
  Fix debugging issues in vdso handling
2013-12-12 19:28:45 +00:00
Elliott Hughes
bce693ebe0 am 97e0c1dd: Merge "Fix debugging issues in vdso handling"
* commit '97e0c1dd5a7c5517c19770e47672e216a8b64c66':
  Fix debugging issues in vdso handling
2013-12-12 11:25:26 -08:00
Elliott Hughes
97e0c1dd5a Merge "Fix debugging issues in vdso handling" 2013-12-12 19:19:22 +00:00
Pavel Chupin
5407eed84b Fix debugging issues in vdso handling
Under valgrind ehdr_vdso is null and causing segfault.
Adding debug info for vdso producing plenty of issues on debugging
through gdbserver, removing it. It doesn't seem it should be here.

Unwinding through vdso test still works.

Change-Id: I1a7e233c493f2268d725fa8d7279822d07decc49
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-12-12 11:18:46 -08:00
Elliott Hughes
e2d10b2a32 am 19e845ec: am 1336cd6d: am 38fcbbb3: Merge "AArch64: Fix mmap64() definition for AArch64, X86_64"
* commit '19e845ec73dc2cdb4f2ca11cd6dd56a0c6c0284a':
  AArch64: Fix mmap64() definition for AArch64, X86_64
2013-12-12 19:12:16 +00:00
Elliott Hughes
19e845ec73 am 1336cd6d: am 38fcbbb3: Merge "AArch64: Fix mmap64() definition for AArch64, X86_64"
* commit '1336cd6d77832aa3179bba4aec5fbf1accde19ca':
  AArch64: Fix mmap64() definition for AArch64, X86_64
2013-12-12 18:56:44 +00:00
Elliott Hughes
1336cd6d77 am 38fcbbb3: Merge "AArch64: Fix mmap64() definition for AArch64, X86_64"
* commit '38fcbbb35a40c46e96b4df10d670d1c132910854':
  AArch64: Fix mmap64() definition for AArch64, X86_64
2013-12-12 10:50:21 -08:00
Elliott Hughes
38fcbbb35a Merge "AArch64: Fix mmap64() definition for AArch64, X86_64" 2013-12-12 18:43:43 +00:00
Serban Constantinescu
ed76a9361c AArch64: Fix mmap64() definition for AArch64, X86_64
For 64bit Architectures mmap() is equivalent to mmap64(). This patch
maps mmap64() to mmap() in a similar way to other syscalls that differ
based on the size of off_t and off64_t

Change-Id: If21b21ef71120bad23d9a608d02d4a7de5220a87
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-12-12 10:41:52 -08:00
The Android Automerger
dbd3819415 merge in master-release history after reset to master 2013-12-12 07:49:16 -08:00
Elliott Hughes
034c084e81 am 7105f406: am 5362e8d2: am 7bd08153: Merge "Remove harmful attempts to be helpful in pthread_mutex functions."
* commit '7105f40649310177ceef1028a39e428d7cf7a71a':
  Remove harmful attempts to be helpful in pthread_mutex functions.
2013-12-11 23:59:42 +00:00
Elliott Hughes
7105f40649 am 5362e8d2: am 7bd08153: Merge "Remove harmful attempts to be helpful in pthread_mutex functions."
* commit '5362e8d232005056b21b65e5e0abaf58b7a2687c':
  Remove harmful attempts to be helpful in pthread_mutex functions.
2013-12-11 23:56:57 +00:00
Elliott Hughes
5362e8d232 am 7bd08153: Merge "Remove harmful attempts to be helpful in pthread_mutex functions."
* commit '7bd0815371c9bd803ee4ca0981b911b99efd2454':
  Remove harmful attempts to be helpful in pthread_mutex functions.
2013-12-11 15:51:48 -08:00
Elliott Hughes
7bd0815371 Merge "Remove harmful attempts to be helpful in pthread_mutex functions." 2013-12-11 23:46:05 +00:00
Elliott Hughes
1a6aea8a05 am fcee65c4: am 200fcb26: am 73ef27cd: Merge "Clarify a comment."
* commit 'fcee65c4c46481eb953bb3b3502a85a369c29fb4':
  Clarify a comment.
2013-12-11 23:05:01 +00:00
Elliott Hughes
dff7203ee9 Remove harmful attempts to be helpful in pthread_mutex functions.
Most callers won't check for EINVAL, so it's best to fail early.
GCC takes the nonnull attribute as a guarantee that an argument
won't be NULL, so these hacks were already ineffective, which is
how we found that at least one commercial game was using NULL
as if it's a mutex, but actually getting no-op behavior.

Bug: 11971278
Change-Id: I89646e043d931778805a8b692e07a34d076ee6bf
2013-12-11 14:54:00 -08:00
Robert Greenwalt
feb8dbf3c2 am 7c2ada7f: am f2e4f8fd: am 2e359155: Merge "Fix dns search domain use in gethostbyname."
* commit '7c2ada7f98ef640e4adeb7e03062bb2de0a96dd9':
  Fix dns search domain use in gethostbyname.
2013-12-11 22:21:07 +00:00
Colin Cross
e3b7e3e6f0 am cee98638: am f9599f30: am a84f88f0: Merge "bionic: move benchmarks out of tests directory"
* commit 'cee986385ffbd76eb546899ea5ba219971e70340':
  bionic: move benchmarks out of tests directory
2013-12-11 22:21:06 +00:00
Elliott Hughes
fcee65c4c4 am 200fcb26: am 73ef27cd: Merge "Clarify a comment."
* commit '200fcb26d21dfd72a1e74de380313462356414ce':
  Clarify a comment.
2013-12-11 22:12:11 +00:00
Robert Greenwalt
7c2ada7f98 am f2e4f8fd: am 2e359155: Merge "Fix dns search domain use in gethostbyname."
* commit 'f2e4f8fd6f9a7de6c98210f754c82ca694d0ef55':
  Fix dns search domain use in gethostbyname.
2013-12-11 22:02:50 +00:00
Colin Cross
cee986385f am f9599f30: am a84f88f0: Merge "bionic: move benchmarks out of tests directory"
* commit 'f9599f306adabad5409bd03788de6c339dbc0b1c':
  bionic: move benchmarks out of tests directory
2013-12-11 22:02:49 +00:00
Elliott Hughes
200fcb26d2 am 73ef27cd: Merge "Clarify a comment."
* commit '73ef27cd0de0c6b7d4f6bc9c2250dbae3f0a88c3':
  Clarify a comment.
2013-12-11 14:01:22 -08:00
Elliott Hughes
73ef27cd0d Merge "Clarify a comment." 2013-12-11 21:56:39 +00:00
Elliott Hughes
960ee37f2a Clarify a comment.
Change-Id: Iad2e33fb059170f808023ce3d17e9b8c13191f42
2013-12-11 12:41:54 -08:00
Robert Greenwalt
f2e4f8fd6f am 2e359155: Merge "Fix dns search domain use in gethostbyname."
* commit '2e3591557f4a382e441ee2d60614d616b5acb434':
  Fix dns search domain use in gethostbyname.
2013-12-11 11:38:22 -08:00
Robert Greenwalt
2e3591557f Merge "Fix dns search domain use in gethostbyname." 2013-12-11 19:32:37 +00:00
Robert Greenwalt
c11f6f0f39 Fix dns search domain use in gethostbyname.
Need to load search domain data before we attempt to use it.
bug:6799630

Change-Id: Ib228f4ca260339f71a2e28d5930c0a722bd43c92
2013-12-11 11:30:09 -08:00
Colin Cross
f9599f306a am a84f88f0: Merge "bionic: move benchmarks out of tests directory"
* commit 'a84f88f0989e9446686ae76a53dc087ff5788fe6':
  bionic: move benchmarks out of tests directory
2013-12-11 11:09:55 -08:00
Colin Cross
a84f88f098 Merge "bionic: move benchmarks out of tests directory" 2013-12-11 19:05:25 +00:00
Colin Cross
bd3efbc9b5 bionic: move benchmarks out of tests directory
Change-Id: I4d054965198af22c9a9c821d1bc53f4e9ea01248
2013-12-10 18:24:30 -08:00
The Android Automerger
1a9d83fb5c merge in master-release history after reset to master 2013-12-10 07:49:38 -08:00
Qiwen Zhao
5273f557de am 299d25e0: (-s ours) DO NOT MERGE reset to goog/klp-volantis-dev
* commit '299d25e07b1ff58a7e90f9b46cd916ce337ca4ee':
2013-12-10 01:58:25 +00:00
Qiwen Zhao
299d25e07b DO NOT MERGE reset to goog/klp-volantis-dev 2013-12-09 14:09:59 -08:00
Christopher Ferris
a0a8bb060c am 381bf3f0: am b3959928: Merge "Do not clear tids on detached threads."
* commit '381bf3f06acef22fd90ac6aced8f0a25ee51f78b':
  Do not clear tids on detached threads.
2013-12-09 18:34:28 +00:00
Christopher Ferris
381bf3f06a am b3959928: Merge "Do not clear tids on detached threads."
* commit 'b39599286d03db13f51a79e4cfe6644da0079f1a':
  Do not clear tids on detached threads.
2013-12-09 10:28:13 -08:00
Christopher Ferris
b39599286d Merge "Do not clear tids on detached threads." 2013-12-07 16:38:09 +00:00
Christopher Ferris
101fb7d963 Do not clear tids on detached threads.
Make sure that the kernel isn't going to try and clear the tid of
freed memory.

Bug: 11963327
Change-Id: I95d02340bfbe92f56036d2cc58dbf0e3079eb7c3
2013-12-06 23:00:44 -08:00
Qiwen Zhao
e09cc8cd82 am 2c79b4f6: snap to klp-dev-plus-aosp 3f69e99 with history
* commit '2c79b4f6cec4c8d5976bf4d07e6b03c1ab303e2d':
2013-12-06 21:57:22 +00:00
Qiwen Zhao
2c79b4f6ce snap to klp-dev-plus-aosp 3f69e99 with history 2013-12-06 13:40:37 -08:00
The Android Open Source Project
5511f5caea am 3f69e994: am 33771653: Merge commit \'04b4339ad5396690329877df10fbe568bd4dd600\' into HEAD
* commit '3f69e994e4bfab24223f0323ad301f76956cd1c1':
2013-12-06 01:20:55 +00:00
The Android Open Source Project
3f69e994e4 am 33771653: Merge commit \'04b4339ad5396690329877df10fbe568bd4dd600\' into HEAD
* commit '3377165387d455d4cb56807a9c02cd2ece6cb24b':
2013-12-05 17:10:26 -08:00
Elliott Hughes
dec84609b5 am cb0b46e1: (-s ours) am c1772397: am ff8dcd4a: am c933493a: Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols."
* commit 'cb0b46e13ef65304577eab8f8a201b78894eeb78':
2013-12-05 22:51:27 +00:00
Elliott Hughes
043e4c4d8c am ad9742f8: (-s ours) am 2a5d2e98: am 9e9d1e01: resolved conflicts for merge of 86125aca to klp-dev
* commit 'ad9742f8890c18c6b7f4723139bf135713740877':
2013-12-05 22:50:01 +00:00
Elliott Hughes
12b2431f7b am 0ee109a4: (-s ours) am 598f3e9c: Merge "resolved conflicts for merge of dce94165 to klp-dev-plus-aosp" into klp-dev-plus-aosp
* commit '0ee109a488e667fa038b3550c2441d35b46b3b8d':
2013-12-05 22:50:01 +00:00
Elliott Hughes
a19860fa38 am 456e415b: (-s ours) am 14ec1b58: am ceb670cf: Merge branch \'klp-dev\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into klp-dev
* commit '456e415b93d75233c1948a6398521128c2d5afef':
2013-12-05 22:50:00 +00:00
Christopher Ferris
3e0bbc4df6 am 7f52a466: (-s ours) am a07a9556: (-s ours) am 1036cd79: am 6beb3ea6: (-s ours) am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit '7f52a46619d31e8acf19c1f270256de06efe1cf6':
2013-12-05 22:49:59 +00:00
Christopher Ferris
718cc2e088 am f759860c: (-s ours) am 0a7e61d4: (-s ours) am 5ec2ab68: am 21b4ffa7: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit 'f759860cd33db4acf4734fd71a0e7d4e25dc756b':
2013-12-05 22:49:58 +00:00
Christopher Ferris
19e57445d3 am e2fef1a7: (-s ours) am 2e0a707f: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit 'e2fef1a79983ca8ba3ece0943649da30a2ce525d':
2013-12-05 22:49:57 +00:00
Elliott Hughes
cb0b46e13e am c1772397: am ff8dcd4a: am c933493a: Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols."
* commit 'c1772397f96e82e142dd082da4747824e7c8a839':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-12-05 21:28:03 +00:00
The Android Open Source Project
3377165387 Merge commit '04b4339ad5396690329877df10fbe568bd4dd600' into HEAD 2013-12-05 12:37:57 -08:00
Elliott Hughes
ad9742f889 am 2a5d2e98: am 9e9d1e01: resolved conflicts for merge of 86125aca to klp-dev
* commit '2a5d2e98f9ffbddf37d8d57ed3028c3c8349e351':
2013-12-05 19:37:50 +00:00
Elliott Hughes
0ee109a488 am 598f3e9c: Merge "resolved conflicts for merge of dce94165 to klp-dev-plus-aosp" into klp-dev-plus-aosp
* commit '598f3e9c4a48a4f4cbae6fb163f378d9fd1e6321':
2013-12-05 19:37:47 +00:00
Elliott Hughes
456e415b93 am 14ec1b58: am ceb670cf: Merge branch \'klp-dev\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into klp-dev
* commit '14ec1b58869362f07ffdf7495cbba2f746da7b77':
2013-12-05 19:37:29 +00:00
Christopher Ferris
7f52a46619 am a07a9556: (-s ours) am 1036cd79: am 6beb3ea6: (-s ours) am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit 'a07a9556663db4dcf7924dd50a91dd6d5f3e266c':
2013-12-05 19:37:29 +00:00
Christopher Ferris
f759860cd3 am 0a7e61d4: (-s ours) am 5ec2ab68: am 21b4ffa7: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '0a7e61d4a1a28a7c66c05e0ef0b69c7c5b14a2d9':
2013-12-05 19:37:28 +00:00
Christopher Ferris
1d0d290c05 am d41e52a2: (-s ours) am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit 'd41e52a238bdb91df5dffb81f202b3d50949bb9a':
2013-12-05 19:37:14 +00:00
Christopher Ferris
e2fef1a799 am 2e0a707f: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '2e0a707f793a6831452aca9ed0021e90014f3635':
2013-12-05 19:37:13 +00:00
The Android Automerger
72d931346a merge in master-release history after reset to master 2013-12-05 07:49:45 -08:00
Christopher Ferris
fe3f0ccc84 am b679f654: am 6afe8ab7: Merge "Add strcmp/memcmp testing."
* commit 'b679f65420702554ae00dffb0e150ca75aeea989':
  Add strcmp/memcmp testing.
2013-12-04 21:14:34 +00:00
Christopher Ferris
b679f65420 am 6afe8ab7: Merge "Add strcmp/memcmp testing."
* commit '6afe8ab7533937c7444756ae72dda547b9849fe2':
  Add strcmp/memcmp testing.
2013-12-04 13:05:14 -08:00
Christopher Ferris
6afe8ab753 Merge "Add strcmp/memcmp testing." 2013-12-04 19:08:16 +00:00
The Android Automerger
9d875e6fe3 merge in master-release history after reset to master 2013-12-04 07:49:10 -08:00
Christopher Ferris
e5bbb6b6ab Add strcmp/memcmp testing.
Bug: 9797008
Change-Id: I11b1da060d29f7dacbb53f20a3e2082395b5bd8a
2013-12-03 18:42:41 -08:00
Christopher Ferris
9d5f2d72c9 am df4e7ad8: am 0b4246b5: Merge "Add cfi directives to all arm assembly."
* commit 'df4e7ad88fd3578fc12016f44c754298f5fbd8e8':
  Add cfi directives to all arm assembly.
2013-12-03 20:42:00 +00:00
Christopher Ferris
df4e7ad88f am 0b4246b5: Merge "Add cfi directives to all arm assembly."
* commit '0b4246b561550252f51800d822ce9e03d9b5b033':
  Add cfi directives to all arm assembly.
2013-12-03 12:35:44 -08:00
Christopher Ferris
0b4246b561 Merge "Add cfi directives to all arm assembly." 2013-12-03 20:28:09 +00:00
Christopher Ferris
ed45970ac5 Add cfi directives to all arm assembly.
Since the ENTRY/END macros now have .cfi_startproc/.cfi_endproc, most of the
custom arm assembly has no unwind information. Adding the proper cfi directives
for these and removing the arm directives.

Update the gensyscalls.py script to add these cfi directives for the generated
assembly. Also fix the references to non-uapi headers to the proper uapi
header.

In addition, remove the kill.S, tkill.S, tgkill.S for arm since they are not
needed at all. The unwinder (libunwind) is able to properly unwind using the
normal abort.

After this change, I can unwind through the system calls again.

Bug: 11559337
Bug: 11825869
Bug: 11321283

Change-Id: I18b48089ef2d000a67913ce6febc6544bbe934a3
2013-12-02 19:13:12 -08:00
The Android Automerger
fe1797db2f merge in master-release history after reset to master 2013-11-28 07:49:11 -08:00
Elliott Hughes
d1214a7ec5 am c566f35a: am ab0b0cdf: Merge "Finish <sys/user.h>."
* commit 'c566f35af462de45d119fb3b024e3db56d76927a':
  Finish <sys/user.h>.
2013-11-27 16:55:35 +00:00
Elliott Hughes
867e25105d am 3b9aba55: am 98c910fb: Merge "Fix the order of arguments to sys_clone for x86."
* commit '3b9aba55490ad4bc97c17c4a4e9acd51de1d8958':
  Fix the order of arguments to sys_clone for x86.
2013-11-27 16:55:34 +00:00
Elliott Hughes
bef09fac15 am cb88d966: am 6ae2f22d: Merge "Work around CLONE_SETTLS being weird on x86."
* commit 'cb88d966b0b4c643ddd8c108f75478db7aa4f5f9':
  Work around CLONE_SETTLS being weird on x86.
2013-11-27 16:55:34 +00:00
Elliott Hughes
15a7a13ecf am a1d1a46e: am 1c057607: Merge "Fix _exit_with_stack_teardown for x86."
* commit 'a1d1a46ef635e559bbc4a4548ae28c84102d6f0b':
  Fix _exit_with_stack_teardown for x86.
2013-11-27 16:55:34 +00:00
Elliott Hughes
c566f35af4 am ab0b0cdf: Merge "Finish <sys/user.h>."
* commit 'ab0b0cdf1b07eb25ad89e0de08d4b3fd453602fe':
  Finish <sys/user.h>.
2013-11-27 08:12:24 -08:00
Elliott Hughes
3b9aba5549 am 98c910fb: Merge "Fix the order of arguments to sys_clone for x86."
* commit '98c910fb217a5c094e3101e57c52a618beaa23db':
  Fix the order of arguments to sys_clone for x86.
2013-11-27 08:12:24 -08:00
Elliott Hughes
ab0b0cdf1b Merge "Finish <sys/user.h>." 2013-11-27 04:51:35 +00:00
Elliott Hughes
ab797cb4fd Finish <sys/user.h>.
Change-Id: I1d97d7fa3d5be2ff4728571ed5376705a27091ec
2013-11-26 17:57:31 -08:00
Elliott Hughes
98c910fb21 Merge "Fix the order of arguments to sys_clone for x86." 2013-11-27 00:34:44 +00:00
Elliott Hughes
99c393dff3 Fix the order of arguments to sys_clone for x86.
Unlike x86-64, x86's arguments are just like every other
architecture's.

Change-Id: Ic6da23f2a70599683b68e7e12ab9ba061e0b349c
2013-11-26 16:20:50 -08:00
Elliott Hughes
cb88d966b0 am 6ae2f22d: Merge "Work around CLONE_SETTLS being weird on x86."
* commit '6ae2f22dc091844f2cf4a1de65d3ff6b225c2635':
  Work around CLONE_SETTLS being weird on x86.
2013-11-26 14:44:12 -08:00
Elliott Hughes
6ae2f22dc0 Merge "Work around CLONE_SETTLS being weird on x86." 2013-11-26 22:36:38 +00:00
Elliott Hughes
a1d1a46ef6 am 1c057607: Merge "Fix _exit_with_stack_teardown for x86."
* commit '1c057607d89229f5effaf1acf2ecde24ece41389':
  Fix _exit_with_stack_teardown for x86.
2013-11-26 14:01:08 -08:00
Elliott Hughes
80906141f7 Work around CLONE_SETTLS being weird on x86.
Unlike other architectures, on x86 (but not x86-64), CLONE_SETTLS
takes a pointer to a struct user_desc instead of a pointer to the
TLS itself. Rather than have to deal with this here, let's just use
the old __set_tls mechanism we used to use (and still use for the
main thread on all architectures, so it's not going away any time
soon).

Bug: 11826724
Change-Id: I02a27939a73ae6cea1134a3f4c1dd7eafea479da
2013-11-26 13:57:21 -08:00
Elliott Hughes
1c057607d8 Merge "Fix _exit_with_stack_teardown for x86." 2013-11-26 21:51:48 +00:00
Elliott Hughes
9dec707bd6 Fix _exit_with_stack_teardown for x86.
Change-Id: Ife8f9c538c86f7c0017143015d5ee849a99b625b
2013-11-26 13:48:24 -08:00
The Android Automerger
1566b49c63 merge in master-release history after reset to master 2013-11-26 07:49:22 -08:00
Elliott Hughes
ca80f099a2 Merge "Regenerate the bionic headers to match external/kernel-headers." 2013-11-25 22:19:23 +00:00
Elliott Hughes
1c9d30540e am 6fcdba7a: am a98fff25: Merge "Make <sys/timerfd.h> standalone."
* commit '6fcdba7a12eb1fdca200d725d09d27a69ee7b78a':
  Make <sys/timerfd.h> standalone.
2013-11-25 14:09:32 -08:00
Elliott Hughes
356a4e4a32 Regenerate the bionic headers to match external/kernel-headers.
(This undoes the AOSP-only ion.h hack.)

Bug: 11859767
Change-Id: Id863c70d63b2716ae22cafd7ddb1163bbc7a3d11
2013-11-25 14:09:12 -08:00
Elliott Hughes
6fcdba7a12 am a98fff25: Merge "Make <sys/timerfd.h> standalone."
* commit 'a98fff25c33b2cb697c6bf75b3d17612427b6db3':
  Make <sys/timerfd.h> standalone.
2013-11-25 14:07:26 -08:00
Elliott Hughes
ee6b6f167a am aee38bc0: am 5a52bd34: Merge "Regenerate the bionic kernel headers to match external/kernel-headers."
* commit 'aee38bc05ff0cd1294d079909c27732249507abd':
  Regenerate the bionic kernel headers to match external/kernel-headers.
2013-11-25 14:05:10 -08:00
Elliott Hughes
aee38bc05f am 5a52bd34: Merge "Regenerate the bionic kernel headers to match external/kernel-headers."
* commit '5a52bd34f1b7e49e28b31dd2c186de8bdef47451':
  Regenerate the bionic kernel headers to match external/kernel-headers.
2013-11-25 14:01:39 -08:00
Elliott Hughes
a98fff25c3 Merge "Make <sys/timerfd.h> standalone." 2013-11-25 22:00:10 +00:00
Elliott Hughes
e96d4bffe5 Make <sys/timerfd.h> standalone.
There's no uapi timerfd.h.

Bug: 11559337
Change-Id: I77a4b1365fdcf2c9f18673b11341a165e54b4bbd
2013-11-25 13:58:38 -08:00
Elliott Hughes
5a52bd34f1 Merge "Regenerate the bionic kernel headers to match external/kernel-headers." 2013-11-25 21:56:10 +00:00
Elliott Hughes
c43d16a458 Regenerate the bionic kernel headers to match external/kernel-headers.
Bug: 11859767
Change-Id: I3d746188a1c4bdf8db1358521438435d3e63dbac
2013-11-25 13:50:55 -08:00
The Android Automerger
13f3b03e38 merge in master-release history after reset to master 2013-11-25 07:49:19 -08:00
Christopher Ferris
2884789cfa am cf8500fd: am cda0c61d: am 14d6be45: Merge "Delete non-uapi headers."
* commit 'cf8500fd4359bd026829bdfd0dc4968ed07cc842':
  Delete non-uapi headers.
2013-11-24 00:27:51 -08:00
Christopher Ferris
cf8500fd43 am cda0c61d: am 14d6be45: Merge "Delete non-uapi headers."
* commit 'cda0c61dc7490236afb697ac50c900cffe2cb640':
  Delete non-uapi headers.
2013-11-24 00:24:43 -08:00
Christopher Ferris
cda0c61dc7 am 14d6be45: Merge "Delete non-uapi headers."
* commit '14d6be45b960f8fbb039bd946e22ce406e8b65c3':
  Delete non-uapi headers.
2013-11-24 00:20:23 -08:00
Christopher Ferris
14d6be45b9 Merge "Delete non-uapi headers." 2013-11-24 08:16:25 +00:00
Christopher Ferris
7b29d586bb am 76115fe9: am dd1d4f1c: am 985c3fbb: Merge "Move arm user.h definitions to sys/user.h."
* commit '76115fe9a0a8a2a7f57abcc3fea4e2be079cb2e6':
  Move arm user.h definitions to sys/user.h.
2013-11-23 12:41:04 -08:00
Christopher Ferris
59a6012367 am 30aebed9: am 038919d3: am 507f95e2: Merge "Update script to copy in extra generated files."
* commit '30aebed98ab66329d62e0884209fd9d04a8b056f':
  Update script to copy in extra generated files.
2013-11-23 12:41:04 -08:00
Christopher Ferris
76115fe9a0 am dd1d4f1c: am 985c3fbb: Merge "Move arm user.h definitions to sys/user.h."
* commit 'dd1d4f1cfd6c4c6eca27cc2f7f477e0518dc0924':
  Move arm user.h definitions to sys/user.h.
2013-11-23 12:36:55 -08:00
Christopher Ferris
30aebed98a am 038919d3: am 507f95e2: Merge "Update script to copy in extra generated files."
* commit '038919d37c01e52f5a976247f482daacfa206393':
  Update script to copy in extra generated files.
2013-11-23 12:36:51 -08:00
Christopher Ferris
dd1d4f1cfd am 985c3fbb: Merge "Move arm user.h definitions to sys/user.h."
* commit '985c3fbb3b1dabfa799e2a8c102867349bcb5a76':
  Move arm user.h definitions to sys/user.h.
2013-11-23 08:02:04 -08:00
Christopher Ferris
e5a9200534 Delete non-uapi headers.
Update headers and delete non-uapi headers that have been removed from
external/kernel-headers project.

Change-Id: I9ed9632a941095fe1bf3b207bafe1151f00de033
2013-11-23 08:01:25 -08:00
Christopher Ferris
985c3fbb3b Merge "Move arm user.h definitions to sys/user.h." 2013-11-23 15:59:57 +00:00
The Android Open Source Project
220631ee3a am 3f3788c3: am f00c938c: Merge commit \'811b0cdb2d6e4a697dbc63a678712759dd0db242\' into HEAD
* commit '3f3788c339488d106830718174341380ddd5193a':
2013-11-22 19:31:07 -08:00
Christopher Ferris
363390eaff Move arm user.h definitions to sys/user.h.
There is no uapi user.h file for arm, it was included by accident.
Move the user struct definition into the file to follow the pattern
used by the other architectures.

Change-Id: Ib9cea0deca551c9268382ddd6de9202fd32ef941
2013-11-22 18:00:09 -08:00
The Android Open Source Project
3f3788c339 am f00c938c: Merge commit \'811b0cdb2d6e4a697dbc63a678712759dd0db242\' into HEAD
* commit 'f00c938c7f5887981d724bf2dd9989ee0af08332':
2013-11-22 17:30:47 -08:00
Christopher Ferris
038919d37c am 507f95e2: Merge "Update script to copy in extra generated files."
* commit '507f95e22b39fb58b9ffbba38ab593475b926af5':
  Update script to copy in extra generated files.
2013-11-22 17:22:10 -08:00
Christopher Ferris
507f95e22b Merge "Update script to copy in extra generated files." 2013-11-23 01:17:16 +00:00
Christopher Ferris
b4091e69f1 Update script to copy in extra generated files.
There are files in generated/asm that simply include asm-generic files. The
script now copies any file in generated/asm that also exists in asm-generic.

Change-Id: I075161c68624e9e9e81797224831988ce02220eb
2013-11-22 17:04:34 -08:00
The Android Open Source Project
f00c938c7f Merge commit '811b0cdb2d6e4a697dbc63a678712759dd0db242' into HEAD
Change-Id: I786944f80fb1a2d502fed51dc2c391ed5db66761
2013-11-22 13:38:33 -08:00
Christopher Ferris
bbbf505c1d am e3bc2254: am a626e4d8: am 26f0e54a: Merge "Script to grab uapi headers from android kernel."
* commit 'e3bc2254138e92d1b4746709ec355a5bd43bbccd':
  Script to grab uapi headers from android kernel.
2013-11-21 23:00:03 -08:00
Elliott Hughes
6211255a6b am 68a4187c: am 50f6b836: am fa7b48bf: Merge "Regenerate uapi header files."
* commit '68a4187c4a88a885b36412607797e7ca65662968':
  Regenerate uapi header files.
2013-11-21 23:00:02 -08:00
Elliott Hughes
3eba84eee0 am 81768e18: am 5e818b33: am 880d0e6c: Merge "Remove hidden __reboot from header"
* commit '81768e18bb2e7c29917e1f4c188285c64498f61d':
  Remove hidden __reboot from header
2013-11-21 23:00:01 -08:00
Elliott Hughes
6bc95b6906 am 8acd5dd2: am 84336795: am eec57b37: Merge "Add support for the ternary operator to the header scrubber."
* commit '8acd5dd2f82ecbf57c275528d5f2e5db0ef60a34':
  Add support for the ternary operator to the header scrubber.
2013-11-21 23:00:01 -08:00
Elliott Hughes
5d352e6acd am 5a2526ac: am cb478f23: am d4143c8e: Merge "Fix useconds_t for LP64."
* commit '5a2526ac629802ff22f71d516f7979f1f4a4c34d':
  Fix useconds_t for LP64.
2013-11-21 23:00:00 -08:00
Elliott Hughes
57f4718cfc am 03adedfc: am a18a01f5: am 15a64948: Merge "Remove obsolete kernel/arch-mips headers."
* commit '03adedfc3c8d25939d8799ed2ce9292b063d8bc7':
  Remove obsolete kernel/arch-mips headers.
2013-11-21 22:59:59 -08:00
Elliott Hughes
15428215c6 am b749a010: am 8637bb53: am b135f6e5: Merge "Remove the unused arch-x86 and arch-x86-64 kernel headers."
* commit 'b749a010a3cf6b1544d1e27b360ffcb98ae1cdbc':
  Remove the unused arch-x86 and arch-x86-64 kernel headers.
2013-11-21 22:59:59 -08:00
Elliott Hughes
5df692fd4e am a38dcc02: am 70d37e34: am ca045a19: Merge "Switch to upstream sleep(3) and usleep(3)."
* commit 'a38dcc0210ad2f75aac72e2c3bef357bddb7b564':
  Switch to upstream sleep(3) and usleep(3).
2013-11-21 20:08:22 -08:00
Christopher Ferris
e3bc225413 am a626e4d8: am 26f0e54a: Merge "Script to grab uapi headers from android kernel."
* commit 'a626e4d8bc3d59cc328942fc30ffc04981b154ed':
  Script to grab uapi headers from android kernel.
2013-11-21 18:43:58 -08:00
Elliott Hughes
68a4187c4a am 50f6b836: am fa7b48bf: Merge "Regenerate uapi header files."
* commit '50f6b8363e1429316311450f2a3041040977d67c':
  Regenerate uapi header files.
2013-11-21 18:43:57 -08:00
Elliott Hughes
81768e18bb am 5e818b33: am 880d0e6c: Merge "Remove hidden __reboot from header"
* commit '5e818b331430c34c42259a1405a75cc4106a27d0':
  Remove hidden __reboot from header
2013-11-21 18:43:51 -08:00
Elliott Hughes
8acd5dd2f8 am 84336795: am eec57b37: Merge "Add support for the ternary operator to the header scrubber."
* commit '843367953f40ee84bcc53e08a60c82215303e1fb':
  Add support for the ternary operator to the header scrubber.
2013-11-21 18:43:48 -08:00
Elliott Hughes
5a2526ac62 am cb478f23: am d4143c8e: Merge "Fix useconds_t for LP64."
* commit 'cb478f23cc3765e3193beaf83fb35dd2d353d301':
  Fix useconds_t for LP64.
2013-11-21 18:43:47 -08:00
Elliott Hughes
03adedfc3c am a18a01f5: am 15a64948: Merge "Remove obsolete kernel/arch-mips headers."
* commit 'a18a01f553ce5350923c470c144dca87dfc8e992':
  Remove obsolete kernel/arch-mips headers.
2013-11-21 18:43:47 -08:00
Elliott Hughes
b749a010a3 am 8637bb53: am b135f6e5: Merge "Remove the unused arch-x86 and arch-x86-64 kernel headers."
* commit '8637bb5345bce20374ed345490d6de80cb874554':
  Remove the unused arch-x86 and arch-x86-64 kernel headers.
2013-11-21 18:43:46 -08:00
Elliott Hughes
a38dcc0210 am 70d37e34: am ca045a19: Merge "Switch to upstream sleep(3) and usleep(3)."
* commit '70d37e343aa0c8c771e01259377c98958fbfd3ee':
  Switch to upstream sleep(3) and usleep(3).
2013-11-21 17:15:03 -08:00
Elliott Hughes
3bc173dfad am 7c883327: am 556c7402: am 39bc7ecd: Merge "Fix <signal.h> for mips uapi."
* commit '7c88332701cc9aa2ed95148bed40f50c54adb36b':
  Fix <signal.h> for mips uapi.
2013-11-21 17:12:04 -08:00
Elliott Hughes
7c88332701 am 556c7402: am 39bc7ecd: Merge "Fix <signal.h> for mips uapi."
* commit '556c740298a07e586c423480328231cfd50966b6':
  Fix <signal.h> for mips uapi.
2013-11-21 17:07:47 -08:00
Christopher Ferris
a626e4d8bc am 26f0e54a: Merge "Script to grab uapi headers from android kernel."
* commit '26f0e54ae083727ee66ee35531ed00338570d792':
  Script to grab uapi headers from android kernel.
2013-11-21 14:22:49 -08:00
Christopher Ferris
26f0e54ae0 Merge "Script to grab uapi headers from android kernel." 2013-11-21 22:20:14 +00:00
Elliott Hughes
50f6b8363e am fa7b48bf: Merge "Regenerate uapi header files."
* commit 'fa7b48bf8753690bd15706a1fe3d23cf5c42782f':
  Regenerate uapi header files.
2013-11-21 14:11:39 -08:00
Christopher Ferris
e994d41578 Script to grab uapi headers from android kernel.
Change-Id: Ia140e3ab27fbfee6b02f04c085f3e0e351bbe68d
2013-11-21 14:09:54 -08:00
Elliott Hughes
fa7b48bf87 Merge "Regenerate uapi header files." 2013-11-21 22:06:14 +00:00
Elliott Hughes
8cb52b056c Regenerate uapi header files.
Change-Id: Idc934ed8ae17aba3300e4022e9b42177b0907e9d
2013-11-21 13:43:23 -08:00
Elliott Hughes
5e818b3314 am 880d0e6c: Merge "Remove hidden __reboot from header"
* commit '880d0e6c64eb49736125648d1539726629308316':
  Remove hidden __reboot from header
2013-11-21 12:41:56 -08:00
Elliott Hughes
880d0e6c64 Merge "Remove hidden __reboot from header" 2013-11-21 20:37:26 +00:00
Pavel Chupin
811cba00af Remove hidden __reboot from header
This change is required:
https://android-review.googlesource.com/#/c/70570

Change-Id: Idb991f96a424aa5b0f9e06d9fb787fe8c8530750
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-11-22 00:19:34 +04:00
Elliott Hughes
843367953f am eec57b37: Merge "Add support for the ternary operator to the header scrubber."
* commit 'eec57b370642f1b83285883104f2e778f32eef73':
  Add support for the ternary operator to the header scrubber.
2013-11-21 11:34:47 -08:00
Elliott Hughes
eec57b3706 Merge "Add support for the ternary operator to the header scrubber." 2013-11-21 19:30:22 +00:00
Elliott Hughes
1198fd3864 Add support for the ternary operator to the header scrubber.
Used in various uapi headers.

Change-Id: Id0f862d2adc7ddc9727e8a29160d5435f8d547c3
2013-11-21 11:12:34 -08:00
Elliott Hughes
b55bc155f6 am 0b4ca7e3: am 004ecb39: am db1dec1e: Merge "Clean up pthread_internal_t."
* commit '0b4ca7e3ce59e6993b47cb7856e74c3c46b44c9b':
  Clean up pthread_internal_t.
2013-11-21 10:15:35 -08:00
Christopher Ferris
96a2e56fad am 47580cc0: am 3c6d1b88: am 2a34009f: Merge "Add .cfi_startproc/.cfi_endproc to ENTRY/END."
* commit '47580cc01768dcb67ab152915a2e78a98e36b463':
  Add .cfi_startproc/.cfi_endproc to ENTRY/END.
2013-11-21 10:15:34 -08:00
Elliott Hughes
07f35d9596 am 3eb08b0e: am f4e03b03: am bf652a5f: Merge "Provide <sys/user.h>."
* commit '3eb08b0e298e5b283add3a6a1abf0026d7cbcd98':
  Provide <sys/user.h>.
2013-11-21 10:15:33 -08:00
Elliott Hughes
0b4ca7e3ce am 004ecb39: am db1dec1e: Merge "Clean up pthread_internal_t."
* commit '004ecb39e1cc0aed57b6185d4adf015b61b2d0c6':
  Clean up pthread_internal_t.
2013-11-21 10:12:26 -08:00
Christopher Ferris
47580cc017 am 3c6d1b88: am 2a34009f: Merge "Add .cfi_startproc/.cfi_endproc to ENTRY/END."
* commit '3c6d1b887692ecc7198e5292d49e3635b68fa95c':
  Add .cfi_startproc/.cfi_endproc to ENTRY/END.
2013-11-21 10:12:25 -08:00
Elliott Hughes
3eb08b0e29 am f4e03b03: am bf652a5f: Merge "Provide <sys/user.h>."
* commit 'f4e03b03656527caf88b9e582ab5ca19ae697700':
  Provide <sys/user.h>.
2013-11-21 10:12:24 -08:00
Elliott Hughes
cb478f23cc am d4143c8e: Merge "Fix useconds_t for LP64."
* commit 'd4143c8e4cd8b006d8f422883b53684881e0991a':
  Fix useconds_t for LP64.
2013-11-21 09:07:15 -08:00
Elliott Hughes
a18a01f553 am 15a64948: Merge "Remove obsolete kernel/arch-mips headers."
* commit '15a64948567e6e885f639070fa1cc56900dcbae0':
  Remove obsolete kernel/arch-mips headers.
2013-11-21 09:07:14 -08:00
Elliott Hughes
8637bb5345 am b135f6e5: Merge "Remove the unused arch-x86 and arch-x86-64 kernel headers."
* commit 'b135f6e58cc81a6de64c55017d25496003ebe547':
  Remove the unused arch-x86 and arch-x86-64 kernel headers.
2013-11-21 09:07:13 -08:00
Elliott Hughes
d4143c8e4c Merge "Fix useconds_t for LP64." 2013-11-21 17:05:04 +00:00
Elliott Hughes
15a6494856 Merge "Remove obsolete kernel/arch-mips headers." 2013-11-21 17:04:44 +00:00
Elliott Hughes
b135f6e58c Merge "Remove the unused arch-x86 and arch-x86-64 kernel headers." 2013-11-21 17:04:24 +00:00
Elliott Hughes
9c67d4307c Fix useconds_t for LP64.
Change-Id: I869e60484999c1feda3dcdb86bee5b5373e6b3df
2013-11-21 08:55:46 -08:00
Elliott Hughes
0e309c87ab am 0df47ece: am d5a59aa7: am 1b2d214b: Merge "Clean up forking and cloning."
* commit '0df47ece78b2e596dde3a2369b44917842bbbd4b':
  Clean up forking and cloning.
2013-11-21 08:12:58 -08:00
Narayan Kamath
241776e21e am 6e5fda6b: am 22b8c53e: am 9d70ddc4: Merge "Add test case for 1^NaN"
* commit '6e5fda6b6d2b15155d8ca1ef586cf8ce6e04a067':
  Add test case for 1^NaN
2013-11-21 08:12:57 -08:00
Elliott Hughes
7a7429b4f7 am 67026112: am 8154f010: am 318e86ed: Merge "bionic: call stdio cleanup on exit"
* commit '67026112a00b94f9d13c3adea2ffbb4fb83d55c5':
  bionic: call stdio cleanup on exit
2013-11-21 08:12:57 -08:00
Elliott Hughes
9280a859a6 am 86ae0ff1: am 044d4655: am 303fe0cb: Merge "Fix pthread_join."
* commit '86ae0ff135456b2b695f49cf40ccc4e8ebc60f51':
  Fix pthread_join.
2013-11-21 08:12:56 -08:00
Christopher Ferris
54b98c638a am 37e5c6ba: am 750668f5: am 862faa12: Merge "Pull in cleaned version.h header."
* commit '37e5c6ba89b9daca67b1c09e2b73b4c6eac805a5':
  Pull in cleaned version.h header.
2013-11-21 08:12:55 -08:00
Christopher Ferris
7dd95f4fc5 am e4bc301a: am da12e64f: am be8344bb: Merge "Modify tests for another glibc difference."
* commit 'e4bc301aa50071d09d268f661be72647a491a8c0':
  Modify tests for another glibc difference.
2013-11-21 08:12:55 -08:00
Elliott Hughes
0a0fb39e8a am a8276f64: am 18368fc8: am f246c589: Merge "Clean up the pthread_create trampoline."
* commit 'a8276f64b203a01d1b393a11dc9c492d1a6557e3':
  Clean up the pthread_create trampoline.
2013-11-21 08:12:54 -08:00
Christopher Ferris
7bbc82d620 am b343d221: am 862c32b4: am e39e3a77: Merge "Add new tests for memory/string routines."
* commit 'b343d221103432f67df366a95c06a69d23ddbd1b':
  Add new tests for memory/string routines.
2013-11-21 08:12:53 -08:00
Elliott Hughes
6442706d42 am 00f25edc: am 5b524852: am 645d4269: Merge "Switch pthread_create over to __bionic_clone."
* commit '00f25edccace521bc4cbc3cfe3d05e8e1a9b6652':
  Switch pthread_create over to __bionic_clone.
2013-11-21 08:12:53 -08:00
Elliott Hughes
0df47ece78 am d5a59aa7: am 1b2d214b: Merge "Clean up forking and cloning."
* commit 'd5a59aa767d4d87738b53995d73461be2778b9ee':
  Clean up forking and cloning.
2013-11-21 08:10:07 -08:00
Narayan Kamath
6e5fda6b6d am 22b8c53e: am 9d70ddc4: Merge "Add test case for 1^NaN"
* commit '22b8c53ef6fffdc83bd730563c30eb8ce93e46df':
  Add test case for 1^NaN
2013-11-21 08:10:04 -08:00
Elliott Hughes
67026112a0 am 8154f010: am 318e86ed: Merge "bionic: call stdio cleanup on exit"
* commit '8154f010a1c017b56ec7de3014e3ddf958f92536':
  bionic: call stdio cleanup on exit
2013-11-21 08:10:03 -08:00
Elliott Hughes
86ae0ff135 am 044d4655: am 303fe0cb: Merge "Fix pthread_join."
* commit '044d4655b7c06c9d5988f7dc604e59f76e098f5d':
  Fix pthread_join.
2013-11-21 08:10:02 -08:00
Christopher Ferris
37e5c6ba89 am 750668f5: am 862faa12: Merge "Pull in cleaned version.h header."
* commit '750668f5abd9813bea6f33cb84d941ae306afea8':
  Pull in cleaned version.h header.
2013-11-21 08:09:59 -08:00
Christopher Ferris
e4bc301aa5 am da12e64f: am be8344bb: Merge "Modify tests for another glibc difference."
* commit 'da12e64f1770deee4f5d0b4c41d5530a98b21073':
  Modify tests for another glibc difference.
2013-11-21 08:09:57 -08:00
Elliott Hughes
a8276f64b2 am 18368fc8: am f246c589: Merge "Clean up the pthread_create trampoline."
* commit '18368fc8e696c54adbd1537bf2d7c5c217210957':
  Clean up the pthread_create trampoline.
2013-11-21 08:09:46 -08:00
Christopher Ferris
b343d22110 am 862c32b4: am e39e3a77: Merge "Add new tests for memory/string routines."
* commit '862c32b4bd73f2348ebd9b1267e2880afcf3be1b':
  Add new tests for memory/string routines.
2013-11-21 08:09:44 -08:00
Elliott Hughes
00f25edcca am 5b524852: am 645d4269: Merge "Switch pthread_create over to __bionic_clone."
* commit '5b5248526b0295e54f51dcc2fec6c1d8e5a3b9e2':
  Switch pthread_create over to __bionic_clone.
2013-11-21 08:09:43 -08:00
Elliott Hughes
b867fd6825 Remove obsolete kernel/arch-mips headers.
Bug: 11559337
Change-Id: I70e205ff1f5acd07fddd7d82367e818b13847acd
2013-11-20 18:09:34 -08:00
Elliott Hughes
70d37e343a am ca045a19: Merge "Switch to upstream sleep(3) and usleep(3)."
* commit 'ca045a19234a9323ea0e7eccbe3aefd74f9c1bab':
  Switch to upstream sleep(3) and usleep(3).
2013-11-20 16:44:59 -08:00
Elliott Hughes
ca045a1923 Merge "Switch to upstream sleep(3) and usleep(3)." 2013-11-21 00:41:30 +00:00
Elliott Hughes
ab61eb366a Switch to upstream sleep(3) and usleep(3).
Also fix the signature of usleep, and the definition of useconds_t which
should be unsigned, as the 'u' in its name implies.

This patch also cleans up the existing FreeBSD hacks by moving the libm
stuff from <sys/cdefs.h> to a libm-private header, and adding comments
about the hacks we use to build FreeBSD source.

Change-Id: Ibe5067a380502df94a0a3a7901969b35411085b6
2013-11-20 16:24:16 -08:00
Elliott Hughes
556c740298 am 39bc7ecd: Merge "Fix <signal.h> for mips uapi."
* commit '39bc7ecd45700e9edac0b29d33cc211383ebb107':
  Fix <signal.h> for mips uapi.
2013-11-20 12:57:19 -08:00
Elliott Hughes
39bc7ecd45 Merge "Fix <signal.h> for mips uapi." 2013-11-20 20:54:03 +00:00
Elliott Hughes
d8482b6c7e Fix <signal.h> for mips uapi.
Bug: 11559337
Change-Id: I4c6080f162d74ee78c81d698c7b50470b0e09586
2013-11-20 12:51:52 -08:00
Elliott Hughes
004ecb39e1 am db1dec1e: Merge "Clean up pthread_internal_t."
* commit 'db1dec1ed4fac8bdb312a53e63ba8afeb3c9dea3':
  Clean up pthread_internal_t.
2013-11-19 17:25:54 -08:00
Elliott Hughes
db1dec1ed4 Merge "Clean up pthread_internal_t." 2013-11-20 01:23:33 +00:00
Elliott Hughes
cef3faec0e Clean up pthread_internal_t.
Bug: 11755300
Change-Id: Ib509e8c5ec6b23513aa78b5ac5141d7c34ce2dc8
2013-11-19 17:22:22 -08:00
Elliott Hughes
5cb66cfdc2 Remove the unused arch-x86 and arch-x86-64 kernel headers.
x86-64 already used uapi headers, and x86 can too now.

Bug: 11559337
Change-Id: I1196d2500f06ad40f2488b96fc8ccc7e02c7d5c0
2013-11-19 16:57:42 -08:00
Christopher Ferris
3c6d1b8876 am 2a34009f: Merge "Add .cfi_startproc/.cfi_endproc to ENTRY/END."
* commit '2a34009f109a504d3623abf75d7087a0d6474e59':
  Add .cfi_startproc/.cfi_endproc to ENTRY/END.
2013-11-19 16:48:20 -08:00
Christopher Ferris
2a34009f10 Merge "Add .cfi_startproc/.cfi_endproc to ENTRY/END." 2013-11-20 00:45:24 +00:00
Christopher Ferris
507cfe2e10 Add .cfi_startproc/.cfi_endproc to ENTRY/END.
Bug: 10414953
Change-Id: I711718098b9f3cc0ba8277778df64557e9c7b2a0
2013-11-19 16:31:24 -08:00
Elliott Hughes
f4e03b0365 am bf652a5f: Merge "Provide <sys/user.h>."
* commit 'bf652a5f5c1249471cb6a60b5bda5ddf1e94a635':
  Provide <sys/user.h>.
2013-11-19 16:25:22 -08:00
Elliott Hughes
bf652a5f5c Merge "Provide <sys/user.h>." 2013-11-20 00:21:29 +00:00
Elliott Hughes
e888de81df Provide <sys/user.h>.
strace wants this, for example.

Change-Id: Icb4d64bde392abbc091fa3375a4fa19b2707b12c
2013-11-19 15:32:31 -08:00
Elliott Hughes
d5a59aa767 am 1b2d214b: Merge "Clean up forking and cloning."
* commit '1b2d214b62ad7bf46f37c79442a69d930aa29027':
  Clean up forking and cloning.
2013-11-19 14:12:38 -08:00
Elliott Hughes
1b2d214b62 Merge "Clean up forking and cloning." 2013-11-19 22:09:54 +00:00
Elliott Hughes
36d6188f8c Clean up forking and cloning.
The kernel now maintains the pthread_internal_t::tid field for us,
and __clone was only used in one place so let's inline it so we don't
have to leave such a dangerous function lying around. Also rename
files to match their content and remove some useless #includes.

Change-Id: I24299fb4a940e394de75f864ee36fdabbd9438f9
2013-11-19 14:08:54 -08:00
Narayan Kamath
22b8c53ef6 am 9d70ddc4: Merge "Add test case for 1^NaN"
* commit '9d70ddc466ed0bdb36908d69b1fe849904150eb7':
  Add test case for 1^NaN
2013-11-19 01:59:28 -08:00
Narayan Kamath
9d70ddc466 Merge "Add test case for 1^NaN" 2013-11-19 09:56:53 +00:00
Elliott Hughes
8154f010a1 am 318e86ed: Merge "bionic: call stdio cleanup on exit"
* commit '318e86ed887e04e593f3db9b84b402d5501ced9b':
  bionic: call stdio cleanup on exit
2013-11-18 20:05:09 -08:00
Elliott Hughes
318e86ed88 Merge "bionic: call stdio cleanup on exit" 2013-11-19 04:01:55 +00:00
Elliott Hughes
044d4655b7 am 303fe0cb: Merge "Fix pthread_join."
* commit '303fe0cb38def66aa438b9caac32e5af298f840a':
  Fix pthread_join.
2013-11-18 19:51:34 -08:00
Elliott Hughes
303fe0cb38 Merge "Fix pthread_join." 2013-11-19 03:49:00 +00:00
Elliott Hughes
877ec6d904 Fix pthread_join.
Let the kernel keep pthread_internal_t::tid updated, including
across forks and for the main thread. This then lets us fix
pthread_join to only return after the thread has really exited.

Also fix the thread attributes of the main thread so we don't
unmap the main thread's stack (which is really owned by the
dynamic linker and contains things like environment variables),
which fixes crashes when joining with an exited main thread
and also fixes problems reported publicly with accessing environment
variables after the main thread exits (for which I've added a new
unit test).

In passing I also fixed a bug where if the clone(2) inside
pthread_create(3) fails, we'd unmap the child's stack and TLS (which
contains the mutex) and then try to unlock the mutex. Boom! It wasn't
until after I'd uploaded the fix for this that I came across a new
public bug reporting this exact failure.

Bug: 8206355
Bug: 11693195
Bug: https://code.google.com/p/android/issues/detail?id=57421
Bug: https://code.google.com/p/android/issues/detail?id=62392
Change-Id: I2af9cf6e8ae510a67256ad93cad891794ed0580b
2013-11-18 19:48:11 -08:00
Pawit Pornkitprasan
652289942d bionic: call stdio cleanup on exit
As of 61e699a133a4807fe878a6cb0d7190d7c96e21f8, stdio clean up
functions are no longer registered in atexit and must be called
manually via __cleanup.

The issue this fixes is some static binaries linked against bionic
cannot output properly when piped or redirected because the buffer
is not flushed before closing.

This is done by pulling in exit.c (and other dependencies) from
netbsd.

Change-Id: I193e54a6d08900f291550029fe75ce76394d9e22
2013-11-19 09:49:17 +07:00
Christopher Ferris
750668f5ab am 862faa12: Merge "Pull in cleaned version.h header."
* commit '862faa12928038759e1bbdbc394a7d58b560f128':
  Pull in cleaned version.h header.
2013-11-18 15:29:38 -08:00
Christopher Ferris
862faa1292 Merge "Pull in cleaned version.h header." 2013-11-18 23:26:59 +00:00
Christopher Ferris
da12e64f17 am be8344bb: Merge "Modify tests for another glibc difference."
* commit 'be8344bb068183715f808768341bce7fb69d5a70':
  Modify tests for another glibc difference.
2013-11-18 13:38:12 -08:00
Christopher Ferris
be8344bb06 Merge "Modify tests for another glibc difference." 2013-11-18 21:35:21 +00:00
Narayan Kamath
af64dad479 Add test case for 1^NaN
Should be 1.

Change-Id: I6cf723a419f51d3bda58286a538774b71276c7b5
2013-11-18 19:00:59 +00:00
The Android Automerger
f15987fe9c merge in master-release history after reset to master 2013-11-18 07:50:37 -08:00
Christopher Ferris
e372ec8cf9 Pull in cleaned version.h header.
Change-Id: Ia917af9336b63ed5a10147770a8110134cb274cb
2013-11-15 16:29:28 -08:00
Christopher Ferris
cbd85b9cc1 Modify tests for another glibc difference.
It turns out that when passing a closed file to getdelim or getline, the
functions in glibc will properly return a failure, but errno might not be
set. Skip the errno check except on bionic.

Change-Id: I8d625f15303d4c2d42e8d28491ea8a368aea4d32
2013-11-15 16:09:44 -08:00
Elliott Hughes
18368fc8e6 am f246c589: Merge "Clean up the pthread_create trampoline."
* commit 'f246c589d66e5dc0e3cddc3c37261fb0e3fc67e9':
  Clean up the pthread_create trampoline.
2013-11-15 15:31:28 -08:00
Elliott Hughes
f246c589d6 Merge "Clean up the pthread_create trampoline." 2013-11-15 23:27:36 +00:00
Elliott Hughes
e48b68570d Clean up the pthread_create trampoline.
Bug: 8206355
Bug: 11693195
Change-Id: I35cc024d5b6ebd19d1d2e45610db185addaf45df
2013-11-15 14:57:45 -08:00
Christopher Ferris
862c32b4bd am e39e3a77: Merge "Add new tests for memory/string routines."
* commit 'e39e3a77d6e8cf681718a572bc754fd64dfc87ff':
  Add new tests for memory/string routines.
2013-11-15 14:51:02 -08:00
Elliott Hughes
5b5248526b am 645d4269: Merge "Switch pthread_create over to __bionic_clone."
* commit '645d4269d323acdcb20d1c31c15dbb4afbb9f46a':
  Switch pthread_create over to __bionic_clone.
2013-11-15 14:47:32 -08:00
Christopher Ferris
e39e3a77d6 Merge "Add new tests for memory/string routines." 2013-11-15 22:47:07 +00:00
Elliott Hughes
645d4269d3 Merge "Switch pthread_create over to __bionic_clone." 2013-11-15 22:42:57 +00:00
Elliott Hughes
70b24b1cc2 Switch pthread_create over to __bionic_clone.
Bug: 8206355
Bug: 11693195
Change-Id: I04aadbc36c87e1b7e33324b9a930a1e441fbfed6
2013-11-15 14:41:19 -08:00
Christopher Ferris
b687ad3c34 Add new tests for memory/string routines.
Create a few generic testing functions to allow any memory/string tests
to be created.

Add alignment tests for memcpy/memset/strcat/strcpy/strlen.

Add an overread test for memcpy/strcat/strcpy/strlen. This test attempts
to verify that the functions do not read past the end of their buffers
(src buffer in the case of src/dst functions).

Bug: 9797008

Change-Id: Ib3223ca1b99e729ae8229adc2d03f4dc3103d97c
2013-11-15 10:36:21 -08:00
Elliott Hughes
24cbf1991a am 04b4339a: am 60a67a0c: am 05ec00bf: Merge "[MIPS] Reimplement syscall to invoke the system call directly"
* commit '04b4339ad5396690329877df10fbe568bd4dd600':
  [MIPS] Reimplement syscall to invoke the system call directly
2013-11-14 17:09:48 -08:00
Elliott Hughes
04b4339ad5 am 60a67a0c: am 05ec00bf: Merge "[MIPS] Reimplement syscall to invoke the system call directly"
* commit '60a67a0c7e44dfc47b9b4271ea4ae2dbf336849a':
  [MIPS] Reimplement syscall to invoke the system call directly
2013-11-14 17:07:13 -08:00
Elliott Hughes
60a67a0c7e am 05ec00bf: Merge "[MIPS] Reimplement syscall to invoke the system call directly"
* commit '05ec00bf62ac168c9787a3d0640879ab3e502fe5':
  [MIPS] Reimplement syscall to invoke the system call directly
2013-11-14 17:05:10 -08:00
Elliott Hughes
05ec00bf62 Merge "[MIPS] Reimplement syscall to invoke the system call directly" 2013-11-15 01:01:06 +00:00
Chris Dearman
effaa7824d [MIPS] Reimplement syscall to invoke the system call directly
Some MIPS kernels do not correctly restart interrupted system calls that
have been invoked using the indirect syscall (NR_syscall).

The simplest workaround is to handle the indirection in userland and then
call the required system call directly.

Change-Id: I8385399621529db9a52b463c96925f6decaaca30
2013-11-14 16:53:15 -08:00
Elliott Hughes
ad7e42d6bd am 1b782289: am 5a70acd1: am ae5c3dd7: Merge "Remove the mips regdef.h and fpregdef.h old kernel headers."
* commit '1b782289f4f89434693e3e906df9c9cf43b4d277':
  Remove the mips regdef.h and fpregdef.h old kernel headers.
2013-11-13 18:47:59 -08:00
Elliott Hughes
67b73d370b am ab894977: am 3cc7da48: am c4250430: Merge "Add unit tests for pow\'s behavior with NaNs."
* commit 'ab894977da4e7519aa5c69b38817ee54ae8fd519':
  Add unit tests for pow's behavior with NaNs.
2013-11-13 18:44:12 -08:00
Elliott Hughes
1b782289f4 am 5a70acd1: am ae5c3dd7: Merge "Remove the mips regdef.h and fpregdef.h old kernel headers."
* commit '5a70acd176a792868a61c94169d5e6c0679202f2':
  Remove the mips regdef.h and fpregdef.h old kernel headers.
2013-11-13 16:28:37 -08:00
Elliott Hughes
5a70acd176 am ae5c3dd7: Merge "Remove the mips regdef.h and fpregdef.h old kernel headers."
* commit 'ae5c3dd73844e6a9e1a14dbf893eab5142902f18':
  Remove the mips regdef.h and fpregdef.h old kernel headers.
2013-11-13 16:24:33 -08:00
Elliott Hughes
ae5c3dd738 Merge "Remove the mips regdef.h and fpregdef.h old kernel headers." 2013-11-14 00:18:58 +00:00
Elliott Hughes
007eced93b Remove the mips regdef.h and fpregdef.h old kernel headers.
Bug: 11559337
Change-Id: I6352cac9c4ef425cb21e34d0299223711ec079af
2013-11-13 16:13:01 -08:00
Elliott Hughes
ab894977da am 3cc7da48: am c4250430: Merge "Add unit tests for pow\'s behavior with NaNs."
* commit '3cc7da4838ea5896ff142f447ecb03f62d3e70e6':
  Add unit tests for pow's behavior with NaNs.
2013-11-13 15:05:43 -08:00
Elliott Hughes
3cc7da4838 am c4250430: Merge "Add unit tests for pow\'s behavior with NaNs."
* commit 'c425043063eae2fa3e8622bf77ef1ab3a805f156':
  Add unit tests for pow's behavior with NaNs.
2013-11-13 15:01:31 -08:00
Elliott Hughes
c425043063 Merge "Add unit tests for pow's behavior with NaNs." 2013-11-13 22:57:36 +00:00
Elliott Hughes
65d8dadcad am 60101963: am e77538d5: am 44cbe94b: Merge "Add a unit test for syscall(2)."
* commit '6010196355959f1a5d34100aa3d44073f291e886':
  Add a unit test for syscall(2).
2013-11-13 13:42:53 -08:00
Elliott Hughes
6010196355 am e77538d5: am 44cbe94b: Merge "Add a unit test for syscall(2)."
* commit 'e77538d570e8a811b09bdcd3c746471d8f74b3de':
  Add a unit test for syscall(2).
2013-11-13 13:37:18 -08:00
Elliott Hughes
e77538d570 am 44cbe94b: Merge "Add a unit test for syscall(2)."
* commit '44cbe94bba2e7e4b1369c86b11d66d6b60f0e333':
  Add a unit test for syscall(2).
2013-11-13 13:33:12 -08:00
Elliott Hughes
6a8f00d49c Add unit tests for pow's behavior with NaNs.
Bug: 11669804
Change-Id: Idfa6527640c8d0c2cf3e5343bf7afe013e237545
2013-11-13 13:29:23 -08:00
Elliott Hughes
44cbe94bba Merge "Add a unit test for syscall(2)." 2013-11-13 21:29:07 +00:00
Elliott Hughes
e61dc71efc Add a unit test for syscall(2).
Change-Id: Ic7d9735d46711af93c3a1747de7b2eb8cebea094
2013-11-13 13:14:31 -08:00
The Android Automerger
5211e9b4ce merge in master-release history after reset to master 2013-11-12 07:49:31 -08:00
Elliott Hughes
c79a5b5cda am 3cf6d998: am 6a7e539c: am 22ba86ee: Merge "Add extra regression tests for an already-fixed dynamic linker bug."
* commit '3cf6d9983c534dd6dae0b3e805a6cdadad910aa8':
  Add extra regression tests for an already-fixed dynamic linker bug.
2013-11-11 20:52:09 -08:00
Elliott Hughes
3cf6d9983c am 6a7e539c: am 22ba86ee: Merge "Add extra regression tests for an already-fixed dynamic linker bug."
* commit '6a7e539cf1d8ee49fc2b6a11d043ce7962aa2de4':
  Add extra regression tests for an already-fixed dynamic linker bug.
2013-11-11 17:06:27 -08:00
Elliott Hughes
6a7e539cf1 am 22ba86ee: Merge "Add extra regression tests for an already-fixed dynamic linker bug."
* commit '22ba86ee44867c2d16973fc2f8da3b0f5b58cc5e':
  Add extra regression tests for an already-fixed dynamic linker bug.
2013-11-11 17:04:28 -08:00
Elliott Hughes
22ba86ee44 Merge "Add extra regression tests for an already-fixed dynamic linker bug." 2013-11-12 01:01:24 +00:00
Elliott Hughes
2ed710976c Add extra regression tests for an already-fixed dynamic linker bug.
Bug: https://code.google.com/p/android/issues/detail?id=61799
Change-Id: I84af68f8430a06e999297c2e57e06ecb45adf81e
2013-11-11 15:48:06 -08:00
The Android Automerger
4bf99b106e merge in master-release history after reset to master 2013-11-11 07:50:03 -08:00
Elliott Hughes
5ebfaf84df am 5c56512e: am cdd6fdec: am 6768c1ee: Merge "Add a temporary uapi/linux/compiler.h until upstream has one."
* commit '5c56512eebc14558a2b3b83cdca09f04084d609c':
  Add a temporary uapi/linux/compiler.h until upstream has one.
2013-11-08 16:03:52 -08:00
Elliott Hughes
41392e2802 am e9664fea: am 5b6290bc: am ff5b0fc8: Merge "Remove the dependency on the non-uapi __kernel_nlink_t."
* commit 'e9664fea54d21f765c906006db27b8e275c4a198':
  Remove the dependency on the non-uapi __kernel_nlink_t.
2013-11-08 16:03:51 -08:00
Elliott Hughes
5c56512eeb am cdd6fdec: am 6768c1ee: Merge "Add a temporary uapi/linux/compiler.h until upstream has one."
* commit 'cdd6fdec6c8175b4b9f132a2b11c1fc5f20e8869':
  Add a temporary uapi/linux/compiler.h until upstream has one.
2013-11-08 15:25:38 -08:00
Elliott Hughes
cdd6fdec6c am 6768c1ee: Merge "Add a temporary uapi/linux/compiler.h until upstream has one."
* commit '6768c1ee510a8e93175b54e93cb583f009766eed':
  Add a temporary uapi/linux/compiler.h until upstream has one.
2013-11-08 15:22:43 -08:00
Elliott Hughes
6768c1ee51 Merge "Add a temporary uapi/linux/compiler.h until upstream has one." 2013-11-08 23:20:18 +00:00
Elliott Hughes
e9664fea54 am 5b6290bc: am ff5b0fc8: Merge "Remove the dependency on the non-uapi __kernel_nlink_t."
* commit '5b6290bcfb47ffb27a66450c9cc3258021e259fa':
  Remove the dependency on the non-uapi __kernel_nlink_t.
2013-11-08 15:17:19 -08:00
Elliott Hughes
5b6290bcfb am ff5b0fc8: Merge "Remove the dependency on the non-uapi __kernel_nlink_t."
* commit 'ff5b0fc8f3406c98561e17bd2a6c5433e192f5be':
  Remove the dependency on the non-uapi __kernel_nlink_t.
2013-11-08 15:15:18 -08:00
Elliott Hughes
740531354e Add a temporary uapi/linux/compiler.h until upstream has one.
Bug: 11559337
Change-Id: I205974b1a26e4f85d0e11503afa80669195d211c
2013-11-08 15:13:54 -08:00
Elliott Hughes
ff5b0fc8f3 Merge "Remove the dependency on the non-uapi __kernel_nlink_t." 2013-11-08 23:12:36 +00:00
Elliott Hughes
2ecc164ae9 Remove the dependency on the non-uapi __kernel_nlink_t.
The kernel doesn't have an nlink_t; it just uses the equivalent of
uint32_t. We already had a usable __nlink_t in the C library, so
let's just define our nlink_t in terms of __nlink_t, which is what
__nlink_t was meant for anyway.

Note that our struct stat just follows the kernel, and doesn't refer
to nlink_t anyway.

Change-Id: I2a56e418e42404b1741b08c50554b03c11caebae
2013-11-08 14:38:12 -08:00
Elliott Hughes
0538d38a30 am 26d8853a: am cac7eec5: am 68723453: Merge "Generate the uapi headers for mips and x86/x86_64."
* commit '26d8853ab5d3c42654a90bf31e54bb851f3b083c':
  Generate the uapi headers for mips and x86/x86_64.
2013-11-08 14:28:57 -08:00
Elliott Hughes
26d8853ab5 am cac7eec5: am 68723453: Merge "Generate the uapi headers for mips and x86/x86_64."
* commit 'cac7eec55a4853abfcd5b8d7bce35d79ab330132':
  Generate the uapi headers for mips and x86/x86_64.
2013-11-08 14:23:38 -08:00
Elliott Hughes
cac7eec55a am 68723453: Merge "Generate the uapi headers for mips and x86/x86_64."
* commit '68723453ac920004fcba2a820c2d56919a5b7081':
  Generate the uapi headers for mips and x86/x86_64.
2013-11-08 14:20:59 -08:00
Elliott Hughes
68723453ac Merge "Generate the uapi headers for mips and x86/x86_64." 2013-11-08 22:18:46 +00:00
Elliott Hughes
abd626117c Generate the uapi headers for mips and x86/x86_64.
Bug: 11559337
Change-Id: I23b1a43e7bfa8fa6f9df7e59d2e731a0ec52dafc
2013-11-08 11:46:03 -08:00
Elliott Hughes
fae1b3d1a2 am b92de381: am 99a38fcf: am 486c8616: Merge "Prepare to switch to the uapi <linux/signal.h>."
* commit 'b92de38170e3d3aeb2b05449909fb76c96954062':
  Prepare to switch to the uapi <linux/signal.h>.
2013-11-07 15:13:24 -08:00
Elliott Hughes
693cd7ff65 am 81c24a1a: am c9c84992: am 266eb4a4: Merge "Stop using the non-uapi <linux/err.h> header file."
* commit '81c24a1a49ada6fa86ea51070a6202fce7036f36':
  Stop using the non-uapi <linux/err.h> header file.
2013-11-07 15:12:59 -08:00
Elliott Hughes
b92de38170 am 99a38fcf: am 486c8616: Merge "Prepare to switch to the uapi <linux/signal.h>."
* commit '99a38fcf33d220524e41979a3f9d842399fd638d':
  Prepare to switch to the uapi <linux/signal.h>.
2013-11-07 12:45:33 -08:00
Elliott Hughes
99a38fcf33 am 486c8616: Merge "Prepare to switch to the uapi <linux/signal.h>."
* commit '486c8616ac030b14d37d364a0ed541c4c6c90716':
  Prepare to switch to the uapi <linux/signal.h>.
2013-11-07 12:43:22 -08:00
Elliott Hughes
486c8616ac Merge "Prepare to switch to the uapi <linux/signal.h>." 2013-11-07 20:41:19 +00:00
Elliott Hughes
61fb3fc770 Prepare to switch to the uapi <linux/signal.h>.
<time.h> didn't need to copy the cruft from <signal.h>, and
<signal.h> only needs the uid_t hack when it's not using
uapi headers.

pthread_exit.cpp should include what it uses.

Change-Id: I836c36abe0f0a781d41fc425b249d1c7686bb124
2013-11-07 12:29:07 -08:00
Elliott Hughes
81c24a1a49 am c9c84992: am 266eb4a4: Merge "Stop using the non-uapi <linux/err.h> header file."
* commit 'c9c84992fb9ccbf32580c93967356383f58d9687':
  Stop using the non-uapi <linux/err.h> header file.
2013-11-07 10:48:29 -08:00
Elliott Hughes
c9c84992fb am 266eb4a4: Merge "Stop using the non-uapi <linux/err.h> header file."
* commit '266eb4a44c4cdd9502980511ff2846fde5c66454':
  Stop using the non-uapi <linux/err.h> header file.
2013-11-07 10:46:37 -08:00
Elliott Hughes
266eb4a44c Merge "Stop using the non-uapi <linux/err.h> header file." 2013-11-07 18:44:49 +00:00
Elliott Hughes
ed74484dcb Stop using the non-uapi <linux/err.h> header file.
We only need it for MAX_ERRNO, and it's time we had somewhere to put
the little assembler utility macros we've been putting off writing.

Change-Id: I9354d2e0dc47c689296a34b5b229fc9ba75f1a83
2013-11-07 10:31:05 -08:00
The Android Automerger
454e79814e merge in master-release history after reset to master 2013-11-07 07:49:37 -08:00
Rom Lemarchand
d1cd2392c9 Merge "Refresh libc/kernel/common/linux/ion.h" 2013-11-07 13:29:57 +00:00
Elliott Hughes
fd8646457b am 2a6e1306: am 6fc4a1cd: am a034e1d3: Merge "Remove pathconf\'s dependencies on non-uapi header files."
* commit '2a6e13064fe73c22c162a9bf1cf257d0246afbf5':
  Remove pathconf's dependencies on non-uapi header files.
2013-11-06 17:42:14 -08:00
Elliott Hughes
2a6e13064f am 6fc4a1cd: am a034e1d3: Merge "Remove pathconf\'s dependencies on non-uapi header files."
* commit '6fc4a1cd3aecca409766e82d333f9cb127a85593':
  Remove pathconf's dependencies on non-uapi header files.
2013-11-06 17:38:12 -08:00
Elliott Hughes
6fc4a1cd3a am a034e1d3: Merge "Remove pathconf\'s dependencies on non-uapi header files."
* commit 'a034e1d3e06207f079e814101bb3bce1924264e0':
  Remove pathconf's dependencies on non-uapi header files.
2013-11-06 17:35:36 -08:00
Elliott Hughes
a034e1d3e0 Merge "Remove pathconf's dependencies on non-uapi header files." 2013-11-07 01:32:27 +00:00
Elliott Hughes
9287ed5f46 am 07ddeb09: am dc9b54c1: am f945732e: Merge "Fix a TODO; we\'ve had SOCK_CLOEXEC for a while now."
* commit '07ddeb09017a043f7dd74980124670f99d003c22':
  Fix a TODO; we've had SOCK_CLOEXEC for a while now.
2013-11-06 17:23:54 -08:00
Elliott Hughes
07ddeb0901 am dc9b54c1: am f945732e: Merge "Fix a TODO; we\'ve had SOCK_CLOEXEC for a while now."
* commit 'dc9b54c11c3b20fe5d1dc5c591ff058788e7b376':
  Fix a TODO; we've had SOCK_CLOEXEC for a while now.
2013-11-06 17:21:35 -08:00
Elliott Hughes
7250d2e5b4 Remove pathconf's dependencies on non-uapi header files.
Change-Id: I597996e4b141b009916f7ad2866dd100e08aa4d3
2013-11-06 17:21:09 -08:00
Elliott Hughes
dc9b54c11c am f945732e: Merge "Fix a TODO; we\'ve had SOCK_CLOEXEC for a while now."
* commit 'f945732e21e3c1291943d21fa5fee0c43792bbec':
  Fix a TODO; we've had SOCK_CLOEXEC for a while now.
2013-11-06 17:19:30 -08:00
Elliott Hughes
f945732e21 Merge "Fix a TODO; we've had SOCK_CLOEXEC for a while now." 2013-11-07 01:16:48 +00:00
Elliott Hughes
9c8445638a am a4e281a5: am 76833a7c: am 9e63e03d: Merge "Clean up the 32-bit kernel support, fix LP64 fcntl declaration."
* commit 'a4e281a549adb6a1ed9669bf609e088c8f8a9bd0':
  Clean up the 32-bit kernel support, fix LP64 fcntl declaration.
2013-11-06 17:10:44 -08:00
Elliott Hughes
a4e281a549 am 76833a7c: am 9e63e03d: Merge "Clean up the 32-bit kernel support, fix LP64 fcntl declaration."
* commit '76833a7c575ca372b41cb6e2a964918d69fc0dbe':
  Clean up the 32-bit kernel support, fix LP64 fcntl declaration.
2013-11-06 17:07:35 -08:00
Elliott Hughes
76833a7c57 am 9e63e03d: Merge "Clean up the 32-bit kernel support, fix LP64 fcntl declaration."
* commit '9e63e03d34fc0b4d87cff047a4bc55f8ebc5e12a':
  Clean up the 32-bit kernel support, fix LP64 fcntl declaration.
2013-11-06 17:05:46 -08:00
Elliott Hughes
9be07fa527 Fix a TODO; we've had SOCK_CLOEXEC for a while now.
Change-Id: I4bc39b57f3c33441ead74127f576bf5a4e311566
2013-11-06 17:04:56 -08:00
Elliott Hughes
9e63e03d34 Merge "Clean up the 32-bit kernel support, fix LP64 fcntl declaration." 2013-11-07 01:02:55 +00:00
Elliott Hughes
062092543f Clean up the 32-bit kernel support, fix LP64 fcntl declaration.
In practice, thanks to all the registers the stubs don't actually change,
but it's confusing to have an incorrect declaration.

I suspect that fcntl remains broken for aarch64; it happens to work for
x86_64 because the first vararg argument gets placed in the right register
anyway, but I have no reason to believe that's true for aarch64.

This patch adds a unit test, though, so we'll be able to tell when we get
as far as running the unit tests.

Change-Id: I58dd0054fe99d7d51d04c22781d8965dff1afbf3
2013-11-06 16:33:39 -08:00
Ben Cheng
ff088539ae am 64aca718: am 99205dc9: am af10f9e9: Merge "Add processed uapi kernel headers for ARM."
* commit '64aca718ee0b2fceec37f0f0cd41c0323d834b3d':
  Add processed uapi kernel headers for ARM.
2013-11-06 16:15:46 -08:00
Elliott Hughes
7406433662 am c606294b: am 3721a7e7: am 7115c802: Merge "Fix pread/pwrite for LP64."
* commit 'c606294b9397930a18d9c153186b77ece819588c':
  Fix pread/pwrite for LP64.
2013-11-06 16:15:45 -08:00
Elliott Hughes
9f2532507f am a047e0ab: am afc51b92: am c4dbc16e: Merge "Make cpp.py less braindead."
* commit 'a047e0ab516551430cf2fc19f12703d48b9d60f3':
  Make cpp.py less braindead.
2013-11-06 16:15:44 -08:00
Ben Cheng
64aca718ee am 99205dc9: am af10f9e9: Merge "Add processed uapi kernel headers for ARM."
* commit '99205dc987735e1d57f2e1b8446448f655808ab5':
  Add processed uapi kernel headers for ARM.
2013-11-06 16:10:15 -08:00
Elliott Hughes
c606294b93 am 3721a7e7: am 7115c802: Merge "Fix pread/pwrite for LP64."
* commit '3721a7e71fc831f6d58b7253627043d0658ad977':
  Fix pread/pwrite for LP64.
2013-11-06 16:10:14 -08:00
Elliott Hughes
a047e0ab51 am afc51b92: am c4dbc16e: Merge "Make cpp.py less braindead."
* commit 'afc51b92a0e531f05e0e5477ea857a8669e5e5d1':
  Make cpp.py less braindead.
2013-11-06 16:10:12 -08:00
Ben Cheng
99205dc987 am af10f9e9: Merge "Add processed uapi kernel headers for ARM."
* commit 'af10f9e927ed22c8bccc80919e10df4d5f4aecdd':
  Add processed uapi kernel headers for ARM.
2013-11-06 15:58:39 -08:00
Ben Cheng
af10f9e927 Merge "Add processed uapi kernel headers for ARM." 2013-11-06 23:55:25 +00:00
Ben Cheng
a6b53f03c7 Add processed uapi kernel headers for ARM.
Change-Id: Id34de841b7b4b5a1bf7d22eb793860f92f24a6e5
2013-11-06 15:51:05 -08:00
Elliott Hughes
3721a7e71f am 7115c802: Merge "Fix pread/pwrite for LP64."
* commit '7115c80231aa88272294076c8775c09727ece85a':
  Fix pread/pwrite for LP64.
2013-11-06 14:26:58 -08:00
Elliott Hughes
7115c80231 Merge "Fix pread/pwrite for LP64." 2013-11-06 22:25:17 +00:00
Elliott Hughes
8fbf8deb34 Fix pread/pwrite for LP64.
Unlike on 32-bit systems where off_t is 32-bit, we don't want to
throw away the top 32 bits of an LP64 system's 64-bit off_t.

Change-Id: Ib2e0daeb4fc0b8ab3d1b983d0b371d8f81033b50
2013-11-06 13:10:37 -08:00
Elliott Hughes
afc51b92a0 am c4dbc16e: Merge "Make cpp.py less braindead."
* commit 'c4dbc16eb03bcc0a3ea04cd32ce7551ad94b2bfc':
  Make cpp.py less braindead.
2013-11-06 12:34:22 -08:00
Elliott Hughes
c4dbc16eb0 Merge "Make cpp.py less braindead." 2013-11-06 20:31:10 +00:00
Elliott Hughes
40596aa005 Make cpp.py less braindead.
The old code ignored operator precedence (!), despite having two tables
of operator precedence. The code's still pretty awful, but I've cleaned
it up enough to fix this, the most important bug.

This patch lets us correctly clean the uapi unistd.h, stat.h, and swab.h files,
and also fixes the mess we were already making of various old kernel
header files. I've added a bunch more tests, fixed the existing tests that
the existing script was already failing (!), and changed the script so that
the tests are run every time the script is run.

We can probably remove some of the old kernel header files that we were
parsing incorrectly, but we can worry about that later.

Bug: 11253477
Change-Id: Ie66c65b3a7ae13b4e98ed8038a6a534f06eae0e5
2013-11-06 12:04:48 -08:00
Rom Lemarchand
ea699f0cf4 Refresh libc/kernel/common/linux/ion.h
Change-Id: Ibd2bf99224b31bbad7b3a9b0d82bfef19162db7b
2013-11-06 09:55:03 -08:00
The Android Automerger
f672f7cb3e merge in master-release history after reset to master 2013-11-06 07:49:59 -08:00
Elliott Hughes
fdbbcc2fab am c76ba85e: am ffe06880: am f1258672: Merge "Fix <sys/select.h> for LP64, clean up <time.h>."
* commit 'c76ba85e166fa98baf44102894471c483f134c17':
  Fix <sys/select.h> for LP64, clean up <time.h>.
2013-11-05 14:24:21 -08:00
Elliott Hughes
d13288d1ed am a0352c60: am 3c5d651c: am 9b9f0d0c: Merge "Remove unnecessary #include."
* commit 'a0352c60ec72b2fbd9d7a9a1685ec893bf9014aa':
  Remove unnecessary #include.
2013-11-05 14:22:24 -08:00
Elliott Hughes
c76ba85e16 am ffe06880: am f1258672: Merge "Fix <sys/select.h> for LP64, clean up <time.h>."
* commit 'ffe068808909c9825807dbaf8679b9f9efc2c690':
  Fix <sys/select.h> for LP64, clean up <time.h>.
2013-11-05 14:01:49 -08:00
Elliott Hughes
ffe0688089 am f1258672: Merge "Fix <sys/select.h> for LP64, clean up <time.h>."
* commit 'f1258672d1eed41da30612a70690c19ff1966b73':
  Fix <sys/select.h> for LP64, clean up <time.h>.
2013-11-05 13:58:18 -08:00
Elliott Hughes
f1258672d1 Merge "Fix <sys/select.h> for LP64, clean up <time.h>." 2013-11-05 21:54:38 +00:00
Elliott Hughes
3503ce2177 Fix <sys/select.h> for LP64, clean up <time.h>.
The 64-bit uapi headers don't define FD_CLR and friends, so this
patch updates libc/kernel/common/linux/time.h after the change
b934bbec145e9e084bf48149a3a94ae3dd132157 in external/kernel-headers,
then fixes <sys/select.h> to work in this new world, and removes
some now-unnecessary duplication from <time.h> (with other cruft
cleaned up while I'm here).

Change-Id: Ifd26f901b4d200c65065b3e6ef1b74055127e052
2013-11-05 13:28:36 -08:00
Elliott Hughes
a0352c60ec am 3c5d651c: am 9b9f0d0c: Merge "Remove unnecessary #include."
* commit '3c5d651c051e56e7fb48214e334600cd3f361460':
  Remove unnecessary #include.
2013-11-05 12:06:58 -08:00
Elliott Hughes
3c5d651c05 am 9b9f0d0c: Merge "Remove unnecessary #include."
* commit '9b9f0d0cd05b5249e4b8119a8bd12ec17712b9da':
  Remove unnecessary #include.
2013-11-05 12:04:34 -08:00
Elliott Hughes
9b9f0d0cd0 Merge "Remove unnecessary #include." 2013-11-05 20:00:30 +00:00
Elliott Hughes
6fa79c5cf5 Remove unnecessary #include.
Change-Id: I99dade0b3803272ee29eba2ad36b0311f8a24c31
2013-11-05 11:59:06 -08:00
The Android Automerger
5a5fc18a19 merge in master-release history after reset to master 2013-11-04 07:49:54 -08:00
Elliott Hughes
ab7e8fba0a am 748ad3d3: am 00889af0: am 943cc1b5: Merge "Refresh libc/kernel/common/linux/uinput.h"
* commit '748ad3d3f514707a596b7ede59f1f4788832d3f5':
  Refresh libc/kernel/common/linux/uinput.h
2013-10-31 16:09:42 -07:00
Elliott Hughes
748ad3d3f5 am 00889af0: am 943cc1b5: Merge "Refresh libc/kernel/common/linux/uinput.h"
* commit '00889af038359e0a7e97384bad25a809e8887857':
  Refresh libc/kernel/common/linux/uinput.h
2013-10-31 16:07:39 -07:00
Elliott Hughes
00889af038 am 943cc1b5: Merge "Refresh libc/kernel/common/linux/uinput.h"
* commit '943cc1b58892c627f65f44b7f0fcf365048b7364':
  Refresh libc/kernel/common/linux/uinput.h
2013-10-31 16:05:50 -07:00
Elliott Hughes
943cc1b588 Merge "Refresh libc/kernel/common/linux/uinput.h" 2013-10-31 23:03:16 +00:00
Scott Anderson
126f66a601 Refresh libc/kernel/common/linux/uinput.h
Change-Id: Icd830af5aee63276554ebf7bfe8192965209cc59
Signed-off-by: Scott Anderson <saa@google.com>
2013-10-31 15:45:32 -07:00
Elliott Hughes
040fe7a832 am 2a60b264: am 6b69b753: am 4d2ab4c7: Merge "Fix linker crashes during unknown symbol lookup"
* commit '2a60b264ebf85bdec2ef741651815781b145d868':
  Fix linker crashes during unknown symbol lookup
2013-10-31 15:17:07 -07:00
Elliott Hughes
2a60b264eb am 6b69b753: am 4d2ab4c7: Merge "Fix linker crashes during unknown symbol lookup"
* commit '6b69b753d7c9820fb4fd7f88a047931c645834c8':
  Fix linker crashes during unknown symbol lookup
2013-10-31 15:13:39 -07:00
Elliott Hughes
6b69b753d7 am 4d2ab4c7: Merge "Fix linker crashes during unknown symbol lookup"
* commit '4d2ab4c758a8c76193452b139778e90531721930':
  Fix linker crashes during unknown symbol lookup
2013-10-31 15:10:25 -07:00
Elliott Hughes
4d2ab4c758 Merge "Fix linker crashes during unknown symbol lookup" 2013-10-31 22:07:00 +00:00
Sergey Melnikov
ebd506c69e Fix linker crashes during unknown symbol lookup
Integration of kernel VDSO into internal bionic data structures using
common functions.
Fix for dl_iterate_phdr function: the function provides incorrect
address of object in case of nonzero virtual and base addresses.
Location in address space of a particular program header should be
calculated using the formula:  addr = base_addr + virtual_addr.

Signed-off-by: Sergey Melnikov <sergey.melnikov@intel.com>
Change-Id: Ie2ab4257fd456242aab8afed0bd5bd6b29e81d6d
2013-10-31 15:06:20 -07:00
Elliott Hughes
f6bf2cd9b1 am 8441e031: am 61ec6a62: am cc9b7456: Merge "Move the pthread debugging flags to the right place."
* commit '8441e0312cf0215560b502a38284b1e918a31364':
  Move the pthread debugging flags to the right place.
2013-10-31 14:29:14 -07:00
Elliott Hughes
8441e0312c am 61ec6a62: am cc9b7456: Merge "Move the pthread debugging flags to the right place."
* commit '61ec6a621c699d68246a3dfe724fa13f0555ecf4':
  Move the pthread debugging flags to the right place.
2013-10-31 14:26:46 -07:00
Elliott Hughes
61ec6a621c am cc9b7456: Merge "Move the pthread debugging flags to the right place."
* commit 'cc9b7456b66b7c7c218a9d1f00d7aef1f5ecf409':
  Move the pthread debugging flags to the right place.
2013-10-31 14:25:03 -07:00
Elliott Hughes
cc9b7456b6 Merge "Move the pthread debugging flags to the right place." 2013-10-31 21:23:29 +00:00
Elliott Hughes
66759d6041 Move the pthread debugging flags to the right place.
Change-Id: Ie805bd837d1f72cdf1818e056c0baeb0857e4e84
2013-10-31 14:09:39 -07:00
Elliott Hughes
0f83967545 am ff9b41de: am 5ab8d33a: Upgrade to tzdata2013h.
* commit 'ff9b41de6285961d4c397ae660cf8c11a6508af0':
  Upgrade to tzdata2013h.
2013-10-31 13:53:37 -07:00
Elliott Hughes
ff9b41de62 am 5ab8d33a: Upgrade to tzdata2013h.
* commit '5ab8d33aa64a4ca12172dba92df172f70629874d':
  Upgrade to tzdata2013h.
2013-10-31 13:50:33 -07:00
Elliott Hughes
e0503cca60 am 26e9e3c7: am 1658691e: am 0360e3ab: Merge "<pthread.h> fixes and pthread cleanup."
* commit '26e9e3c76a082ae8b6b06208270c7aaf713d2853':
  <pthread.h> fixes and pthread cleanup.
2013-10-31 13:45:49 -07:00
Elliott Hughes
26e9e3c76a am 1658691e: am 0360e3ab: Merge "<pthread.h> fixes and pthread cleanup."
* commit '1658691e0cfe2eb221bee837649de1907a579a0b':
  <pthread.h> fixes and pthread cleanup.
2013-10-31 13:43:18 -07:00
Elliott Hughes
1658691e0c am 0360e3ab: Merge "<pthread.h> fixes and pthread cleanup."
* commit '0360e3ab2d21d4b4b3d5590765857bef595c0046':
  <pthread.h> fixes and pthread cleanup.
2013-10-31 13:41:00 -07:00
Elliott Hughes
0360e3ab2d Merge "<pthread.h> fixes and pthread cleanup." 2013-10-31 20:36:48 +00:00
Elliott Hughes
c3f114037d <pthread.h> fixes and pthread cleanup.
<pthread.h> was missing nonnull attributes, noreturn on pthread_exit,
and had incorrect cv qualifiers for several standard functions.

I've also marked the non-standard stuff (where I count glibc rather
than POSIX as "standard") so we can revisit this cruft for LP64 and
try to ensure we're compatible with glibc.

I've also broken out the pthread_cond* functions into a new file.

I've made the remaining pthread files (plus ptrace) part of the bionic code
and fixed all the warnings.

I've added a few more smoke tests for chunks of untested pthread functionality.

We no longer need the libc_static_common_src_files hack for any of the
pthread implementation because we long since stripped out the rest of
the armv5 support, and this hack was just to ensure that __get_tls in libc.a
went via the kernel if necessary.

This patch also finishes the job of breaking up the pthread.c monolith, and
adds a handful of new tests.

Change-Id: Idc0ae7f5d8aa65989598acd4c01a874fe21582c7
2013-10-31 12:31:16 -07:00
The Android Automerger
806e92a017 merge in master-release history after reset to master 2013-10-31 07:49:11 -07:00
Elliott Hughes
9685cc4967 am b0b2e29d: am 9be24f71: am d0d0b52d: Merge "Remove an obsolete ARM gdb hack."
* commit 'b0b2e29d4eb252a6136348491b6ed85e3da42216':
  Remove an obsolete ARM gdb hack.
2013-10-30 14:44:18 -07:00
Elliott Hughes
b0b2e29d4e am 9be24f71: am d0d0b52d: Merge "Remove an obsolete ARM gdb hack."
* commit '9be24f71604d4e667bf23d77bb953a29737b3f2d':
  Remove an obsolete ARM gdb hack.
2013-10-30 14:42:59 -07:00
Elliott Hughes
9be24f7160 am d0d0b52d: Merge "Remove an obsolete ARM gdb hack."
* commit 'd0d0b52da375bfa85947a4257198791f615f18a8':
  Remove an obsolete ARM gdb hack.
2013-10-30 14:40:17 -07:00
Elliott Hughes
d0d0b52da3 Merge "Remove an obsolete ARM gdb hack." 2013-10-30 21:37:56 +00:00
Elliott Hughes
b5b97f20a8 Remove an obsolete ARM gdb hack.
Experiment shows that the claim in the makefile was false: gdb works fine
setting breakpoints in these functions when compiled without special treatment.

Change-Id: Ibdf4dd5a14d171c954b8c2089daaf28e1c310be9
2013-10-30 14:32:42 -07:00
The Android Automerger
126bbf028e merge in master-release history after reset to master 2013-10-30 07:49:28 -07:00
Elliott Hughes
7a7380cdad am 0f3973bd: am 6cf34775: am 47a73363: Merge "Factor out some of the makefile cruft."
* commit '0f3973bdb5ad424c7c034c1dcb428b07848155ef':
  Factor out some of the makefile cruft.
2013-10-29 19:21:45 -07:00
Elliott Hughes
0f3973bdb5 am 6cf34775: am 47a73363: Merge "Factor out some of the makefile cruft."
* commit '6cf34775513859dd48b986162e761aff57df82fb':
  Factor out some of the makefile cruft.
2013-10-29 19:18:56 -07:00
Elliott Hughes
6cf3477551 am 47a73363: Merge "Factor out some of the makefile cruft."
* commit '47a73363fcdb88811eedbe484720fb08dc30a995':
  Factor out some of the makefile cruft.
2013-10-29 19:15:37 -07:00
Elliott Hughes
47a73363fc Merge "Factor out some of the makefile cruft." 2013-10-30 02:13:34 +00:00
Elliott Hughes
2b2a5b6139 am 86959493: am ee99ebbc: am 7a8e20c9: Merge "Explain the sigprocmask in pthread_exit."
* commit '8695949391d0d892351bb1b877b44d4171d8bead':
  Explain the sigprocmask in pthread_exit.
2013-10-29 18:36:20 -07:00
Christopher Ferris
7bc9b73a65 am fa088df4: am 4fbd0277: am f084f7dc: Merge "Fix up failing glibc tests."
* commit 'fa088df49ef6508b1e8072a37e67d95b2a4c60f3':
  Fix up failing glibc tests.
2013-10-29 18:36:20 -07:00
Elliott Hughes
8695949391 am ee99ebbc: am 7a8e20c9: Merge "Explain the sigprocmask in pthread_exit."
* commit 'ee99ebbc8f0447880f316a10b2249f813f964172':
  Explain the sigprocmask in pthread_exit.
2013-10-29 18:31:06 -07:00
Christopher Ferris
fa088df49e am 4fbd0277: am f084f7dc: Merge "Fix up failing glibc tests."
* commit '4fbd0277aedd9cf1e81648e9a849c52211a65adf':
  Fix up failing glibc tests.
2013-10-29 18:31:05 -07:00
Elliott Hughes
2f287bc728 Factor out some of the makefile cruft.
I really don't want to add yet another copy for aarch64.

Also sort arm, mips, and x86.

Also silence the "TARGET_ARCH_VARIANT" warning for non-ARM; Intel and MIPS
have both complained about it.

Change-Id: I32c592a90c0cf0cdae250d84035b3e4655543781
2013-10-29 16:59:54 -07:00
Elliott Hughes
ee99ebbc8f am 7a8e20c9: Merge "Explain the sigprocmask in pthread_exit."
* commit '7a8e20c9c7c11b0ef11b718f18be5e2df22edc1a':
  Explain the sigprocmask in pthread_exit.
2013-10-29 16:31:23 -07:00
Elliott Hughes
7a8e20c9c7 Merge "Explain the sigprocmask in pthread_exit." 2013-10-29 23:29:07 +00:00
Elliott Hughes
2b6e43e00e Explain the sigprocmask in pthread_exit.
Also remove the SIGSEGV special case, which was probably because
hand-written __exit_with_stack_teardown stubs used to try to cause
SIGSEGV if the exit system call returned (which it never does, so
that dead code disappeared).

Also move the sigprocmask into the only case where it's necessary ---
the one where we unmap the stack that would be used by a signal
handler.

Change-Id: Ie40d20c1ae2f5e7125131b6b492cba7a2c6d08e9
2013-10-29 16:11:06 -07:00
Christopher Ferris
4fbd0277ae am f084f7dc: Merge "Fix up failing glibc tests."
* commit 'f084f7dc1e4601f96c44eeb422615d7ac742b2d0':
  Fix up failing glibc tests.
2013-10-29 15:35:34 -07:00
Christopher Ferris
f084f7dc1e Merge "Fix up failing glibc tests." 2013-10-29 22:32:33 +00:00
Christopher Ferris
13613137bc Fix up failing glibc tests.
There is a known bug running clone with the CLONE_VM flag, so for host
create an empty test.

Change the expected output of the stdio test for a glibc difference.

Change the pause test to use ScopedSignalHandler to setup/restore the SIGALRM
handler.

After this, running bionic-unit-tests-glibc passes for all tests.

Bug: 11389824

Change-Id: Ib304eae4164115835a54991dfdca5821ecc3db5e
2013-10-29 14:55:11 -07:00
Elliott Hughes
e7c3bbab8d am 5abb9b15: am 3030157f: am 8e6e7cda: Merge "Update <sys/exec_elf.h> to include EM_AARCH64."
* commit '5abb9b15d11c700b8dd58aaa613a72af60c2f1ae':
  Update <sys/exec_elf.h> to include EM_AARCH64.
2013-10-29 08:59:46 -07:00
Elliott Hughes
5abb9b15d1 am 3030157f: am 8e6e7cda: Merge "Update <sys/exec_elf.h> to include EM_AARCH64."
* commit '3030157f82e012612ef4c6d999878be2f65116dd':
  Update <sys/exec_elf.h> to include EM_AARCH64.
2013-10-29 08:57:41 -07:00
Elliott Hughes
3030157f82 am 8e6e7cda: Merge "Update <sys/exec_elf.h> to include EM_AARCH64."
* commit '8e6e7cdadbb4efdeefaa73fe94f7a9a1722745a7':
  Update <sys/exec_elf.h> to include EM_AARCH64.
2013-10-29 08:53:53 -07:00
Elliott Hughes
8e6e7cdadb Merge "Update <sys/exec_elf.h> to include EM_AARCH64." 2013-10-29 15:50:33 +00:00
The Android Automerger
15db5e7a5b merge in master-release history after reset to master 2013-10-29 07:49:29 -07:00
Elliott Hughes
126405039e Update <sys/exec_elf.h> to include EM_AARCH64.
Upstream added the constant for us.

Change-Id: I197e32d2e5b3fd499d069546ccfcc1d35d65e0a0
2013-10-28 21:28:40 -07:00
Elliott Hughes
e5bd139fd8 am bb9a8198: am e89d16d2: am 6e504fda: Merge "AArch64: Add support for AArch64 to stdlib/strtod.c"
* commit 'bb9a819857fdde4a12d57d19912dc4a4d4c6bd21':
  AArch64: Add support for AArch64 to stdlib/strtod.c
2013-10-28 16:41:04 -07:00
Elliott Hughes
bb9a819857 am e89d16d2: am 6e504fda: Merge "AArch64: Add support for AArch64 to stdlib/strtod.c"
* commit 'e89d16d24bb9d07856c7cc95464bfae970f4e847':
  AArch64: Add support for AArch64 to stdlib/strtod.c
2013-10-28 16:36:46 -07:00
Elliott Hughes
6af6c59a89 am 8d729753: am d4e28c23: am 830de5cb: Merge "AArch64: Autogenerated syscalls for AArch64"
* commit '8d7297538c781893b4619fbac50182632d8bc4fb':
  AArch64: Autogenerated syscalls for AArch64
2013-10-28 16:29:16 -07:00
Elliott Hughes
e89d16d24b am 6e504fda: Merge "AArch64: Add support for AArch64 to stdlib/strtod.c"
* commit '6e504fdaff6cb85edca312db56ce79f3477e4db1':
  AArch64: Add support for AArch64 to stdlib/strtod.c
2013-10-28 16:27:37 -07:00
Elliott Hughes
731892a72d am 61f8f7b5: am 48e0ee8a: am 93b7b819: Merge "AArch64: Add support for AArch64 to the syscall interface"
* commit '61f8f7b5106aaca8ae5c797fdf5b6e7e192b61ac':
  AArch64: Add support for AArch64 to the syscall interface
2013-10-28 16:25:53 -07:00
Elliott Hughes
8d7297538c am d4e28c23: am 830de5cb: Merge "AArch64: Autogenerated syscalls for AArch64"
* commit 'd4e28c236b592a4968bff354ad7ad192d5a3f36d':
  AArch64: Autogenerated syscalls for AArch64
2013-10-28 16:25:47 -07:00
Elliott Hughes
6e504fdaff Merge "AArch64: Add support for AArch64 to stdlib/strtod.c" 2013-10-28 23:25:27 +00:00
Serban Constantinescu
65ca282ecd AArch64: Add support for AArch64 to stdlib/strtod.c
This patch adds support for AArch64 to strtod.c definitions.

Change-Id: I9491c4371d921c00e73ae169877a9a71225731fb
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-28 16:24:51 -07:00
Elliott Hughes
d4e28c236b am 830de5cb: Merge "AArch64: Autogenerated syscalls for AArch64"
* commit '830de5cb30ba163f9c34fc87f624d6604adc3232':
  AArch64: Autogenerated syscalls for AArch64
2013-10-28 16:23:14 -07:00
Elliott Hughes
61f8f7b510 am 48e0ee8a: am 93b7b819: Merge "AArch64: Add support for AArch64 to the syscall interface"
* commit '48e0ee8a0900e820b2fb1bae6347e0d39da62096':
  AArch64: Add support for AArch64 to the syscall interface
2013-10-28 16:22:26 -07:00
Elliott Hughes
a6197366df am 87de1a01: am 5911e25b: am 07d3c6ce: Merge "Fix the *rand48 functions on LP64."
* commit '87de1a01546e5c23cab0770eb03ccaa3ffad93c7':
  Fix the *rand48 functions on LP64.
2013-10-28 16:21:28 -07:00
Elliott Hughes
48e0ee8a09 am 93b7b819: Merge "AArch64: Add support for AArch64 to the syscall interface"
* commit '93b7b8191238a8735141ed0f0b1222d8a30be3cc':
  AArch64: Add support for AArch64 to the syscall interface
2013-10-28 16:19:59 -07:00
Elliott Hughes
830de5cb30 Merge "AArch64: Autogenerated syscalls for AArch64" 2013-10-28 23:19:46 +00:00
Elliott Hughes
87de1a0154 am 5911e25b: am 07d3c6ce: Merge "Fix the *rand48 functions on LP64."
* commit '5911e25bfc8ef3815d0e1ab4f5829ff74a523088':
  Fix the *rand48 functions on LP64.
2013-10-28 16:19:02 -07:00
Serban Constantinescu
7f8863dc07 AArch64: Autogenerated syscalls for AArch64
This patch adds AArch64 syscalls, autogenerated using:
        ./libc/tools/gensyscalls.py

Change-Id: I1cc60430423ecb52a35448bf2c358b82136b2f16
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-28 16:18:42 -07:00
Elliott Hughes
93b7b81912 Merge "AArch64: Add support for AArch64 to the syscall interface" 2013-10-28 23:17:23 +00:00
Elliott Hughes
5911e25bfc am 07d3c6ce: Merge "Fix the *rand48 functions on LP64."
* commit '07d3c6cecc8016577c9dbd827e85154c077604da':
  Fix the *rand48 functions on LP64.
2013-10-28 16:16:41 -07:00
Serban Constantinescu
feaa89a1bc AArch64: Add support for AArch64 to the syscall interface
This patch adds support for AArch64 to the syscall interface. The kernel
implementation exports a set of canonical syscalls, therefore some of
the userspace exported syscalls are implemented as stubs based on the
canonical set.

Change-Id: Ia965d71e97769b8be9d7655193fc40303964c4df
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-28 16:16:34 -07:00
Elliott Hughes
07d3c6cecc Merge "Fix the *rand48 functions on LP64." 2013-10-28 23:09:49 +00:00
Elliott Hughes
60fd3450bf Fix the *rand48 functions on LP64.
I reported the mrand48 bug upstream, and 'matt' fixed the whole family
of functions!

Change-Id: I07fbc034e86499ce89599c3026a741738fd0cfc0
2013-10-28 15:24:26 -07:00
Elliott Hughes
c5ed7d4d6a am 85d8536f: am 6ec070a0: am 020bcdae: Merge "Update <sys/exec_elf.h> to get the DF_* flags."
* commit '85d8536f34895a2d18fcc2dcbe7f79d3ed97b58c':
  Update <sys/exec_elf.h> to get the DF_* flags.
2013-10-28 15:09:03 -07:00
Elliott Hughes
85d8536f34 am 6ec070a0: am 020bcdae: Merge "Update <sys/exec_elf.h> to get the DF_* flags."
* commit '6ec070a01509c3477be6d36cd46b81c9b3876733':
  Update <sys/exec_elf.h> to get the DF_* flags.
2013-10-28 15:06:58 -07:00
Elliott Hughes
6ec070a015 am 020bcdae: Merge "Update <sys/exec_elf.h> to get the DF_* flags."
* commit '020bcdaef349b6bd82302a0656fdf9aaff30bdb3':
  Update <sys/exec_elf.h> to get the DF_* flags.
2013-10-28 15:05:49 -07:00
Elliott Hughes
020bcdaef3 Merge "Update <sys/exec_elf.h> to get the DF_* flags." 2013-10-28 22:03:55 +00:00
Elliott Hughes
74ce45972d Update <sys/exec_elf.h> to get the DF_* flags.
Change-Id: Ia9e785f6b95122f94ee3b01a312db1d5bb91a72e
2013-10-28 14:59:41 -07:00
Elliott Hughes
50cadd942c am 92c6e988: am 224aee2f: am 486d99f0: Merge "Don\'t allow text relocations on 64-bit."
* commit '92c6e988cda228f7255c9050dfa9ea10a2082432':
  Don't allow text relocations on 64-bit.
2013-10-28 14:45:08 -07:00
Elliott Hughes
92c6e988cd am 224aee2f: am 486d99f0: Merge "Don\'t allow text relocations on 64-bit."
* commit '224aee2f5cebcccf832c8a204163192bc752c5a1':
  Don't allow text relocations on 64-bit.
2013-10-28 14:41:45 -07:00
Elliott Hughes
224aee2f5c am 486d99f0: Merge "Don\'t allow text relocations on 64-bit."
* commit '486d99f050a609c16641614edc72d71746ce859a':
  Don't allow text relocations on 64-bit.
2013-10-28 14:39:05 -07:00
Elliott Hughes
486d99f050 Merge "Don't allow text relocations on 64-bit." 2013-10-28 21:36:23 +00:00
Elliott Hughes
e4d792adb8 Don't allow text relocations on 64-bit.
I've also updated our <sys/exec_elf.h> to match upstream.

Change-Id: I52f9fce3167541811208d273ff23ceaa112f7135
2013-10-28 14:34:56 -07:00
Elliott Hughes
aa97d508dc am d1c7766a: am e9f6c480: am 3ec5d895: Merge "Fix utime/utimes when passed a NULL pointer."
* commit 'd1c7766aea5a4a6c864f6ad7ac097cf6bc2a587a':
  Fix utime/utimes when passed a NULL pointer.
2013-10-28 13:36:25 -07:00
Elliott Hughes
d1c7766aea am e9f6c480: am 3ec5d895: Merge "Fix utime/utimes when passed a NULL pointer."
* commit 'e9f6c4800816df3acec0d5683667b5aac290f049':
  Fix utime/utimes when passed a NULL pointer.
2013-10-28 13:34:32 -07:00
Elliott Hughes
e9f6c48008 am 3ec5d895: Merge "Fix utime/utimes when passed a NULL pointer."
* commit '3ec5d8954b41f2e51d6ff7851533f1db1eba9a09':
  Fix utime/utimes when passed a NULL pointer.
2013-10-28 13:32:44 -07:00
Elliott Hughes
3ec5d8954b Merge "Fix utime/utimes when passed a NULL pointer." 2013-10-28 20:29:24 +00:00
Elliott Hughes
27586ebe1a Fix utime/utimes when passed a NULL pointer.
Bug: 11383777
Change-Id: If944a42f3adfa8a6ce91c167c249e009ed63300a
2013-10-28 13:21:06 -07:00
Elliott Hughes
2c78f0838d am 8129a36d: am c98827e7: am d4e9f076: Merge "Clean up linker architecture macros."
* commit '8129a36dc68eb17497ebbac823de58716473b4f8':
  Clean up linker architecture macros.
2013-10-28 11:09:54 -07:00
Elliott Hughes
8129a36dc6 am c98827e7: am d4e9f076: Merge "Clean up linker architecture macros."
* commit 'c98827e70ab2a3798f2369a4b5a23e3afc18552c':
  Clean up linker architecture macros.
2013-10-28 11:08:40 -07:00
Elliott Hughes
c98827e70a am d4e9f076: Merge "Clean up linker architecture macros."
* commit 'd4e9f076d621dcf6450acba178e65d63c076ae6e':
  Clean up linker architecture macros.
2013-10-28 11:06:47 -07:00
Elliott Hughes
d4e9f076d6 Merge "Clean up linker architecture macros." 2013-10-28 18:04:22 +00:00
Elliott Hughes
4eeb1f12a8 Clean up linker architecture macros.
We don't need our own architecture macros; the standard ones will do.

This patch also fixes some __x86_64__ tests to be USE_RELA tests instead,
because they're not actually x86_64-specific.

I've cleaned up architecture-specific code slightly so where possible
all the code corresponding to a particular architecture is together.

This patch also fixes a bug in LP64 DT_PLTGOT handling, which should be
an error rather than falling through into DT_DEBUG! There was another #ifdef
bug where we'd only report unexpected DT_ entries on MIPS.

Change-Id: Id1d04e372611f641c1aa278a18e379f28af9eaf5
2013-10-28 11:02:49 -07:00
Elliott Hughes
82eb3539f0 am 7ef84c7d: am d9916301: am f7f6b268: Merge "Upgrade to tzdata2013h."
* commit '7ef84c7d3d191afc96c8d3dc65c885f3cdf6b8c2':
  Upgrade to tzdata2013h.
2013-10-28 10:04:43 -07:00
Elliott Hughes
7ef84c7d3d am d9916301: am f7f6b268: Merge "Upgrade to tzdata2013h."
* commit 'd9916301a926c925439efa3cd1bba53e49f10dfc':
  Upgrade to tzdata2013h.
2013-10-28 10:03:20 -07:00
Elliott Hughes
d9916301a9 am f7f6b268: Merge "Upgrade to tzdata2013h."
* commit 'f7f6b2686d466d695d813593a8b268abdf7ca29d':
  Upgrade to tzdata2013h.
2013-10-28 10:01:51 -07:00
Elliott Hughes
f7f6b2686d Merge "Upgrade to tzdata2013h." 2013-10-28 17:00:16 +00:00
Elliott Hughes
3df3879bd6 Upgrade to tzdata2013h.
From the release notes:

  Changes affecting current and future time stamps:

    Libya has switched its time zone back to UTC+2 without DST,
    instead of UTC+1 with DST.  (Thanks to Even Scharning.)

    Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.
    (Thanks to Gwillim Law.)

  Changes affecting future time stamps:

    Acre and (we guess) western Amazonas will switch from UTC-4 to UTC-5
    on 2013-11-10.  This affects America/Rio_Branco and America/Eirunepe.
    (Thanks to Steffen Thorsen.)

    Add entries for DST transitions in Morocco in the year 2038.
    This avoids some year-2038 glitches introduced in 2013g.
    (Thanks to Yoshito Umaoka for reporting the problem.)

Change-Id: Ic855df19773e3fbf13b941b5bfa91dcee9e181e1
2013-10-28 09:38:00 -07:00
The Android Automerger
0c7f42d96c merge in master-release history after reset to master 2013-10-28 07:49:50 -07:00
Christopher Ferris
1f7088a52e am a9b95baa: am 763fe341: am 93fcfeee: Merge "Update running bionic unit tests on host."
* commit 'a9b95baaced558e10c4dc9f26c0e69e6ab557480':
  Update running bionic unit tests on host.
2013-10-25 10:43:41 -07:00
Christopher Ferris
a9b95baace am 763fe341: am 93fcfeee: Merge "Update running bionic unit tests on host."
* commit '763fe3419c677e28d209ec319f743d65ff0e69c4':
  Update running bionic unit tests on host.
2013-10-25 10:40:26 -07:00
Christopher Ferris
763fe3419c am 93fcfeee: Merge "Update running bionic unit tests on host."
* commit '93fcfeee2b4de4c65fc766bf10601397592341d7':
  Update running bionic unit tests on host.
2013-10-25 10:38:41 -07:00
Christopher Ferris
93fcfeee2b Merge "Update running bionic unit tests on host." 2013-10-25 17:37:02 +00:00
Christopher Ferris
b38e4d536f Update running bionic unit tests on host.
Add a bionic-unit-tests-glibc-run target to run the glibc bionic unit tests.

Modify the bionic-unit-tests-run-on-host to make sure that the /system/bin
directory is created properly.

Also remove the EXTERNAL_STORAGE variable which isn't used any more.

Bug: 11234772
Change-Id: I9aea501d05700b29e938f672474d550b1872a78b
2013-10-25 10:23:12 -07:00
Elliott Hughes
bbd2a6fa4d am 53327463: am 155f5c5f: am ad8fb26a: Merge "Fix the exit syscall stub\'s name."
* commit '5332746383dcfb6d1572451ea895ac301867482a':
  Simplify defining the linker architecture macro.
  Fix the exit syscall stub's name.
2013-10-25 09:31:54 -07:00
Elliott Hughes
5332746383 am 155f5c5f: am ad8fb26a: Merge "Fix the exit syscall stub\'s name."
* commit '155f5c5ff9a86ed5319570ae13cc9a061930b0cb':
  Fix the exit syscall stub's name.
2013-10-25 09:29:38 -07:00
Elliott Hughes
155f5c5ff9 am ad8fb26a: Merge "Fix the exit syscall stub\'s name."
* commit 'ad8fb26aff16b239fd79fd7223435bdae2462f72':
  Fix the exit syscall stub's name.
2013-10-25 09:28:15 -07:00
Elliott Hughes
ad8fb26aff Merge "Fix the exit syscall stub's name." 2013-10-25 16:25:22 +00:00
Elliott Hughes
fbd6776355 am 6b7fc098: am 421e911a: Merge "Simplify defining the linker architecture macro."
* commit '6b7fc098c4f2f9e9683fac119f344e9c890bae1a':
  Simplify defining the linker architecture macro.
2013-10-25 09:06:55 -07:00
Elliott Hughes
6b7fc098c4 am 421e911a: Merge "Simplify defining the linker architecture macro."
* commit '421e911a0bebd24bf197b092d17a3000cfec2c15':
  Simplify defining the linker architecture macro.
2013-10-25 09:04:31 -07:00
Elliott Hughes
421e911a0b Merge "Simplify defining the linker architecture macro." 2013-10-25 16:01:20 +00:00
Elliott Hughes
60d5b06ece Simplify defining the linker architecture macro.
Like the new TODO says, though, do we need this at all? Wouldn't we be better
off just using the regular architecture-specific macros? This is a dynamic
linker, so there's never a possibility of cross-linking.

Change-Id: I7be6b8663f5e585c4024a49aae383430c86a3c1b
2013-10-24 23:18:13 -07:00
Elliott Hughes
6b53c2349a Fix the exit syscall stub's name.
I've left the exit_group syscall as _exit because otherwise we'd have to
convince the compiler that our _exit (which just calls __exit_group) is
actually "noreturn", and it seems like that would be less clean than just
cutting out the middleman.

We'll just have to trust ourselves not to add anything to SYSCALLS.TXT
that ought to be private but that only has a single leading underscore.
Hopefully we can manage that.

Change-Id: Iac47faea9f516186e1774381846c54cafabc4354
2013-10-24 22:41:50 -07:00
Elliott Hughes
7cf6d88f7e am de2df542: am fa262c13: am bbefbf1a: Merge "Use hidden visibility for generated stubs whose names begin with underscores."
* commit 'de2df5421d6b6a36a1bdc6995297cfbe9e706403':
  Use hidden visibility for generated stubs whose names begin with underscores.
2013-10-24 17:30:31 -07:00
Elliott Hughes
de2df5421d am fa262c13: am bbefbf1a: Merge "Use hidden visibility for generated stubs whose names begin with underscores."
* commit 'fa262c13d9115cd84545ad4a0898d18770702e15':
  Use hidden visibility for generated stubs whose names begin with underscores.
2013-10-24 17:26:22 -07:00
Elliott Hughes
4a27075511 am 0a9d0db6: am c2404f6c: am d60a625d: Merge "Start moving 32-bit cruft somewhere it won\'t pollute 64-bit."
* commit '0a9d0db6b33cbd3a0c72ac8f6133a4867e8f228f':
  Start moving 32-bit cruft somewhere it won't pollute 64-bit.
2013-10-24 17:24:25 -07:00
Elliott Hughes
fa262c13d9 am bbefbf1a: Merge "Use hidden visibility for generated stubs whose names begin with underscores."
* commit 'bbefbf1a75052e4c887309299fb4532705aa843d':
  Use hidden visibility for generated stubs whose names begin with underscores.
2013-10-24 17:23:16 -07:00
Elliott Hughes
0a9d0db6b3 am c2404f6c: am d60a625d: Merge "Start moving 32-bit cruft somewhere it won\'t pollute 64-bit."
* commit 'c2404f6c1d29a47c0bc6cdf510c91e43f8a1e424':
  Start moving 32-bit cruft somewhere it won't pollute 64-bit.
2013-10-24 17:22:35 -07:00
Elliott Hughes
bbefbf1a75 Merge "Use hidden visibility for generated stubs whose names begin with underscores." 2013-10-25 00:20:24 +00:00
Elliott Hughes
c2404f6c1d am d60a625d: Merge "Start moving 32-bit cruft somewhere it won\'t pollute 64-bit."
* commit 'd60a625dd5e544fb49056d864898ff82bca99950':
  Start moving 32-bit cruft somewhere it won't pollute 64-bit.
2013-10-24 17:19:54 -07:00
Elliott Hughes
d60a625dd5 Merge "Start moving 32-bit cruft somewhere it won't pollute 64-bit." 2013-10-25 00:18:15 +00:00
Elliott Hughes
567a8de3ca Start moving 32-bit cruft somewhere it won't pollute 64-bit.
Change-Id: I03a6a50a5243f29e50fb58a3cf8b5e7198640baa
2013-10-24 17:14:55 -07:00
Elliott Hughes
fff6e272e9 Use hidden visibility for generated stubs whose names begin with underscores.
Change-Id: Idb39fd04b7a14114801624e744e76e0e7913d951
2013-10-24 17:03:20 -07:00
Elliott Hughes
9b22fc2d81 am c55f980d: am 4b832714: am 97288549: Merge "Let the compiler worry about implementing ffs(3)."
* commit 'c55f980d23a62f2b9603c1dfdbc10d3698f9c1ed':
  Let the compiler worry about implementing ffs(3).
2013-10-24 16:46:19 -07:00
Elliott Hughes
c1c14336cd am 322ae56a: am 0c4778d8: am a1b9f0d4: Merge "Revert "Don\'t warn about x86 text relocations. They\'re too prevalent.""
* commit '322ae56a95fd2770dcfcc26f773157d62e24f30f':
  Revert "Don't warn about x86 text relocations. They're too prevalent."
2013-10-24 16:46:18 -07:00
Elliott Hughes
c55f980d23 am 4b832714: am 97288549: Merge "Let the compiler worry about implementing ffs(3)."
* commit '4b83271437727fcc2b2400b5c81dc4d3cbb7391e':
  Let the compiler worry about implementing ffs(3).
2013-10-24 16:41:34 -07:00
Elliott Hughes
322ae56a95 am 0c4778d8: am a1b9f0d4: Merge "Revert "Don\'t warn about x86 text relocations. They\'re too prevalent.""
* commit '0c4778d8a24aa21367a23475e598f51214fb0fc3':
  Revert "Don't warn about x86 text relocations. They're too prevalent."
2013-10-24 16:41:32 -07:00
Elliott Hughes
4b83271437 am 97288549: Merge "Let the compiler worry about implementing ffs(3)."
* commit '972885499255a9368e96332f9da0d28b2436d042':
  Let the compiler worry about implementing ffs(3).
2013-10-24 16:37:27 -07:00
Elliott Hughes
9728854992 Merge "Let the compiler worry about implementing ffs(3)." 2013-10-24 23:35:51 +00:00
Elliott Hughes
bf425680e4 Let the compiler worry about implementing ffs(3).
It does at least as good a job as our old hand-written assembly anyway.

Change-Id: If7c4a1ac508bace0b71ee7b67808caa6eabf11d2
2013-10-24 16:29:40 -07:00
Elliott Hughes
0c4778d8a2 am a1b9f0d4: Merge "Revert "Don\'t warn about x86 text relocations. They\'re too prevalent.""
* commit 'a1b9f0d4436fea551f641ad02d49610fb5eab0f0':
  Revert "Don't warn about x86 text relocations. They're too prevalent."
2013-10-24 16:10:20 -07:00
Elliott Hughes
a1b9f0d443 Merge "Revert "Don't warn about x86 text relocations. They're too prevalent."" 2013-10-24 23:05:24 +00:00
Elliott Hughes
fe489d6ad6 am 557a5e08: am e4ab1b67: am f8dfb6f2: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls."
* commit '557a5e08c6d176ed142362243b62e1fc9619f7f3':
  Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
2013-10-24 15:59:06 -07:00
Elliott Hughes
b8b0b6b412 Revert "Don't warn about x86 text relocations. They're too prevalent."
This reverts commit 5be2c5998c996ff9d5efb94c127d9b832a295822.

Change-Id: I3fc8ca530cdbd74c834fb9cfabe812c9386419fc
2013-10-24 22:58:28 +00:00
Elliott Hughes
557a5e08c6 am e4ab1b67: am f8dfb6f2: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls."
* commit 'e4ab1b6795e325fe346c792e6254592a8db16d4e':
  Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
2013-10-24 15:56:17 -07:00
Elliott Hughes
e4ab1b6795 am f8dfb6f2: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls."
* commit 'f8dfb6f249da6fc9c91cc8b94fa28c19e598faa6':
  Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
2013-10-24 15:53:10 -07:00
Elliott Hughes
f8dfb6f249 Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls." 2013-10-24 22:49:49 +00:00
Elliott Hughes
11952073af Remove dependencies on obsolete __ARCH_WANT_SYSCALL_DEPRECATED system calls.
(aarch64 kernels don't have these system calls.)

Change-Id: I6f64075aa412f71520f2df71c3d69b647f91c1ca
2013-10-24 15:48:32 -07:00
The Android Automerger
c3ae20360d merge in master-release history after reset to master 2013-10-24 07:50:22 -07:00
Ben Cheng
614196315d am 112b7088: am 8b113f75: am fcb37b87: Merge "Add __EXPORTED_HEADERS__ as predefined macro."
* commit '112b7088e7cfcda512793bd50476853dac1d8df9':
  Add __EXPORTED_HEADERS__ as predefined macro.
2013-10-23 15:57:01 -07:00
Ben Cheng
112b7088e7 am 8b113f75: am fcb37b87: Merge "Add __EXPORTED_HEADERS__ as predefined macro."
* commit '8b113f75b3e3835da00d0af61f033410fc29a8ca':
  Add __EXPORTED_HEADERS__ as predefined macro.
2013-10-23 15:54:04 -07:00
Ben Cheng
8b113f75b3 am fcb37b87: Merge "Add __EXPORTED_HEADERS__ as predefined macro."
* commit 'fcb37b876e3589e8a749610cd8228ed9f6020f44':
  Add __EXPORTED_HEADERS__ as predefined macro.
2013-10-23 15:50:45 -07:00
Ben Cheng
fcb37b876e Merge "Add __EXPORTED_HEADERS__ as predefined macro." 2013-10-23 22:47:21 +00:00
Ben Cheng
460fa7033b Add __EXPORTED_HEADERS__ as predefined macro.
To weed out stuff like this in uapi/linux/types.h

ifndef __EXPORTED_HEADERS__
warning "Attempt to use kernel headers from user space, see
http://kernelnewbies.org/KernelHeaders"
endif /* __EXPORTED_HEADERS__ */

Change-Id: I6506cea6248f7a3b44a839b98e91bdd0d3a6c4cd
2013-10-23 14:44:38 -07:00
Elliott Hughes
ab19f027fa am dc57fe33: am 7b9aa1a3: am 9098344a: Merge "Don\'t warn about x86 text relocations. They\'re too prevalent."
* commit 'dc57fe3389a532824d1a1197dc0d6fac3dbc8fd0':
  Don't warn about x86 text relocations. They're too prevalent.
2013-10-23 14:05:47 -07:00
Elliott Hughes
dc57fe3389 am 7b9aa1a3: am 9098344a: Merge "Don\'t warn about x86 text relocations. They\'re too prevalent."
* commit '7b9aa1a3e7fd3e42782b10965b9e5cde6a17b74c':
  Don't warn about x86 text relocations. They're too prevalent.
2013-10-23 14:04:07 -07:00
Elliott Hughes
7b9aa1a3e7 am 9098344a: Merge "Don\'t warn about x86 text relocations. They\'re too prevalent."
* commit '9098344afe98ace7b9f7af8898c02d267f1335a5':
  Don't warn about x86 text relocations. They're too prevalent.
2013-10-23 14:01:58 -07:00
Elliott Hughes
9098344afe Merge "Don't warn about x86 text relocations. They're too prevalent." 2013-10-23 20:58:38 +00:00
Elliott Hughes
5be2c5998c Don't warn about x86 text relocations. They're too prevalent.
We should fix this (and disallow it for x86_64), but for now let's get CTS
running again.

libdvm.so and libcutils.so are the main problems.

$ scanelf -qT out/target/product/generic_x86/symbols/system/lib/libcutils.so
  libcutils.so: (memory/data?) [0x4125] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x424F] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x42F8] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x4349] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x4406] in (optimized out: previous android_memset16) [0x4100]
  libcutils.so: (memory/data?) [0x45AC] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x4650] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x46F9] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x474A] in (optimized out: previous android_memset32) [0x4590]
  libcutils.so: (memory/data?) [0x4807] in (optimized out: previous android_memset32) [0x4590]

Bug: 11353056
Change-Id: Id4a76b310be7fe858a8a60d0d260b09913b66be9
2013-10-23 13:45:01 -07:00
Elliott Hughes
b073112ea0 am 977f91f5: am ae61f49b: am cdac5f73: Merge "MIPS\' pipe(2) is weird, but MIPS\' pipe2(2) is the same as everyone else\'s."
* commit '977f91f5bf9011dcde7822004401d71070ff08f7':
  MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's.
2013-10-23 11:37:45 -07:00
Elliott Hughes
77ec304825 am c410e75c: am 0e1faa2e: am 1370854c: Merge "Fix header file dependencies."
* commit 'c410e75c680b256a3590588ff1a53e8f5e5ccb6b':
  Fix header file dependencies.
2013-10-23 11:37:44 -07:00
Elliott Hughes
977f91f5bf am ae61f49b: am cdac5f73: Merge "MIPS\' pipe(2) is weird, but MIPS\' pipe2(2) is the same as everyone else\'s."
* commit 'ae61f49b130e65997750f4ffb84f22512e055c5f':
  MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's.
2013-10-23 11:33:24 -07:00
Elliott Hughes
c410e75c68 am 0e1faa2e: am 1370854c: Merge "Fix header file dependencies."
* commit '0e1faa2e00a4f1d4508b26a6411ac1daa1ce8b6d':
  Fix header file dependencies.
2013-10-23 11:33:23 -07:00
Elliott Hughes
ae61f49b13 am cdac5f73: Merge "MIPS\' pipe(2) is weird, but MIPS\' pipe2(2) is the same as everyone else\'s."
* commit 'cdac5f73aca015287d1f40ff50d4fbf293a0c549':
  MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's.
2013-10-23 11:30:08 -07:00
Elliott Hughes
0e1faa2e00 am 1370854c: Merge "Fix header file dependencies."
* commit '1370854cc0a4aa652213e44d4a8b268fe614c11f':
  Fix header file dependencies.
2013-10-23 11:30:07 -07:00
Elliott Hughes
cdac5f73ac Merge "MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's." 2013-10-23 18:27:35 +00:00
Elliott Hughes
1370854cc0 Merge "Fix header file dependencies." 2013-10-23 18:27:01 +00:00
Elliott Hughes
93de3d881d Fix header file dependencies.
MIPS' asm/fcntl.h assumes a bunch of __kernel_* types are already declared.

Change-Id: Iff701bbb5ede9667a78230c2de3a8f4fe41371c5
2013-10-23 11:25:54 -07:00
Elliott Hughes
b8cf18b4dd MIPS' pipe(2) is weird, but MIPS' pipe2(2) is the same as everyone else's.
arch/mips/kernel/syscall.c has a special sysm_pipe wrapper, but there's
no special treatment of pipe2 because it carries no historical baggage.

Change-Id: I892c0f690b21992c8a48276a9b732126f18fc0ee
2013-10-23 11:21:36 -07:00
Elliott Hughes
9aeb183d65 am 623fcf1e: am db7f8eb0: am 97dc3309: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls."
* commit '623fcf1e98ba08e2608cfd500cd3aeb9076f72cd':
  Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.
2013-10-23 10:38:59 -07:00
Elliott Hughes
623fcf1e98 am db7f8eb0: am 97dc3309: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls."
* commit 'db7f8eb011db18c69ec872823906e5f9660deaf7':
  Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.
2013-10-23 10:34:03 -07:00
Elliott Hughes
db7f8eb011 am 97dc3309: Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls."
* commit '97dc3309f3d403c391581444ad656c2f3c61303d':
  Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.
2013-10-23 10:30:15 -07:00
Elliott Hughes
97dc3309f3 Merge "Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls." 2013-10-23 17:26:40 +00:00
Elliott Hughes
cac7b9d6ec Remove dependencies on obsolete __ARCH_WANT_SYSCALL_NO_FLAGS syscalls.
(aarch64 kernels only have the newer system calls.)

Also expose the new functionality that's exposed by glibc in our header files.

Change-Id: I45d2d168a03f88723d1f7fbf634701006a4843c5
2013-10-23 09:48:29 -07:00
The Android Automerger
10719712eb merge in master-release history after reset to master 2013-10-23 07:49:57 -07:00
Elliott Hughes
56de165481 am e514d2fe: resolved conflicts for merge of 1dbf56aa to klp-dev-plus-aosp
* commit 'e514d2fe6646b89d49037853cf4d6c4232110d18':
  Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls.
2013-10-22 16:43:50 -07:00
Elliott Hughes
e514d2fe66 resolved conflicts for merge of 1dbf56aa to klp-dev-plus-aosp
Change-Id: Ia1d1467065320941d6dc3a50f7ea85eb4dbf3841
2013-10-22 16:41:42 -07:00
Elliott Hughes
1dbf56aab5 am ec40edc9: Merge "Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls."
* commit 'ec40edc9188aebe5207e47c0a66e89e1ed368bd6':
  Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls.
2013-10-22 16:34:20 -07:00
Elliott Hughes
ec40edc918 Merge "Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls." 2013-10-22 23:32:25 +00:00
Elliott Hughes
f8fcfbc85a Move away from the __ARCH_WANT_SYSCALL_NO_AT system calls.
Modern architectures only get the *at(2) system calls. For example,
aarch64 doesn't have open(2), and expects userspace to use openat(2)
instead.

Change-Id: I87b4ed79790cb8a80844f5544ac1a13fda26c7b5
2013-10-22 16:31:01 -07:00
Elliott Hughes
85421c64d7 am 0775b1da: am 3f0505cc: am f0ed9bf2: Merge "AArch64: Fix definitions for STDINT_LIMITS"
* commit '0775b1dae8b9927c67064734f48ae3dc25ed1f8a':
  AArch64: Fix definitions for STDINT_LIMITS
2013-10-22 12:49:20 -07:00
Elliott Hughes
0775b1dae8 am 3f0505cc: am f0ed9bf2: Merge "AArch64: Fix definitions for STDINT_LIMITS"
* commit '3f0505cc87ff452f79842ab14aef44d0e4e1a2f2':
  AArch64: Fix definitions for STDINT_LIMITS
2013-10-22 12:46:55 -07:00
Elliott Hughes
3f0505cc87 am f0ed9bf2: Merge "AArch64: Fix definitions for STDINT_LIMITS"
* commit 'f0ed9bf2537e861ae75e6ab71efb4b4722ad0eee':
  AArch64: Fix definitions for STDINT_LIMITS
2013-10-22 12:43:35 -07:00
Elliott Hughes
f0ed9bf253 Merge "AArch64: Fix definitions for STDINT_LIMITS" 2013-10-22 19:41:26 +00:00
Serban Constantinescu
debc021491 AArch64: Fix definitions for STDINT_LIMITS
This patches fixes the definitions for STDINT_LIMITS on __LP64__
systems.

Change-Id: I5eb1664e9ef7c303432a2b041c99cec663816b75
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-22 12:40:16 -07:00
Nick Kralevich
7bf961755c am 52185f37: am b8280db7: am 1756f5a4: Merge "change wording on text relocation message."
* commit '52185f37aefbb8be138c1c87ed46bd31807cdcfb':
  change wording on text relocation message.
2013-10-22 12:39:43 -07:00
Nick Kralevich
52185f37ae am b8280db7: am 1756f5a4: Merge "change wording on text relocation message."
* commit 'b8280db78b9b6db8851f12d26c49d27179d44366':
  change wording on text relocation message.
2013-10-22 12:37:03 -07:00
Nick Kralevich
b8280db78b am 1756f5a4: Merge "change wording on text relocation message."
* commit '1756f5a422446237945682c8811587a29d56fdef':
  change wording on text relocation message.
2013-10-22 12:32:04 -07:00
Nick Kralevich
1756f5a422 Merge "change wording on text relocation message." 2013-10-22 19:28:50 +00:00
Elliott Hughes
c93450f6b0 am 081b40f3: am 550ccc2e: am 8c39e58b: Merge "Make sure we have a mkfifo symbol."
* commit '081b40f378f915c8fe342b6e0b21a023601b281f':
  Make sure we have a mkfifo symbol.
2013-10-22 12:12:23 -07:00
Elliott Hughes
ecf42a5dec am 65104ba5: am 9805f3ec: am 23148470: Merge "AArch64: Fix uses of stack size for 32/64bit libc builds"
* commit '65104ba5332381bdafb3dd3ddcaad7752cd45e02':
  AArch64: Fix uses of stack size for 32/64bit libc builds
2013-10-22 12:12:22 -07:00
Elliott Hughes
081b40f378 am 550ccc2e: am 8c39e58b: Merge "Make sure we have a mkfifo symbol."
* commit '550ccc2e20cb1998a959a7abb24f5ec382a93192':
  Make sure we have a mkfifo symbol.
2013-10-22 12:08:51 -07:00
Elliott Hughes
65104ba533 am 9805f3ec: am 23148470: Merge "AArch64: Fix uses of stack size for 32/64bit libc builds"
* commit '9805f3ec5b4ebfbe892e79a086c7d23a0bd393cf':
  AArch64: Fix uses of stack size for 32/64bit libc builds
2013-10-22 12:08:50 -07:00
Nick Kralevich
3d4470c14a change wording on text relocation message.
The current message is too alarmist.

Change-Id: I53e8eadca239f867b4e6b9c193eba96e267950c3
2013-10-22 12:06:36 -07:00
Elliott Hughes
550ccc2e20 am 8c39e58b: Merge "Make sure we have a mkfifo symbol."
* commit '8c39e58b6a6744c5e7ae08424a6281d75af23072':
  Make sure we have a mkfifo symbol.
2013-10-22 12:05:23 -07:00
Elliott Hughes
9805f3ec5b am 23148470: Merge "AArch64: Fix uses of stack size for 32/64bit libc builds"
* commit '231484705bea118259200da6019722a026021f4b':
  AArch64: Fix uses of stack size for 32/64bit libc builds
2013-10-22 12:05:22 -07:00
Elliott Hughes
8c39e58b6a Merge "Make sure we have a mkfifo symbol." 2013-10-22 19:03:57 +00:00
Elliott Hughes
594b1a4af2 Make sure we have a mkfifo symbol.
Bug: https://code.google.com/p/android/issues/detail?id=58888
Change-Id: Ic0a883a5f30beb82cb7be3c4e81b6d693d5fbb4d
2013-10-22 12:03:19 -07:00
Elliott Hughes
231484705b Merge "AArch64: Fix uses of stack size for 32/64bit libc builds" 2013-10-22 19:02:29 +00:00
Serban Constantinescu
7f70c9b64e AArch64: Fix uses of stack size for 32/64bit libc builds
This patch fixes stack size uses to size_t.

Change-Id: I0671c85ddb1c1aceaf9440a7c73c21fe528653fa
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
2013-10-22 12:01:29 -07:00
The Android Automerger
6658859384 merge in master-release history after reset to master 2013-10-22 07:49:23 -07:00
Elliott Hughes
db33f095b7 am 5f985ebb: am a5826391: am 393484ab: Merge "Fix statvfs tests for the host."
* commit '5f985ebb1b68b8666b2f0e65e97d5a4718980ca3':
  Fix statvfs tests for the host.
2013-10-21 20:19:12 -07:00
Elliott Hughes
5f985ebb1b am a5826391: am 393484ab: Merge "Fix statvfs tests for the host."
* commit 'a5826391e9afafcb688c103282a30254928f61f3':
  Fix statvfs tests for the host.
2013-10-21 20:16:54 -07:00
Elliott Hughes
a5826391e9 am 393484ab: Merge "Fix statvfs tests for the host."
* commit '393484ab358040243793375e1525da083008e78e':
  Fix statvfs tests for the host.
2013-10-21 20:14:07 -07:00
Elliott Hughes
393484ab35 Merge "Fix statvfs tests for the host." 2013-10-22 03:12:24 +00:00
Elliott Hughes
3d305f1d62 Fix statvfs tests for the host.
Using /proc seems like a better idea because it's more similar across devices.
I've switched to ensuring we check the initial and final elements in the struct
too, so we have more reason to believe the whole struct is converted correctly.

Change-Id: Ia23403369485747c1452292f6c9df2bb233c04fb
2013-10-21 19:27:19 -07:00
Elliott Hughes
54c8129144 am c6557e3c: am f777c50a: am c284d47c: Merge "Fix the system property tests to use ."
* commit 'c6557e3c835fb096435994d70675c77de30204b3':
  Fix the system property tests to use $ANDROID_DATA.
2013-10-21 17:48:47 -07:00
Elliott Hughes
783ed81e1a am 41c28741: am dcc3a211: am 9d4b67ea: Merge "Fix 16-byte stack alignment requirement for x86_64 ABI"
* commit '41c28741381d8fbfcc882a7ef5eebec1b172b372':
  Fix 16-byte stack alignment requirement for x86_64 ABI
2013-10-21 17:48:47 -07:00
Elliott Hughes
c6557e3c83 am f777c50a: am c284d47c: Merge "Fix the system property tests to use ."
* commit 'f777c50a7130271ed6fefa9bd2bae78be998f4b0':
  Fix the system property tests to use $ANDROID_DATA.
2013-10-21 17:45:21 -07:00
Elliott Hughes
41c2874138 am dcc3a211: am 9d4b67ea: Merge "Fix 16-byte stack alignment requirement for x86_64 ABI"
* commit 'dcc3a211bade2f2413a689c8d273084cac516a72':
  Fix 16-byte stack alignment requirement for x86_64 ABI
2013-10-21 17:45:20 -07:00
Elliott Hughes
f777c50a71 am c284d47c: Merge "Fix the system property tests to use ."
* commit 'c284d47c57973f7dde1d2f5cc33074050203a5d3':
  Fix the system property tests to use $ANDROID_DATA.
2013-10-21 17:42:00 -07:00
Elliott Hughes
dcc3a211ba am 9d4b67ea: Merge "Fix 16-byte stack alignment requirement for x86_64 ABI"
* commit '9d4b67ea16ad62089da4950d1ccc1b078ebe5adb':
  Fix 16-byte stack alignment requirement for x86_64 ABI
2013-10-21 17:42:00 -07:00
Elliott Hughes
c284d47c57 Merge "Fix the system property tests to use $ANDROID_DATA." 2013-10-22 00:40:46 +00:00
Elliott Hughes
e4375196d6 Fix the system property tests to use $ANDROID_DATA.
This lets them work on the host.

Change-Id: I771ccc67652ae37451b45859c7831116cd830086
2013-10-21 17:40:15 -07:00
Elliott Hughes
9d4b67ea16 Merge "Fix 16-byte stack alignment requirement for x86_64 ABI" 2013-10-22 00:38:37 +00:00
Pavel Chupin
33a209e575 Fix 16-byte stack alignment requirement for x86_64 ABI
Change-Id: I43304803ac54c8688c61688bd96c7160614172d4
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-21 17:36:28 -07:00
Elliott Hughes
8c108ea7fb am 16ac7c4d: am 1d8c8b6a: am f4ac8ba5: Merge "Fix the x86_64 vfork implementation."
* commit '16ac7c4d97b31483d176b3cc623b66ddb659567f':
  Fix the x86_64 vfork implementation.
2013-10-21 14:30:24 -07:00
Elliott Hughes
829730274d am f1a93bf7: am 8173b001: am ac5d29fe: Merge "Fix the x86_64 clone implementation."
* commit 'f1a93bf7dac6794c1b5e9c1fad6bde805f05b9ce':
  Fix the x86_64 clone implementation.
2013-10-21 14:30:23 -07:00
Elliott Hughes
16ac7c4d97 am 1d8c8b6a: am f4ac8ba5: Merge "Fix the x86_64 vfork implementation."
* commit '1d8c8b6a9ef0100f2f17ef1b6f4d145163b22ed0':
  Fix the x86_64 vfork implementation.
2013-10-21 14:27:21 -07:00
Elliott Hughes
f1a93bf7da am 8173b001: am ac5d29fe: Merge "Fix the x86_64 clone implementation."
* commit '8173b00125bc0bdeda09d9b9d4f34a2f82b66016':
  Fix the x86_64 clone implementation.
2013-10-21 14:27:20 -07:00
Elliott Hughes
1d8c8b6a9e am f4ac8ba5: Merge "Fix the x86_64 vfork implementation."
* commit 'f4ac8ba566d80679ccc346b3b0af4b46d394319b':
  Fix the x86_64 vfork implementation.
2013-10-21 14:24:12 -07:00
Elliott Hughes
8173b00125 am ac5d29fe: Merge "Fix the x86_64 clone implementation."
* commit 'ac5d29fee838a1b18c3f2d02de146f98a2d95db7':
  Fix the x86_64 clone implementation.
2013-10-21 14:24:12 -07:00
Elliott Hughes
f4ac8ba566 Merge "Fix the x86_64 vfork implementation." 2013-10-21 21:20:51 +00:00
Elliott Hughes
ac5d29fee8 Merge "Fix the x86_64 clone implementation." 2013-10-21 21:19:58 +00:00
The Android Automerger
1007923b26 merge in master-release history after reset to master 2013-10-21 07:50:31 -07:00
Elliott Hughes
53bfdae4ff Fix the x86_64 clone implementation.
Change-Id: Ia75f46dcb4d3222049e9a6a6fabc2b17223b47f7
2013-10-18 19:39:09 -07:00
Elliott Hughes
9ea4d5f3a8 Fix the x86_64 vfork implementation.
Change-Id: I599507f5058e6196dc2d5b5653d06d5135dd8ac1
2013-10-18 18:21:11 -07:00
Elliott Hughes
00b879409a am 68248e2f: am 013afce9: am a5bab412: Merge "Fix struct statfs for LP64."
* commit '68248e2fecb6c18a2962e1705ab5f286f3986567':
  Fix struct statfs for LP64.
2013-10-18 17:42:15 -07:00
Elliott Hughes
68248e2fec am 013afce9: am a5bab412: Merge "Fix struct statfs for LP64."
* commit '013afce94f1195218531f3da6f3e25f4526dddf4':
  Fix struct statfs for LP64.
2013-10-18 17:39:18 -07:00
Elliott Hughes
013afce94f am a5bab412: Merge "Fix struct statfs for LP64."
* commit 'a5bab412e0bcb4f9e449d594330819c321cf18ad':
  Fix struct statfs for LP64.
2013-10-18 17:37:03 -07:00
Elliott Hughes
a5bab412e0 Merge "Fix struct statfs for LP64." 2013-10-19 00:35:49 +00:00
Elliott Hughes
e359788dc4 am 7d0204b6: am f7de5d57: am 25269b88: Merge "Fix the time unit tests for systems with 64-bit time_t."
* commit '7d0204b68538bc646b6ab9cfbef99736d8144ddc':
  Fix the time unit tests for systems with 64-bit time_t.
2013-10-18 17:00:27 -07:00
Elliott Hughes
c7fdee72dd Fix struct statfs for LP64.
Change-Id: I9649d881588931a1d672b65ddcf94009daadb0ef
2013-10-18 17:00:11 -07:00
Elliott Hughes
7d0204b685 am f7de5d57: am 25269b88: Merge "Fix the time unit tests for systems with 64-bit time_t."
* commit 'f7de5d57732d67f967243bea5e01f6da6be5f517':
  Fix the time unit tests for systems with 64-bit time_t.
2013-10-18 16:59:10 -07:00
Elliott Hughes
f7de5d5773 am 25269b88: Merge "Fix the time unit tests for systems with 64-bit time_t."
* commit '25269b88749061ff80e8a97b738e4bf6bc7e829a':
  Fix the time unit tests for systems with 64-bit time_t.
2013-10-18 16:57:03 -07:00
Elliott Hughes
25269b8874 Merge "Fix the time unit tests for systems with 64-bit time_t." 2013-10-18 23:53:03 +00:00
Elliott Hughes
0c40152767 Fix the time unit tests for systems with 64-bit time_t.
Change-Id: I29df50b25d022c1c00906e71b612defa58e46e81
2013-10-18 16:21:54 -07:00
Elliott Hughes
d80dc4c031 am f00e772b: am 63e118b7: am d0402acd: Merge "x86_64: Fix bionic tests build-and-run"
* commit 'f00e772b25e15761e2205c7cdaa4cf2188ab014e':
  x86_64: Fix bionic tests build-and-run
2013-10-18 15:13:31 -07:00
Elliott Hughes
f00e772b25 am 63e118b7: am d0402acd: Merge "x86_64: Fix bionic tests build-and-run"
* commit '63e118b7dbadb49037cd20f8355e27fe4ac20f3b':
  x86_64: Fix bionic tests build-and-run
2013-10-18 15:11:33 -07:00
Elliott Hughes
63e118b7db am d0402acd: Merge "x86_64: Fix bionic tests build-and-run"
* commit 'd0402acdc76e1ea412085b3b633f5ae798022350':
  x86_64: Fix bionic tests build-and-run
2013-10-18 15:09:12 -07:00
Elliott Hughes
d0402acdc7 Merge "x86_64: Fix bionic tests build-and-run" 2013-10-18 22:07:03 +00:00
Pavel Chupin
17558dec7f x86_64: Fix bionic tests build-and-run
Change-Id: Iab48362893a212afbcbc362fdfaff5bfa5b55259
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-18 15:04:19 -07:00
Elliott Hughes
ae2639c857 am ceb6832c: am 7d604133: am e3cc1555: Merge "Fix some test assumptions that are wrong for __LP64__."
* commit 'ceb6832ca071002e040fab5c1aa0718e030dc3b4':
  Fix some test assumptions that are wrong for __LP64__.
2013-10-18 13:39:48 -07:00
Elliott Hughes
ceb6832ca0 am 7d604133: am e3cc1555: Merge "Fix some test assumptions that are wrong for __LP64__."
* commit '7d604133770ae3d9da84737a527907a94683fe21':
  Fix some test assumptions that are wrong for __LP64__.
2013-10-18 13:36:22 -07:00
Elliott Hughes
1243c04c00 am 2fa423f4: am c54e7b8d: am 79f79c90: Merge "x86_64: Fix sys/stat.h"
* commit '2fa423f49fb70e3ab60eb61e813273e66b757ce6':
  x86_64: Fix sys/stat.h
2013-10-18 13:33:57 -07:00
Elliott Hughes
7d60413377 am e3cc1555: Merge "Fix some test assumptions that are wrong for __LP64__."
* commit 'e3cc1555f6e478109cc3b648f41d4039efc0fdcc':
  Fix some test assumptions that are wrong for __LP64__.
2013-10-18 13:32:42 -07:00
Elliott Hughes
2fa423f49f am c54e7b8d: am 79f79c90: Merge "x86_64: Fix sys/stat.h"
* commit 'c54e7b8d30e18eb9fd5320f10707fd57cf831576':
  x86_64: Fix sys/stat.h
2013-10-18 13:31:41 -07:00
Elliott Hughes
c54e7b8d30 am 79f79c90: Merge "x86_64: Fix sys/stat.h"
* commit '79f79c907f03ff71f800ae2b7a4a00dfb64f0538':
  x86_64: Fix sys/stat.h
2013-10-18 13:29:18 -07:00
Elliott Hughes
e3cc1555f6 Merge "Fix some test assumptions that are wrong for __LP64__." 2013-10-18 20:28:22 +00:00
Elliott Hughes
79f79c907f Merge "x86_64: Fix sys/stat.h" 2013-10-18 20:25:09 +00:00
Pavel Chupin
f68fac8c00 x86_64: Fix sys/stat.h
Add 64-bit stat structure mapping 64-bit stat syscall.

Change-Id: Ice517616391bee1d556b6c03e7f5ee610050e6c6
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-18 13:24:25 -07:00
Elliott Hughes
925753aa11 Fix some test assumptions that are wrong for __LP64__.
Change-Id: Ic79cd5858ceb611640a76bd03f3da4925d3150d9
2013-10-18 13:17:18 -07:00
Elliott Hughes
d9ae60f7db am b13ad7a8: am b956f3ce: am e9797ac6: Merge "Fix clone.S for x86_64."
* commit 'b13ad7a8bee9e45e44fa5aaeb5d523a9029ea0ac':
  Fix clone.S for x86_64.
2013-10-17 23:01:12 -07:00
Elliott Hughes
b13ad7a8be am b956f3ce: am e9797ac6: Merge "Fix clone.S for x86_64."
* commit 'b956f3ce7a9b4d1d8a15d6debcd36f09e2ef4aa6':
  Fix clone.S for x86_64.
2013-10-17 22:58:23 -07:00
Elliott Hughes
b956f3ce7a am e9797ac6: Merge "Fix clone.S for x86_64."
* commit 'e9797ac6756481c0c219eb6b99f9062fd6dfb770':
  Fix clone.S for x86_64.
2013-10-17 22:56:03 -07:00
Elliott Hughes
e9797ac675 Merge "Fix clone.S for x86_64." 2013-10-18 05:54:28 +00:00
Elliott Hughes
938f38daee Fix clone.S for x86_64.
We need to pull the arguments off the child stack and put them into the
registers they're expected to be in.

Change-Id: I064b3258cdd89d513c632857cabb46e52492af2b
2013-10-17 22:22:31 -07:00
Elliott Hughes
d3e3b76c18 am 05c33a59: am 0c72ebc9: am 8ea34537: Merge "Add missing aliases for off64_t functions in 64-bit land."
* commit '05c33a59b91578791926bd6aba42aa733b6cc170':
  Add missing aliases for off64_t functions in 64-bit land.
2013-10-17 21:51:41 -07:00
Elliott Hughes
05c33a59b9 am 0c72ebc9: am 8ea34537: Merge "Add missing aliases for off64_t functions in 64-bit land."
* commit '0c72ebc9a1836ce9dda6e28e6b8117b4651e7c8e':
  Add missing aliases for off64_t functions in 64-bit land.
2013-10-17 21:48:24 -07:00
Elliott Hughes
0c72ebc9a1 am 8ea34537: Merge "Add missing aliases for off64_t functions in 64-bit land."
* commit '8ea3453719854fe9eba4cdc32e2b42d904ab1aea':
  Add missing aliases for off64_t functions in 64-bit land.
2013-10-17 21:45:28 -07:00
Elliott Hughes
8ea3453719 Merge "Add missing aliases for off64_t functions in 64-bit land." 2013-10-18 04:42:09 +00:00
Elliott Hughes
af5973c6bf am 23eeda6a: am 6519d76c: am 88dcfb5e: Merge "Add ffs and memcmp16 to x86_64."
* commit '23eeda6ad95f8b9514ab33da76b99bbf5c520179':
  Add ffs and memcmp16 to x86_64.
2013-10-17 21:41:42 -07:00
Elliott Hughes
23eeda6ad9 am 6519d76c: am 88dcfb5e: Merge "Add ffs and memcmp16 to x86_64."
* commit '6519d76c2988f59622892966440577955aed9f49':
  Add ffs and memcmp16 to x86_64.
2013-10-17 21:38:00 -07:00
Elliott Hughes
6519d76c29 am 88dcfb5e: Merge "Add ffs and memcmp16 to x86_64."
* commit '88dcfb5ebaba0b02dac5d096491ea4278b849bb5':
  Add ffs and memcmp16 to x86_64.
2013-10-17 21:35:44 -07:00
Elliott Hughes
88dcfb5eba Merge "Add ffs and memcmp16 to x86_64." 2013-10-18 04:33:29 +00:00
Elliott Hughes
8ca530e559 Add ffs and memcmp16 to x86_64.
Change-Id: I652c1356f1c7c52299977181c2cf154386979380
2013-10-17 17:03:22 -07:00
Elliott Hughes
a6519d6306 Add missing aliases for off64_t functions in 64-bit land.
See the comment in SYSCALLS.TXT for an explanation.

Change-Id: I33d4056e84160c3cca74b7b588e9924a569753ed
2013-10-17 16:56:40 -07:00
Elliott Hughes
1bd510e1d3 am 22cf36af: am 7e12e6af: am 5b191604: Merge "Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags."
* commit '22cf36af18993e78dbeaaeee9cfa90b975452be2':
  Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags.
2013-10-17 14:40:43 -07:00
Elliott Hughes
3988d32c06 am 8c4947ee: am 227e95b2: am 70cf2077: Merge "Build the linker with the same -std flags as the rest of bionic."
* commit '8c4947ee7f4f33de477d8de848c8017cbd792e90':
  Build the linker with the same -std flags as the rest of bionic.
2013-10-17 14:40:38 -07:00
Elliott Hughes
f5890f4232 am 26e26439: am f702652e: am 41b87c65: Merge "x86_64: Add R_X86_64_64 relocation handling"
* commit '26e264394917e7b6b5a634125adb1e54ec7bb882':
  x86_64: Add R_X86_64_64 relocation handling
2013-10-17 14:40:35 -07:00
Elliott Hughes
4e92ee5a7b am 1732a8da: am 417c2061: am 922e2af4: Merge "O_CLOEXEC is always defined for arm, mips, x86, and x86_64."
* commit '1732a8da03af9261d7863d7d8a65dd654986d638':
  O_CLOEXEC is always defined for arm, mips, x86, and x86_64.
2013-10-17 14:40:34 -07:00
Elliott Hughes
862f0846d9 am 7efbac17: am 2039949b: am 967cd1bc: Merge "Fix sigaction(3) for 64-bit."
* commit '7efbac17bf8daba5aeea4c0231f3b14f7174dac9':
  Fix sigaction(3) for 64-bit.
2013-10-17 14:40:32 -07:00
Elliott Hughes
22cf36af18 am 7e12e6af: am 5b191604: Merge "Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags."
* commit '7e12e6af56e1cc256ea6d9c2c69d8438e6ca95be':
  Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags.
2013-10-17 13:50:12 -07:00
Elliott Hughes
7e12e6af56 am 5b191604: Merge "Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags."
* commit '5b1916043728f7f869f1286b6e04662a3d7d472b':
  Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags.
2013-10-17 13:47:28 -07:00
Elliott Hughes
5b19160437 Merge "Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags." 2013-10-17 20:44:07 +00:00
Andrei Emeltchenko
43d2137af0 Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags.
SOCK_CLOEXEC is used to atomically set close-on-exec flag for the new
descriptor(s), and SOCK_NONBLOCK is used to mark descriptor(s) as
non-blocking.

Change-Id: I8ba6a70543d23759e3ddcc7ff9c21b567184d681
2013-10-17 13:32:32 -07:00
Elliott Hughes
8c4947ee7f am 227e95b2: am 70cf2077: Merge "Build the linker with the same -std flags as the rest of bionic."
* commit '227e95b2fb861192fb3a2d6368dfddb2558a5e25':
  Build the linker with the same -std flags as the rest of bionic.
2013-10-17 13:18:42 -07:00
Elliott Hughes
227e95b2fb am 70cf2077: Merge "Build the linker with the same -std flags as the rest of bionic."
* commit '70cf2077619cd2d177756e2bb1cf3fbf870ef355':
  Build the linker with the same -std flags as the rest of bionic.
2013-10-17 13:17:31 -07:00
Elliott Hughes
70cf207761 Merge "Build the linker with the same -std flags as the rest of bionic." 2013-10-17 20:15:41 +00:00
Elliott Hughes
2258347f3b Build the linker with the same -std flags as the rest of bionic.
Change-Id: I5bdb28ecfdf78a90f6b072077a1c5ffd63f5d2ae
2013-10-17 13:06:20 -07:00
Elliott Hughes
26e2643949 am f702652e: am 41b87c65: Merge "x86_64: Add R_X86_64_64 relocation handling"
* commit 'f702652ef89ad53d9bac51fb6ffccd071e7c7b99':
  x86_64: Add R_X86_64_64 relocation handling
2013-10-17 12:57:58 -07:00
Elliott Hughes
1732a8da03 am 417c2061: am 922e2af4: Merge "O_CLOEXEC is always defined for arm, mips, x86, and x86_64."
* commit '417c2061c857015c1b0319646810111423b5223d':
  O_CLOEXEC is always defined for arm, mips, x86, and x86_64.
2013-10-17 12:57:57 -07:00
Elliott Hughes
f702652ef8 am 41b87c65: Merge "x86_64: Add R_X86_64_64 relocation handling"
* commit '41b87c651280d1a9a98a309c5a5e77e240920d4e':
  x86_64: Add R_X86_64_64 relocation handling
2013-10-17 12:55:09 -07:00
Elliott Hughes
417c2061c8 am 922e2af4: Merge "O_CLOEXEC is always defined for arm, mips, x86, and x86_64."
* commit '922e2af432b38c3a454a1cae9e4d269c28c5ff8c':
  O_CLOEXEC is always defined for arm, mips, x86, and x86_64.
2013-10-17 12:55:08 -07:00
Elliott Hughes
41b87c6512 Merge "x86_64: Add R_X86_64_64 relocation handling" 2013-10-17 19:51:11 +00:00
Elliott Hughes
922e2af432 Merge "O_CLOEXEC is always defined for arm, mips, x86, and x86_64." 2013-10-17 19:45:35 +00:00
Elliott Hughes
7efbac17bf am 2039949b: am 967cd1bc: Merge "Fix sigaction(3) for 64-bit."
* commit '2039949b225a3f6414250385b8d814440c24bab5':
  Fix sigaction(3) for 64-bit.
2013-10-17 11:52:30 -07:00
Elliott Hughes
2039949b22 am 967cd1bc: Merge "Fix sigaction(3) for 64-bit."
* commit '967cd1bcaf5e75314b3cff2ea7bbd0eb18ab7438':
  Fix sigaction(3) for 64-bit.
2013-10-17 11:49:30 -07:00
Elliott Hughes
e989399dc2 O_CLOEXEC is always defined for arm, mips, x86, and x86_64.
I built all four, just to be sure.

Change-Id: I5c818575c8142fccfc8fb163468832807a535e90
2013-10-17 11:45:22 -07:00
Elliott Hughes
967cd1bcaf Merge "Fix sigaction(3) for 64-bit." 2013-10-17 18:38:31 +00:00
Elliott Hughes
c7e9b23317 Fix sigaction(3) for 64-bit.
Also clean up <signal.h> and revert the hacks that were necessary
for 64-bit in linker/debugger.cpp until now.

Change-Id: I3b0554ca8a49ee1c97cda086ce2c1954ebc11892
2013-10-17 11:36:55 -07:00
The Android Automerger
b0fad18a47 merge in master-release history after reset to master 2013-10-17 07:49:41 -07:00
Ed Heyl
0d96697a3e am 811b0cdb: am be662187: merge in klp-release (no-op)
* commit '811b0cdb2d6e4a697dbc63a678712759dd0db242':
2013-10-16 17:53:05 -07:00
Ed Heyl
811b0cdb2d am be662187: merge in klp-release (no-op)
* commit 'be662187aa579970cda4af49affd31958efc137c':
2013-10-16 17:47:51 -07:00
Ben Cheng
e693d8d704 am 2cda6611: am a458b609: am f89f1eaa: Merge "Refresh libc/kernel/common/linux/auxvec.h"
* commit '2cda66116cd0f0c879d5543182379e2c93049d34':
  Refresh libc/kernel/common/linux/auxvec.h
2013-10-16 17:02:38 -07:00
Ben Cheng
2cda66116c am a458b609: am f89f1eaa: Merge "Refresh libc/kernel/common/linux/auxvec.h"
* commit 'a458b609dbbff789a58fe4d2710af947b20d7e29':
  Refresh libc/kernel/common/linux/auxvec.h
2013-10-16 16:58:47 -07:00
Ben Cheng
a458b609db am f89f1eaa: Merge "Refresh libc/kernel/common/linux/auxvec.h"
* commit 'f89f1eaa6071111c2ef584e97efb23f1b5dbdd2d':
  Refresh libc/kernel/common/linux/auxvec.h
2013-10-16 16:56:27 -07:00
Ben Cheng
f89f1eaa60 Merge "Refresh libc/kernel/common/linux/auxvec.h" 2013-10-16 23:52:17 +00:00
Ben Cheng
76b795a8ba Refresh libc/kernel/common/linux/auxvec.h
Change-Id: If9bb50a2f233cdb60e91bd979876edb917e0f66d
2013-10-16 16:50:14 -07:00
Ben Cheng
5dfc9e6ed1 am a5e5fad4: am 29351c80: am 3fdd6b83: Merge "Add processed uapi kernel headers (common and aarch64-specific)"
* commit 'a5e5fad478c283f65f2c062d9e5d494d53a40e7d':
  Add processed uapi kernel headers (common and aarch64-specific)
2013-10-16 16:40:21 -07:00
Elliott Hughes
b67d55e916 am b2386fed: am 4346bd9f: am bffe261a: Merge "Sort the syscalls.mk files, give all generated files the same header."
* commit 'b2386fed555d63417af9a4db5c4d9d8f3f22441e':
  Sort the syscalls.mk files, give all generated files the same header.
2013-10-16 16:40:21 -07:00
Ben Cheng
aec5325a53 am 2e0b93b0: am 3b1b9f9f: am f0447ddb: Merge "Tweaked the cleanup scripts to handle uapi and aarch64 headers."
* commit '2e0b93b01f6e7634f7e03e3447cd6437525d0d54':
  Tweaked the cleanup scripts to handle uapi and aarch64 headers.
2013-10-16 16:40:19 -07:00
Elliott Hughes
66140615a9 am 6b9321b8: am d6e117b6: am 1f29c2f5: Merge "Switch sigpending over to rt_sigpending."
* commit '6b9321b85875dd8938d0a5064ea3e9fdebe5c623':
  Switch sigpending over to rt_sigpending.
2013-10-16 16:40:18 -07:00
Ben Cheng
a5e5fad478 am 29351c80: am 3fdd6b83: Merge "Add processed uapi kernel headers (common and aarch64-specific)"
* commit '29351c8091c4b7338bd47fb6b3e5aed94a2abf32':
  Add processed uapi kernel headers (common and aarch64-specific)
2013-10-16 16:33:50 -07:00
Elliott Hughes
b2386fed55 am 4346bd9f: am bffe261a: Merge "Sort the syscalls.mk files, give all generated files the same header."
* commit '4346bd9fbcfe4144df7ac0e920bdda274d523fc4':
  Sort the syscalls.mk files, give all generated files the same header.
2013-10-16 16:33:50 -07:00
Ben Cheng
29351c8091 am 3fdd6b83: Merge "Add processed uapi kernel headers (common and aarch64-specific)"
* commit '3fdd6b83379f46d2ae78f376b3630f9d481d6dbb':
  Add processed uapi kernel headers (common and aarch64-specific)
2013-10-16 16:32:24 -07:00
Elliott Hughes
4346bd9fbc am bffe261a: Merge "Sort the syscalls.mk files, give all generated files the same header."
* commit 'bffe261a1fcb2099e2188e2e4ca65209b64bc75a':
  Sort the syscalls.mk files, give all generated files the same header.
2013-10-16 16:32:23 -07:00
Ben Cheng
3fdd6b8337 Merge "Add processed uapi kernel headers (common and aarch64-specific)" 2013-10-16 23:17:52 +00:00
Ben Cheng
2e0b93b01f am 3b1b9f9f: am f0447ddb: Merge "Tweaked the cleanup scripts to handle uapi and aarch64 headers."
* commit '3b1b9f9ff6a2dc88ac0d78fd17f3b58448440357':
  Tweaked the cleanup scripts to handle uapi and aarch64 headers.
2013-10-16 16:09:44 -07:00
Elliott Hughes
6b9321b858 am d6e117b6: am 1f29c2f5: Merge "Switch sigpending over to rt_sigpending."
* commit 'd6e117b64bdfbf8d793eb59ea9604b806608ec75':
  Switch sigpending over to rt_sigpending.
2013-10-16 16:09:42 -07:00
Ben Cheng
655a7c081f Add processed uapi kernel headers (common and aarch64-specific)
Change-Id: If0be7b83bd8fe7cb02472d173f7c452aabf61124
2013-10-16 16:09:24 -07:00
Elliott Hughes
bffe261a1f Merge "Sort the syscalls.mk files, give all generated files the same header." 2013-10-16 23:06:48 +00:00
Ben Cheng
3b1b9f9ff6 am f0447ddb: Merge "Tweaked the cleanup scripts to handle uapi and aarch64 headers."
* commit 'f0447ddb042150af0e13a364df98dd11673d95d3':
  Tweaked the cleanup scripts to handle uapi and aarch64 headers.
2013-10-16 15:35:50 -07:00
Ben Cheng
f0447ddb04 Merge "Tweaked the cleanup scripts to handle uapi and aarch64 headers." 2013-10-16 22:32:12 +00:00
Ben Cheng
8bea2b6fac Tweaked the cleanup scripts to handle uapi and aarch64 headers.
The processed uapi directory is now placed at libc/kernel/uapi as
opposed to libc/kernel/common/uapi as it contains
architectural-dependent headers now.

Change-Id: I53f814704a4d231b452fde398cd94257a0fb2eea
2013-10-16 15:28:56 -07:00
Elliott Hughes
103ccde8fe Sort the syscalls.mk files, give all generated files the same header.
No non-comment changes to the .S files.

Change-Id: Iafcfd004c3ea92b64268f80ab16df615b97cefac
2013-10-16 14:27:59 -07:00
Elliott Hughes
d6e117b64b am 1f29c2f5: Merge "Switch sigpending over to rt_sigpending."
* commit '1f29c2f51097b68110bc2766a7c1560d6a8831d0':
  Switch sigpending over to rt_sigpending.
2013-10-16 14:13:10 -07:00
Elliott Hughes
1f29c2f510 Merge "Switch sigpending over to rt_sigpending." 2013-10-16 21:10:00 +00:00
Elliott Hughes
40d105ccb3 Switch sigpending over to rt_sigpending.
Change-Id: I7b28984796b5fb343cfbcc47e0afc3a84293d417
2013-10-16 14:07:01 -07:00
Pavel Chupin
c075c18537 x86_64: Add R_X86_64_64 relocation handling
Change-Id: I86ffc56fa6a9053bed44e92a579530c2beb8eb2c
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-16 19:13:58 +04:00
The Android Automerger
43df1da614 merge in master-release history after reset to master 2013-10-16 07:52:56 -07:00
Elliott Hughes
c3130495ae am d5e5a6a3: am 2426cdb6: am 26242bf2: Merge "Remove support for the useless \'custom\' option in SYSCALLS.TXT."
* commit 'd5e5a6a3534884113e2fefcfa23567c592a82cc8':
  Remove support for the useless 'custom' option in SYSCALLS.TXT.
2013-10-15 20:00:23 -07:00
Elliott Hughes
d5e5a6a353 am 2426cdb6: am 26242bf2: Merge "Remove support for the useless \'custom\' option in SYSCALLS.TXT."
* commit '2426cdb63b95435bb09bacfc3af63304d991c4a2':
  Remove support for the useless 'custom' option in SYSCALLS.TXT.
2013-10-15 19:57:53 -07:00
Elliott Hughes
2426cdb63b am 26242bf2: Merge "Remove support for the useless \'custom\' option in SYSCALLS.TXT."
* commit '26242bf266fc7ee72a972ff0e4b12c024df4993c':
  Remove support for the useless 'custom' option in SYSCALLS.TXT.
2013-10-15 19:54:40 -07:00
Elliott Hughes
26242bf266 Merge "Remove support for the useless 'custom' option in SYSCALLS.TXT." 2013-10-16 02:51:35 +00:00
Elliott Hughes
9b22e71143 am afaebc3f: am 87fc78de: am 608c65f6: Merge "Fix sigsuspend to use rt_sigsuspend on all platforms."
* commit 'afaebc3fefe93cbfbaead60212dab7b99bae9d7a':
  Fix sigsuspend to use rt_sigsuspend on all platforms.
2013-10-15 18:22:55 -07:00
Elliott Hughes
afaebc3fef am 87fc78de: am 608c65f6: Merge "Fix sigsuspend to use rt_sigsuspend on all platforms."
* commit '87fc78de6c869d0403ccdd2e756ec1f5d456f3d3':
  Fix sigsuspend to use rt_sigsuspend on all platforms.
2013-10-15 18:20:32 -07:00
Elliott Hughes
c9da332cce Remove support for the useless 'custom' option in SYSCALLS.TXT.
This cruft dates from a time when bionic would only output syscall
contants for the syscalls mentioned in SYSCALLS.TXT. I fixed that
a long time ago, but never followed through with the removal of what
was then confusingly called "stub" and was recently renamed "custom".

Change-Id: I8f3872a200b2dc8325e357cc5ee505ea4212ef95
2013-10-15 18:18:58 -07:00
Elliott Hughes
87fc78de6c am 608c65f6: Merge "Fix sigsuspend to use rt_sigsuspend on all platforms."
* commit '608c65f6955213179db4140cc57c40a2a88d5846':
  Fix sigsuspend to use rt_sigsuspend on all platforms.
2013-10-15 18:17:53 -07:00
Elliott Hughes
608c65f695 Merge "Fix sigsuspend to use rt_sigsuspend on all platforms." 2013-10-16 01:16:00 +00:00
Elliott Hughes
1f5af926fa Fix sigsuspend to use rt_sigsuspend on all platforms.
Change-Id: I981c1a66d35480d4457a0a08a1b042dac94daa5b
2013-10-15 18:15:19 -07:00
Elliott Hughes
819fd92317 am f2a760dc: am a85606e1: am c100a100: Merge "\'Avoid confusing "read prevented write" log messages\' 2."
* commit 'f2a760dca7e728bd6f7942dece1bb6aefe4821ed':
  'Avoid confusing "read prevented write" log messages' 2.
2013-10-15 17:41:01 -07:00
Elliott Hughes
f2a760dca7 am a85606e1: am c100a100: Merge "\'Avoid confusing "read prevented write" log messages\' 2."
* commit 'a85606e1563c2153bea3c73dfe4ca1588e778f22':
  'Avoid confusing "read prevented write" log messages' 2.
2013-10-15 17:38:17 -07:00
Elliott Hughes
a85606e156 am c100a100: Merge "\'Avoid confusing "read prevented write" log messages\' 2."
* commit 'c100a10069a16eca57f5f9ab838ff98d7db6eb03':
  'Avoid confusing "read prevented write" log messages' 2.
2013-10-15 17:35:27 -07:00
Elliott Hughes
c100a10069 Merge "'Avoid confusing "read prevented write" log messages' 2." 2013-10-16 00:31:20 +00:00
Elliott Hughes
949676ce6c am cbfa1afd: am 0287db52: am d9913b0b: Merge "Make pthread_create report sched_setscheduler failures on LP64."
* commit 'cbfa1afda32e290ddc9c9bea866c27ae93d040d2':
  Make pthread_create report sched_setscheduler failures on LP64.
2013-10-15 17:29:55 -07:00
Christopher Ferris
3cfa519987 am 03ce5171: am fbefb252: Modify prefetch for krait memcpy.
* commit '03ce51717893dde6a56ef19da9cb3c92b1e4927a':
  Modify prefetch for krait memcpy.
2013-10-15 17:29:52 -07:00
Elliott Hughes
4c46b2992b am df17ce78: am 26491483: am 76725214: Merge "Avoid confusing "read prevented write" log messages."
* commit 'df17ce7858f8df22a14412fa18ee5b80fa6b283e':
  Avoid confusing "read prevented write" log messages.
2013-10-15 17:29:51 -07:00
Elliott Hughes
f60c5baf0b am b01ebe6d: am 14e7482c: am d16391bb: Merge "Fix indentation in sched_getaffinity."
* commit 'b01ebe6d4e76cd57dac09e6bdb581f8f964cd75f':
  Fix indentation in sched_getaffinity.
2013-10-15 17:29:50 -07:00
Christopher Ferris
a3ae4f31ab am 289c460c: am ac6bc319: Remove new aligned memcpy path for cortex-a15.
* commit '289c460c55fdf50c03e8711de077d2db67346d9b':
  Remove new aligned memcpy path for cortex-a15.
2013-10-15 17:29:28 -07:00
Elliott Hughes
68b67113a4 'Avoid confusing "read prevented write" log messages' 2.
This time it's assembler.

Change-Id: Iae6369833b8046b8eda70238bb4ed0cae64269ea
2013-10-15 17:17:05 -07:00
Elliott Hughes
cbfa1afda3 am 0287db52: am d9913b0b: Merge "Make pthread_create report sched_setscheduler failures on LP64."
* commit '0287db52ed93df39ab45c7f60a241ae621866b90':
  Make pthread_create report sched_setscheduler failures on LP64.
2013-10-15 17:14:59 -07:00
Elliott Hughes
0287db52ed am d9913b0b: Merge "Make pthread_create report sched_setscheduler failures on LP64."
* commit 'd9913b0b0dfad473bd1cb81463ac0d6b68a0deb6':
  Make pthread_create report sched_setscheduler failures on LP64.
2013-10-15 17:12:16 -07:00
Elliott Hughes
d9913b0b0d Merge "Make pthread_create report sched_setscheduler failures on LP64." 2013-10-16 00:09:54 +00:00
Christopher Ferris
03ce517178 am fbefb252: Modify prefetch for krait memcpy.
* commit 'fbefb252b09634114977dbd1b48dd42bb2629b83':
  Modify prefetch for krait memcpy.
2013-10-15 17:08:32 -07:00
Elliott Hughes
df17ce7858 am 26491483: am 76725214: Merge "Avoid confusing "read prevented write" log messages."
* commit '264914838d1c22c15ed0069d1217a780835c6d1c':
  Avoid confusing "read prevented write" log messages.
2013-10-15 16:58:19 -07:00
Elliott Hughes
b01ebe6d4e am 14e7482c: am d16391bb: Merge "Fix indentation in sched_getaffinity."
* commit '14e7482c556820d8ad3b77f025dfc465d55c7262':
  Fix indentation in sched_getaffinity.
2013-10-15 16:58:19 -07:00
Elliott Hughes
264914838d am 76725214: Merge "Avoid confusing "read prevented write" log messages."
* commit '7672521440c8b7f98795c3fb4295227398e3e296':
  Avoid confusing "read prevented write" log messages.
2013-10-15 16:56:34 -07:00
Elliott Hughes
14e7482c55 am d16391bb: Merge "Fix indentation in sched_getaffinity."
* commit 'd16391bb88d92a58e3492921ac75a1d5d86031b7':
  Fix indentation in sched_getaffinity.
2013-10-15 16:56:33 -07:00
Elliott Hughes
7672521440 Merge "Avoid confusing "read prevented write" log messages." 2013-10-15 23:53:45 +00:00
Elliott Hughes
d16391bb88 Merge "Fix indentation in sched_getaffinity." 2013-10-15 23:53:25 +00:00
Elliott Hughes
98624c3746 Make pthread_create report sched_setscheduler failures on LP64.
We couldn't fix this for 32-bit because there's too much broken
code out there. (Pretty much everyone asks for real-time
scheduling for all their threads, and the kernel says "don't be
stupid".)

Change-Id: I43c5271e6b6bb91278b9a19eec08cbf05391e3c4
2013-10-15 16:51:17 -07:00
Elliott Hughes
0cfc95e010 Fix indentation in sched_getaffinity.
Change-Id: I966852149a0255ca132cd7a15f135a875ce400d0
2013-10-15 16:49:49 -07:00
Elliott Hughes
d1eda33f01 Avoid confusing "read prevented write" log messages.
Moving to a "function: message" style avoids ambiguity.

Change-Id: If9d590e50265c61725d3673bd03796e65edd2d5e
2013-10-15 16:49:28 -07:00
Christopher Ferris
289c460c55 am ac6bc319: Remove new aligned memcpy path for cortex-a15.
* commit 'ac6bc31942e58c8893c0695d9766d0f3e39335fe':
  Remove new aligned memcpy path for cortex-a15.
2013-10-15 16:17:14 -07:00
Christopher Ferris
6e96069a2b am d77ff4f4: am 76d78dc0: am dc9d8d05: Merge "Modify prefetch for krait memcpy."
* commit 'd77ff4f423c5b8235914d67af5b5ff450f8a2f95':
  Modify prefetch for krait memcpy.
2013-10-15 14:22:13 -07:00
Christopher Ferris
d77ff4f423 am 76d78dc0: am dc9d8d05: Merge "Modify prefetch for krait memcpy."
* commit '76d78dc0441ba982438ef613a8d6f2f65c6834e0':
  Modify prefetch for krait memcpy.
2013-10-15 14:19:27 -07:00
Elliott Hughes
1489e03d9f am 4681f824: am 5b3f1d8b: am 22b83da4: Merge "Clean up the sigprocmask/pthread_sigmask implementation."
* commit '4681f8244ee6fd3aec5a5c62e604e2a429d0d00f':
  Clean up the sigprocmask/pthread_sigmask implementation.
2013-10-15 14:18:45 -07:00
Christopher Ferris
76d78dc044 am dc9d8d05: Merge "Modify prefetch for krait memcpy."
* commit 'dc9d8d050a43e1cd32f1337e79187124bb15d938':
  Modify prefetch for krait memcpy.
2013-10-15 14:16:47 -07:00
Elliott Hughes
4681f8244e am 5b3f1d8b: am 22b83da4: Merge "Clean up the sigprocmask/pthread_sigmask implementation."
* commit '5b3f1d8b3a6a1caf059dc376e4967a27ddd57dac':
  Clean up the sigprocmask/pthread_sigmask implementation.
2013-10-15 14:16:02 -07:00
Elliott Hughes
5b3f1d8b3a am 22b83da4: Merge "Clean up the sigprocmask/pthread_sigmask implementation."
* commit '22b83da476263bff28fcc6a4696ced58b61d2c1d':
  Clean up the sigprocmask/pthread_sigmask implementation.
2013-10-15 14:13:32 -07:00
Christopher Ferris
dc9d8d050a Merge "Modify prefetch for krait memcpy." 2013-10-15 21:12:31 +00:00
Elliott Hughes
22b83da476 Merge "Clean up the sigprocmask/pthread_sigmask implementation." 2013-10-15 21:10:21 +00:00
Christopher Ferris
c3c58fb560 Modify prefetch for krait memcpy.
I originally modified the krait mainloop prefetch from cacheline * 8 to * 2.
This causes a perf degradation for copies bigger than will fit in the cache.
Fixing this back to the original * 8. I tried other multiples, but * 8 is th
sweet spot on krait.

Bug: 11221806

Change-Id: I1f75fad6440f7417e664795a6e7b5616f6a29c45
2013-10-15 12:10:06 -07:00
Elliott Hughes
19e62325c2 Clean up the sigprocmask/pthread_sigmask implementation.
Let's have both use rt_sigprocmask, like in glibc. The 64-bit ABIs
can share the same code as the 32-bit ABIs.

Also, let's test the return side of these calls, not just the
setting.

Bug: 11069919
Change-Id: I11da99f85b5b481870943c520d05ec929b15eddb
2013-10-15 11:23:57 -07:00
Stephen Hines
29f0db2148 am 8161b236: am 4691325d: am abeafbd6: Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors."
* commit '8161b236891de223b0ebe9b76db57147d50a20f5':
  Wrap sprintf()/snprintf() macros to prevent expansion errors.
2013-10-14 10:48:52 -07:00
Stephen Hines
8e378473a3 am 78f6db64: am 36959302: am 8704ada3: Merge "Fix clang warnings in bionic."
* commit '78f6db64fe90e45f1cdb649543feb2d92696802a':
  Fix clang warnings in bionic.
2013-10-14 10:48:51 -07:00
The Android Automerger
8a6f17b931 merge in master-release history after reset to master 2013-10-14 07:50:43 -07:00
Stephen Hines
8161b23689 am 4691325d: am abeafbd6: Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors."
* commit '4691325d48406033632fe84a944ac9c3bd2e5097':
  Wrap sprintf()/snprintf() macros to prevent expansion errors.
2013-10-11 16:33:07 -07:00
Stephen Hines
78f6db64fe am 36959302: am 8704ada3: Merge "Fix clang warnings in bionic."
* commit '36959302a334499c7d2ddf4a090e2ab7e3a8ae1d':
  Fix clang warnings in bionic.
2013-10-11 16:33:03 -07:00
Stephen Hines
4691325d48 am abeafbd6: Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors."
* commit 'abeafbd6d5e11044dd305e48134bc3d84319a3da':
  Wrap sprintf()/snprintf() macros to prevent expansion errors.
2013-10-11 16:30:04 -07:00
Stephen Hines
36959302a3 am 8704ada3: Merge "Fix clang warnings in bionic."
* commit '8704ada3d8fae067ed48c2b6da5a1ba4ab062e1a':
  Fix clang warnings in bionic.
2013-10-11 16:30:03 -07:00
Stephen Hines
abeafbd6d5 Merge "Wrap sprintf()/snprintf() macros to prevent expansion errors." 2013-10-11 23:28:32 +00:00
Stephen Hines
8704ada3d8 Merge "Fix clang warnings in bionic." 2013-10-11 23:27:40 +00:00
Stephen Hines
6c7b3cb056 Fix clang warnings in bionic.
This fixes a few diverse issues that clang warns on in bionic. First,
it specifies the appropriate converted types for format specifiers.
The "h" and "hh" modifiers specify that the user is passing a short or
char respectively. We were passing int deliberately in both cases and
relying on the compiler to implicitly downcast to the smaller type.
We also remove the non-standard "d" suffix from our double-precision
floating point constant. This is an extension for gcc that clang does
not implement. The third fix is to mark the c1 variable as unused,
since it truly is neither read nor written.

Change-Id: I4793352b9d3e58f1f4cac9e7581ef4b2a70b43c7
2013-10-11 16:20:08 -07:00
Stephen Hines
6e38072add Wrap sprintf()/snprintf() macros to prevent expansion errors.
Previously, FORTIFY_SOURCE used single macros to define these standard
functions for use with clang. This can cause conflicts with other macros used
to call these functions, particularly when those macros expand the number of
arguments to the function. This change wraps our macro definitions, so that
expansion properly takes place for programmer arguments first.

Change-Id: I55929b1fd2a643b9d14a17631c4bcab3b0b712cf
2013-10-11 12:14:49 -07:00
Nick Kralevich
197cabe25c am 49bb53c8: am 95de0df8: am eda2679e: Merge "FORTIFY_SOURCE: fortify read()"
* commit '49bb53c8e20ff37a1965ba4af645464ea4b8f8fa':
  FORTIFY_SOURCE: fortify read()
2013-10-10 08:24:00 -07:00
Elliott Hughes
d68e8a310f am 2d38f0c1: am 21d70d5f: am 39385aa7: Merge "Clean up the cpuacct cruft."
* commit '2d38f0c1c7ccb123a9a71dcabeb3650d8f5832b7':
  Clean up the cpuacct cruft.
2013-10-10 08:24:00 -07:00
The Android Automerger
24ca23db0c merge in master-release history after reset to master 2013-10-10 07:50:49 -07:00
Nick Kralevich
49bb53c8e2 am 95de0df8: am eda2679e: Merge "FORTIFY_SOURCE: fortify read()"
* commit '95de0df8c2daeefca358010f2d15c3346a5284f1':
  FORTIFY_SOURCE: fortify read()
2013-10-09 21:28:52 -07:00
Elliott Hughes
2d38f0c1c7 am 21d70d5f: am 39385aa7: Merge "Clean up the cpuacct cruft."
* commit '21d70d5fd8ff2823a6879d59c7d5a8d6c3e0ce8b':
  Clean up the cpuacct cruft.
2013-10-09 21:28:51 -07:00
Nick Kralevich
95de0df8c2 am eda2679e: Merge "FORTIFY_SOURCE: fortify read()"
* commit 'eda2679e30b997d036e0ec572cda054adc2ac3a6':
  FORTIFY_SOURCE: fortify read()
2013-10-09 21:25:51 -07:00
Elliott Hughes
21d70d5fd8 am 39385aa7: Merge "Clean up the cpuacct cruft."
* commit '39385aa78c5d437cfabc26a1bccdf050a8c94ac4':
  Clean up the cpuacct cruft.
2013-10-09 21:25:50 -07:00
Nick Kralevich
eda2679e30 Merge "FORTIFY_SOURCE: fortify read()" 2013-10-10 04:11:48 +00:00
Elliott Hughes
39385aa78c Merge "Clean up the cpuacct cruft." 2013-10-10 04:08:44 +00:00
Nick Kralevich
b036b5ca36 FORTIFY_SOURCE: fortify read()
Change-Id: Ic7de163fe121db13e00560adb257331bc709814d
2013-10-09 20:17:03 -07:00
Elliott Hughes
232163cf70 Clean up the cpuacct cruft.
Change-Id: I6ed63af8dfc2368e211420389fa8af4d5dc0908f
2013-10-09 17:35:36 -07:00
Elliott Hughes
6d332afbd9 am 7e049ba4: am 28b8557d: am 92f3cc50: Merge "x86_64: Rename 64-bit linker to linker64"
* commit '7e049ba47039477a16895450e76c4561bf2350f5':
  x86_64: Rename 64-bit linker to linker64
2013-10-09 17:01:46 -07:00
Nick Kralevich
d4a52318ce am b8771d9f: am b35ebe3d: am 848efa9d: Merge "Revert "FORTIFY_SOURCE: fortify read()""
* commit 'b8771d9fd844fd28b6e5e6fe429ef40c097b32a6':
  Revert "FORTIFY_SOURCE: fortify read()"
2013-10-09 16:58:00 -07:00
Elliott Hughes
7e049ba470 am 28b8557d: am 92f3cc50: Merge "x86_64: Rename 64-bit linker to linker64"
* commit '28b8557d4c117f41cf3fb9c55e30adeb6e46757b':
  x86_64: Rename 64-bit linker to linker64
2013-10-09 16:56:27 -07:00
Elliott Hughes
a72526073a am 41f56e29: am c7559aea: am 777ebe86: Merge "Fix MIPS build."
* commit '41f56e29c789aa563821715e2f3e5b9d83974280':
  Fix MIPS build.
2013-10-09 16:54:42 -07:00
Elliott Hughes
28b8557d4c am 92f3cc50: Merge "x86_64: Rename 64-bit linker to linker64"
* commit '92f3cc50c8d884d1eb3496ebfba7d3916fc711e8':
  x86_64: Rename 64-bit linker to linker64
2013-10-09 16:54:16 -07:00
Nick Kralevich
b8771d9fd8 am b35ebe3d: am 848efa9d: Merge "Revert "FORTIFY_SOURCE: fortify read()""
* commit 'b35ebe3d7097899fd4498ebb2b93e48fd836ebcf':
  Revert "FORTIFY_SOURCE: fortify read()"
2013-10-09 16:53:05 -07:00
Elliott Hughes
92f3cc50c8 Merge "x86_64: Rename 64-bit linker to linker64" 2013-10-09 23:51:29 +00:00
Nick Kralevich
b35ebe3d70 am 848efa9d: Merge "Revert "FORTIFY_SOURCE: fortify read()""
* commit '848efa9dae84ac4e5e45869abe26225affeb2038':
  Revert "FORTIFY_SOURCE: fortify read()"
2013-10-09 16:50:54 -07:00
Pavel Chupin
1a57f9f75c x86_64: Rename 64-bit linker to linker64
That's for having both on the same system.

Change-Id: Ic2bc2c015e6486e8b6a7576f7b28d2d027534368
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-09 16:50:30 -07:00
Elliott Hughes
41f56e29c7 am c7559aea: am 777ebe86: Merge "Fix MIPS build."
* commit 'c7559aeaf17a7c38392d2dc8f79c77316a24c8c0':
  Fix MIPS build.
2013-10-09 16:49:46 -07:00
Nick Kralevich
848efa9dae Merge "Revert "FORTIFY_SOURCE: fortify read()"" 2013-10-09 23:47:58 +00:00
Elliott Hughes
c7559aeaf1 am 777ebe86: Merge "Fix MIPS build."
* commit '777ebe86677f6fd88c87995652146b2ead19a95f':
  Fix MIPS build.
2013-10-09 16:46:33 -07:00
Nick Kralevich
8d25327639 Revert "FORTIFY_SOURCE: fortify read()"
This change reverts
* fb3f956d075676c0438f2ee2bf3a5be659dfc04b.
* 65c99de2cb7a569ea17ca35e2f8f1e033421864b

Change-Id: Id5774eeede41130579115cf67a72ee914f2b47d5
2013-10-09 16:46:25 -07:00
Elliott Hughes
70e47a3f40 am 6b6c5791: am aa3c17e8: am 37953ee3: Merge "Fix build."
* commit '6b6c5791a00ff2b5577e906a070d1d69e8b52f4b':
  Fix build.
2013-10-09 16:43:58 -07:00
Elliott Hughes
777ebe8667 Merge "Fix MIPS build." 2013-10-09 23:43:24 +00:00
Elliott Hughes
14b467e840 Fix MIPS build.
Warnings are errors for all home-grown bionic code, and the arch-specific
code now counts as home-grown bionic code (it was mistakenly counted as
"not ours" before).

Change-Id: I9c6a881b0dc596bae7dfe112c5c189e073800a3a
2013-10-09 16:40:33 -07:00
Elliott Hughes
fde559b156 am 1cdc9fe6: am 8826ba8a: am bc545e8a: Merge "Fix x86_64 build, clean up intermediate libraries."
* commit '1cdc9fe6d58b477385de0f60725a355de2151706':
  Fix x86_64 build, clean up intermediate libraries.
2013-10-09 16:40:31 -07:00
Elliott Hughes
6b6c5791a0 am aa3c17e8: am 37953ee3: Merge "Fix build."
* commit 'aa3c17e8f8b9b3b5b8dc3c7c0fbe85b774f83722':
  Fix build.
2013-10-09 16:39:06 -07:00
Nick Kralevich
fb65221ae1 am 45e3076c: am 731ced6b: am c147478c: Merge "FORTIFY_SOURCE: fortify read()"
* commit '45e3076cdc03efe7d37178fbd4366d5632d50cba':
  FORTIFY_SOURCE: fortify read()
2013-10-09 16:36:33 -07:00
Elliott Hughes
1cdc9fe6d5 am 8826ba8a: am bc545e8a: Merge "Fix x86_64 build, clean up intermediate libraries."
* commit '8826ba8ab6922927bdac2466d2903916d5806a06':
  Fix x86_64 build, clean up intermediate libraries.
2013-10-09 16:35:46 -07:00
Elliott Hughes
aa3c17e8f8 am 37953ee3: Merge "Fix build."
* commit '37953ee3feb60b84e43349df0b13544367ca1cd7':
  Fix build.
2013-10-09 16:33:59 -07:00
Nick Kralevich
45e3076cdc am 731ced6b: am c147478c: Merge "FORTIFY_SOURCE: fortify read()"
* commit '731ced6b289629a552b5841561fdcccf08d8c43a':
  FORTIFY_SOURCE: fortify read()
2013-10-09 16:32:25 -07:00
Elliott Hughes
8826ba8ab6 am bc545e8a: Merge "Fix x86_64 build, clean up intermediate libraries."
* commit 'bc545e8a98dd4e1148e8b9c9ca491d1a481ee94d':
  Fix x86_64 build, clean up intermediate libraries.
2013-10-09 16:30:42 -07:00
Elliott Hughes
37953ee3fe Merge "Fix build." 2013-10-09 23:30:39 +00:00
Elliott Hughes
fb3f956d07 Fix build.
'private' is no longer on the default include path inside bionic.

Change-Id: I9bfab213a496fac585787118603af3aa2a1f9951
2013-10-09 16:29:42 -07:00
Elliott Hughes
bc545e8a98 Merge "Fix x86_64 build, clean up intermediate libraries." 2013-10-09 23:29:00 +00:00
Nick Kralevich
731ced6b28 am c147478c: Merge "FORTIFY_SOURCE: fortify read()"
* commit 'c147478cb75cfaa2aadc67fd920e8765503d97cc':
  FORTIFY_SOURCE: fortify read()
2013-10-09 16:25:15 -07:00
Nick Kralevich
c147478cb7 Merge "FORTIFY_SOURCE: fortify read()" 2013-10-09 23:23:27 +00:00
Elliott Hughes
eb847bc866 Fix x86_64 build, clean up intermediate libraries.
The x86_64 build was failing because clone.S had a call to __thread_entry which
was being added to a different intermediate .a on the way to making libc.so,
and the linker couldn't guarantee statically that such a relocation would be
possible.

  ld: error: out/target/product/generic_x86_64/obj/STATIC_LIBRARIES/libc_common_intermediates/libc_common.a(clone.o): requires dynamic R_X86_64_PC32 reloc against '__thread_entry' which may overflow at runtime; recompile with -fPIC

This patch addresses that by ensuring that the caller and callee end up in the
same intermediate .a. While I'm here, I've tried to clean up some of the mess
that led to this situation too. In particular, this removes libc/private/ from
the default include path (except for the DNS code), and splits out the DNS
code into its own library (since it's a weird special case of upstream NetBSD
code that's diverged so heavily it's unlikely ever to get back in sync).

There's more cleanup of the DNS situation possible, but this is definitely a
step in the right direction, and it's more than enough to get x86_64 building
cleanly.

Change-Id: I00425a7245b7a2573df16cc38798187d0729e7c4
2013-10-09 16:00:17 -07:00
Elliott Hughes
c528d938aa am ac045c32: am f83148af: am 0c17099a: Merge "Fix __errno for LP64 and clean up __get_tls."
* commit 'ac045c32d067d61cb48370eaa10118e827ebf586':
  Fix __errno for LP64 and clean up __get_tls.
2013-10-09 13:58:20 -07:00
Elliott Hughes
ac045c32d0 am f83148af: am 0c17099a: Merge "Fix __errno for LP64 and clean up __get_tls."
* commit 'f83148af74704c574ad1bf60082f2f56bcb29706':
  Fix __errno for LP64 and clean up __get_tls.
2013-10-09 13:52:56 -07:00
Elliott Hughes
f83148af74 am 0c17099a: Merge "Fix __errno for LP64 and clean up __get_tls."
* commit '0c17099a71cb5d1b36b7aab66fd7341b3fc9106d':
  Fix __errno for LP64 and clean up __get_tls.
2013-10-09 13:51:14 -07:00
Elliott Hughes
0c17099a71 Merge "Fix __errno for LP64 and clean up __get_tls." 2013-10-09 20:49:10 +00:00
Nick Kralevich
65c99de2cb FORTIFY_SOURCE: fortify read()
Change-Id: I3d7b4ec86d04efb865117ce7629a2e26917f3331
2013-10-09 13:44:38 -07:00
Elliott Hughes
2a0b873065 Fix __errno for LP64 and clean up __get_tls.
If __get_tls has the right type, a lot of confusing casting can disappear.

It was probably a mistake that __get_tls was exposed as a function for mips
and x86 (but not arm), so let's (a) ensure that the __get_tls function
always matches the macro, (b) that we have the function for arm too, and
(c) that we don't have the function for any 64-bit architecture.

Change-Id: Ie9cb989b66e2006524ad7733eb6e1a65055463be
2013-10-09 13:39:13 -07:00
Elliott Hughes
7ba30bf47b am 7c98d130: am 898fd6a1: am 777a4ee6: Merge "Fix 32-bit build."
* commit '7c98d1304d4c48927027763b998e79d746dfb697':
  Fix 32-bit build.
2013-10-09 09:14:12 -07:00
Elliott Hughes
49c5d5b54e am e17457fb: am 3c13dade: am 14b66bff: Merge "Fix malloc debugging for LP64."
* commit 'e17457fbf5d02ca152692f3da8d10d1243fadb11':
  Fix malloc debugging for LP64.
2013-10-09 09:13:53 -07:00
Elliott Hughes
1ae358cafc am 5ca2f97f: am 5596240c: am 65e1c48d: Merge "Don\'t allow int<->pointer conversions."
* commit '5ca2f97fb6e5a5301813c810104b1ad772b40f85':
  Don't allow int<->pointer conversions.
2013-10-09 09:13:53 -07:00
Elliott Hughes
fb2b056235 am 8cc98f0b: am 54c7ef7f: am 7027841d: Merge "Fix bionic\'s built-in stack trace dumping for LP64."
* commit '8cc98f0b1e15d9668cfb4eaff10f97e465a2fc21':
  Fix bionic's built-in stack trace dumping for LP64.
2013-10-09 09:13:53 -07:00
Elliott Hughes
d81a7d9dad am e769368d: am c8bd2c2e: am 458076c3: Merge "Fix the ALIGN and ALIGNBYTES macros for LP64."
* commit 'e769368d76ce86e1d166d551436204a5821d0849':
  Fix the ALIGN and ALIGNBYTES macros for LP64.
2013-10-09 09:13:04 -07:00
Ed Heyl
dad7a0106c am 53f30951: am f87684ee: merge in KQS81M
* commit '53f30951d3879260f836a1d048d27b6b10e9bd8a':
  Use kernel default for initial thread size
2013-10-09 09:12:02 -07:00
The Android Automerger
a93409e075 merge in master-release history after reset to master 2013-10-09 07:49:40 -07:00
Elliott Hughes
7c98d1304d am 898fd6a1: am 777a4ee6: Merge "Fix 32-bit build."
* commit '898fd6a1f0d8a540a3b8950f18e0858042279001':
  Fix 32-bit build.
2013-10-08 18:46:10 -07:00
Elliott Hughes
898fd6a1f0 am 777a4ee6: Merge "Fix 32-bit build."
* commit '777a4ee6771e6fe3362ef4f24244a44fcd0aabe4':
  Fix 32-bit build.
2013-10-08 18:43:56 -07:00
Elliott Hughes
777a4ee677 Merge "Fix 32-bit build." 2013-10-09 01:41:46 +00:00
Elliott Hughes
51aeff7021 Fix 32-bit build.
libc/tzcode/localtime.c: In function 'differ_by_repeat':
  libc/tzcode/localtime.c:338:2: error: comparison is always false due to limited range of data type [-Werror=type-limits]

Change-Id: Ic84be6391a66e9d50ed98f41d865387c77a60ffa
2013-10-08 18:30:44 -07:00
Elliott Hughes
b2dc358f09 am 42b618cf: am 58b8f225: am 5cf1f229: Merge "pthread_exit should call __NR_exit with status 0."
* commit '42b618cffef4b91bd11633c3ee95659d4fc41943':
  pthread_exit should call __NR_exit with status 0.
2013-10-08 17:44:50 -07:00
Elliott Hughes
04ebb5916e am caa0deee: am 97368e82: am 242b2e0b: Merge "Use /system/lib64 and /vendor/lib64 for 64-bit libraries."
* commit 'caa0deeefbac428a048d6987d9ea0a679ca39bb7':
  Use /system/lib64 and /vendor/lib64 for 64-bit libraries.
2013-10-08 17:44:47 -07:00
Elliott Hughes
e17457fbf5 am 3c13dade: am 14b66bff: Merge "Fix malloc debugging for LP64."
* commit '3c13daded375cad5fc77613872a85639cd09f54f':
  Fix malloc debugging for LP64.
2013-10-08 17:28:25 -07:00
Elliott Hughes
5ca2f97fb6 am 5596240c: am 65e1c48d: Merge "Don\'t allow int<->pointer conversions."
* commit '5596240cc86920115cffbfe7aac66116d5136a0b':
  Don't allow int<->pointer conversions.
2013-10-08 17:28:25 -07:00
Elliott Hughes
8cc98f0b1e am 54c7ef7f: am 7027841d: Merge "Fix bionic\'s built-in stack trace dumping for LP64."
* commit '54c7ef7fbd1f79ae490eb737f558fccf3c1dbd55':
  Fix bionic's built-in stack trace dumping for LP64.
2013-10-08 17:28:24 -07:00
Elliott Hughes
3c13daded3 am 14b66bff: Merge "Fix malloc debugging for LP64."
* commit '14b66bffb08d23ad16d69b62d1fbfda769db1c12':
  Fix malloc debugging for LP64.
2013-10-08 17:22:52 -07:00
Elliott Hughes
5596240cc8 am 65e1c48d: Merge "Don\'t allow int<->pointer conversions."
* commit '65e1c48df095b2af53340ab55f687d5b1c638d66':
  Don't allow int<->pointer conversions.
2013-10-08 17:22:51 -07:00
Elliott Hughes
54c7ef7fbd am 7027841d: Merge "Fix bionic\'s built-in stack trace dumping for LP64."
* commit '7027841d8fe27f0cd42ca16db156ebea721f68a8':
  Fix bionic's built-in stack trace dumping for LP64.
2013-10-08 17:22:51 -07:00
Elliott Hughes
14b66bffb0 Merge "Fix malloc debugging for LP64." 2013-10-09 00:20:08 +00:00
Elliott Hughes
65e1c48df0 Merge "Don't allow int<->pointer conversions." 2013-10-09 00:18:50 +00:00
Elliott Hughes
7027841d8f Merge "Fix bionic's built-in stack trace dumping for LP64." 2013-10-09 00:18:44 +00:00
Elliott Hughes
2ec400bfc7 Don't allow int<->pointer conversions.
Normally we don't have -Werror for upstream code, but for those warnings
that probably point to 32-bit assumptions about pointers, we want those
warnings to always be errors.

Change-Id: Ibece9caf09b2f7989ca600ef448d07868669a8fb
2013-10-08 17:04:33 -07:00
Elliott Hughes
c7c5f85ead Fix bionic's built-in stack trace dumping for LP64.
Change-Id: I967c5789d7bb2d3d248d94d81a40d5ec4e1bf26d
2013-10-08 17:02:26 -07:00
Elliott Hughes
ef0696d46a Fix malloc debugging for LP64.
Change-Id: Idd0b239f5c66d45de315d556271a5d13b8eb907c
2013-10-08 16:18:55 -07:00
Elliott Hughes
e769368d76 am c8bd2c2e: am 458076c3: Merge "Fix the ALIGN and ALIGNBYTES macros for LP64."
* commit 'c8bd2c2e45c93b999a40449e4c6f44470f010367':
  Fix the ALIGN and ALIGNBYTES macros for LP64.
2013-10-08 16:15:33 -07:00
Elliott Hughes
c8bd2c2e45 am 458076c3: Merge "Fix the ALIGN and ALIGNBYTES macros for LP64."
* commit '458076c3c7f41c72e0d1ae8da23907f75427ca3a':
  Fix the ALIGN and ALIGNBYTES macros for LP64.
2013-10-08 16:13:17 -07:00
Elliott Hughes
458076c3c7 Merge "Fix the ALIGN and ALIGNBYTES macros for LP64." 2013-10-08 23:09:54 +00:00
Elliott Hughes
d57fbcbb0f am 6260fa50: am ee9da565: am 58522099: Merge "Make logging fall back to /dev/stderr if we\'re on the host."
* commit '6260fa5025fa4173700a6db70a244748acc5388a':
  Make logging fall back to /dev/stderr if we're on the host.
2013-10-08 16:02:35 -07:00
Ed Heyl
53f30951d3 am f87684ee: merge in KQS81M
* commit 'f87684eea10d951b056ce664bc890d7607a3c1cf':
  Use kernel default for initial thread size
2013-10-08 15:45:46 -07:00
Elliott Hughes
78df45e1d1 Fix the ALIGN and ALIGNBYTES macros for LP64.
Change-Id: I3a361255afce375ab1cefa449721f0aea4d47919
2013-10-08 15:31:44 -07:00
Elliott Hughes
42b618cffe am 58b8f225: am 5cf1f229: Merge "pthread_exit should call __NR_exit with status 0."
* commit '58b8f2256637c5b1e24b568b699fb3aa6cf0ca96':
  pthread_exit should call __NR_exit with status 0.
2013-10-08 15:06:49 -07:00
Elliott Hughes
58b8f22566 am 5cf1f229: Merge "pthread_exit should call __NR_exit with status 0."
* commit '5cf1f229620d02c0ca266c9e03418fdeefd85191':
  pthread_exit should call __NR_exit with status 0.
2013-10-08 15:04:45 -07:00
Elliott Hughes
5cf1f22962 Merge "pthread_exit should call __NR_exit with status 0." 2013-10-08 22:02:20 +00:00
Elliott Hughes
caa0deeefb am 97368e82: am 242b2e0b: Merge "Use /system/lib64 and /vendor/lib64 for 64-bit libraries."
* commit '97368e823250fcc0b48f6f392df77c275bf3c5e1':
  Use /system/lib64 and /vendor/lib64 for 64-bit libraries.
2013-10-08 14:54:01 -07:00
Elliott Hughes
97368e8232 am 242b2e0b: Merge "Use /system/lib64 and /vendor/lib64 for 64-bit libraries."
* commit '242b2e0b928f83083f60bbb856309122981299af':
  Use /system/lib64 and /vendor/lib64 for 64-bit libraries.
2013-10-08 14:52:04 -07:00
Elliott Hughes
242b2e0b92 Merge "Use /system/lib64 and /vendor/lib64 for 64-bit libraries." 2013-10-08 21:50:34 +00:00
Elliott Hughes
c4c6e192ac pthread_exit should call __NR_exit with status 0.
We shouldn't have been passing the bottom 32 bits of the address used
for pthread_join to the kernel.

Change-Id: I487e5002d60c27adba51173719213abbee0f183f
2013-10-08 14:48:05 -07:00
Elliott Hughes
011bc0ba45 Use /system/lib64 and /vendor/lib64 for 64-bit libraries.
Change-Id: I4886aeb3070bf97b4cfe8053388ecb1bda288017
2013-10-08 14:27:10 -07:00
Elliott Hughes
6260fa5025 am ee9da565: am 58522099: Merge "Make logging fall back to /dev/stderr if we\'re on the host."
* commit 'ee9da5653361f0171e417a4bcb1958a2b91f886d':
  Make logging fall back to /dev/stderr if we're on the host.
2013-10-08 13:47:48 -07:00
Elliott Hughes
ee9da56533 am 58522099: Merge "Make logging fall back to /dev/stderr if we\'re on the host."
* commit '58522099e52be3b5eba702ee6e82c03050e0dcca':
  Make logging fall back to /dev/stderr if we're on the host.
2013-10-08 13:45:05 -07:00
Elliott Hughes
58522099e5 Merge "Make logging fall back to /dev/stderr if we're on the host." 2013-10-08 20:42:36 +00:00
Elliott Hughes
0f395b7ba0 Make logging fall back to /dev/stderr if we're on the host.
Otherwise you get no logging, which sucks.

Change-Id: Iea1e8f996461afbb217a55711b7967005c39cfcb
2013-10-08 13:19:00 -07:00
Elliott Hughes
b2bd7d764f am 2f2e8b97: am 4a5c4711: am 9c710927: Merge "Use linker64 for the 64-bit linker."
* commit '2f2e8b977835ef2e4686eb5447ac555744a66088':
  Use linker64 for the 64-bit linker.
2013-10-08 11:43:28 -07:00
Elliott Hughes
2f2e8b9778 am 4a5c4711: am 9c710927: Merge "Use linker64 for the 64-bit linker."
* commit '4a5c471162b79a12402ab41a68037a2453b83eaa':
  Use linker64 for the 64-bit linker.
2013-10-08 11:41:21 -07:00
Elliott Hughes
4a5c471162 am 9c710927: Merge "Use linker64 for the 64-bit linker."
* commit '9c710927ab33a663a5ba34b15902e7062523f8e3':
  Use linker64 for the 64-bit linker.
2013-10-08 11:39:45 -07:00
Elliott Hughes
9c710927ab Merge "Use linker64 for the 64-bit linker." 2013-10-08 18:37:22 +00:00
Elliott Hughes
1c0ea7b84b am 2ad80c46: am 24f4da96: am 3df50f57: Merge "Use C99 structure initializer designator style."
* commit '2ad80c46ba862d99665fd8465c81915c6a53141c':
  Use C99 structure initializer designator style.
2013-10-08 10:13:26 -07:00
Elliott Hughes
2ad80c46ba am 24f4da96: am 3df50f57: Merge "Use C99 structure initializer designator style."
* commit '24f4da964263b04d3a89575d42272bf897cddec3':
  Use C99 structure initializer designator style.
2013-10-08 10:08:08 -07:00
Elliott Hughes
726a5017e9 am 5d389a0a: am b1f4f9aa: am 26933f40: Merge "x86_64 linker."
* commit '5d389a0acfca04993e63d984a339d91a31d22f04':
  x86_64 linker.
2013-10-08 10:06:41 -07:00
Elliott Hughes
24f4da9642 am 3df50f57: Merge "Use C99 structure initializer designator style."
* commit '3df50f57e5c106dd70483d4a0a295aa031a5906b':
  Use C99 structure initializer designator style.
2013-10-08 10:05:20 -07:00
Elliott Hughes
d7398f146d Use linker64 for the 64-bit linker.
Change-Id: I13fc7f93274f99e4cf99b077afdf5293e7233f39
2013-10-08 10:05:05 -07:00
Elliott Hughes
5d389a0acf am b1f4f9aa: am 26933f40: Merge "x86_64 linker."
* commit 'b1f4f9aabd4e9f4019e2f1637ec38e6bfdfa3c6b':
  x86_64 linker.
2013-10-08 10:04:31 -07:00
Elliott Hughes
b0395d3841 am d2e0b1e7: am 83b5acf4: am 5d06718c: Merge "Refactor the syscall generation script."
* commit 'd2e0b1e777377212ca9da0ea6dc88034cd003ca3':
  Refactor the syscall generation script.
2013-10-08 10:02:47 -07:00
Elliott Hughes
b1f4f9aabd am 26933f40: Merge "x86_64 linker."
* commit '26933f4046d7362bfd276fc208e959a733a121c2':
  x86_64 linker.
2013-10-08 10:01:46 -07:00
Elliott Hughes
3df50f57e5 Merge "Use C99 structure initializer designator style." 2013-10-08 17:01:42 +00:00
Elliott Hughes
afac15d686 Use C99 structure initializer designator style.
clang warns about using the GCC style of designator.

Change-Id: I86ec79f06c8774618082859f48d7d1f576520e32
2013-10-08 10:01:09 -07:00
Elliott Hughes
26933f4046 Merge "x86_64 linker." 2013-10-08 16:59:17 +00:00
Elliott Hughes
d2e0b1e777 am 83b5acf4: am 5d06718c: Merge "Refactor the syscall generation script."
* commit '83b5acf418544394011ee2f29829b5c1791a52eb':
  Refactor the syscall generation script.
2013-10-08 09:58:04 -07:00
Elliott Hughes
c00f2cb587 x86_64 linker.
Based on I8dc3e2cb596f75dc58ae82e4dc58f8c177dd3323 by
Pavel Chupin <pavel.v.chupin@intel.com>.

Change-Id: Icd582d277cbe273477b450f2848343d72c86ec9f
2013-10-08 09:57:01 -07:00
Elliott Hughes
83b5acf418 am 5d06718c: Merge "Refactor the syscall generation script."
* commit '5d06718cd357b509588465ec1fa261db23b5899a':
  Refactor the syscall generation script.
2013-10-08 09:55:27 -07:00
Elliott Hughes
5d06718cd3 Merge "Refactor the syscall generation script." 2013-10-08 16:53:02 +00:00
Elliott Hughes
a1edbd89f4 am 6c3e26ad: am 64cb7e36: am 0c1379e4: Merge "Fix Clang warning since KernelArgumentBlock is actually a class."
* commit '6c3e26ad3492fa4c0858d519e9bd11eb793c63b3':
  Fix Clang warning since KernelArgumentBlock is actually a class.
2013-10-08 09:21:21 -07:00
Elliott Hughes
6c3e26ad34 am 64cb7e36: am 0c1379e4: Merge "Fix Clang warning since KernelArgumentBlock is actually a class."
* commit '64cb7e36bf96850f0de1d3d8cf01cf18285797b0':
  Fix Clang warning since KernelArgumentBlock is actually a class.
2013-10-08 09:18:47 -07:00
Elliott Hughes
64cb7e36bf am 0c1379e4: Merge "Fix Clang warning since KernelArgumentBlock is actually a class."
* commit '0c1379e42ddc7f135403fb06f115ed62396c6102':
  Fix Clang warning since KernelArgumentBlock is actually a class.
2013-10-08 09:16:07 -07:00
Elliott Hughes
0c1379e42d Merge "Fix Clang warning since KernelArgumentBlock is actually a class." 2013-10-08 16:12:54 +00:00
The Android Automerger
69d17067f1 merge in master-release history after reset to master 2013-10-08 07:49:29 -07:00
Stephen Hines
99f0e1a329 Fix Clang warning since KernelArgumentBlock is actually a class.
Change-Id: Id72868d80feffbbc5f7d1e43beaed5d4e4d95f52
2013-10-08 00:08:13 -07:00
Elliott Hughes
0437f3ff29 Refactor the syscall generation script.
Primarily so that the new x86_64 alias functionality is now available for
all architectures.

Change-Id: I9fde59093a1d08de98923f121a6e3d05ec5801d2
2013-10-07 23:53:13 -07:00
Elliott Hughes
59e5ba8088 am f662660c: am 4501a00b: am d2b6b5f2: Merge "Add an optional alias list to SYSCALLS.TXT"
* commit 'f662660ca30cca565dc6e4db5ec070bdac24ce05':
  Add an optional alias list to SYSCALLS.TXT
2013-10-07 23:09:41 -07:00
Elliott Hughes
f662660ca3 am 4501a00b: am d2b6b5f2: Merge "Add an optional alias list to SYSCALLS.TXT"
* commit '4501a00be35f2fc851795ac8b15b8956eab69c27':
  Add an optional alias list to SYSCALLS.TXT
2013-10-07 23:07:09 -07:00
Elliott Hughes
4501a00be3 am d2b6b5f2: Merge "Add an optional alias list to SYSCALLS.TXT"
* commit 'd2b6b5f2dbe56f19b6143f876e2677da1735bb5d':
  Add an optional alias list to SYSCALLS.TXT
2013-10-07 23:05:08 -07:00
Elliott Hughes
d2b6b5f2db Merge "Add an optional alias list to SYSCALLS.TXT" 2013-10-08 06:03:01 +00:00
Elliott Hughes
7dcfc88302 am 911214d5: am 3fce4015: Upgrade to tzdata2013g.
* commit '911214d582cd0a58d883339ce450867e2aab9282':
  Upgrade to tzdata2013g.
2013-10-07 15:16:19 -07:00
Elliott Hughes
ed49572c04 am af19e09b: resolved conflicts for merge of e1fe52cc to klp-dev-plus-aosp
* commit 'af19e09b02c676e9cda2fae6398e34150fd3567d':
  Upgrade to tzdata2013f.
2013-10-07 15:12:39 -07:00
Elliott Hughes
911214d582 am 3fce4015: Upgrade to tzdata2013g.
* commit '3fce4015902bcf8d4257ee7624d463d92453b602':
  Upgrade to tzdata2013g.
2013-10-07 15:12:09 -07:00
Elliott Hughes
af19e09b02 resolved conflicts for merge of e1fe52cc to klp-dev-plus-aosp
Change-Id: Id3f3176a842fb4bb45f4f48773e6e27ea7d8769f
2013-10-07 15:10:00 -07:00
Elliott Hughes
e296ab8de1 am 46a091f5: resolved conflicts for merge of 21f59276 to klp-dev-plus-aosp
* commit '46a091f5f15b8a5bfae678e324a98443f6c8340f':
  Upgrade to tzdata2013e.
2013-10-07 15:08:15 -07:00
Elliott Hughes
46a091f5f1 resolved conflicts for merge of 21f59276 to klp-dev-plus-aosp
Change-Id: Idab174c61b0e3122124aece6b7bf2179aea1536d
2013-10-07 15:04:47 -07:00
Elliott Hughes
f296aece8f am 5be92401: am 101a6987: am 5d40527a: Merge "libc: fix __cxa_atexit implicit declaration"
* commit '5be92401e991779d99ab74f1577359db6a48d54d':
  libc: fix __cxa_atexit implicit declaration
2013-10-07 11:39:14 -07:00
Elliott Hughes
5be92401e9 am 101a6987: am 5d40527a: Merge "libc: fix __cxa_atexit implicit declaration"
* commit '101a6987c1e3ebfabefb1692ada492b7c0da43ee':
  libc: fix __cxa_atexit implicit declaration
2013-10-07 11:36:40 -07:00
Elliott Hughes
101a6987c1 am 5d40527a: Merge "libc: fix __cxa_atexit implicit declaration"
* commit '5d40527aba85bfbd19155a6d7a6ea3bb3a541cb6':
  libc: fix __cxa_atexit implicit declaration
2013-10-07 11:35:28 -07:00
Elliott Hughes
5d40527aba Merge "libc: fix __cxa_atexit implicit declaration" 2013-10-07 18:33:51 +00:00
synergydev
589eaa4c72 libc: fix __cxa_atexit implicit declaration
Change-Id: Iacad18b332a717e4485c83df4bd42a850ff7699f
2013-10-07 11:33:20 -07:00
Elliott Hughes
ba137b98bf am 3fc57ce6: am d8d60a92: am 04cdfa67: Merge "Clean up the x86 and x86_64 _exit_with_stack_teardown implementations."
* commit '3fc57ce6fd6c412d019bd757733c9d4e7bb28d90':
  Clean up the x86 and x86_64 _exit_with_stack_teardown implementations.
2013-10-07 10:54:59 -07:00
Elliott Hughes
3fc57ce6fd am d8d60a92: am 04cdfa67: Merge "Clean up the x86 and x86_64 _exit_with_stack_teardown implementations."
* commit 'd8d60a92e7029ff8eeae5cbe62db94972e6cc06d':
  Clean up the x86 and x86_64 _exit_with_stack_teardown implementations.
2013-10-07 10:53:08 -07:00
Elliott Hughes
d8d60a92e7 am 04cdfa67: Merge "Clean up the x86 and x86_64 _exit_with_stack_teardown implementations."
* commit '04cdfa67c7e4755ddbcd1d907f00d3cbdf6cd1f2':
  Clean up the x86 and x86_64 _exit_with_stack_teardown implementations.
2013-10-07 10:51:24 -07:00
Elliott Hughes
04cdfa67c7 Merge "Clean up the x86 and x86_64 _exit_with_stack_teardown implementations." 2013-10-07 17:49:19 +00:00
H.J. Lu
6fe4e87954 Add an optional alias list to SYSCALLS.TXT
This patch adds an optional alias list to SYSCALLS.TXT.  It is used to
create aliases for a syscall.  For x86-64, lseek64 is an alias for lseek.

Change-Id: Icb11fd2bb461ea4f5f0a26bfc585471d7d7cc468
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-07 21:37:12 +04:00
Elliott Hughes
a4330dc276 am 4d388c6a: am 019d0f33: am d262e17e: Merge "Don\'t define the meaningless SOFTFLOAT for x86."
* commit '4d388c6a32e920b76ec18203e56b38724f800229':
  Don't define the meaningless SOFTFLOAT for x86.
2013-10-07 10:35:38 -07:00
Elliott Hughes
4d388c6a32 am 019d0f33: am d262e17e: Merge "Don\'t define the meaningless SOFTFLOAT for x86."
* commit '019d0f33478f10ebd2c885e6a920d3bbed7a8de3':
  Don't define the meaningless SOFTFLOAT for x86.
2013-10-07 10:32:25 -07:00
Elliott Hughes
019d0f3347 am d262e17e: Merge "Don\'t define the meaningless SOFTFLOAT for x86."
* commit 'd262e17ec13b9a844940c12c90b30334f6ad744c':
  Don't define the meaningless SOFTFLOAT for x86.
2013-10-07 10:29:32 -07:00
Elliott Hughes
d262e17ec1 Merge "Don't define the meaningless SOFTFLOAT for x86." 2013-10-07 17:27:18 +00:00
Elliott Hughes
a97cc5b458 Clean up the x86 and x86_64 _exit_with_stack_teardown implementations.
Change-Id: I4bcbbc53893612bd94643ef07722becb00f91792
2013-10-07 10:25:11 -07:00
Elliott Hughes
ee489f6ad2 Don't define the meaningless SOFTFLOAT for x86.
Change-Id: I9f932ad5d9f731a0de18efb881d02cedf9fcbede
2013-10-07 09:53:44 -07:00
The Android Automerger
b8832b3a63 merge in master-release history after reset to master 2013-10-07 07:50:50 -07:00
Elliott Hughes
b2018b5025 am 22678c4d: am dd384c3e: am a6e9ae80: Merge "Fix MIPS build."
* commit '22678c4db9cb6e72f1b8ae3e0896cb0a98bb26e9':
  Fix MIPS build.
2013-10-06 22:39:08 -07:00
Elliott Hughes
22678c4db9 am dd384c3e: am a6e9ae80: Merge "Fix MIPS build."
* commit 'dd384c3e7bae2e55981aeadee42f5ee0049219ec':
  Fix MIPS build.
2013-10-06 22:37:44 -07:00
Elliott Hughes
dd384c3e7b am a6e9ae80: Merge "Fix MIPS build."
* commit 'a6e9ae80e51bffa40e600beb38e7796d2ef45242':
  Fix MIPS build.
2013-10-06 22:35:05 -07:00
Elliott Hughes
a6e9ae80e5 Merge "Fix MIPS build." 2013-10-07 05:32:56 +00:00
Elliott Hughes
21e7164335 Fix MIPS build.
Although 'register' is deprecated, we need to use v1, and there's
no way to do that through register constraints on the assembler
fragment itself.

Change-Id: Ib5b12c4c3652513d10cc61d4a4b11314ece25663
2013-10-06 22:29:17 -07:00
Elliott Hughes
fd58a7d531 am ddd8a917: am 06ac96d1: am 4e965d95: Merge "libc: Remove deprecated register"
* commit 'ddd8a91729fc3d917134ba6b4ccf7d01303633d5':
  libc: Remove deprecated register
2013-10-06 21:49:04 -07:00
Elliott Hughes
ddd8a91729 am 06ac96d1: am 4e965d95: Merge "libc: Remove deprecated register"
* commit '06ac96d134fe5c5f3797ef2adc9df837c45d74f3':
  libc: Remove deprecated register
2013-10-06 21:47:25 -07:00
Elliott Hughes
06ac96d134 am 4e965d95: Merge "libc: Remove deprecated register"
* commit '4e965d95cfe19cc7d3aefd9b8d0ad607475793fe':
  libc: Remove deprecated register
2013-10-06 21:45:58 -07:00
Elliott Hughes
4e965d95cf Merge "libc: Remove deprecated register" 2013-10-07 04:43:57 +00:00
Elliott Hughes
4d34e8d937 am 51bbfd6f: am 8eafc786: am fcfb6822: Merge "Upgrade to tzdata2013g."
* commit '51bbfd6fb20f983fb342ef260b8855d2b9ab98f8':
  Upgrade to tzdata2013g.
2013-10-06 20:06:03 -07:00
Elliott Hughes
51bbfd6fb2 am 8eafc786: am fcfb6822: Merge "Upgrade to tzdata2013g."
* commit '8eafc786eadea69cd1e7fde8afd9372a94dffff6':
  Upgrade to tzdata2013g.
2013-10-06 20:03:24 -07:00
Elliott Hughes
8eafc786ea am fcfb6822: Merge "Upgrade to tzdata2013g."
* commit 'fcfb6822d1cd26d754d6f6f3bfd737b33c55b7db':
  Upgrade to tzdata2013g.
2013-10-06 20:00:14 -07:00
Elliott Hughes
fcfb6822d1 Merge "Upgrade to tzdata2013g." 2013-10-07 02:57:30 +00:00
synergydev
baa5874404 libc: Remove deprecated register
In c++11, register has been deprecated, and
libc is now built as gnu++11

From the documentation:
A register specifier is a hint to the implementation
that the variable so declared will be heavily used.
[ Note: The hint can be ignored and in most implementations
it will be ignored if the address of the variable is taken.
This use is deprecated (see D.2)

Change-Id: I459dc3f5f9de63fc09eeda3bc6700f31bdf20f6f
2013-10-06 13:25:02 -07:00
Elliott Hughes
40f072192f Upgrade to tzdata2013g.
From the release notes:

  Changes affecting current and near-future time stamps

    Morocco now observes DST from the last Sunday in March to the last
    Sunday in October, not April to September respectively.  (Thanks
    to Steffen Thorsen.)

Change-Id: I9a657a1b819ce17bb424474d4bcdae093f4c4dca
2013-10-06 11:35:34 -07:00
Elliott Hughes
42f9e130c4 am 9258c7b2: am b7d77a9e: am 56777421: Merge "Add arch-x86_64/include/machine."
* commit '9258c7b23edbc761bf4a5cec2f57f83574d6aec6':
  Add arch-x86_64/include/machine.
2013-10-04 17:36:58 -07:00
Elliott Hughes
11ef89183e am 12e62b4f: am fb8ce528: am 8fb977ba: Merge "Add arch-x86_64/bionic."
* commit '12e62b4fe73cb9a769e3ef4ef937bb4b7ba6d293':
  Add arch-x86_64/bionic.
2013-10-04 17:35:59 -07:00
Elliott Hughes
9258c7b23e am b7d77a9e: am 56777421: Merge "Add arch-x86_64/include/machine."
* commit 'b7d77a9eb1effd5f0472dff14a8fe77d9da2c7a2':
  Add arch-x86_64/include/machine.
2013-10-04 16:21:25 -07:00
Elliott Hughes
b7d77a9eb1 am 56777421: Merge "Add arch-x86_64/include/machine."
* commit '5677742199456e96a5f5e006102a0bafa79747b2':
  Add arch-x86_64/include/machine.
2013-10-04 16:19:29 -07:00
Elliott Hughes
5677742199 Merge "Add arch-x86_64/include/machine." 2013-10-04 23:17:31 +00:00
Elliott Hughes
72645164b6 Add arch-x86_64/include/machine.
This is basically the other half of I5de76f6c46ac87779f207d568a86bb453e2414de
from Pavel Chupin <pavel.v.chupin@intel.com>, but taking the exact upstream
_types.h instead of the modified version. (I was confused when I suggested
otherwise.)

I've also cleaned up the internal_types.h situation; we weren't gaining
anything from these empty files, and there is no upstream internal_types.h
for x86_64.

Change-Id: I802a9a6a8df1c979e820659212c75a47c2ef392e
2013-10-04 16:10:13 -07:00
Elliott Hughes
12e62b4fe7 am fb8ce528: am 8fb977ba: Merge "Add arch-x86_64/bionic."
* commit 'fb8ce528373555a4b2782343e0b19e0b074e8e92':
  Add arch-x86_64/bionic.
2013-10-04 15:06:24 -07:00
Elliott Hughes
fb8ce52837 am 8fb977ba: Merge "Add arch-x86_64/bionic."
* commit '8fb977ba114e3fcb4965bc0211d3f9a409915994':
  Add arch-x86_64/bionic.
2013-10-04 15:04:53 -07:00
Elliott Hughes
8fb977ba11 Merge "Add arch-x86_64/bionic." 2013-10-04 22:02:07 +00:00
Elliott Hughes
4906e5653c Add arch-x86_64/bionic.
This is basically half of I5de76f6c46ac87779f207d568a86bb453e2414de from
Pavel Chupin <pavel.v.chupin@intel.com>, but with the stock upstream
setjump/sigsetjmp and H.J. Lu's suggested changes to __rt_sigreturn.

Change-Id: I8167ec228faeb2065391e5bec0413cca662f3d33
2013-10-04 14:55:30 -07:00
Nick Kralevich
5603abb7df am 7909bd19: am 9da8b682: am c417d0a5: Merge "Make error messages even better!"
* commit '7909bd19ab471a087fc802a15ac11cc4e3bdc68e':
  Make error messages even better!
2013-10-04 12:06:07 -07:00
Elliott Hughes
f286749213 am 83b719a8: am c89f1db0: am 7021e438: Merge "x86_64: Remove lseek64 for x86_64 for a while"
* commit '83b719a88e1e816d1eb0279dc9c35f92574fe920':
  x86_64: Remove lseek64 for x86_64 for a while
2013-10-04 12:06:06 -07:00
Nick Kralevich
7909bd19ab am 9da8b682: am c417d0a5: Merge "Make error messages even better!"
* commit '9da8b6829cb8febb70af46761b7f2ca19e6498ce':
  Make error messages even better!
2013-10-04 12:02:57 -07:00
Elliott Hughes
83b719a88e am c89f1db0: am 7021e438: Merge "x86_64: Remove lseek64 for x86_64 for a while"
* commit 'c89f1db0a92e4530f1a1686b3629d3d3960f825f':
  x86_64: Remove lseek64 for x86_64 for a while
2013-10-04 12:02:57 -07:00
Elliott Hughes
4dd49d3a8d am bc109ea4: am aa3c74d1: am 57d9cebb: Merge "Remove useless x86 fallbacks."
* commit 'bc109ea47d85f1f1fb40e6fed537d2885ec33e47':
  Remove useless x86 fallbacks.
2013-10-04 12:02:47 -07:00
Nick Kralevich
9da8b6829c am c417d0a5: Merge "Make error messages even better!"
* commit 'c417d0a5cd0743d691fc63cc1007979b836945a0':
  Make error messages even better!
2013-10-04 11:56:57 -07:00
Elliott Hughes
c89f1db0a9 am 7021e438: Merge "x86_64: Remove lseek64 for x86_64 for a while"
* commit '7021e438771f5328843e35e948838bf74392d353':
  x86_64: Remove lseek64 for x86_64 for a while
2013-10-04 11:56:56 -07:00
Elliott Hughes
bc109ea47d am aa3c74d1: am 57d9cebb: Merge "Remove useless x86 fallbacks."
* commit 'aa3c74d175634ab2222ee5a771b01e7434093dbf':
  Remove useless x86 fallbacks.
2013-10-04 11:53:25 -07:00
Nick Kralevich
c417d0a5cd Merge "Make error messages even better!" 2013-10-04 18:48:47 +00:00
Nick Kralevich
6861c6f85e Make error messages even better!
Change-Id: I72bd1eb1d526dc59833e5bc3c636171f7f9545af
2013-10-04 11:43:30 -07:00
Elliott Hughes
7021e43877 Merge "x86_64: Remove lseek64 for x86_64 for a while" 2013-10-04 18:30:56 +00:00
Pavel Chupin
9373bbb24b x86_64: Remove lseek64 for x86_64 for a while
Just to keep x86_64 libc buildable

Change-Id: I6e69abe2b699bc4ac12e41178ee080df5dac47b7
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-04 11:30:27 -07:00
Elliott Hughes
ce1c699945 am 10ab1ec3: am 82d974c7: am a81fd294: Merge "Fixed ASM_ALIGN macro"
* commit '10ab1ec3193e44181fac4b366662995972716a28':
  Fixed ASM_ALIGN macro
2013-10-04 11:11:20 -07:00
Nick Kralevich
553e53d7c6 am e0a14e75: am ed1f8ea0: am bf452313: Merge "FORTIFY_SOURCE: emphasize prevention in error messages."
* commit 'e0a14e7573892015181b9b7ae9be2ce13a5b3ca8':
  FORTIFY_SOURCE: emphasize prevention in error messages.
2013-10-04 11:11:19 -07:00
Elliott Hughes
14572ce1bc am 9d3b4b48: am 71e0b240: am 41ba05e2: Merge "x86_64: Fix get_tls and statvfs"
* commit '9d3b4b48d87cb1f8a2ab41d3f5c431ce50418f94':
  x86_64: Fix get_tls and statvfs
2013-10-04 11:11:19 -07:00
Elliott Hughes
5c49cd4df3 am be7b6408: am 6d923d49: am 14102932: Merge "Move common arch-* code to arch-common directory"
* commit 'be7b6408b383f4d2ba5a696a3fc64275d11b1c14':
  Move common arch-* code to arch-common directory
2013-10-04 11:11:18 -07:00
Nick Kralevich
8358f7a992 am 2837f830: am 687c7e3e: am e8dc673c: Merge "Don\'t export unnecessary symbol."
* commit '2837f830685bfc52d1a843882bf6d04420213ed5':
  Don't export unnecessary symbol.
2013-10-04 11:09:38 -07:00
Nick Kralevich
fa85e3d7d8 am 6f103689: am 2e819c58: am 2ff3c746: Merge "Check memory size on FD_* functions"
* commit '6f103689268a8f6c6177b9c17d72436776a27b22':
  Check memory size on FD_* functions
2013-10-04 11:09:38 -07:00
Elliott Hughes
aa3c74d175 am 57d9cebb: Merge "Remove useless x86 fallbacks."
* commit '57d9cebbeaa63b9c3ca5c4f66938154fe7bb870c':
  Remove useless x86 fallbacks.
2013-10-04 11:07:03 -07:00
Elliott Hughes
57d9cebbea Merge "Remove useless x86 fallbacks." 2013-10-04 18:05:48 +00:00
Elliott Hughes
10ab1ec319 am 82d974c7: am a81fd294: Merge "Fixed ASM_ALIGN macro"
* commit '82d974c7ef88f7f796794f2417dd707cc5be6a9c':
  Fixed ASM_ALIGN macro
2013-10-04 09:58:26 -07:00
Nick Kralevich
e0a14e7573 am ed1f8ea0: am bf452313: Merge "FORTIFY_SOURCE: emphasize prevention in error messages."
* commit 'ed1f8ea0369195aa0c3aa9926a94efa26fd14639':
  FORTIFY_SOURCE: emphasize prevention in error messages.
2013-10-04 09:58:25 -07:00
Elliott Hughes
9d3b4b48d8 am 71e0b240: am 41ba05e2: Merge "x86_64: Fix get_tls and statvfs"
* commit '71e0b240ed980e77f736be2a27d255d64747b388':
  x86_64: Fix get_tls and statvfs
2013-10-04 09:58:23 -07:00
Elliott Hughes
be7b6408b3 am 6d923d49: am 14102932: Merge "Move common arch-* code to arch-common directory"
* commit '6d923d497373c160f6fdddd42f5ed56e7bf0923a':
  Move common arch-* code to arch-common directory
2013-10-04 09:58:23 -07:00
Elliott Hughes
82d974c7ef am a81fd294: Merge "Fixed ASM_ALIGN macro"
* commit 'a81fd294be55f8781dbf22f381a3335212d8dbd9':
  Fixed ASM_ALIGN macro
2013-10-04 09:26:44 -07:00
Elliott Hughes
a81fd294be Merge "Fixed ASM_ALIGN macro" 2013-10-04 16:25:47 +00:00
Nick Kralevich
ed1f8ea036 am bf452313: Merge "FORTIFY_SOURCE: emphasize prevention in error messages."
* commit 'bf452313b0fcc2a14e55435b93eebd0ead73ad3e':
  FORTIFY_SOURCE: emphasize prevention in error messages.
2013-10-04 09:23:26 -07:00
Nick Kralevich
bf452313b0 Merge "FORTIFY_SOURCE: emphasize prevention in error messages." 2013-10-04 16:20:20 +00:00
Nick Kralevich
e2617290fc FORTIFY_SOURCE: emphasize prevention in error messages.
FORTIFY_SOURCE prevents buffer overflows from occurring.
However, the error message often implies that we only
detect it, not prevent it.

Bring more clarity to the error messages by emphasizing
prevention over detection.

Change-Id: I5f3e1478673bdfc589e6cc4199fce8e52e197a24
2013-10-04 08:57:17 -07:00
Pavel Chupin
719269db18 Fixed ASM_ALIGN macro
Got it all wrong on first patch. Somehow that didn't affect system
build, neither arm nor x86... something to think about.

Change-Id: I45416d843aad44af62841c6f6ab607ccf3f012ea
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-04 11:12:58 +04:00
Elliott Hughes
7e841ed688 Remove useless x86 fallbacks.
The NDK ABI requires that you support SSE2, and the build system won't let you
build with ARCH_X86_HAVE_SSE2 set to false. So let's stop pretending this
constant is actually a variable, and let's remove the corresponding dead code.

Also, the USE_SSE2 and USE_SSE3 macros are unused, so let's not bother
setting them.

Change-Id: I40b501d998530d22518ce1c4d14575513a8125bb
2013-10-03 23:30:33 -07:00
Elliott Hughes
71e0b240ed am 41ba05e2: Merge "x86_64: Fix get_tls and statvfs"
* commit '41ba05e22ed1829cc7431fd4899cfa5725c76044':
  x86_64: Fix get_tls and statvfs
2013-10-03 21:23:28 -07:00
Elliott Hughes
41ba05e22e Merge "x86_64: Fix get_tls and statvfs" 2013-10-04 00:34:50 +00:00
Pavel Chupin
1e52a54a47 x86_64: Fix get_tls and statvfs
* bionic_tls.h - Add x86_64 version of get_tls macro;
* statvfs.h - 64-bit kernels don't have __statfs64/__fstatfs64, applying
workaround;

Change-Id: I20d7ddad74c7b7243866373d0142da6627c08280
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-03 17:31:50 -07:00
Elliott Hughes
6d923d4973 am 14102932: Merge "Move common arch-* code to arch-common directory"
* commit '141029327cdc62629e248b3be1d7a58d4e9e5ba8':
  Move common arch-* code to arch-common directory
2013-10-03 16:20:28 -07:00
Elliott Hughes
141029327c Merge "Move common arch-* code to arch-common directory" 2013-10-03 23:17:58 +00:00
Nick Kralevich
2837f83068 am 687c7e3e: am e8dc673c: Merge "Don\'t export unnecessary symbol."
* commit '687c7e3ece0f485c79654ca0c4da15b86b1f8a7f':
  Don't export unnecessary symbol.
2013-10-03 15:57:09 -07:00
Nick Kralevich
6f10368926 am 2e819c58: am 2ff3c746: Merge "Check memory size on FD_* functions"
* commit '2e819c58c9396eec3e4311ef2c9bdcadd107f001':
  Check memory size on FD_* functions
2013-10-03 15:57:09 -07:00
Nick Kralevich
687c7e3ece am e8dc673c: Merge "Don\'t export unnecessary symbol."
* commit 'e8dc673ca56556389ad06ce1bb55e6624b4db721':
  Don't export unnecessary symbol.
2013-10-03 15:54:27 -07:00
Nick Kralevich
2e819c58c9 am 2ff3c746: Merge "Check memory size on FD_* functions"
* commit '2ff3c746aeafeac9d1019bed97a99346515516af':
  Check memory size on FD_* functions
2013-10-03 15:54:27 -07:00
Nick Kralevich
e8dc673ca5 Merge "Don't export unnecessary symbol." 2013-10-03 22:52:02 +00:00
Nick Kralevich
2ff3c746ae Merge "Check memory size on FD_* functions" 2013-10-03 22:46:49 +00:00
Nick Kralevich
7943df62f7 Check memory size on FD_* functions
Make sure the buffer we're dealing with has enough room.
Might as well check for memory issues while we're here,
even though I don't imagine they'll happen in practice.

Change-Id: I0ae1f0f06aca9ceb91e58c70183bb14e275b92b5
2013-10-03 15:45:10 -07:00
Christopher Ferris
781f764799 am 1a086a52: am 270c52da: am 1fe477fc: Merge "Add dependencies on included makefiles."
* commit '1a086a52d30930893bfc6b2826127120f6482bec':
  Add dependencies on included makefiles.
2013-10-03 15:00:46 -07:00
Nick Kralevich
35c1862cdf Don't export unnecessary symbol.
Change-Id: I8b1d75a08476c41dd8e3f09fc93a3df617928f88
2013-10-03 14:59:05 -07:00
Christopher Ferris
1a086a52d3 am 270c52da: am 1fe477fc: Merge "Add dependencies on included makefiles."
* commit '270c52da0db68c6961eb576b67adc0c41c418763':
  Add dependencies on included makefiles.
2013-10-03 14:57:21 -07:00
Christopher Ferris
270c52da0d am 1fe477fc: Merge "Add dependencies on included makefiles."
* commit '1fe477fcb77ba29ef3264f689e7002f6512715ab':
  Add dependencies on included makefiles.
2013-10-03 14:40:12 -07:00
Christopher Ferris
1fe477fcb7 Merge "Add dependencies on included makefiles." 2013-10-03 21:35:37 +00:00
Christopher Ferris
d7a632948d Add dependencies on included makefiles.
Bug: 11050594

Merge from internal master.

(cherry-picked from f389284e86bbcbdb257d7388a17fde007113b0d6)

Change-Id: I2b3e38329a09d26c16870906f9ed1257e2a9dbc8
2013-10-03 14:17:14 -07:00
Christopher Ferris
8037096a22 Merge "Add dependencies on included makefiles." 2013-10-03 21:15:51 +00:00
Christopher Ferris
f389284e86 Add dependencies on included makefiles.
Bug: 11050594
Change-Id: I5e6e1965f9c0c493921cf59c974b3bcbaea40c22
2013-10-03 13:33:07 -07:00
Christopher Ferris
4ef13c1069 am bdc610ab: am dc7f8ddc: am 6088047a: Merge "Remove dead files."
* commit 'bdc610aba53feafe130b749c3cbffc36d6a70d1b':
  Remove dead files.
2013-10-03 13:29:50 -07:00
Christopher Ferris
bdc610aba5 am dc7f8ddc: am 6088047a: Merge "Remove dead files."
* commit 'dc7f8ddc227e833b889eb1eedc16b9b5827fc127':
  Remove dead files.
2013-10-03 13:26:38 -07:00
Christopher Ferris
dc7f8ddc22 am 6088047a: Merge "Remove dead files."
* commit '6088047a64abb1e8a27fcb9868b00a630fbdfed4':
  Remove dead files.
2013-10-03 13:23:45 -07:00
Christopher Ferris
6088047a64 Merge "Remove dead files." 2013-10-03 19:53:21 +00:00
Christopher Ferris
fc4d70fe54 Remove dead files.
memcpy.a15.S/strcmp.a15.S files were submitted by ARM for use as the basis
for the memcpy/strcmp implementations in cortex-a15.

memset.S was moved in to the generic directory.

NOTE: memcpy.a9.S was submitted by Linaro to be the basis for the memcpy
for cortex-a9/cortex-a15 but has not been incorporated yet.

Bug: 10971279

Merge from internal master.

(cherry-picked from 48fc3e8b9fe7241ecf8ad61248247986742f05b6)

Change-Id: I8f9297578990d517f004e4e8840e2b2cbd5a47d8
2013-10-03 12:35:56 -07:00
Christopher Ferris
7ffc1db51a Merge "Remove dead files." 2013-10-03 19:34:56 +00:00
Christopher Ferris
48fc3e8b9f Remove dead files.
memcpy.a15.S/strcmp.a15.S files were submitted by ARM for use as the basis
for the memcpy/strcmp implementations in cortex-a15.

memset.S was moved in to the generic directory.

NOTE: memcpy.a9.S was submitted by Linaro to be the basis for the memcpy
for cortex-a9/cortex-a15 but has not been incorporated yet.

Bug: 10971279

Change-Id: Id8d97c888b4b9951cf49e1d94902501960720d56
2013-10-03 11:19:40 -07:00
The Android Automerger
35c52e7503 merge in master-release history after reset to master 2013-10-03 07:50:22 -07:00
Pavel Chupin
b49c17c2bf Move common arch-* code to arch-common directory
Will be helpful on adding x86_64

Change-Id: I96cf6fc7912c02f289c75f07ae0079c32d69173f
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-03 11:14:33 +04:00
Christopher Ferris
9b9787bbdd am de7ed18d: am 0292c1c8: am 3901b1bd: Merge "Remove the __ARM_FEATURE_DSP check."
* commit 'de7ed18df0f22e1b91bc16072956af8a0d9abaa3':
  Remove the __ARM_FEATURE_DSP check.
2013-10-02 23:29:47 -07:00
Christopher Ferris
de7ed18df0 am 0292c1c8: am 3901b1bd: Merge "Remove the __ARM_FEATURE_DSP check."
* commit '0292c1c81dfed23a32d46fb0b089b7eccb87e21e':
  Remove the __ARM_FEATURE_DSP check.
2013-10-02 23:27:06 -07:00
Christopher Ferris
0292c1c81d am 3901b1bd: Merge "Remove the __ARM_FEATURE_DSP check."
* commit '3901b1bdd939973a72e01272177757b2524995d3':
  Remove the __ARM_FEATURE_DSP check.
2013-10-02 23:25:08 -07:00
Christopher Ferris
3901b1bdd9 Merge "Remove the __ARM_FEATURE_DSP check." 2013-10-03 06:22:27 +00:00
Christopher Ferris
aec1b3540a Remove the __ARM_FEATURE_DSP check.
The check for __ARM_FEATURE_DSP being defined is pointless since it
is always defined.

Bug: 10971279

Merge from internal master.

(cherry-picked from d2642fa70cfbd77286514e1123fcd280d7f7047f)

Change-Id: If23ab3271f4da0c38cd531ffdc9a7e5eed6ec5dc
2013-10-02 23:14:01 -07:00
Christopher Ferris
23517fb8f3 Merge "Remove the __ARM_FEATURE_DSP check." 2013-10-03 06:11:36 +00:00
Elliott Hughes
9f379b3d84 am fa9fb5cb: am 2a3d760e: am 00a816e5: Merge "Fix 32-bit issues in tests, and add a trivial test for the FD_* macros."
* commit 'fa9fb5cb01986ac77ea4f7c54b2f419ac47989d3':
  Fix 32-bit issues in tests, and add a trivial test for the FD_* macros.
2013-10-02 21:06:26 -07:00
Elliott Hughes
fa9fb5cb01 am 2a3d760e: am 00a816e5: Merge "Fix 32-bit issues in tests, and add a trivial test for the FD_* macros."
* commit '2a3d760e0fc0cbd2cac03754949457c062ced5f5':
  Fix 32-bit issues in tests, and add a trivial test for the FD_* macros.
2013-10-02 21:04:32 -07:00
Elliott Hughes
2a3d760e0f am 00a816e5: Merge "Fix 32-bit issues in tests, and add a trivial test for the FD_* macros."
* commit '00a816e5874153ae3103af869182a81b31445388':
  Fix 32-bit issues in tests, and add a trivial test for the FD_* macros.
2013-10-02 21:02:43 -07:00
Elliott Hughes
00a816e587 Merge "Fix 32-bit issues in tests, and add a trivial test for the FD_* macros." 2013-10-03 04:00:30 +00:00
Elliott Hughes
306bc829c7 am b8b8b6dc: am 14d5e22f: am 66b18dd4: Merge "Fix the x86_64 fenv.h."
* commit 'b8b8b6dc2e602b153837a85ebc59814ecfbed018':
  Fix the x86_64 fenv.h.
2013-10-02 20:53:38 -07:00
Elliott Hughes
b8b8b6dc2e am 14d5e22f: am 66b18dd4: Merge "Fix the x86_64 fenv.h."
* commit '14d5e22feef2f097bf7139c2f452d2810970651a':
  Fix the x86_64 fenv.h.
2013-10-02 20:51:50 -07:00
Elliott Hughes
14d5e22fee am 66b18dd4: Merge "Fix the x86_64 fenv.h."
* commit '66b18dd4e4294de72728f51af61b79f6f7885a2f':
  Fix the x86_64 fenv.h.
2013-10-02 20:50:21 -07:00
Elliott Hughes
66b18dd4e4 Merge "Fix the x86_64 fenv.h." 2013-10-03 03:48:19 +00:00
Nick Kralevich
4551a6e643 am 670f3724: am b6201932: am 2c701a1b: Merge "libc: don\'t export unnecessary symbols"
* commit '670f372470cc6f885fd035495b14b8890763f665':
  libc: don't export unnecessary symbols
2013-10-02 20:28:01 -07:00
Christopher Ferris
d2642fa70c Remove the __ARM_FEATURE_DSP check.
The check for __ARM_FEATURE_DSP being defined is pointless since it
is always defined.

Bug: 10971279

Change-Id: Id3f709cf9fd0e5a001be1a7dab5f249bcc16fe4c
2013-10-02 17:05:00 -07:00
Nick Kralevich
670f372470 am b6201932: am 2c701a1b: Merge "libc: don\'t export unnecessary symbols"
* commit 'b6201932838c46a567e3411047719fd5c2797e96':
  libc: don't export unnecessary symbols
2013-10-02 17:03:42 -07:00
Elliott Hughes
361847f9ac Fix the x86_64 fenv.h.
We should clean all the fenv.h files up, but not now. I've raised
bug 11050744 as a reminder.

Change-Id: I640c15b0f0477ec1a7891c031860404875bbe4b5
2013-10-02 17:02:58 -07:00
Nick Kralevich
b620193283 am 2c701a1b: Merge "libc: don\'t export unnecessary symbols"
* commit '2c701a1bac2bd852b68f5a2e50c2c60fa82266e0':
  libc: don't export unnecessary symbols
2013-10-02 17:01:22 -07:00
Nick Kralevich
2c701a1bac Merge "libc: don't export unnecessary symbols" 2013-10-02 23:59:23 +00:00
Elliott Hughes
5b9310e502 Fix 32-bit issues in tests, and add a trivial test for the FD_* macros.
Change-Id: Ia3f21ce1f0ed9236527fe44d36ccb7de6bf63113
2013-10-02 16:59:05 -07:00
Nick Kralevich
32bbf8a63b libc: don't export unnecessary symbols
Symbols associated with the internal implementation of memcpy
like routines should be private.

Change-Id: I2b1d1f59006395c29d518c153928437b08f93d16
2013-10-02 16:54:58 -07:00
Nick Kralevich
6166d30386 am 56343733: am 8598cd68: am f741e1c2: Merge "FORTIFY_SOURCE: Add __FD_* checks"
* commit '5634373320d7dac30fa68feeb4d3b883566461ac':
  FORTIFY_SOURCE: Add __FD_* checks
2013-10-02 16:35:44 -07:00
Nick Kralevich
5634373320 am 8598cd68: am f741e1c2: Merge "FORTIFY_SOURCE: Add __FD_* checks"
* commit '8598cd6888366008033286113bd633b44c70b7dd':
  FORTIFY_SOURCE: Add __FD_* checks
2013-10-02 16:30:51 -07:00
Nick Kralevich
8598cd6888 am f741e1c2: Merge "FORTIFY_SOURCE: Add __FD_* checks"
* commit 'f741e1c2ed27f153e92a2a36c9db3b189f9a6388':
  FORTIFY_SOURCE: Add __FD_* checks
2013-10-02 16:28:00 -07:00
Nick Kralevich
f741e1c2ed Merge "FORTIFY_SOURCE: Add __FD_* checks" 2013-10-02 23:26:50 +00:00
Nick Kralevich
90201d5eca FORTIFY_SOURCE: Add __FD_* checks
Add FORTIFY_SOURCE checks for the following macros:

* FD_CLR
* FD_ISSET
* FD_SET

Bug: 11047121
Change-Id: I3c5952136aec9eff3288b91b1318677ff971525c
2013-10-02 16:11:30 -07:00
Stephen Hines
689d0ed781 am a6d4acc9: am 1986d369: am 32c0c6e7: Merge "Use gnu++11 and gnu99 explicitly for C++/C files."
* commit 'a6d4acc9f957a1d079e646a3bb6ee4a6504b6220':
  Use gnu++11 and gnu99 explicitly for C++/C files.
2013-10-02 15:25:27 -07:00
Stephen Hines
a6d4acc9f9 am 1986d369: am 32c0c6e7: Merge "Use gnu++11 and gnu99 explicitly for C++/C files."
* commit '1986d36957089bfc8a9d8135768f067395e98bd5':
  Use gnu++11 and gnu99 explicitly for C++/C files.
2013-10-02 15:22:56 -07:00
Stephen Hines
1986d36957 am 32c0c6e7: Merge "Use gnu++11 and gnu99 explicitly for C++/C files."
* commit '32c0c6e7d56ea2fad0a362f37bb84937b82c3be2':
  Use gnu++11 and gnu99 explicitly for C++/C files.
2013-10-02 15:20:36 -07:00
Stephen Hines
32c0c6e7d5 Merge "Use gnu++11 and gnu99 explicitly for C++/C files." 2013-10-02 22:18:26 +00:00
Nick Kralevich
e1bcd57469 am 944ce989: am f7da611b: am 00d51c9f: Merge "Use alloc_size attribute on *alloc functions"
* commit '944ce989f8d9c4fa1c8211ac5aa46693346e1fe0':
  Use alloc_size attribute on *alloc functions
2013-10-02 14:41:52 -07:00
Nick Kralevich
944ce989f8 am f7da611b: am 00d51c9f: Merge "Use alloc_size attribute on *alloc functions"
* commit 'f7da611b3dedaf9951e08b0296daf67eda8228c0':
  Use alloc_size attribute on *alloc functions
2013-10-02 14:38:12 -07:00
Nick Kralevich
f7da611b3d am 00d51c9f: Merge "Use alloc_size attribute on *alloc functions"
* commit '00d51c9f6e9b3f10bddad80b3938ffa553094578':
  Use alloc_size attribute on *alloc functions
2013-10-02 14:35:03 -07:00
Nick Kralevich
00d51c9f6e Merge "Use alloc_size attribute on *alloc functions" 2013-10-02 21:31:43 +00:00
Nick Kralevich
b91791d71c Use alloc_size attribute on *alloc functions
malloc and family were not declared with __attribute__((alloc_size)).
This was (sometimes) preventing FORTIFY_SOURCE related functions
from knowing the size of the buffer it's dealing with, inhibiting
FORTIFY_SOURCE protections.

Add __attribute__((alloc_size))

Information about the alloc_size attribute can be found
at http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html

Change-Id: Ia2f0a445f0170a7325f69259b5e7fb35a9f14921
2013-10-02 14:14:40 -07:00
Stephen Hines
762cea46f0 Use gnu++11 and gnu99 explicitly for C++/C files.
Clang and gcc default to different standards, so we should be explicit
about the versions we want to compile for.

Change-Id: I65495a2392dd29f36373b94c616c2506173e6033
2013-10-02 12:37:16 -07:00
Elliott Hughes
ade1e9d268 am a0a5a501: am 2e2a4f97: am 4bbf3a8b: Merge "Remove #define _BITSIZE 32."
* commit 'a0a5a5015210585abc426a79e51b8cb70e28569d':
  Remove #define _BITSIZE 32.
2013-10-02 10:11:46 -07:00
Elliott Hughes
a0a5a50152 am 2e2a4f97: am 4bbf3a8b: Merge "Remove #define _BITSIZE 32."
* commit '2e2a4f97bfbb7b94d12690395c5cbcf7d7d1edc7':
  Remove #define _BITSIZE 32.
2013-10-02 10:10:27 -07:00
Elliott Hughes
2e2a4f97bf am 4bbf3a8b: Merge "Remove #define _BITSIZE 32."
* commit '4bbf3a8b558ea8b5ce62f2d1ee2599a8e95c21c0':
  Remove #define _BITSIZE 32.
2013-10-02 10:08:58 -07:00
Elliott Hughes
4bbf3a8b55 Merge "Remove #define _BITSIZE 32." 2013-10-02 17:06:44 +00:00
Stephen Hines
f32a5dc7b1 am 9218adc3: am 62f95981: am 70e1730c: Merge "Remove _FORTIFY_SOURCE in implementation files."
* commit '9218adc3909ee4d549526bba546203c8e1a16344':
  Remove _FORTIFY_SOURCE in implementation files.
2013-10-02 09:39:15 -07:00
Stephen Hines
3db26e87e7 am 95fa8962: am dcffa999: am e0e6409c: Merge "Add simple implementation _Unwind_GetIP() for clang compiles."
* commit '95fa896206b82f2d8c2c26681511caf5d6c896f6':
  Add simple implementation _Unwind_GetIP() for clang compiles.
2013-10-02 09:39:14 -07:00
Stephen Hines
9218adc390 am 62f95981: am 70e1730c: Merge "Remove _FORTIFY_SOURCE in implementation files."
* commit '62f95981df783575efd44cb4206be7b2cbdfcf1c':
  Remove _FORTIFY_SOURCE in implementation files.
2013-10-02 09:33:27 -07:00
Stephen Hines
95fa896206 am dcffa999: am e0e6409c: Merge "Add simple implementation _Unwind_GetIP() for clang compiles."
* commit 'dcffa9998e95dc0fb89d0c9e0ae51a0557d5b2b4':
  Add simple implementation _Unwind_GetIP() for clang compiles.
2013-10-02 09:33:27 -07:00
Stephen Hines
62f95981df am 70e1730c: Merge "Remove _FORTIFY_SOURCE in implementation files."
* commit '70e1730c38ad91cf65425e29732b5c041dd0cf43':
  Remove _FORTIFY_SOURCE in implementation files.
2013-10-02 09:31:56 -07:00
Stephen Hines
dcffa9998e am e0e6409c: Merge "Add simple implementation _Unwind_GetIP() for clang compiles."
* commit 'e0e6409c12d21cf1f0390c435fd76e74b5c4580d':
  Add simple implementation _Unwind_GetIP() for clang compiles.
2013-10-02 09:31:55 -07:00
Stephen Hines
70e1730c38 Merge "Remove _FORTIFY_SOURCE in implementation files." 2013-10-02 16:30:15 +00:00
Stephen Hines
e0e6409c12 Merge "Add simple implementation _Unwind_GetIP() for clang compiles." 2013-10-02 16:29:22 +00:00
Elliott Hughes
5e72c513bf Remove #define _BITSIZE 32.
I've no idea what _BITSIZE was supposed to be, glibc doesn't have it,
the BSDs don't have it, and no code is currently using it. But having
it set unconditionally to 32 sounds like a bad idea.

Change-Id: I900235c1489afba891fff0bc3b43e9d593249a4f
2013-10-02 09:23:46 -07:00
Elliott Hughes
5a072ecfb9 am 5cf3b4bd: am a8f4e905: am e26135ab: Merge "The x86_64 kernel headers are the x86 kernel headers."
* commit '5cf3b4bd34c86be6e2dc5197d8b9f503a5faf37d':
  The x86_64 kernel headers are the x86 kernel headers.
2013-10-02 08:59:02 -07:00
Elliott Hughes
5cf3b4bd34 am a8f4e905: am e26135ab: Merge "The x86_64 kernel headers are the x86 kernel headers."
* commit 'a8f4e905fa3fe5998607ff084091879b77257fd0':
  The x86_64 kernel headers are the x86 kernel headers.
2013-10-02 08:57:27 -07:00
Elliott Hughes
a8f4e905fa am e26135ab: Merge "The x86_64 kernel headers are the x86 kernel headers."
* commit 'e26135ab18c94ba6ee9866bc04471853a899565b':
  The x86_64 kernel headers are the x86 kernel headers.
2013-10-02 08:55:07 -07:00
Elliott Hughes
e26135ab18 Merge "The x86_64 kernel headers are the x86 kernel headers." 2013-10-02 15:52:02 +00:00
The Android Automerger
6939f79e0b merge in master-release history after reset to master 2013-10-02 07:49:54 -07:00
Elliott Hughes
78a44901e9 am 14cf7286: am f0470422: am 9461e9fa: Merge "Add missing backslash in MIPS filelist"
* commit '14cf72860fbc74408db42ef9d85832c450dacf27':
  Add missing backslash in MIPS filelist
2013-10-01 20:59:45 -07:00
Elliott Hughes
4b6f785fa9 am b1b8babb: am c7e8e990: am 5e244a9b: Merge "Fix libm build for x86_64."
* commit 'b1b8babbbb672086a7678741e8769303a2814bca':
  Fix libm build for x86_64.
2013-10-01 20:59:43 -07:00
Elliott Hughes
0683b376ed am 7cb6933c: am 8a50d0c0: am bcc2bd3b: Merge "x86_64: libm fixes"
* commit '7cb6933c0dc87b147100895a77d2743370321976':
  x86_64: libm fixes
2013-10-01 20:59:42 -07:00
Elliott Hughes
7a7c2c5581 am a1de7e50: am f1c534ce: am 6892a29b: Merge "Remove more assumptions that pointers are 32-bit."
* commit 'a1de7e503355eda6910eaea1c06a2c1080d48dff':
  Remove more assumptions that pointers are 32-bit.
2013-10-01 20:59:42 -07:00
Elliott Hughes
8e56d742ff am c1cd0f74: am f43f8aa8: am b2acd5de: Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks"
* commit 'c1cd0f74c93fe00563f117c8029bc8b95c5b823e':
  x86_64: Update Makefiles for x86_64 targets and add symlinks
2013-10-01 20:59:40 -07:00
Elliott Hughes
5f539b16bb am 211fd4f9: am 24e1dd80: am 4eaa1e1e: Merge "x86_64: add new __NR_arch_prctl syscall"
* commit '211fd4f963978f355494100c7038e1b5116d3fce':
  x86_64: add new __NR_arch_prctl syscall
2013-10-01 20:59:36 -07:00
Elliott Hughes
cff436553c am 35336777: am 67e0214d: am 232dff3a: Merge "Regenerate the system call stubs (to get x86_64)."
* commit '35336777f1115ead63559d2ce91cc9c9481cb0c8':
  Regenerate the system call stubs (to get x86_64).
2013-10-01 20:59:35 -07:00
Elliott Hughes
a5090f0ae0 am 1e998861: am c58d08d6: am 475e8dde: Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64"
* commit '1e9988617234fc504c72f26e13cf0c8d598fb85b':
  x86_64: Add x86_64 syscalls and tune gen scripts for x86_64
2013-10-01 20:59:34 -07:00
Elliott Hughes
fd78965e84 am a08be021: am 57e55fe3: am fd152c31: Merge "Clean up some comments."
* commit 'a08be021ccaf81bcbc53553c2f822730124c3d5e':
  Clean up some comments.
2013-10-01 20:59:34 -07:00
Elliott Hughes
3bd92e83ad am d4e69610: am 1a46de67: am f281fd02: Merge "Better statfs/fstatfs glibc compatibility."
* commit 'd4e6961041942c6c01e6205db7d81368b39a4d1e':
  Better statfs/fstatfs glibc compatibility.
2013-10-01 20:59:28 -07:00
Elliott Hughes
a8354c16ef am 58413fe7: am 4b5a0e1a: am 693bd73f: Merge "Remove 32-bit assumptions from the ELF code."
* commit '58413fe73561e8f230092a2b83db64e58fcb061d':
  Remove 32-bit assumptions from the ELF code.
2013-10-01 20:59:28 -07:00
Elliott Hughes
14cf72860f am f0470422: am 9461e9fa: Merge "Add missing backslash in MIPS filelist"
* commit 'f04704225b64d2ced8d34036af3336a57d945af5':
  Add missing backslash in MIPS filelist
2013-10-01 19:51:21 -07:00
Elliott Hughes
f04704225b am 9461e9fa: Merge "Add missing backslash in MIPS filelist"
* commit '9461e9fae33bddecd2b1746e3158b9d2309a8163':
  Add missing backslash in MIPS filelist
2013-10-01 19:49:00 -07:00
Elliott Hughes
9461e9fae3 Merge "Add missing backslash in MIPS filelist" 2013-10-02 02:46:12 +00:00
Chris Dearman
fa4d596abc Add missing backslash in MIPS filelist
Change-Id: I993ea7038cd641ea167d974226e2350e49d41c88
2013-10-01 19:11:26 -07:00
Elliott Hughes
b3a045c79e am 6c8dc464: am 28317d3a: am f5ea738b: Merge "Fix x86 build."
* commit '6c8dc464068816986278d152a7c39d477924b360':
  Fix x86 build.
2013-10-01 18:46:33 -07:00
Elliott Hughes
8182c3ee60 am 5d641bcf: am f5dcdfc4: am 6dee3b9a: Merge "Add x86_64 to the bionic headers."
* commit '5d641bcf70d36caa22ff2c7d3e3f252abf541bed':
  Add x86_64 to the bionic headers.
2013-10-01 18:46:32 -07:00
Elliott Hughes
e770243df2 am b2775090: am 34284954: am 76218efb: Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)."
* commit 'b27750909579926ad8154218b53f4d1765db7d28':
  Fix inttypes.h and stdint.h for 64-bit (and C++11).
2013-10-01 18:45:53 -07:00
Christopher Ferris
081f6762e4 am a59e16ba: am 34c2a9fc: Move stack unwinding test into library.
* commit 'a59e16bac971db7bb8e65e63d90e895bf4731747':
2013-10-01 18:45:50 -07:00
Stephen Hines
5f6cfce4f6 Add simple implementation _Unwind_GetIP() for clang compiles.
Clang (prior to 3.4) does not actually provide a declaration (or definition)
of _Unwind_GetIP() for ARM. We can work around this by writing our own
basic implementation using the available primitive operations.

Change-Id: If6c66846952d8545849ad32d2b55daa4599cfe2c
2013-10-01 18:20:51 -07:00
Elliott Hughes
b1b8babbbb am c7e8e990: am 5e244a9b: Merge "Fix libm build for x86_64."
* commit 'c7e8e99082efaa616b15fb43ffe0f2e11423ea7d':
  Fix libm build for x86_64.
2013-10-01 18:05:24 -07:00
Elliott Hughes
86d920c302 The x86_64 kernel headers are the x86 kernel headers.
Change-Id: I8763aee7043800eb23a720914b57396e79fa812e
2013-10-01 18:03:23 -07:00
Elliott Hughes
c7e8e99082 am 5e244a9b: Merge "Fix libm build for x86_64."
* commit '5e244a9bee8f26d7eed4e81b25483fbd86f7b6d4':
  Fix libm build for x86_64.
2013-10-01 18:02:39 -07:00
Elliott Hughes
5e244a9bee Merge "Fix libm build for x86_64." 2013-10-02 01:00:25 +00:00
Elliott Hughes
770a349560 Fix libm build for x86_64.
Change-Id: If89da2d5c3d9a88f78ffd8b260ad0f2fd391c608
2013-10-01 17:57:19 -07:00
Elliott Hughes
7cb6933c0d am 8a50d0c0: am bcc2bd3b: Merge "x86_64: libm fixes"
* commit '8a50d0c06f456ca32c49f8e52883ede959c91c21':
  x86_64: libm fixes
2013-10-01 17:37:55 -07:00
Elliott Hughes
8a50d0c06f am bcc2bd3b: Merge "x86_64: libm fixes"
* commit 'bcc2bd3b1e625243df41bdf212bdb3dd2ec3c26e':
  x86_64: libm fixes
2013-10-01 17:35:39 -07:00
Elliott Hughes
a1de7e5033 am f1c534ce: am 6892a29b: Merge "Remove more assumptions that pointers are 32-bit."
* commit 'f1c534ce222de66bdeac06f2dca62fbd84f629f9':
  Remove more assumptions that pointers are 32-bit.
2013-10-01 17:34:34 -07:00
Elliott Hughes
bcc2bd3b1e Merge "x86_64: libm fixes" 2013-10-02 00:32:43 +00:00
Elliott Hughes
f1c534ce22 am 6892a29b: Merge "Remove more assumptions that pointers are 32-bit."
* commit '6892a29b9e63f0bb54bd402081431b1233c125aa':
  Remove more assumptions that pointers are 32-bit.
2013-10-01 17:32:19 -07:00
Elliott Hughes
6892a29b9e Merge "Remove more assumptions that pointers are 32-bit." 2013-10-02 00:30:51 +00:00
Elliott Hughes
405f8553cf Remove more assumptions that pointers are 32-bit.
Change-Id: I2157e2fc4db7692b746c697982c3d028a056462a
2013-10-01 17:25:28 -07:00
Elliott Hughes
c1cd0f74c9 am f43f8aa8: am b2acd5de: Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks"
* commit 'f43f8aa80a77f59f4ad941d367fe25e30387a72b':
  x86_64: Update Makefiles for x86_64 targets and add symlinks
2013-10-01 15:41:27 -07:00
Elliott Hughes
f43f8aa80a am b2acd5de: Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks"
* commit 'b2acd5ded1e801fb1379ec51c6f43eab63af50f5':
  x86_64: Update Makefiles for x86_64 targets and add symlinks
2013-10-01 15:39:19 -07:00
Elliott Hughes
b2acd5ded1 Merge "x86_64: Update Makefiles for x86_64 targets and add symlinks" 2013-10-01 22:37:10 +00:00
Pavel Chupin
a567a8e4bd x86_64: Update Makefiles for x86_64 targets and add symlinks
Use basic .c versions of all functions for x86_64 until they are
manually optimized and .s versions released.

Change-Id: I59bba08931e894822db485c8803c2665c226234a
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-01 15:36:08 -07:00
Stephen Hines
35d937e4eb Remove _FORTIFY_SOURCE in implementation files.
This was causing conflicting declarations for the library definitions of
common functions like sprintf(), snprintf(), and strchr().

Change-Id: I5daaa8a58183aa0d4d0fae8a7cb799671810f576
2013-10-01 15:02:07 -07:00
Elliott Hughes
211fd4f963 am 24e1dd80: am 4eaa1e1e: Merge "x86_64: add new __NR_arch_prctl syscall"
* commit '24e1dd8016eeaaa6ef3646cbb143de1506e733e8':
  x86_64: add new __NR_arch_prctl syscall
2013-10-01 14:04:19 -07:00
Elliott Hughes
24e1dd8016 am 4eaa1e1e: Merge "x86_64: add new __NR_arch_prctl syscall"
* commit '4eaa1e1ea8e4ba4fed31e4bd884e27683db90d81':
  x86_64: add new __NR_arch_prctl syscall
2013-10-01 14:01:09 -07:00
Elliott Hughes
35336777f1 am 67e0214d: am 232dff3a: Merge "Regenerate the system call stubs (to get x86_64)."
* commit '67e0214d0f620df7a7928ef0fa1a9c0aac326a20':
  Regenerate the system call stubs (to get x86_64).
2013-10-01 13:59:59 -07:00
Elliott Hughes
4eaa1e1ea8 Merge "x86_64: add new __NR_arch_prctl syscall" 2013-10-01 20:58:41 +00:00
Elliott Hughes
67e0214d0f am 232dff3a: Merge "Regenerate the system call stubs (to get x86_64)."
* commit '232dff3af296d8b86658a9742288ee487b41dd3f':
  Regenerate the system call stubs (to get x86_64).
2013-10-01 13:56:51 -07:00
Pavel Chupin
9a4127bb0a x86_64: add new __NR_arch_prctl syscall
This is used to set/get TLS on x86_64. There's no public declaration
of this because it's not meant to be used outside the C library, like
glibc (though we don't currently have any visibility controls to ensure
this).

Change-Id: I5fc0a5e3ffc3f4cd597d92ee685ab19568ea18f7
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-01 13:56:21 -07:00
Elliott Hughes
232dff3af2 Merge "Regenerate the system call stubs (to get x86_64)." 2013-10-01 20:53:51 +00:00
Elliott Hughes
1e99886172 am c58d08d6: am 475e8dde: Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64"
* commit 'c58d08d655fbb3e0472fcb6ea9879fd1ced39172':
  x86_64: Add x86_64 syscalls and tune gen scripts for x86_64
2013-10-01 13:38:16 -07:00
Elliott Hughes
c58d08d655 am 475e8dde: Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64"
* commit '475e8dde178f05f91626a22ade795244efe69a3e':
  x86_64: Add x86_64 syscalls and tune gen scripts for x86_64
2013-10-01 13:30:28 -07:00
Elliott Hughes
e4ffd9f234 Regenerate the system call stubs (to get x86_64).
This touches the x86 stubs too because arm, x86, and x86_64 now
all share the same header (at a source level), which causes a
reordering of the #include lines.

Change-Id: If9a1e2b2718bd41d8399fea748bce672c513ef84
2013-10-01 13:29:43 -07:00
Elliott Hughes
475e8dde17 Merge "x86_64: Add x86_64 syscalls and tune gen scripts for x86_64" 2013-10-01 20:27:49 +00:00
Pavel Chupin
f12a18b850 x86_64: Add x86_64 syscalls and tune gen scripts for x86_64
* Tune syscall stubs generator for 4th target: x86_64
* Update SYSCALLS.TXT with x86_64 syscalls:
 - Most of the x86 syscalls are equally supported
 - *32 syscalls are not supported on 64-bit
 - *64 syscalls are replaced accordingly without 64 suffix
 - Some syscalls are not supported, replaced with x86_64 analog

Syscalls are regenerated as separate patch for review convenience.

Change-Id: I4ea2e0f13759b0aa61f05208ca68da8d6bc7c048
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-01 13:27:07 -07:00
Pavel Chupin
ce7add19d8 x86_64: libm fixes
* Makefile update for x86_64 target
* amd64 arch files

Change-Id: I8f17e3338bffd89a3086fbddd1e91bb4619eac1b
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-10-01 11:38:54 -07:00
Elliott Hughes
a08be021cc am 57e55fe3: am fd152c31: Merge "Clean up some comments."
* commit '57e55fe3b32465023071a19e368d91f4804ade3b':
  Clean up some comments.
2013-10-01 11:14:27 -07:00
Elliott Hughes
57e55fe3b3 am fd152c31: Merge "Clean up some comments."
* commit 'fd152c31586a1f5e6763b06f1182ccd72cb86b69':
  Clean up some comments.
2013-10-01 11:12:09 -07:00
Elliott Hughes
fd152c3158 Merge "Clean up some comments." 2013-10-01 18:10:54 +00:00
Elliott Hughes
c0af695426 Clean up some comments.
Copyright headers shouldn't contain the filename (and especially
shouldn't contain a different file's filename).

Change-Id: I82690a3bf371265402bc16f5d2fbb9299c3a1926
2013-10-01 11:10:21 -07:00
Elliott Hughes
d4e6961041 am 1a46de67: am f281fd02: Merge "Better statfs/fstatfs glibc compatibility."
* commit '1a46de67b3f78ce44ddf622bcf5918fe758dd4d4':
  Better statfs/fstatfs glibc compatibility.
2013-10-01 10:04:30 -07:00
Elliott Hughes
58413fe735 am 4b5a0e1a: am 693bd73f: Merge "Remove 32-bit assumptions from the ELF code."
* commit '4b5a0e1ad76d76d6a8793f61e3c0902ea4628ce7':
  Remove 32-bit assumptions from the ELF code.
2013-10-01 10:04:29 -07:00
Elliott Hughes
1a46de67b3 am f281fd02: Merge "Better statfs/fstatfs glibc compatibility."
* commit 'f281fd02e9eebea3de9c07412c5b66647ca0c290':
  Better statfs/fstatfs glibc compatibility.
2013-10-01 10:02:16 -07:00
Elliott Hughes
4b5a0e1ad7 am 693bd73f: Merge "Remove 32-bit assumptions from the ELF code."
* commit '693bd73fcdf1504e84aef314d1933f5efc2c817d':
  Remove 32-bit assumptions from the ELF code.
2013-10-01 10:02:16 -07:00
Elliott Hughes
f281fd02e9 Merge "Better statfs/fstatfs glibc compatibility." 2013-10-01 15:30:40 +00:00
Elliott Hughes
693bd73fcd Merge "Remove 32-bit assumptions from the ELF code." 2013-10-01 15:23:44 +00:00
The Android Automerger
243312ab0e merge in master-release history after reset to master 2013-10-01 07:49:34 -07:00
Elliott Hughes
01a700e5d2 Better statfs/fstatfs glibc compatibility.
Change-Id: I069d169c96cd71b75a045ec911fb4bd484c6b2c9
2013-09-30 21:57:07 -07:00
Elliott Hughes
6c8dc46406 am 28317d3a: am f5ea738b: Merge "Fix x86 build."
* commit '28317d3a161c88f88e85d97d584d656ffbe63a19':
  Fix x86 build.
2013-09-30 20:53:55 -07:00
Elliott Hughes
28317d3a16 am f5ea738b: Merge "Fix x86 build."
* commit 'f5ea738baa0ad5b32348f2ac42450d33d452ef31':
  Fix x86 build.
2013-09-30 20:51:53 -07:00
Elliott Hughes
f5ea738baa Merge "Fix x86 build." 2013-10-01 02:23:02 +00:00
Elliott Hughes
3456a1f5f4 Fix x86 build.
Change-Id: I1f2d8189bec3d0e25d21ca7d7bd73fd02f8678e2
2013-09-30 19:20:02 -07:00
Elliott Hughes
5d641bcf70 am f5dcdfc4: am 6dee3b9a: Merge "Add x86_64 to the bionic headers."
* commit 'f5dcdfc438684bbe93e398b6551f915fe3fe10bf':
  Add x86_64 to the bionic headers.
2013-09-30 18:45:57 -07:00
Elliott Hughes
f5dcdfc438 am 6dee3b9a: Merge "Add x86_64 to the bionic headers."
* commit '6dee3b9aeec40bb518c1a29b4462300869a03d8e':
  Add x86_64 to the bionic headers.
2013-09-30 18:44:28 -07:00
Elliott Hughes
c620059479 Remove 32-bit assumptions from the ELF code.
Change-Id: I2c1f3d34c33685799aade8866eec44479ff9f963
2013-09-30 18:43:46 -07:00
Elliott Hughes
6dee3b9aee Merge "Add x86_64 to the bionic headers." 2013-10-01 01:42:43 +00:00
Elliott Hughes
d3e64a3f40 Add x86_64 to the bionic headers.
Manual changes:

  cpp.py: cope with macros that refer to other macros.

  defaults.py: x86 no longer always implies __i386__; use __i386__ to replace
  the kernel CONFIG_X86_32 flag.

  asm/page.h: the upstream page.h isn't a uapi header and no longer includes
  the stuff we were using it for. Let's just have our own static file, since
  it's the same for all our architectures (both 32- and 64-bit).

  sys/select.h: we used to use the various FD_SET-related macros from the
  kernel header files, but they've gone. Adjust by adding trivial equivalent
  definitions.

Automated changes:

  libc/kernel/arch-x86, libc/kernel/common: regenerated from
  external/kernel-headers.

Change-Id: I84fc0ed52dc742e043b4ae300fd3b58ee99b7fcd
2013-09-30 18:42:13 -07:00
Elliott Hughes
b277509095 am 34284954: am 76218efb: Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)."
* commit '34284954b3b43010d87c6f99a50dc673a55fbb04':
  Fix inttypes.h and stdint.h for 64-bit (and C++11).
2013-09-30 16:23:03 -07:00
Elliott Hughes
34284954b3 am 76218efb: Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)."
* commit '76218efbeb2e124656ce15d4eb5a7039da065123':
  Fix inttypes.h and stdint.h for 64-bit (and C++11).
2013-09-30 16:19:18 -07:00
Elliott Hughes
76218efbeb Merge "Fix inttypes.h and stdint.h for 64-bit (and C++11)." 2013-09-30 21:53:06 +00:00
Elliott Hughes
a9a02acc9f Fix inttypes.h and stdint.h for 64-bit (and C++11).
Change-Id: I394630348413c9aafcac137ce1ca5f0a93d9ab6f
2013-09-30 14:46:47 -07:00
Christopher Ferris
a59e16bac9 am 34c2a9fc: Move stack unwinding test into library.
* commit '34c2a9fc37848d446bf91ce61783884232fffeb1':
  Move stack unwinding test into library.
2013-09-30 14:46:05 -07:00
Christopher Ferris
704ec47d42 am 34c2a9fc: Move stack unwinding test into library.
* commit '34c2a9fc37848d446bf91ce61783884232fffeb1':
  Move stack unwinding test into library.
2013-09-30 14:01:03 -07:00
The Android Automerger
aa4a72601e merge in master-release history after reset to master 2013-09-30 07:49:29 -07:00
Christopher Ferris
b915074f27 am 427e8cf9: Fix line that got removed by merge.
* commit '427e8cf90248f7da0a789fb3b4fb9a859c19aacd':
  Fix line that got removed by merge.
2013-09-29 22:40:36 -07:00
Christopher Ferris
427e8cf902 Fix line that got removed by merge.
(cherry picked from commit f14d71fcf74e755ece4f8ca2ca2b7483424aa432)

Change-Id: Id3dd54d9efd87ef2bbb2c90adae2ce3911695027
2013-09-29 22:14:56 -07:00
Elliott Hughes
0fbac2729b am 967a6d37: am ef8eb557: am 4d016c6a: Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)."
* commit '967a6d37681a006a0be588f83a81b12e79d85f8f':
  Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).
2013-09-27 15:47:41 -07:00
Elliott Hughes
967a6d3768 am ef8eb557: am 4d016c6a: Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)."
* commit 'ef8eb55708f67fc2977a155dddb1b3f1f732b3fe':
  Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).
2013-09-27 15:44:53 -07:00
Elliott Hughes
ef8eb55708 am 4d016c6a: Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)."
* commit '4d016c6a83bb8c8b8ec88400031b42c41f18edbb':
  Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).
2013-09-27 15:41:25 -07:00
Elliott Hughes
4d016c6a83 Merge "Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications)." 2013-09-27 22:38:45 +00:00
Nick Kralevich
3f836f85af am cadc6aaf: am f56e0e4b: am 6aed6077: Merge "Fix unnecessary call to __strncpy_chk2"
* commit 'cadc6aaf41e29ffcca0e4b801ffa294e6cea968e':
  Fix unnecessary call to __strncpy_chk2
2013-09-27 15:20:56 -07:00
Nick Kralevich
cadc6aaf41 am f56e0e4b: am 6aed6077: Merge "Fix unnecessary call to __strncpy_chk2"
* commit 'f56e0e4b5e97f4e7fed6e06dde30053ea687716e':
  Fix unnecessary call to __strncpy_chk2
2013-09-27 15:18:21 -07:00
Nick Kralevich
f56e0e4b5e am 6aed6077: Merge "Fix unnecessary call to __strncpy_chk2"
* commit '6aed6077fbe2b2039ab9160fb1e33ffe07907f32':
  Fix unnecessary call to __strncpy_chk2
2013-09-27 15:15:31 -07:00
Nick Kralevich
6aed6077fb Merge "Fix unnecessary call to __strncpy_chk2" 2013-09-27 22:13:19 +00:00
Christopher Ferris
f14d71fcf7 Fix line that got removed by merge.
Change-Id: I8c1f3624b52161893d1e04f0a156df613f90e39d
2013-09-27 14:18:36 -07:00
Conley Owens
8612b4e453 am e83a7806: resolved conflicts for merge of f4af9110 to klp-dev-plus-aosp
* commit 'e83a780600eda88d351fda590079265bcc0d1f56':
  Create bionic unit test library for use with CTS.
2013-09-27 13:27:49 -07:00
Nick Kralevich
d13c2b1ba6 Fix unnecessary call to __strncpy_chk2
If "n" is smaller than the size of "src", then we'll
never read off the end of src. It makes no sense to call
__strncpy_chk2 in those circumstances.

For example, consider the following code:

int main() {
  char src[10];
  char dst[5];
  memcpy(src, "0123456789", sizeof(src));
  strncpy(dst, src, sizeof(dst));
  dst[4] = '\0';
  printf("%s\n", dst);
  return 0;
}

In this code, it's clear that the strncpy will never read off
the end of src.

Change-Id: I9cf58857a0c5216b4576d21d3c1625e2913ccc03
2013-09-27 13:21:24 -07:00
Conley Owens
e83a780600 resolved conflicts for merge of f4af9110 to klp-dev-plus-aosp
Change-Id: I9e499e552b758392dd0c7b8d888944c0150dd22a
2013-09-27 13:13:30 -07:00
Nick Kralevich
127ac6f86a am 9a622f87: am cc362291: am 8427b745: Merge "libc: fortify recvfrom()"
* commit '9a622f874ceb90431623af140ca9a78eadc96dcb':
  libc: fortify recvfrom()
2013-09-27 09:12:53 -07:00
Nick Kralevich
9a622f874c am cc362291: am 8427b745: Merge "libc: fortify recvfrom()"
* commit 'cc362291362f8183431eccb19267c8a625f36006':
  libc: fortify recvfrom()
2013-09-27 09:11:00 -07:00
Nick Kralevich
cc36229136 am 8427b745: Merge "libc: fortify recvfrom()"
* commit '8427b7450fe068db6484d161f7004661c4698858':
  libc: fortify recvfrom()
2013-09-27 09:08:25 -07:00
Nick Kralevich
8427b7450f Merge "libc: fortify recvfrom()" 2013-09-27 16:05:44 +00:00
Elliott Hughes
e0d0b15de6 Upgrade to tzcode2013f plus Android modifications (from tzcode2013d plus Android modifications).
localtime.c and strftime.c are still quite different from upstream because of
our extensions, but the other files continue to be identical, and the two
exceptions should be otherwise identical.

From the tzcode2013e release notes:

  Changes affecting Godthab time stamps after 2037 if version mismatch

    Allow POSIX-like TZ strings where the transition time's hour can
    range from -167 through 167, instead of the POSIX-required 0
    through 24.  E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the
    new Fiji rules.  This is a more-compact way to represent
    far-future time stamps for America/Godthab, America/Santiago,
    Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem,
    Pacific/Easter, and Pacific/Fiji.  Other zones are unaffected by
    this change.  (Derived from a suggestion by Arthur David Olson.)

    Allow POSIX-like TZ strings where daylight saving time is in
    effect all year.  E.g., TZ='WART4WARST,J1/0,J365/25' for Western
    Argentina Summer Time all year.  This supports a more-compact way
    to represent the 2013d data for America/Argentina/San_Luis.
    Because of the change for San Luis noted above this change does not
    affect the current data.  (Thanks to Andrew Main (Zefram) for
    suggestions that improved this change.)

    Where these two TZ changes take effect, there is a minor extension
    to the tz file format in that it allows new values for the
    embedded TZ-format string, and the tz file format version number
    has therefore been increased from 2 to 3 as a precaution.
    Version-2-based client code should continue to work as before for
    all time stamps before 2038.  Existing version-2-based client code
    (tzcode, GNU/Linux, Solaris) has been tested on version-3-format
    files, and typically works in practice even for time stamps after
    2037; the only known exception is America/Godthab.

  Changes affecting API

    Support for floating-point time_t has been removed.
    It was always dicey, and POSIX no longer requires it.
    (Thanks to Eric Blake for suggesting to the POSIX committee to
    remove it, and thanks to Alan Barrett, Clive D.W. Feather, Andy
    Heninger, Arthur David Olson, and Alois Treindl, for reporting
    bugs and elucidating some of the corners of the old floating-point
    implementation.)

    The signatures of 'offtime', 'timeoff', and 'gtime' have been
    changed back to the old practice of using 'long' to represent UT
    offsets.  This had been inadvertently and mistakenly changed to
    'int_fast32_t'.  (Thanks to Christos Zoulos.)

    The code avoids undefined behavior on integer overflow in some
    more places, including gmtime, localtime, mktime and zdump.

  Changes affecting code internals

    Minor changes pacify GCC 4.7.3 and GCC 4.8.1.

  Changes affecting documentation and commentary

    Documentation and commentary is more careful to distinguish UT in
    general from UTC in particular.  (Thanks to Steve Allen.)

From the tzcode2013f release notes:

  Changes affecting API

    The types of the global variables 'timezone' and 'altzone' (if present)
    have been changed back to 'long'.  This is required for 'timezone'
    by POSIX, and for 'altzone' by common practice, e.g., Solaris 11.
    These variables were originally 'long' in the tz code, but were
    mistakenly changed to 'time_t' in 1987; nobody reported the
    incompatibility until now.  The difference matters on x32, where
    'long' is 32 bits and 'time_t' is 64.  (Thanks to Elliott Hughes.)

Change-Id: I14937c42a391ddb865e4d89f0783961bcc6baa21
2013-09-27 00:04:30 -07:00
Elliott Hughes
5bdd121b79 am b1542b09: am 174e98c9: am ad1244b2: Merge "Upgrade to tzdata2013f."
* commit 'b1542b09d95556bd2d7d91c2deba6cf753fdbbb2':
  Upgrade to tzdata2013f.
2013-09-26 23:36:34 -07:00
Elliott Hughes
b1542b09d9 am 174e98c9: am ad1244b2: Merge "Upgrade to tzdata2013f."
* commit '174e98c9a96879af82e8bbda2d6322544fb74d90':
  Upgrade to tzdata2013f.
2013-09-26 23:34:10 -07:00
Elliott Hughes
174e98c9a9 am ad1244b2: Merge "Upgrade to tzdata2013f."
* commit 'ad1244b2e7588df2f4e66747e1355016d6d014bc':
  Upgrade to tzdata2013f.
2013-09-26 23:31:50 -07:00
Elliott Hughes
ad1244b2e7 Merge "Upgrade to tzdata2013f." 2013-09-27 06:30:00 +00:00
Elliott Hughes
223c9f7714 am 1b709a94: am 3b7d4697: am abd4b254: Merge "Upgrade to tzdata2013e."
* commit '1b709a946f22e9465afd49068e4390b7be719e8b':
  Upgrade to tzdata2013e.
2013-09-26 23:27:03 -07:00
Elliott Hughes
1b709a946f am 3b7d4697: am abd4b254: Merge "Upgrade to tzdata2013e."
* commit '3b7d4697b765cb4cd65a1e306d27c607dc486d66':
  Upgrade to tzdata2013e.
2013-09-26 23:25:40 -07:00
Elliott Hughes
3b7d4697b7 am abd4b254: Merge "Upgrade to tzdata2013e."
* commit 'abd4b2542b0e161f40a80c48970b77097af76dd9':
  Upgrade to tzdata2013e.
2013-09-26 23:23:15 -07:00
Elliott Hughes
4ced7ef05a Upgrade to tzdata2013f.
From the release notes:

  Changes affecting near-future time stamps

    Tocantins will very likely not observe DST starting this spring.
    (Thanks to Steffen Thorsen.)

    Jordan will likely stay at UTC+3 indefinitely, and will not fall
    back this fall.

    Palestine will fall back at 00:00, not 01:00.  (Thanks to Steffen Thorsen.)

Change-Id: Iccee57578eef2ab51c519a23f151bc1963262ffe
2013-09-26 23:22:23 -07:00
Elliott Hughes
abd4b2542b Merge "Upgrade to tzdata2013e." 2013-09-27 06:20:18 +00:00
Elliott Hughes
35b123ef1e Upgrade to tzdata2013e.
From the release notes:

  Changes affecting near-future time stamps

    This year Fiji will start DST on October 27, not October 20.
    (Thanks to David Wheeler for the heads-up.)  For now, guess that
    Fiji will continue to spring forward the Sunday before the fourth
    Monday in October.

  Changes affecting time stamps before 1970

    Pacific/Johnston is now a link to Pacific/Honolulu.  This corrects
    some errors before 1947.

    Some zones have been turned into links, when they differ from
    existing zones only in older data that was likely invented or that
    differs only in LMT or transition from LMT.  These changes affect
    only time stamps before 1943.  The affected zones are:
    Africa/Juba, America/Anguilla, America/Aruba, America/Dominica,
    America/Grenada, America/Guadeloupe, America/Marigot,
    America/Montserrat, America/St_Barthelemy, America/St_Kitts,
    America/St_Lucia, America/St_Thomas, America/St_Vincent,
    America/Tortola, and Europe/Vaduz.  (Thanks to Alois Treindl for
    confirming that the old Europe/Vaduz zone was wrong and the new
    link is better for WWII-era times.)

    Change Kingston Mean Time from -5:07:12 to -5:07:11.  This affects
    America/Cayman, America/Jamaica and America/Grand_Turk time stamps
    from 1890 to 1912.

    Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46.
    This affects Europe/Zurich time stamps from 1853 to 1894.  (Thanks
    to Alois Treindl).

    Change the date of the circa-1850 Zurich transition from 1849-09-12
    to 1853-07-16, overriding Shanks with data from Messerli about
    postal and telegraph time in Switzerland.

  Data changes affecting behavior of tzselect and similar programs

    Country code BQ is now called the more-common name "Caribbean Netherlands"
    rather than the more-official "Bonaire, St Eustatius & Saba".

    Remove from zone.tab the names America/Montreal, America/Shiprock,
    and Antarctica/South_Pole, as they are equivalent to existing
    same-country-code zones for post-1970 time stamps.  The data for
    these names are unchanged, so the names continue to work as before.

Change-Id: If78a517687532afcc0b22c7df664b5955f6e1564
2013-09-26 22:41:09 -07:00
Christopher Ferris
781e272e46 am 6c4ef747: am 7bfef355: Change hard-coded directory.
* commit '6c4ef747579126ec971239f4e9dc2ff5492c20cd':
  Change hard-coded directory.
2013-09-26 14:42:34 -07:00
Christopher Ferris
c2095e1b64 am 9018a0f4: am 6d1f85dc: Change hard-coded temporary directory.
* commit '9018a0f4626814d4f1023a9107969be108966513':
  Change hard-coded temporary directory.
2013-09-26 14:42:34 -07:00
Christopher Ferris
6c4ef74757 am 7bfef355: Change hard-coded directory.
* commit '7bfef355b1590cb8ac68d8caa97eaf0018191db8':
  Change hard-coded directory.
2013-09-26 14:39:31 -07:00
Christopher Ferris
9018a0f462 am 6d1f85dc: Change hard-coded temporary directory.
* commit '6d1f85dcdcf32117332b48563357d311a2886c30':
  Change hard-coded temporary directory.
2013-09-26 14:39:30 -07:00
Elliott Hughes
7a8dc483bc am 5825f979: am 88f29444: am 7b538021: Merge "Make it easier to add syscalls for another architecture."
* commit '5825f979b726ea18b98994561280b5cbb8426b51':
  Make it easier to add syscalls for another architecture.
2013-09-26 09:04:22 -07:00
Elliott Hughes
5825f979b7 am 88f29444: am 7b538021: Merge "Make it easier to add syscalls for another architecture."
* commit '88f2944421839b725e02e97c62d119c9e608ec58':
  Make it easier to add syscalls for another architecture.
2013-09-26 09:02:46 -07:00
Elliott Hughes
88f2944421 am 7b538021: Merge "Make it easier to add syscalls for another architecture."
* commit '7b538021bdaa0a7c2d60e25d10e5908043680467':
  Make it easier to add syscalls for another architecture.
2013-09-26 09:01:20 -07:00
Elliott Hughes
7b538021bd Merge "Make it easier to add syscalls for another architecture." 2013-09-26 15:59:33 +00:00
Elliott Hughes
d612165c67 Make it easier to add syscalls for another architecture.
Much of the per-architecture duplication can be removed, so let's do so
before we add the 64-bit architectures.

Change-Id: Ieb796503c8e5353ea38c3bab768bb9a690c9a767
2013-09-26 08:57:17 -07:00
Elliott Hughes
24338ffa29 am fcdb47d7: am dbd4dbc0: am a1c1a334: Merge "Add a unit test for %n."
* commit 'fcdb47d7f5f859e04e9f4d88006e5595a9acf647':
  Add a unit test for %n.
2013-09-26 07:51:11 -07:00
The Android Automerger
84480f99dc merge in master-release history after reset to master 2013-09-26 07:49:55 -07:00
Elliott Hughes
fcdb47d7f5 am dbd4dbc0: am a1c1a334: Merge "Add a unit test for %n."
* commit 'dbd4dbc02c969531ff4891c06e66c63ec7a6d75d':
  Add a unit test for %n.
2013-09-25 22:16:18 -07:00
Elliott Hughes
dbd4dbc02c am a1c1a334: Merge "Add a unit test for %n."
* commit 'a1c1a3344de1c0a35126ea6f43e1d55184f078da':
  Add a unit test for %n.
2013-09-25 22:13:52 -07:00
Elliott Hughes
a1c1a3344d Merge "Add a unit test for %n." 2013-09-26 05:10:28 +00:00
Michael Wright
57470c937c am 18c2cc68: am 92d512f6: am c612a133: Merge "Update capability.h"
* commit '18c2cc68e8ddd3c2a2769b3c06336606b5ed1f6a':
  Update capability.h
2013-09-25 16:50:20 -07:00
Michael Wright
18c2cc68e8 am 92d512f6: am c612a133: Merge "Update capability.h"
* commit '92d512f6cf273d6d9e281dc362cc25cf8892b3f9':
  Update capability.h
2013-09-25 16:35:33 -07:00
Michael Wright
92d512f6cf am c612a133: Merge "Update capability.h"
* commit 'c612a133dcc3ffaa1a2172d2cac20bddbd5df284':
  Update capability.h
2013-09-25 16:33:24 -07:00
Michael Wright
c612a133dc Merge "Update capability.h" 2013-09-25 23:29:32 +00:00
Michael Wright
8bd5aa6a76 Update capability.h
To upstream SHA 6e4664525b1db28f8c4e1130957f70a94c19213e (v3.11)

Change-Id: Ic0d95464bc9001246df898489b2ea603a97ca231
2013-09-25 14:55:55 -07:00
The Android Automerger
5d83ffb3bc merge in master-release history after reset to master 2013-09-25 07:49:46 -07:00
Elliott Hughes
7248a2d4d0 Add a unit test for %n.
Change-Id: I9335e089d66c98d34577f5e1d1a54b8f507b94f6
2013-09-24 18:01:33 -07:00
Nick Kralevich
60f4f9a5b9 libc: fortify recvfrom()
Fortify calls to recv() and recvfrom().

We use __bos0 to match glibc's behavior, and because I haven't
tested using __bos.

Change-Id: Iad6ae96551a89af17a9c347b80cdefcf2020c505
2013-09-24 16:45:01 -07:00
Elliott Hughes
eec5b5dae2 am 67e34826: am 3c49c6ec: am 759111ca: Merge "Simplify the SYSCALLS.TXT format."
* commit '67e34826d8dfe02cb61bc282f1e49e860b50e395':
  Simplify the SYSCALLS.TXT format.
2013-09-24 11:34:52 -07:00
Elliott Hughes
67e34826d8 am 3c49c6ec: am 759111ca: Merge "Simplify the SYSCALLS.TXT format."
* commit '3c49c6ec49e0a4170ff7c9c74ac2e76b9b846ced':
  Simplify the SYSCALLS.TXT format.
2013-09-24 11:29:29 -07:00
Elliott Hughes
3c49c6ec49 am 759111ca: Merge "Simplify the SYSCALLS.TXT format."
* commit '759111cadf84f337f98177259d9e3f9d39c9eea9':
  Simplify the SYSCALLS.TXT format.
2013-09-24 11:27:42 -07:00
Elliott Hughes
759111cadf Merge "Simplify the SYSCALLS.TXT format." 2013-09-24 18:25:50 +00:00
Elliott Hughes
0f0b5ec9e2 am 2f81ac84: am 4808f052: am c8d98679: Merge "Update taskstats.h from Linux 3.11.1"
* commit '2f81ac8443d20fbd7b3ce694b6eca8bc246a0f59':
  Update taskstats.h from Linux 3.11.1
2013-09-24 10:26:29 -07:00
The Android Automerger
c029314822 merge in master-release history after reset to master 2013-09-24 07:49:18 -07:00
Elliott Hughes
2f81ac8443 am 4808f052: am c8d98679: Merge "Update taskstats.h from Linux 3.11.1"
* commit '4808f05238d66ba474c6d33da066da799d4e6cf3':
  Update taskstats.h from Linux 3.11.1
2013-09-24 07:37:48 -07:00
Elliott Hughes
4808f05238 am c8d98679: Merge "Update taskstats.h from Linux 3.11.1"
* commit 'c8d98679faa9b7f824e09d969cc1a469c721f4d8':
  Update taskstats.h from Linux 3.11.1
2013-09-24 07:36:12 -07:00
Elliott Hughes
c8d98679fa Merge "Update taskstats.h from Linux 3.11.1" 2013-09-24 14:29:29 +00:00
Elliott Hughes
5e52279256 Simplify the SYSCALLS.TXT format.
This will make addition of new architectures less unpleasant.

Change-Id: I77c866a63b686e8e70709d08fcf52e8a2d37310a
2013-09-24 00:35:31 -07:00
Elliott Hughes
cdf086eabb am a663ebd4: am f8222078: am 43e5badd: Merge "Fix %hhd formats in the printf family."
* commit 'a663ebd468b99981b07c1b0dca9aaa5da2cd8d50':
  Fix %hhd formats in the printf family.
2013-09-23 16:42:33 -07:00
Elliott Hughes
a663ebd468 am f8222078: am 43e5badd: Merge "Fix %hhd formats in the printf family."
* commit 'f82220785d20385fa02aa78b02f3fdb98e5aa553':
  Fix %hhd formats in the printf family.
2013-09-23 16:39:13 -07:00
Elliott Hughes
f82220785d am 43e5badd: Merge "Fix %hhd formats in the printf family."
* commit '43e5baddbcaf571c1a74149c53d1e70a5a2c9de3':
  Fix %hhd formats in the printf family.
2013-09-23 16:36:19 -07:00
Elliott Hughes
43e5baddbc Merge "Fix %hhd formats in the printf family." 2013-09-23 23:34:00 +00:00
Elliott Hughes
1d13c64d78 Fix %hhd formats in the printf family.
Found by adapting the simple unit tests for libc logging to test
snprintf too. Fix taken from upstream OpenBSD without updating
the rest of stdio.

Change-Id: Ie339a8e9393a36080147aae4d6665118e5d93647
2013-09-23 16:02:39 -07:00
Elliott Hughes
c1aa5c0e16 am 4988ec89: am b9f3d31c: am fc2ceae7: Merge "Remove two -D flags for unused macros."
* commit '4988ec89dbfa0a0387acb54603407e99dd466e66':
  Remove two -D flags for unused macros.
2013-09-23 11:24:10 -07:00
Elliott Hughes
4988ec89db am b9f3d31c: am fc2ceae7: Merge "Remove two -D flags for unused macros."
* commit 'b9f3d31ce40bceec4ecf86e2aaf83f1d8857f346':
  Remove two -D flags for unused macros.
2013-09-23 11:22:05 -07:00
Elliott Hughes
b9f3d31ce4 am fc2ceae7: Merge "Remove two -D flags for unused macros."
* commit 'fc2ceae778afdcb2deee4abb5e2fc9b9904fa761':
  Remove two -D flags for unused macros.
2013-09-23 11:19:22 -07:00
Elliott Hughes
fc2ceae778 Merge "Remove two -D flags for unused macros." 2013-09-23 18:14:57 +00:00
Elliott Hughes
3f33165acd Remove two -D flags for unused macros.
Change-Id: Ia95b0f0e2003cadd875e84437afa1853c8fe2598
2013-09-23 11:12:09 -07:00
The Android Automerger
746f4e9710 merge in master-release history after reset to master 2013-09-23 07:50:06 -07:00
Sami Kyostila
50a1b776fd Update taskstats.h from Linux 3.11.1
Change-Id: I50853efe20fa2524f6288f78505a774a72071367
2013-09-23 11:01:59 +01:00
Christopher Ferris
8ae9208f63 am b835cec3: am 63e4644e: am c2de11d3: Merge "__memcpy_chk: Fix signed cmp of unsigned values."
* commit 'b835cec3729d721fffa52546a356264f56df0a5e':
  __memcpy_chk: Fix signed cmp of unsigned values.
2013-09-20 20:46:24 -07:00
Christopher Ferris
b835cec372 am 63e4644e: am c2de11d3: Merge "__memcpy_chk: Fix signed cmp of unsigned values."
* commit '63e4644ebd2da86e10aa41761d11b6beea20b439':
  __memcpy_chk: Fix signed cmp of unsigned values.
2013-09-20 20:42:08 -07:00
Christopher Ferris
63e4644ebd am c2de11d3: Merge "__memcpy_chk: Fix signed cmp of unsigned values."
* commit 'c2de11d3a4ff1e4937406596aeb289c5715c4466':
  __memcpy_chk: Fix signed cmp of unsigned values.
2013-09-20 20:39:27 -07:00
Christopher Ferris
c2de11d3a4 Merge "__memcpy_chk: Fix signed cmp of unsigned values." 2013-09-21 03:36:31 +00:00
Christopher Ferris
16e185c908 __memcpy_chk: Fix signed cmp of unsigned values.
I accidentally did a signed comparison of the size_t values passed in
for three of the _chk functions. Changing them to unsigned compares.

Add three new tests to verify this failure is fixed.

Bug: 10691831

Merge from internal master.

(cherry-picked from 883ef2499c2ff76605f73b1240f719ca6282e554)

Change-Id: Id9a96b549435f5d9b61dc132cf1082e0e30889f5
2013-09-20 20:12:09 -07:00
Christopher Ferris
2b205bc880 am f67d11b2: am 8da175c8: (-s ours) am ad999b60: Merge "Fix all debug directives."
* commit 'f67d11b2b4830903e4073da982dab92d3143c1ec':
  Fix all debug directives.
2013-09-20 20:07:56 -07:00
Christopher Ferris
f67d11b2b4 am 8da175c8: (-s ours) am ad999b60: Merge "Fix all debug directives."
* commit '8da175c8c348522c869a0a6d6016b74165a22abd':
  Fix all debug directives.
2013-09-20 20:05:53 -07:00
Christopher Ferris
8da175c8c3 am ad999b60: Merge "Fix all debug directives."
* commit 'ad999b6062909d4922fb360a6f3b7f412cc06111':
  Fix all debug directives.
2013-09-20 19:44:36 -07:00
Christopher Ferris
ad999b6062 Merge "Fix all debug directives." 2013-09-21 02:41:54 +00:00
Christopher Ferris
7f655b45a1 am 74f7414d: am 768c576d: (-s ours) am 7493568b: Merge "Update all debug directives."
* commit '74f7414d303b50a5c61336434bdfbd262ce91879':
  Update all debug directives.
2013-09-20 19:41:46 -07:00
Christopher Ferris
74f7414d30 am 768c576d: (-s ours) am 7493568b: Merge "Update all debug directives."
* commit '768c576d478cef5cb7a7d01a5702e83cc6561f19':
  Update all debug directives.
2013-09-20 19:39:42 -07:00
Christopher Ferris
768c576d47 am 7493568b: Merge "Update all debug directives."
* commit '7493568ba82752d405bbb16dd7c42b3b88c67f86':
  Update all debug directives.
2013-09-20 19:01:32 -07:00
Christopher Ferris
a57c9c084b Fix all debug directives.
The backtrace when a fortify check failed was not correct. This change
adds all of the necessary directives to get a correct backtrace.

Fix the strcmp directives and change all labels to local labels.

Testing:
- Verify that the runtime can decode the stack for __memcpy_chk, __memset_chk,
  __strcpy_chk, __strcat_chk fortify failures.
- Verify that gdb can decode the stack properly when hitting a fortify check.
- Verify that the runtime can decode the stack for a seg fault for all of the
  _chk functions and for memcpy/memset.
- Verify that gdb can decode the stack for a seg fault for all of the _chk
  functions and for memcpy/memset.
- Verify that the runtime can decode the stack for a seg fault for strcmp.
- Verify that gdb can decode the stack for a seg fault in strcmp.

Bug: 10342460
Bug: 10345269

Merge from internal master.

(cherry-picked from 05332f2ce7e542d32ff4d5cd9f60248ad71fbf0d)

Change-Id: Ibc919b117cfe72b9ae97e35bd48185477177c5ca
2013-09-20 18:59:58 -07:00
Christopher Ferris
7493568ba8 Merge "Update all debug directives." 2013-09-21 01:58:56 +00:00
Christopher Ferris
bd7fe1d3c4 Update all debug directives.
The libcorkscrew stack unwinder does not understand cfi directives,
so add .save directives so that it can function properly.

Also add the directives in to strcmp.S and fix a missing set of
directives in cortex-a9/memcpy_base.S.

Bug: 10345269

Merge from internal master.

(cherry-picked from 5f7ccea3ffab05aeceecb85c821003cf580630d3)

Change-Id: If48a216203216a643807f5d61906015984987189
2013-09-20 13:49:38 -07:00
Nick Kralevich
7af9debdbc am df3ff452: am 5a58a1e0: am bef76b54: Merge "Add linux/sock_diag.h"
* commit 'df3ff45216413cdf4ff8f591d64c480ada534fa2':
  Add linux/sock_diag.h
2013-09-20 11:22:02 -07:00
Elliott Hughes
b36e2e38b1 am e74f77f9: am 48a909c9: am aad3c52e: Merge "Ensure we have the off64_t variant of every function that takes an off_t."
* commit 'e74f77f92d80f11616da699ac908fd5d1913e996':
  Ensure we have the off64_t variant of every function that takes an off_t.
2013-09-20 11:20:55 -07:00
Elliott Hughes
f4e3e21d82 am a5a508a9: am 35cfcc11: am f8e71bac: Merge "Add mmap64()"
* commit 'a5a508a9b6c51259950bab3e628355632ad17fee':
  Add mmap64()
2013-09-20 09:58:54 -07:00
Elliott Hughes
bc42ecb041 am 1b75f3e0: am fd5f6f19: am d5ddf40e: Merge "Fix host tests that need the shell."
* commit '1b75f3e07a8d20f45aa8a78578f294ac499529d0':
  Fix host tests that need the shell.
2013-09-20 09:58:03 -07:00
Elliott Hughes
1b56231c11 am 44fd0d92: am 94c325fb: am 269851bf: Merge "Declare __page_shift and __page_size with C linkage."
* commit '44fd0d92d6e65d0d003103d402240d28d26ae639':
  Declare __page_shift and __page_size with C linkage.
2013-09-20 09:58:02 -07:00
Elliott Hughes
35006b5223 am a3285dc9: am 8ff879a5: am a259472c: Merge "Fix mismatch between declaration and forward declaration"
* commit 'a3285dc9143a8175ff82bf1074720d04bed81faa':
  Fix mismatch between declaration and forward declaration
2013-09-20 09:58:00 -07:00
Elliott Hughes
e7fd29e3db am 823a4e0a: am 26e71c19: am 045f311b: Merge "Use and to find the tzdata."
* commit '823a4e0a7eab7859611189630d7748c254981ebf':
  Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata.
2013-09-20 09:57:48 -07:00
Nick Kralevich
df3ff45216 am 5a58a1e0: am bef76b54: Merge "Add linux/sock_diag.h"
* commit '5a58a1e0abf51402170abeb6feaceb53915b8a6e':
  Add linux/sock_diag.h
2013-09-20 08:24:59 -07:00
Nick Kralevich
5a58a1e0ab am bef76b54: Merge "Add linux/sock_diag.h"
* commit 'bef76b54a6fe747617334e3aaea892a19370cd29':
  Add linux/sock_diag.h
2013-09-20 08:22:28 -07:00
Nick Kralevich
bef76b54a6 Merge "Add linux/sock_diag.h" 2013-09-20 15:20:03 +00:00
Elliott Hughes
e74f77f92d am 48a909c9: am aad3c52e: Merge "Ensure we have the off64_t variant of every function that takes an off_t."
* commit '48a909c9fd6dbe9be5655ad172d1083fa69c4107':
  Ensure we have the off64_t variant of every function that takes an off_t.
2013-09-19 17:43:01 -07:00
Elliott Hughes
48a909c9fd am aad3c52e: Merge "Ensure we have the off64_t variant of every function that takes an off_t."
* commit 'aad3c52e9d3e726eb59870b03c3fa89a3ba1a89a':
  Ensure we have the off64_t variant of every function that takes an off_t.
2013-09-19 17:40:39 -07:00
Elliott Hughes
aad3c52e9d Merge "Ensure we have the off64_t variant of every function that takes an off_t." 2013-09-20 00:37:28 +00:00
Nick Kralevich
8470f01cca Add linux/sock_diag.h
This file was generated using bionic/libc/kernel/tools/update_all.py

Change-Id: Iad33e96253978ed9a76d429d66eed9f245685c10
2013-09-19 16:44:53 -07:00
Elliott Hughes
b4f7616fd6 Ensure we have the off64_t variant of every function that takes an off_t.
Change-Id: Ib2eee0cf13162be3b62559b84e90c6dcf5aab1c3
2013-09-19 16:27:24 -07:00
Elliott Hughes
a5a508a9b6 am 35cfcc11: am f8e71bac: Merge "Add mmap64()"
* commit '35cfcc11fa923c75ead9356c71466ecabfafcc42':
  Add mmap64()
2013-09-19 14:27:34 -07:00
Elliott Hughes
35cfcc11fa am f8e71bac: Merge "Add mmap64()"
* commit 'f8e71bac14a4bc52cc95c56adfe042c3938279b5':
  Add mmap64()
2013-09-19 14:25:00 -07:00
Elliott Hughes
f8e71bac14 Merge "Add mmap64()" 2013-09-19 21:22:42 +00:00
Daniel Leung
afcc0cccda Add mmap64()
This adds mmap64() to bionic so that it is possible to have
large offset passed to kernel. However, the syscall mechanism
only passes 32-bit number to kernel. So effectively, the
largest offset that can be passed is about 43 bits (since
offset is signed, and the number passed to kernel is number
of pages (page size == 4K => 12 bits)).

Change-Id: Ib54f4e9b54acb6ef8b0324f3b89c9bc810b07281
Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2013-09-19 14:11:26 -07:00
Elliott Hughes
1b75f3e07a am fd5f6f19: am d5ddf40e: Merge "Fix host tests that need the shell."
* commit 'fd5f6f192ab6dcc01091b0e36af822dd3480f9b4':
  Fix host tests that need the shell.
2013-09-19 12:06:44 -07:00
Elliott Hughes
44fd0d92d6 am 94c325fb: am 269851bf: Merge "Declare __page_shift and __page_size with C linkage."
* commit '94c325fb3bd8844dcc58640afb8f33668b684bc1':
  Declare __page_shift and __page_size with C linkage.
2013-09-19 12:06:43 -07:00
Elliott Hughes
fd5f6f192a am d5ddf40e: Merge "Fix host tests that need the shell."
* commit 'd5ddf40ecf72a03e38164389555ccdade779ab5a':
  Fix host tests that need the shell.
2013-09-19 12:05:09 -07:00
Elliott Hughes
94c325fb3b am 269851bf: Merge "Declare __page_shift and __page_size with C linkage."
* commit '269851bf950049f16eeb2a402f700952480bcecf':
  Declare __page_shift and __page_size with C linkage.
2013-09-19 12:05:08 -07:00
Elliott Hughes
d5ddf40ecf Merge "Fix host tests that need the shell." 2013-09-19 19:04:10 +00:00
Elliott Hughes
269851bf95 Merge "Declare __page_shift and __page_size with C linkage." 2013-09-19 19:03:19 +00:00
Bernhard Rosenkraenzer
9ae59c02ca Declare __page_shift and __page_size with C linkage.
__page_shift and __page_size were accidentally declared in unistd.h with
C linkage - their implementation needs to use the same linkage.

Going forward, though, let's stop the inlining madness and let's kill
the non-standard __getpageshift(). This patch takes getpagesize(3) out
of line and removes __getpageshift but fixes __page_shift and __page_size
for backwards binary compatibility.

Change-Id: I35ed66a08989ced1db422eb03e4d154a5d6b5bda
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2013-09-19 11:55:36 -07:00
Elliott Hughes
a3285dc914 am 8ff879a5: am a259472c: Merge "Fix mismatch between declaration and forward declaration"
* commit '8ff879a528b8876db811f5abd4dbf0640e3a0408':
  Fix mismatch between declaration and forward declaration
2013-09-19 11:46:46 -07:00
Elliott Hughes
8ff879a528 am a259472c: Merge "Fix mismatch between declaration and forward declaration"
* commit 'a259472ca076ee230523e63502999be13a3f72d2':
  Fix mismatch between declaration and forward declaration
2013-09-19 11:44:11 -07:00
Elliott Hughes
a259472ca0 Merge "Fix mismatch between declaration and forward declaration" 2013-09-19 18:41:06 +00:00
Elliott Hughes
e60c4f0a6c Fix host tests that need the shell.
By making the /system/bin/sh available.

Change-Id: I99200c1ddc922a2f6b5cea8ff2da98aedbe70e7b
2013-09-19 11:28:20 -07:00
Elliott Hughes
823a4e0a7e am 26e71c19: am 045f311b: Merge "Use and to find the tzdata."
* commit '26e71c19875e36ca4f37993bd0b40cdf2d9aee4e':
  Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata.
2013-09-19 11:23:55 -07:00
Elliott Hughes
26e71c1987 am 045f311b: Merge "Use and to find the tzdata."
* commit '045f311b0a5b3ceed09dfc4b4246c99183a2cef4':
  Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata.
2013-09-19 11:21:21 -07:00
Elliott Hughes
045f311b0a Merge "Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata." 2013-09-19 18:19:00 +00:00
Elliott Hughes
cf178bf7d0 Use $ANDROID_DATA and $ANDROID_ROOT to find the tzdata.
This lets us run binaries linked against bionic on an x86 host.

Change-Id: Icd60cf99a90d747c77304c05b4f764e4d26af985
2013-09-19 11:17:42 -07:00
The Android Automerger
b5e0f2a3e3 merge in master-release history after reset to master 2013-09-19 07:49:55 -07:00
Nick Kralevich
9e71b5f676 am d85d0b4c: am 0c12f125: am 814bbd52: Merge "Update netlink.h from tip-of-tree external/kernel-headers"
* commit 'd85d0b4c2398dba3da126608c9fb79f6971a7b18':
  Update netlink.h from tip-of-tree external/kernel-headers
2013-09-18 21:12:54 -07:00
Nick Kralevich
d85d0b4c23 am 0c12f125: am 814bbd52: Merge "Update netlink.h from tip-of-tree external/kernel-headers"
* commit '0c12f125cfc90f83475532e64aa7f533e02e3798':
  Update netlink.h from tip-of-tree external/kernel-headers
2013-09-18 21:09:22 -07:00
Nick Kralevich
0c12f125cf am 814bbd52: Merge "Update netlink.h from tip-of-tree external/kernel-headers"
* commit '814bbd521affba78db04135515bae1f5e099bbd9':
  Update netlink.h from tip-of-tree external/kernel-headers
2013-09-18 21:06:43 -07:00
Nick Kralevich
814bbd521a Merge "Update netlink.h from tip-of-tree external/kernel-headers" 2013-09-19 04:04:07 +00:00
Elliott Hughes
89186cd219 am ca0f0662: am 2443358b: am 4a509d89: Merge "Add bionic-unit-tests-run-on-host special target"
* commit 'ca0f0662f42a5debe8469e1a9b06ebffb6e492aa':
  Add bionic-unit-tests-run-on-host special target
2013-09-18 19:22:09 -07:00
Elliott Hughes
ca0f0662f4 am 2443358b: am 4a509d89: Merge "Add bionic-unit-tests-run-on-host special target"
* commit '2443358b3717bdce932303bbcbe625f59e1ae380':
  Add bionic-unit-tests-run-on-host special target
2013-09-18 19:20:31 -07:00
Elliott Hughes
2443358b37 am 4a509d89: Merge "Add bionic-unit-tests-run-on-host special target"
* commit '4a509d898e24cefe0f7f0edf927b11ce7c304c81':
  Add bionic-unit-tests-run-on-host special target
2013-09-18 19:17:55 -07:00
Elliott Hughes
4a509d898e Merge "Add bionic-unit-tests-run-on-host special target" 2013-09-19 02:16:00 +00:00
Pavel Chupin
f22fb68751 Add bionic-unit-tests-run-on-host special target
Allows running the tests linked with bionic .so on the host if host and
target are compatible. See more comments and usage limitation inlined.

make bionic-unit-tests-run-on-host should do build and run.

Change-Id: I5946fa72e009d324baa9da18f460294b3c1a615e
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-09-18 19:09:24 -07:00
Nick Kralevich
45e52faeb7 Update netlink.h from tip-of-tree external/kernel-headers
This file was generated using bionic/libc/kernel/tools/update_all.py

The only change is a new netlink.h file, from external/kernel-headers.
Please see the commit message there for details.

Change-Id: I83645b88f0baff838131197913ebd70be69abd3f
2013-09-18 17:14:02 -07:00
Bernhard Rosenkraenzer
edad1e1558 Fix mismatch between declaration and forward declaration
KernelArgumentBlock is defined as a class in KernelArgumentBlock.h, but
forward declarations refer to it as a struct.

While this is essentially the same, the mismatch causes a compiler
warning in clang (and may cause warnings in future versions of gcc) in
code that is supposed to be compiled with -Werror.

Change-Id: I4ba49d364c44d0a42c276aff3a8098300dbdcdf0
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2013-09-18 23:40:19 +02:00
The Android Automerger
10c1f0d443 merge in master-release history after reset to master 2013-09-16 07:50:50 -07:00
Elliott Hughes
b301042da4 am 56326d14: am e0d1d4cf: am 6ebc24fc: am d3f9e815: resolved conflicts for merge of 5d0ad38c to jb-mr2-dev
* commit '56326d14b579b2db23f0479d3613071a53f129b5':
  Upgrade pre-jb-mr2 releases to tzdata2013d.
2013-09-13 17:18:12 -07:00
Elliott Hughes
56326d14b5 am e0d1d4cf: am 6ebc24fc: am d3f9e815: resolved conflicts for merge of 5d0ad38c to jb-mr2-dev
* commit 'e0d1d4cf497bddd8f24b6d22feec33d655cae0dd':
  Upgrade pre-jb-mr2 releases to tzdata2013d.
2013-09-13 17:13:46 -07:00
Brian Carlstrom
58b2992b49 am 4105fcdb: am 059f5c3f: am 8512992f: Merge "Simplify main thread stack size initialization"
* commit '4105fcdb3cbc820ec560740f02f3061d30e42419':
  Simplify main thread stack size initialization
2013-09-13 17:07:17 -07:00
Brian Carlstrom
f7c48a98d6 am d0628066: am 5f0b5108: am 850f59d8: Merge "Use kernel default for initial thread size"
* commit 'd06280669994e63bba292a6bed5f6f54367d23a7':
  Use kernel default for initial thread size
2013-09-13 17:07:16 -07:00
Brian Carlstrom
4105fcdb3c am 059f5c3f: am 8512992f: Merge "Simplify main thread stack size initialization"
* commit '059f5c3f6ce2a1783b5d96b4059df1b9104101d5':
  Simplify main thread stack size initialization
2013-09-13 17:05:20 -07:00
Brian Carlstrom
d062806699 am 5f0b5108: am 850f59d8: Merge "Use kernel default for initial thread size"
* commit '5f0b5108e340bddca796b7b8d2b072e30ccea112':
  Use kernel default for initial thread size
2013-09-13 17:05:20 -07:00
Brian Carlstrom
059f5c3f6c am 8512992f: Merge "Simplify main thread stack size initialization"
* commit '8512992f50e8444c1985bbeb17c3385a58fc0fed':
  Simplify main thread stack size initialization
2013-09-13 17:02:51 -07:00
Brian Carlstrom
5f0b5108e3 am 850f59d8: Merge "Use kernel default for initial thread size"
* commit '850f59d8516c7060be9484e9771aa54231e8ff48':
  Use kernel default for initial thread size
2013-09-13 17:02:50 -07:00
Brian Carlstrom
8512992f50 Merge "Simplify main thread stack size initialization" 2013-09-14 00:00:41 +00:00
Brian Carlstrom
850f59d851 Merge "Use kernel default for initial thread size" 2013-09-14 00:00:33 +00:00
Brian Carlstrom
50af69e8f3 Simplify main thread stack size initialization
Change-Id: Iec09433d9de501031cce09dc75848a5e8f3d96bf
2013-09-13 16:44:47 -07:00
Brian Carlstrom
322e7bce23 Use kernel default for initial thread size
Bug: 10697851

Change-Id: I8d980f5e0b584799536f6e6b891056c968d26cdf
2013-09-13 16:25:25 -07:00
Brian Carlstrom
9d73b37f99 am 0890436d: am 9a74e36f: Use kernel default for initial thread size
* commit '0890436da9ad6e9281f507d515a4158f241c3bd1':
  Use kernel default for initial thread size
2013-09-13 13:27:03 -07:00
Brian Carlstrom
0890436da9 am 9a74e36f: Use kernel default for initial thread size
* commit '9a74e36f4810ca22cb12f8eafe4f929edfa57e58':
  Use kernel default for initial thread size
2013-09-13 13:20:19 -07:00
The Android Automerger
54aacf6b95 merge in master-release history after reset to master 2013-09-11 07:49:15 -07:00
Christopher Ferris
3d6871279c am 2e7a8b44: resolved conflicts for merge of 883ef249 to klp-dev-plus-aosp
* commit '2e7a8b44c2691770e917efcca80bc2650d93efaa':
  __memcpy_chk: Fix signed cmp of unsigned values.
2013-09-10 19:57:41 -07:00
Christopher Ferris
2e7a8b44c2 resolved conflicts for merge of 883ef249 to klp-dev-plus-aosp
Change-Id: I1e2bd03a0cb5a0ab191c525d1574377bc7fd90ab
2013-09-10 19:49:04 -07:00
The Android Automerger
81b37104e6 merge in master-release history after reset to master 2013-09-06 11:30:03 -07:00
Christopher Ferris
93f204f760 am 5cb04369: am 1a88ca08: am 98c726ec: Merge "Add the dl_iterate_phdr function to libdl for arm."
* commit '5cb04369309856f2d2960fe3fbd517ce4e403605':
  Add the dl_iterate_phdr function to libdl for arm.
2013-09-06 10:59:53 -07:00
Christopher Ferris
5cb0436930 am 1a88ca08: am 98c726ec: Merge "Add the dl_iterate_phdr function to libdl for arm."
* commit '1a88ca08046ea510bfc8d3de6875537f124b3ce3':
  Add the dl_iterate_phdr function to libdl for arm.
2013-09-06 10:57:40 -07:00
Christopher Ferris
1a88ca0804 am 98c726ec: Merge "Add the dl_iterate_phdr function to libdl for arm."
* commit '98c726ec9b40e75efdd3ea027cd9cc627329f85e':
  Add the dl_iterate_phdr function to libdl for arm.
2013-09-06 10:54:56 -07:00
Christopher Ferris
98c726ec9b Merge "Add the dl_iterate_phdr function to libdl for arm." 2013-09-06 17:52:35 +00:00
Christopher Ferris
24053a461e Add the dl_iterate_phdr function to libdl for arm.
Bug: 8410085

Merge from internal master.

(cherry-picked from cb491bc66dc0abc145930b09086eb9189a30f6c2)

Change-Id: I94ed51bc5d4c626df7552c0e85c31ccee2d6568f
2013-09-06 09:53:54 -07:00
Christopher Ferris
cb491bc66d Add the dl_iterate_phdr function to libdl for arm.
Bug: 8410085
Change-Id: I94ed51bc5d4c626df7552c0e85c31ccee2d6568f
2013-09-05 15:08:22 -07:00
Elliott Hughes
6c74b8e05b am a015800e: am 5d094c40: am df7436e7: Merge "Avoid segfaults if properties are not initialized"
* commit 'a015800e731b3cc9a8c76d80d2a9f9eb451bf19f':
  Avoid segfaults if properties are not initialized
2013-09-03 14:16:16 -07:00
Elliott Hughes
a015800e73 am 5d094c40: am df7436e7: Merge "Avoid segfaults if properties are not initialized"
* commit '5d094c408841370e4a6f2846ae3408d2e6d12f94':
  Avoid segfaults if properties are not initialized
2013-09-03 14:12:31 -07:00
Elliott Hughes
82ae97f523 am eb31e1c5: am 1e96d49a: am afa31042: Merge "Fix strchr for basic non-sse case on x86"
* commit 'eb31e1c558766315201907171ebd72ca4eaaeb7c':
  Fix strchr for basic non-sse case on x86
2013-09-03 14:09:23 -07:00
Elliott Hughes
5d094c4088 am df7436e7: Merge "Avoid segfaults if properties are not initialized"
* commit 'df7436e709035fb6f5667980042848c8b4ca3e79':
  Avoid segfaults if properties are not initialized
2013-09-03 14:09:08 -07:00
Elliott Hughes
df7436e709 Merge "Avoid segfaults if properties are not initialized" 2013-09-03 21:07:16 +00:00
Elliott Hughes
eb31e1c558 am 1e96d49a: am afa31042: Merge "Fix strchr for basic non-sse case on x86"
* commit '1e96d49a7d4d1af8f3bd6630e4ec9369813f18e7':
  Fix strchr for basic non-sse case on x86
2013-09-03 14:07:11 -07:00
Elliott Hughes
1e96d49a7d am afa31042: Merge "Fix strchr for basic non-sse case on x86"
* commit 'afa310427e04f067976e5b979e2cceb3d759bf3f':
  Fix strchr for basic non-sse case on x86
2013-09-03 14:05:51 -07:00
Elliott Hughes
afa310427e Merge "Fix strchr for basic non-sse case on x86" 2013-09-03 21:03:39 +00:00
Pavel Chupin
3c4b50fd8c Fix strchr for basic non-sse case on x86
Fix source location. Move declaration of __strchr_chk out of
ifdef __BIONIC_FORTIFY which should be available for strchr.cpp
compilation when __BIONIC_FORTIFY is not defined.

Change-Id: I552a6e16656e59b276b322886cfbf57bbfb2e6a7
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-09-03 16:20:52 +04:00
Pavel Chupin
a21e696d90 Avoid segfaults if properties are not initialized
Null or constant dereferencing occurs if properties are not initialized.
On Android devices it shouldn't happen but can be faced if testing bionic
libc.so on Linux host.

Change-Id: I8f047cbe17d0e7bcde40ace000a8aa53789c16cb
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-09-03 13:27:09 +04:00
Christopher Ferris
c3676c62cd am 153ec2a7: am 49c0d471: Merge "Fix all debug directives." into klp-dev
* commit '153ec2a76f539902cc84a15b6737bf3ce9243f30':
  Fix all debug directives.
2013-08-29 14:24:11 -07:00
Christopher Ferris
153ec2a76f am 49c0d471: Merge "Fix all debug directives." into klp-dev
* commit '49c0d471a8ba9ed32e7fdadb7e4ea6118b4b4af4':
  Fix all debug directives.
2013-08-29 14:23:06 -07:00
Christopher Ferris
13595433c2 am 7a809829: am fc24bc25: am 99b859cf: Merge "Move stack unwinding test into library."
* commit '7a809829136457bb884e54cce6d1ec29223970c2':
  Move stack unwinding test into library.
2013-08-29 14:20:41 -07:00
Christopher Ferris
7a80982913 am fc24bc25: am 99b859cf: Merge "Move stack unwinding test into library."
* commit 'fc24bc2544edad03798a1c69d6a76259e6f1e7dd':
  Move stack unwinding test into library.
2013-08-29 14:18:41 -07:00
Christopher Ferris
fc24bc2544 am 99b859cf: Merge "Move stack unwinding test into library."
* commit '99b859cf786f208300f7fc3a6fa5b570c3333433':
  Move stack unwinding test into library.
2013-08-29 14:16:18 -07:00
Christopher Ferris
99b859cf78 Merge "Move stack unwinding test into library." 2013-08-29 21:13:22 +00:00
Christopher Ferris
8240bed918 Move stack unwinding test into library.
Bug: 8291716
Change-Id: Ia270f074b574a8fe86b5ad435bdef80999c64295
2013-08-29 14:00:25 -07:00
Nick Kralevich
d484054765 am 4d0fbf9b: am 89dcc10c: am 4e3ed44d: Merge "cdefs.h: introduce __bos0"
* commit '4d0fbf9b0742e6c98af708641c2cb4318082bce7':
  cdefs.h: introduce __bos0
2013-08-28 14:48:16 -07:00
Nick Kralevich
4d0fbf9b07 am 89dcc10c: am 4e3ed44d: Merge "cdefs.h: introduce __bos0"
* commit '89dcc10c320c032faef83c4940a57949ade01dba':
  cdefs.h: introduce __bos0
2013-08-28 14:36:50 -07:00
Nick Kralevich
89dcc10c32 am 4e3ed44d: Merge "cdefs.h: introduce __bos0"
* commit '4e3ed44db1200ca810842b0667e7fc80125de28d':
  cdefs.h: introduce __bos0
2013-08-28 14:33:59 -07:00
Nick Kralevich
4e3ed44db1 Merge "cdefs.h: introduce __bos0" 2013-08-28 21:31:55 +00:00
Nick Kralevich
bd8e6749b7 cdefs.h: introduce __bos0
Introduce __bos0 as a #define for __builtin_object_size((s), 0).
This macro is intended to be used for places where the standard
__bos macro isn't appropriate.

memcpy, memmove, and memset deliberately use __bos0. This is done
for two reasons:

1) I haven't yet tested to see if __bos is safe to use.
2) glibc uses __bos0 for these methods.

Change-Id: Ifbe02efdb10a72fe3529dbcc47ff647bde6feeca
2013-08-28 14:27:14 -07:00
Nick Kralevich
f135c2c44a am 2c87c3ff: am cfd0d72d: am eb8f3622: Merge "FORTIFY_SOURCE: introduce __strncpy_chk2"
* commit '2c87c3ff021571e82684a865609a1146830338fb':
  FORTIFY_SOURCE: introduce __strncpy_chk2
2013-08-28 14:07:10 -07:00
Nick Kralevich
2c87c3ff02 am cfd0d72d: am eb8f3622: Merge "FORTIFY_SOURCE: introduce __strncpy_chk2"
* commit 'cfd0d72da8641087f9c4015ee586614da9f7320a':
  FORTIFY_SOURCE: introduce __strncpy_chk2
2013-08-28 13:07:57 -07:00
Nick Kralevich
cfd0d72da8 am eb8f3622: Merge "FORTIFY_SOURCE: introduce __strncpy_chk2"
* commit 'eb8f36223e51db626a23b8032f03c095be80998b':
  FORTIFY_SOURCE: introduce __strncpy_chk2
2013-08-28 13:05:38 -07:00
Nick Kralevich
eb8f36223e Merge "FORTIFY_SOURCE: introduce __strncpy_chk2" 2013-08-28 20:04:06 +00:00
Nick Kralevich
93501d3ab8 FORTIFY_SOURCE: introduce __strncpy_chk2
This change detects programs reading beyond the end of "src" when
calling strncpy.

Change-Id: Ie1b42de923385d62552b22c27b2d4713ab77ee03
2013-08-28 12:39:06 -07:00
Christopher Ferris
8501fa38d7 am 7c8ebaf6: am d923b307: am 2557433d: Merge "Change hard-coded directory."
* commit '7c8ebaf6c17c11854ae394ac7fa45c51489de75a':
  Change hard-coded directory.
2013-08-27 17:43:41 -07:00
Christopher Ferris
7c8ebaf6c1 am d923b307: am 2557433d: Merge "Change hard-coded directory."
* commit 'd923b3075c9cf9e0749cee7373cabb9afba9420c':
  Change hard-coded directory.
2013-08-27 17:41:17 -07:00
Christopher Ferris
d923b3075c am 2557433d: Merge "Change hard-coded directory."
* commit '2557433d8ea4c489f061170822f34f038b930b96':
  Change hard-coded directory.
2013-08-27 17:38:07 -07:00
Christopher Ferris
2557433d8e Merge "Change hard-coded directory." 2013-08-28 00:35:12 +00:00
Christopher Ferris
ef17f8dda6 am 3825da5c: am 7a2c2784: am 1f216e30: Merge "Create bionic unit test library for use with CTS."
* commit '3825da5c0734215d179ce613681322fb5be3bfbe':
  Create bionic unit test library for use with CTS.
2013-08-27 17:25:10 -07:00
Christopher Ferris
3825da5c07 am 7a2c2784: am 1f216e30: Merge "Create bionic unit test library for use with CTS."
* commit '7a2c2784a656adfae613b6b53d388988d6f2efa6':
  Create bionic unit test library for use with CTS.
2013-08-27 17:22:37 -07:00
Christopher Ferris
5227bb363d Change hard-coded directory.
The tests are using /data/data which is not accessible to a non-root
user. Change this to /data/local/tmp which is accessible to all users.

Bug: 8291716

Change-Id: I66476bbbaf5d1dc0c103863abf9219405f06a85b
2013-08-27 17:22:34 -07:00
Christopher Ferris
7a2c2784a6 am 1f216e30: Merge "Create bionic unit test library for use with CTS."
* commit '1f216e30b6a9301211193d05f995cdefbdc9619f':
  Create bionic unit test library for use with CTS.
2013-08-27 17:20:39 -07:00
Christopher Ferris
1f216e30b6 Merge "Create bionic unit test library for use with CTS." 2013-08-28 00:19:06 +00:00
Nick Kralevich
259de5897b am f6186e95: am 1278ae38: am 22f5ef6b: Merge "Delete CAVEATS / fix spelling."
* commit 'f6186e95929b8da3d90057648475301bf6ee03d2':
  Delete CAVEATS / fix spelling.
2013-08-27 17:15:36 -07:00
Nick Kralevich
f6186e9592 am 1278ae38: am 22f5ef6b: Merge "Delete CAVEATS / fix spelling."
* commit '1278ae38366102369b5a35152f2213426a148512':
  Delete CAVEATS / fix spelling.
2013-08-27 17:11:06 -07:00
Nick Kralevich
1278ae3836 am 22f5ef6b: Merge "Delete CAVEATS / fix spelling."
* commit '22f5ef6b84057bf56f023263859a9b45eccd620b':
  Delete CAVEATS / fix spelling.
2013-08-27 17:08:11 -07:00
Nick Kralevich
22f5ef6b84 Merge "Delete CAVEATS / fix spelling." 2013-08-28 00:06:19 +00:00
Nick Kralevich
bdbdbb8319 Delete CAVEATS / fix spelling.
Change-Id: I0ed504271b7c2e4434d0d5f53bc10335c8cf7b5b
2013-08-27 17:05:19 -07:00
Christopher Ferris
153d92765b Create bionic unit test library for use with CTS.
Bug: 8291716

Change-Id: I46b749348456fae7892eecca6b44aef51a0e4747
2013-08-27 14:35:56 -07:00
Brian Carlstrom
61a5be7574 am 112ad6bf: am 6ab75bf4: Merge "Fix pthread_getcpuclockid." into klp-dev
* commit '112ad6bf2183ba105b4f4c2b7eba58066a3312d7':
  Fix pthread_getcpuclockid.
2013-08-26 15:17:06 -07:00
Robert Greenwalt
76d93d6002 am cd1480a6: am 26ac8032: Merge "Change how DNS resolver handle no default iface" into klp-dev
* commit 'cd1480a6622de1043645093b29beee43e0671048':
  Change how DNS resolver handle no default iface
2013-08-26 15:17:05 -07:00
Brian Carlstrom
112ad6bf21 am 6ab75bf4: Merge "Fix pthread_getcpuclockid." into klp-dev
* commit '6ab75bf41e5ca24f5d313673b8a05e2dbb803106':
  Fix pthread_getcpuclockid.
2013-08-26 15:05:30 -07:00
Robert Greenwalt
cd1480a662 am 26ac8032: Merge "Change how DNS resolver handle no default iface" into klp-dev
* commit '26ac803232540fc074709c75d17bc3ec0c03f2c4':
  Change how DNS resolver handle no default iface
2013-08-26 15:03:44 -07:00
Elliott Hughes
3dbb077c5a am bda15698: am d23ef69a: am 33dd7c11: Merge "Add explicit -m32/-melf_i386 for x86 target"
* commit 'bda15698bc59ba307f5faabf7efd22ae9ecac136':
  Add explicit -m32/-melf_i386 for x86 target
2013-08-26 10:13:20 -07:00
Elliott Hughes
bda15698bc am d23ef69a: am 33dd7c11: Merge "Add explicit -m32/-melf_i386 for x86 target"
* commit 'd23ef69ad1d089c10547ac3d42ba199b66260ae3':
  Add explicit -m32/-melf_i386 for x86 target
2013-08-26 10:11:55 -07:00
Elliott Hughes
d23ef69ad1 am 33dd7c11: Merge "Add explicit -m32/-melf_i386 for x86 target"
* commit '33dd7c116d652223b5bf3dabe49641c310d1216b':
  Add explicit -m32/-melf_i386 for x86 target
2013-08-26 10:09:36 -07:00
Elliott Hughes
33dd7c116d Merge "Add explicit -m32/-melf_i386 for x86 target" 2013-08-26 17:05:31 +00:00
Robert Greenwalt
8b1cc6ceb8 am e5911f31: resolved conflicts for merge of 937c3742 to klp-dev-plus-aosp
* commit 'e5911f31286179c1e4dc9bb2691e5098c6e3d20e':
  Change how DNS resolver handle no default iface
2013-08-24 08:25:39 -07:00
Robert Greenwalt
e5911f3128 resolved conflicts for merge of 937c3742 to klp-dev-plus-aosp
Change-Id: I4c0ad42ea3802cd232c80e5589af8a8e25f88a60
2013-08-24 08:21:41 -07:00
Robert Greenwalt
937c374225 am c6135ba7: Merge "Change how DNS resolver handle no default iface"
* commit 'c6135ba76db027d85751f84bf648a865609c0e1b':
  Change how DNS resolver handle no default iface
2013-08-24 05:40:18 -07:00
Robert Greenwalt
c6135ba76d Merge "Change how DNS resolver handle no default iface" 2013-08-24 12:35:08 +00:00
Pavel Chupin
e85c183424 Add explicit -m32/-melf_i386 for x86 target
Required for x86 build with multilib compiler.

Change-Id: Iac71cdc3461df6fb48cb2a7b713324ca368e6704
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2013-08-23 16:46:42 +04:00
Robert Greenwalt
a31ddef36d Change how DNS resolver handle no default iface
We used to just try any iface we'd been told about as a
fallback, but that will end up mistakenly using a secondary
network's dns when we really don't have a default connection.

It also messed up our detection of whether we were doing the
lookup on the default or not (we'd get back our secondary net
iface as the default, do the compare and think we were on default).

Remove the lies and let dns fail if we don't have an iface for it.

bug:10132565
Change-Id: I5f0f2abacaaaaf23c5292b20fba9d8dcb6fb10c5
2013-08-22 21:05:49 -07:00
Elliott Hughes
aa3defdecb am 9fd0cf81: am 345eb225: Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
* commit '9fd0cf81702d083b39a839b07ad75d2ff0ac277d':
  Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
2013-08-22 14:36:54 -07:00
Elliott Hughes
b58a14df12 am 2d38fced: am 7003a14b: am 41f08abf: Merge "Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a."
* commit '2d38fced00a873da8077a5193b2d5ef8603dcc66':
  Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
2013-08-22 14:36:54 -07:00
Elliott Hughes
9fd0cf8170 am 345eb225: Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
* commit '345eb225ae2e87e36354be5f1e62301179482804':
  Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
2013-08-22 14:34:14 -07:00
Elliott Hughes
2d38fced00 am 7003a14b: am 41f08abf: Merge "Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a."
* commit '7003a14b536bad08476d2f2005ebcc0490b77b24':
  Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
2013-08-22 14:32:44 -07:00
Elliott Hughes
7003a14b53 am 41f08abf: Merge "Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a."
* commit '41f08abf3d020ad8b48ff4151f8c623a119790e0':
  Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
2013-08-22 14:30:42 -07:00
Elliott Hughes
41f08abf3d Merge "Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a." 2013-08-22 21:27:55 +00:00
Elliott Hughes
713fe6463e Apply upstream commit 943a6621866e9d6e654f5cfe1494378c1fb8957a.
Author: Paul Eggert <eggert@cs.ucla.edu>
Date:   Thu Aug 22 12:47:51 2013 -0700

    * localtime.c: Fix another integer overflow bug in mktime.

    (time2sub): Avoid undefined behavior on time_t overflow.
    Reported by Elliott Hughes in
    <http://mm.icann.org/pipermail/tz/2013-August/019580.html>.

Bug: 10310929
Change-Id: I3bf26f1f91371552e0a3828457d27e22af55acb2
2013-08-22 14:18:04 -07:00
Elliott Hughes
51edfd4701 am 5cf93f8d: am f0c10a4a: Work around tzcode\'s reliance on signed overflow.
* commit '5cf93f8d91be8e7e1654d7eee5966d6da5d6fe85':
  Work around tzcode's reliance on signed overflow.
2013-08-22 12:39:55 -07:00
Elliott Hughes
5cf93f8d91 am f0c10a4a: Work around tzcode\'s reliance on signed overflow.
* commit 'f0c10a4a16c74f5099cf6b272c0a2f11f454e63c':
  Work around tzcode's reliance on signed overflow.
2013-08-22 12:36:34 -07:00
Elliott Hughes
617368d07d am 6b5eb313: am e5ac43e1: am c44205cf: Merge "Work around tzcode\'s reliance on signed overflow."
* commit '6b5eb3134adb3d08c0803228ce79d3a5b14d4fac':
  Work around tzcode's reliance on signed overflow.
2013-08-22 12:30:08 -07:00
Elliott Hughes
6b5eb3134a am e5ac43e1: am c44205cf: Merge "Work around tzcode\'s reliance on signed overflow."
* commit 'e5ac43e19afe270c2a70e4fb5d02b4cf056d50d7':
  Work around tzcode's reliance on signed overflow.
2013-08-22 12:27:52 -07:00
Elliott Hughes
e5ac43e19a am c44205cf: Merge "Work around tzcode\'s reliance on signed overflow."
* commit 'c44205cf717fc8ab8ccaf3631032fa236ba61a86':
  Work around tzcode's reliance on signed overflow.
2013-08-22 12:25:10 -07:00
Elliott Hughes
c44205cf71 Merge "Work around tzcode's reliance on signed overflow." 2013-08-22 19:22:16 +00:00
Elliott Hughes
7843d44a59 Work around tzcode's reliance on signed overflow.
I've mailed the tz list about this, and will switch to whatever upstream
fix comes along as soon as it's available.

Bug: 10310929
Change-Id: I36bf3fcf11f5ac9b88137597bac3487a7bb81b0f
2013-08-22 12:21:18 -07:00
Brian Carlstrom
8718496e46 am 91df2dd3: am b6cd9cec: am bb34907f: Merge "Make mips_relocate_got tolerate a missing got"
* commit '91df2dd346b1adad48249dc984e102517bd3e2fb':
  Make mips_relocate_got tolerate a missing got
2013-08-21 10:33:06 -07:00
Brian Carlstrom
1714e372df am baebc648: am 9ef1fbb6: Make mips_relocate_got tolerate a missing got
* commit 'baebc6489a2a18a1a406ddea2fd5d228229cb532':
  Make mips_relocate_got tolerate a missing got
2013-08-21 10:33:05 -07:00
Brian Carlstrom
91df2dd346 am b6cd9cec: am bb34907f: Merge "Make mips_relocate_got tolerate a missing got"
* commit 'b6cd9cecc818fd5303e8c664fcbc5b408883c185':
  Make mips_relocate_got tolerate a missing got
2013-08-21 10:30:24 -07:00
Brian Carlstrom
b6cd9cecc8 am bb34907f: Merge "Make mips_relocate_got tolerate a missing got"
* commit 'bb34907ff5f60cf1600e83ea1bb4a6c26da6854e':
  Make mips_relocate_got tolerate a missing got
2013-08-21 10:28:51 -07:00
Brian Carlstrom
baebc6489a am 9ef1fbb6: Make mips_relocate_got tolerate a missing got
* commit '9ef1fbb644bf85fa211588853316efa4848547c6':
  Make mips_relocate_got tolerate a missing got
2013-08-21 10:27:06 -07:00
Brian Carlstrom
bb34907ff5 Merge "Make mips_relocate_got tolerate a missing got" 2013-08-21 17:25:48 +00:00
Brian Carlstrom
87c358524e Make mips_relocate_got tolerate a missing got
Bug: 10094803

(cherry picked from commit 7ee26878065abb494600595349ce58b2b2db3709)

Change-Id: Ib15bccecaee421dc463d46a3956b054051708759
2013-08-21 10:20:13 -07:00
Christopher Ferris
ad73d4d9de am 1ebb4401: am 5f7ccea3: Update all debug directives.
* commit '1ebb44013c4d585ca720f391641351eab4bb832f':
  Update all debug directives.
2013-08-20 13:25:50 -07:00
Christopher Ferris
1ebb44013c am 5f7ccea3: Update all debug directives.
* commit '5f7ccea3ffab05aeceecb85c821003cf580630d3':
  Update all debug directives.
2013-08-20 13:23:32 -07:00
Christopher Ferris
c3867e1fb7 am 2389a267: am c058154b: am c8039337: Merge "Change hard-coded temporary directory."
* commit '2389a26705a600e69c8c0b24a02bc05522bc68d1':
  Change hard-coded temporary directory.
2013-08-16 12:29:43 -07:00
Elliott Hughes
f2046ab3f2 am e714eb15: am 6b6aaec8: am 4eacb341: Merge "Fix pthread_getcpuclockid."
* commit 'e714eb157ea92f3166b6292ed54138f3e092d5da':
  Fix pthread_getcpuclockid.
2013-08-16 12:29:43 -07:00
Christopher Ferris
831b91eab8 am 4ff3ec05: am 2e544837: Merge commit \'cf052994\' into manualmerge
* commit '4ff3ec05dfbec3029b5656868b643f812bec2853':
  Create optimized __strcpy_chk/__strcat_chk.
2013-08-16 12:26:03 -07:00
Christopher Ferris
2389a26705 am c058154b: am c8039337: Merge "Change hard-coded temporary directory."
* commit 'c058154b747f295c98ad771d3dec4065749ee1a9':
  Change hard-coded temporary directory.
2013-08-16 12:25:58 -07:00
Elliott Hughes
e714eb157e am 6b6aaec8: am 4eacb341: Merge "Fix pthread_getcpuclockid."
* commit '6b6aaec892b1f256787fbbf106449f7d7e5888a2':
  Fix pthread_getcpuclockid.
2013-08-16 12:25:58 -07:00
Christopher Ferris
c058154b74 am c8039337: Merge "Change hard-coded temporary directory."
* commit 'c8039337e3ee608e23f8ca6e5ea123d938b08029':
  Change hard-coded temporary directory.
2013-08-16 12:21:55 -07:00
Elliott Hughes
6b6aaec892 am 4eacb341: Merge "Fix pthread_getcpuclockid."
* commit '4eacb34132b3162cc3716edfee8bad528d84c16f':
  Fix pthread_getcpuclockid.
2013-08-16 12:21:46 -07:00
Christopher Ferris
4ff3ec05df am 2e544837: Merge commit \'cf052994\' into manualmerge
* commit '2e544837e7acb479c3e4e22f53835e9740800af7':
  Create optimized __strcpy_chk/__strcat_chk.
2013-08-16 12:21:27 -07:00
Christopher Ferris
c8039337e3 Merge "Change hard-coded temporary directory." 2013-08-16 03:13:42 +00:00
Christopher Ferris
2e544837e7 Merge commit 'cf052994' into manualmerge
Fixing merge conflict and pulling in all of the changes that I stupidly
marked as not requiring a merge.

Conflicts:
    libc/arch-arm/arm.mk
    libc/arch-arm/cortex-a15/bionic/memcpy.S
    libc/arch-arm/cortex-a15/bionic/memset.S
    libc/arch-arm/cortex-a9/bionic/memcpy.S
    libc/arch-arm/cortex-a9/bionic/memset.S
    libc/arch-arm/cortex-a9/cortex-a9.mk
    libc/arch-arm/krait/bionic/memcpy.S
    libc/arch-arm/krait/bionic/memset.S
    libc/arch-arm/krait/krait.mk

Change-Id: I5da280dd8700681f118719c964a4d13446db51db
2013-08-15 19:27:08 -07:00
Elliott Hughes
4eacb34132 Merge "Fix pthread_getcpuclockid." 2013-08-15 22:34:58 +00:00
Jeff Hao
9b06cc3c1b Fix pthread_getcpuclockid.
clock_gettime was returning EINVAL for the values
produced by pthread_getcpuclockid.

Bug: 10346183
Change-Id: Iabe643d7d46110bb311a0367aa0fc737f653208e
2013-08-15 15:34:22 -07:00
Christopher Ferris
cf0529946a Merge "Create optimized __strcpy_chk/__strcat_chk." 2013-08-15 20:02:59 +00:00
Christopher Ferris
bd6dc6a886 Change hard-coded temporary directory.
The properties tests creates a temporary directory in /data/nativetest,
but this directory might not exist in all circumstances.
Change this to create the temporary directory in /data/local/tmp.

Change-Id: I812d3e24fcd084c5d74055c9faa95b1656f255bc
2013-08-15 12:54:40 -07:00
Christopher Ferris
d48e0bd084 am b25b2760: (-s ours) am 11855d47: (-s ours) am c5cf5370: (-s ours) Merge "Optimize __memset_chk, __memcpy_chk. DO NOT MERGE."
* commit 'b25b2760313d1abd123bf99a3c449600c8c76731':
  Optimize __memset_chk, __memcpy_chk. DO NOT MERGE.
2013-08-15 11:19:52 -07:00
Christopher Ferris
b25b276031 am 11855d47: (-s ours) am c5cf5370: (-s ours) Merge "Optimize __memset_chk, __memcpy_chk. DO NOT MERGE."
* commit '11855d4789501956c546604a35d5e56da280040c':
  Optimize __memset_chk, __memcpy_chk. DO NOT MERGE.
2013-08-15 11:16:11 -07:00
Christopher Ferris
11855d4789 am c5cf5370: (-s ours) Merge "Optimize __memset_chk, __memcpy_chk. DO NOT MERGE."
* commit 'c5cf53701a5e04aeead70b1298bb38c51633e96d':
  Optimize __memset_chk, __memcpy_chk. DO NOT MERGE.
2013-08-15 11:14:56 -07:00
Christopher Ferris
5f45d583b0 Create optimized __strcpy_chk/__strcat_chk.
This change pulls the memcpy code out into a new file so that the
__strcpy_chk and __strcat_chk can use it with an include.

The new versions of the two chk functions uses assembly versions
of strlen and memcpy to implement this check. This allows near
parity with the assembly versions of strcpy/strcat. It also means that
as memcpy implementations get faster, so do the chk functions.

Other included changes:
- Change all of the assembly labels to local labels. The other labels
  confuse gdb and mess up backtracing.
- Add .cfi_startproc and .cfi_endproc directives so that gdb is not
  confused when falling through from one function to another.
- Change all functions to use cfi directives since they are more powerful.
- Move the memcpy_chk fail code outside of the memcpy function definition
  so that backtraces work properly.
- Preserve lr before the calls to __fortify_chk_fail so that the backtrace
  actually works.

Testing:

- Ran the bionic unit tests. Verified all error messages in logs are set
  correctly.
- Ran libc_test, replacing strcpy with __strcpy_chk and replacing
  strcat with __strcat_chk.
- Ran the debugger on nexus10, nexus4, and old nexus7. Verified that the
  backtrace is correct for all fortify check failures. Also verify that
  when falling through from __memcpy_chk to memcpy that the backtrace is
  still correct. Also verified the same for __memset_chk and bzero.
  Verified the two different paths in the cortex-a9 memset routine that
  save variables to the stack still show the backtrace properly.

Bug: 9293744

(cherry-picked from 2be91915dcecc956d14ff281db0c7d216ca98af2)

Change-Id: Ia407b74d3287d0b6af0139a90b6eb3bfaebf2155
2013-08-15 11:13:39 -07:00
Christopher Ferris
c5cf53701a Merge "Optimize __memset_chk, __memcpy_chk. DO NOT MERGE." 2013-08-15 18:11:02 +00:00
Christopher Ferris
59a13c122e Optimize __memset_chk, __memcpy_chk. DO NOT MERGE.
This change creates assembler versions of __memcpy_chk/__memset_chk
that is implemented in the memcpy/memset assembler code. This change
avoids an extra call to memcpy/memset, instead allowing a simple fall
through to occur from the chk code into the body of the real
implementation.

Testing:

- Ran the libc_test on __memcpy_chk/__memset_chk on all nexus devices.
- Wrote a small test executable that has three calls to __memcpy_chk and
  three calls to __memset_chk. First call dest_len is length + 1. Second
  call dest_len is length. Third call dest_len is length - 1.
  Verified that the first two calls pass, and the third fails. Examined
  the logcat output on all nexus devices to verify that the fortify
  error message was sent properly.
- I benchmarked the new __memcpy_chk and __memset_chk on all systems. For
  __memcpy_chk and large copies, the savings is relatively small (about 1%).
  For small copies, the savings is large on cortex-a15/krait devices
  (between 5% to 30%).
  For cortex-a9 and small copies, the speed up is present, but relatively
  small (about 3% to 5%).
  For __memset_chk and large copies, the savings is also small (about 1%).
  However, all processors show larger speed-ups on small copies (about 30% to
  100%).

Bug: 9293744

Merge from internal master.

(cherry-picked from 7c860db0747f6276a6e43984d43f8fa5181ea936)

Change-Id: I916ad305e4001269460ca6ebd38aaa0be8ac7f52
2013-08-14 18:14:43 -07:00
Brian Carlstrom
51acd5c116 am 26c755b2: am 0f14e8d5: am c85e0dbb: Merge "Add more information to error due to truncated Elf32_Ehdr"
* commit '26c755b25644eed0ee044d312af46fe808e8632a':
  Add more information to error due to truncated Elf32_Ehdr
2013-08-14 15:59:20 -07:00
Brian Carlstrom
26c755b256 am 0f14e8d5: am c85e0dbb: Merge "Add more information to error due to truncated Elf32_Ehdr"
* commit '0f14e8d5ea2cef28cfa0f39851ad55b134043e7d':
  Add more information to error due to truncated Elf32_Ehdr
2013-08-14 15:56:12 -07:00
Brian Carlstrom
0f14e8d5ea am c85e0dbb: Merge "Add more information to error due to truncated Elf32_Ehdr"
* commit 'c85e0dbb0b8d602f930cf7ae99901730c1c6a26a':
  Add more information to error due to truncated Elf32_Ehdr
2013-08-14 15:54:08 -07:00
Brian Carlstrom
c85e0dbb0b Merge "Add more information to error due to truncated Elf32_Ehdr" 2013-08-14 22:51:47 +00:00
Brian Carlstrom
0e79b91962 Add more information to error due to truncated Elf32_Ehdr
Change-Id: I24f30bd0c1120bcf85d77f5c4e69f0fefe9a2478
2013-08-14 15:47:46 -07:00
The Android Open Source Project
8a41a44843 am 243ae9f4: (-s ours) Reconcile with klp-release - do not merge
* commit '243ae9f4618e6697ed745e4ec75a53fadef3bc3f':
  bionic: replace 4K property pages with 32K property pages
2013-08-14 14:13:53 -07:00
The Android Open Source Project
243ae9f461 Reconcile with klp-release - do not merge
Change-Id: I427a690248ab49aca987347b18f08ec0aabe38b9
2013-08-14 14:10:28 -07:00
Michael Wright
4581515290 am a71f676b: am 7b197ea1: am 5e4a2f31: Merge "Update kernel input headers"
* commit 'a71f676b474ff78d69b1edc514fafea58919e5fb':
  Update kernel input headers
2013-08-14 13:52:13 -07:00
Michael Wright
a71f676b47 am 7b197ea1: am 5e4a2f31: Merge "Update kernel input headers"
* commit '7b197ea1107055bcdf0a15f285495c5d70a3555c':
  Update kernel input headers
2013-08-14 13:48:18 -07:00
Michael Wright
7b197ea110 am 5e4a2f31: Merge "Update kernel input headers"
* commit '5e4a2f3174485678d461d6b0eeb11a5e9a32e531':
  Update kernel input headers
2013-08-14 13:47:03 -07:00
Michael Wright
5e4a2f3174 Merge "Update kernel input headers" 2013-08-14 20:45:19 +00:00
Michael Wright
55bdef8677 Update kernel input headers
To upstream SHA e1c85813f3832b909d1c4309b213bb0a52c79ba5

Change-Id: I72ee3d59c105bc0252b5ca0c49c569d12ec685d1
2013-08-14 13:30:20 -07:00
Christopher Ferris
509e584552 am 3f78cb42: am f0c3d909: Create optimized __strcpy_chk/__strcat_chk.
* commit '3f78cb428eb51c8813ccbfaa4716682a0e41537e':
  Create optimized __strcpy_chk/__strcat_chk.
2013-08-14 08:16:20 -07:00
Christopher Ferris
3f78cb428e am f0c3d909: Create optimized __strcpy_chk/__strcat_chk.
* commit 'f0c3d909136167fdbe32b7815e5e1e02b4c35d62':
  Create optimized __strcpy_chk/__strcat_chk.
2013-08-14 07:58:50 -07:00
Christopher Ferris
6e118609ec Merge "Create optimized __strcpy_chk/__strcat_chk." 2013-08-14 03:34:27 +00:00
Christopher Ferris
2be91915dc Create optimized __strcpy_chk/__strcat_chk.
This change pulls the memcpy code out into a new file so that the
__strcpy_chk and __strcat_chk can use it with an include.

The new versions of the two chk functions uses assembly versions
of strlen and memcpy to implement this check. This allows near
parity with the assembly versions of strcpy/strcat. It also means that
as memcpy implementations get faster, so do the chk functions.

Other included changes:
- Change all of the assembly labels to local labels. The other labels
  confuse gdb and mess up backtracing.
- Add .cfi_startproc and .cfi_endproc directives so that gdb is not
  confused when falling through from one function to another.
- Change all functions to use cfi directives since they are more powerful.
- Move the memcpy_chk fail code outside of the memcpy function definition
  so that backtraces work properly.
- Preserve lr before the calls to __fortify_chk_fail so that the backtrace
  actually works.

Testing:

- Ran the bionic unit tests. Verified all error messages in logs are set
  correctly.
- Ran libc_test, replacing strcpy with __strcpy_chk and replacing
  strcat with __strcat_chk.
- Ran the debugger on nexus10, nexus4, and old nexus7. Verified that the
  backtrace is correct for all fortify check failures. Also verify that
  when falling through from __memcpy_chk to memcpy that the backtrace is
  still correct. Also verified the same for __memset_chk and bzero.
  Verified the two different paths in the cortex-a9 memset routine that
  save variables to the stack still show the backtrace properly.

Bug: 9293744
Change-Id: Id5aec8c3cb14101d91bd125eaf3770c9c8aa3f57
2013-08-13 18:05:33 -07:00
Elliott Hughes
5ba3c7000a am d861b6cb: am 3912f90e: Make ctype.h a little less unhygienic.
* commit 'd861b6cbdf965186e6e85c7973c1eeddd083fc0e':
  Make ctype.h a little less unhygienic.
2013-08-13 14:51:03 -07:00
Elliott Hughes
d861b6cbdf am 3912f90e: Make ctype.h a little less unhygienic.
* commit '3912f90e56780ef54c68c796ff6793f5692e7658':
  Make ctype.h a little less unhygienic.
2013-08-13 14:48:40 -07:00
Elliott Hughes
3cd7f4897f am 34cd4998: am fd61eccf: am ff9b7aa6: Merge "Make ctype.h a little less unhygienic."
* commit '34cd499875a266f6d2a58dcc85c8b7bb15525428':
  Make ctype.h a little less unhygienic.
2013-08-13 14:47:41 -07:00
Elliott Hughes
7a15aaa379 am 0d5745fe: am 5951e846: Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
* commit '0d5745fe8aedf46fa7e8aafc6c2beeae1ef59712':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-13 14:47:40 -07:00
Elliott Hughes
34cd499875 am fd61eccf: am ff9b7aa6: Merge "Make ctype.h a little less unhygienic."
* commit 'fd61eccf6b909ee6374ad43164f0e9bcd4b3547c':
  Make ctype.h a little less unhygienic.
2013-08-13 14:45:44 -07:00
Elliott Hughes
0d5745fe8a am 5951e846: Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
* commit '5951e84646553cdcba0c619f1424f2d934eeabb2':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-13 14:45:22 -07:00
Elliott Hughes
fd61eccf6b am ff9b7aa6: Merge "Make ctype.h a little less unhygienic."
* commit 'ff9b7aa695bd4860c0551b8899f2f26311174855':
  Make ctype.h a little less unhygienic.
2013-08-13 14:43:26 -07:00
Elliott Hughes
ff9b7aa695 Merge "Make ctype.h a little less unhygienic." 2013-08-13 21:40:13 +00:00
Elliott Hughes
5e9b20f721 Make ctype.h a little less unhygienic.
This caused trouble for stlport.

Change-Id: Id40787c5a2b7a3a4e12fb557efe549778a01cbbd
2013-08-13 14:30:59 -07:00
Elliott Hughes
6539da0f25 am c1772397: am ff8dcd4a: am c933493a: Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols."
* commit 'c1772397f96e82e142dd082da4747824e7c8a839':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-12 15:52:02 -07:00
Elliott Hughes
c1772397f9 am ff8dcd4a: am c933493a: Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols."
* commit 'ff8dcd4a1056257b454da71e1ea1371bb73d3a79':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-12 14:28:52 -07:00
Elliott Hughes
ff8dcd4a10 am c933493a: Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols."
* commit 'c933493ac28c40558f369d175da738ba601d8499':
  Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
2013-08-12 13:25:48 -07:00
Elliott Hughes
c933493ac2 Merge "Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols." 2013-08-12 20:23:34 +00:00
Elliott Hughes
aec2ffbc5a Fix our missing abs/labs/llabs/imaxabs (and imaxdiv) symbols.
Change-Id: I94c411c22634e43184445c82e7388e51fc46a8cc
2013-08-12 12:07:05 -07:00
Elliott Hughes
70e5758f5c am 2a5d2e98: am 9e9d1e01: resolved conflicts for merge of 86125aca to klp-dev
* commit '2a5d2e98f9ffbddf37d8d57ed3028c3c8349e351':
2013-08-09 06:07:11 -07:00
Elliott Hughes
a7fc5bde71 am 598f3e9c: Merge "resolved conflicts for merge of dce94165 to klp-dev-plus-aosp" into klp-dev-plus-aosp
* commit '598f3e9c4a48a4f4cbae6fb163f378d9fd1e6321':
  Add futimens.
2013-08-09 06:07:10 -07:00
Elliott Hughes
8e6855e0a8 am 14ec1b58: am ceb670cf: Merge branch \'klp-dev\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into klp-dev
* commit '14ec1b58869362f07ffdf7495cbba2f746da7b77':
  Add futimens.
2013-08-09 06:07:04 -07:00
Christopher Ferris
fe94d1f0a8 am a07a9556: (-s ours) am 1036cd79: am 6beb3ea6: (-s ours) am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit 'a07a9556663db4dcf7924dd50a91dd6d5f3e266c':
2013-08-09 06:07:03 -07:00
Christopher Ferris
7e8a18960c am 0a7e61d4: (-s ours) am 5ec2ab68: am 21b4ffa7: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '0a7e61d4a1a28a7c66c05e0ef0b69c7c5b14a2d9':
2013-08-09 06:07:03 -07:00
Christopher Ferris
d60dca00dd am d41e52a2: (-s ours) am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit 'd41e52a238bdb91df5dffb81f202b3d50949bb9a':
  Fix strcpy.c that should have been strcpy.S. DO NOT MERGE
2013-08-09 06:06:56 -07:00
Christopher Ferris
351c506315 am 2e0a707f: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '2e0a707f793a6831452aca9ed0021e90014f3635':
  Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
2013-08-09 06:06:56 -07:00
Elliott Hughes
2a5d2e98f9 am 9e9d1e01: resolved conflicts for merge of 86125aca to klp-dev
* commit '9e9d1e016faf12c4bc5454ce16e20f7db693a72d':
2013-08-08 18:10:55 -07:00
Elliott Hughes
598f3e9c4a Merge "resolved conflicts for merge of dce94165 to klp-dev-plus-aosp" into klp-dev-plus-aosp 2013-08-09 01:05:49 +00:00
Elliott Hughes
3c3a64616a resolved conflicts for merge of dce94165 to klp-dev-plus-aosp
Change-Id: If5f34f4a31c6a1218751f472ac949c324117a948
2013-08-08 18:03:38 -07:00
Elliott Hughes
14ec1b5886 am ceb670cf: Merge branch \'klp-dev\' of https://googleplex-android.googlesource.com/_direct/platform/bionic into klp-dev
* commit 'ceb670cfc09e407a30627d5044f45d5e28e1be5d':
  Add futimens.
2013-08-08 17:59:33 -07:00
Christopher Ferris
a07a955666 am 1036cd79: am 6beb3ea6: (-s ours) am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit '1036cd7939a4d6474d3f5762ea8bfdd95d3d0cfe':
2013-08-08 17:59:32 -07:00
Christopher Ferris
0a7e61d4a1 am 5ec2ab68: am 21b4ffa7: (-s ours) am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '5ec2ab68f98af7fcb4975bafcb7293f835c9c4b6':
2013-08-08 17:59:31 -07:00
Christopher Ferris
d41e52a238 am d7d5049d: (-s ours) am 632fd518: (-s ours) Merge "Fix strcpy.c that should have been strcpy.S. DO NOT MERGE"
* commit 'd7d5049d58427e23318fa1920d63712676fc7725':
  Fix strcpy.c that should have been strcpy.S. DO NOT MERGE
2013-08-08 17:44:21 -07:00
Christopher Ferris
2e0a707f79 am 5427eb5c: (-s ours) am e2066293: (-s ours) Merge "Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE"
* commit '5427eb5c63417c7bc59bbfe112c97917dcef4e8c':
  Optimize strcat/strcpy, small tweaks to strlen. DO NOT MERGE
2013-08-08 17:44:21 -07:00
The Android Automerger
83b030fe63 merge in master-release history after reset to master 2013-08-03 07:49:44 -07:00
The Android Automerger
e0ac5fb456 merge in master-release history after reset to master 2013-08-01 15:42:56 -07:00
The Android Automerger
847e56ae77 merge in master-release history after reset to master 2013-07-31 12:28:42 -07:00
The Android Automerger
7c35f1ce83 merge in master-release history after reset to master 2013-07-31 09:45:07 -07:00
Xiaokang, Qin
d97d1ca7d9 Add a flag control that PRIVATE libm can be chosen
Change-Id: I080456a2c45ac870965c25552c5821875568fe9b
Author: Xiaokang, Qin <xiaokang.qin@intel.com>
Signed-off-by: Xiaokang, Qin <xiaokang.qin@intel.com>
Signed-off-by: Shuo Gao <shuo.gao@intel.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
Signed-off-by: Jack Ren <jack.ren@intel.com>
Author-tracking-BZ: 63396
2013-01-14 10:49:39 +08:00
4901 changed files with 550528 additions and 154443 deletions

15
.clang-format Normal file
View File

@ -0,0 +1,15 @@
BasedOnStyle: Google
AllowShortBlocksOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
ColumnLimit: 100
CommentPragmas: NOLINT:.*
DerivePointerAlignment: false
IndentWidth: 2
ContinuationIndentWidth: 2
PointerAlignment: Left
TabWidth: 2
UseTab: Never
PenaltyExcessCharacter: 32
Cpp11BracedListStyle: false

View File

@ -1,15 +0,0 @@
KNOWN ABI BUGS
--------------
time_t is 32-bit. http://b/5819737
off_t is 32-bit. There is off64_t, but no _FILE_OFFSET_BITS support.
sigset_t is too small on ARM and x86 (but correct on MIPS), so support
for real-time signals is broken. http://b/5828899
Too few TLS slots mean we can't allocate 128 pthread_key_t instances,
which POSIX says should be the minimum.
atexit(3) handlers registered by a shared library aren't called on
dlclose(3); this only affects ARM. http://b/4998315

1
Android.bp Normal file
View File

@ -0,0 +1 @@
subdirs = ["*"]

2
CPPLINT.cfg Normal file
View File

@ -0,0 +1,2 @@
set noparent
filter=-build/header_guard,-runtime/int,-readability/function

View File

@ -44,6 +44,10 @@
#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
# Switching to jemalloc requires deleting these files.
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libc_*)
$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/SHARED_LIBRARIES/libc_*)
# ************************************************
# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
# ************************************************

290
README.md Normal file
View File

@ -0,0 +1,290 @@
Working on bionic
=================
What are the big pieces of bionic?
----------------------------------
#### libc/ --- libc.so, libc.a
The C library. Stuff like `fopen(3)` and `kill(2)`.
#### libm/ --- libm.so, libm.a
The math library. Traditionally Unix systems kept stuff like `sin(3)` and
`cos(3)` in a separate library to save space in the days before shared
libraries.
#### libdl/ --- libdl.so
The dynamic linker interface library. This is actually just a bunch of stubs
that the dynamic linker replaces with pointers to its own implementation at
runtime. This is where stuff like `dlopen(3)` lives.
#### libstdc++/ --- libstdc++.so
The C++ ABI support functions. The C++ compiler doesn't know how to implement
thread-safe static initialization and the like, so it just calls functions that
are supplied by the system. Stuff like `__cxa_guard_acquire` and
`__cxa_pure_virtual` live here.
#### linker/ --- /system/bin/linker and /system/bin/linker64
The dynamic linker. When you run a dynamically-linked executable, its ELF file
has a `DT_INTERP` entry that says "use the following program to start me". On
Android, that's either `linker` or `linker64` (depending on whether it's a
32-bit or 64-bit executable). It's responsible for loading the ELF executable
into memory and resolving references to symbols (so that when your code tries to
jump to `fopen(3)`, say, it lands in the right place).
#### tests/ --- unit tests
The `tests/` directory contains unit tests. Roughly arranged as one file per
publicly-exported header file.
#### benchmarks/ --- benchmarks
The `benchmarks/` directory contains benchmarks.
What's in libc/?
----------------
<pre>
libc/
arch-arm/
arch-arm64/
arch-common/
arch-mips/
arch-mips64/
arch-x86/
arch-x86_64/
# Each architecture has its own subdirectory for stuff that isn't shared
# because it's architecture-specific. There will be a .mk file in here that
# drags in all the architecture-specific files.
bionic/
# Every architecture needs a handful of machine-specific assembler files.
# They live here.
include/
machine/
# The majority of header files are actually in libc/include/, but many
# of them pull in a <machine/something.h> for things like limits,
# endianness, and how floating point numbers are represented. Those
# headers live here.
string/
# Most architectures have a handful of optional assembler files
# implementing optimized versions of various routines. The <string.h>
# functions are particular favorites.
syscalls/
# The syscalls directories contain script-generated assembler files.
# See 'Adding system calls' later.
include/
# The public header files on everyone's include path. These are a mixture of
# files written by us and files taken from BSD.
kernel/
# The kernel uapi header files. These are scrubbed copies of the originals
# in external/kernel-headers/. These files must not be edited directly. The
# generate_uapi_headers.sh script should be used to go from a kernel tree to
# external/kernel-headers/ --- this takes care of the architecture-specific
# details. The update_all.py script should be used to regenerate bionic's
# scrubbed headers from external/kernel-headers/.
private/
# These are private header files meant for use within bionic itself.
dns/
# Contains the DNS resolver (originates from NetBSD code).
upstream-dlmalloc/
upstream-freebsd/
upstream-netbsd/
upstream-openbsd/
# These directories contain unmolested upstream source. Any time we can
# just use a BSD implementation of something unmodified, we should.
# The structure under these directories mimics the upstream tree,
# but there's also...
android/
include/
# This is where we keep the hacks necessary to build BSD source
# in our world. The *-compat.h files are automatically included
# using -include, but we also provide equivalents for missing
# header/source files needed by the BSD implementation.
bionic/
# This is the biggest mess. The C++ files are files we own, typically
# because the Linux kernel interface is sufficiently different that we
# can't use any of the BSD implementations. The C files are usually
# legacy mess that needs to be sorted out, either by replacing it with
# current upstream source in one of the upstream directories or by
# switching the file to C++ and cleaning it up.
stdio/
# These are legacy files of dubious provenance. We're working to clean
# this mess up, and this directory should disappear.
tools/
# Various tools used to maintain bionic.
tzcode/
# A modified superset of the IANA tzcode. Most of the modifications relate
# to Android's use of a single file (with corresponding index) to contain
# time zone data.
zoneinfo/
# Android-format time zone data.
# See 'Updating tzdata' later.
</pre>
Adding system calls
-------------------
Adding a system call usually involves:
1. Add entries to SYSCALLS.TXT.
See SYSCALLS.TXT itself for documentation on the format.
2. Run the gensyscalls.py script.
3. Add constants (and perhaps types) to the appropriate header file.
Note that you should check to see whether the constants are already in
kernel uapi header files, in which case you just need to make sure that
the appropriate POSIX header file in libc/include/ includes the
relevant file or files.
4. Add function declarations to the appropriate header file.
5. Add at least basic tests. Even a test that deliberately supplies
an invalid argument helps check that we're generating the right symbol
and have the right declaration in the header file. (And strace(1) can
confirm that the correct system call is being made.)
Updating kernel header files
----------------------------
As mentioned above, this is currently a two-step process:
1. Use generate_uapi_headers.sh to go from a Linux source tree to appropriate
contents for external/kernel-headers/.
2. Run update_all.py to scrub those headers and import them into bionic.
Updating tzdata
---------------
This is fully automated (and these days handled by the libcore team, because
they own icu, and that needs to be updated in sync with bionic):
1. Run update-tzdata.py in external/icu/tools/.
Verifying changes
-----------------
If you make a change that is likely to have a wide effect on the tree (such as a
libc header change), you should run `make checkbuild`. A regular `make` will
_not_ build the entire tree; just the minimum number of projects that are
required for the device. Tests, additional developer tools, and various other
modules will not be built. Note that `make checkbuild` will not be complete
either, as `make tests` covers a few additional modules, but generally speaking
`make checkbuild` is enough.
Running the tests
-----------------
The tests are all built from the tests/ directory.
### Device tests
$ mma
$ adb remount
$ adb sync
$ adb shell /data/nativetest/bionic-unit-tests/bionic-unit-tests32
$ adb shell \
/data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static32
# Only for 64-bit targets
$ adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests64
$ adb shell \
/data/nativetest64/bionic-unit-tests-static/bionic-unit-tests-static64
### Host tests
The host tests require that you have `lunch`ed either an x86 or x86_64 target.
$ mma
$ mm bionic-unit-tests-run-on-host32
$ mm bionic-unit-tests-run-on-host64 # For 64-bit *targets* only.
### Against glibc
As a way to check that our tests do in fact test the correct behavior (and not
just the behavior we think is correct), it is possible to run the tests against
the host's glibc. The executables are already in your path.
$ mma
$ bionic-unit-tests-glibc32
$ bionic-unit-tests-glibc64
Gathering test coverage
-----------------------
For either host or target coverage, you must first:
* `$ export NATIVE_COVERAGE=true`
* Note that the build system is ignorant to this flag being toggled, i.e. if
you change this flag, you will have to manually rebuild bionic.
* Set `bionic_coverage=true` in `libc/Android.mk` and `libm/Android.mk`.
### Coverage from device tests
$ mma
$ adb sync
$ adb shell \
GCOV_PREFIX=/data/local/tmp/gcov \
GCOV_PREFIX_STRIP=`echo $ANDROID_BUILD_TOP | grep -o / | wc -l` \
/data/nativetest/bionic-unit-tests/bionic-unit-tests32
$ acov
`acov` will pull all coverage information from the device, push it to the right
directories, run `lcov`, and open the coverage report in your browser.
### Coverage from host tests
First, build and run the host tests as usual (see above).
$ croot
$ lcov -c -d $ANDROID_PRODUCT_OUT -o coverage.info
$ genhtml -o covreport coverage.info # or lcov --list coverage.info
The coverage report is now available at `covreport/index.html`.
Attaching GDB to the tests
--------------------------
Bionic's test runner will run each test in its own process by default to prevent
tests failures from impacting other tests. This also has the added benefit of
running them in parallel, so they are much faster.
However, this also makes it difficult to run the tests under GDB. To prevent
each test from being forked, run the tests with the flag `--no-isolate`.
32-bit ABI bugs
---------------
This probably belongs in the NDK documentation rather than here, but these
are the known ABI bugs in the 32-bit ABI:
* `time_t` is 32-bit. <http://b/5819737>. In the 64-bit ABI, time_t is
64-bit.
* `off_t` is 32-bit. There is `off64_t`, and in newer releases there is
almost-complete support for `_FILE_OFFSET_BITS`. Unfortunately our stdio
implementation uses 32-bit offsets and -- worse -- function pointers to
functions that use 32-bit offsets, so there's no good way to implement
the last few pieces <http://b/24807045>. In the 64-bit ABI, off_t is
off64_t.
* `sigset_t` is too small on ARM and x86 (but correct on MIPS), so support
for real-time signals is broken. <http://b/5828899> In the 64-bit ABI,
`sigset_t` is the correct size for every architecture.

130
benchmarks/Android.mk Normal file
View File

@ -0,0 +1,130 @@
#
# Copyright (C) 2013 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
LOCAL_PATH := $(call my-dir)
# -----------------------------------------------------------------------------
# Benchmarks library, usable by projects outside this directory.
# -----------------------------------------------------------------------------
benchmark_cflags := \
-O2 \
-fno-builtin \
-Wall \
-Wextra \
-Werror \
-Wunused \
benchmark_cppflags := \
benchmarklib_src_files := \
Benchmark.cpp \
utils.cpp \
main.cpp \
include $(CLEAR_VARS)
LOCAL_MODULE := libbenchmark
LOCAL_CFLAGS := $(benchmark_cflags)
LOCAL_CPPFLAGS := $(benchmark_cppflags)
LOCAL_SRC_FILES := $(benchmarklib_src_files)
LOCAL_C_INCLUDES := $(benchmark_c_includes)
LOCAL_STATIC_LIBRARIES := libbase
include $(BUILD_STATIC_LIBRARY)
# Only supported on linux systems.
ifeq ($(HOST_OS),linux)
include $(CLEAR_VARS)
LOCAL_MODULE := libbenchmark
LOCAL_CFLAGS := $(benchmark_cflags)
LOCAL_CPPFLAGS := $(benchmark_cppflags)
LOCAL_SRC_FILES := $(benchmarklib_src_files)
LOCAL_C_INCLUDES := $(benchmark_c_includes)
LOCAL_MULTILIB := both
LOCAL_STATIC_LIBRARIES := libbase
include $(BUILD_HOST_STATIC_LIBRARY)
endif
# -----------------------------------------------------------------------------
# Benchmarks.
# -----------------------------------------------------------------------------
benchmark_src_files := \
math_benchmark.cpp \
property_benchmark.cpp \
pthread_benchmark.cpp \
semaphore_benchmark.cpp \
stdio_benchmark.cpp \
string_benchmark.cpp \
time_benchmark.cpp \
unistd_benchmark.cpp \
# Build benchmarks for the device (with bionic's .so). Run with:
# adb shell bionic-benchmarks32
# adb shell bionic-benchmarks64
include $(CLEAR_VARS)
LOCAL_MODULE := bionic-benchmarks
LOCAL_MODULE_STEM_32 := bionic-benchmarks32
LOCAL_MODULE_STEM_64 := bionic-benchmarks64
LOCAL_MULTILIB := both
LOCAL_CFLAGS := $(benchmark_cflags)
LOCAL_CPPFLAGS := $(benchmark_cppflags)
LOCAL_SRC_FILES := $(benchmark_src_files)
LOCAL_STATIC_LIBRARIES := libbenchmark libbase
include $(BUILD_EXECUTABLE)
# We don't build a static benchmark executable because it's not usually
# useful. If you're trying to run the current benchmarks on an older
# release, it's (so far at least) always because you want to measure the
# performance of the old release's libc, and a static benchmark isn't
# going to let you do that.
# Only supported on linux systems.
ifeq ($(HOST_OS),linux)
# Build benchmarks for the host (against glibc!). Run with:
include $(CLEAR_VARS)
LOCAL_MODULE := bionic-benchmarks-glibc
LOCAL_MODULE_STEM_32 := bionic-benchmarks-glibc32
LOCAL_MODULE_STEM_64 := bionic-benchmarks-glibc64
LOCAL_MULTILIB := both
LOCAL_CFLAGS := $(benchmark_cflags)
LOCAL_CPPFLAGS := $(benchmark_cppflags)
LOCAL_LDFLAGS := -lrt
LOCAL_SRC_FILES := $(benchmark_src_files)
LOCAL_STATIC_LIBRARIES := libbenchmark libbase
include $(BUILD_HOST_EXECUTABLE)
endif
ifeq ($(HOST_OS)-$(HOST_ARCH),$(filter $(HOST_OS)-$(HOST_ARCH),linux-x86 linux-x86_64))
include $(LOCAL_PATH)/../build/run-on-host.mk
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
bionic-benchmarks-run-on-host32: bionic-benchmarks bionic-prepare-run-on-host
ANDROID_DATA=$(TARGET_OUT_DATA) \
ANDROID_ROOT=$(TARGET_OUT) \
$(TARGET_OUT_EXECUTABLES)/bionic-benchmarks32 $(BIONIC_BENCHMARKS_FLAGS)
endif
ifeq ($(TARGET_IS_64_BIT),true)
bionic-benchmarks-run-on-host64: bionic-benchmarks bionic-prepare-run-on-host
ANDROID_DATA=$(TARGET_OUT_DATA) \
ANDROID_ROOT=$(TARGET_OUT) \
$(TARGET_OUT_EXECUTABLES)/bionic-benchmarks64 $(BIONIC_BENCHMARKS_FLAGS)
endif
endif

159
benchmarks/Benchmark.cpp Normal file
View File

@ -0,0 +1,159 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <inttypes.h>
#include <regex.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <time.h>
#include <string>
#include <vector>
#include <android-base/stringprintf.h>
#include <benchmark/Benchmark.h>
#include "utils.h"
namespace testing {
static uint64_t NanoTime() {
struct timespec t;
t.tv_sec = t.tv_nsec = 0;
clock_gettime(CLOCK_MONOTONIC, &t);
return static_cast<uint64_t>(t.tv_sec) * 1000000000LL + t.tv_nsec;
}
bool Benchmark::header_printed_;
std::vector<Benchmark*>& Benchmark::List() {
static std::vector<Benchmark*> list;
return list;
}
int Benchmark::MaxNameColumnWidth() {
size_t max = 20;
for (auto& benchmark : List()) {
max = std::max(max, benchmark->NameColumnWidth());
}
return static_cast<int>(max);
}
size_t Benchmark::RunAll(std::vector<regex_t*>& regs) {
size_t benchmarks_run = 0;
header_printed_ = false;
for (auto& benchmark : List()) {
benchmarks_run += benchmark->RunAllArgs(regs);
}
return benchmarks_run;
}
void Benchmark::PrintHeader() {
if (!header_printed_) {
printf("%-*s %10s %10s\n", MaxNameColumnWidth(), "", "iterations", "ns/op");
header_printed_ = true;
}
}
template <typename T>
bool BenchmarkT<T>::ShouldRun(std::vector<regex_t*>& regs, T arg) {
if (regs.empty()) {
return true;
}
for (const auto& re : regs) {
if (regexec(re, GetNameStr(arg).c_str(), 0, NULL, 0) != REG_NOMATCH) {
return true;
}
}
return false;
}
void Benchmark::StopBenchmarkTiming() {
if (start_time_ns_ != 0) {
total_time_ns_ += NanoTime() - start_time_ns_;
}
start_time_ns_ = 0;
}
void Benchmark::StartBenchmarkTiming() {
if (start_time_ns_ == 0) {
start_time_ns_ = NanoTime();
}
}
std::string BenchmarkWithoutArg::GetNameStr(void*) {
return Name();
}
template <>
std::string BenchmarkWithArg<int>::GetNameStr(int arg) {
return Name() + "/" + PrettyInt(arg, 2);
}
template <>
std::string BenchmarkWithArg<double>::GetNameStr(double arg) {
return Name() + "/" + android::base::StringPrintf("%0.6f", arg);
}
template<typename T>
void BenchmarkT<T>::RunWithArg(T arg) {
int new_iterations = 1;
int iterations;
while (new_iterations < 1e8) {
bytes_processed_ = 0;
total_time_ns_ = 0;
start_time_ns_ = 0;
iterations = new_iterations;
RunIterations(iterations, arg);
if (total_time_ns_ >= 1e9) {
break;
}
if (total_time_ns_/iterations == 0) {
new_iterations = 1e9;
} else {
new_iterations = 1e9/ (total_time_ns_/iterations);
}
new_iterations = std::max(iterations + 1,
std::min(new_iterations + new_iterations/2, 100*iterations));
new_iterations = Round(new_iterations);
}
printf("%-*s %10s %10" PRId64, MaxNameColumnWidth(), GetNameStr(arg).c_str(),
PrettyInt(iterations, 10).c_str(), total_time_ns_/iterations);
if (total_time_ns_ > 0 && bytes_processed_ > 0) {
double gib_processed = static_cast<double>(bytes_processed_)/1e9;
double seconds = static_cast<double>(total_time_ns_)/1e9;
printf(" %8.3f GiB/s", gib_processed/seconds);
}
printf("\n");
fflush(stdout);
}
template class BenchmarkT<int>;
template class BenchmarkT<double>;
template class BenchmarkT<void*>;
template class BenchmarkWithArg<int>;
template class BenchmarkWithArg<double>;
} // namespace testing

View File

@ -0,0 +1,169 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef BENCHMARKS_BENCHMARK_H_
#define BENCHMARKS_BENCHMARK_H_
#include <regex.h>
#include <stdint.h>
#include <string>
#include <vector>
namespace testing {
class Benchmark {
public:
Benchmark() {
List().push_back(this);
}
virtual ~Benchmark() {}
virtual std::string Name() = 0;
virtual size_t RunAllArgs(std::vector<regex_t*>&) = 0;
void SetBenchmarkBytesProcessed(uint64_t bytes) { bytes_processed_ += bytes; }
void StopBenchmarkTiming();
void StartBenchmarkTiming();
// Run all of the benchmarks that have registered.
static size_t RunAll(std::vector<regex_t*>&);
static std::vector<Benchmark*>& List();
static int MaxNameColumnWidth();
protected:
virtual size_t NameColumnWidth() = 0;
uint64_t bytes_processed_;
uint64_t total_time_ns_;
uint64_t start_time_ns_;
static bool header_printed_;
static void PrintHeader();
};
template <typename T>
class BenchmarkT : public Benchmark {
public:
BenchmarkT() {}
virtual ~BenchmarkT() {}
protected:
bool ShouldRun(std::vector<regex_t*>&, T arg);
void RunWithArg(T arg);
virtual void RunIterations(int, T) = 0;
virtual std::string GetNameStr(T) = 0;
};
class BenchmarkWithoutArg : public BenchmarkT<void*> {
public:
BenchmarkWithoutArg() {}
virtual ~BenchmarkWithoutArg() {}
protected:
virtual size_t RunAllArgs(std::vector<regex_t*>& regs) override {
size_t benchmarks_run = 0;
if (BenchmarkT<void*>::ShouldRun(regs, nullptr)) {
PrintHeader();
RunWithArg(nullptr);
benchmarks_run++;
}
return benchmarks_run;
}
virtual void RunIterations(int iters, void*) override {
Run(iters);
}
virtual void Run(int) = 0;
virtual size_t NameColumnWidth() override {
return Name().size();
}
virtual std::string GetNameStr(void *) override;
};
template<typename T>
class BenchmarkWithArg : public BenchmarkT<T> {
public:
BenchmarkWithArg() {}
virtual ~BenchmarkWithArg() {}
BenchmarkWithArg* Arg(T arg) {
args_.push_back(arg);
return this;
}
protected:
virtual size_t NameColumnWidth() override {
size_t max = 0;
for (const auto& arg : args_) {
max = std::max(max, GetNameStr(arg).size());
}
return max;
}
std::string GetNameStr(T arg) override;
virtual size_t RunAllArgs(std::vector<regex_t*>& regs) override {
size_t benchmarks_run = 0;
for (T& arg : args_) {
if (BenchmarkT<T>::ShouldRun(regs, arg)) {
Benchmark::PrintHeader();
BenchmarkT<T>::RunWithArg(arg);
benchmarks_run++;
}
}
return benchmarks_run;
}
virtual void RunIterations(int iters, T arg) override {
Run(iters, arg);
}
virtual void Run(int iters, T arg) = 0;
private:
std::vector<T> args_;
};
} // namespace testing
#define BENCHMARK_START(f, super_class) \
class f : public super_class { \
public: \
f() {} \
virtual ~f() {} \
virtual std::string Name() override { return #f; } \
#define BENCHMARK_NO_ARG(f) \
BENCHMARK_START(f, ::testing::BenchmarkWithoutArg) \
virtual void Run(int) override; \
}; \
static ::testing::Benchmark* __benchmark_##f = new f()
#define BENCHMARK_WITH_ARG(f, arg_type) \
BENCHMARK_START(f, ::testing::BenchmarkWithArg<arg_type>) \
virtual void Run(int, arg_type) override; \
}; \
static ::testing::BenchmarkWithArg<arg_type>* __benchmark_##f = (new f())
#endif // BENCHMARKS_BENCHMARK_H_

61
benchmarks/main.cpp Normal file
View File

@ -0,0 +1,61 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <regex.h>
#include <stdio.h>
#include <stdlib.h>
#include <vector>
#include <benchmark/Benchmark.h>
int main(int argc, char* argv[]) {
if (::testing::Benchmark::List().empty()) {
fprintf(stderr, "No benchmarks registered!\n");
exit(EXIT_FAILURE);
}
std::vector<regex_t*> regs;
for (int i = 1; i < argc; i++) {
regex_t* re = new regex_t;
int errcode = regcomp(re, argv[i], 0);
if (errcode != 0) {
size_t errbuf_size = regerror(errcode, re, NULL, 0);
if (errbuf_size > 0) {
char* errbuf = new char[errbuf_size];
regerror(errcode, re, errbuf, errbuf_size);
fprintf(stderr, "Couldn't compile \"%s\" as a regular expression: %s\n",
argv[i], errbuf);
} else {
fprintf(stderr, "Unknown compile error for \"%s\" as a regular expression!\n", argv[i]);
}
exit(EXIT_FAILURE);
}
regs.push_back(re);
}
if (::testing::Benchmark::RunAll(regs) == 0) {
fprintf(stderr, "No matching benchmarks!\n");
fprintf(stderr, "Available benchmarks:\n");
for (const auto& benchmark : ::testing::Benchmark::List()) {
fprintf(stderr, " %s\n", benchmark->Name().c_str());
}
exit(EXIT_FAILURE);
}
return 0;
}

View File

@ -0,0 +1,286 @@
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <fenv.h>
#include <math.h>
#include <benchmark/Benchmark.h>
#define AT_COMMON_VALS \
Arg(1234.0)->Arg(nan(""))->Arg(HUGE_VAL)->Arg(0.0)
// Avoid optimization.
volatile double d;
volatile double v;
BENCHMARK_NO_ARG(BM_math_sqrt);
void BM_math_sqrt::Run(int iters) {
StartBenchmarkTiming();
d = 0.0;
v = 2.0;
for (int i = 0; i < iters; ++i) {
d += sqrt(v);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_math_log10);
void BM_math_log10::Run(int iters) {
StartBenchmarkTiming();
d = 0.0;
v = 1234.0;
for (int i = 0; i < iters; ++i) {
d += log10(v);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_math_logb);
void BM_math_logb::Run(int iters) {
StartBenchmarkTiming();
d = 0.0;
v = 1234.0;
for (int i = 0; i < iters; ++i) {
d += logb(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_isfinite_macro, double)->AT_COMMON_VALS;
void BM_math_isfinite_macro::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += isfinite(v);
}
StopBenchmarkTiming();
}
#if defined(__BIONIC__)
#define test_isfinite __isfinite
#else
#define test_isfinite __finite
#endif
BENCHMARK_WITH_ARG(BM_math_isfinite, double)->AT_COMMON_VALS;
void BM_math_isfinite::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += test_isfinite(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_isinf_macro, double)->AT_COMMON_VALS;
void BM_math_isinf_macro::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += isinf(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_isinf, double)->AT_COMMON_VALS;
void BM_math_isinf::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += (isinf)(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_isnan_macro, double)->AT_COMMON_VALS;
void BM_math_isnan_macro::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += isnan(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_isnan, double)->AT_COMMON_VALS;
void BM_math_isnan::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += (isnan)(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_isnormal_macro, double)->AT_COMMON_VALS;
void BM_math_isnormal_macro::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += isnormal(v);
}
StopBenchmarkTiming();
}
#if defined(__BIONIC__)
BENCHMARK_WITH_ARG(BM_math_isnormal, double)->AT_COMMON_VALS;
void BM_math_isnormal::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += (__isnormal)(v);
}
StopBenchmarkTiming();
}
#endif
BENCHMARK_NO_ARG(BM_math_sin_fast);
void BM_math_sin_fast::Run(int iters) {
StartBenchmarkTiming();
d = 1.0;
for (int i = 0; i < iters; ++i) {
d += sin(d);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_math_sin_feupdateenv);
void BM_math_sin_feupdateenv::Run(int iters) {
StartBenchmarkTiming();
d = 1.0;
for (int i = 0; i < iters; ++i) {
fenv_t __libc_save_rm;
feholdexcept(&__libc_save_rm);
fesetround(FE_TONEAREST);
d += sin(d);
feupdateenv(&__libc_save_rm);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_math_sin_fesetenv);
void BM_math_sin_fesetenv::Run(int iters) {
StartBenchmarkTiming();
d = 1.0;
for (int i = 0; i < iters; ++i) {
fenv_t __libc_save_rm;
feholdexcept(&__libc_save_rm);
fesetround(FE_TONEAREST);
d += sin(d);
fesetenv(&__libc_save_rm);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_fpclassify, double)->AT_COMMON_VALS;
void BM_math_fpclassify::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += fpclassify(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_signbit_macro, double)->AT_COMMON_VALS;
void BM_math_signbit_macro::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += signbit(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_signbit, double)->AT_COMMON_VALS;
void BM_math_signbit::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += (__signbit)(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_fabs_macro, double)->AT_COMMON_VALS;
void BM_math_fabs_macro::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += fabs(v);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_math_fabs, double)->AT_COMMON_VALS;
void BM_math_fabs::Run(int iters, double value) {
StartBenchmarkTiming();
d = 0.0;
v = value;
for (int i = 0; i < iters; ++i) {
d += (fabs)(v);
}
StopBenchmarkTiming();
}

View File

@ -0,0 +1,233 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string>
#if defined(__BIONIC__)
#define _REALLY_INCLUDE_SYS__SYSTEM_PROPERTIES_H_
#include <sys/_system_properties.h>
#include <benchmark/Benchmark.h>
extern void* __system_property_area__;
// Do not exceed 512, that is about the largest number of properties
// that can be created with the current property area size.
#define TEST_NUM_PROPS \
Arg(1)->Arg(4)->Arg(16)->Arg(64)->Arg(128)->Arg(256)->Arg(512)
struct LocalPropertyTestState {
LocalPropertyTestState(int nprops) : nprops(nprops), valid(false) {
static const char prop_name_chars[] = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_.";
const char* android_data = getenv("ANDROID_DATA");
if (android_data == NULL) {
printf("ANDROID_DATA environment variable not set\n");
return;
}
char dir_template[PATH_MAX];
snprintf(dir_template, sizeof(dir_template), "%s/local/tmp/prop-XXXXXX", android_data);
char* dirname = mkdtemp(dir_template);
if (!dirname) {
printf("making temp file for test state failed (is %s/local/tmp writable?): %s\n",
android_data, strerror(errno));
return;
}
old_pa = __system_property_area__;
__system_property_area__ = NULL;
pa_dirname = dirname;
pa_filename = pa_dirname + "/__properties__";
__system_property_set_filename(pa_filename.c_str());
__system_property_area_init();
names = new char* [nprops];
name_lens = new int[nprops];
values = new char* [nprops];
value_lens = new int[nprops];
srandom(nprops);
for (int i = 0; i < nprops; i++) {
// Make sure the name has at least 10 characters to make
// it very unlikely to generate the same random name.
name_lens[i] = (random() % (PROP_NAME_MAX - 10)) + 10;
names[i] = new char[PROP_NAME_MAX + 1];
size_t prop_name_len = sizeof(prop_name_chars) - 1;
for (int j = 0; j < name_lens[i]; j++) {
if (j == 0 || names[i][j-1] == '.' || j == name_lens[i] - 1) {
// Certain values are not allowed:
// - Don't start name with '.'
// - Don't allow '.' to appear twice in a row
// - Don't allow the name to end with '.'
// This assumes that '.' is the last character in the
// array so that decrementing the length by one removes
// the value from the possible values.
prop_name_len--;
}
names[i][j] = prop_name_chars[random() % prop_name_len];
}
names[i][name_lens[i]] = 0;
// Make sure the value contains at least 1 character.
value_lens[i] = (random() % (PROP_VALUE_MAX - 1)) + 1;
values[i] = new char[PROP_VALUE_MAX];
for (int j = 0; j < value_lens[i]; j++) {
values[i][j] = prop_name_chars[random() % (sizeof(prop_name_chars) - 1)];
}
if (__system_property_add(names[i], name_lens[i], values[i], value_lens[i]) < 0) {
printf("Failed to add a property, terminating...\n");
printf("%s = %.*s\n", names[i], value_lens[i], values[i]);
exit(1);
}
}
valid = true;
}
~LocalPropertyTestState() {
if (!valid)
return;
__system_property_area__ = old_pa;
__system_property_set_filename(PROP_FILENAME);
unlink(pa_filename.c_str());
rmdir(pa_dirname.c_str());
for (int i = 0; i < nprops; i++) {
delete names[i];
delete values[i];
}
delete[] names;
delete[] name_lens;
delete[] values;
delete[] value_lens;
}
public:
const int nprops;
char** names;
int* name_lens;
char** values;
int* value_lens;
bool valid;
private:
std::string pa_dirname;
std::string pa_filename;
void* old_pa;
};
BENCHMARK_WITH_ARG(BM_property_get, int)->TEST_NUM_PROPS;
void BM_property_get::Run(int iters, int nprops) {
StopBenchmarkTiming();
LocalPropertyTestState pa(nprops);
char value[PROP_VALUE_MAX];
if (!pa.valid)
return;
srandom(iters * nprops);
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_get(pa.names[random() % nprops], value);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_property_find, int)->TEST_NUM_PROPS;
void BM_property_find::Run(int iters, int nprops) {
StopBenchmarkTiming();
LocalPropertyTestState pa(nprops);
if (!pa.valid)
return;
srandom(iters * nprops);
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_find(pa.names[random() % nprops]);
}
StopBenchmarkTiming();
}
BENCHMARK_WITH_ARG(BM_property_read, int)->TEST_NUM_PROPS;
void BM_property_read::Run(int iters, int nprops) {
StopBenchmarkTiming();
LocalPropertyTestState pa(nprops);
if (!pa.valid)
return;
srandom(iters * nprops);
const prop_info** pinfo = new const prop_info*[iters];
char propvalue[PROP_VALUE_MAX];
for (int i = 0; i < iters; i++) {
pinfo[i] = __system_property_find(pa.names[random() % nprops]);
}
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_read(pinfo[i], 0, propvalue);
}
StopBenchmarkTiming();
delete[] pinfo;
}
BENCHMARK_WITH_ARG(BM_property_serial, int)->TEST_NUM_PROPS;
void BM_property_serial::Run(int iters, int nprops) {
StopBenchmarkTiming();
LocalPropertyTestState pa(nprops);
if (!pa.valid)
return;
srandom(iters * nprops);
const prop_info** pinfo = new const prop_info*[iters];
for (int i = 0; i < iters; i++) {
pinfo[i] = __system_property_find(pa.names[random() % nprops]);
}
StartBenchmarkTiming();
for (int i = 0; i < iters; i++) {
__system_property_serial(pinfo[i]);
}
StopBenchmarkTiming();
delete[] pinfo;
}
#endif // __BIONIC__

View File

@ -0,0 +1,233 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <pthread.h>
#include <benchmark/Benchmark.h>
// Stop GCC optimizing out our pure function.
/* Must not be static! */ pthread_t (*pthread_self_fp)() = pthread_self;
BENCHMARK_NO_ARG(BM_pthread_self);
void BM_pthread_self::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_self_fp();
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_pthread_getspecific);
void BM_pthread_getspecific::Run(int iters) {
StopBenchmarkTiming();
pthread_key_t key;
pthread_key_create(&key, NULL);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_getspecific(key);
}
StopBenchmarkTiming();
pthread_key_delete(key);
}
BENCHMARK_NO_ARG(BM_pthread_setspecific);
void BM_pthread_setspecific::Run(int iters) {
StopBenchmarkTiming();
pthread_key_t key;
pthread_key_create(&key, NULL);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_setspecific(key, NULL);
}
StopBenchmarkTiming();
pthread_key_delete(key);
}
static void DummyPthreadOnceInitFunction() {
}
BENCHMARK_NO_ARG(BM_pthread_once);
void BM_pthread_once::Run(int iters) {
StopBenchmarkTiming();
pthread_once_t once = PTHREAD_ONCE_INIT;
pthread_once(&once, DummyPthreadOnceInitFunction);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_once(&once, DummyPthreadOnceInitFunction);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_pthread_mutex_lock);
void BM_pthread_mutex_lock::Run(int iters) {
StopBenchmarkTiming();
pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_mutex_lock(&mutex);
pthread_mutex_unlock(&mutex);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_pthread_mutex_lock_ERRORCHECK);
void BM_pthread_mutex_lock_ERRORCHECK::Run(int iters) {
StopBenchmarkTiming();
pthread_mutex_t mutex = PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP;
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_mutex_lock(&mutex);
pthread_mutex_unlock(&mutex);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_pthread_mutex_lock_RECURSIVE);
void BM_pthread_mutex_lock_RECURSIVE::Run(int iters) {
StopBenchmarkTiming();
pthread_mutex_t mutex = PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP;
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_mutex_lock(&mutex);
pthread_mutex_unlock(&mutex);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_pthread_rwlock_read);
void BM_pthread_rwlock_read::Run(int iters) {
StopBenchmarkTiming();
pthread_rwlock_t lock;
pthread_rwlock_init(&lock, NULL);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_rwlock_rdlock(&lock);
pthread_rwlock_unlock(&lock);
}
StopBenchmarkTiming();
pthread_rwlock_destroy(&lock);
}
BENCHMARK_NO_ARG(BM_pthread_rwlock_write);
void BM_pthread_rwlock_write::Run(int iters) {
StopBenchmarkTiming();
pthread_rwlock_t lock;
pthread_rwlock_init(&lock, NULL);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
pthread_rwlock_wrlock(&lock);
pthread_rwlock_unlock(&lock);
}
StopBenchmarkTiming();
pthread_rwlock_destroy(&lock);
}
static void* IdleThread(void*) {
return NULL;
}
BENCHMARK_NO_ARG(BM_pthread_create);
void BM_pthread_create::Run(int iters) {
StopBenchmarkTiming();
pthread_t thread;
for (int i = 0; i < iters; ++i) {
StartBenchmarkTiming();
pthread_create(&thread, NULL, IdleThread, NULL);
StopBenchmarkTiming();
pthread_join(thread, NULL);
}
}
static void* RunThread(void* arg) {
::testing::Benchmark* benchmark = reinterpret_cast<::testing::Benchmark*>(arg);
benchmark->StopBenchmarkTiming();
return NULL;
}
BENCHMARK_NO_ARG(BM_pthread_create_and_run);
void BM_pthread_create_and_run::Run(int iters) {
StopBenchmarkTiming();
pthread_t thread;
for (int i = 0; i < iters; ++i) {
StartBenchmarkTiming();
pthread_create(&thread, NULL, RunThread, this);
pthread_join(thread, NULL);
}
}
static void* ExitThread(void* arg) {
::testing::Benchmark* benchmark = reinterpret_cast<::testing::Benchmark*>(arg);
benchmark->StartBenchmarkTiming();
pthread_exit(NULL);
}
BENCHMARK_NO_ARG(BM_pthread_exit_and_join);
void BM_pthread_exit_and_join::Run(int iters) {
StopBenchmarkTiming();
pthread_t thread;
for (int i = 0; i < iters; ++i) {
pthread_create(&thread, NULL, ExitThread, this);
pthread_join(thread, NULL);
StopBenchmarkTiming();
}
}
BENCHMARK_NO_ARG(BM_pthread_key_create);
void BM_pthread_key_create::Run(int iters) {
StopBenchmarkTiming();
pthread_key_t key;
for (int i = 0; i < iters; ++i) {
StartBenchmarkTiming();
pthread_key_create(&key, NULL);
StopBenchmarkTiming();
pthread_key_delete(key);
}
}
BENCHMARK_NO_ARG(BM_pthread_key_delete);
void BM_pthread_key_delete::Run(int iters) {
StopBenchmarkTiming();
pthread_key_t key;
for (int i = 0; i < iters; ++i) {
pthread_key_create(&key, NULL);
StartBenchmarkTiming();
pthread_key_delete(key);
StopBenchmarkTiming();
}
}

View File

@ -0,0 +1,143 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <pthread.h>
#include <semaphore.h>
#include <stdatomic.h>
#include <stdio.h>
#include <benchmark/Benchmark.h>
BENCHMARK_NO_ARG(BM_semaphore_sem_getvalue);
void BM_semaphore_sem_getvalue::Run(int iters) {
StopBenchmarkTiming();
sem_t semaphore;
sem_init(&semaphore, 1, 1);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
int dummy;
sem_getvalue(&semaphore, &dummy);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_semaphore_sem_wait_sem_post);
void BM_semaphore_sem_wait_sem_post::Run(int iters) {
StopBenchmarkTiming();
sem_t semaphore;
sem_init(&semaphore, 1, 1);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
sem_wait(&semaphore);
sem_post(&semaphore);
}
StopBenchmarkTiming();
}
/*
* This test reports the overhead of the underlying futex wake syscall on
* the producer. It does not report the overhead from issuing the wake to the
* point where the posted consumer thread wakes up. It suffers from
* clock_gettime syscall overhead. Lock the CPU speed for consistent results
* as we may not reach >50% cpu utilization.
*
* We will run a background thread that catches the sem_post wakeup and
* loops immediately returning back to sleep in sem_wait for the next one. This
* thread is run with policy SCHED_OTHER (normal policy), a middle policy.
*
* The primary thread will run at SCHED_IDLE (lowest priority policy) when
* monitoring the background thread to detect when it hits sem_wait sleep. It
* will do so with no clock running. Once we are ready, we will switch to
* SCHED_FIFO (highest priority policy) to time the act of running sem_post
* with the benchmark clock running. This ensures nothing else in the system
* can preempt our timed activity, including the background thread. We are
* also protected with the scheduling policy of letting a process hit a
* resource limit rather than get hit with a context switch.
*
* The background thread will start executing either on another CPU, or
* after we back down from SCHED_FIFO, but certainly not in the context of
* the timing of the sem_post.
*/
static atomic_int BM_semaphore_sem_post_running;
static void *BM_semaphore_sem_post_start_thread(void *obj) {
sem_t *semaphore = reinterpret_cast<sem_t *>(obj);
while ((BM_semaphore_sem_post_running > 0) && !sem_wait(semaphore)) {
;
}
BM_semaphore_sem_post_running = -1;
return NULL;
}
BENCHMARK_NO_ARG(BM_semaphore_sem_post);
void BM_semaphore_sem_post::Run(int iters) {
StopBenchmarkTiming();
sem_t semaphore;
sem_init(&semaphore, 0, 0);
pthread_attr_t attr;
pthread_attr_init(&attr);
BM_semaphore_sem_post_running = 1;
struct sched_param param = { 0, };
pthread_attr_setschedparam(&attr, &param);
pthread_attr_setschedpolicy(&attr, SCHED_OTHER);
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED);
pthread_t pthread;
pthread_create(&pthread, &attr, BM_semaphore_sem_post_start_thread, &semaphore);
pthread_attr_destroy(&attr);
sched_setscheduler((pid_t)0, SCHED_IDLE, &param);
for (int i = 0; i < iters; ++i) {
int trys = 3, dummy = 0;
do {
if (BM_semaphore_sem_post_running < 0) {
sched_setscheduler((pid_t)0, SCHED_OTHER, &param);
fprintf(stderr, "BM_semaphore_sem_post: start_thread died unexpectedly\n");
return;
}
sched_yield();
sem_getvalue(&semaphore, &dummy);
if (dummy < 0) { // POSIX.1-2001 possibility 1
break;
}
if (dummy == 0) { // POSIX.1-2001 possibility 2
--trys;
}
} while (trys);
param.sched_priority = 1;
sched_setscheduler((pid_t)0, SCHED_FIFO, &param);
StartBenchmarkTiming();
sem_post(&semaphore);
StopBenchmarkTiming(); // Remember to subtract clock syscall overhead
param.sched_priority = 0;
sched_setscheduler((pid_t)0, SCHED_IDLE, &param);
}
sched_setscheduler((pid_t)0, SCHED_OTHER, &param);
if (BM_semaphore_sem_post_running > 0) {
BM_semaphore_sem_post_running = 0;
}
do {
sem_post(&semaphore);
sched_yield();
} while (!BM_semaphore_sem_post_running);
}

View File

@ -0,0 +1,94 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdio.h>
#include <stdio_ext.h>
#include <stdlib.h>
#include <benchmark/Benchmark.h>
#define KB 1024
#define MB 1024*KB
#define AT_COMMON_SIZES \
Arg(1)->Arg(2)->Arg(3)->Arg(4)->Arg(8)->Arg(16)->Arg(32)->Arg(64)->Arg(512)-> \
Arg(1*KB)->Arg(4*KB)->Arg(8*KB)->Arg(16*KB)->Arg(64*KB)
template <typename Fn>
void ReadWriteTest(::testing::Benchmark* benchmark, int iters, int chunk_size, Fn f, bool buffered) {
benchmark->StopBenchmarkTiming();
FILE* fp = fopen("/dev/zero", "rw");
__fsetlocking(fp, FSETLOCKING_BYCALLER);
char* buf = new char[chunk_size];
benchmark->StartBenchmarkTiming();
if (!buffered) {
setvbuf(fp, 0, _IONBF, 0);
}
for (int i = 0; i < iters; ++i) {
f(buf, chunk_size, 1, fp);
}
benchmark->StopBenchmarkTiming();
benchmark->SetBenchmarkBytesProcessed(int64_t(iters) * int64_t(chunk_size));
delete[] buf;
fclose(fp);
}
BENCHMARK_WITH_ARG(BM_stdio_fread, int)->AT_COMMON_SIZES;
void BM_stdio_fread::Run(int iters, int chunk_size) {
ReadWriteTest(this, iters, chunk_size, fread, true);
}
BENCHMARK_WITH_ARG(BM_stdio_fwrite, int)->AT_COMMON_SIZES;
void BM_stdio_fwrite::Run(int iters, int chunk_size) {
ReadWriteTest(this, iters, chunk_size, fwrite, true);
}
BENCHMARK_WITH_ARG(BM_stdio_fread_unbuffered, int)->AT_COMMON_SIZES;
void BM_stdio_fread_unbuffered::Run(int iters, int chunk_size) {
ReadWriteTest(this, iters, chunk_size, fread, false);
}
BENCHMARK_WITH_ARG(BM_stdio_fwrite_unbuffered, int)->AT_COMMON_SIZES;
void BM_stdio_fwrite_unbuffered::Run(int iters, int chunk_size) {
ReadWriteTest(this, iters, chunk_size, fwrite, false);
}
static void FopenFgetsFclose(int iters, bool no_locking) {
char buf[1024];
for (int i = 0; i < iters; ++i) {
FILE* fp = fopen("/proc/version", "re");
if (no_locking) __fsetlocking(fp, FSETLOCKING_BYCALLER);
if (fgets(buf, sizeof(buf), fp) == nullptr) abort();
fclose(fp);
}
}
BENCHMARK_NO_ARG(BM_stdio_fopen_fgets_fclose_locking);
void BM_stdio_fopen_fgets_fclose_locking::Run(int iters) {
StartBenchmarkTiming();
FopenFgetsFclose(iters, false);
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_stdio_fopen_fgets_fclose_no_locking);
void BM_stdio_fopen_fgets_fclose_no_locking::Run(int iters) {
StartBenchmarkTiming();
FopenFgetsFclose(iters, true);
StopBenchmarkTiming();
}

View File

@ -0,0 +1,113 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <stdint.h>
#include <string.h>
#include <benchmark/Benchmark.h>
#define KB 1024
#define MB 1024*KB
#define AT_COMMON_SIZES \
Arg(8)->Arg(64)->Arg(512)->Arg(1*KB)->Arg(8*KB)->Arg(16*KB)->Arg(32*KB)->Arg(64*KB)
// TODO: test unaligned operation too? (currently everything will be 8-byte aligned by malloc.)
BENCHMARK_WITH_ARG(BM_string_memcmp, int)->AT_COMMON_SIZES;
void BM_string_memcmp::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* src = new char[nbytes]; char* dst = new char[nbytes];
memset(src, 'x', nbytes);
memset(dst, 'x', nbytes);
StartBenchmarkTiming();
volatile int c __attribute__((unused)) = 0;
for (int i = 0; i < iters; ++i) {
c += memcmp(dst, src, nbytes);
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] src;
delete[] dst;
}
BENCHMARK_WITH_ARG(BM_string_memcpy, int)->AT_COMMON_SIZES;
void BM_string_memcpy::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* src = new char[nbytes]; char* dst = new char[nbytes];
memset(src, 'x', nbytes);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
memcpy(dst, src, nbytes);
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] src;
delete[] dst;
}
BENCHMARK_WITH_ARG(BM_string_memmove, int)->AT_COMMON_SIZES;
void BM_string_memmove::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* buf = new char[nbytes + 64];
memset(buf, 'x', nbytes + 64);
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
memmove(buf, buf + 1, nbytes); // Worst-case overlap.
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] buf;
}
BENCHMARK_WITH_ARG(BM_string_memset, int)->AT_COMMON_SIZES;
void BM_string_memset::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* dst = new char[nbytes];
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
memset(dst, 0, nbytes);
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] dst;
}
BENCHMARK_WITH_ARG(BM_string_strlen, int)->AT_COMMON_SIZES;
void BM_string_strlen::Run(int iters, int nbytes) {
StopBenchmarkTiming();
char* s = new char[nbytes];
memset(s, 'x', nbytes);
s[nbytes - 1] = 0;
StartBenchmarkTiming();
volatile int c __attribute__((unused)) = 0;
for (int i = 0; i < iters; ++i) {
c += strlen(s);
}
StopBenchmarkTiming();
SetBenchmarkBytesProcessed(uint64_t(iters) * uint64_t(nbytes));
delete[] s;
}

View File

@ -0,0 +1,81 @@
/*
* Copyright (C) 2013 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <sys/syscall.h>
#include <sys/time.h>
#include <time.h>
#include <unistd.h>
#include <benchmark/Benchmark.h>
BENCHMARK_NO_ARG(BM_time_clock_gettime);
void BM_time_clock_gettime::Run(int iters) {
StartBenchmarkTiming();
timespec t;
for (int i = 0; i < iters; ++i) {
clock_gettime(CLOCK_MONOTONIC, &t);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_time_clock_gettime_syscall);
void BM_time_clock_gettime_syscall::Run(int iters) {
StartBenchmarkTiming();
timespec t;
for (int i = 0; i < iters; ++i) {
syscall(__NR_clock_gettime, CLOCK_MONOTONIC, &t);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_time_gettimeofday);
void BM_time_gettimeofday::Run(int iters) {
StartBenchmarkTiming();
timeval tv;
for (int i = 0; i < iters; ++i) {
gettimeofday(&tv, NULL);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_time_gettimeofday_syscall);
void BM_time_gettimeofday_syscall::Run(int iters) {
StartBenchmarkTiming();
timeval tv;
for (int i = 0; i < iters; ++i) {
syscall(__NR_gettimeofday, &tv, NULL);
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_time_time);
void BM_time_time::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
time(NULL);
}
StopBenchmarkTiming();
}

View File

@ -0,0 +1,71 @@
/*
* Copyright (C) 2014 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include <sys/syscall.h>
#include <unistd.h>
#include <benchmark/Benchmark.h>
BENCHMARK_NO_ARG(BM_unistd_getpid);
void BM_unistd_getpid::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
getpid();
}
StopBenchmarkTiming();
}
BENCHMARK_NO_ARG(BM_unistd_getpid_syscall);
void BM_unistd_getpid_syscall::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
syscall(__NR_getpid);
}
StopBenchmarkTiming();
}
#if defined(__BIONIC__)
// Stop GCC optimizing out our pure function.
/* Must not be static! */ pid_t (*gettid_fp)() = gettid;
BENCHMARK_NO_ARG(BM_unistd_gettid);
void BM_unistd_gettid::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
gettid_fp();
}
StopBenchmarkTiming();
}
#endif
BENCHMARK_NO_ARG(BM_unistd_gettid_syscall);
void BM_unistd_gettid_syscall::Run(int iters) {
StartBenchmarkTiming();
for (int i = 0; i < iters; ++i) {
syscall(__NR_gettid);
}
StopBenchmarkTiming();
}

80
benchmarks/utils.cpp Normal file
View File

@ -0,0 +1,80 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "utils.h"
#include <inttypes.h>
#include <stdio.h>
#include <stdint.h>
#include <stdlib.h>
#include <string>
#include <android-base/stringprintf.h>
int Round(int n) {
int base = 1;
while (base*10 < n) {
base *= 10;
}
if (n < 2*base) {
return 2*base;
}
if (n < 5*base) {
return 5*base;
}
return 10*base;
}
// Similar to the code in art, but supporting both binary and decimal prefixes.
std::string PrettyInt(long value, size_t base) {
if (base != 2 && base != 10) abort();
uint64_t count = static_cast<uint64_t>(value);
bool negative_number = false;
if (value < 0) {
negative_number = true;
count = static_cast<uint64_t>(-value);
}
// The byte thresholds at which we display amounts. A count is displayed
// in unit U when kUnitThresholds[U] <= bytes < kUnitThresholds[U+1].
static const uint64_t kUnitThresholds2[] = {
1024*1024*1024 /* Gi */, 2*1024*1024 /* Mi */, 3*1024 /* Ki */, 0,
};
static const uint64_t kUnitThresholds10[] = {
1000*1000*1000 /* G */, 2*1000*1000 /* M */, 3*1000 /* k */, 0,
};
static const uint64_t kAmountPerUnit2[] = { 1024*1024*1024, 1024*1024, 1024, 1 };
static const uint64_t kAmountPerUnit10[] = { 1000*1000*1000, 1000*1000, 1000, 1 };
static const char* const kUnitStrings2[] = { "Gi", "Mi", "Ki", "" };
static const char* const kUnitStrings10[] = { "G", "M", "k", "" };
// Which set are we using?
const uint64_t* kUnitThresholds = ((base == 2) ? kUnitThresholds2 : kUnitThresholds10);
const uint64_t* kAmountPerUnit = ((base == 2) ? kAmountPerUnit2 : kAmountPerUnit10);
const char* const* kUnitStrings = ((base == 2) ? kUnitStrings2 : kUnitStrings10);
size_t i = 0;
for (; kUnitThresholds[i] != 0; ++i) {
if (count >= kUnitThresholds[i]) {
break;
}
}
return android::base::StringPrintf("%s%" PRId64 "%s",
negative_number ? "-" : "",
count / kAmountPerUnit[i], kUnitStrings[i]);
}

26
benchmarks/utils.h Normal file
View File

@ -0,0 +1,26 @@
/*
* Copyright (C) 2012 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef BENCHMARKS_UTILS_H
#define BENCHMARKS_UTILS_H
#include <stddef.h>
#include <string>
int Round(int n);
std::string PrettyInt(long value, size_t base);
#endif // BENCHMARKS_UTILS_H

44
build/run-on-host.mk Normal file
View File

@ -0,0 +1,44 @@
#
# Copyright (C) 2014 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Include once
ifneq ($(bionic_run_on_host_mk_included),true)
bionic_run_on_host_mk_included:=true
ifneq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),arm mips x86))
LINKER = linker64
else
LINKER = linker
endif
ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),x86 x86_64))
# gtest needs ANDROID_DATA/local/tmp for death test output.
# Make sure to create ANDROID_DATA/local/tmp if doesn't exist.
# bionic itself should always work relative to ANDROID_DATA or ANDROID_ROOT.
bionic-prepare-run-on-host: $(TARGET_OUT_EXECUTABLES)/$(LINKER) $(TARGET_OUT)/etc/hosts $(TARGET_OUT_EXECUTABLES)/sh
if [ ! -d /system ]; then \
echo "Attempting to create /system"; \
sudo mkdir -p -m 0777 /system; \
fi
mkdir -p $(TARGET_OUT_DATA)/local/tmp
ln -fs `realpath $(TARGET_OUT)/bin` /system/
ln -fs `realpath $(TARGET_OUT)/etc` /system/
ln -fs `realpath $(TARGET_OUT)/lib` /system/
if [ -d "$(TARGET_OUT)/lib64" ]; then \
ln -fs `realpath $(TARGET_OUT)/lib64` /system/; \
fi
endif
endif

2160
libc/Android.bp Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,26 +0,0 @@
Bionic is a very small C library because we have decided to *not* implement various features
of the POSIX standard. we only add functions on a as-needed basis, and there are a few things
we wish we'll never put in there.
this file is here to document explicitely what we don't want to support in Bionic:
- C++ exceptions are not supported. on embedded systems, they lead to extremely larger and
slower code for no good reason (even when so-called zero-cost exception schemes are
implemented, they enforce very large numbers of registers spills to the stack, even
in functions that do not throw an exception themselves).
- pthread cancellation is *not* supported. this seemingly simple "feature" is the source
of much bloat and complexity in a C library. Besides, you'd better write correct
multi-threaded code instead of relying on this stuff.
- pthread_once() doesn't support C++ exceptions thrown from the init function, or the init
function doing a fork().
- locales and wide characters are not supported. we use ICU for all this i18n stuff, which
is much better than the ill-designed related C libraries functions.
- at the moment, several user-account-related functions like getpwd are stubbed and return
the values corresponding to root. this will be fixed when we'll be able to have distinct
users on the Android filesystem. :-(
see bionic/stubs.c for the details

File diff suppressed because it is too large Load Diff

View File

@ -1,326 +1,348 @@
# This file is used to automatically generate bionic's the system calls stubs.
# This file is used to automatically generate bionic's system call stubs.
#
# Each non comment line has the following format:
# Each non-blank, non-comment line has the following format:
#
# return_type func_name[:syscall_name[:call_id]]([parameter_list]) (1|-1|"stub")
# return_type func_name[|alias_list][:syscall_name[:socketcall_id]]([parameter_list]) arch_list
#
# Note that:
# where:
# arch_list ::= "all" | arch+
# arch ::= "arm" | "arm64" | "mips" | "mips64" | "x86" | "x86_64"
#
# Note:
# - syscall_name corresponds to the name of the syscall, which may differ from
# the exported function name (example: the exit syscall is implemented by the _exit()
# function, which is not the same as the standard C exit() function which calls it)
# The call_id parameter, given that func_name and syscall_name have
#
# - alias_list is optional comma separated list of function aliases.
#
# - The call_id parameter, given that func_name and syscall_name have
# been provided, allows the user to specify dispatch style syscalls.
# For example, socket() syscall on i386 actually becomes:
# socketcall(__NR_socket, 1, *(rest of args on stack)).
#
# - each parameter type is assumed to be stored on 32 bits, there is no plan to support
# 64-bit architectures at the moment
#
# - the final field can be "1", meaning: generate a stub for each architecture,
# taking the constants from the kernel header files.
#
# - the final field can be "stub" meaning: do not generate any stubs ---
# in this case, a hand-written custom stub must be provided.
# TODO: replace this with something like "custom" or "none", or remove
# it entirely.
#
# - the final field can be a three-element list of 1s and -1 meaning:
# this system call is only available on some of the architectures (1),
# and no stub should be generated for those architectures marked with -1.
# the order is arm,x86,mips.
# TODO: replace this with something more readable like "-arm,-mips" (meaning x86 only).
# - Each parameter type is assumed to be stored in 32 bits.
#
# This file is processed by a python script named gensyscalls.py.
#
# process management
void _exit:exit_group (int) 1
void _exit_thread:exit (int) 1
pid_t __fork:fork (void) 1
pid_t _waitpid:waitpid (pid_t, int*, int, struct rusage*) -1,1,1
int __waitid:waitid(int, pid_t, struct siginfo_t*, int,void*) 1
pid_t wait4(pid_t pid, int *status, int options, struct rusage *rusage) 1
int execve(const char*, char* const*, char* const*) all
# NOTE: this system call is never called directly, but we list it there
# to have __NR_clone properly defined.
#
pid_t __sys_clone:clone (int, void*, int*, void*, int*) 1
uid_t getuid:getuid32() arm,x86
uid_t getuid:getuid() arm64,mips,mips64,x86_64
gid_t getgid:getgid32() arm,x86
gid_t getgid:getgid() arm64,mips,mips64,x86_64
uid_t geteuid:geteuid32() arm,x86
uid_t geteuid:geteuid() arm64,mips,mips64,x86_64
gid_t getegid:getegid32() arm,x86
gid_t getegid:getegid() arm64,mips,mips64,x86_64
uid_t getresuid:getresuid32(uid_t* ruid, uid_t* euid, uid_t* suid) arm,x86
uid_t getresuid:getresuid(uid_t* ruid, uid_t* euid, uid_t* suid) arm64,mips,mips64,x86_64
gid_t getresgid:getresgid32(gid_t* rgid, gid_t* egid, gid_t* sgid) arm,x86
gid_t getresgid:getresgid(gid_t* rgid, gid_t* egid, gid_t* sgid) arm64,mips,mips64,x86_64
ssize_t readahead(int, off64_t, size_t) all
int getgroups:getgroups32(int, gid_t*) arm,x86
int getgroups:getgroups(int, gid_t*) arm64,mips,mips64,x86_64
pid_t getpgid(pid_t) all
pid_t getppid() all
pid_t getsid(pid_t) all
pid_t setsid() all
int setgid:setgid32(gid_t) arm,x86
int setgid:setgid(gid_t) arm64,mips,mips64,x86_64
int setuid:setuid32(uid_t) arm,x86
int setuid:setuid(uid_t) arm64,mips,mips64,x86_64
int setreuid:setreuid32(uid_t, uid_t) arm,x86
int setreuid:setreuid(uid_t, uid_t) arm64,mips,mips64,x86_64
int setresuid:setresuid32(uid_t, uid_t, uid_t) arm,x86
int setresuid:setresuid(uid_t, uid_t, uid_t) arm64,mips,mips64,x86_64
int setresgid:setresgid32(gid_t, gid_t, gid_t) arm,x86
int setresgid:setresgid(gid_t, gid_t, gid_t) arm64,mips,mips64,x86_64
void* __brk:brk(void*) all
int kill(pid_t, int) all
int tgkill(pid_t tgid, pid_t tid, int sig) all
int __ptrace:ptrace(int request, int pid, void* addr, void* data) all
int execve (const char*, char* const*, char* const*) 1
# <sys/resource.h>
int getrusage(int, struct rusage*) all
int __getpriority:getpriority(int, int) all
int setpriority(int, int, int) all
# On LP64, rlimit and rlimit64 are the same.
# On 32-bit systems we use prlimit64 to implement the rlimit64 functions.
int getrlimit:ugetrlimit(int, struct rlimit*) arm,x86
int getrlimit(int, struct rlimit*) mips
int getrlimit|getrlimit64(int, struct rlimit*) arm64,mips64,x86_64
int setrlimit(int, const struct rlimit*) arm,mips,x86
int setrlimit|setrlimit64(int, const struct rlimit*) arm64,mips64,x86_64
int prlimit64|prlimit(pid_t, int, struct rlimit64*, const struct rlimit64*) arm64,mips64,x86_64
int prlimit64(pid_t, int, struct rlimit64*, const struct rlimit64*) arm,mips,x86
int __setuid:setuid32 (uid_t) 1,1,-1
int __setuid:setuid (uid_t) -1,-1,1
uid_t getuid:getuid32 () 1,1,-1
uid_t getuid:getuid () -1,-1,1
gid_t getgid:getgid32 () 1,1,-1
gid_t getgid:getgid () -1,-1,1
uid_t geteuid:geteuid32 () 1,1,-1
uid_t geteuid:geteuid () -1,-1,1
gid_t getegid:getegid32 () 1,1,-1
gid_t getegid:getegid () -1,-1,1
uid_t getresuid:getresuid32 (uid_t *ruid, uid_t *euid, uid_t *suid) 1,1,-1
uid_t getresuid:getresuid (uid_t *ruid, uid_t *euid, uid_t *suid) -1,-1,1
gid_t getresgid:getresgid32 (gid_t *rgid, gid_t *egid, gid_t *sgid) 1,1,-1
gid_t getresgid:getresgid (gid_t *rgid, gid_t *egid, gid_t *sgid) -1,-1,1
pid_t gettid() 1
ssize_t readahead(int, off64_t, size_t) 1
int getgroups:getgroups32(int, gid_t *) 1,1,-1
int getgroups:getgroups(int, gid_t *) -1,-1,1
pid_t getpgid(pid_t) 1
pid_t getppid() 1
pid_t getsid(pid_t) 1
pid_t setsid() 1
int setgid:setgid32(gid_t) 1,1,-1
int setgid:setgid(gid_t) -1,-1,1
int seteuid:seteuid32(uid_t) stub
int __setreuid:setreuid32(uid_t, uid_t) 1,1,-1
int __setreuid:setreuid(uid_t, uid_t) -1,-1,1
int __setresuid:setresuid32(uid_t, uid_t, uid_t) 1,1,-1
int __setresuid:setresuid(uid_t, uid_t, uid_t) -1,-1,1
int setresgid:setresgid32(gid_t, gid_t, gid_t) 1,1,-1
int setresgid:setresgid(gid_t, gid_t, gid_t) -1,-1,1
void* __brk:brk(void*) 1
# see comments in arch-arm/bionic/kill.S to understand why we don't generate an ARM stub for kill/tkill
int kill(pid_t, int) -1,1,1
int tkill(pid_t tid, int sig) -1,1,1
int tgkill(pid_t tgid, pid_t tid, int sig) -1,1,1
int __ptrace:ptrace(int request, int pid, void* addr, void* data) 1
int __set_thread_area:set_thread_area(void* user_desc) -1,1,1
int __getpriority:getpriority(int, int) 1
int setpriority(int, int, int) 1
int setrlimit(int resource, const struct rlimit *rlp) 1
int getrlimit:ugetrlimit(int resource, struct rlimit *rlp) 1,1,-1
int getrlimit:getrlimit(int resource, struct rlimit *rlp) -1,-1,1
int getrusage(int who, struct rusage* r_usage) 1
int setgroups:setgroups32(int, const gid_t *) 1,1,-1
int setgroups:setgroups(int, const gid_t *) -1,-1,1
pid_t getpgrp(void) stub
int setpgid(pid_t, pid_t) 1
pid_t vfork(void) 1,-1,-1
int setregid:setregid32(gid_t, gid_t) 1,1,-1
int setregid:setregid(gid_t, gid_t) -1,-1,1
int chroot(const char *) 1
# IMPORTANT: Even though <sys/prctl.h> declares prctl(int,...), the syscall stub must take 6 arguments
# to match the kernel implementation.
int prctl(int option, unsigned int arg2, unsigned int arg3, unsigned int arg4, unsigned int arg5) 1
int capget(cap_user_header_t header, cap_user_data_t data) 1
int capset(cap_user_header_t header, const cap_user_data_t data) 1
int sigaltstack(const stack_t*, stack_t*) 1
int acct(const char* filepath) 1
int setgroups:setgroups32(int, const gid_t*) arm,x86
int setgroups:setgroups(int, const gid_t*) arm64,mips,mips64,x86_64
int setpgid(pid_t, pid_t) all
int setregid:setregid32(gid_t, gid_t) arm,x86
int setregid:setregid(gid_t, gid_t) arm64,mips,mips64,x86_64
int chroot(const char*) all
int prctl(int, unsigned long, unsigned long, unsigned long, unsigned long) all
long __arch_prctl:arch_prctl(int, unsigned long) x86_64
int capget(cap_user_header_t header, cap_user_data_t data) all
int capset(cap_user_header_t header, const cap_user_data_t data) all
int sigaltstack(const stack_t*, stack_t*) all
int acct(const char* filepath) all
# file descriptors
ssize_t read (int, void*, size_t) 1
ssize_t write (int, const void*, size_t) 1
ssize_t pread64 (int, void *, size_t, off64_t) 1
ssize_t pwrite64 (int, void *, size_t, off64_t) 1
int __open:open (const char*, int, mode_t) 1
int __openat:openat (int, const char*, int, mode_t) 1
int close (int) 1
int creat(const char*, mode_t) stub
off_t lseek(int, off_t, int) 1
int __llseek:_llseek (int, unsigned long, unsigned long, loff_t*, int) 1
pid_t getpid () 1
void * mmap(void *, size_t, int, int, int, long) stub
void * __mmap2:mmap2(void*, size_t, int, int, int, long) 1
int munmap(void *, size_t) 1
void * mremap(void *, size_t, size_t, unsigned long) 1
int msync(const void *, size_t, int) 1
int mprotect(const void *, size_t, int) 1
int madvise(const void *, size_t, int) 1
int mlock(const void *addr, size_t len) 1
int munlock(const void *addr, size_t len) 1
int mlockall(int flags) 1
int munlockall() 1
int mincore(void* start, size_t length, unsigned char* vec) 1
int __ioctl:ioctl(int, int, void *) 1
int readv(int, const struct iovec *, int) 1
int writev(int, const struct iovec *, int) 1
int __fcntl:fcntl(int, int, void*) 1
int flock(int, int) 1
int fchmod(int, mode_t) 1
int dup(int) 1
int pipe(int *) 1,1,-1
int pipe2(int *, int) 1
int dup2(int, int) 1
int select:_newselect(int, struct fd_set *, struct fd_set *, struct fd_set *, struct timeval *) 1
int ftruncate(int, off_t) 1
int ftruncate64(int, off64_t) 1
int getdents:getdents64(unsigned int, struct dirent *, unsigned int) 1
int fsync(int) 1
int fdatasync(int) 1
int fchown:fchown32(int, uid_t, gid_t) 1,1,-1
int fchown:fchown(int, uid_t, gid_t) -1,-1,1
void sync(void) 1
int __fcntl64:fcntl64(int, int, void *) 1
int __fstatfs64:fstatfs64(int, size_t, struct statfs *) 1
ssize_t sendfile(int out_fd, int in_fd, off_t *offset, size_t count) 1
int fstatat:fstatat64(int dirfd, const char *path, struct stat *buf, int flags) 1
int mkdirat(int dirfd, const char *pathname, mode_t mode) 1
int fchownat(int dirfd, const char *path, uid_t owner, gid_t group, int flags) 1
int fchmodat(int dirfd, const char *path, mode_t mode, int flags) 1
int renameat(int olddirfd, const char *oldpath, int newdirfd, const char *newpath) 1
int fsetxattr(int, const char *, const void *, size_t, int) 1
ssize_t fgetxattr(int, const char *, void *, size_t) 1
ssize_t flistxattr(int, char *, size_t) 1
int fremovexattr(int, const char *) 1
ssize_t read(int, void*, size_t) all
ssize_t write(int, const void*, size_t) all
ssize_t pread64(int, void*, size_t, off64_t) arm,mips,x86
ssize_t pread64|pread(int, void*, size_t, off_t) arm64,mips64,x86_64
ssize_t pwrite64(int, void*, size_t, off64_t) arm,mips,x86
ssize_t pwrite64|pwrite(int, void*, size_t, off_t) arm64,mips64,x86_64
# On LP32, preadv/pwritev don't use off64_t --- they use pairs of 32-bit
# arguments to avoid problems on architectures like ARM where 64-bit arguments
# must be in a register pair starting with an even-numbered register.
# See linux/fs/read_write.c and https://lwn.net/Articles/311630/.
ssize_t __preadv64:preadv(int, const struct iovec*, int, long, long) arm,mips,x86
ssize_t preadv|preadv64(int, const struct iovec*, int, off_t) arm64,mips64,x86_64
ssize_t __pwritev64:pwritev(int, const struct iovec*, int, long, long) arm,mips,x86
ssize_t pwritev|pwritev64(int, const struct iovec*, int, off_t) arm64,mips64,x86_64
int ___close:close(int) all
pid_t __getpid:getpid() all
int munmap(void*, size_t) all
void* ___mremap:mremap(void*, size_t, size_t, int, void*) all
int msync(const void*, size_t, int) all
int mprotect(const void*, size_t, int) all
int madvise(void*, size_t, int) all
int mlock(const void* addr, size_t len) all
int munlock(const void* addr, size_t len) all
int mlockall(int flags) all
int munlockall() all
int mincore(void* start, size_t length, unsigned char* vec) all
int __ioctl:ioctl(int, int, void*) all
int readv(int, const struct iovec*, int) all
int writev(int, const struct iovec*, int) all
int __fcntl64:fcntl64(int, int, void*) arm,mips,x86
int fcntl(int, int, void*) arm64,mips64,x86_64
int flock(int, int) all
int ___fchmod:fchmod(int, mode_t) all
int dup(int) all
int pipe2(int*, int) all
int dup3(int, int, int) all
int fsync(int) all
int fdatasync(int) all
int fchown:fchown32(int, uid_t, gid_t) arm,x86
int fchown:fchown(int, uid_t, gid_t) arm64,mips,mips64,x86_64
void sync(void) all
int ___fsetxattr:fsetxattr(int, const char*, const void*, size_t, int) all
ssize_t ___fgetxattr:fgetxattr(int, const char*, void*, size_t) all
ssize_t ___flistxattr:flistxattr(int, char*, size_t) all
int fremovexattr(int, const char*) all
int __getdents64:getdents64(unsigned int, struct dirent*, unsigned int) arm,arm64,mips,mips64,x86,x86_64
int __openat:openat(int, const char*, int, mode_t) all
int ___faccessat:faccessat(int, const char*, int) all
int ___fchmodat:fchmodat(int, const char*, mode_t) all
int fchownat(int, const char*, uid_t, gid_t, int) all
int fstatat64|fstatat:fstatat64(int, const char*, struct stat*, int) arm,mips,x86
int fstatat64|fstatat:newfstatat(int, const char*, struct stat*, int) arm64,x86_64
int linkat(int, const char*, int, const char*, int) all
int mkdirat(int, const char*, mode_t) all
int mknodat(int, const char*, mode_t, dev_t) all
int readlinkat(int, const char*, char*, size_t) all
int renameat(int, const char*, int, const char*) all
int symlinkat(const char*, int, const char*) all
int unlinkat(int, const char*, int) all
int utimensat(int, const char*, const struct timespec times[2], int) all
# Paired off_t/off64_t system calls. On 64-bit systems,
# sizeof(off_t) == sizeof(off64_t), so there we emit two symbols that are
# aliases. On 32-bit systems, we have two different system calls.
# That means that every system call in this section should take three lines.
off_t lseek(int, off_t, int) arm,mips,x86
int __llseek:_llseek(int, unsigned long, unsigned long, off64_t*, int) arm,mips,x86
off_t lseek|lseek64(int, off_t, int) arm64,mips64,x86_64
int ftruncate64(int, off64_t) arm,mips,x86
int ftruncate|ftruncate64(int, off_t) arm64,mips64,x86_64
ssize_t sendfile(int out_fd, int in_fd, off_t* offset, size_t count) arm,mips,x86
ssize_t sendfile64(int out_fd, int in_fd, off64_t* offset, size_t count) arm,mips,x86
ssize_t sendfile|sendfile64(int out_fd, int in_fd, off_t* offset, size_t count) arm64,mips64,x86_64
int truncate(const char*, off_t) arm,mips,x86
int truncate64(const char*, off64_t) arm,mips,x86
int truncate|truncate64(const char*, off_t) arm64,mips64,x86_64
# (mmap only gets two lines because we only used the 64-bit variant on 32-bit systems.)
void* __mmap2:mmap2(void*, size_t, int, int, int, long) arm,mips,x86
void* mmap|mmap64(void*, size_t, int, int, int, off_t) arm64,mips64,x86_64
# (fallocate only gets two lines because there is no 32-bit variant.)
int fallocate64:fallocate(int, int, off64_t, off64_t) arm,mips,x86
int fallocate|fallocate64(int, int, off_t, off_t) arm64,mips64,x86_64
# posix_fadvise64 is awkward: arm has shuffled arguments,
# the POSIX functions don't set errno, and no architecture has posix_fadvise.
int __arm_fadvise64_64:arm_fadvise64_64(int, int, off64_t, off64_t) arm
int __fadvise64:fadvise64_64(int, off64_t, off64_t, int) x86
int __fadvise64:fadvise64(int, off64_t, off64_t, int) arm64,mips,mips64,x86_64
int __fstatfs64:fstatfs64(int, size_t, struct statfs*) arm,mips,x86
int __fstatfs:fstatfs(int, struct statfs*) arm64,mips64,x86_64
int __statfs64:statfs64(const char*, size_t, struct statfs*) arm,mips,x86
int __statfs:statfs(const char*, struct statfs*) arm64,mips64,x86_64
int fstat64|fstat:fstat64(int, struct stat*) arm,mips,x86
int fstat64|fstat:fstat(int, struct stat*) arm64,x86_64
# file system
int link (const char*, const char*) 1
int unlink (const char*) 1
int unlinkat (int, const char *, int) 1
int chdir (const char*) 1
int mknod (const char*, mode_t, dev_t) 1
int chmod (const char*,mode_t) 1
int chown:chown32(const char *, uid_t, gid_t) 1,1,-1
int chown:chown(const char *, uid_t, gid_t) -1,-1,1
int lchown:lchown32 (const char*, uid_t, gid_t) 1,1,-1
int lchown:lchown (const char*, uid_t, gid_t) -1,-1,1
int mount (const char*, const char*, const char*, unsigned long, const void*) 1
int umount(const char*) stub
int umount2 (const char*, int) 1
int fstat:fstat64(int, struct stat*) 1
int stat:stat64(const char *, struct stat *) 1
int lstat:lstat64(const char *, struct stat *) 1
int mkdir(const char *, mode_t) 1
int readlink(const char *, char *, size_t) 1
int rmdir(const char *) 1
int rename(const char *, const char *) 1
int __getcwd:getcwd(char * buf, size_t size) 1
int access(const char *, int) 1
int faccessat(int, const char *, int, int) 1
int symlink(const char *, const char *) 1
int fchdir(int) 1
int truncate(const char*, off_t) 1
int setxattr(const char *, const char *, const void *, size_t, int) 1
int lsetxattr(const char *, const char *, const void *, size_t, int) 1
ssize_t getxattr(const char *, const char *, void *, size_t) 1
ssize_t lgetxattr(const char *, const char *, void *, size_t) 1
ssize_t listxattr(const char *, char *, size_t) 1
ssize_t llistxattr(const char *, char *, size_t) 1
int removexattr(const char *, const char *) 1
int lremovexattr(const char *, const char *) 1
int __statfs64:statfs64(const char *, size_t, struct statfs *) 1
long unshare(unsigned long) 1
int swapon(const char *, int) 1
int swapoff(const char *) 1
int chdir(const char*) all
int mount(const char*, const char*, const char*, unsigned long, const void*) all
int umount2(const char*, int) all
int __getcwd:getcwd(char* buf, size_t size) all
int fchdir(int) all
int setxattr(const char*, const char*, const void*, size_t, int) all
int lsetxattr(const char*, const char*, const void*, size_t, int) all
ssize_t getxattr(const char*, const char*, void*, size_t) all
ssize_t lgetxattr(const char*, const char*, void*, size_t) all
ssize_t listxattr(const char*, char*, size_t) all
ssize_t llistxattr(const char*, char*, size_t) all
int removexattr(const char*, const char*) all
int lremovexattr(const char*, const char*) all
int swapon(const char*, int) all
int swapoff(const char*) all
# time
int pause () 1
int gettimeofday(struct timeval*, struct timezone*) 1
int settimeofday(const struct timeval*, const struct timezone*) 1
clock_t times(struct tms *) 1
int nanosleep(const struct timespec *, struct timespec *) 1
int clock_gettime(clockid_t clk_id, struct timespec *tp) 1
int clock_settime(clockid_t clk_id, const struct timespec *tp) 1
int clock_getres(clockid_t clk_id, struct timespec *res) 1
int clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *req, struct timespec *rem) 1
int getitimer(int, const struct itimerval *) 1
int setitimer(int, const struct itimerval *, struct itimerval *) 1
int __timer_create:timer_create(clockid_t clockid, struct sigevent *evp, timer_t *timerid) 1
int __timer_settime:timer_settime(timer_t, int, const struct itimerspec*, struct itimerspec*) 1
int __timer_gettime:timer_gettime(timer_t, struct itimerspec*) 1
int __timer_getoverrun:timer_getoverrun(timer_t) 1
int __timer_delete:timer_delete(timer_t) 1
int utimes(const char*, const struct timeval tvp[2]) 1
int utimensat(int, const char *, const struct timespec times[2], int) 1
int timerfd_create(clockid_t, int) 1
int timerfd_settime(int, int, const struct itimerspec *, struct itimerspec *) 1
int timerfd_gettime(int, struct itimerspec *) 1
int settimeofday(const struct timeval*, const struct timezone*) all
clock_t times(struct tms*) all
int nanosleep(const struct timespec*, struct timespec*) all
int clock_settime(clockid_t, const struct timespec*) all
int clock_getres(clockid_t, struct timespec*) all
int ___clock_nanosleep:clock_nanosleep(clockid_t, int, const struct timespec*, struct timespec*) all
int getitimer(int, const struct itimerval*) all
int setitimer(int, const struct itimerval*, struct itimerval*) all
int __timer_create:timer_create(clockid_t clockid, struct sigevent* evp, __kernel_timer_t* timerid) all
int __timer_settime:timer_settime(__kernel_timer_t, int, const struct itimerspec*, struct itimerspec*) all
int __timer_gettime:timer_gettime(__kernel_timer_t, struct itimerspec*) all
int __timer_getoverrun:timer_getoverrun(__kernel_timer_t) all
int __timer_delete:timer_delete(__kernel_timer_t) all
int timerfd_create(clockid_t, int) all
int timerfd_settime(int, int, const struct itimerspec*, struct itimerspec*) all
int timerfd_gettime(int, struct itimerspec*) all
# signals
int sigaction(int, const struct sigaction *, struct sigaction *) 1
int sigprocmask(int, const sigset_t *, sigset_t *) 1
int __sigsuspend:sigsuspend(int unused1, int unused2, unsigned mask) 1,1,-1
int __sigsuspend:sigsuspend(const sigset_t *mask) -1,-1,1
int __rt_sigaction:rt_sigaction (int sig, const struct sigaction *act, struct sigaction *oact, size_t sigsetsize) 1
int __rt_sigprocmask:rt_sigprocmask (int how, const sigset_t *set, sigset_t *oset, size_t sigsetsize) 1
int __rt_sigtimedwait:rt_sigtimedwait(const sigset_t *set, struct siginfo_t *info, struct timespec_t *timeout, size_t sigset_size) 1
int sigpending(sigset_t *) 1
int signalfd4(int fd, const sigset_t *mask, size_t sizemask, int flags) 1
int __sigaction:sigaction(int, const struct sigaction*, struct sigaction*) arm,mips,x86
int __rt_sigaction:rt_sigaction(int, const struct sigaction*, struct sigaction*, size_t) all
int __rt_sigpending:rt_sigpending(sigset_t*, size_t) all
int __rt_sigprocmask:rt_sigprocmask(int, const sigset_t*, sigset_t*, size_t) all
int __rt_sigsuspend:rt_sigsuspend(const sigset_t*, size_t) all
int __rt_sigtimedwait:rt_sigtimedwait(const sigset_t*, struct siginfo_t*, struct timespec_t*, size_t) all
int ___rt_sigqueueinfo:rt_sigqueueinfo(pid_t, int, siginfo_t*) all
int __signalfd4:signalfd4(int, const sigset_t*, size_t, int) all
# sockets
int socket(int, int, int) 1,-1,1
int socketpair(int, int, int, int*) 1,-1,1
int bind(int, struct sockaddr *, int) 1,-1,1
int connect(int, struct sockaddr *, socklen_t) 1,-1,1
int listen(int, int) 1,-1,1
int accept(int, struct sockaddr *, socklen_t *) 1,-1,1
int getsockname(int, struct sockaddr *, socklen_t *) 1,-1,1
int getpeername(int, struct sockaddr *, socklen_t *) 1,-1,1
int sendto(int, const void *, size_t, int, const struct sockaddr *, socklen_t) 1,-1,1
int recvfrom(int, void *, size_t, unsigned int, struct sockaddr *, socklen_t *) 1,-1,1
int shutdown(int, int) 1,-1,1
int setsockopt(int, int, int, const void *, socklen_t) 1,-1,1
int getsockopt(int, int, int, void *, socklen_t *) 1,-1,1
int sendmsg(int, const struct msghdr *, unsigned int) 1,-1,1
int recvmsg(int, struct msghdr *, unsigned int) 1,-1,1
int __socket:socket(int, int, int) arm,arm64,mips,mips64,x86_64
int socketpair(int, int, int, int*) arm,arm64,mips,mips64,x86_64
int bind(int, struct sockaddr*, int) arm,arm64,mips,mips64,x86_64
int __connect:connect(int, struct sockaddr*, socklen_t) arm,arm64,mips,mips64,x86_64
int listen(int, int) arm,arm64,mips,mips64,x86_64
int __accept4:accept4(int, struct sockaddr*, socklen_t*, int) arm,arm64,mips,mips64,x86_64
int getsockname(int, struct sockaddr*, socklen_t*) arm,arm64,mips,mips64,x86_64
int getpeername(int, struct sockaddr*, socklen_t*) arm,arm64,mips,mips64,x86_64
int sendto(int, const void*, size_t, int, const struct sockaddr*, socklen_t) arm,arm64,mips,mips64,x86_64
int recvfrom(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*) arm,arm64,mips,mips64,x86_64
int shutdown(int, int) arm,arm64,mips,mips64,x86_64
int setsockopt(int, int, int, const void*, socklen_t) arm,arm64,mips,mips64,x86_64
int getsockopt(int, int, int, void*, socklen_t*) arm,arm64,mips,mips64,x86_64
int sendmsg(int, const struct msghdr*, unsigned int) arm,arm64,mips,mips64,x86_64
int recvmsg(int, struct msghdr*, unsigned int) arm,arm64,mips,mips64,x86_64
int recvmmsg(int, struct mmsghdr*, unsigned int, int, const struct timespec*) arm,arm64,mips,mips64,x86_64
int sendmmsg(int, struct mmsghdr*, unsigned int, int) arm,arm64,mips,mips64,x86_64
# sockets for x86. These are done as an "indexed" call to socketcall syscall.
int socket:socketcall:1 (int, int, int) -1,1,-1
int bind:socketcall:2 (int, struct sockaddr *, int) -1,1,-1
int connect:socketcall:3(int, struct sockaddr *, socklen_t) -1,1,-1
int listen:socketcall:4(int, int) -1,1,-1
int accept:socketcall:5(int, struct sockaddr *, socklen_t *) -1,1,-1
int getsockname:socketcall:6(int, struct sockaddr *, socklen_t *) -1,1,-1
int getpeername:socketcall:7(int, struct sockaddr *, socklen_t *) -1,1,-1
int socketpair:socketcall:8(int, int, int, int*) -1,1,-1
int sendto:socketcall:11(int, const void *, size_t, int, const struct sockaddr *, socklen_t) -1,1,-1
int recvfrom:socketcall:12(int, void *, size_t, unsigned int, struct sockaddr *, socklen_t *) -1,1,-1
int shutdown:socketcall:13(int, int) -1,1,-1
int setsockopt:socketcall:14(int, int, int, const void *, socklen_t) -1,1,-1
int getsockopt:socketcall:15(int, int, int, void *, socklen_t *) -1,1,-1
int sendmsg:socketcall:16(int, const struct msghdr *, unsigned int) -1,1,-1
int recvmsg:socketcall:17(int, struct msghdr *, unsigned int) -1,1,-1
int __socket:socketcall:1(int, int, int) x86
int bind:socketcall:2(int, struct sockaddr*, int) x86
int __connect:socketcall:3(int, struct sockaddr*, socklen_t) x86
int listen:socketcall:4(int, int) x86
int getsockname:socketcall:6(int, struct sockaddr*, socklen_t*) x86
int getpeername:socketcall:7(int, struct sockaddr*, socklen_t*) x86
int socketpair:socketcall:8(int, int, int, int*) x86
int sendto:socketcall:11(int, const void*, size_t, int, const struct sockaddr*, socklen_t) x86
int recvfrom:socketcall:12(int, void*, size_t, unsigned int, struct sockaddr*, socklen_t*) x86
int shutdown:socketcall:13(int, int) x86
int setsockopt:socketcall:14(int, int, int, const void*, socklen_t) x86
int getsockopt:socketcall:15(int, int, int, void*, socklen_t*) x86
int sendmsg:socketcall:16(int, const struct msghdr*, unsigned int) x86
int recvmsg:socketcall:17(int, struct msghdr*, unsigned int) x86
int __accept4:socketcall:18(int, struct sockaddr*, socklen_t*, int) x86
int recvmmsg:socketcall:19(int, struct mmsghdr*, unsigned int, int, const struct timespec*) x86
int sendmmsg:socketcall:20(int, struct mmsghdr*, unsigned int, int) x86
# scheduler & real-time
int sched_setscheduler(pid_t pid, int policy, const struct sched_param *param) 1
int sched_getscheduler(pid_t pid) 1
int sched_yield(void) 1
int sched_setparam(pid_t pid, const struct sched_param *param) 1
int sched_getparam(pid_t pid, struct sched_param *param) 1
int sched_get_priority_max(int policy) 1
int sched_get_priority_min(int policy) 1
int sched_rr_get_interval(pid_t pid, struct timespec *interval) 1
int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set) 1
int __sched_getaffinity:sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set) 1
int __getcpu:getcpu(unsigned *cpu, unsigned *node, void *unused) 1
# io priorities
int ioprio_set(int which, int who, int ioprio) 1
int ioprio_get(int which, int who) 1
int sched_setscheduler(pid_t pid, int policy, const struct sched_param* param) all
int sched_getscheduler(pid_t pid) all
int sched_yield(void) all
int sched_setparam(pid_t pid, const struct sched_param* param) all
int sched_getparam(pid_t pid, struct sched_param* param) all
int sched_get_priority_max(int policy) all
int sched_get_priority_min(int policy) all
int sched_rr_get_interval(pid_t pid, struct timespec* interval) all
int sched_setaffinity(pid_t pid, size_t setsize, const cpu_set_t* set) all
int setns(int, int) all
int unshare(int) all
int __sched_getaffinity:sched_getaffinity(pid_t pid, size_t setsize, cpu_set_t* set) all
int __getcpu:getcpu(unsigned*, unsigned*, void*) all
# other
int uname(struct utsname *) 1
mode_t umask(mode_t) 1
int __reboot:reboot(int, int, int, void *) 1
int __syslog:syslog(int, char *, int) 1
int init_module(void *, unsigned long, const char *) 1
int delete_module(const char*, unsigned int) 1
int klogctl:syslog(int, char *, int) 1
int sysinfo(struct sysinfo *) 1
int personality(unsigned long) 1
long perf_event_open(struct perf_event_attr *attr_uptr, pid_t pid, int cpu, int group_fd, unsigned long flags) 1
int uname(struct utsname*) all
mode_t umask(mode_t) all
int __reboot:reboot(int, int, int, void*) all
int init_module(void*, unsigned long, const char*) all
int delete_module(const char*, unsigned int) all
int klogctl:syslog(int, char*, int) all
int sysinfo(struct sysinfo*) all
int personality(unsigned long) all
# futex
int futex(void *, int, int, void *, void *, int) 1
ssize_t tee(int, int, size_t, unsigned int) all
ssize_t splice(int, off64_t*, int, off64_t*, size_t, unsigned int) all
ssize_t vmsplice(int, const struct iovec*, size_t, unsigned int) all
# epoll
int epoll_create(int size) 1
int epoll_ctl(int epfd, int op, int fd, struct epoll_event *event) 1
int epoll_wait(int epfd, struct epoll_event *events, int max, int timeout) 1
int epoll_create1(int) all
int epoll_ctl(int, int op, int, struct epoll_event*) all
int __epoll_pwait:epoll_pwait(int, struct epoll_event*, int, int, const sigset_t*, size_t) all
int inotify_init(void) 1
int inotify_add_watch(int, const char *, unsigned int) 1
int inotify_rm_watch(int, unsigned int) 1
int eventfd:eventfd2(unsigned int, int) all
int poll(struct pollfd *, unsigned int, long) 1
void _exit|_Exit:exit_group(int) all
void __exit:exit(int) all
int eventfd:eventfd2(unsigned int, int) 1
int inotify_init1(int) all
int inotify_add_watch(int, const char*, unsigned int) all
int inotify_rm_watch(int, unsigned int) all
# ARM-specific ARM_NR_BASE == 0x0f0000 == 983040
int __set_tls:__ARM_NR_set_tls(void*) 1,-1,-1
int cacheflush:__ARM_NR_cacheflush(long start, long end, long flags) 1,-1,-1
int __pselect6:pselect6(int, fd_set*, fd_set*, fd_set*, timespec*, void*) all
int __ppoll:ppoll(pollfd*, unsigned int, timespec*, const sigset_t*, size_t) all
ssize_t process_vm_readv(pid_t, const struct iovec*, unsigned long, const struct iovec*, unsigned long, unsigned long) all
ssize_t process_vm_writev(pid_t, const struct iovec*, unsigned long, const struct iovec*, unsigned long, unsigned long) all
int __set_tid_address:set_tid_address(int*) all
int setfsgid(gid_t) all
int setfsuid(uid_t) all
int sethostname(const char*, size_t) all
pid_t wait4(pid_t, int*, int, struct rusage*) all
int __waitid:waitid(int, pid_t, struct siginfo_t*, int, void*) all
# ARM-specific
int __set_tls:__ARM_NR_set_tls(void*) arm
int cacheflush:__ARM_NR_cacheflush(long start, long end, long flags) arm
# MIPS-specific
int _flush_cache:cacheflush(char *addr, const int nbytes, const int op) -1,-1,1
int syscall(int number,...) -1,-1,1
int _flush_cache:cacheflush(char* addr, const int nbytes, const int op) mips
int __set_tls:set_thread_area(void*) mips,mips64
# x86-specific
int __set_thread_area:set_thread_area(void*) x86
# vdso stuff.
int clock_gettime(clockid_t, timespec*) arm,mips,mips64
int __clock_gettime:clock_gettime(clockid_t, timespec*) arm64,x86,x86_64
int gettimeofday(timeval*, timezone*) arm,mips,mips64
int __gettimeofday:gettimeofday(timeval*, timezone*) arm64,x86,x86_64

View File

@ -1,44 +1,63 @@
_LIBC_ARCH_COMMON_SRC_FILES := \
arch-arm/bionic/abort_arm.S \
arch-arm/bionic/atomics_arm.c \
arch-arm/bionic/clone.S \
arch-arm/bionic/eabi.c \
arch-arm/bionic/_exit_with_stack_teardown.S \
arch-arm/bionic/ffs.S \
arch-arm/bionic/futex_arm.S \
arch-arm/bionic/__get_sp.S \
arch-arm/bionic/kill.S \
arch-arm/bionic/libgcc_compat.c \
arch-arm/bionic/memcmp16.S \
arch-arm/bionic/memcmp.S \
arch-arm/bionic/_setjmp.S \
arch-arm/bionic/setjmp.S \
arch-arm/bionic/sigsetjmp.S \
arch-arm/bionic/syscall.S \
arch-arm/bionic/tgkill.S \
arch-arm/bionic/tkill.S \
# 32-bit arm.
# These are used by the static and dynamic versions of the libc
# respectively.
_LIBC_ARCH_STATIC_SRC_FILES := \
arch-arm/bionic/exidx_static.c
libc_bionic_src_files_arm += \
arch-arm/generic/bionic/memcmp.S \
arch-arm/generic/bionic/memcpy.S \
arch-arm/generic/bionic/memset.S \
arch-arm/generic/bionic/strcmp.S \
arch-arm/generic/bionic/strcpy.S \
arch-arm/generic/bionic/strlen.c \
_LIBC_ARCH_DYNAMIC_SRC_FILES := \
arch-arm/bionic/exidx_dynamic.c
# Remove the C++ fortify function implementations for which there is an
# arm assembler version.
_LIBC_FORTIFY_FILES_TO_REMOVE := \
libc_bionic_src_files_exclude_arm += \
bionic/__memcpy_chk.cpp \
bionic/__memset_chk.cpp \
bionic/__strcpy_chk.cpp \
bionic/__strcat_chk.cpp \
libc_common_src_files := \
$(filter-out $(_LIBC_FORTIFY_FILES_TO_REMOVE),$(libc_common_src_files))
libc_openbsd_src_files_exclude_arm += \
upstream-openbsd/lib/libc/string/strcpy.c \
ifeq ($(strip $(wildcard bionic/libc/arch-arm/$(TARGET_CPU_VARIANT)/$(TARGET_CPU_VARIANT).mk)),)
$(error "TARGET_CPU_VARIANT not set or set to an unknown value. Possible values are cortex-a7, cortex-a8, cortex-a9, cortex-a15, krait. Use generic for devices that do not have a CPU similar to any of the supported cpu variants.")
#
# Inherently architecture-specific code.
#
libc_bionic_src_files_arm += \
arch-arm/bionic/abort_arm.S \
arch-arm/bionic/atomics_arm.c \
arch-arm/bionic/__bionic_clone.S \
arch-arm/bionic/_exit_with_stack_teardown.S \
arch-arm/bionic/libgcc_compat.c \
arch-arm/bionic/popcount_tab.c \
arch-arm/bionic/__restore.S \
arch-arm/bionic/setjmp.S \
arch-arm/bionic/syscall.S \
arch-arm/bionic/vfork.S \
libc_arch_static_src_files_arm := arch-arm/bionic/exidx_static.c
libc_arch_dynamic_src_files_arm := arch-arm/bionic/exidx_dynamic.c
## CPU variant specific source files
ifeq ($(strip $(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)),)
$(warning TARGET_$(my_2nd_arch_prefix)ARCH is arm, but TARGET_$(my_2nd_arch_prefix)CPU_VARIANT is not defined)
endif
ifneq ($(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT),generic)
cpu_variant_mk := $(LOCAL_PATH)/arch-arm/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT)/$(TARGET_$(my_2nd_arch_prefix)CPU_VARIANT).mk
ifeq ($(wildcard $(cpu_variant_mk)),)
$(error "TARGET_$(my_2nd_arch_prefix)CPU_VARIANT not set or set to an unknown value. Possible values are cortex-a7, cortex-a8, cortex-a9, cortex-a15, krait, denver. Use generic for devices that do not have a CPU similar to any of the supported cpu variants.")
endif
include $(cpu_variant_mk)
libc_common_additional_dependencies += $(cpu_variant_mk)
cpu_variant_mk :=
endif
include bionic/libc/arch-arm/$(TARGET_CPU_VARIANT)/$(TARGET_CPU_VARIANT).mk
libc_crt_target_cflags_arm := \
-I$(LOCAL_PATH)/arch-arm/include \
-mthumb-interwork
libc_crt_target_so_cflags_arm :=
libc_crt_target_crtbegin_file_arm := \
$(LOCAL_PATH)/arch-common/bionic/crtbegin.c
libc_crt_target_crtbegin_so_file_arm := \
$(LOCAL_PATH)/arch-common/bionic/crtbegin_so.c

View File

@ -0,0 +1,185 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#if defined(__clang__)
// clang interprets -fno-builtin more loosely than you might expect,
// and thinks it's okay to still substitute builtins as long as they're
// named __aeabi_* rather than __builtin_*, which causes infinite
// recursion if we have the fortified memcpy visible in this file.
#undef _FORTIFY_SOURCE
#endif
#include <stddef.h>
#include <string.h>
extern int __cxa_atexit(void (*)(void*), void*, void*);
// All of these are weak symbols to avoid multiple definition errors when
// linking with libstdc++-v3 or compiler-rt.
/* The "C++ ABI for ARM" document states that static C++ constructors,
* which are called from the .init_array, should manually call
* __aeabi_atexit() to register static destructors explicitly.
*
* Note that 'dso_handle' is the address of a magic linker-generate
* variable from the shared object that contains the constructor/destructor
*/
int __attribute__((weak))
__aeabi_atexit_impl(void *object, void (*destructor) (void *), void *dso_handle) {
return __cxa_atexit(destructor, object, dso_handle);
}
int __attribute__((weak))
__aeabi_atexit_impl2(void *object, void (*destructor) (void *), void *dso_handle) {
return __cxa_atexit(destructor, object, dso_handle);
}
void __attribute__((weak)) __aeabi_memcpy8_impl(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __attribute__((weak)) __aeabi_memcpy4_impl(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __attribute__((weak)) __aeabi_memcpy_impl(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __attribute__((weak)) __aeabi_memcpy8_impl2(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __attribute__((weak)) __aeabi_memcpy4_impl2(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __attribute__((weak)) __aeabi_memcpy_impl2(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __attribute__((weak)) __aeabi_memmove8_impl(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
void __attribute__((weak)) __aeabi_memmove4_impl(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
void __attribute__((weak)) __aeabi_memmove_impl(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
void __attribute__((weak)) __aeabi_memmove8_impl2(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
void __attribute__((weak)) __aeabi_memmove4_impl2(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
void __attribute__((weak)) __aeabi_memmove_impl2(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
/*
* __aeabi_memset has the order of its second and third arguments reversed.
* This allows __aeabi_memclr to tail-call __aeabi_memset
*/
void __attribute__((weak)) __aeabi_memset8_impl(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __attribute__((weak)) __aeabi_memset4_impl(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __attribute__((weak)) __aeabi_memset_impl(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __attribute__((weak)) __aeabi_memset8_impl2(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __attribute__((weak)) __aeabi_memset4_impl2(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __attribute__((weak)) __aeabi_memset_impl2(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __attribute__((weak)) __aeabi_memclr8_impl(void *dest, size_t n) {
__aeabi_memset8_impl(dest, n, 0);
}
void __attribute__((weak)) __aeabi_memclr4_impl(void *dest, size_t n) {
__aeabi_memset4_impl(dest, n, 0);
}
void __attribute__((weak)) __aeabi_memclr_impl(void *dest, size_t n) {
__aeabi_memset_impl(dest, n, 0);
}
void __attribute__((weak)) __aeabi_memclr8_impl2(void *dest, size_t n) {
__aeabi_memset8_impl(dest, n, 0);
}
void __attribute__((weak)) __aeabi_memclr4_impl2(void *dest, size_t n) {
__aeabi_memset4_impl(dest, n, 0);
}
void __attribute__((weak)) __aeabi_memclr_impl2(void *dest, size_t n) {
__aeabi_memset_impl(dest, n, 0);
}
#define __AEABI_SYMVERS(fn_name) \
__asm__(".symver " #fn_name "_impl, " #fn_name "@@LIBC_N"); \
__asm__(".symver " #fn_name "_impl2, " #fn_name "@LIBC_PRIVATE")
__AEABI_SYMVERS(__aeabi_atexit);
__AEABI_SYMVERS(__aeabi_memcpy8);
__AEABI_SYMVERS(__aeabi_memcpy4);
__AEABI_SYMVERS(__aeabi_memcpy);
__AEABI_SYMVERS(__aeabi_memmove8);
__AEABI_SYMVERS(__aeabi_memmove4);
__AEABI_SYMVERS(__aeabi_memmove);
__AEABI_SYMVERS(__aeabi_memset8);
__AEABI_SYMVERS(__aeabi_memset4);
__AEABI_SYMVERS(__aeabi_memset);
__AEABI_SYMVERS(__aeabi_memclr8);
__AEABI_SYMVERS(__aeabi_memclr4);
__AEABI_SYMVERS(__aeabi_memclr);
#undef __AEABI_SYMVERS

View File

@ -0,0 +1,70 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
// pid_t __bionic_clone(int flags, void* child_stack, pid_t* parent_tid, void* tls, pid_t* child_tid, int (*fn)(void*), void* arg);
ENTRY(__bionic_clone)
mov ip, sp
# save registers to parent stack
stmfd sp!, {r4, r5, r6, r7}
.cfi_def_cfa_offset 16
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
.cfi_rel_offset r6, 8
.cfi_rel_offset r7, 12
# load extra parameters
ldmfd ip, {r4, r5, r6}
# Push 'fn' and 'arg' onto the child stack.
stmdb r1!, {r5, r6}
# Make the system call.
ldr r7, =__NR_clone
swi #0
# Are we the child?
movs r0, r0
beq 1f
# In the parent, reload saved registers then either return or set errno.
ldmfd sp!, {r4, r5, r6, r7}
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno_internal
1: # The child.
# Setting lr to 0 will make the unwinder stop at __start_thread
mov lr, #0
# Call __start_thread with the 'fn' and 'arg' we stored on the child stack.
pop {r0, r1}
b __start_thread
END(__bionic_clone)
.hidden __bionic_clone

View File

@ -1,34 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <machine/asm.h>
ENTRY(__get_sp)
mov r0, sp
bx lr
END(__get_sp)

View File

@ -0,0 +1,63 @@
/*
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
// gdb is smart enough to unwind through signal frames with just the regular
// CFI information but libgcc and libunwind both need extra help. We do this
// by using .fnstart/.fnend and inserting a nop before both __restore and
// __restore_rt (but covered by the .fnstart/.fnend) so that although they're
// not inside the functions from objdump's point of view, an unwinder that
// blindly looks at the previous instruction (but is then smart enough to check
// the unwind information to find out where it landed) gets the right answer.
// Make sure not to have both DWARF and ARM unwind information, so only
// use the ARM unwind information.
// We need to place .fnstart ourselves (but we may as well keep the free .fnend).
#undef __bionic_asm_custom_entry
#define __bionic_asm_custom_entry(f)
.fnstart
.save {r0-r15}
.pad #32
nop
ENTRY_PRIVATE_NO_DWARF(__restore)
// This function must have exactly this instruction sequence.
mov r7, #__NR_sigreturn
swi #0
END_NO_DWARF(__restore)
.fnstart
.save {r0-r15}
.pad #160
nop
ENTRY_PRIVATE_NO_DWARF(__restore_rt)
// This function must have exactly this instruction sequence.
mov r7, #__NR_rt_sigreturn
swi #0
END_NO_DWARF(__restore_rt)

View File

@ -26,19 +26,16 @@
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include <asm/unistd.h>
#include <private/bionic_asm.h>
// void _exit_with_stack_teardown(void* stackBase, int stackSize, int retCode)
ENTRY(_exit_with_stack_teardown)
mov lr, r2
ldr r7, =__NR_munmap
swi #0 // the stack is destroyed by this call
mov r0, lr
ldr r7, =__NR_exit
swi #0
// void _exit_with_stack_teardown(void* stackBase, size_t stackSize)
ENTRY_PRIVATE(_exit_with_stack_teardown)
ldr r7, =__NR_munmap
swi #0
// If munmap failed, we ignore the failure and exit anyway.
// exit() should never return, cause a crash if it does
mov r0, #0
ldr r0, [r0]
mov r0, #0
ldr r7, =__NR_exit
swi #0
// The exit syscall does not return.
END(_exit_with_stack_teardown)

View File

@ -1,113 +0,0 @@
/* $OpenBSD: _setjmp.S,v 1.2 2004/02/01 05:40:52 drahn Exp $ */
/* $NetBSD: _setjmp.S,v 1.5 2003/04/05 23:08:51 bjh21 Exp $ */
/*
* Copyright (c) 1997 Mark Brinicombe
* Copyright (c) 2010 Android Open Source Project.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Mark Brinicombe
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include <machine/setjmp.h>
#include <machine/cpu-features.h>
/*
* C library -- _setjmp, _longjmp
*
* _longjmp(a,v)
* will generate a "return(v)" from the last call to
* _setjmp(a)
* by restoring registers from the stack.
* The previous signal state is NOT restored.
*
* Note: r0 is the return value
* r1-r3 are scratch registers in functions
*/
ENTRY(_setjmp)
ldr r1, .L_setjmp_magic
str r1, [r0, #(_JB_MAGIC * 4)]
/* Store core registers */
add r1, r0, #(_JB_CORE_BASE * 4)
stmia r1, {r4-r14}
#ifdef __ARM_HAVE_VFP
/* Store floating-point registers */
add r1, r0, #(_JB_FLOAT_BASE * 4)
vstmia r1, {d8-d15}
/* Store floating-point state */
fmrx r1, fpscr
str r1, [r0, #(_JB_FLOAT_STATE * 4)]
#endif /* __ARM_HAVE_VFP */
mov r0, #0x00000000
bx lr
END(_setjmp)
.L_setjmp_magic:
.word _JB_MAGIC__SETJMP
ENTRY(_longjmp)
ldr r2, .L_setjmp_magic
ldr r3, [r0, #(_JB_MAGIC * 4)]
teq r2, r3
bne botch
#ifdef __ARM_HAVE_VFP
/* Restore floating-point registers */
add r2, r0, #(_JB_FLOAT_BASE * 4)
vldmia r2, {d8-d15}
/* Restore floating-point state */
ldr r2, [r0, #(_JB_FLOAT_STATE * 4)]
fmxr fpscr, r2
#endif /* __ARM_HAVE_VFP */
/* Restore core registers */
add r2, r0, #(_JB_CORE_BASE * 4)
ldmia r2, {r4-r14}
/* Validate sp and r14 */
teq sp, #0
teqne r14, #0
beq botch
/* Set return value */
mov r0, r1
teq r0, #0x00000000
moveq r0, #0x00000001
bx lr
/* validation failed, die die die. */
botch:
bl PIC_SYM(_C_LABEL(longjmperror), PLT)
bl PIC_SYM(_C_LABEL(abort), PLT)
b . - 8 /* Cannot get here */
END(_longjmp)

View File

@ -26,7 +26,7 @@
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include <private/bionic_asm.h>
/*
* Coding the abort function in assembly so that registers are guaranteed to
@ -36,7 +36,9 @@
* sequence when the crash happens.
*/
ENTRY(abort)
.save {r3, r14}
stmfd sp!, {r3, r14}
bl PIC_SYM(_C_LABEL(__libc_android_abort), PLT)
.cfi_def_cfa_offset 8
.cfi_rel_offset r3, 0
.cfi_rel_offset r14, 4
bl __libc_android_abort
END(abort)

View File

@ -1,35 +0,0 @@
/*
* Copyright (C) 2012 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
extern void *__dso_handle;
__attribute__ ((visibility ("hidden")))
int atexit(void (*func)(void))
{
return (__cxa_atexit((void (*)(void *))func, (void *)0, &__dso_handle));
}

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2012 The Android Open Source Project
* Copyright (C) 2012 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -27,9 +27,10 @@
*/
#include <sys/types.h>
#include <private/libc_logging.h>
#include <stdio.h>
#include "private/libc_logging.h"
/*
* This source file should only be included by libc.so, its purpose is
* to support legacy ARM binaries by exporting a publicly visible

View File

@ -1,111 +0,0 @@
/*
* Copyright (C) 2008-2010 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <linux/err.h>
#include <machine/asm.h>
#include <asm/unistd.h>
// int __pthread_clone(void* (*fn)(void*), void* child_stack, int flags, void* arg);
ENTRY(__pthread_clone)
# Push 'fn' and 'arg' onto 'child_stack'.
stmdb r1!, {r0, r3}
# The sys_clone system call only takes two arguments: 'flags' and 'child_stack'.
# 'child_stack' is already in r1, but we need to move 'flags' into position.
mov r0, r2
# System call.
mov ip, r7
ldr r7, =__NR_clone
swi #0
# Child?
movs r0, r0
beq 1f
# Parent.
mov r7, ip
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno
1: # Child.
# Pop 'fn' and 'arg' back off the stack and call __thread_entry.
pop {r0, r1}
# __thread_entry also needs our stack pointer.
mov r2, sp
b __thread_entry
END(__pthread_clone)
#
# This function is defined as:
#
# pid_t __bionic_clone( int flags, void *child_stack,
# pid_t *pid, void *tls, pid_t *ctid,
# int (*fn)(void *), void* arg );
#
# NOTE: This is not the same signature as the glibc
# __clone function. Placing 'fn' and 'arg'
# at the end of the parameter list makes the
# implementation much simpler.
#
ENTRY(__bionic_clone)
mov ip, sp
.save {r4, r5, r6, r7}
# save registers to parent stack
stmfd sp!, {r4, r5, r6, r7}
# load extra parameters
ldmfd ip, {r4, r5, r6}
# store 'fn' and 'arg' to the child stack
str r5, [r1, #-4]
str r6, [r1, #-8]
# System call
ldr r7, =__NR_clone
swi #0
movs r0, r0
beq 1f
# In the parent, reload saved registers then either return or set errno.
ldmfd sp!, {r4, r5, r6, r7}
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno
1: # The child.
ldr r0, [sp, #-4]
ldr r1, [sp, #-8]
b __bionic_clone_entry
END(__bionic_clone)

View File

@ -1,53 +0,0 @@
/*
* Copyright (C) 2012 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include "../../bionic/libc_init_common.h"
#include <stddef.h>
#include <stdint.h>
__attribute__ ((section (".preinit_array")))
void (*__PREINIT_ARRAY__)(void) = (void (*)(void)) -1;
__attribute__ ((section (".init_array")))
void (*__INIT_ARRAY__)(void) = (void (*)(void)) -1;
__attribute__ ((section (".fini_array")))
void (*__FINI_ARRAY__)(void) = (void (*)(void)) -1;
__LIBC_HIDDEN__ void _start() {
structors_array_t array;
array.preinit_array = &__PREINIT_ARRAY__;
array.init_array = &__INIT_ARRAY__;
array.fini_array = &__FINI_ARRAY__;
void* raw_args = (void*) ((uintptr_t) __builtin_frame_address(0) + sizeof(void*));
__libc_init(raw_args, NULL, &main, &array);
}
#include "__dso_handle.h"
#include "atexit.h"

View File

@ -1,58 +0,0 @@
/*
* Copyright (C) 2012 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
extern void __cxa_finalize(void *);
extern void *__dso_handle;
__attribute__((visibility("hidden"),destructor))
void __on_dlclose() {
__cxa_finalize(&__dso_handle);
}
/* CRT_LEGACY_WORKAROUND should only be defined when building
* this file as part of the platform's C library.
*
* The C library already defines a function named 'atexit()'
* for backwards compatibility with older NDK-generated binaries.
*
* For newer ones, 'atexit' is actually embedded in the C
* runtime objects that are linked into the final ELF
* binary (shared library or executable), and will call
* __cxa_atexit() in order to un-register any atexit()
* handler when a library is unloaded.
*
* This function must be global *and* hidden. Only the
* code inside the same ELF binary should be able to access it.
*/
#ifdef CRT_LEGACY_WORKAROUND
#include "__dso_handle.h"
#else
#include "__dso_handle_so.h"
#include "atexit.h"
#endif

View File

@ -1,40 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
.section .preinit_array, "aw"
.long 0
.section .init_array, "aw"
.long 0
.section .fini_array, "aw"
.long 0
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -1,31 +0,0 @@
/*
* Copyright (C) 2010 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#if defined(__linux__) && defined(__ELF__)
.section .note.GNU-stack,"",%progbits
#endif

View File

@ -1,103 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <stddef.h>
#include <string.h>
extern int __cxa_atexit(void (*)(void*), void*, void* );
/* The "C++ ABI for ARM" document states that static C++ constructors,
* which are called from the .init_array, should manually call
* __aeabi_atexit() to register static destructors explicitely.
*
* Note that 'dso_handle' is the address of a magic linker-generate
* variable from the shared object that contains the constructor/destructor
*/
/* Make this a weak symbol to avoid a multiple definition error when linking
* with libstdc++-v3. */
int __attribute__((weak))
__aeabi_atexit (void *object, void (*destructor) (void *), void *dso_handle)
{
return __cxa_atexit(destructor, object, dso_handle);
}
void __aeabi_memcpy8(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __aeabi_memcpy4(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __aeabi_memcpy(void *dest, const void *src, size_t n) {
memcpy(dest, src, n);
}
void __aeabi_memmove8(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
void __aeabi_memmove4(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
void __aeabi_memmove(void *dest, const void *src, size_t n) {
memmove(dest, src, n);
}
/*
* __aeabi_memset has the order of its second and third arguments reversed.
* This allows __aeabi_memclr to tail-call __aeabi_memset
*/
void __aeabi_memset8(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __aeabi_memset4(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __aeabi_memset(void *dest, size_t n, int c) {
memset(dest, c, n);
}
void __aeabi_memclr8(void *dest, size_t n) {
__aeabi_memset8(dest, n, 0);
}
void __aeabi_memclr4(void *dest, size_t n) {
__aeabi_memset4(dest, n, 0);
}
void __aeabi_memclr(void *dest, size_t n) {
__aeabi_memset(dest, n, 0);
}

View File

@ -37,7 +37,13 @@
* the expectation that libc will define it and call through to
* a differently-named function in the dynamic linker.
*/
_Unwind_Ptr __gnu_Unwind_Find_exidx(_Unwind_Ptr pc, int *pcount)
{
_Unwind_Ptr __gnu_Unwind_Find_exidx_impl(_Unwind_Ptr pc, int *pcount) {
return dl_unwind_find_exidx(pc, pcount);
}
_Unwind_Ptr __gnu_Unwind_Find_exidx_impl2(_Unwind_Ptr pc, int *pcount) {
return dl_unwind_find_exidx(pc, pcount);
}
__asm__(".symver __gnu_Unwind_Find_exidx_impl,__gnu_Unwind_Find_exidx@LIBC_PRIVATE");
__asm__(".symver __gnu_Unwind_Find_exidx_impl2,__gnu_Unwind_Find_exidx@@LIBC_N");

View File

@ -1,41 +0,0 @@
/* $NetBSD: ffs.S,v 1.5 2003/04/05 23:08:52 bjh21 Exp $ */
/*
* Copyright (c) 2001 Christopher Gilbert
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company nor the name of the author may be used to
* endorse or promote products derived from this software without specific
* prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include <machine/cpu-features.h>
ENTRY(ffs)
/* Standard trick to isolate bottom bit in r0 or 0 if r0 = 0 on entry */
rsb r1, r0, #0
ands r0, r0, r1
clzne r0, r0
rsbne r0, r0, #32
bx lr
END(ffs)

View File

@ -1,70 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <asm/unistd.h>
#include <machine/asm.h>
#define FUTEX_WAIT 0
#define FUTEX_WAKE 1
// __futex_syscall3(*ftx, op, val)
ENTRY(__futex_syscall3)
mov ip, r7
ldr r7, =__NR_futex
swi #0
mov r7, ip
bx lr
END(__futex_syscall3)
// __futex_syscall4(*ftx, op, val, *timespec)
ENTRY(__futex_syscall4)
b __futex_syscall3
END(__futex_syscall4)
// __futex_wait(*ftx, val, *timespec)
ENTRY(__futex_wait)
mov ip, r7
mov r3, r2
mov r2, r1
mov r1, #FUTEX_WAIT
ldr r7, =__NR_futex
swi #0
mov r7, ip
bx lr
END(__futex_wait)
// __futex_wake(*ftx, counter)
ENTRY(__futex_wake)
mov ip, r7
mov r2, r1
mov r1, #FUTEX_WAKE
ldr r7, =__NR_futex
swi #0
mov r7, ip
bx lr
END(__futex_wake)

View File

@ -1,50 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <linux/err.h>
#include <asm/unistd.h>
#include <machine/asm.h>
/* unlike our auto-generated syscall stubs, this code saves lr
on the stack, as well as a few other registers. this makes
our stack unwinder happy, when we generate debug stack
traces after the C library or other parts of the system
abort due to a fatal runtime error (e.g. detection
of a corrupted malloc heap).
*/
ENTRY(kill)
stmfd sp!, {r4-r7, ip, lr}
ldr r7, =__NR_kill
swi #0
ldmfd sp!, {r4-r7, ip, lr}
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno
END(kill)

View File

@ -1,170 +1,159 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/* Generated by genlibgcc_compat.py */
/* This file contains dummy references to libgcc.a functions to force the
* dynamic linker to copy their definition into the final libc.so binary.
*
* They are required to ensure backwards binary compatibility with
* libc.so provided by the platform and binaries built with the NDK or
* different versions/configurations of toolchains.
*
* Now, for a more elaborate description of the issue:
*
* libgcc.a is a compiler-specific library containing various helper
* functions used to implement certain operations that are not necessarily
* supported by the target CPU. For example, integer division doesn't have a
* corresponding CPU instruction on ARMv5, and is instead implemented in the
* compiler-generated machine code as a call to an __idiv helper function.
*
* Normally, one has to place libgcc.a in the link command used to generate
* target binaries (shared libraries and executables) after all objects and
* static libraries, but before dependent shared libraries, i.e. something
* like:
* gcc <options> -o libfoo.so foo.a libgcc.a -lc -lm
*
* This ensures that any helper function needed by the code in foo.a is copied
* into the final libfoo.so. However, doing so will link a bunch of other __cxa
* functions from libgcc.a into each .so and executable, causing 4k+ increase
* in every binary. Therefore the Android platform build system has been
* using this instead:
*
* gcc <options> -o libfoo.so foo.a -lc -lm libgcc.a
*
* The problem with this is that if one helper function needed by foo.a has
* already been copied into libc.so or libm.so, then nothing will be copied
* into libfoo.so. Instead, a symbol import definition will be added to it
* so libfoo.so can directly call the one in libc.so at runtime.
*
* When refreshing toolchains for new versions or using different architecture
* flags, the set of helper functions copied to libc.so may change, which
* resulted in some native shared libraries generated with the NDK or prebuilts
* from vendors to fail to load properly.
*
* The NDK has been fixed after 1.6_r1 to use the correct link command, so
* any native shared library generated with it should now be safe from that
* problem. On the other hand, existing shared libraries distributed with
* applications that were generated with a previous version of the NDK
* still need all 1.5/1.6 helper functions in libc.so and libm.so
*
* After 3.2, the toolchain was updated again, adding __aeabi_f2uiz to the
* list of requirements. Technically, this is due to mis-linked NDK libraries
* but it is easier to add a single function here than asking several app
* developers to fix their build.
*
* The __aeabi_idiv function is added to the list since cortex-a15 supports
* HW idiv instructions so the system libc.so doesn't pull in the reference to
* __aeabi_idiv but legacy libraries built against cortex-a9 targets still need
* it.
*
* Final note: some of the functions below should really be in libm.so to
* completely reflect the state of 1.5/1.6 system images. However,
* since libm.so depends on libc.so, it's easier to put all of
* these in libc.so instead, since the dynamic linker will always
* search in libc.so before libm.so for dependencies.
*/
extern char __adddf3;
extern char __addsf3;
extern char __aeabi_cdcmpeq;
extern char __aeabi_cdcmple;
extern char __aeabi_cdrcmple;
extern char __aeabi_d2f;
extern char __aeabi_d2iz;
extern char __aeabi_dadd;
extern char __aeabi_dcmpeq;
extern char __aeabi_dcmpge;
extern char __aeabi_dcmpgt;
extern char __aeabi_dcmple;
extern char __aeabi_dcmplt;
extern char __aeabi_dcmpun;
extern char __aeabi_ddiv;
extern char __aeabi_dmul;
extern char __aeabi_drsub;
extern char __aeabi_dsub;
extern char __aeabi_f2d;
extern char __aeabi_f2iz;
extern char __aeabi_f2uiz;
extern char __aeabi_fadd;
extern char __aeabi_fcmpun;
extern char __aeabi_fdiv;
extern char __aeabi_fmul;
extern char __aeabi_frsub;
extern char __aeabi_fsub;
extern char __aeabi_i2d;
extern char __aeabi_i2f;
extern char __aeabi_idiv;
extern char __aeabi_idivmod;
extern char __aeabi_l2d;
extern char __aeabi_l2f;
extern char __aeabi_lasr;
extern char __aeabi_ldivmod;
extern char __aeabi_llsl;
extern char __aeabi_llsr;
extern char __aeabi_lmul;
extern char __aeabi_ui2d;
extern char __aeabi_ui2f;
extern char __aeabi_uidiv;
extern char __aeabi_uidivmod;
extern char __aeabi_ul2d;
extern char __aeabi_ul2f;
extern char __aeabi_uldivmod;
extern char __aeabi_unwind_cpp_pr0;
extern char __aeabi_unwind_cpp_pr1;
extern char __cmpdf2;
extern char __divdf3;
extern char __divsf3;
extern char __eqdf2;
extern char __extendsfdf2;
extern char __fixdfsi;
extern char __fixsfsi;
extern char __floatdidf;
extern char __floatdisf;
extern char __floatsidf;
extern char __floatsisf;
extern char __floatundidf;
extern char __floatundisf;
extern char __floatunsidf;
extern char __floatunsisf;
extern char __gedf2;
extern char __gtdf2;
extern char __ledf2;
extern char __ltdf2;
extern char __muldf3;
extern char __muldi3;
extern char __mulsf3;
extern char __nedf2;
extern char __popcount_tab;
extern char __popcountsi2;
extern char __subdf3;
extern char __subsf3;
extern char __truncdfsf2;
extern char __unorddf2;
extern char __unordsf2;
#define COMPAT_FUNCTIONS_LIST \
XX(__adddf3) \
XX(__addsf3) \
XX(__aeabi_cdcmpeq) \
XX(__aeabi_cdcmple) \
XX(__aeabi_cdrcmple) \
XX(__aeabi_d2f) \
XX(__aeabi_d2iz) \
XX(__aeabi_dadd) \
XX(__aeabi_dcmpeq) \
XX(__aeabi_dcmpge) \
XX(__aeabi_dcmpgt) \
XX(__aeabi_dcmple) \
XX(__aeabi_dcmplt) \
XX(__aeabi_dcmpun) \
XX(__aeabi_ddiv) \
XX(__aeabi_dmul) \
XX(__aeabi_drsub) \
XX(__aeabi_dsub) \
XX(__aeabi_f2d) \
XX(__aeabi_f2iz) \
XX(__aeabi_f2uiz) \
XX(__aeabi_fadd) \
XX(__aeabi_fcmpun) \
XX(__aeabi_fdiv) \
XX(__aeabi_fmul) \
XX(__aeabi_frsub) \
XX(__aeabi_fsub) \
XX(__aeabi_i2d) \
XX(__aeabi_i2f) \
XX(__aeabi_idiv) \
XX(__aeabi_l2d) \
XX(__aeabi_l2f) \
XX(__aeabi_lasr) \
XX(__aeabi_lmul) \
XX(__aeabi_llsl) \
XX(__aeabi_llsr) \
XX(__aeabi_ui2d) \
XX(__aeabi_ui2f) \
XX(__aeabi_ul2d) \
XX(__aeabi_ul2f) \
XX(__cmpdf2) \
XX(__divdf3) \
XX(__divsf3) \
XX(__eqdf2) \
XX(__extendsfdf2) \
XX(__fixdfsi) \
XX(__fixsfsi) \
XX(__floatdidf) \
XX(__floatdisf) \
XX(__floatsidf) \
XX(__floatsisf) \
XX(__floatundidf) \
XX(__floatundisf) \
XX(__floatunsidf) \
XX(__floatunsisf) \
XX(__gedf2) \
XX(__gtdf2) \
XX(__ledf2) \
XX(__ltdf2) \
XX(__muldf3) \
XX(__muldi3) \
XX(__mulsf3) \
XX(__nedf2) \
XX(__subdf3) \
XX(__subsf3) \
XX(__truncdfsf2) \
XX(__unorddf2) \
XX(__unordsf2) \
#define XX(f) extern void f(void);
COMPAT_FUNCTIONS_LIST
#undef XX
void __bionic_libgcc_compat_hooks(void)
{
#define XX(f) f();
COMPAT_FUNCTIONS_LIST
#undef XX
}
void* __bionic_libgcc_compat_symbols[] = {
&__adddf3,
&__addsf3,
&__aeabi_cdcmpeq,
&__aeabi_cdcmple,
&__aeabi_cdrcmple,
&__aeabi_d2f,
&__aeabi_d2iz,
&__aeabi_dadd,
&__aeabi_dcmpeq,
&__aeabi_dcmpge,
&__aeabi_dcmpgt,
&__aeabi_dcmple,
&__aeabi_dcmplt,
&__aeabi_dcmpun,
&__aeabi_ddiv,
&__aeabi_dmul,
&__aeabi_drsub,
&__aeabi_dsub,
&__aeabi_f2d,
&__aeabi_f2iz,
&__aeabi_f2uiz,
&__aeabi_fadd,
&__aeabi_fcmpun,
&__aeabi_fdiv,
&__aeabi_fmul,
&__aeabi_frsub,
&__aeabi_fsub,
&__aeabi_i2d,
&__aeabi_i2f,
&__aeabi_idiv,
&__aeabi_idivmod,
&__aeabi_l2d,
&__aeabi_l2f,
&__aeabi_lasr,
&__aeabi_ldivmod,
&__aeabi_llsl,
&__aeabi_llsr,
&__aeabi_lmul,
&__aeabi_ui2d,
&__aeabi_ui2f,
&__aeabi_uidiv,
&__aeabi_uidivmod,
&__aeabi_ul2d,
&__aeabi_ul2f,
&__aeabi_uldivmod,
&__aeabi_unwind_cpp_pr0,
&__aeabi_unwind_cpp_pr1,
&__cmpdf2,
&__divdf3,
&__divsf3,
&__eqdf2,
&__extendsfdf2,
&__fixdfsi,
&__fixsfsi,
&__floatdidf,
&__floatdisf,
&__floatsidf,
&__floatsisf,
&__floatundidf,
&__floatundisf,
&__floatunsidf,
&__floatunsisf,
&__gedf2,
&__gtdf2,
&__ledf2,
&__ltdf2,
&__muldf3,
&__muldi3,
&__mulsf3,
&__nedf2,
&__popcount_tab,
&__popcountsi2,
&__subdf3,
&__subsf3,
&__truncdfsf2,
&__unorddf2,
&__unordsf2,
};

View File

@ -1,341 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
#ifdef HAVE_32_BYTE_CACHE_LINE
#define CACHE_LINE_SIZE 32
#else
#define CACHE_LINE_SIZE 64
#endif
/*
* Optimized memcmp() for Cortex-A9.
*/
ENTRY(memcmp)
pld [r0, #(CACHE_LINE_SIZE * 0)]
pld [r0, #(CACHE_LINE_SIZE * 1)]
/* take of the case where length is 0 or the buffers are the same */
cmp r0, r1
moveq r0, #0
bxeq lr
pld [r1, #(CACHE_LINE_SIZE * 0)]
pld [r1, #(CACHE_LINE_SIZE * 1)]
/* make sure we have at least 8+4 bytes, this simplify things below
* and avoid some overhead for small blocks
*/
cmp r2, #(8+4)
bmi 10f
/*
* Neon optimization
* Comparing 32 bytes at a time
*/
#if defined(__ARM_NEON__) && defined(NEON_UNALIGNED_ACCESS)
subs r2, r2, #32
blo 3f
/* preload all the cache lines we need. */
pld [r0, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 2)]
1: /* The main loop compares 32 bytes at a time */
vld1.8 {d0 - d3}, [r0]!
pld [r0, #(CACHE_LINE_SIZE * 2)]
vld1.8 {d4 - d7}, [r1]!
pld [r1, #(CACHE_LINE_SIZE * 2)]
/* Start subtracting the values and merge results */
vsub.i8 q0, q2
vsub.i8 q1, q3
vorr q2, q0, q1
vorr d4, d5
vmov r3, ip, d4
/* Check if there are any differences among the 32 bytes */
orrs r3, ip
bne 2f
subs r2, r2, #32
bhs 1b
b 3f
2:
/* Check if the difference was in the first or last 16 bytes */
sub r0, #32
vorr d0, d1
sub r1, #32
vmov r3, ip, d0
orrs r3, ip
/* if the first 16 bytes are equal, we only have to rewind 16 bytes */
ittt eq
subeq r2, #16
addeq r0, #16
addeq r1, #16
3: /* fix-up the remaining count */
add r2, r2, #32
cmp r2, #(8+4)
bmi 10f
#endif
.save {r4, lr}
/* save registers */
stmfd sp!, {r4, lr}
/* since r0 hold the result, move the first source
* pointer somewhere else
*/
mov r4, r0
/* align first pointer to word boundary
* offset = -src & 3
*/
rsb r3, r4, #0
ands r3, r3, #3
beq 0f
/* align first pointer */
sub r2, r2, r3
1: ldrb r0, [r4], #1
ldrb ip, [r1], #1
subs r0, r0, ip
bne 9f
subs r3, r3, #1
bne 1b
0: /* here the first pointer is aligned, and we have at least 4 bytes
* to process.
*/
/* see if the pointers are congruent */
eor r0, r4, r1
ands r0, r0, #3
bne 5f
/* congruent case, 32 bytes per iteration
* We need to make sure there are at least 32+4 bytes left
* because we effectively read ahead one word, and we could
* read past the buffer (and segfault) if we're not careful.
*/
ldr ip, [r1]
subs r2, r2, #(32 + 4)
bmi 1f
0: pld [r4, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 2)]
ldr r0, [r4], #4
ldr lr, [r1, #4]!
eors r0, r0, ip
ldreq r0, [r4], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
ldreq r0, [r4], #4
ldreq lr, [r1, #4]!
eoreqs r0, r0, ip
ldreq r0, [r4], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
ldreq r0, [r4], #4
ldreq lr, [r1, #4]!
eoreqs r0, r0, ip
ldreq r0, [r4], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
ldreq r0, [r4], #4
ldreq lr, [r1, #4]!
eoreqs r0, r0, ip
ldreq r0, [r4], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
bne 2f
subs r2, r2, #32
bhs 0b
/* do we have at least 4 bytes left? */
1: adds r2, r2, #(32 - 4 + 4)
bmi 4f
/* finish off 4 bytes at a time */
3: ldr r0, [r4], #4
ldr ip, [r1], #4
eors r0, r0, ip
bne 2f
subs r2, r2, #4
bhs 3b
/* are we done? */
4: adds r2, r2, #4
moveq r0, #0
beq 9f
/* finish off the remaining bytes */
b 8f
2: /* the last 4 bytes are different, restart them */
sub r4, r4, #4
sub r1, r1, #4
mov r2, #4
/* process the last few bytes */
8: ldrb r0, [r4], #1
ldrb ip, [r1], #1
// stall
subs r0, r0, ip
bne 9f
subs r2, r2, #1
bne 8b
9: /* restore registers and return */
ldmfd sp!, {r4, lr}
bx lr
10: /* process less than 12 bytes */
cmp r2, #0
moveq r0, #0
bxeq lr
mov r3, r0
11:
ldrb r0, [r3], #1
ldrb ip, [r1], #1
subs r0, ip
bxne lr
subs r2, r2, #1
bne 11b
bx lr
5: /*************** non-congruent case ***************/
and r0, r1, #3
cmp r0, #2
bne 4f
/* here, offset is 2 (16-bits aligned, special cased) */
/* make sure we have at least 16 bytes to process */
subs r2, r2, #16
addmi r2, r2, #16
bmi 8b
/* align the unaligned pointer */
bic r1, r1, #3
ldr lr, [r1], #4
6: pld [r1, #(CACHE_LINE_SIZE * 2)]
pld [r4, #(CACHE_LINE_SIZE * 2)]
mov ip, lr, lsr #16
ldr lr, [r1], #4
ldr r0, [r4], #4
orr ip, ip, lr, lsl #16
eors r0, r0, ip
moveq ip, lr, lsr #16
ldreq lr, [r1], #4
ldreq r0, [r4], #4
orreq ip, ip, lr, lsl #16
eoreqs r0, r0, ip
moveq ip, lr, lsr #16
ldreq lr, [r1], #4
ldreq r0, [r4], #4
orreq ip, ip, lr, lsl #16
eoreqs r0, r0, ip
moveq ip, lr, lsr #16
ldreq lr, [r1], #4
ldreq r0, [r4], #4
orreq ip, ip, lr, lsl #16
eoreqs r0, r0, ip
bne 7f
subs r2, r2, #16
bhs 6b
sub r1, r1, #2
/* are we done? */
adds r2, r2, #16
moveq r0, #0
beq 9b
/* finish off the remaining bytes */
b 8b
7: /* fix up the 2 pointers and fallthrough... */
sub r1, r1, #(4+2)
sub r4, r4, #4
mov r2, #4
b 8b
4: /*************** offset is 1 or 3 (less optimized) ***************/
stmfd sp!, {r5, r6, r7}
// r5 = rhs
// r6 = lhs
// r7 = scratch
mov r5, r0, lsl #3 /* r5 = right shift */
rsb r6, r5, #32 /* r6 = left shift */
/* align the unaligned pointer */
bic r1, r1, #3
ldr r7, [r1], #4
sub r2, r2, #8
6: mov ip, r7, lsr r5
ldr r7, [r1], #4
ldr r0, [r4], #4
orr ip, ip, r7, lsl r6
eors r0, r0, ip
moveq ip, r7, lsr r5
ldreq r7, [r1], #4
ldreq r0, [r4], #4
orreq ip, ip, r7, lsl r6
eoreqs r0, r0, ip
bne 7f
subs r2, r2, #8
bhs 6b
sub r1, r1, r6, lsr #3
ldmfd sp!, {r5, r6, r7}
/* are we done? */
adds r2, r2, #8
moveq r0, #0
beq 9b
/* finish off the remaining bytes */
b 8b
7: /* fix up the 2 pointers and fallthrough... */
sub r1, r1, #4
sub r1, r1, r6, lsr #3
sub r4, r4, #4
mov r2, #4
ldmfd sp!, {r5, r6, r7}
b 8b
END(memcmp)

View File

@ -1,232 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
/*
* Optimized memcmp16() for ARM9.
* This would not be optimal on XScale or ARM11, where more prefetching
* and use of PLD will be needed.
* The 2 major optimzations here are
* (1) The main loop compares 16 bytes at a time
* (2) The loads are scheduled in a way they won't stall
*/
ENTRY(__memcmp16)
PLD (r0, #0)
PLD (r1, #0)
/* take of the case where length is nul or the buffers are the same */
cmp r0, r1
cmpne r2, #0
moveq r0, #0
bxeq lr
/* since r0 hold the result, move the first source
* pointer somewhere else
*/
mov r3, r0
/* make sure we have at least 12 words, this simplify things below
* and avoid some overhead for small blocks
*/
cmp r2, #12
bpl 0f
/* small blocks (less then 12 words) */
PLD (r0, #32)
PLD (r1, #32)
1: ldrh r0, [r3], #2
ldrh ip, [r1], #2
subs r0, r0, ip
bxne lr
subs r2, r2, #1
bne 1b
bx lr
.save {r4, lr}
/* save registers */
0: stmfd sp!, {r4, lr}
/* align first pointer to word boundary */
tst r3, #2
beq 0f
ldrh r0, [r3], #2
ldrh ip, [r1], #2
sub r2, r2, #1
subs r0, r0, ip
/* restore registers and return */
ldmnefd sp!, {r4, lr}
bxne lr
0: /* here the first pointer is aligned, and we have at least 3 words
* to process.
*/
/* see if the pointers are congruent */
eor r0, r3, r1
ands r0, r0, #2
bne 5f
/* congruent case, 16 half-words per iteration
* We need to make sure there are at least 16+2 words left
* because we effectively read ahead one long word, and we could
* read past the buffer (and segfault) if we're not careful.
*/
ldr ip, [r1]
subs r2, r2, #(16 + 2)
bmi 1f
0:
PLD (r3, #64)
PLD (r1, #64)
ldr r0, [r3], #4
ldr lr, [r1, #4]!
eors r0, r0, ip
ldreq r0, [r3], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
ldreq r0, [r3], #4
ldreq lr, [r1, #4]!
eoreqs r0, r0, ip
ldreq r0, [r3], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
ldreq r0, [r3], #4
ldreq lr, [r1, #4]!
eoreqs r0, r0, ip
ldreq r0, [r3], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
ldreq r0, [r3], #4
ldreq lr, [r1, #4]!
eoreqs r0, r0, ip
ldreq r0, [r3], #4
ldreq ip, [r1, #4]!
eoreqs r0, r0, lr
bne 2f
subs r2, r2, #16
bhs 0b
/* do we have at least 2 words left? */
1: adds r2, r2, #(16 - 2 + 2)
bmi 4f
/* finish off 2 words at a time */
3: ldr r0, [r3], #4
ldr ip, [r1], #4
eors r0, r0, ip
bne 2f
subs r2, r2, #2
bhs 3b
/* are we done? */
4: adds r2, r2, #2
bne 8f
/* restore registers and return */
mov r0, #0
ldmfd sp!, {r4, lr}
bx lr
2: /* the last 2 words are different, restart them */
ldrh r0, [r3, #-4]
ldrh ip, [r1, #-4]
subs r0, r0, ip
ldreqh r0, [r3, #-2]
ldreqh ip, [r1, #-2]
subeqs r0, r0, ip
/* restore registers and return */
ldmfd sp!, {r4, lr}
bx lr
/* process the last few words */
8: ldrh r0, [r3], #2
ldrh ip, [r1], #2
subs r0, r0, ip
bne 9f
subs r2, r2, #1
bne 8b
9: /* restore registers and return */
ldmfd sp!, {r4, lr}
bx lr
5: /*************** non-congruent case ***************/
/* align the unaligned pointer */
bic r1, r1, #3
ldr lr, [r1], #4
sub r2, r2, #8
6:
PLD (r3, #64)
PLD (r1, #64)
mov ip, lr, lsr #16
ldr lr, [r1], #4
ldr r0, [r3], #4
orr ip, ip, lr, lsl #16
eors r0, r0, ip
moveq ip, lr, lsr #16
ldreq lr, [r1], #4
ldreq r0, [r3], #4
orreq ip, ip, lr, lsl #16
eoreqs r0, r0, ip
moveq ip, lr, lsr #16
ldreq lr, [r1], #4
ldreq r0, [r3], #4
orreq ip, ip, lr, lsl #16
eoreqs r0, r0, ip
moveq ip, lr, lsr #16
ldreq lr, [r1], #4
ldreq r0, [r3], #4
orreq ip, ip, lr, lsl #16
eoreqs r0, r0, ip
bne 7f
subs r2, r2, #8
bhs 6b
sub r1, r1, #2
/* are we done? */
adds r2, r2, #8
moveq r0, #0
beq 9b
/* finish off the remaining bytes */
b 8b
7: /* fix up the 2 pointers and fallthrough... */
sub r1, r1, #2
b 2b
END(__memcmp16)

View File

@ -1,686 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
#if defined(__ARM_NEON__) && !defined(ARCH_ARM_USE_NON_NEON_MEMCPY)
.text
.fpu neon
#ifdef HAVE_32_BYTE_CACHE_LINE
/* a prefetch distance of 2 cache-lines */
#define CACHE_LINE_SIZE 32
#else
/* a prefetch distance of 4 cache-lines works best experimentally */
#define CACHE_LINE_SIZE 64
#endif
ENTRY(memcpy)
.save {r0, lr}
/* start preloading as early as possible */
pld [r1, #(CACHE_LINE_SIZE * 0)]
stmfd sp!, {r0, lr}
pld [r1, #(CACHE_LINE_SIZE * 1)]
/* If Neon supports unaligned access then remove the align code,
* unless a size limit has been specified.
*/
#ifndef NEON_UNALIGNED_ACCESS
/* do we have at least 16-bytes to copy (needed for alignment below) */
cmp r2, #16
blo 5f
/* check if buffers are aligned. If so, run arm-only version */
eor r3, r0, r1
ands r3, r3, #0x3
beq 11f
/* align destination to cache-line for the write-buffer */
rsb r3, r0, #0
ands r3, r3, #0xF
beq 2f
/* copy up to 15-bytes (count in r3) */
sub r2, r2, r3
movs ip, r3, lsl #31
ldrmib lr, [r1], #1
strmib lr, [r0], #1
ldrcsb ip, [r1], #1
ldrcsb lr, [r1], #1
strcsb ip, [r0], #1
strcsb lr, [r0], #1
movs ip, r3, lsl #29
bge 1f
// copies 4 bytes, destination 32-bits aligned
vld4.8 {d0[0], d1[0], d2[0], d3[0]}, [r1]!
vst4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0, :32]!
1: bcc 2f
// copies 8 bytes, destination 64-bits aligned
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0, :64]!
2:
/* preload immediately the next cache line, which we may need */
pld [r1, #(CACHE_LINE_SIZE * 0)]
pld [r1, #(CACHE_LINE_SIZE * 1)]
#ifdef HAVE_32_BYTE_CACHE_LINE
/* make sure we have at least 32 bytes to copy */
subs r2, r2, #32
blo 4f
/* preload all the cache lines we need.
* NOTE: the number of pld below depends on PREFETCH_DISTANCE,
* ideally would would increase the distance in the main loop to
* avoid the goofy code below. In practice this doesn't seem to make
* a big difference.
*/
pld [r1, #(PREFETCH_DISTANCE)]
1: /* The main loop copies 32 bytes at a time */
vld1.8 {d0 - d3}, [r1]!
pld [r1, #(PREFETCH_DISTANCE)]
subs r2, r2, #32
vst1.8 {d0 - d3}, [r0, :128]!
bhs 1b
#else
/* make sure we have at least 64 bytes to copy */
subs r2, r2, #64
blo 2f
/* preload all the cache lines we need. */
pld [r1, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 3)]
1: /* The main loop copies 64 bytes at a time */
vld1.8 {d0 - d3}, [r1]!
vld1.8 {d4 - d7}, [r1]!
#ifdef HAVE_32_BYTE_CACHE_LINE
pld [r1, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 3)]
#else
pld [r1, #(CACHE_LINE_SIZE * 3)]
#endif
subs r2, r2, #64
vst1.8 {d0 - d3}, [r0, :128]!
vst1.8 {d4 - d7}, [r0, :128]!
bhs 1b
2: /* fix-up the remaining count and make sure we have >= 32 bytes left */
add r2, r2, #64
subs r2, r2, #32
blo 4f
3: /* 32 bytes at a time. These cache lines were already preloaded */
vld1.8 {d0 - d3}, [r1]!
subs r2, r2, #32
vst1.8 {d0 - d3}, [r0, :128]!
bhs 3b
#endif
4: /* less than 32 left */
add r2, r2, #32
tst r2, #0x10
beq 5f
// copies 16 bytes, 128-bits aligned
vld1.8 {d0, d1}, [r1]!
vst1.8 {d0, d1}, [r0, :128]!
5: /* copy up to 15-bytes (count in r2) */
movs ip, r2, lsl #29
bcc 1f
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0]!
1: bge 2f
vld4.8 {d0[0], d1[0], d2[0], d3[0]}, [r1]!
vst4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0]!
2: movs ip, r2, lsl #31
ldrmib r3, [r1], #1
ldrcsb ip, [r1], #1
ldrcsb lr, [r1], #1
strmib r3, [r0], #1
strcsb ip, [r0], #1
strcsb lr, [r0], #1
ldmfd sp!, {r0, lr}
bx lr
#else /* NEON_UNALIGNED_ACCESS */
// Check so divider is at least 16 bytes, needed for alignment code.
cmp r2, #16
blo 5f
#ifdef NEON_MEMCPY_ALIGNMENT_DIVIDER
/* Check the upper size limit for Neon unaligned memory access in memcpy */
#if NEON_MEMCPY_ALIGNMENT_DIVIDER >= 16
cmp r2, #NEON_MEMCPY_ALIGNMENT_DIVIDER
blo 3f
#endif
/* check if buffers are aligned. If so, run arm-only version */
eor r3, r0, r1
ands r3, r3, #0x3
beq 11f
/* align destination to 16 bytes for the write-buffer */
rsb r3, r0, #0
ands r3, r3, #0xF
beq 3f
/* copy up to 15-bytes (count in r3) */
sub r2, r2, r3
movs ip, r3, lsl #31
ldrmib lr, [r1], #1
strmib lr, [r0], #1
ldrcsb ip, [r1], #1
ldrcsb lr, [r1], #1
strcsb ip, [r0], #1
strcsb lr, [r0], #1
movs ip, r3, lsl #29
bge 1f
// copies 4 bytes, destination 32-bits aligned
vld1.32 {d0[0]}, [r1]!
vst1.32 {d0[0]}, [r0, :32]!
1: bcc 2f
// copies 8 bytes, destination 64-bits aligned
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0, :64]!
2:
/* preload immediately the next cache line, which we may need */
pld [r1, #(CACHE_LINE_SIZE * 0)]
pld [r1, #(CACHE_LINE_SIZE * 1)]
3:
#endif
/* make sure we have at least 64 bytes to copy */
subs r2, r2, #64
blo 2f
/* preload all the cache lines we need */
pld [r1, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 3)]
1: /* The main loop copies 64 bytes at a time */
vld1.8 {d0 - d3}, [r1]!
vld1.8 {d4 - d7}, [r1]!
#ifdef HAVE_32_BYTE_CACHE_LINE
pld [r1, #(CACHE_LINE_SIZE * 2)]
pld [r1, #(CACHE_LINE_SIZE * 3)]
#else
pld [r1, #(CACHE_LINE_SIZE * 3)]
#endif
subs r2, r2, #64
vst1.8 {d0 - d3}, [r0]!
vst1.8 {d4 - d7}, [r0]!
bhs 1b
2: /* fix-up the remaining count and make sure we have >= 32 bytes left */
add r2, r2, #64
subs r2, r2, #32
blo 4f
3: /* 32 bytes at a time. These cache lines were already preloaded */
vld1.8 {d0 - d3}, [r1]!
subs r2, r2, #32
vst1.8 {d0 - d3}, [r0]!
bhs 3b
4: /* less than 32 left */
add r2, r2, #32
tst r2, #0x10
beq 5f
// copies 16 bytes, 128-bits aligned
vld1.8 {d0, d1}, [r1]!
vst1.8 {d0, d1}, [r0]!
5: /* copy up to 15-bytes (count in r2) */
movs ip, r2, lsl #29
bcc 1f
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0]!
1: bge 2f
vld1.32 {d0[0]}, [r1]!
vst1.32 {d0[0]}, [r0]!
2: movs ip, r2, lsl #31
ldrmib r3, [r1], #1
ldrcsb ip, [r1], #1
ldrcsb lr, [r1], #1
strmib r3, [r0], #1
strcsb ip, [r0], #1
strcsb lr, [r0], #1
ldmfd sp!, {r0, lr}
bx lr
#endif /* NEON_UNALIGNED_ACCESS */
11:
/* Simple arm-only copy loop to handle aligned copy operations */
stmfd sp!, {r4, r5, r6, r7, r8}
pld [r1, #(CACHE_LINE_SIZE * 2)]
/* Check alignment */
rsb r3, r1, #0
ands r3, #3
beq 2f
/* align source to 32 bits. We need to insert 2 instructions between
* a ldr[b|h] and str[b|h] because byte and half-word instructions
* stall 2 cycles.
*/
movs r12, r3, lsl #31
sub r2, r2, r3 /* we know that r3 <= r2 because r2 >= 4 */
ldrmib r3, [r1], #1
ldrcsb r4, [r1], #1
ldrcsb r5, [r1], #1
strmib r3, [r0], #1
strcsb r4, [r0], #1
strcsb r5, [r0], #1
2:
subs r2, #32
blt 5f
pld [r1, #(CACHE_LINE_SIZE * 3)]
3: /* Main copy loop, copying 32 bytes at a time */
pld [r1, #(CACHE_LINE_SIZE * 4)]
ldmia r1!, {r3, r4, r5, r6, r7, r8, r12, lr}
subs r2, r2, #32
stmia r0!, {r3, r4, r5, r6, r7, r8, r12, lr}
bge 3b
5: /* Handle any remaining bytes */
adds r2, #32
beq 6f
movs r12, r2, lsl #28
ldmcsia r1!, {r3, r4, r5, r6} /* 16 bytes */
ldmmiia r1!, {r7, r8} /* 8 bytes */
stmcsia r0!, {r3, r4, r5, r6}
stmmiia r0!, {r7, r8}
movs r12, r2, lsl #30
ldrcs r3, [r1], #4 /* 4 bytes */
ldrmih r4, [r1], #2 /* 2 bytes */
strcs r3, [r0], #4
strmih r4, [r0], #2
tst r2, #0x1
ldrneb r3, [r1] /* last byte */
strneb r3, [r0]
6:
ldmfd sp!, {r4, r5, r6, r7, r8}
ldmfd sp!, {r0, pc}
END(memcpy)
#else /* __ARM_ARCH__ < 7 */
/*
* Optimized memcpy() for ARM.
*
* note that memcpy() always returns the destination pointer,
* so we have to preserve R0.
*/
ENTRY(memcpy)
/* The stack must always be 64-bits aligned to be compliant with the
* ARM ABI. Since we have to save R0, we might as well save R4
* which we can use for better pipelining of the reads below
*/
.save {r0, r4, lr}
stmfd sp!, {r0, r4, lr}
/* Making room for r5-r11 which will be spilled later */
.pad #28
sub sp, sp, #28
// preload the destination because we'll align it to a cache line
// with small writes. Also start the source "pump".
PLD (r0, #0)
PLD (r1, #0)
PLD (r1, #32)
/* it simplifies things to take care of len<4 early */
cmp r2, #4
blo copy_last_3_and_return
/* compute the offset to align the source
* offset = (4-(src&3))&3 = -src & 3
*/
rsb r3, r1, #0
ands r3, r3, #3
beq src_aligned
/* align source to 32 bits. We need to insert 2 instructions between
* a ldr[b|h] and str[b|h] because byte and half-word instructions
* stall 2 cycles.
*/
movs r12, r3, lsl #31
sub r2, r2, r3 /* we know that r3 <= r2 because r2 >= 4 */
ldrmib r3, [r1], #1
ldrcsb r4, [r1], #1
ldrcsb r12,[r1], #1
strmib r3, [r0], #1
strcsb r4, [r0], #1
strcsb r12,[r0], #1
src_aligned:
/* see if src and dst are aligned together (congruent) */
eor r12, r0, r1
tst r12, #3
bne non_congruent
/* Use post-incriment mode for stm to spill r5-r11 to reserved stack
* frame. Don't update sp.
*/
stmea sp, {r5-r11}
/* align the destination to a cache-line */
rsb r3, r0, #0
ands r3, r3, #0x1C
beq congruent_aligned32
cmp r3, r2
andhi r3, r2, #0x1C
/* conditionnaly copies 0 to 7 words (length in r3) */
movs r12, r3, lsl #28
ldmcsia r1!, {r4, r5, r6, r7} /* 16 bytes */
ldmmiia r1!, {r8, r9} /* 8 bytes */
stmcsia r0!, {r4, r5, r6, r7}
stmmiia r0!, {r8, r9}
tst r3, #0x4
ldrne r10,[r1], #4 /* 4 bytes */
strne r10,[r0], #4
sub r2, r2, r3
congruent_aligned32:
/*
* here source is aligned to 32 bytes.
*/
cached_aligned32:
subs r2, r2, #32
blo less_than_32_left
/*
* We preload a cache-line up to 64 bytes ahead. On the 926, this will
* stall only until the requested world is fetched, but the linefill
* continues in the the background.
* While the linefill is going, we write our previous cache-line
* into the write-buffer (which should have some free space).
* When the linefill is done, the writebuffer will
* start dumping its content into memory
*
* While all this is going, we then load a full cache line into
* 8 registers, this cache line should be in the cache by now
* (or partly in the cache).
*
* This code should work well regardless of the source/dest alignment.
*
*/
// Align the preload register to a cache-line because the cpu does
// "critical word first" (the first word requested is loaded first).
bic r12, r1, #0x1F
add r12, r12, #64
1: ldmia r1!, { r4-r11 }
PLD (r12, #64)
subs r2, r2, #32
// NOTE: if r12 is more than 64 ahead of r1, the following ldrhi
// for ARM9 preload will not be safely guarded by the preceding subs.
// When it is safely guarded the only possibility to have SIGSEGV here
// is because the caller overstates the length.
ldrhi r3, [r12], #32 /* cheap ARM9 preload */
stmia r0!, { r4-r11 }
bhs 1b
add r2, r2, #32
less_than_32_left:
/*
* less than 32 bytes left at this point (length in r2)
*/
/* skip all this if there is nothing to do, which should
* be a common case (if not executed the code below takes
* about 16 cycles)
*/
tst r2, #0x1F
beq 1f
/* conditionnaly copies 0 to 31 bytes */
movs r12, r2, lsl #28
ldmcsia r1!, {r4, r5, r6, r7} /* 16 bytes */
ldmmiia r1!, {r8, r9} /* 8 bytes */
stmcsia r0!, {r4, r5, r6, r7}
stmmiia r0!, {r8, r9}
movs r12, r2, lsl #30
ldrcs r3, [r1], #4 /* 4 bytes */
ldrmih r4, [r1], #2 /* 2 bytes */
strcs r3, [r0], #4
strmih r4, [r0], #2
tst r2, #0x1
ldrneb r3, [r1] /* last byte */
strneb r3, [r0]
/* we're done! restore everything and return */
1: ldmfd sp!, {r5-r11}
ldmfd sp!, {r0, r4, lr}
bx lr
/********************************************************************/
non_congruent:
/*
* here source is aligned to 4 bytes
* but destination is not.
*
* in the code below r2 is the number of bytes read
* (the number of bytes written is always smaller, because we have
* partial words in the shift queue)
*/
cmp r2, #4
blo copy_last_3_and_return
/* Use post-incriment mode for stm to spill r5-r11 to reserved stack
* frame. Don't update sp.
*/
stmea sp, {r5-r11}
/* compute shifts needed to align src to dest */
rsb r5, r0, #0
and r5, r5, #3 /* r5 = # bytes in partial words */
mov r12, r5, lsl #3 /* r12 = right */
rsb lr, r12, #32 /* lr = left */
/* read the first word */
ldr r3, [r1], #4
sub r2, r2, #4
/* write a partial word (0 to 3 bytes), such that destination
* becomes aligned to 32 bits (r5 = nb of words to copy for alignment)
*/
movs r5, r5, lsl #31
strmib r3, [r0], #1
movmi r3, r3, lsr #8
strcsb r3, [r0], #1
movcs r3, r3, lsr #8
strcsb r3, [r0], #1
movcs r3, r3, lsr #8
cmp r2, #4
blo partial_word_tail
/* Align destination to 32 bytes (cache line boundary) */
1: tst r0, #0x1c
beq 2f
ldr r5, [r1], #4
sub r2, r2, #4
orr r4, r3, r5, lsl lr
mov r3, r5, lsr r12
str r4, [r0], #4
cmp r2, #4
bhs 1b
blo partial_word_tail
/* copy 32 bytes at a time */
2: subs r2, r2, #32
blo less_than_thirtytwo
/* Use immediate mode for the shifts, because there is an extra cycle
* for register shifts, which could account for up to 50% of
* performance hit.
*/
cmp r12, #24
beq loop24
cmp r12, #8
beq loop8
loop16:
ldr r12, [r1], #4
1: mov r4, r12
ldmia r1!, { r5,r6,r7, r8,r9,r10,r11}
PLD (r1, #64)
subs r2, r2, #32
ldrhs r12, [r1], #4
orr r3, r3, r4, lsl #16
mov r4, r4, lsr #16
orr r4, r4, r5, lsl #16
mov r5, r5, lsr #16
orr r5, r5, r6, lsl #16
mov r6, r6, lsr #16
orr r6, r6, r7, lsl #16
mov r7, r7, lsr #16
orr r7, r7, r8, lsl #16
mov r8, r8, lsr #16
orr r8, r8, r9, lsl #16
mov r9, r9, lsr #16
orr r9, r9, r10, lsl #16
mov r10, r10, lsr #16
orr r10, r10, r11, lsl #16
stmia r0!, {r3,r4,r5,r6, r7,r8,r9,r10}
mov r3, r11, lsr #16
bhs 1b
b less_than_thirtytwo
loop8:
ldr r12, [r1], #4
1: mov r4, r12
ldmia r1!, { r5,r6,r7, r8,r9,r10,r11}
PLD (r1, #64)
subs r2, r2, #32
ldrhs r12, [r1], #4
orr r3, r3, r4, lsl #24
mov r4, r4, lsr #8
orr r4, r4, r5, lsl #24
mov r5, r5, lsr #8
orr r5, r5, r6, lsl #24
mov r6, r6, lsr #8
orr r6, r6, r7, lsl #24
mov r7, r7, lsr #8
orr r7, r7, r8, lsl #24
mov r8, r8, lsr #8
orr r8, r8, r9, lsl #24
mov r9, r9, lsr #8
orr r9, r9, r10, lsl #24
mov r10, r10, lsr #8
orr r10, r10, r11, lsl #24
stmia r0!, {r3,r4,r5,r6, r7,r8,r9,r10}
mov r3, r11, lsr #8
bhs 1b
b less_than_thirtytwo
loop24:
ldr r12, [r1], #4
1: mov r4, r12
ldmia r1!, { r5,r6,r7, r8,r9,r10,r11}
PLD (r1, #64)
subs r2, r2, #32
ldrhs r12, [r1], #4
orr r3, r3, r4, lsl #8
mov r4, r4, lsr #24
orr r4, r4, r5, lsl #8
mov r5, r5, lsr #24
orr r5, r5, r6, lsl #8
mov r6, r6, lsr #24
orr r6, r6, r7, lsl #8
mov r7, r7, lsr #24
orr r7, r7, r8, lsl #8
mov r8, r8, lsr #24
orr r8, r8, r9, lsl #8
mov r9, r9, lsr #24
orr r9, r9, r10, lsl #8
mov r10, r10, lsr #24
orr r10, r10, r11, lsl #8
stmia r0!, {r3,r4,r5,r6, r7,r8,r9,r10}
mov r3, r11, lsr #24
bhs 1b
less_than_thirtytwo:
/* copy the last 0 to 31 bytes of the source */
rsb r12, lr, #32 /* we corrupted r12, recompute it */
add r2, r2, #32
cmp r2, #4
blo partial_word_tail
1: ldr r5, [r1], #4
sub r2, r2, #4
orr r4, r3, r5, lsl lr
mov r3, r5, lsr r12
str r4, [r0], #4
cmp r2, #4
bhs 1b
partial_word_tail:
/* we have a partial word in the input buffer */
movs r5, lr, lsl #(31-3)
strmib r3, [r0], #1
movmi r3, r3, lsr #8
strcsb r3, [r0], #1
movcs r3, r3, lsr #8
strcsb r3, [r0], #1
/* Refill spilled registers from the stack. Don't update sp. */
ldmfd sp, {r5-r11}
copy_last_3_and_return:
movs r2, r2, lsl #31 /* copy remaining 0, 1, 2 or 3 bytes */
ldrmib r2, [r1], #1
ldrcsb r3, [r1], #1
ldrcsb r12,[r1]
strmib r2, [r0], #1
strcsb r3, [r0], #1
strcsb r12,[r0]
/* we're done! restore sp and spilled registers and return */
add sp, sp, #28
ldmfd sp!, {r0, r4, lr}
bx lr
END(memcpy)
#endif /* __ARM_ARCH__ < 7 */

View File

@ -1,406 +0,0 @@
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/* Prototype: void *memcpy (void *dst, const void *src, size_t count). */
/* Use the version of memcpy implemented using LDRD and STRD.
This version is tuned for Cortex-A15.
This might not be the best for other ARMv7-A CPUs,
but there is no predefine to distinguish between
different CPUs in the same architecture,
and this version is better than the plain memcpy provided in newlib.
Therefore, we use this version for all ARMv7-A CPUS. */
/* To make the same code compile for both ARM and Thumb instruction
sets, switch to unified syntax at the beginning of this function.
However, by using the same code, we may be missing optimization
opportunities. For instance, in LDRD/STRD instructions, the first
destination register must be even and the second consecutive in
ARM state, but not in Thumb state. */
#include <machine/cpu-features.h>
#include <machine/asm.h>
.syntax unified
ENTRY(memcpy)
/* Assumes that n >= 0, and dst, src are valid pointers.
If there is at least 8 bytes to copy, use LDRD/STRD.
If src and dst are misaligned with different offsets,
first copy byte by byte until dst is aligned,
and then copy using LDRD/STRD and shift if needed.
When less than 8 left, copy a word and then byte by byte. */
/* Save registers (r0 holds the return value):
optimized push {r0, r4, r5, r6, r7, lr}.
To try and improve performance, stack layout changed,
i.e., not keeping the stack looking like users expect
(highest numbered register at highest address). */
.save {r0, lr}
push {r0, lr}
.save {r4, r5}
strd r4, r5, [sp, #-8]!
.save {r6, r7}
strd r6, r7, [sp, #-8]!
/* TODO: Add debug frame directives.
We don't need exception unwind directives, because the code below
does not throw any exceptions and does not call any other functions.
Generally, newlib functions like this lack debug information for
assembler source. */
/* Get copying of tiny blocks out of the way first. */
/* Is there at least 4 bytes to copy? */
subs r2, r2, #4
blt copy_less_than_4 /* If n < 4. */
/* Check word alignment. */
ands ip, r0, #3 /* ip = last 2 bits of dst. */
bne dst_not_word_aligned /* If dst is not word-aligned. */
/* Get here if dst is word-aligned. */
ands ip, r1, #3 /* ip = last 2 bits of src. */
bne src_not_word_aligned /* If src is not word-aligned. */
word_aligned:
/* Get here if source and dst both are word-aligned.
The number of bytes remaining to copy is r2+4. */
/* Is there is at least 64 bytes to copy? */
subs r2, r2, #60
blt copy_less_than_64 /* If r2 + 4 < 64. */
/* First, align the destination buffer to 8-bytes,
to make sure double loads and stores don't cross cache line boundary,
as they are then more expensive even if the data is in the cache
(require two load/store issue cycles instead of one).
If only one of the buffers is not 8-bytes aligned,
then it's more important to align dst than src,
because there is more penalty for stores
than loads that cross cacheline boundary.
This check and realignment are only worth doing
if there is a lot to copy. */
/* Get here if dst is word aligned,
i.e., the 2 least significant bits are 0.
If dst is not 2w aligned (i.e., the 3rd bit is not set in dst),
then copy 1 word (4 bytes). */
ands r3, r0, #4
beq 11f /* If dst already two-word aligned. */
ldr r3, [r1], #4
str r3, [r0], #4
subs r2, r2, #4
blt copy_less_than_64
11:
/* TODO: Align to cacheline (useful for PLD optimization). */
/* Every loop iteration copies 64 bytes. */
1:
.irp offset, #0, #8, #16, #24, #32, #40, #48, #56
ldrd r4, r5, [r1, \offset]
strd r4, r5, [r0, \offset]
.endr
add r0, r0, #64
add r1, r1, #64
subs r2, r2, #64
bge 1b /* If there is more to copy. */
copy_less_than_64:
/* Get here if less than 64 bytes to copy, -64 <= r2 < 0.
Restore the count if there is more than 7 bytes to copy. */
adds r2, r2, #56
blt copy_less_than_8
/* Copy 8 bytes at a time. */
2:
ldrd r4, r5, [r1], #8
strd r4, r5, [r0], #8
subs r2, r2, #8
bge 2b /* If there is more to copy. */
copy_less_than_8:
/* Get here if less than 8 bytes to copy, -8 <= r2 < 0.
Check if there is more to copy. */
cmn r2, #8
beq return /* If r2 + 8 == 0. */
/* Restore the count if there is more than 3 bytes to copy. */
adds r2, r2, #4
blt copy_less_than_4
/* Copy 4 bytes. */
ldr r3, [r1], #4
str r3, [r0], #4
copy_less_than_4:
/* Get here if less than 4 bytes to copy, -4 <= r2 < 0. */
/* Restore the count, check if there is more to copy. */
adds r2, r2, #4
beq return /* If r2 == 0. */
/* Get here with r2 is in {1,2,3}={01,10,11}. */
/* Logical shift left r2, insert 0s, update flags. */
lsls r2, r2, #31
/* Copy byte by byte.
Condition ne means the last bit of r2 is 0.
Condition cs means the second to last bit of r2 is set,
i.e., r2 is 1 or 3. */
itt ne
ldrbne r3, [r1], #1
strbne r3, [r0], #1
itttt cs
ldrbcs r4, [r1], #1
ldrbcs r5, [r1]
strbcs r4, [r0], #1
strbcs r5, [r0]
return:
/* Restore registers: optimized pop {r0, r4, r5, r6, r7, pc} */
/* This is the only return point of memcpy. */
ldrd r6, r7, [sp], #8
ldrd r4, r5, [sp], #8
pop {r0, pc}
#ifndef __ARM_FEATURE_UNALIGNED
/* The following assembly macro implements misaligned copy in software.
Assumes that dst is word aligned, src is at offset "pull" bits from
word, push = 32 - pull, and the number of bytes that remain to copy
is r2 + 4, r2 >= 0. */
/* In the code below, r2 is the number of bytes that remain to be
written. The number of bytes read is always larger, because we have
partial words in the shift queue. */
.macro miscopy pull push shiftleft shiftright
/* Align src to the previous word boundary. */
bic r1, r1, #3
/* Initialize the shift queue. */
ldr r5, [r1], #4 /* Load a word from source. */
subs r2, r2, #4
blt 6f /* Go to misaligned copy of less than 8 bytes. */
/* Get here if there is more than 8 bytes to copy.
The number of bytes to copy is r2+8, r2 >= 0. */
subs r2, r2, #56
blt 4f /* Go to misaligned copy of less than 64 bytes. */
3:
/* Get here if there is more than 64 bytes to copy.
The number of bytes to copy is r2+64, r2 >= 0. */
/* Copy 64 bytes in every iteration.
Use a partial word from the shift queue. */
.irp offset, #0, #8, #16, #24, #32, #40, #48, #56
mov r6, r5, \shiftleft #\pull
ldrd r4, r5, [r1, \offset]
orr r6, r6, r4, \shiftright #\push
mov r7, r4, \shiftleft #\pull
orr r7, r7, r5, \shiftright #\push
strd r6, r7, [r0, \offset]
.endr
add r1, r1, #64
add r0, r0, #64
subs r2, r2, #64
bge 3b
4:
/* Get here if there is less than 64 bytes to copy (-64 <= r2 < 0)
and they are misaligned. */
/* Restore the count if there is more than 7 bytes to copy. */
adds r2, r2, #56
blt 6f /* Go to misaligned copy of less than 8 bytes. */
5:
/* Copy 8 bytes at a time.
Use a partial word from the shift queue. */
mov r6, r5, \shiftleft #\pull
ldrd r4, r5, [r1], #8
orr r6, r6, r4, \shiftright #\push
mov r7, r4, \shiftleft #\pull
orr r7, r7, r5, \shiftright #\push
strd r6, r7, [r0], #8
subs r2, r2, #8
bge 5b /* If there is more to copy. */
6:
/* Get here if there less than 8 bytes to copy (-8 <= r2 < 0)
and they are misaligned. */
/* Check if there is more to copy. */
cmn r2, #8
beq return
/* Check if there is less than 4 bytes to copy. */
cmn r2, #4
itt lt
/* Restore src offset from word-align. */
sublt r1, r1, #(\push / 8)
blt copy_less_than_4
/* Use a partial word from the shift queue. */
mov r3, r5, \shiftleft #\pull
/* Load a word from src, but without writeback
(this word is not fully written to dst). */
ldr r5, [r1]
/* Restore src offset from word-align. */
add r1, r1, #(\pull / 8)
/* Shift bytes to create one dst word and store it. */
orr r3, r3, r5, \shiftright #\push
str r3, [r0], #4
/* Use single byte copying of the remaining bytes. */
b copy_less_than_4
.endm
#endif /* not __ARM_FEATURE_UNALIGNED */
dst_not_word_aligned:
/* Get here when dst is not aligned and ip has the last 2 bits of dst,
i.e., ip is the offset of dst from word.
The number of bytes that remains to copy is r2 + 4,
i.e., there are at least 4 bytes to copy.
Write a partial word (0 to 3 bytes), such that dst becomes
word-aligned. */
/* If dst is at ip bytes offset from a word (with 0 < ip < 4),
then there are (4 - ip) bytes to fill up to align dst to the next
word. */
rsb ip, ip, #4 /* ip = #4 - ip. */
cmp ip, #2
/* Copy byte by byte with conditionals. */
itt gt
ldrbgt r3, [r1], #1
strbgt r3, [r0], #1
itt ge
ldrbge r4, [r1], #1
strbge r4, [r0], #1
ldrb lr, [r1], #1
strb lr, [r0], #1
/* Update the count.
ip holds the number of bytes we have just copied. */
subs r2, r2, ip /* r2 = r2 - ip. */
blt copy_less_than_4 /* If r2 < ip. */
/* Get here if there are more than 4 bytes to copy.
Check if src is aligned. If beforehand src and dst were not word
aligned but congruent (same offset), then now they are both
word-aligned, and we can copy the rest efficiently (without
shifting). */
ands ip, r1, #3 /* ip = last 2 bits of src. */
beq word_aligned /* If r1 is word-aligned. */
src_not_word_aligned:
/* Get here when src is not word-aligned, but dst is word-aligned.
The number of bytes that remains to copy is r2+4. */
#ifdef __ARM_FEATURE_UNALIGNED
/* Copy word by word using LDR when alignment can be done in hardware,
i.e., SCTLR.A is set, supporting unaligned access in LDR and STR. */
subs r2, r2, #60
blt 8f
7:
/* Copy 64 bytes in every loop iteration. */
.irp offset, #0, #4, #8, #12, #16, #20, #24, #28, #32, #36, #40, #44, #48, #52, #56, #60
ldr r3, [r1, \offset]
str r3, [r0, \offset]
.endr
add r0, r0, #64
add r1, r1, #64
subs r2, r2, #64
bge 7b
8:
/* Get here if less than 64 bytes to copy, -64 <= r2 < 0.
Check if there is more than 3 bytes to copy. */
adds r2, r2, #60
blt copy_less_than_4
9:
/* Get here if there is less than 64 but at least 4 bytes to copy,
where the number of bytes to copy is r2+4. */
ldr r3, [r1], #4
str r3, [r0], #4
subs r2, r2, #4
bge 9b
b copy_less_than_4
#else /* not __ARM_FEATURE_UNALIGNED */
/* ip has last 2 bits of src,
i.e., ip is the offset of src from word, and ip > 0.
Compute shifts needed to copy from src to dst. */
cmp ip, #2
beq miscopy_16_16 /* If ip == 2. */
bge miscopy_24_8 /* If ip == 3. */
/* Get here if ip == 1. */
/* Endian independent macros for shifting bytes within registers. */
#ifndef __ARMEB__
miscopy_8_24: miscopy pull=8 push=24 shiftleft=lsr shiftright=lsl
miscopy_16_16: miscopy pull=16 push=16 shiftleft=lsr shiftright=lsl
miscopy_24_8: miscopy pull=24 push=8 shiftleft=lsr shiftright=lsl
#else /* not __ARMEB__ */
miscopy_8_24: miscopy pull=8 push=24 shiftleft=lsl shiftright=lsr
miscopy_16_16: miscopy pull=16 push=16 shiftleft=lsl shiftright=lsr
miscopy_24_8: miscopy pull=24 push=8 shiftleft=lsl shiftright=lsr
#endif /* not __ARMEB__ */
#endif /* not __ARM_FEATURE_UNALIGNED */
END(memcpy)

View File

@ -1,614 +0,0 @@
/* Copyright (c) 2013, Linaro Limited
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of Linaro Limited nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/*
This memcpy routine is optimised for Cortex-A15 cores and takes advantage
of VFP or NEON when built with the appropriate flags.
Assumptions:
ARMv6 (ARMv7-a if using Neon)
ARM state
Unaligned accesses
LDRD/STRD support unaligned word accesses
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
.syntax unified
/* This implementation requires ARM state. */
.arm
#ifdef __ARM_NEON__
.fpu neon
.arch armv7-a
# define FRAME_SIZE 4
# define USE_VFP
# define USE_NEON
#elif !defined (__SOFTFP__)
.arch armv6
.fpu vfpv2
# define FRAME_SIZE 32
# define USE_VFP
#else
.arch armv6
# define FRAME_SIZE 32
#endif
/* Old versions of GAS incorrectly implement the NEON align semantics. */
#ifdef BROKEN_ASM_NEON_ALIGN
#define ALIGN(addr, align) addr,:align
#else
#define ALIGN(addr, align) addr:align
#endif
#define PC_OFFSET 8 /* PC pipeline compensation. */
#define INSN_SIZE 4
/* Call parameters. */
#define dstin r0
#define src r1
#define count r2
/* Locals. */
#define tmp1 r3
#define dst ip
#define tmp2 r10
#ifndef USE_NEON
/* For bulk copies using GP registers. */
#define A_l r2 /* Call-clobbered. */
#define A_h r3 /* Call-clobbered. */
#define B_l r4
#define B_h r5
#define C_l r6
#define C_h r7
#define D_l r8
#define D_h r9
#endif
/* Number of lines ahead to pre-fetch data. If you change this the code
below will need adjustment to compensate. */
#define prefetch_lines 5
#ifdef USE_VFP
.macro cpy_line_vfp vreg, base
vstr \vreg, [dst, #\base]
vldr \vreg, [src, #\base]
vstr d0, [dst, #\base + 8]
vldr d0, [src, #\base + 8]
vstr d1, [dst, #\base + 16]
vldr d1, [src, #\base + 16]
vstr d2, [dst, #\base + 24]
vldr d2, [src, #\base + 24]
vstr \vreg, [dst, #\base + 32]
vldr \vreg, [src, #\base + prefetch_lines * 64 - 32]
vstr d0, [dst, #\base + 40]
vldr d0, [src, #\base + 40]
vstr d1, [dst, #\base + 48]
vldr d1, [src, #\base + 48]
vstr d2, [dst, #\base + 56]
vldr d2, [src, #\base + 56]
.endm
.macro cpy_tail_vfp vreg, base
vstr \vreg, [dst, #\base]
vldr \vreg, [src, #\base]
vstr d0, [dst, #\base + 8]
vldr d0, [src, #\base + 8]
vstr d1, [dst, #\base + 16]
vldr d1, [src, #\base + 16]
vstr d2, [dst, #\base + 24]
vldr d2, [src, #\base + 24]
vstr \vreg, [dst, #\base + 32]
vstr d0, [dst, #\base + 40]
vldr d0, [src, #\base + 40]
vstr d1, [dst, #\base + 48]
vldr d1, [src, #\base + 48]
vstr d2, [dst, #\base + 56]
vldr d2, [src, #\base + 56]
.endm
#endif
.p2align 6
ENTRY(memcpy)
mov dst, dstin /* Preserve dstin, we need to return it. */
cmp count, #64
bge .Lcpy_not_short
/* Deal with small copies quickly by dropping straight into the
exit block. */
.Ltail63unaligned:
#ifdef USE_NEON
and tmp1, count, #0x38
rsb tmp1, tmp1, #(56 - PC_OFFSET + INSN_SIZE)
add pc, pc, tmp1
vld1.8 {d0}, [src]! /* 14 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 12 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 10 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 8 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 6 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 4 words to go. */
vst1.8 {d0}, [dst]!
vld1.8 {d0}, [src]! /* 2 words to go. */
vst1.8 {d0}, [dst]!
tst count, #4
ldrne tmp1, [src], #4
strne tmp1, [dst], #4
#else
/* Copy up to 15 full words of data. May not be aligned. */
/* Cannot use VFP for unaligned data. */
and tmp1, count, #0x3c
add dst, dst, tmp1
add src, src, tmp1
rsb tmp1, tmp1, #(60 - PC_OFFSET/2 + INSN_SIZE/2)
/* Jump directly into the sequence below at the correct offset. */
add pc, pc, tmp1, lsl #1
ldr tmp1, [src, #-60] /* 15 words to go. */
str tmp1, [dst, #-60]
ldr tmp1, [src, #-56] /* 14 words to go. */
str tmp1, [dst, #-56]
ldr tmp1, [src, #-52]
str tmp1, [dst, #-52]
ldr tmp1, [src, #-48] /* 12 words to go. */
str tmp1, [dst, #-48]
ldr tmp1, [src, #-44]
str tmp1, [dst, #-44]
ldr tmp1, [src, #-40] /* 10 words to go. */
str tmp1, [dst, #-40]
ldr tmp1, [src, #-36]
str tmp1, [dst, #-36]
ldr tmp1, [src, #-32] /* 8 words to go. */
str tmp1, [dst, #-32]
ldr tmp1, [src, #-28]
str tmp1, [dst, #-28]
ldr tmp1, [src, #-24] /* 6 words to go. */
str tmp1, [dst, #-24]
ldr tmp1, [src, #-20]
str tmp1, [dst, #-20]
ldr tmp1, [src, #-16] /* 4 words to go. */
str tmp1, [dst, #-16]
ldr tmp1, [src, #-12]
str tmp1, [dst, #-12]
ldr tmp1, [src, #-8] /* 2 words to go. */
str tmp1, [dst, #-8]
ldr tmp1, [src, #-4]
str tmp1, [dst, #-4]
#endif
lsls count, count, #31
ldrhcs tmp1, [src], #2
ldrbne src, [src] /* Src is dead, use as a scratch. */
strhcs tmp1, [dst], #2
strbne src, [dst]
bx lr
.Lcpy_not_short:
/* At least 64 bytes to copy, but don't know the alignment yet. */
str tmp2, [sp, #-FRAME_SIZE]!
and tmp2, src, #7
and tmp1, dst, #7
cmp tmp1, tmp2
bne .Lcpy_notaligned
#ifdef USE_VFP
/* Magic dust alert! Force VFP on Cortex-A9. Experiments show
that the FP pipeline is much better at streaming loads and
stores. This is outside the critical loop. */
vmov.f32 s0, s0
#endif
/* SRC and DST have the same mutual 32-bit alignment, but we may
still need to pre-copy some bytes to get to natural alignment.
We bring DST into full 64-bit alignment. */
lsls tmp2, dst, #29
beq 1f
rsbs tmp2, tmp2, #0
sub count, count, tmp2, lsr #29
ldrmi tmp1, [src], #4
strmi tmp1, [dst], #4
lsls tmp2, tmp2, #2
ldrhcs tmp1, [src], #2
ldrbne tmp2, [src], #1
strhcs tmp1, [dst], #2
strbne tmp2, [dst], #1
1:
subs tmp2, count, #64 /* Use tmp2 for count. */
blt .Ltail63aligned
cmp tmp2, #512
bge .Lcpy_body_long
.Lcpy_body_medium: /* Count in tmp2. */
#ifdef USE_VFP
1:
vldr d0, [src, #0]
subs tmp2, tmp2, #64
vldr d1, [src, #8]
vstr d0, [dst, #0]
vldr d0, [src, #16]
vstr d1, [dst, #8]
vldr d1, [src, #24]
vstr d0, [dst, #16]
vldr d0, [src, #32]
vstr d1, [dst, #24]
vldr d1, [src, #40]
vstr d0, [dst, #32]
vldr d0, [src, #48]
vstr d1, [dst, #40]
vldr d1, [src, #56]
vstr d0, [dst, #48]
add src, src, #64
vstr d1, [dst, #56]
add dst, dst, #64
bge 1b
tst tmp2, #0x3f
beq .Ldone
.Ltail63aligned: /* Count in tmp2. */
and tmp1, tmp2, #0x38
add dst, dst, tmp1
add src, src, tmp1
rsb tmp1, tmp1, #(56 - PC_OFFSET + INSN_SIZE)
add pc, pc, tmp1
vldr d0, [src, #-56] /* 14 words to go. */
vstr d0, [dst, #-56]
vldr d0, [src, #-48] /* 12 words to go. */
vstr d0, [dst, #-48]
vldr d0, [src, #-40] /* 10 words to go. */
vstr d0, [dst, #-40]
vldr d0, [src, #-32] /* 8 words to go. */
vstr d0, [dst, #-32]
vldr d0, [src, #-24] /* 6 words to go. */
vstr d0, [dst, #-24]
vldr d0, [src, #-16] /* 4 words to go. */
vstr d0, [dst, #-16]
vldr d0, [src, #-8] /* 2 words to go. */
vstr d0, [dst, #-8]
#else
sub src, src, #8
sub dst, dst, #8
1:
ldrd A_l, A_h, [src, #8]
strd A_l, A_h, [dst, #8]
ldrd A_l, A_h, [src, #16]
strd A_l, A_h, [dst, #16]
ldrd A_l, A_h, [src, #24]
strd A_l, A_h, [dst, #24]
ldrd A_l, A_h, [src, #32]
strd A_l, A_h, [dst, #32]
ldrd A_l, A_h, [src, #40]
strd A_l, A_h, [dst, #40]
ldrd A_l, A_h, [src, #48]
strd A_l, A_h, [dst, #48]
ldrd A_l, A_h, [src, #56]
strd A_l, A_h, [dst, #56]
ldrd A_l, A_h, [src, #64]!
strd A_l, A_h, [dst, #64]!
subs tmp2, tmp2, #64
bge 1b
tst tmp2, #0x3f
bne 1f
ldr tmp2,[sp], #FRAME_SIZE
bx lr
1:
add src, src, #8
add dst, dst, #8
.Ltail63aligned: /* Count in tmp2. */
/* Copy up to 7 d-words of data. Similar to Ltail63unaligned, but
we know that the src and dest are 32-bit aligned so we can use
LDRD/STRD to improve efficiency. */
/* TMP2 is now negative, but we don't care about that. The bottom
six bits still tell us how many bytes are left to copy. */
and tmp1, tmp2, #0x38
add dst, dst, tmp1
add src, src, tmp1
rsb tmp1, tmp1, #(56 - PC_OFFSET + INSN_SIZE)
add pc, pc, tmp1
ldrd A_l, A_h, [src, #-56] /* 14 words to go. */
strd A_l, A_h, [dst, #-56]
ldrd A_l, A_h, [src, #-48] /* 12 words to go. */
strd A_l, A_h, [dst, #-48]
ldrd A_l, A_h, [src, #-40] /* 10 words to go. */
strd A_l, A_h, [dst, #-40]
ldrd A_l, A_h, [src, #-32] /* 8 words to go. */
strd A_l, A_h, [dst, #-32]
ldrd A_l, A_h, [src, #-24] /* 6 words to go. */
strd A_l, A_h, [dst, #-24]
ldrd A_l, A_h, [src, #-16] /* 4 words to go. */
strd A_l, A_h, [dst, #-16]
ldrd A_l, A_h, [src, #-8] /* 2 words to go. */
strd A_l, A_h, [dst, #-8]
#endif
tst tmp2, #4
ldrne tmp1, [src], #4
strne tmp1, [dst], #4
lsls tmp2, tmp2, #31 /* Count (tmp2) now dead. */
ldrhcs tmp1, [src], #2
ldrbne tmp2, [src]
strhcs tmp1, [dst], #2
strbne tmp2, [dst]
.Ldone:
ldr tmp2, [sp], #FRAME_SIZE
bx lr
.Lcpy_body_long: /* Count in tmp2. */
/* Long copy. We know that there's at least (prefetch_lines * 64)
bytes to go. */
#ifdef USE_VFP
/* Don't use PLD. Instead, read some data in advance of the current
copy position into a register. This should act like a PLD
operation but we won't have to repeat the transfer. */
vldr d3, [src, #0]
vldr d4, [src, #64]
vldr d5, [src, #128]
vldr d6, [src, #192]
vldr d7, [src, #256]
vldr d0, [src, #8]
vldr d1, [src, #16]
vldr d2, [src, #24]
add src, src, #32
subs tmp2, tmp2, #prefetch_lines * 64 * 2
blt 2f
1:
cpy_line_vfp d3, 0
cpy_line_vfp d4, 64
cpy_line_vfp d5, 128
add dst, dst, #3 * 64
add src, src, #3 * 64
cpy_line_vfp d6, 0
cpy_line_vfp d7, 64
add dst, dst, #2 * 64
add src, src, #2 * 64
subs tmp2, tmp2, #prefetch_lines * 64
bge 1b
2:
cpy_tail_vfp d3, 0
cpy_tail_vfp d4, 64
cpy_tail_vfp d5, 128
add src, src, #3 * 64
add dst, dst, #3 * 64
cpy_tail_vfp d6, 0
vstr d7, [dst, #64]
vldr d7, [src, #64]
vstr d0, [dst, #64 + 8]
vldr d0, [src, #64 + 8]
vstr d1, [dst, #64 + 16]
vldr d1, [src, #64 + 16]
vstr d2, [dst, #64 + 24]
vldr d2, [src, #64 + 24]
vstr d7, [dst, #64 + 32]
add src, src, #96
vstr d0, [dst, #64 + 40]
vstr d1, [dst, #64 + 48]
vstr d2, [dst, #64 + 56]
add dst, dst, #128
add tmp2, tmp2, #prefetch_lines * 64
b .Lcpy_body_medium
#else
/* Long copy. Use an SMS style loop to maximize the I/O
bandwidth of the core. We don't have enough spare registers
to synthesise prefetching, so use PLD operations. */
/* Pre-bias src and dst. */
sub src, src, #8
sub dst, dst, #8
pld [src, #8]
pld [src, #72]
subs tmp2, tmp2, #64
pld [src, #136]
ldrd A_l, A_h, [src, #8]
strd B_l, B_h, [sp, #8]
ldrd B_l, B_h, [src, #16]
strd C_l, C_h, [sp, #16]
ldrd C_l, C_h, [src, #24]
strd D_l, D_h, [sp, #24]
pld [src, #200]
ldrd D_l, D_h, [src, #32]!
b 1f
.p2align 6
2:
pld [src, #232]
strd A_l, A_h, [dst, #40]
ldrd A_l, A_h, [src, #40]
strd B_l, B_h, [dst, #48]
ldrd B_l, B_h, [src, #48]
strd C_l, C_h, [dst, #56]
ldrd C_l, C_h, [src, #56]
strd D_l, D_h, [dst, #64]!
ldrd D_l, D_h, [src, #64]!
subs tmp2, tmp2, #64
1:
strd A_l, A_h, [dst, #8]
ldrd A_l, A_h, [src, #8]
strd B_l, B_h, [dst, #16]
ldrd B_l, B_h, [src, #16]
strd C_l, C_h, [dst, #24]
ldrd C_l, C_h, [src, #24]
strd D_l, D_h, [dst, #32]
ldrd D_l, D_h, [src, #32]
bcs 2b
/* Save the remaining bytes and restore the callee-saved regs. */
strd A_l, A_h, [dst, #40]
add src, src, #40
strd B_l, B_h, [dst, #48]
ldrd B_l, B_h, [sp, #8]
strd C_l, C_h, [dst, #56]
ldrd C_l, C_h, [sp, #16]
strd D_l, D_h, [dst, #64]
ldrd D_l, D_h, [sp, #24]
add dst, dst, #72
tst tmp2, #0x3f
bne .Ltail63aligned
ldr tmp2, [sp], #FRAME_SIZE
bx lr
#endif
.Lcpy_notaligned:
pld [src]
pld [src, #64]
/* There's at least 64 bytes to copy, but there is no mutual
alignment. */
/* Bring DST to 64-bit alignment. */
lsls tmp2, dst, #29
pld [src, #(2 * 64)]
beq 1f
rsbs tmp2, tmp2, #0
sub count, count, tmp2, lsr #29
ldrmi tmp1, [src], #4
strmi tmp1, [dst], #4
lsls tmp2, tmp2, #2
ldrbne tmp1, [src], #1
ldrhcs tmp2, [src], #2
strbne tmp1, [dst], #1
strhcs tmp2, [dst], #2
1:
pld [src, #(3 * 64)]
subs count, count, #64
ldrmi tmp2, [sp], #FRAME_SIZE
bmi .Ltail63unaligned
pld [src, #(4 * 64)]
#ifdef USE_NEON
vld1.8 {d0-d3}, [src]!
vld1.8 {d4-d7}, [src]!
subs count, count, #64
bmi 2f
1:
pld [src, #(4 * 64)]
vst1.8 {d0-d3}, [ALIGN (dst, 64)]!
vld1.8 {d0-d3}, [src]!
vst1.8 {d4-d7}, [ALIGN (dst, 64)]!
vld1.8 {d4-d7}, [src]!
subs count, count, #64
bpl 1b
2:
vst1.8 {d0-d3}, [ALIGN (dst, 64)]!
vst1.8 {d4-d7}, [ALIGN (dst, 64)]!
ands count, count, #0x3f
#else
/* Use an SMS style loop to maximize the I/O bandwidth. */
sub src, src, #4
sub dst, dst, #8
subs tmp2, count, #64 /* Use tmp2 for count. */
ldr A_l, [src, #4]
ldr A_h, [src, #8]
strd B_l, B_h, [sp, #8]
ldr B_l, [src, #12]
ldr B_h, [src, #16]
strd C_l, C_h, [sp, #16]
ldr C_l, [src, #20]
ldr C_h, [src, #24]
strd D_l, D_h, [sp, #24]
ldr D_l, [src, #28]
ldr D_h, [src, #32]!
b 1f
.p2align 6
2:
pld [src, #(5 * 64) - (32 - 4)]
strd A_l, A_h, [dst, #40]
ldr A_l, [src, #36]
ldr A_h, [src, #40]
strd B_l, B_h, [dst, #48]
ldr B_l, [src, #44]
ldr B_h, [src, #48]
strd C_l, C_h, [dst, #56]
ldr C_l, [src, #52]
ldr C_h, [src, #56]
strd D_l, D_h, [dst, #64]!
ldr D_l, [src, #60]
ldr D_h, [src, #64]!
subs tmp2, tmp2, #64
1:
strd A_l, A_h, [dst, #8]
ldr A_l, [src, #4]
ldr A_h, [src, #8]
strd B_l, B_h, [dst, #16]
ldr B_l, [src, #12]
ldr B_h, [src, #16]
strd C_l, C_h, [dst, #24]
ldr C_l, [src, #20]
ldr C_h, [src, #24]
strd D_l, D_h, [dst, #32]
ldr D_l, [src, #28]
ldr D_h, [src, #32]
bcs 2b
/* Save the remaining bytes and restore the callee-saved regs. */
strd A_l, A_h, [dst, #40]
add src, src, #36
strd B_l, B_h, [dst, #48]
ldrd B_l, B_h, [sp, #8]
strd C_l, C_h, [dst, #56]
ldrd C_l, C_h, [sp, #16]
strd D_l, D_h, [dst, #64]
ldrd D_l, D_h, [sp, #24]
add dst, dst, #72
ands count, tmp2, #0x3f
#endif
ldr tmp2, [sp], #FRAME_SIZE
bne .Ltail63unaligned
bx lr
END(memcpy)

View File

@ -1,200 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
/*
* Optimized memset() for ARM.
*
* memset() returns its first argument.
*/
#if defined(__ARM_NEON__)
.fpu neon
#endif
ENTRY(bzero)
mov r2, r1
mov r1, #0
// Fall through to memset...
END(bzero)
ENTRY(memset)
#if defined(__ARM_NEON__)
#ifdef NEON_MEMSET_DIVIDER
cmp r2, #NEON_MEMSET_DIVIDER
bhi 11f
#endif
.save {r0}
stmfd sp!, {r0}
vdup.8 q0, r1
#ifndef NEON_UNALIGNED_ACCESS
/* do we have at least 16-bytes to write (needed for alignment below) */
cmp r2, #16
blo 3f
/* align destination to 16 bytes for the write-buffer */
rsb r3, r0, #0
ands r3, r3, #0xF
beq 2f
/* write up to 15-bytes (count in r3) */
sub r2, r2, r3
movs ip, r3, lsl #31
strmib r1, [r0], #1
strcsb r1, [r0], #1
strcsb r1, [r0], #1
movs ip, r3, lsl #29
bge 1f
// writes 4 bytes, 32-bits aligned
vst1.32 {d0[0]}, [r0, :32]!
1: bcc 2f
// writes 8 bytes, 64-bits aligned
vst1.8 {d0}, [r0, :64]!
2:
#endif
/* make sure we have at least 32 bytes to write */
subs r2, r2, #32
blo 2f
vmov q1, q0
1: /* The main loop writes 32 bytes at a time */
subs r2, r2, #32
#ifndef NEON_UNALIGNED_ACCESS
vst1.8 {d0 - d3}, [r0, :128]!
#else
vst1.8 {d0 - d3}, [r0]!
#endif
bhs 1b
2: /* less than 32 left */
add r2, r2, #32
tst r2, #0x10
beq 3f
// writes 16 bytes, 128-bits aligned
#ifndef NEON_UNALIGNED_ACCESS
vst1.8 {d0, d1}, [r0, :128]!
#else
vst1.8 {d0, d1}, [r0]!
#endif
3: /* write up to 15-bytes (count in r2) */
movs ip, r2, lsl #29
bcc 1f
vst1.8 {d0}, [r0]!
1: bge 2f
vst1.32 {d0[0]}, [r0]!
2: movs ip, r2, lsl #31
strmib r1, [r0], #1
strcsb r1, [r0], #1
strcsb r1, [r0], #1
ldmfd sp!, {r0}
bx lr
11:
#endif
/*
* Optimized memset() for ARM.
*
* memset() returns its first argument.
*/
/* compute the offset to align the destination
* offset = (4-(src&3))&3 = -src & 3
*/
.save {r0, r4-r7, lr}
stmfd sp!, {r0, r4-r7, lr}
rsb r3, r0, #0
ands r3, r3, #3
cmp r3, r2
movhi r3, r2
/* splat r1 */
mov r1, r1, lsl #24
orr r1, r1, r1, lsr #8
orr r1, r1, r1, lsr #16
movs r12, r3, lsl #31
strcsb r1, [r0], #1 /* can't use strh (alignment unknown) */
strcsb r1, [r0], #1
strmib r1, [r0], #1
subs r2, r2, r3
ldmlsfd sp!, {r0, r4-r7, lr} /* return */
bxls lr
/* align the destination to a cache-line */
mov r12, r1
mov lr, r1
mov r4, r1
mov r5, r1
mov r6, r1
mov r7, r1
rsb r3, r0, #0
ands r3, r3, #0x1C
beq 3f
cmp r3, r2
andhi r3, r2, #0x1C
sub r2, r2, r3
/* conditionally writes 0 to 7 words (length in r3) */
movs r3, r3, lsl #28
stmcsia r0!, {r1, lr}
stmcsia r0!, {r1, lr}
stmmiia r0!, {r1, lr}
movs r3, r3, lsl #2
strcs r1, [r0], #4
3:
subs r2, r2, #32
mov r3, r1
bmi 2f
1: subs r2, r2, #32
stmia r0!, {r1,r3,r4,r5,r6,r7,r12,lr}
bhs 1b
2: add r2, r2, #32
/* conditionally stores 0 to 31 bytes */
movs r2, r2, lsl #28
stmcsia r0!, {r1,r3,r12,lr}
stmmiia r0!, {r1, lr}
movs r2, r2, lsl #2
strcs r1, [r0], #4
strmih r1, [r0], #2
movs r2, r2, lsl #2
strcsb r1, [r0]
ldmfd sp!, {r0, r4-r7, lr}
bx lr
END(memset)

View File

@ -0,0 +1,42 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
// Export this to maintain ABI compatibilty with libgcc, since compiler-rt
// doesn't use a table-driven implementation of __popcount.
const unsigned char __popcount_tab[256] = {
0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3,
3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4,
3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4,
4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5,
3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2,
2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5,
4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5,
5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5,
5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8
};

View File

@ -1,6 +1,3 @@
/* $OpenBSD: setjmp.S,v 1.2 2004/02/01 05:40:52 drahn Exp $ */
/* $NetBSD: setjmp.S,v 1.5 2003/04/05 23:08:51 bjh21 Exp $ */
/*
* Copyright (c) 1997 Mark Brinicombe
* Copyright (c) 2010 Android Open Source Project.
@ -34,109 +31,204 @@
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include <machine/setjmp.h>
#include <machine/cpu-features.h>
#include <private/bionic_asm.h>
/*
* C library -- setjmp, longjmp
*
* longjmp(a,v)
* will generate a "return(v)" from the last call to
* setjmp(a)
* by restoring registers from the stack.
* The previous signal state is restored.
*/
// According to the ARM AAPCS document, we only need to save
// the following registers:
//
// Core r4-r14
//
// VFP d8-d15 (see section 5.1.2.1)
//
// Registers s16-s31 (d8-d15, q4-q7) must be preserved across subroutine
// calls; registers s0-s15 (d0-d7, q0-q3) do not need to be preserved
// (and can be used for passing arguments or returning results in standard
// procedure-call variants). Registers d16-d31 (q8-q15), if present, do
// not need to be preserved.
//
// FPSCR saved because glibc does.
// The internal structure of a jmp_buf is totally private.
// Current layout (may change in the future):
//
// word name description
// 0 sigflag/cookie setjmp cookie in top 31 bits, signal mask flag in low bit
// 1 sigmask signal mask (not used with _setjmp / _longjmp)
// 2 float_base base of float registers (d8 to d15)
// 18 float_state floating-point status and control register
// 19 core_base base of core registers (r4 to r14)
// 30 reserved reserved entries (room to grow)
// 64
//
// NOTE: float_base must be at an even word index, since the
// FP registers will be loaded/stored with instructions
// that expect 8-byte alignment.
#define _JB_SIGFLAG 0
#define _JB_SIGMASK (_JB_SIGFLAG+1)
#define _JB_FLOAT_BASE (_JB_SIGMASK+1)
#define _JB_FLOAT_STATE (_JB_FLOAT_BASE + (15-8+1)*2)
#define _JB_CORE_BASE (_JB_FLOAT_STATE+1)
ENTRY(setjmp)
/* Block all signals and retrieve the old signal mask */
stmfd sp!, {r0, r14}
mov r0, #0x00000000
bl PIC_SYM(_C_LABEL(sigblock), PLT)
mov r1, r0
ldmfd sp!, {r0, r14}
/* Store signal mask */
str r1, [r0, #(_JB_SIGMASK * 4)]
ldr r1, .Lsetjmp_magic
str r1, [r0, #(_JB_MAGIC * 4)]
/* Store core registers */
add r1, r0, #(_JB_CORE_BASE * 4)
stmia r1, {r4-r14}
#ifdef __ARM_HAVE_VFP
/* Store floating-point registers */
add r1, r0, #(_JB_FLOAT_BASE * 4)
vstmia r1, {d8-d15}
/* Store floating-point state */
fmrx r1, fpscr
str r1, [r0, #(_JB_FLOAT_STATE * 4)]
#endif /* __ARM_HAVE_VFP */
mov r0, #0x00000000
bx lr
mov r1, #1
b sigsetjmp
END(setjmp)
.Lsetjmp_magic:
.word _JB_MAGIC_SETJMP
ENTRY(_setjmp)
mov r1, #0
b sigsetjmp
END(_setjmp)
ENTRY(longjmp)
ldr r2, .Lsetjmp_magic
ldr r3, [r0, #(_JB_MAGIC * 4)]
teq r2, r3
bne botch
/* Fetch signal mask */
ldr r2, [r0, #(_JB_SIGMASK * 4)]
/* Set signal mask */
stmfd sp!, {r0, r1, r14}
sub sp, sp, #4 /* align the stack */
mov r0, r2
bl PIC_SYM(_C_LABEL(sigsetmask), PLT)
add sp, sp, #4 /* unalign the stack */
ldmfd sp!, {r0, r1, r14}
#ifdef __ARM_HAVE_VFP
/* Restore floating-point registers */
add r2, r0, #(_JB_FLOAT_BASE * 4)
vldmia r2, {d8-d15}
/* Restore floating-point state */
ldr r2, [r0, #(_JB_FLOAT_STATE * 4)]
fmxr fpscr, r2
#endif /* __ARM_HAVE_VFP */
/* Restore core registers */
add r2, r0, #(_JB_CORE_BASE * 4)
ldmia r2, {r4-r14}
/* Validate sp and r14 */
teq sp, #0
teqne r14, #0
beq botch
/* Set return value */
mov r0, r1
teq r0, #0x00000000
moveq r0, #0x00000001
bx lr
#ifdef __ARM_26__
mov r15, r14
#else
mov r15, r14
#define MANGLE_REGISTERS 1
.macro m_mangle_registers reg
#if MANGLE_REGISTERS
eor r4, r4, \reg
eor r5, r5, \reg
eor r6, r6, \reg
eor r7, r7, \reg
eor r8, r8, \reg
eor r9, r9, \reg
eor r10, r10, \reg
eor r11, r11, \reg
eor r12, r12, \reg
eor r13, r13, \reg
eor r14, r14, \reg
#endif
.endm
/* validation failed, die die die. */
botch:
bl PIC_SYM(_C_LABEL(longjmperror), PLT)
bl PIC_SYM(_C_LABEL(abort), PLT)
b . - 8 /* Cannot get here */
END(longjmp)
.macro m_unmangle_registers reg
m_mangle_registers \reg
.endm
// int sigsetjmp(sigjmp_buf env, int save_signal_mask);
ENTRY(sigsetjmp)
stmfd sp!, {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
mov r0, r1
bl __bionic_setjmp_cookie_get
mov r1, r0
ldmfd sp, {r0}
// Save the setjmp cookie for later.
bic r2, r1, #1
stmfd sp!, {r2}
.cfi_adjust_cfa_offset 4
// Record the setjmp cookie and whether or not we're saving the signal mask.
str r1, [r0, #(_JB_SIGFLAG * 4)]
// Do we need to save the signal mask?
tst r1, #1
beq 1f
// Align the stack.
sub sp, #4
.cfi_adjust_cfa_offset 4
// Save the current signal mask.
add r2, r0, #(_JB_SIGMASK * 4)
mov r0, #2 // SIG_SETMASK
mov r1, #0
bl sigprocmask
// Unalign the stack.
add sp, #4
.cfi_adjust_cfa_offset -4
1:
ldmfd sp!, {r2}
.cfi_adjust_cfa_offset -4
ldmfd sp!, {r0, lr}
.cfi_adjust_cfa_offset -8
.cfi_restore r0
.cfi_restore lr
// Save core registers.
add r1, r0, #(_JB_CORE_BASE * 4)
m_mangle_registers r2
// ARM deprecates using sp in the register list for stmia.
stmia r1, {r4-r12, lr}
str sp, [r1, #(10 * 4)]
m_unmangle_registers r2
// Save floating-point registers.
add r1, r0, #(_JB_FLOAT_BASE * 4)
vstmia r1, {d8-d15}
// Save floating-point state.
fmrx r1, fpscr
str r1, [r0, #(_JB_FLOAT_STATE * 4)]
mov r0, #0
bx lr
END(sigsetjmp)
// void siglongjmp(sigjmp_buf env, int value);
ENTRY(siglongjmp)
stmfd sp!, {r0, r1, lr}
.cfi_def_cfa_offset 12
.cfi_rel_offset r0, 0
.cfi_rel_offset r1, 4
.cfi_rel_offset lr, 8
// Fetch the signal flag.
ldr r1, [r0, #(_JB_SIGFLAG * 4)]
// Do we need to restore the signal mask?
ands r1, r1, #1
beq 1f
// Restore the signal mask.
ldr r0, [r0, #(_JB_SIGMASK * 4)]
bl sigsetmask
1:
ldmfd sp!, {r0, r1, lr}
.cfi_adjust_cfa_offset -12
.cfi_restore r0
.cfi_restore r1
.cfi_restore lr
// Restore floating-point registers.
add r2, r0, #(_JB_FLOAT_BASE * 4)
vldmia r2, {d8-d15}
// Restore floating-point state.
ldr r2, [r0, #(_JB_FLOAT_STATE * 4)]
fmxr fpscr, r2
// Restore core registers.
ldr r3, [r0, #(_JB_SIGFLAG * 4)]
bic r3, r3, #1
add r2, r0, #(_JB_CORE_BASE * 4)
// ARM deprecates using sp in the register list for ldmia.
ldmia r2, {r4-r12, lr}
ldr sp, [r2, #(10 * 4)]
m_unmangle_registers r3
// Save the return value/address and check the setjmp cookie.
stmfd sp!, {r1, lr}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset lr, 4
mov r0, r3
bl __bionic_setjmp_cookie_check
// Restore return value/address.
ldmfd sp!, {r0, lr}
.cfi_adjust_cfa_offset -8
.cfi_restore lr
teq r0, #0
moveq r0, #1
bx lr
END(siglongjmp)
ALIAS_SYMBOL(longjmp, siglongjmp)
ALIAS_SYMBOL(_longjmp, siglongjmp)

View File

@ -1,66 +0,0 @@
/* $OpenBSD: sigsetjmp.S,v 1.2 2004/02/01 05:40:52 drahn Exp $ */
/* $NetBSD: sigsetjmp.S,v 1.3 2002/08/17 19:54:30 thorpej Exp $ */
/*
* Copyright (c) 1997 Mark Brinicombe
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. All advertising materials mentioning features or use of this software
* must display the following acknowledgement:
* This product includes software developed by Mark Brinicombe
* 4. Neither the name of the University nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#define _ALIGN_TEXT .align 0
#include <machine/asm.h>
#include <machine/setjmp.h>
/*
* C library -- sigsetjmp, siglongjmp
*
* longjmp(a,v)
* will generate a "return(v)" from the last call to
* setjmp(a, m)
* by restoring registers from the stack.
* The previous signal state is restored.
*/
ENTRY(sigsetjmp)
teq r1, #0
beq PIC_SYM(_C_LABEL(_setjmp), PLT)
b PIC_SYM(_C_LABEL(setjmp), PLT)
END(sigsetjmp)
.L_setjmp_magic:
.word _JB_MAGIC__SETJMP
ENTRY(siglongjmp)
ldr r2, .L_setjmp_magic
ldr r3, [r0]
teq r2, r3
beq PIC_SYM(_C_LABEL(_longjmp), PLT)
b PIC_SYM(_C_LABEL(longjmp), PLT)
END(siglongjmp)

View File

@ -1,317 +0,0 @@
/*
* Copyright (c) 2011 The Android Open Source Project
* Copyright (c) 2008 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
.text
#ifdef __ARMEB__
#define SHFT2LSB lsl
#define SHFT2LSBEQ lsleq
#define SHFT2MSB lsr
#define SHFT2MSBEQ lsreq
#define MSB 0x000000ff
#define LSB 0xff000000
#else
#define SHFT2LSB lsr
#define SHFT2LSBEQ lsreq
#define SHFT2MSB lsl
#define SHFT2MSBEQ lsleq
#define MSB 0xff000000
#define LSB 0x000000ff
#endif
#define magic1(REG) REG
#define magic2(REG) REG, lsl #7
ENTRY(strcmp)
PLD(r0, #0)
PLD(r1, #0)
eor r2, r0, r1
tst r2, #3
/* Strings not at same byte offset from a word boundary. */
bne .Lstrcmp_unaligned
ands r2, r0, #3
bic r0, r0, #3
bic r1, r1, #3
ldr ip, [r0], #4
it eq
ldreq r3, [r1], #4
beq 1f
/* Although s1 and s2 have identical initial alignment, they are
* not currently word aligned. Rather than comparing bytes,
* make sure that any bytes fetched from before the addressed
* bytes are forced to 0xff. Then they will always compare
* equal.
*/
eor r2, r2, #3
lsl r2, r2, #3
mvn r3, #MSB
SHFT2LSB r2, r3, r2
ldr r3, [r1], #4
orr ip, ip, r2
orr r3, r3, r2
1:
/* Load the 'magic' constant 0x01010101. */
str r4, [sp, #-4]!
mov r4, #1
orr r4, r4, r4, lsl #8
orr r4, r4, r4, lsl #16
.p2align 2
4:
PLD(r0, #8)
PLD(r1, #8)
sub r2, ip, magic1(r4)
cmp ip, r3
itttt eq
/* check for any zero bytes in first word */
biceq r2, r2, ip
tsteq r2, magic2(r4)
ldreq ip, [r0], #4
ldreq r3, [r1], #4
beq 4b
2:
/* There's a zero or a different byte in the word */
SHFT2MSB r0, ip, #24
SHFT2LSB ip, ip, #8
cmp r0, #1
it cs
cmpcs r0, r3, SHFT2MSB #24
it eq
SHFT2LSBEQ r3, r3, #8
beq 2b
/* On a big-endian machine, r0 contains the desired byte in bits
* 0-7; on a little-endian machine they are in bits 24-31. In
* both cases the other bits in r0 are all zero. For r3 the
* interesting byte is at the other end of the word, but the
* other bits are not necessarily zero. We need a signed result
* representing the differnece in the unsigned bytes, so for the
* little-endian case we can't just shift the interesting bits up.
*/
#ifdef __ARMEB__
sub r0, r0, r3, lsr #24
#else
and r3, r3, #255
/* No RSB instruction in Thumb2 */
#ifdef __thumb2__
lsr r0, r0, #24
sub r0, r0, r3
#else
rsb r0, r3, r0, lsr #24
#endif
#endif
ldr r4, [sp], #4
bx lr
.Lstrcmp_unaligned:
wp1 .req r0
wp2 .req r1
b1 .req r2
w1 .req r4
w2 .req r5
t1 .req ip
@ r3 is scratch
/* First of all, compare bytes until wp1(sp1) is word-aligned. */
1:
tst wp1, #3
beq 2f
ldrb r2, [wp1], #1
ldrb r3, [wp2], #1
cmp r2, #1
it cs
cmpcs r2, r3
beq 1b
sub r0, r2, r3
bx lr
2:
str r5, [sp, #-4]!
str r4, [sp, #-4]!
mov b1, #1
orr b1, b1, b1, lsl #8
orr b1, b1, b1, lsl #16
and t1, wp2, #3
bic wp2, wp2, #3
ldr w1, [wp1], #4
ldr w2, [wp2], #4
cmp t1, #2
beq 2f
bhi 3f
/* Critical inner Loop: Block with 3 bytes initial overlap */
.p2align 2
1:
bic t1, w1, #MSB
cmp t1, w2, SHFT2LSB #8
sub r3, w1, b1
bic r3, r3, w1
bne 4f
ands r3, r3, b1, lsl #7
it eq
ldreq w2, [wp2], #4
bne 5f
eor t1, t1, w1
cmp t1, w2, SHFT2MSB #24
bne 6f
ldr w1, [wp1], #4
b 1b
4:
SHFT2LSB w2, w2, #8
b 8f
5:
#ifdef __ARMEB__
/* The syndrome value may contain false ones if the string ends
* with the bytes 0x01 0x00
*/
tst w1, #0xff000000
itt ne
tstne w1, #0x00ff0000
tstne w1, #0x0000ff00
beq 7f
#else
bics r3, r3, #0xff000000
bne 7f
#endif
ldrb w2, [wp2]
SHFT2LSB t1, w1, #24
#ifdef __ARMEB__
lsl w2, w2, #24
#endif
b 8f
6:
SHFT2LSB t1, w1, #24
and w2, w2, #LSB
b 8f
/* Critical inner Loop: Block with 2 bytes initial overlap */
.p2align 2
2:
SHFT2MSB t1, w1, #16
sub r3, w1, b1
SHFT2LSB t1, t1, #16
bic r3, r3, w1
cmp t1, w2, SHFT2LSB #16
bne 4f
ands r3, r3, b1, lsl #7
it eq
ldreq w2, [wp2], #4
bne 5f
eor t1, t1, w1
cmp t1, w2, SHFT2MSB #16
bne 6f
ldr w1, [wp1], #4
b 2b
5:
#ifdef __ARMEB__
/* The syndrome value may contain false ones if the string ends
* with the bytes 0x01 0x00
*/
tst w1, #0xff000000
it ne
tstne w1, #0x00ff0000
beq 7f
#else
lsls r3, r3, #16
bne 7f
#endif
ldrh w2, [wp2]
SHFT2LSB t1, w1, #16
#ifdef __ARMEB__
lsl w2, w2, #16
#endif
b 8f
6:
SHFT2MSB w2, w2, #16
SHFT2LSB t1, w1, #16
4:
SHFT2LSB w2, w2, #16
b 8f
/* Critical inner Loop: Block with 1 byte initial overlap */
.p2align 2
3:
and t1, w1, #LSB
cmp t1, w2, SHFT2LSB #24
sub r3, w1, b1
bic r3, r3, w1
bne 4f
ands r3, r3, b1, lsl #7
it eq
ldreq w2, [wp2], #4
bne 5f
eor t1, t1, w1
cmp t1, w2, SHFT2MSB #8
bne 6f
ldr w1, [wp1], #4
b 3b
4:
SHFT2LSB w2, w2, #24
b 8f
5:
/* The syndrome value may contain false ones if the string ends
* with the bytes 0x01 0x00
*/
tst w1, #LSB
beq 7f
ldr w2, [wp2], #4
6:
SHFT2LSB t1, w1, #8
bic w2, w2, #MSB
b 8f
7:
mov r0, #0
ldr r4, [sp], #4
ldr r5, [sp], #4
bx lr
8:
and r2, t1, #LSB
and r0, w2, #LSB
cmp r0, #1
it cs
cmpcs r0, r2
itt eq
SHFT2LSBEQ t1, t1, #8
SHFT2LSBEQ w2, w2, #8
beq 8b
sub r0, r2, r0
ldr r4, [sp], #4
ldr r5, [sp], #4
bx lr
END(strcmp)

View File

@ -1,787 +0,0 @@
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "arm_asm.h"
#ifdef __ARMEB__
#define S2LOMEM lsl
#define S2LOMEMEQ lsleq
#define S2HIMEM lsr
#define MSB 0x000000ff
#define LSB 0xff000000
#define BYTE0_OFFSET 24
#define BYTE1_OFFSET 16
#define BYTE2_OFFSET 8
#define BYTE3_OFFSET 0
#else /* not __ARMEB__ */
#define S2LOMEM lsr
#define S2LOMEMEQ lsreq
#define S2HIMEM lsl
#define BYTE0_OFFSET 0
#define BYTE1_OFFSET 8
#define BYTE2_OFFSET 16
#define BYTE3_OFFSET 24
#define MSB 0xff000000
#define LSB 0x000000ff
#endif /* not __ARMEB__ */
.syntax unified
#if defined (__thumb__)
.thumb
.thumb_func
#endif
.global strcmp
.type strcmp, %function
strcmp:
#if (defined (__thumb__) && !defined (__thumb2__))
1:
ldrb r2, [r0]
ldrb r3, [r1]
adds r0, r0, #1
adds r1, r1, #1
cmp r2, #0
beq 2f
cmp r2, r3
beq 1b
2:
subs r0, r2, r3
bx lr
#elif (defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED))
1:
ldrb r2, [r0], #1
ldrb r3, [r1], #1
cmp r2, #1
it cs
cmpcs r2, r3
beq 1b
subs r0, r2, r3
RETURN
#elif (defined (_ISA_THUMB_2) || defined (_ISA_ARM_6))
/* Use LDRD whenever possible. */
/* The main thing to look out for when comparing large blocks is that
the loads do not cross a page boundary when loading past the index
of the byte with the first difference or the first string-terminator.
For example, if the strings are identical and the string-terminator
is at index k, byte by byte comparison will not load beyond address
s1+k and s2+k; word by word comparison may load up to 3 bytes beyond
k; double word - up to 7 bytes. If the load of these bytes crosses
a page boundary, it might cause a memory fault (if the page is not mapped)
that would not have happened in byte by byte comparison.
If an address is (double) word aligned, then a load of a (double) word
from that address will not cross a page boundary.
Therefore, the algorithm below considers word and double-word alignment
of strings separately. */
/* High-level description of the algorithm.
* The fast path: if both strings are double-word aligned,
use LDRD to load two words from each string in every loop iteration.
* If the strings have the same offset from a word boundary,
use LDRB to load and compare byte by byte until
the first string is aligned to a word boundary (at most 3 bytes).
This is optimized for quick return on short unaligned strings.
* If the strings have the same offset from a double-word boundary,
use LDRD to load two words from each string in every loop iteration, as in the fast path.
* If the strings do not have the same offset from a double-word boundary,
load a word from the second string before the loop to initialize the queue.
Use LDRD to load two words from every string in every loop iteration.
Inside the loop, load the second word from the second string only after comparing
the first word, using the queued value, to guarantee safety across page boundaries.
* If the strings do not have the same offset from a word boundary,
use LDR and a shift queue. Order of loads and comparisons matters,
similarly to the previous case.
* Use UADD8 and SEL to compare words, and use REV and CLZ to compute the return value.
* The only difference between ARM and Thumb modes is the use of CBZ instruction.
* The only difference between big and little endian is the use of REV in little endian
to compute the return value, instead of MOV.
* No preload. [TODO.]
*/
.macro m_cbz reg label
#ifdef __thumb2__
cbz \reg, \label
#else /* not defined __thumb2__ */
cmp \reg, #0
beq \label
#endif /* not defined __thumb2__ */
.endm /* m_cbz */
.macro m_cbnz reg label
#ifdef __thumb2__
cbnz \reg, \label
#else /* not defined __thumb2__ */
cmp \reg, #0
bne \label
#endif /* not defined __thumb2__ */
.endm /* m_cbnz */
.macro init
/* Macro to save temporary registers and prepare magic values. */
subs sp, sp, #16
strd r4, r5, [sp, #8]
strd r6, r7, [sp]
mvn r6, #0 /* all F */
mov r7, #0 /* all 0 */
.endm /* init */
.macro magic_compare_and_branch w1 w2 label
/* Macro to compare registers w1 and w2 and conditionally branch to label. */
cmp \w1, \w2 /* Are w1 and w2 the same? */
magic_find_zero_bytes \w1
it eq
cmpeq ip, #0 /* Is there a zero byte in w1? */
bne \label
.endm /* magic_compare_and_branch */
.macro magic_find_zero_bytes w1
/* Macro to find all-zero bytes in w1, result is in ip. */
#if (defined (__ARM_FEATURE_DSP))
uadd8 ip, \w1, r6
sel ip, r7, r6
#else /* not defined (__ARM_FEATURE_DSP) */
/* __ARM_FEATURE_DSP is not defined for some Cortex-M processors.
Coincidently, these processors only have Thumb-2 mode, where we can use the
the (large) magic constant available directly as an immediate in instructions.
Note that we cannot use the magic constant in ARM mode, where we need
to create the constant in a register. */
sub ip, \w1, #0x01010101
bic ip, ip, \w1
and ip, ip, #0x80808080
#endif /* not defined (__ARM_FEATURE_DSP) */
.endm /* magic_find_zero_bytes */
.macro setup_return w1 w2
#ifdef __ARMEB__
mov r1, \w1
mov r2, \w2
#else /* not __ARMEB__ */
rev r1, \w1
rev r2, \w2
#endif /* not __ARMEB__ */
.endm /* setup_return */
/*
optpld r0, #0
optpld r1, #0
*/
/* Are both strings double-word aligned? */
orr ip, r0, r1
tst ip, #7
bne do_align
/* Fast path. */
init
doubleword_aligned:
/* Get here when the strings to compare are double-word aligned. */
/* Compare two words in every iteration. */
.p2align 2
2:
/*
optpld r0, #16
optpld r1, #16
*/
/* Load the next double-word from each string. */
ldrd r2, r3, [r0], #8
ldrd r4, r5, [r1], #8
magic_compare_and_branch w1=r2, w2=r4, label=return_24
magic_compare_and_branch w1=r3, w2=r5, label=return_35
b 2b
do_align:
/* Is the first string word-aligned? */
ands ip, r0, #3
beq word_aligned_r0
/* Fast compare byte by byte until the first string is word-aligned. */
/* The offset of r0 from a word boundary is in ip. Thus, the number of bytes
to read until the next word boudnary is 4-ip. */
bic r0, r0, #3
ldr r2, [r0], #4
lsls ip, ip, #31
beq byte2
bcs byte3
byte1:
ldrb ip, [r1], #1
uxtb r3, r2, ror #BYTE1_OFFSET
subs ip, r3, ip
bne fast_return
m_cbz reg=r3, label=fast_return
byte2:
ldrb ip, [r1], #1
uxtb r3, r2, ror #BYTE2_OFFSET
subs ip, r3, ip
bne fast_return
m_cbz reg=r3, label=fast_return
byte3:
ldrb ip, [r1], #1
uxtb r3, r2, ror #BYTE3_OFFSET
subs ip, r3, ip
bne fast_return
m_cbnz reg=r3, label=word_aligned_r0
fast_return:
mov r0, ip
bx lr
word_aligned_r0:
init
/* The first string is word-aligned. */
/* Is the second string word-aligned? */
ands ip, r1, #3
bne strcmp_unaligned
word_aligned:
/* The strings are word-aligned. */
/* Is the first string double-word aligned? */
tst r0, #4
beq doubleword_aligned_r0
/* If r0 is not double-word aligned yet, align it by loading
and comparing the next word from each string. */
ldr r2, [r0], #4
ldr r4, [r1], #4
magic_compare_and_branch w1=r2 w2=r4 label=return_24
doubleword_aligned_r0:
/* Get here when r0 is double-word aligned. */
/* Is r1 doubleword_aligned? */
tst r1, #4
beq doubleword_aligned
/* Get here when the strings to compare are word-aligned,
r0 is double-word aligned, but r1 is not double-word aligned. */
/* Initialize the queue. */
ldr r5, [r1], #4
/* Compare two words in every iteration. */
.p2align 2
3:
/*
optpld r0, #16
optpld r1, #16
*/
/* Load the next double-word from each string and compare. */
ldrd r2, r3, [r0], #8
magic_compare_and_branch w1=r2 w2=r5 label=return_25
ldrd r4, r5, [r1], #8
magic_compare_and_branch w1=r3 w2=r4 label=return_34
b 3b
.macro miscmp_word offsetlo offsethi
/* Macro to compare misaligned strings. */
/* r0, r1 are word-aligned, and at least one of the strings
is not double-word aligned. */
/* Compare one word in every loop iteration. */
/* OFFSETLO is the original bit-offset of r1 from a word-boundary,
OFFSETHI is 32 - OFFSETLO (i.e., offset from the next word). */
/* Initialize the shift queue. */
ldr r5, [r1], #4
/* Compare one word from each string in every loop iteration. */
.p2align 2
7:
ldr r3, [r0], #4
S2LOMEM r5, r5, #\offsetlo
magic_find_zero_bytes w1=r3
cmp r7, ip, S2HIMEM #\offsetlo
and r2, r3, r6, S2LOMEM #\offsetlo
it eq
cmpeq r2, r5
bne return_25
ldr r5, [r1], #4
cmp ip, #0
eor r3, r2, r3
S2HIMEM r2, r5, #\offsethi
it eq
cmpeq r3, r2
bne return_32
b 7b
.endm /* miscmp_word */
strcmp_unaligned:
/* r0 is word-aligned, r1 is at offset ip from a word. */
/* Align r1 to the (previous) word-boundary. */
bic r1, r1, #3
/* Unaligned comparison word by word using LDRs. */
cmp ip, #2
beq miscmp_word_16 /* If ip == 2. */
bge miscmp_word_24 /* If ip == 3. */
miscmp_word offsetlo=8 offsethi=24 /* If ip == 1. */
miscmp_word_16: miscmp_word offsetlo=16 offsethi=16
miscmp_word_24: miscmp_word offsetlo=24 offsethi=8
return_32:
setup_return w1=r3, w2=r2
b do_return
return_34:
setup_return w1=r3, w2=r4
b do_return
return_25:
setup_return w1=r2, w2=r5
b do_return
return_35:
setup_return w1=r3, w2=r5
b do_return
return_24:
setup_return w1=r2, w2=r4
do_return:
#ifdef __ARMEB__
mov r0, ip
#else /* not __ARMEB__ */
rev r0, ip
#endif /* not __ARMEB__ */
/* Restore temporaries early, before computing the return value. */
ldrd r6, r7, [sp]
ldrd r4, r5, [sp, #8]
adds sp, sp, #16
/* There is a zero or a different byte between r1 and r2. */
/* r0 contains a mask of all-zero bytes in r1. */
/* Using r0 and not ip here because cbz requires low register. */
m_cbz reg=r0, label=compute_return_value
clz r0, r0
/* r0 contains the number of bits on the left of the first all-zero byte in r1. */
rsb r0, r0, #24
/* Here, r0 contains the number of bits on the right of the first all-zero byte in r1. */
lsr r1, r1, r0
lsr r2, r2, r0
compute_return_value:
movs r0, #1
cmp r1, r2
/* The return value is computed as follows.
If r1>r2 then (C==1 and Z==0) and LS doesn't hold and r0 is #1 at return.
If r1<r2 then (C==0 and Z==0) and we execute SBC with carry_in=0,
which means r0:=r0-r0-1 and r0 is #-1 at return.
If r1=r2 then (C==1 and Z==1) and we execute SBC with carry_in=1,
which means r0:=r0-r0 and r0 is #0 at return.
(C==0 and Z==1) cannot happen because the carry bit is "not borrow". */
it ls
sbcls r0, r0, r0
bx lr
#else /* !(defined (_ISA_THUMB_2) || defined (_ISA_ARM_6)
defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) ||
(defined (__thumb__) && !defined (__thumb2__))) */
/* Use LDR whenever possible. */
#ifdef __thumb2__
#define magic1(REG) 0x01010101
#define magic2(REG) 0x80808080
#else
#define magic1(REG) REG
#define magic2(REG) REG, lsl #7
#endif
optpld r0
optpld r1
eor r2, r0, r1
tst r2, #3
/* Strings not at same byte offset from a word boundary. */
bne strcmp_unaligned
ands r2, r0, #3
bic r0, r0, #3
bic r1, r1, #3
ldr ip, [r0], #4
it eq
ldreq r3, [r1], #4
beq 1f
/* Although s1 and s2 have identical initial alignment, they are
not currently word aligned. Rather than comparing bytes,
make sure that any bytes fetched from before the addressed
bytes are forced to 0xff. Then they will always compare
equal. */
eor r2, r2, #3
lsl r2, r2, #3
mvn r3, MSB
S2LOMEM r2, r3, r2
ldr r3, [r1], #4
orr ip, ip, r2
orr r3, r3, r2
1:
#ifndef __thumb2__
/* Load the 'magic' constant 0x01010101. */
str r4, [sp, #-4]!
mov r4, #1
orr r4, r4, r4, lsl #8
orr r4, r4, r4, lsl #16
#endif
.p2align 2
4:
optpld r0, #8
optpld r1, #8
sub r2, ip, magic1(r4)
cmp ip, r3
itttt eq
/* check for any zero bytes in first word */
biceq r2, r2, ip
tsteq r2, magic2(r4)
ldreq ip, [r0], #4
ldreq r3, [r1], #4
beq 4b
2:
/* There's a zero or a different byte in the word */
S2HIMEM r0, ip, #24
S2LOMEM ip, ip, #8
cmp r0, #1
it cs
cmpcs r0, r3, S2HIMEM #24
it eq
S2LOMEMEQ r3, r3, #8
beq 2b
/* On a big-endian machine, r0 contains the desired byte in bits
0-7; on a little-endian machine they are in bits 24-31. In
both cases the other bits in r0 are all zero. For r3 the
interesting byte is at the other end of the word, but the
other bits are not necessarily zero. We need a signed result
representing the differnece in the unsigned bytes, so for the
little-endian case we can't just shift the interesting bits
up. */
#ifdef __ARMEB__
sub r0, r0, r3, lsr #24
#else
and r3, r3, #255
#ifdef __thumb2__
/* No RSB instruction in Thumb2 */
lsr r0, r0, #24
sub r0, r0, r3
#else
rsb r0, r3, r0, lsr #24
#endif
#endif
#ifndef __thumb2__
ldr r4, [sp], #4
#endif
RETURN
strcmp_unaligned:
#if 0
/* The assembly code below is based on the following alogrithm. */
#ifdef __ARMEB__
#define RSHIFT <<
#define LSHIFT >>
#else
#define RSHIFT >>
#define LSHIFT <<
#endif
#define body(shift) \
mask = 0xffffffffU RSHIFT shift; \
w1 = *wp1++; \
w2 = *wp2++; \
do \
{ \
t1 = w1 & mask; \
if (__builtin_expect(t1 != w2 RSHIFT shift, 0)) \
{ \
w2 RSHIFT= shift; \
break; \
} \
if (__builtin_expect(((w1 - b1) & ~w1) & (b1 << 7), 0)) \
{ \
/* See comment in assembler below re syndrome on big-endian */\
if ((((w1 - b1) & ~w1) & (b1 << 7)) & mask) \
w2 RSHIFT= shift; \
else \
{ \
w2 = *wp2; \
t1 = w1 RSHIFT (32 - shift); \
w2 = (w2 LSHIFT (32 - shift)) RSHIFT (32 - shift); \
} \
break; \
} \
w2 = *wp2++; \
t1 ^= w1; \
if (__builtin_expect(t1 != w2 LSHIFT (32 - shift), 0)) \
{ \
t1 = w1 >> (32 - shift); \
w2 = (w2 << (32 - shift)) RSHIFT (32 - shift); \
break; \
} \
w1 = *wp1++; \
} while (1)
const unsigned* wp1;
const unsigned* wp2;
unsigned w1, w2;
unsigned mask;
unsigned shift;
unsigned b1 = 0x01010101;
char c1, c2;
unsigned t1;
while (((unsigned) s1) & 3)
{
c1 = *s1++;
c2 = *s2++;
if (c1 == 0 || c1 != c2)
return c1 - (int)c2;
}
wp1 = (unsigned*) (((unsigned)s1) & ~3);
wp2 = (unsigned*) (((unsigned)s2) & ~3);
t1 = ((unsigned) s2) & 3;
if (t1 == 1)
{
body(8);
}
else if (t1 == 2)
{
body(16);
}
else
{
body (24);
}
do
{
#ifdef __ARMEB__
c1 = (char) t1 >> 24;
c2 = (char) w2 >> 24;
#else /* not __ARMEB__ */
c1 = (char) t1;
c2 = (char) w2;
#endif /* not __ARMEB__ */
t1 RSHIFT= 8;
w2 RSHIFT= 8;
} while (c1 != 0 && c1 == c2);
return c1 - c2;
#endif /* 0 */
wp1 .req r0
wp2 .req r1
b1 .req r2
w1 .req r4
w2 .req r5
t1 .req ip
@ r3 is scratch
/* First of all, compare bytes until wp1(sp1) is word-aligned. */
1:
tst wp1, #3
beq 2f
ldrb r2, [wp1], #1
ldrb r3, [wp2], #1
cmp r2, #1
it cs
cmpcs r2, r3
beq 1b
sub r0, r2, r3
RETURN
2:
str r5, [sp, #-4]!
str r4, [sp, #-4]!
//stmfd sp!, {r4, r5}
mov b1, #1
orr b1, b1, b1, lsl #8
orr b1, b1, b1, lsl #16
and t1, wp2, #3
bic wp2, wp2, #3
ldr w1, [wp1], #4
ldr w2, [wp2], #4
cmp t1, #2
beq 2f
bhi 3f
/* Critical inner Loop: Block with 3 bytes initial overlap */
.p2align 2
1:
bic t1, w1, MSB
cmp t1, w2, S2LOMEM #8
sub r3, w1, b1
bic r3, r3, w1
bne 4f
ands r3, r3, b1, lsl #7
it eq
ldreq w2, [wp2], #4
bne 5f
eor t1, t1, w1
cmp t1, w2, S2HIMEM #24
bne 6f
ldr w1, [wp1], #4
b 1b
4:
S2LOMEM w2, w2, #8
b 8f
5:
#ifdef __ARMEB__
/* The syndrome value may contain false ones if the string ends
with the bytes 0x01 0x00 */
tst w1, #0xff000000
itt ne
tstne w1, #0x00ff0000
tstne w1, #0x0000ff00
beq 7f
#else
bics r3, r3, #0xff000000
bne 7f
#endif
ldrb w2, [wp2]
S2LOMEM t1, w1, #24
#ifdef __ARMEB__
lsl w2, w2, #24
#endif
b 8f
6:
S2LOMEM t1, w1, #24
and w2, w2, LSB
b 8f
/* Critical inner Loop: Block with 2 bytes initial overlap */
.p2align 2
2:
S2HIMEM t1, w1, #16
sub r3, w1, b1
S2LOMEM t1, t1, #16
bic r3, r3, w1
cmp t1, w2, S2LOMEM #16
bne 4f
ands r3, r3, b1, lsl #7
it eq
ldreq w2, [wp2], #4
bne 5f
eor t1, t1, w1
cmp t1, w2, S2HIMEM #16
bne 6f
ldr w1, [wp1], #4
b 2b
5:
#ifdef __ARMEB__
/* The syndrome value may contain false ones if the string ends
with the bytes 0x01 0x00 */
tst w1, #0xff000000
it ne
tstne w1, #0x00ff0000
beq 7f
#else
lsls r3, r3, #16
bne 7f
#endif
ldrh w2, [wp2]
S2LOMEM t1, w1, #16
#ifdef __ARMEB__
lsl w2, w2, #16
#endif
b 8f
6:
S2HIMEM w2, w2, #16
S2LOMEM t1, w1, #16
4:
S2LOMEM w2, w2, #16
b 8f
/* Critical inner Loop: Block with 1 byte initial overlap */
.p2align 2
3:
and t1, w1, LSB
cmp t1, w2, S2LOMEM #24
sub r3, w1, b1
bic r3, r3, w1
bne 4f
ands r3, r3, b1, lsl #7
it eq
ldreq w2, [wp2], #4
bne 5f
eor t1, t1, w1
cmp t1, w2, S2HIMEM #8
bne 6f
ldr w1, [wp1], #4
b 3b
4:
S2LOMEM w2, w2, #24
b 8f
5:
/* The syndrome value may contain false ones if the string ends
with the bytes 0x01 0x00 */
tst w1, LSB
beq 7f
ldr w2, [wp2], #4
6:
S2LOMEM t1, w1, #8
bic w2, w2, MSB
b 8f
7:
mov r0, #0
//ldmfd sp!, {r4, r5}
ldr r4, [sp], #4
ldr r5, [sp], #4
RETURN
8:
and r2, t1, LSB
and r0, w2, LSB
cmp r0, #1
it cs
cmpcs r0, r2
itt eq
S2LOMEMEQ t1, t1, #8
S2LOMEMEQ w2, w2, #8
beq 8b
sub r0, r2, r0
//ldmfd sp!, {r4, r5}
ldr r4, [sp], #4
ldr r5, [sp], #4
RETURN
#endif /* !(defined (_ISA_THUMB_2) || defined (_ISA_ARM_6)
defined (__OPTIMIZE_SIZE__) || defined (PREFER_SIZE_OVER_SPEED) ||
(defined (__thumb__) && !defined (__thumb2__))) */

View File

@ -26,12 +26,16 @@
* SUCH DAMAGE.
*/
#include <linux/err.h>
#include <machine/asm.h>
#include <private/bionic_asm.h>
ENTRY(syscall)
mov ip, sp
stmfd sp!, {r4, r5, r6, r7}
.cfi_def_cfa_offset 16
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
.cfi_rel_offset r6, 8
.cfi_rel_offset r7, 12
mov r7, r0
mov r0, r1
mov r1, r2
@ -39,8 +43,9 @@ ENTRY(syscall)
ldmfd ip, {r3, r4, r5, r6}
swi #0
ldmfd sp!, {r4, r5, r6, r7}
.cfi_def_cfa_offset 0
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno
b __set_errno_internal
END(syscall)

View File

@ -1,51 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <linux/err.h>
#include <asm/unistd.h>
#include <machine/asm.h>
/* unlike our auto-generated syscall stubs, this code saves lr
on the stack, as well as a few other registers. this makes
our stack unwinder happy, when we generate debug stack
traces after the C library or other parts of the system
abort due to a fatal runtime error (e.g. detection
of a corrupted malloc heap).
*/
ENTRY(tgkill)
.save {r4-r7, ip, lr}
stmfd sp!, {r4-r7, ip, lr}
ldr r7, =__NR_tgkill
swi #0
ldmfd sp!, {r4-r7, ip, lr}
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno
END(tgkill)

View File

@ -1,50 +0,0 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <linux/err.h>
#include <asm/unistd.h>
#include <machine/asm.h>
/* unlike our auto-generated syscall stubs, this code saves lr
on the stack, as well as a few other registers. this makes
our stack unwinder happy, when we generate debug stack
traces after the C library or other parts of the system
abort due to a fatal runtime error (e.g. detection
of a corrupted malloc heap).
*/
ENTRY(tkill)
stmfd sp!, {r4-r7, ip, lr}
ldr r7, =__NR_tkill
swi #0
ldmfd sp!, {r4-r7, ip, lr}
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno
END(tkill)

View File

@ -0,0 +1,46 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
ENTRY(vfork)
// __get_tls()[TLS_SLOT_THREAD_ID]->cached_pid_ = 0
mrc p15, 0, r3, c13, c0, 3
ldr r3, [r3, #4]
mov r0, #0
str r0, [r3, #12]
mov ip, r7
ldr r7, =__NR_vfork
swi #0
mov r7, ip
cmn r0, #(MAX_ERRNO + 1)
bxls lr
neg r0, r0
b __set_errno_internal
END(vfork)

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -26,202 +26,7 @@
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include "libc_events.h"
// Indicate which memcpy base file to include.
#define MEMCPY_BASE "memcpy_base.S"
.syntax unified
.thumb
.thumb_func
// Get the length of src string, then get the source of the dst string.
// Check that the two lengths together don't exceed the threshold, then
// do a memcpy of the data.
ENTRY(__strcat_chk)
.cfi_startproc
pld [r0, #0]
push {r0, lr}
.save {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
push {r4, r5}
.save {r4, r5}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
mov lr, r2
// Save the dst register to r5
mov r5, r0
// Zero out r4
eor r4, r4, r4
// r1 contains the address of the string to count.
.L_strlen_start:
mov r0, r1
ands r3, r1, #7
beq .L_mainloop
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq .L_align_to_32
ldrb r2, [r1], #1
cbz r2, .L_update_count_and_finish
.L_align_to_32:
bcc .L_align_to_64
ands ip, r3, #2
beq .L_align_to_64
ldrb r2, [r1], #1
cbz r2, .L_update_count_and_finish
ldrb r2, [r1], #1
cbz r2, .L_update_count_and_finish
.L_align_to_64:
tst r3, #4
beq .L_mainloop
ldr r3, [r1], #4
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
.p2align 2
.L_mainloop:
ldrd r2, r3, [r1], #8
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .L_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
b .L_mainloop
.L_update_count_and_finish:
sub r3, r1, r0
sub r3, r3, #1
b .L_finish
.L_zero_in_first_register:
sub r3, r1, r0
lsls r2, ip, #17
bne .L_sub8_and_finish
bcs .L_sub7_and_finish
lsls ip, ip, #1
bne .L_sub6_and_finish
sub r3, r3, #5
b .L_finish
.L_sub8_and_finish:
sub r3, r3, #8
b .L_finish
.L_sub7_and_finish:
sub r3, r3, #7
b .L_finish
.L_sub6_and_finish:
sub r3, r3, #6
b .L_finish
.L_zero_in_second_register:
sub r3, r1, r0
lsls r2, ip, #17
bne .L_sub4_and_finish
bcs .L_sub3_and_finish
lsls ip, ip, #1
bne .L_sub2_and_finish
sub r3, r3, #1
b .L_finish
.L_sub4_and_finish:
sub r3, r3, #4
b .L_finish
.L_sub3_and_finish:
sub r3, r3, #3
b .L_finish
.L_sub2_and_finish:
sub r3, r3, #2
.L_finish:
cmp r4, #0
bne .L_strlen_done
// Time to get the dst string length.
mov r1, r5
// Save the original source address to r5.
mov r5, r0
// Save the current length (adding 1 for the terminator).
add r4, r3, #1
b .L_strlen_start
// r0 holds the pointer to the dst string.
// r3 holds the dst string length.
// r4 holds the src string length + 1.
.L_strlen_done:
add r2, r3, r4
cmp r2, lr
bhi __strcat_chk_failed
// Set up the registers for the memcpy code.
mov r1, r5
pld [r1, #64]
mov r2, r4
add r0, r0, r3
pop {r4, r5}
.cfi_endproc
END(__strcat_chk)
#define MEMCPY_BASE __strcat_chk_memcpy_base
#define MEMCPY_BASE_ALIGNED __strcat_chk_memcpy_base_aligned
#include "memcpy_base.S"
ENTRY(__strcat_chk_failed)
.cfi_startproc
.save {r0, lr}
.save {r4, r5}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_STRCAT_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
.cfi_endproc
END(__strcat_chk_failed)
.data
error_string:
.string "strcat buffer overflow"
#include "__strcat_chk_common.S"

View File

@ -0,0 +1,212 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
#include <private/libc_events.h>
.syntax unified
.thumb
.thumb_func
// Get the length of src string, then get the source of the dst string.
// Check that the two lengths together don't exceed the threshold, then
// do a memcpy of the data.
ENTRY(__strcat_chk)
pld [r0, #0]
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
push {r4, r5}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
mov lr, r2
// Save the dst register to r5
mov r5, r0
// Zero out r4
eor r4, r4, r4
// r1 contains the address of the string to count.
.L_strlen_start:
mov r0, r1
ands r3, r1, #7
beq .L_mainloop
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq .L_align_to_32
ldrb r2, [r1], #1
cbz r2, .L_update_count_and_finish
.L_align_to_32:
bcc .L_align_to_64
ands ip, r3, #2
beq .L_align_to_64
ldrb r2, [r1], #1
cbz r2, .L_update_count_and_finish
ldrb r2, [r1], #1
cbz r2, .L_update_count_and_finish
.L_align_to_64:
tst r3, #4
beq .L_mainloop
ldr r3, [r1], #4
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
.p2align 2
.L_mainloop:
ldrd r2, r3, [r1], #8
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .L_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
b .L_mainloop
.L_update_count_and_finish:
sub r3, r1, r0
sub r3, r3, #1
b .L_finish
.L_zero_in_first_register:
sub r3, r1, r0
lsls r2, ip, #17
bne .L_sub8_and_finish
bcs .L_sub7_and_finish
lsls ip, ip, #1
bne .L_sub6_and_finish
sub r3, r3, #5
b .L_finish
.L_sub8_and_finish:
sub r3, r3, #8
b .L_finish
.L_sub7_and_finish:
sub r3, r3, #7
b .L_finish
.L_sub6_and_finish:
sub r3, r3, #6
b .L_finish
.L_zero_in_second_register:
sub r3, r1, r0
lsls r2, ip, #17
bne .L_sub4_and_finish
bcs .L_sub3_and_finish
lsls ip, ip, #1
bne .L_sub2_and_finish
sub r3, r3, #1
b .L_finish
.L_sub4_and_finish:
sub r3, r3, #4
b .L_finish
.L_sub3_and_finish:
sub r3, r3, #3
b .L_finish
.L_sub2_and_finish:
sub r3, r3, #2
.L_finish:
cmp r4, #0
bne .L_strlen_done
// Time to get the dst string length.
mov r1, r5
// Save the original source address to r5.
mov r5, r0
// Save the current length (adding 1 for the terminator).
add r4, r3, #1
b .L_strlen_start
// r0 holds the pointer to the dst string.
// r3 holds the dst string length.
// r4 holds the src string length + 1.
.L_strlen_done:
add r2, r3, r4
cmp r2, lr
bhi .L_strcat_chk_failed
// Set up the registers for the memcpy code.
mov r1, r5
pld [r1, #64]
mov r2, r4
add r0, r0, r3
pop {r4, r5}
.cfi_adjust_cfa_offset -8
.cfi_restore r4
.cfi_restore r5
#include MEMCPY_BASE
// Undo the above cfi directives
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
.L_strcat_chk_failed:
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_STRCAT_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
END(__strcat_chk)
.data
error_string:
.string "strcat: prevented write past end of buffer"

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -26,163 +26,7 @@
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include "libc_events.h"
// Indicate which memcpy base file to include.
#define MEMCPY_BASE "memcpy_base.S"
.syntax unified
.thumb
.thumb_func
// Get the length of the source string first, then do a memcpy of the data
// instead of a strcpy.
ENTRY(__strcpy_chk)
.cfi_startproc
pld [r0, #0]
push {r0, lr}
.save {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
mov lr, r2
mov r0, r1
ands r3, r1, #7
beq .L_mainloop
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq .L_align_to_32
ldrb r2, [r0], #1
cbz r2, .L_update_count_and_finish
.L_align_to_32:
bcc .L_align_to_64
ands ip, r3, #2
beq .L_align_to_64
ldrb r2, [r0], #1
cbz r2, .L_update_count_and_finish
ldrb r2, [r0], #1
cbz r2, .L_update_count_and_finish
.L_align_to_64:
tst r3, #4
beq .L_mainloop
ldr r3, [r0], #4
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
.p2align 2
.L_mainloop:
ldrd r2, r3, [r0], #8
pld [r0, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .L_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
b .L_mainloop
.L_update_count_and_finish:
sub r3, r0, r1
sub r3, r3, #1
b .L_check_size
.L_zero_in_first_register:
sub r3, r0, r1
lsls r2, ip, #17
bne .L_sub8_and_finish
bcs .L_sub7_and_finish
lsls ip, ip, #1
bne .L_sub6_and_finish
sub r3, r3, #5
b .L_check_size
.L_sub8_and_finish:
sub r3, r3, #8
b .L_check_size
.L_sub7_and_finish:
sub r3, r3, #7
b .L_check_size
.L_sub6_and_finish:
sub r3, r3, #6
b .L_check_size
.L_zero_in_second_register:
sub r3, r0, r1
lsls r2, ip, #17
bne .L_sub4_and_finish
bcs .L_sub3_and_finish
lsls ip, ip, #1
bne .L_sub2_and_finish
sub r3, r3, #1
b .L_check_size
.L_sub4_and_finish:
sub r3, r3, #4
b .L_check_size
.L_sub3_and_finish:
sub r3, r3, #3
b .L_check_size
.L_sub2_and_finish:
sub r3, r3, #2
.L_check_size:
pld [r1, #0]
pld [r1, #64]
ldr r0, [sp]
cmp r3, lr
bhs __strcpy_chk_failed
// Add 1 for copy length to get the string terminator.
add r2, r3, #1
.cfi_endproc
END(__strcpy_chk)
#define MEMCPY_BASE __strcpy_chk_memcpy_base
#define MEMCPY_BASE_ALIGNED __strcpy_chk_memcpy_base_aligned
#include "memcpy_base.S"
ENTRY(__strcpy_chk_failed)
.cfi_startproc
.save {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_STRCPY_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
.cfi_endproc
END(__strcpy_chk_failed)
.data
error_string:
.string "strcpy buffer overflow"
#include "__strcpy_chk_common.S"

View File

@ -0,0 +1,173 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
#include <private/libc_events.h>
.syntax unified
.thumb
.thumb_func
// Get the length of the source string first, then do a memcpy of the data
// instead of a strcpy.
ENTRY(__strcpy_chk)
pld [r0, #0]
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
mov lr, r2
mov r0, r1
ands r3, r1, #7
beq .L_mainloop
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq .L_align_to_32
ldrb r2, [r0], #1
cbz r2, .L_update_count_and_finish
.L_align_to_32:
bcc .L_align_to_64
ands ip, r3, #2
beq .L_align_to_64
ldrb r2, [r0], #1
cbz r2, .L_update_count_and_finish
ldrb r2, [r0], #1
cbz r2, .L_update_count_and_finish
.L_align_to_64:
tst r3, #4
beq .L_mainloop
ldr r3, [r0], #4
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
.p2align 2
.L_mainloop:
ldrd r2, r3, [r0], #8
pld [r0, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .L_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
b .L_mainloop
.L_update_count_and_finish:
sub r3, r0, r1
sub r3, r3, #1
b .L_check_size
.L_zero_in_first_register:
sub r3, r0, r1
lsls r2, ip, #17
bne .L_sub8_and_finish
bcs .L_sub7_and_finish
lsls ip, ip, #1
bne .L_sub6_and_finish
sub r3, r3, #5
b .L_check_size
.L_sub8_and_finish:
sub r3, r3, #8
b .L_check_size
.L_sub7_and_finish:
sub r3, r3, #7
b .L_check_size
.L_sub6_and_finish:
sub r3, r3, #6
b .L_check_size
.L_zero_in_second_register:
sub r3, r0, r1
lsls r2, ip, #17
bne .L_sub4_and_finish
bcs .L_sub3_and_finish
lsls ip, ip, #1
bne .L_sub2_and_finish
sub r3, r3, #1
b .L_check_size
.L_sub4_and_finish:
sub r3, r3, #4
b .L_check_size
.L_sub3_and_finish:
sub r3, r3, #3
b .L_check_size
.L_sub2_and_finish:
sub r3, r3, #2
.L_check_size:
pld [r1, #0]
pld [r1, #64]
ldr r0, [sp]
cmp r3, lr
bhs .L_strcpy_chk_failed
// Add 1 for copy length to get the string terminator.
add r2, r3, #1
#include MEMCPY_BASE
.L_strcpy_chk_failed:
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_STRCPY_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
END(__strcpy_chk)
.data
error_string:
.string "strcpy: prevented write past end of buffer"

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -25,88 +25,8 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// Prototype: void *memcpy (void *dst, const void *src, size_t count).
// Indicate which memcpy base file to include.
#define MEMCPY_BASE "memcpy_base.S"
#include <machine/asm.h>
#include "libc_events.h"
.text
.syntax unified
.fpu neon
ENTRY(__memcpy_chk)
.cfi_startproc
cmp r2, r3
bhi __memcpy_chk_fail
// Fall through to memcpy...
.cfi_endproc
END(__memcpy_chk)
ENTRY(memcpy)
.cfi_startproc
pld [r1, #64]
push {r0, lr}
.save {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
.cfi_endproc
END(memcpy)
#define MEMCPY_BASE __memcpy_base
#define MEMCPY_BASE_ALIGNED __memcpy_base_aligned
#include "memcpy_base.S"
ENTRY(__memcpy_chk_fail)
.cfi_startproc
// Preserve lr for backtrace.
push {lr}
.save {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_MEMCPY_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+8)
.cfi_endproc
END(__memcpy_chk_fail)
.data
error_string:
.string "memcpy buffer overflow"
#include "memcpy_common.S"

View File

@ -53,13 +53,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
ENTRY(MEMCPY_BASE)
.cfi_startproc
.save {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
.L_memcpy_base:
// Assumes that n >= 0, and dst, src are valid pointers.
// For any sizes less than 832 use the neon code that doesn't
// care about the src alignment. This avoids any checks
@ -171,31 +165,18 @@ ENTRY(MEMCPY_BASE)
ands r3, r3, #0x3
bne .L_copy_unknown_alignment
.cfi_endproc
END(MEMCPY_BASE)
ENTRY(MEMCPY_BASE_ALIGNED)
.cfi_startproc
.save {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
// To try and improve performance, stack layout changed,
// i.e., not keeping the stack looking like users expect
// (highest numbered register at highest address).
strd r4, r5, [sp, #-8]!
.save {r4, r5}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
strd r6, r7, [sp, #-8]!
.save {r6, r7}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r6, 0
.cfi_rel_offset r7, 0
.cfi_rel_offset r7, 4
strd r8, r9, [sp, #-8]!
.save {r8, r9}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r8, 0
.cfi_rel_offset r9, 4
@ -300,10 +281,28 @@ ENTRY(MEMCPY_BASE_ALIGNED)
// Restore registers: optimized pop {r0, pc}
ldrd r8, r9, [sp], #8
.cfi_adjust_cfa_offset -8
.cfi_restore r8
.cfi_restore r9
ldrd r6, r7, [sp], #8
.cfi_adjust_cfa_offset -8
.cfi_restore r6
.cfi_restore r7
ldrd r4, r5, [sp], #8
.cfi_adjust_cfa_offset -8
.cfi_restore r4
.cfi_restore r5
pop {r0, pc}
// Put the cfi directives back for the below instructions.
.cfi_adjust_cfa_offset 24
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
.cfi_rel_offset r6, 8
.cfi_rel_offset r7, 12
.cfi_rel_offset r8, 16
.cfi_rel_offset r9, 20
.L_dst_not_word_aligned:
// Align dst to word.
rsb ip, ip, #4
@ -325,5 +324,11 @@ ENTRY(MEMCPY_BASE_ALIGNED)
// Src is guaranteed to be at least word aligned by this point.
b .L_word_aligned
.cfi_endproc
END(MEMCPY_BASE_ALIGNED)
// Undo any cfi directives from above.
.cfi_adjust_cfa_offset -24
.cfi_restore r4
.cfi_restore r5
.cfi_restore r6
.cfi_restore r7
.cfi_restore r8
.cfi_restore r9

View File

@ -0,0 +1,103 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
#include <private/libc_events.h>
.text
.syntax unified
.fpu neon
ENTRY(__memcpy_chk)
cmp r2, r3
bhi .L_memcpy_chk_fail
// Fall through to memcpy...
END(__memcpy_chk)
// Prototype: void *memcpy (void *dst, const void *src, size_t count).
ENTRY(memcpy)
pld [r1, #64]
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
#include MEMCPY_BASE
// Undo the cfi instructions from above.
.cfi_def_cfa_offset 0
.cfi_restore r0
.cfi_restore lr
.L_memcpy_chk_fail:
// Preserve lr for backtrace.
push {lr}
.cfi_adjust_cfa_offset 4
.cfi_rel_offset lr, 0
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_MEMCPY_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+8)
END(memcpy)
.data
error_string:
.string "memcpy: prevented write past end of buffer"

View File

@ -27,8 +27,8 @@
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
#include "libc_events.h"
#include <private/bionic_asm.h>
#include <private/libc_events.h>
/*
* Optimized memset() for ARM.
@ -40,12 +40,10 @@
.syntax unified
ENTRY(__memset_chk)
.cfi_startproc
cmp r2, r3
bls .L_done
// Preserve lr for backtrace.
.save {lr}
push {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
@ -59,22 +57,16 @@ error_code:
.word BIONIC_EVENT_MEMSET_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+8)
.cfi_endproc
END(__memset_chk)
ENTRY(bzero)
.cfi_startproc
mov r2, r1
mov r1, #0
.L_done:
// Fall through to memset...
.cfi_endproc
END(bzero)
ENTRY(memset)
.cfi_startproc
.save {r0}
stmfd sp!, {r0}
.cfi_def_cfa_offset 4
.cfi_rel_offset r0, 0
@ -192,9 +184,8 @@ ENTRY(memset)
strbcs r1, [r0], #1
ldmfd sp!, {r0}
bx lr
.cfi_endproc
END(memset)
.data
error_string:
.string "memset buffer overflow"
.string "memset: prevented write past end of buffer"

View File

@ -0,0 +1,30 @@
/*
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#define STPCPY
#include "string_copy.S"

View File

@ -53,7 +53,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <machine/asm.h>
#include <private/bionic_asm.h>
.syntax unified
@ -70,7 +70,7 @@
.macro m_scan_byte
ldrb r3, [r0]
cbz r3, strcat_r0_scan_done
cbz r3, .L_strcat_r0_scan_done
add r0, #1
.endm // m_scan_byte
@ -84,10 +84,10 @@ ENTRY(strcat)
// Quick check to see if src is empty.
ldrb r2, [r1]
pld [r1, #0]
cbnz r2, strcat_continue
cbnz r2, .L_strcat_continue
bx lr
strcat_continue:
.L_strcat_continue:
// To speed up really small dst strings, unroll checking the first 4 bytes.
m_push
m_scan_byte
@ -96,95 +96,102 @@ strcat_continue:
m_scan_byte
ands r3, r0, #7
beq strcat_mainloop
beq .L_strcat_mainloop
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq strcat_align_to_32
beq .L_strcat_align_to_32
ldrb r5, [r0]
cbz r5, strcat_r0_scan_done
cbz r5, .L_strcat_r0_scan_done
add r0, r0, #1
strcat_align_to_32:
bcc strcat_align_to_64
.L_strcat_align_to_32:
bcc .L_strcat_align_to_64
ldrb r2, [r0]
cbz r2, strcat_r0_scan_done
cbz r2, .L_strcat_r0_scan_done
add r0, r0, #1
ldrb r4, [r0]
cbz r4, strcat_r0_scan_done
cbz r4, .L_strcat_r0_scan_done
add r0, r0, #1
strcat_align_to_64:
.L_strcat_align_to_64:
tst r3, #4
beq strcat_mainloop
beq .L_strcat_mainloop
ldr r3, [r0], #4
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcat_zero_in_second_register
b strcat_mainloop
bne .L_strcat_zero_in_second_register
b .L_strcat_mainloop
strcat_r0_scan_done:
.L_strcat_r0_scan_done:
// For short copies, hard-code checking the first 8 bytes since this
// new code doesn't win until after about 8 bytes.
m_copy_byte reg=r2, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r5, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r2, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r5, cmd=cbnz, label=strcpy_continue
m_copy_byte reg=r2, cmd=cbz, label=.L_strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=.L_strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=.L_strcpy_finish
m_copy_byte reg=r5, cmd=cbz, label=.L_strcpy_finish
m_copy_byte reg=r2, cmd=cbz, label=.L_strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=.L_strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=.L_strcpy_finish
m_copy_byte reg=r5, cmd=cbnz, label=.L_strcpy_continue
strcpy_finish:
.L_strcpy_finish:
m_pop
strcpy_continue:
.L_strcpy_continue:
ands r3, r0, #7
beq strcpy_check_src_align
beq .L_strcpy_check_src_align
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq strcpy_align_to_32
beq .L_strcpy_align_to_32
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, strcpy_complete
cbz r2, .L_strcpy_complete
strcpy_align_to_32:
bcc strcpy_align_to_64
.L_strcpy_align_to_32:
bcc .L_strcpy_align_to_64
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, strcpy_complete
cbz r2, .L_strcpy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, strcpy_complete
cbz r2, .L_strcpy_complete
strcpy_align_to_64:
.L_strcpy_align_to_64:
tst r3, #4
beq strcpy_check_src_align
ldr r2, [r1], #4
beq .L_strcpy_check_src_align
// Read one byte at a time since we don't know the src alignment
// and we don't want to read into a different page.
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .L_strcpy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .L_strcpy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .L_strcpy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .L_strcpy_complete
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
str r2, [r0], #4
strcpy_check_src_align:
.L_strcpy_check_src_align:
// At this point dst is aligned to a double word, check if src
// is also aligned to a double word.
ands r3, r1, #7
bne strcpy_unaligned_copy
bne .L_strcpy_unaligned_copy
.p2align 2
strcpy_mainloop:
.L_strcpy_mainloop:
ldrd r2, r3, [r1], #8
pld [r1, #64]
@ -192,128 +199,128 @@ strcpy_mainloop:
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .L_strcpy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .L_strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_mainloop
b .L_strcpy_mainloop
strcpy_complete:
.L_strcpy_complete:
m_pop
strcpy_zero_in_first_register:
.L_strcpy_zero_in_first_register:
lsls lr, ip, #17
bne strcpy_copy1byte
bcs strcpy_copy2bytes
bne .L_strcpy_copy1byte
bcs .L_strcpy_copy2bytes
lsls ip, ip, #1
bne strcpy_copy3bytes
bne .L_strcpy_copy3bytes
strcpy_copy4bytes:
.L_strcpy_copy4bytes:
// Copy 4 bytes to the destiniation.
str r2, [r0]
m_pop
strcpy_copy1byte:
.L_strcpy_copy1byte:
strb r2, [r0]
m_pop
strcpy_copy2bytes:
.L_strcpy_copy2bytes:
strh r2, [r0]
m_pop
strcpy_copy3bytes:
.L_strcpy_copy3bytes:
strh r2, [r0], #2
lsr r2, #16
strb r2, [r0]
m_pop
strcpy_zero_in_second_register:
.L_strcpy_zero_in_second_register:
lsls lr, ip, #17
bne strcpy_copy5bytes
bcs strcpy_copy6bytes
bne .L_strcpy_copy5bytes
bcs .L_strcpy_copy6bytes
lsls ip, ip, #1
bne strcpy_copy7bytes
bne .L_strcpy_copy7bytes
// Copy 8 bytes to the destination.
strd r2, r3, [r0]
m_pop
strcpy_copy5bytes:
.L_strcpy_copy5bytes:
str r2, [r0], #4
strb r3, [r0]
m_pop
strcpy_copy6bytes:
.L_strcpy_copy6bytes:
str r2, [r0], #4
strh r3, [r0]
m_pop
strcpy_copy7bytes:
.L_strcpy_copy7bytes:
str r2, [r0], #4
strh r3, [r0], #2
lsr r3, #16
strb r3, [r0]
m_pop
strcpy_unaligned_copy:
.L_strcpy_unaligned_copy:
// Dst is aligned to a double word, while src is at an unknown alignment.
// There are 7 different versions of the unaligned copy code
// to prevent overreading the src. The mainloop of every single version
// will store 64 bits per loop. The difference is how much of src can
// be read without potentially crossing a page boundary.
tbb [pc, r3]
strcpy_unaligned_branchtable:
.L_strcpy_unaligned_branchtable:
.byte 0
.byte ((strcpy_unalign7 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign6 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign5 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign4 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign3 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign2 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign1 - strcpy_unaligned_branchtable)/2)
.byte ((.L_strcpy_unalign7 - .L_strcpy_unaligned_branchtable)/2)
.byte ((.L_strcpy_unalign6 - .L_strcpy_unaligned_branchtable)/2)
.byte ((.L_strcpy_unalign5 - .L_strcpy_unaligned_branchtable)/2)
.byte ((.L_strcpy_unalign4 - .L_strcpy_unaligned_branchtable)/2)
.byte ((.L_strcpy_unalign3 - .L_strcpy_unaligned_branchtable)/2)
.byte ((.L_strcpy_unalign2 - .L_strcpy_unaligned_branchtable)/2)
.byte ((.L_strcpy_unalign1 - .L_strcpy_unaligned_branchtable)/2)
.p2align 2
// Can read 7 bytes before possibly crossing a page.
strcpy_unalign7:
.L_strcpy_unalign7:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .L_strcpy_zero_in_first_register
ldrb r3, [r1]
cbz r3, strcpy_unalign7_copy5bytes
cbz r3, .L_strcpy_unalign7_copy5bytes
ldrb r4, [r1, #1]
cbz r4, strcpy_unalign7_copy6bytes
cbz r4, .L_strcpy_unalign7_copy6bytes
ldrb r5, [r1, #2]
cbz r5, strcpy_unalign7_copy7bytes
cbz r5, .L_strcpy_unalign7_copy7bytes
ldr r3, [r1], #4
pld [r1, #64]
lsrs ip, r3, #24
strd r2, r3, [r0], #8
beq strcpy_unalign_return
b strcpy_unalign7
beq .L_strcpy_unalign_return
b .L_strcpy_unalign7
strcpy_unalign7_copy5bytes:
.L_strcpy_unalign7_copy5bytes:
str r2, [r0], #4
strb r3, [r0]
strcpy_unalign_return:
.L_strcpy_unalign_return:
m_pop
strcpy_unalign7_copy6bytes:
.L_strcpy_unalign7_copy6bytes:
str r2, [r0], #4
strb r3, [r0], #1
strb r4, [r0], #1
m_pop
strcpy_unalign7_copy7bytes:
.L_strcpy_unalign7_copy7bytes:
str r2, [r0], #4
strb r3, [r0], #1
strb r4, [r0], #1
@ -322,41 +329,41 @@ strcpy_unalign7_copy7bytes:
.p2align 2
// Can read 6 bytes before possibly crossing a page.
strcpy_unalign6:
.L_strcpy_unalign6:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .L_strcpy_zero_in_first_register
ldrb r4, [r1]
cbz r4, strcpy_unalign_copy5bytes
cbz r4, .L_strcpy_unalign_copy5bytes
ldrb r5, [r1, #1]
cbz r5, strcpy_unalign_copy6bytes
cbz r5, .L_strcpy_unalign_copy6bytes
ldr r3, [r1], #4
pld [r1, #64]
tst r3, #0xff0000
beq strcpy_copy7bytes
beq .L_strcpy_copy7bytes
lsrs ip, r3, #24
strd r2, r3, [r0], #8
beq strcpy_unalign_return
b strcpy_unalign6
beq .L_strcpy_unalign_return
b .L_strcpy_unalign6
.p2align 2
// Can read 5 bytes before possibly crossing a page.
strcpy_unalign5:
.L_strcpy_unalign5:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .L_strcpy_zero_in_first_register
ldrb r4, [r1]
cbz r4, strcpy_unalign_copy5bytes
cbz r4, .L_strcpy_unalign_copy5bytes
ldr r3, [r1], #4
@ -365,17 +372,17 @@ strcpy_unalign5:
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .L_strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign5
b .L_strcpy_unalign5
strcpy_unalign_copy5bytes:
.L_strcpy_unalign_copy5bytes:
str r2, [r0], #4
strb r4, [r0]
m_pop
strcpy_unalign_copy6bytes:
.L_strcpy_unalign_copy6bytes:
str r2, [r0], #4
strb r4, [r0], #1
strb r5, [r0]
@ -383,13 +390,13 @@ strcpy_unalign_copy6bytes:
.p2align 2
// Can read 4 bytes before possibly crossing a page.
strcpy_unalign4:
.L_strcpy_unalign4:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .L_strcpy_zero_in_first_register
ldr r3, [r1], #4
pld [r1, #64]
@ -397,20 +404,20 @@ strcpy_unalign4:
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .L_strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign4
b .L_strcpy_unalign4
.p2align 2
// Can read 3 bytes before possibly crossing a page.
strcpy_unalign3:
.L_strcpy_unalign3:
ldrb r2, [r1]
cbz r2, strcpy_unalign3_copy1byte
cbz r2, .L_strcpy_unalign3_copy1byte
ldrb r3, [r1, #1]
cbz r3, strcpy_unalign3_copy2bytes
cbz r3, .L_strcpy_unalign3_copy2bytes
ldrb r4, [r1, #2]
cbz r4, strcpy_unalign3_copy3bytes
cbz r4, .L_strcpy_unalign3_copy3bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
@ -418,26 +425,26 @@ strcpy_unalign3:
pld [r1, #64]
lsrs lr, r2, #24
beq strcpy_copy4bytes
beq .L_strcpy_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .L_strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign3
b .L_strcpy_unalign3
strcpy_unalign3_copy1byte:
.L_strcpy_unalign3_copy1byte:
strb r2, [r0]
m_pop
strcpy_unalign3_copy2bytes:
.L_strcpy_unalign3_copy2bytes:
strb r2, [r0], #1
strb r3, [r0]
m_pop
strcpy_unalign3_copy3bytes:
.L_strcpy_unalign3_copy3bytes:
strb r2, [r0], #1
strb r3, [r0], #1
strb r4, [r0]
@ -445,34 +452,34 @@ strcpy_unalign3_copy3bytes:
.p2align 2
// Can read 2 bytes before possibly crossing a page.
strcpy_unalign2:
.L_strcpy_unalign2:
ldrb r2, [r1]
cbz r2, strcpy_unalign_copy1byte
cbz r2, .L_strcpy_unalign_copy1byte
ldrb r4, [r1, #1]
cbz r4, strcpy_unalign_copy2bytes
cbz r4, .L_strcpy_unalign_copy2bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
tst r2, #0xff0000
beq strcpy_copy3bytes
beq .L_strcpy_copy3bytes
lsrs ip, r2, #24
beq strcpy_copy4bytes
beq .L_strcpy_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .L_strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign2
b .L_strcpy_unalign2
.p2align 2
// Can read 1 byte before possibly crossing a page.
strcpy_unalign1:
.L_strcpy_unalign1:
ldrb r2, [r1]
cbz r2, strcpy_unalign_copy1byte
cbz r2, .L_strcpy_unalign_copy1byte
ldr r2, [r1], #4
ldr r3, [r1], #4
@ -482,27 +489,27 @@ strcpy_unalign1:
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .L_strcpy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .L_strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign1
b .L_strcpy_unalign1
strcpy_unalign_copy1byte:
.L_strcpy_unalign_copy1byte:
strb r2, [r0]
m_pop
strcpy_unalign_copy2bytes:
.L_strcpy_unalign_copy2bytes:
strb r2, [r0], #1
strb r4, [r0]
m_pop
.p2align 2
strcat_mainloop:
.L_strcat_mainloop:
ldrd r2, r3, [r0], #8
pld [r0, #64]
@ -510,59 +517,59 @@ strcat_mainloop:
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcat_zero_in_first_register
bne .L_strcat_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcat_zero_in_second_register
b strcat_mainloop
bne .L_strcat_zero_in_second_register
b .L_strcat_mainloop
strcat_zero_in_first_register:
.L_strcat_zero_in_first_register:
// Prefetch the src now, it's going to be used soon.
pld [r1, #0]
lsls lr, ip, #17
bne strcat_sub8
bcs strcat_sub7
bne .L_strcat_sub8
bcs .L_strcat_sub7
lsls ip, ip, #1
bne strcat_sub6
bne .L_strcat_sub6
sub r0, r0, #5
b strcat_r0_scan_done
b .L_strcat_r0_scan_done
strcat_sub8:
.L_strcat_sub8:
sub r0, r0, #8
b strcat_r0_scan_done
b .L_strcat_r0_scan_done
strcat_sub7:
.L_strcat_sub7:
sub r0, r0, #7
b strcat_r0_scan_done
b .L_strcat_r0_scan_done
strcat_sub6:
.L_strcat_sub6:
sub r0, r0, #6
b strcat_r0_scan_done
b .L_strcat_r0_scan_done
strcat_zero_in_second_register:
.L_strcat_zero_in_second_register:
// Prefetch the src now, it's going to be used soon.
pld [r1, #0]
lsls lr, ip, #17
bne strcat_sub4
bcs strcat_sub3
bne .L_strcat_sub4
bcs .L_strcat_sub3
lsls ip, ip, #1
bne strcat_sub2
bne .L_strcat_sub2
sub r0, r0, #1
b strcat_r0_scan_done
b .L_strcat_r0_scan_done
strcat_sub4:
.L_strcat_sub4:
sub r0, r0, #4
b strcat_r0_scan_done
b .L_strcat_r0_scan_done
strcat_sub3:
.L_strcat_sub3:
sub r0, r0, #3
b strcat_r0_scan_done
b .L_strcat_r0_scan_done
strcat_sub2:
.L_strcat_sub2:
sub r0, r0, #2
b strcat_r0_scan_done
b .L_strcat_r0_scan_done
END(strcat)

View File

@ -27,7 +27,7 @@
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
#include <private/bionic_asm.h>
#ifdef __ARMEB__
#define S2LOMEM lsl
@ -145,19 +145,8 @@ ENTRY(strcmp)
.macro magic_find_zero_bytes w1
/* Macro to find all-zero bytes in w1, result is in ip. */
#if (defined (__ARM_FEATURE_DSP))
uadd8 ip, \w1, r6
sel ip, r7, r6
#else /* not defined (__ARM_FEATURE_DSP) */
/* __ARM_FEATURE_DSP is not defined for some Cortex-M processors.
Coincidently, these processors only have Thumb-2 mode, where we can use the
the (large) magic constant available directly as an immediate in instructions.
Note that we cannot use the magic constant in ARM mode, where we need
to create the constant in a register. */
sub ip, \w1, #0x01010101
bic ip, ip, \w1
and ip, ip, #0x80808080
#endif /* not defined (__ARM_FEATURE_DSP) */
.endm /* magic_find_zero_bytes */
.macro setup_return w1 w2
@ -170,7 +159,6 @@ ENTRY(strcmp)
#endif /* not __ARMEB__ */
.endm /* setup_return */
.cfi_startproc
pld [r0, #0]
pld [r1, #0]
@ -180,7 +168,6 @@ ENTRY(strcmp)
bne .L_do_align
/* Fast path. */
.save {r4-r7}
init
.L_doubleword_aligned:
@ -386,5 +373,4 @@ ENTRY(strcmp)
it ls
sbcls r0, r0, r0
bx lr
.cfi_endproc
END(strcmp)

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -25,427 +25,6 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <machine/asm.h>
.syntax unified
.thumb
.thumb_func
.macro m_push
push {r0, r4, r5, lr}
.endm // m_push
.macro m_pop
pop {r0, r4, r5, pc}
.endm // m_pop
.macro m_copy_byte reg, cmd, label
ldrb \reg, [r1], #1
strb \reg, [r0], #1
\cmd \reg, \label
.endm // m_copy_byte
ENTRY(strcpy)
// For short copies, hard-code checking the first 8 bytes since this
// new code doesn't win until after about 8 bytes.
m_push
m_copy_byte reg=r2, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r5, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r2, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r5, cmd=cbnz, label=strcpy_continue
strcpy_finish:
m_pop
strcpy_continue:
pld [r1, #0]
ands r3, r0, #7
beq strcpy_check_src_align
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq strcpy_align_to_32
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, strcpy_complete
strcpy_align_to_32:
bcc strcpy_align_to_64
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, strcpy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, strcpy_complete
strcpy_align_to_64:
tst r3, #4
beq strcpy_check_src_align
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
str r2, [r0], #4
strcpy_check_src_align:
// At this point dst is aligned to a double word, check if src
// is also aligned to a double word.
ands r3, r1, #7
bne strcpy_unaligned_copy
.p2align 2
strcpy_mainloop:
ldrd r2, r3, [r1], #8
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_mainloop
strcpy_complete:
m_pop
strcpy_zero_in_first_register:
lsls lr, ip, #17
bne strcpy_copy1byte
bcs strcpy_copy2bytes
lsls ip, ip, #1
bne strcpy_copy3bytes
strcpy_copy4bytes:
// Copy 4 bytes to the destiniation.
str r2, [r0]
m_pop
strcpy_copy1byte:
strb r2, [r0]
m_pop
strcpy_copy2bytes:
strh r2, [r0]
m_pop
strcpy_copy3bytes:
strh r2, [r0], #2
lsr r2, #16
strb r2, [r0]
m_pop
strcpy_zero_in_second_register:
lsls lr, ip, #17
bne strcpy_copy5bytes
bcs strcpy_copy6bytes
lsls ip, ip, #1
bne strcpy_copy7bytes
// Copy 8 bytes to the destination.
strd r2, r3, [r0]
m_pop
strcpy_copy5bytes:
str r2, [r0], #4
strb r3, [r0]
m_pop
strcpy_copy6bytes:
str r2, [r0], #4
strh r3, [r0]
m_pop
strcpy_copy7bytes:
str r2, [r0], #4
strh r3, [r0], #2
lsr r3, #16
strb r3, [r0]
m_pop
strcpy_unaligned_copy:
// Dst is aligned to a double word, while src is at an unknown alignment.
// There are 7 different versions of the unaligned copy code
// to prevent overreading the src. The mainloop of every single version
// will store 64 bits per loop. The difference is how much of src can
// be read without potentially crossing a page boundary.
tbb [pc, r3]
strcpy_unaligned_branchtable:
.byte 0
.byte ((strcpy_unalign7 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign6 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign5 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign4 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign3 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign2 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign1 - strcpy_unaligned_branchtable)/2)
.p2align 2
// Can read 7 bytes before possibly crossing a page.
strcpy_unalign7:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
ldrb r3, [r1]
cbz r3, strcpy_unalign7_copy5bytes
ldrb r4, [r1, #1]
cbz r4, strcpy_unalign7_copy6bytes
ldrb r5, [r1, #2]
cbz r5, strcpy_unalign7_copy7bytes
ldr r3, [r1], #4
pld [r1, #64]
lsrs ip, r3, #24
strd r2, r3, [r0], #8
beq strcpy_unalign_return
b strcpy_unalign7
strcpy_unalign7_copy5bytes:
str r2, [r0], #4
strb r3, [r0]
strcpy_unalign_return:
m_pop
strcpy_unalign7_copy6bytes:
str r2, [r0], #4
strb r3, [r0], #1
strb r4, [r0], #1
m_pop
strcpy_unalign7_copy7bytes:
str r2, [r0], #4
strb r3, [r0], #1
strb r4, [r0], #1
strb r5, [r0], #1
m_pop
.p2align 2
// Can read 6 bytes before possibly crossing a page.
strcpy_unalign6:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
ldrb r4, [r1]
cbz r4, strcpy_unalign_copy5bytes
ldrb r5, [r1, #1]
cbz r5, strcpy_unalign_copy6bytes
ldr r3, [r1], #4
pld [r1, #64]
tst r3, #0xff0000
beq strcpy_copy7bytes
lsrs ip, r3, #24
strd r2, r3, [r0], #8
beq strcpy_unalign_return
b strcpy_unalign6
.p2align 2
// Can read 5 bytes before possibly crossing a page.
strcpy_unalign5:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
ldrb r4, [r1]
cbz r4, strcpy_unalign_copy5bytes
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign5
strcpy_unalign_copy5bytes:
str r2, [r0], #4
strb r4, [r0]
m_pop
strcpy_unalign_copy6bytes:
str r2, [r0], #4
strb r4, [r0], #1
strb r5, [r0]
m_pop
.p2align 2
// Can read 4 bytes before possibly crossing a page.
strcpy_unalign4:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign4
.p2align 2
// Can read 3 bytes before possibly crossing a page.
strcpy_unalign3:
ldrb r2, [r1]
cbz r2, strcpy_unalign3_copy1byte
ldrb r3, [r1, #1]
cbz r3, strcpy_unalign3_copy2bytes
ldrb r4, [r1, #2]
cbz r4, strcpy_unalign3_copy3bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
lsrs lr, r2, #24
beq strcpy_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign3
strcpy_unalign3_copy1byte:
strb r2, [r0]
m_pop
strcpy_unalign3_copy2bytes:
strb r2, [r0], #1
strb r3, [r0]
m_pop
strcpy_unalign3_copy3bytes:
strb r2, [r0], #1
strb r3, [r0], #1
strb r4, [r0]
m_pop
.p2align 2
// Can read 2 bytes before possibly crossing a page.
strcpy_unalign2:
ldrb r2, [r1]
cbz r2, strcpy_unalign_copy1byte
ldrb r4, [r1, #1]
cbz r4, strcpy_unalign_copy2bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
tst r2, #0xff0000
beq strcpy_copy3bytes
lsrs ip, r2, #24
beq strcpy_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign2
.p2align 2
// Can read 1 byte before possibly crossing a page.
strcpy_unalign1:
ldrb r2, [r1]
cbz r2, strcpy_unalign_copy1byte
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
strd r2, r3, [r0], #8
b strcpy_unalign1
strcpy_unalign_copy1byte:
strb r2, [r0]
m_pop
strcpy_unalign_copy2bytes:
strb r2, [r0], #1
strb r4, [r0]
m_pop
END(strcpy)
#define STRCPY
#include "string_copy.S"

View File

@ -0,0 +1,520 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#if !defined(STPCPY) && !defined(STRCPY)
#error "Either STPCPY or STRCPY must be defined."
#endif
#include <private/bionic_asm.h>
.syntax unified
.thumb
.thumb_func
#if defined(STPCPY)
.macro m_push
push {r4, r5, lr}
.cfi_def_cfa_offset 12
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
.cfi_rel_offset lr, 8
.endm // m_push
#else
.macro m_push
push {r0, r4, r5, lr}
.cfi_def_cfa_offset 16
.cfi_rel_offset r0, 0
.cfi_rel_offset r4, 4
.cfi_rel_offset r5, 8
.cfi_rel_offset lr, 12
.endm // m_push
#endif
#if defined(STPCPY)
.macro m_pop
pop {r4, r5, pc}
.endm // m_pop
#else
.macro m_pop
pop {r0, r4, r5, pc}
.endm // m_pop
#endif
.macro m_copy_byte reg, cmd, label
ldrb \reg, [r1], #1
strb \reg, [r0], #1
\cmd \reg, \label
.endm // m_copy_byte
#if defined(STPCPY)
ENTRY(stpcpy)
#else
ENTRY(strcpy)
#endif
// For short copies, hard-code checking the first 8 bytes since this
// new code doesn't win until after about 8 bytes.
m_push
m_copy_byte reg=r2, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r3, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r4, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r5, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r2, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r3, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r4, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r5, cmd=cbnz, label=.Lstringcopy_continue
.Lstringcopy_finish:
#if defined(STPCPY)
sub r0, r0, #1
#endif
m_pop
.Lstringcopy_continue:
pld [r1, #0]
ands r3, r0, #7
beq .Lstringcopy_check_src_align
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq .Lstringcopy_align_to_32
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
.Lstringcopy_align_to_32:
bcc .Lstringcopy_align_to_64
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
.Lstringcopy_align_to_64:
tst r3, #4
beq .Lstringcopy_check_src_align
// Read one byte at a time since we don't have any idea about the alignment
// of the source and we don't want to read into a different page.
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
.Lstringcopy_check_src_align:
// At this point dst is aligned to a double word, check if src
// is also aligned to a double word.
ands r3, r1, #7
bne .Lstringcopy_unaligned_copy
.p2align 2
.Lstringcopy_mainloop:
ldrd r2, r3, [r1], #8
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
strd r2, r3, [r0], #8
b .Lstringcopy_mainloop
.Lstringcopy_complete:
#if defined(STPCPY)
sub r0, r0, #1
#endif
m_pop
.Lstringcopy_zero_in_first_register:
lsls lr, ip, #17
bne .Lstringcopy_copy1byte
bcs .Lstringcopy_copy2bytes
lsls ip, ip, #1
bne .Lstringcopy_copy3bytes
.Lstringcopy_copy4bytes:
// Copy 4 bytes to the destiniation.
#if defined(STPCPY)
str r2, [r0], #3
#else
str r2, [r0]
#endif
m_pop
.Lstringcopy_copy1byte:
strb r2, [r0]
m_pop
.Lstringcopy_copy2bytes:
#if defined(STPCPY)
strh r2, [r0], #1
#else
strh r2, [r0]
#endif
m_pop
.Lstringcopy_copy3bytes:
strh r2, [r0], #2
lsr r2, #16
strb r2, [r0]
m_pop
.Lstringcopy_zero_in_second_register:
lsls lr, ip, #17
bne .Lstringcopy_copy5bytes
bcs .Lstringcopy_copy6bytes
lsls ip, ip, #1
bne .Lstringcopy_copy7bytes
// Copy 8 bytes to the destination.
strd r2, r3, [r0]
#if defined(STPCPY)
add r0, r0, #7
#endif
m_pop
.Lstringcopy_copy5bytes:
str r2, [r0], #4
strb r3, [r0]
m_pop
.Lstringcopy_copy6bytes:
str r2, [r0], #4
#if defined(STPCPY)
strh r3, [r0], #1
#else
strh r3, [r0]
#endif
m_pop
.Lstringcopy_copy7bytes:
str r2, [r0], #4
strh r3, [r0], #2
lsr r3, #16
strb r3, [r0]
m_pop
.Lstringcopy_unaligned_copy:
// Dst is aligned to a double word, while src is at an unknown alignment.
// There are 7 different versions of the unaligned copy code
// to prevent overreading the src. The mainloop of every single version
// will store 64 bits per loop. The difference is how much of src can
// be read without potentially crossing a page boundary.
tbb [pc, r3]
.Lstringcopy_unaligned_branchtable:
.byte 0
.byte ((.Lstringcopy_unalign7 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign6 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign5 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign4 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign3 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign2 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign1 - .Lstringcopy_unaligned_branchtable)/2)
.p2align 2
// Can read 7 bytes before possibly crossing a page.
.Lstringcopy_unalign7:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
ldrb r3, [r1]
cbz r3, .Lstringcopy_unalign7_copy5bytes
ldrb r4, [r1, #1]
cbz r4, .Lstringcopy_unalign7_copy6bytes
ldrb r5, [r1, #2]
cbz r5, .Lstringcopy_unalign7_copy7bytes
ldr r3, [r1], #4
pld [r1, #64]
lsrs ip, r3, #24
strd r2, r3, [r0], #8
#if defined(STPCPY)
beq .Lstringcopy_finish
#else
beq .Lstringcopy_unalign_return
#endif
b .Lstringcopy_unalign7
.Lstringcopy_unalign7_copy5bytes:
str r2, [r0], #4
strb r3, [r0]
.Lstringcopy_unalign_return:
m_pop
.Lstringcopy_unalign7_copy6bytes:
str r2, [r0], #4
strb r3, [r0], #1
strb r4, [r0]
m_pop
.Lstringcopy_unalign7_copy7bytes:
str r2, [r0], #4
strb r3, [r0], #1
strb r4, [r0], #1
strb r5, [r0]
m_pop
.p2align 2
// Can read 6 bytes before possibly crossing a page.
.Lstringcopy_unalign6:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
ldrb r4, [r1]
cbz r4, .Lstringcopy_unalign_copy5bytes
ldrb r5, [r1, #1]
cbz r5, .Lstringcopy_unalign_copy6bytes
ldr r3, [r1], #4
pld [r1, #64]
tst r3, #0xff0000
beq .Lstringcopy_copy7bytes
lsrs ip, r3, #24
strd r2, r3, [r0], #8
#if defined(STPCPY)
beq .Lstringcopy_finish
#else
beq .Lstringcopy_unalign_return
#endif
b .Lstringcopy_unalign6
.p2align 2
// Can read 5 bytes before possibly crossing a page.
.Lstringcopy_unalign5:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
ldrb r4, [r1]
cbz r4, .Lstringcopy_unalign_copy5bytes
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
strd r2, r3, [r0], #8
b .Lstringcopy_unalign5
.Lstringcopy_unalign_copy5bytes:
str r2, [r0], #4
strb r4, [r0]
m_pop
.Lstringcopy_unalign_copy6bytes:
str r2, [r0], #4
strb r4, [r0], #1
strb r5, [r0]
m_pop
.p2align 2
// Can read 4 bytes before possibly crossing a page.
.Lstringcopy_unalign4:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
strd r2, r3, [r0], #8
b .Lstringcopy_unalign4
.p2align 2
// Can read 3 bytes before possibly crossing a page.
.Lstringcopy_unalign3:
ldrb r2, [r1]
cbz r2, .Lstringcopy_unalign3_copy1byte
ldrb r3, [r1, #1]
cbz r3, .Lstringcopy_unalign3_copy2bytes
ldrb r4, [r1, #2]
cbz r4, .Lstringcopy_unalign3_copy3bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
lsrs lr, r2, #24
beq .Lstringcopy_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
strd r2, r3, [r0], #8
b .Lstringcopy_unalign3
.Lstringcopy_unalign3_copy1byte:
strb r2, [r0]
m_pop
.Lstringcopy_unalign3_copy2bytes:
strb r2, [r0], #1
strb r3, [r0]
m_pop
.Lstringcopy_unalign3_copy3bytes:
strb r2, [r0], #1
strb r3, [r0], #1
strb r4, [r0]
m_pop
.p2align 2
// Can read 2 bytes before possibly crossing a page.
.Lstringcopy_unalign2:
ldrb r2, [r1]
cbz r2, .Lstringcopy_unalign_copy1byte
ldrb r4, [r1, #1]
cbz r4, .Lstringcopy_unalign_copy2bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
tst r2, #0xff0000
beq .Lstringcopy_copy3bytes
lsrs ip, r2, #24
beq .Lstringcopy_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
strd r2, r3, [r0], #8
b .Lstringcopy_unalign2
.p2align 2
// Can read 1 byte before possibly crossing a page.
.Lstringcopy_unalign1:
ldrb r2, [r1]
cbz r2, .Lstringcopy_unalign_copy1byte
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
strd r2, r3, [r0], #8
b .Lstringcopy_unalign1
.Lstringcopy_unalign_copy1byte:
strb r2, [r0]
m_pop
.Lstringcopy_unalign_copy2bytes:
strb r2, [r0], #1
strb r4, [r0]
m_pop
#if defined(STPCPY)
END(stpcpy)
#else
END(strcpy)
#endif

View File

@ -53,7 +53,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <machine/asm.h>
#include <private/bionic_asm.h>
.syntax unified
@ -65,38 +65,38 @@ ENTRY(strlen)
mov r1, r0
ands r3, r0, #7
beq mainloop
beq .L_mainloop
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq align_to_32
beq .L_align_to_32
ldrb r2, [r1], #1
cbz r2, update_count_and_return
cbz r2, .L_update_count_and_return
align_to_32:
bcc align_to_64
.L_align_to_32:
bcc .L_align_to_64
ands ip, r3, #2
beq align_to_64
beq .L_align_to_64
ldrb r2, [r1], #1
cbz r2, update_count_and_return
cbz r2, .L_update_count_and_return
ldrb r2, [r1], #1
cbz r2, update_count_and_return
cbz r2, .L_update_count_and_return
align_to_64:
.L_align_to_64:
tst r3, #4
beq mainloop
beq .L_mainloop
ldr r3, [r1], #4
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne zero_in_second_register
bne .L_zero_in_second_register
.p2align 2
mainloop:
.L_mainloop:
ldrd r2, r3, [r1], #8
pld [r1, #64]
@ -104,62 +104,62 @@ mainloop:
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne zero_in_first_register
bne .L_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne zero_in_second_register
b mainloop
bne .L_zero_in_second_register
b .L_mainloop
update_count_and_return:
.L_update_count_and_return:
sub r0, r1, r0
sub r0, r0, #1
bx lr
zero_in_first_register:
.L_zero_in_first_register:
sub r0, r1, r0
lsls r3, ip, #17
bne sub8_and_return
bcs sub7_and_return
bne .L_sub8_and_return
bcs .L_sub7_and_return
lsls ip, ip, #1
bne sub6_and_return
bne .L_sub6_and_return
sub r0, r0, #5
bx lr
sub8_and_return:
.L_sub8_and_return:
sub r0, r0, #8
bx lr
sub7_and_return:
.L_sub7_and_return:
sub r0, r0, #7
bx lr
sub6_and_return:
.L_sub6_and_return:
sub r0, r0, #6
bx lr
zero_in_second_register:
.L_zero_in_second_register:
sub r0, r1, r0
lsls r3, ip, #17
bne sub4_and_return
bcs sub3_and_return
bne .L_sub4_and_return
bcs .L_sub3_and_return
lsls ip, ip, #1
bne sub2_and_return
bne .L_sub2_and_return
sub r0, r0, #1
bx lr
sub4_and_return:
.L_sub4_and_return:
sub r0, r0, #4
bx lr
sub3_and_return:
.L_sub3_and_return:
sub r0, r0, #3
bx lr
sub2_and_return:
.L_sub2_and_return:
sub r0, r0, #2
bx lr
END(strlen)

View File

@ -1,10 +1,27 @@
$(call libc-add-cpu-variant-src,MEMCPY,arch-arm/cortex-a15/bionic/memcpy.S)
$(call libc-add-cpu-variant-src,MEMSET,arch-arm/cortex-a15/bionic/memset.S)
$(call libc-add-cpu-variant-src,STRCAT,arch-arm/cortex-a15/bionic/strcat.S)
$(call libc-add-cpu-variant-src,STRCMP,arch-arm/cortex-a15/bionic/strcmp.S)
$(call libc-add-cpu-variant-src,STRCPY,arch-arm/cortex-a15/bionic/strcpy.S)
$(call libc-add-cpu-variant-src,STRLEN,arch-arm/cortex-a15/bionic/strlen.S)
$(call libc-add-cpu-variant-src,__STRCAT_CHK,arch-arm/cortex-a15/bionic/__strcat_chk.S)
$(call libc-add-cpu-variant-src,__STRCPY_CHK,arch-arm/cortex-a15/bionic/__strcpy_chk.S)
libc_openbsd_src_files_exclude_arm += \
upstream-openbsd/lib/libc/string/memmove.c \
upstream-openbsd/lib/libc/string/stpcpy.c \
upstream-openbsd/lib/libc/string/strcat.c \
include bionic/libc/arch-arm/generic/generic.mk
libc_bionic_src_files_exclude_arm += \
arch-arm/generic/bionic/memcpy.S \
arch-arm/generic/bionic/memset.S \
arch-arm/generic/bionic/strcmp.S \
arch-arm/generic/bionic/strcpy.S \
arch-arm/generic/bionic/strlen.c \
bionic/__strcat_chk.cpp \
bionic/__strcpy_chk.cpp \
libc_bionic_src_files_arm += \
arch-arm/cortex-a15/bionic/memcpy.S \
arch-arm/cortex-a15/bionic/memset.S \
arch-arm/cortex-a15/bionic/stpcpy.S \
arch-arm/cortex-a15/bionic/strcat.S \
arch-arm/cortex-a15/bionic/__strcat_chk.S \
arch-arm/cortex-a15/bionic/strcmp.S \
arch-arm/cortex-a15/bionic/strcpy.S \
arch-arm/cortex-a15/bionic/__strcpy_chk.S \
arch-arm/cortex-a15/bionic/strlen.S \
libc_bionic_src_files_arm += \
arch-arm/denver/bionic/memmove.S \

View File

@ -0,0 +1,32 @@
# This file represents the best optimized routines that are the middle
# ground when running on a big/little system that is cortex-a57/cortex-a53.
# The cortex-a7 optimized routines, and the cortex-a53 optimized routines
# decrease performance on cortex-a57 processors by as much as 20%.
libc_openbsd_src_files_exclude_arm += \
upstream-openbsd/lib/libc/string/memmove.c \
upstream-openbsd/lib/libc/string/stpcpy.c \
upstream-openbsd/lib/libc/string/strcat.c \
libc_bionic_src_files_exclude_arm += \
arch-arm/generic/bionic/memcpy.S \
arch-arm/generic/bionic/memset.S \
arch-arm/generic/bionic/strcmp.S \
arch-arm/generic/bionic/strcpy.S \
arch-arm/generic/bionic/strlen.c \
bionic/__strcat_chk.cpp \
bionic/__strcpy_chk.cpp \
libc_bionic_src_files_arm += \
arch-arm/cortex-a15/bionic/memcpy.S \
arch-arm/cortex-a15/bionic/memset.S \
arch-arm/cortex-a15/bionic/stpcpy.S \
arch-arm/cortex-a15/bionic/strcat.S \
arch-arm/cortex-a15/bionic/__strcat_chk.S \
arch-arm/cortex-a15/bionic/strcmp.S \
arch-arm/cortex-a15/bionic/strcpy.S \
arch-arm/cortex-a15/bionic/__strcpy_chk.S \
arch-arm/cortex-a15/bionic/strlen.S \
libc_bionic_src_files_arm += \
arch-arm/denver/bionic/memmove.S \

View File

@ -0,0 +1,32 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
// Indicate which memcpy base file to include.
#define MEMCPY_BASE "arch-arm/cortex-a53/bionic/memcpy_base.S"
#include "arch-arm/cortex-a15/bionic/__strcat_chk_common.S"

View File

@ -0,0 +1,32 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
// Indicate which memcpy base file to include.
#define MEMCPY_BASE "arch-arm/cortex-a53/bionic/memcpy_base.S"
#include "arch-arm/cortex-a15/bionic/__strcpy_chk_common.S"

View File

@ -0,0 +1,32 @@
/*
* Copyright (C) 2015 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
// Indicate which memcpy base file to include.
#define MEMCPY_BASE "arch-arm/cortex-a53/bionic/memcpy_base.S"
#include "arch-arm/cortex-a15/bionic/memcpy_common.S"

View File

@ -0,0 +1,143 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
.L_memcpy_base:
// Assumes that n >= 0, and dst, src are valid pointers.
cmp r2, #16
blo .L_copy_less_than_16_unknown_align
.L_copy_unknown_alignment:
// Unknown alignment of src and dst.
// Assumes that the first few bytes have already been prefetched.
// Align destination to 128 bits. The mainloop store instructions
// require this alignment or they will throw an exception.
rsb r3, r0, #0
ands r3, r3, #0xF
beq 2f
// Copy up to 15 bytes (count in r3).
sub r2, r2, r3
movs ip, r3, lsl #31
itt mi
ldrbmi lr, [r1], #1
strbmi lr, [r0], #1
itttt cs
ldrbcs ip, [r1], #1
ldrbcs lr, [r1], #1
strbcs ip, [r0], #1
strbcs lr, [r0], #1
movs ip, r3, lsl #29
bge 1f
// Copies 4 bytes, dst 32 bits aligned before, at least 64 bits after.
vld4.8 {d0[0], d1[0], d2[0], d3[0]}, [r1]!
vst4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0, :32]!
1: bcc 2f
// Copies 8 bytes, dst 64 bits aligned before, at least 128 bits after.
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0, :64]!
2: // Make sure we have at least 64 bytes to copy.
subs r2, r2, #64
blo 2f
1: // The main loop copies 64 bytes at a time.
vld1.8 {d0 - d3}, [r1]!
vld1.8 {d4 - d7}, [r1]!
subs r2, r2, #64
vstmia r0!, {d0 - d7}
pld [r1, #(64*10)]
bhs 1b
2: // Fix-up the remaining count and make sure we have >= 32 bytes left.
adds r2, r2, #32
blo 3f
// 32 bytes. These cache lines were already preloaded.
vld1.8 {d0 - d3}, [r1]!
sub r2, r2, #32
vst1.8 {d0 - d3}, [r0, :128]!
3: // Less than 32 left.
add r2, r2, #32
tst r2, #0x10
beq .L_copy_less_than_16_unknown_align
// Copies 16 bytes, destination 128 bits aligned.
vld1.8 {d0, d1}, [r1]!
vst1.8 {d0, d1}, [r0, :128]!
.L_copy_less_than_16_unknown_align:
// Copy up to 15 bytes (count in r2).
movs ip, r2, lsl #29
bcc 1f
vld1.8 {d0}, [r1]!
vst1.8 {d0}, [r0]!
1: bge 2f
vld4.8 {d0[0], d1[0], d2[0], d3[0]}, [r1]!
vst4.8 {d0[0], d1[0], d2[0], d3[0]}, [r0]!
2: // Copy 0 to 4 bytes.
lsls r2, r2, #31
itt ne
ldrbne lr, [r1], #1
strbne lr, [r0], #1
itttt cs
ldrbcs ip, [r1], #1
ldrbcs lr, [r1]
strbcs ip, [r0], #1
strbcs lr, [r0]
pop {r0, pc}

View File

@ -0,0 +1,31 @@
libc_openbsd_src_files_exclude_arm += \
upstream-openbsd/lib/libc/string/memmove.c \
upstream-openbsd/lib/libc/string/stpcpy.c \
upstream-openbsd/lib/libc/string/strcat.c \
libc_bionic_src_files_exclude_arm += \
arch-arm/generic/bionic/memcpy.S \
arch-arm/generic/bionic/memset.S \
arch-arm/generic/bionic/strcmp.S \
arch-arm/generic/bionic/strcpy.S \
arch-arm/generic/bionic/strlen.c \
bionic/__strcat_chk.cpp \
bionic/__strcpy_chk.cpp \
libc_bionic_src_files_arm += \
arch-arm/cortex-a53/bionic/memcpy.S \
arch-arm/cortex-a53/bionic/__strcat_chk.S \
arch-arm/cortex-a53/bionic/__strcpy_chk.S \
libc_bionic_src_files_arm += \
arch-arm/cortex-a7/bionic/memset.S \
libc_bionic_src_files_arm += \
arch-arm/cortex-a15/bionic/stpcpy.S \
arch-arm/cortex-a15/bionic/strcat.S \
arch-arm/cortex-a15/bionic/strcmp.S \
arch-arm/cortex-a15/bionic/strcpy.S \
arch-arm/cortex-a15/bionic/strlen.S \
libc_bionic_src_files_arm += \
arch-arm/denver/bionic/memmove.S \

View File

@ -0,0 +1,180 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <machine/cpu-features.h>
#include <private/bionic_asm.h>
#include <private/libc_events.h>
/*
* Optimized memset() for ARM.
*
* memset() returns its first argument.
*/
.fpu neon
.syntax unified
ENTRY(__memset_chk)
cmp r2, r3
bls .L_done
// Preserve lr for backtrace.
push {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_MEMSET_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+8)
END(__memset_chk)
ENTRY(bzero)
mov r2, r1
mov r1, #0
.L_done:
// Fall through to memset...
END(bzero)
ENTRY(memset)
mov r3, r0
// At this point only d0, d1 are going to be used below.
vdup.8 q0, r1
cmp r2, #16
blo .L_set_less_than_16_unknown_align
.L_check_alignment:
// Align destination to a double word to avoid the store crossing
// a cache line boundary.
ands ip, r3, #7
bne .L_do_double_word_align
.L_double_word_aligned:
// Duplicate since the less than 64 can use d2, d3.
vmov q1, q0
subs r2, #64
blo .L_set_less_than_64
// Duplicate the copy value so that we can store 64 bytes at a time.
vmov q2, q0
vmov q3, q0
1: // Main loop stores 64 bytes at a time.
subs r2, #64
vstmia r3!, {d0 - d7}
bge 1b
.L_set_less_than_64:
// Restore r2 to the count of bytes left to set.
add r2, #64
lsls ip, r2, #27
bcc .L_set_less_than_32
// Set 32 bytes.
vstmia r3!, {d0 - d3}
.L_set_less_than_32:
bpl .L_set_less_than_16
// Set 16 bytes.
vstmia r3!, {d0, d1}
.L_set_less_than_16:
// Less than 16 bytes to set.
lsls ip, r2, #29
bcc .L_set_less_than_8
// Set 8 bytes.
vstmia r3!, {d0}
.L_set_less_than_8:
bpl .L_set_less_than_4
// Set 4 bytes
vst1.32 {d0[0]}, [r3]!
.L_set_less_than_4:
lsls ip, r2, #31
it ne
strbne r1, [r3], #1
itt cs
strbcs r1, [r3], #1
strbcs r1, [r3]
bx lr
.L_do_double_word_align:
rsb ip, ip, #8
sub r2, r2, ip
// Do this comparison now, otherwise we'll need to save a
// register to the stack since we've used all available
// registers.
cmp ip, #4
blo 1f
// Need to do a four byte copy.
movs ip, ip, lsl #31
it mi
strbmi r1, [r3], #1
itt cs
strbcs r1, [r3], #1
strbcs r1, [r3], #1
vst1.32 {d0[0]}, [r3]!
b .L_double_word_aligned
1:
// No four byte copy.
movs ip, ip, lsl #31
it mi
strbmi r1, [r3], #1
itt cs
strbcs r1, [r3], #1
strbcs r1, [r3], #1
b .L_double_word_aligned
.L_set_less_than_16_unknown_align:
// Set up to 15 bytes.
movs ip, r2, lsl #29
bcc 1f
vst1.8 {d0}, [r3]!
1: bge 2f
vst1.32 {d0[0]}, [r3]!
2: movs ip, r2, lsl #31
it mi
strbmi r1, [r3], #1
itt cs
strbcs r1, [r3], #1
strbcs r1, [r3], #1
bx lr
END(memset)
.data
error_string:
.string "memset: prevented write past end of buffer"

View File

@ -1 +1,29 @@
include bionic/libc/arch-arm/cortex-a15/cortex-a15.mk
libc_openbsd_src_files_exclude_arm += \
upstream-openbsd/lib/libc/string/memmove.c \
upstream-openbsd/lib/libc/string/stpcpy.c \
upstream-openbsd/lib/libc/string/strcat.c \
libc_bionic_src_files_exclude_arm += \
arch-arm/generic/bionic/memcpy.S \
arch-arm/generic/bionic/memset.S \
arch-arm/generic/bionic/strcmp.S \
arch-arm/generic/bionic/strcpy.S \
arch-arm/generic/bionic/strlen.c \
bionic/__strcat_chk.cpp \
bionic/__strcpy_chk.cpp \
libc_bionic_src_files_arm += \
arch-arm/cortex-a7/bionic/memset.S \
libc_bionic_src_files_arm += \
arch-arm/cortex-a15/bionic/memcpy.S \
arch-arm/cortex-a15/bionic/stpcpy.S \
arch-arm/cortex-a15/bionic/strcat.S \
arch-arm/cortex-a15/bionic/__strcat_chk.S \
arch-arm/cortex-a15/bionic/strcmp.S \
arch-arm/cortex-a15/bionic/strcpy.S \
arch-arm/cortex-a15/bionic/__strcpy_chk.S \
arch-arm/cortex-a15/bionic/strlen.S \
libc_bionic_src_files_arm += \
arch-arm/denver/bionic/memmove.S \

View File

@ -26,8 +26,8 @@
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include "libc_events.h"
#include <private/bionic_asm.h>
#include <private/libc_events.h>
.syntax unified
.fpu neon
@ -38,15 +38,12 @@
// Check that the two lengths together don't exceed the threshold, then
// do a memcpy of the data.
ENTRY(__strcat_chk)
.cfi_startproc
pld [r0, #0]
push {r0, lr}
.save {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
push {r4, r5}
.save {r4, r5}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
@ -193,18 +190,13 @@ ENTRY(__strcat_chk)
pop {r4, r5}
// Fall through into the memcpy_base function.
.cfi_endproc
END(__strcat_chk)
#define MEMCPY_BASE __strcat_chk_memcpy_base
#define MEMCPY_BASE_ALIGNED __strcat_chk_memcpy_base_aligned
#include "memcpy_base.S"
ENTRY(__strcat_chk_fail)
.cfi_startproc
.save {r0, lr}
.save {r4, r5}
ENTRY_PRIVATE(__strcat_chk_fail)
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
@ -221,10 +213,8 @@ error_code:
.word BIONIC_EVENT_STRCAT_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
.cfi_endproc
END(__strcat_chk_fail)
.data
error_string:
.string "strcat buffer overflow"
.string "strcat: prevented write past end of buffer"

View File

@ -26,8 +26,8 @@
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include "libc_events.h"
#include <private/bionic_asm.h>
#include <private/libc_events.h>
.syntax unified
.fpu neon
@ -37,10 +37,8 @@
// Get the length of the source string first, then do a memcpy of the data
// instead of a strcpy.
ENTRY(__strcpy_chk)
.cfi_startproc
pld [r0, #0]
push {r0, lr}
.save {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
@ -158,8 +156,6 @@ ENTRY(__strcpy_chk)
// Add 1 for copy length to get the string terminator.
add r2, r3, #1
.cfi_endproc
// Fall through into the memcpy_base function.
END(__strcpy_chk)
@ -167,10 +163,7 @@ END(__strcpy_chk)
#define MEMCPY_BASE_ALIGNED __strcpy_chk_memcpy_base_aligned
#include "memcpy_base.S"
ENTRY(__strcpy_chk_fail)
.cfi_startproc
.save {r0, lr}
ENTRY_PRIVATE(__strcpy_chk_fail)
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
@ -185,10 +178,8 @@ error_code:
.word BIONIC_EVENT_STRCPY_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
.cfi_endproc
END(__strcpy_chk_fail)
.data
error_string:
.string "strcpy buffer overflow"
.string "strcpy: prevented write past end of buffer"

View File

@ -26,8 +26,8 @@
* SUCH DAMAGE.
*/
#include <machine/asm.h>
#include "libc_events.h"
#include <private/bionic_asm.h>
#include <private/libc_events.h>
/*
* This code assumes it is running on a processor that supports all arm v7
@ -41,37 +41,28 @@
.thumb_func
ENTRY(__memcpy_chk)
.cfi_startproc
cmp r2, r3
bhi __memcpy_chk_fail
// Fall through to memcpy...
.cfi_endproc
END(__memcpy_chk)
ENTRY(memcpy)
.cfi_startproc
pld [r1, #0]
stmfd sp!, {r0, lr}
.save {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
pld [r1, #64]
.cfi_endproc
END(memcpy)
#define MEMCPY_BASE __memcpy_base
#define MEMCPY_BASE_ALIGNED __memcpy_base_aligned
#include "memcpy_base.S"
ENTRY(__memcpy_chk_fail)
.cfi_startproc
ENTRY_PRIVATE(__memcpy_chk_fail)
// Preserve lr for backtrace.
push {lr}
.save {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
@ -84,9 +75,8 @@ error_code:
.word BIONIC_EVENT_MEMCPY_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
.cfi_endproc
END(__memcpy_chk_fail)
.data
error_string:
.string "memcpy buffer overflow"
.string "memcpy: prevented write past end of buffer"

View File

@ -32,9 +32,7 @@
* cache line.
*/
ENTRY(MEMCPY_BASE)
.cfi_startproc
.save {r0, lr}
ENTRY_PRIVATE(MEMCPY_BASE)
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
@ -46,7 +44,7 @@ ENTRY(MEMCPY_BASE)
/* check if buffers are aligned. If so, run arm-only version */
eor r3, r0, r1
ands r3, r3, #0x3
beq __memcpy_base_aligned
beq MEMCPY_BASE_ALIGNED
/* Check the upper size limit for Neon unaligned memory access in memcpy */
cmp r2, #224
@ -135,23 +133,16 @@ ENTRY(MEMCPY_BASE)
strbcs ip, [r0], #1
strbcs lr, [r0], #1
ldmfd sp!, {r0, lr}
bx lr
.cfi_endproc
ldmfd sp!, {r0, pc}
END(MEMCPY_BASE)
ENTRY(MEMCPY_BASE_ALIGNED)
.cfi_startproc
.save {r0, lr}
ENTRY_PRIVATE(MEMCPY_BASE_ALIGNED)
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
/* Simple arm-only copy loop to handle aligned copy operations */
stmfd sp!, {r4-r8}
.save {r4-r8}
.cfi_adjust_cfa_offset 20
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
@ -228,6 +219,4 @@ ENTRY(MEMCPY_BASE_ALIGNED)
6:
ldmfd sp!, {r4-r8}
ldmfd sp!, {r0, pc}
.cfi_endproc
END(MEMCPY_BASE_ALIGNED)

View File

@ -26,9 +26,8 @@
* SUCH DAMAGE.
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
#include "libc_events.h"
#include <private/bionic_asm.h>
#include <private/libc_events.h>
/*
* This code assumes it is running on a processor that supports all arm v7
@ -36,15 +35,14 @@
*/
.fpu neon
.syntax unified
ENTRY(__memset_chk)
.cfi_startproc
cmp r2, r3
bls .L_done
// Preserve lr for backtrace.
push {lr}
.save {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
@ -57,33 +55,23 @@ error_code:
.word BIONIC_EVENT_MEMSET_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+8)
.cfi_endproc
END(__memset_chk)
ENTRY(bzero)
.cfi_startproc
mov r2, r1
mov r1, #0
.L_done:
// Fall through to memset...
.cfi_endproc
END(bzero)
/* memset() returns its first argument. */
ENTRY(memset)
.cfi_startproc
# The neon memset only wins for less than 132.
// The neon memset only wins for less than 132.
cmp r2, #132
bhi __memset_large_copy
stmfd sp!, {r0}
.save {r0}
.cfi_def_cfa_offset 4
.cfi_rel_offset r0, 0
bhi .L_memset_large_copy
mov r3, r0
vdup.8 q0, r1
/* make sure we have at least 32 bytes to write */
@ -93,7 +81,7 @@ ENTRY(memset)
1: /* The main loop writes 32 bytes at a time */
subs r2, r2, #32
vst1.8 {d0 - d3}, [r0]!
vst1.8 {d0 - d3}, [r3]!
bhs 1b
2: /* less than 32 left */
@ -102,31 +90,24 @@ ENTRY(memset)
beq 3f
// writes 16 bytes, 128-bits aligned
vst1.8 {d0, d1}, [r0]!
vst1.8 {d0, d1}, [r3]!
3: /* write up to 15-bytes (count in r2) */
movs ip, r2, lsl #29
bcc 1f
vst1.8 {d0}, [r0]!
vst1.8 {d0}, [r3]!
1: bge 2f
vst1.32 {d0[0]}, [r0]!
vst1.32 {d0[0]}, [r3]!
2: movs ip, r2, lsl #31
strmib r1, [r0], #1
strcsb r1, [r0], #1
strcsb r1, [r0], #1
ldmfd sp!, {r0}
strbmi r1, [r3], #1
strbcs r1, [r3], #1
strbcs r1, [r3], #1
bx lr
.cfi_endproc
END(memset)
ENTRY(__memset_large_copy)
.cfi_startproc
.L_memset_large_copy:
/* compute the offset to align the destination
* offset = (4-(src&3))&3 = -src & 3
*/
stmfd sp!, {r0, r4-r7, lr}
.save {r0, r4-r7, lr}
.cfi_def_cfa_offset 24
.cfi_rel_offset r0, 0
.cfi_rel_offset r4, 4
@ -146,12 +127,11 @@ ENTRY(__memset_large_copy)
orr r1, r1, r1, lsr #16
movs r12, r3, lsl #31
strcsb r1, [r0], #1 /* can't use strh (alignment unknown) */
strcsb r1, [r0], #1
strmib r1, [r0], #1
strbcs r1, [r0], #1 /* can't use strh (alignment unknown) */
strbcs r1, [r0], #1
strbmi r1, [r0], #1
subs r2, r2, r3
ldmlsfd sp!, {r0, r4-r7, lr} /* return */
bxls lr
popls {r0, r4-r7, pc} /* return */
/* align the destination to a cache-line */
mov r12, r1
@ -170,9 +150,9 @@ ENTRY(__memset_large_copy)
/* conditionally writes 0 to 7 words (length in r3) */
movs r3, r3, lsl #28
stmcsia r0!, {r1, lr}
stmcsia r0!, {r1, lr}
stmmiia r0!, {r1, lr}
stmcs r0!, {r1, lr}
stmcs r0!, {r1, lr}
stmmi r0!, {r1, lr}
movs r3, r3, lsl #2
strcs r1, [r0], #4
@ -187,18 +167,16 @@ ENTRY(__memset_large_copy)
/* conditionally stores 0 to 31 bytes */
movs r2, r2, lsl #28
stmcsia r0!, {r1,r3,r12,lr}
stmmiia r0!, {r1, lr}
stmcs r0!, {r1,r3,r12,lr}
stmmi r0!, {r1, lr}
movs r2, r2, lsl #2
strcs r1, [r0], #4
strmih r1, [r0], #2
strhmi r1, [r0], #2
movs r2, r2, lsl #2
strcsb r1, [r0]
ldmfd sp!, {r0, r4-r7, lr}
bx lr
.cfi_endproc
END(__memset_large_copy)
strbcs r1, [r0]
ldmfd sp!, {r0, r4-r7, pc}
END(memset)
.data
error_string:
.string "memset buffer overflow"
.string "memset: prevented write past end of buffer"

View File

@ -0,0 +1,30 @@
/*
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#define STPCPY
#include "string_copy.S"

View File

@ -53,7 +53,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <machine/asm.h>
#include <private/bionic_asm.h>
.syntax unified
@ -70,7 +70,7 @@
.macro m_scan_byte
ldrb r3, [r0]
cbz r3, strcat_r0_scan_done
cbz r3, .Lstrcat_r0_scan_done
add r0, #1
.endm // m_scan_byte
@ -84,10 +84,10 @@ ENTRY(strcat)
// Quick check to see if src is empty.
ldrb r2, [r1]
pld [r1, #0]
cbnz r2, strcat_continue
cbnz r2, .Lstrcat_continue
bx lr
strcat_continue:
.Lstrcat_continue:
// To speed up really small dst strings, unroll checking the first 4 bytes.
m_push
m_scan_byte
@ -96,10 +96,10 @@ strcat_continue:
m_scan_byte
ands r3, r0, #7
bne strcat_align_src
bne .Lstrcat_align_src
.p2align 2
strcat_mainloop:
.Lstrcat_mainloop:
ldmia r0!, {r2, r3}
pld [r0, #64]
@ -107,28 +107,28 @@ strcat_mainloop:
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcat_zero_in_first_register
bne .Lstrcat_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcat_zero_in_second_register
b strcat_mainloop
bne .Lstrcat_zero_in_second_register
b .Lstrcat_mainloop
strcat_zero_in_first_register:
.Lstrcat_zero_in_first_register:
sub r0, r0, #4
strcat_zero_in_second_register:
.Lstrcat_zero_in_second_register:
// Check for zero in byte 0.
tst ip, #0x80
it ne
subne r0, r0, #4
bne strcat_r0_scan_done
bne .Lstrcat_r0_scan_done
// Check for zero in byte 1.
tst ip, #0x8000
it ne
subne r0, r0, #3
bne strcat_r0_scan_done
bne .Lstrcat_r0_scan_done
// Check for zero in byte 2.
tst ip, #0x800000
it ne
@ -137,33 +137,33 @@ strcat_zero_in_second_register:
// Zero is in byte 3.
subeq r0, r0, #1
strcat_r0_scan_done:
.Lstrcat_r0_scan_done:
// Unroll the first 8 bytes that will be copied.
m_copy_byte reg=r2, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r5, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r2, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r5, cmd=cbnz, label=strcpy_continue
m_copy_byte reg=r2, cmd=cbz, label=.Lstrcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=.Lstrcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=.Lstrcpy_finish
m_copy_byte reg=r5, cmd=cbz, label=.Lstrcpy_finish
m_copy_byte reg=r2, cmd=cbz, label=.Lstrcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=.Lstrcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=.Lstrcpy_finish
m_copy_byte reg=r5, cmd=cbnz, label=.Lstrcpy_continue
strcpy_finish:
.Lstrcpy_finish:
m_ret inst=pop
strcpy_continue:
.Lstrcpy_continue:
pld [r1, #0]
ands r3, r0, #7
bne strcpy_align_dst
bne .Lstrcpy_align_dst
strcpy_check_src_align:
.Lstrcpy_check_src_align:
// At this point dst is aligned to a double word, check if src
// is also aligned to a double word.
ands r3, r1, #7
bne strcpy_unaligned_copy
bne .Lstrcpy_unaligned_copy
.p2align 2
strcpy_mainloop:
.Lstrcpy_mainloop:
ldmia r1!, {r2, r3}
pld [r1, #64]
@ -171,17 +171,17 @@ strcpy_mainloop:
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .Lstrcpy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .Lstrcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_mainloop
b .Lstrcpy_mainloop
strcpy_zero_in_first_register:
.Lstrcpy_zero_in_first_register:
lsls lr, ip, #17
itt ne
strbne r2, [r0]
@ -198,7 +198,7 @@ strcpy_zero_in_first_register:
strb r3, [r0]
m_ret inst=pop
strcpy_zero_in_second_register:
.Lstrcpy_zero_in_second_register:
lsls lr, ip, #17
ittt ne
stmiane r0!, {r2}
@ -218,18 +218,18 @@ strcpy_zero_in_second_register:
strb r4, [r0]
m_ret inst=pop
strcpy_align_dst:
.Lstrcpy_align_dst:
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq strcpy_align_to_32
beq .Lstrcpy_align_to_32
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, strcpy_complete
cbz r2, .Lstrcpy_complete
strcpy_align_to_32:
bcc strcpy_align_to_64
.Lstrcpy_align_to_32:
bcc .Lstrcpy_align_to_64
ldrb r4, [r1], #1
strb r4, [r0], #1
@ -242,76 +242,83 @@ strcpy_align_to_32:
it eq
m_ret inst=popeq
strcpy_align_to_64:
.Lstrcpy_align_to_64:
tst r3, #4
beq strcpy_check_src_align
ldr r2, [r1], #4
beq .Lstrcpy_check_src_align
// Read one byte at a time since we don't know the src alignment
// and we don't want to read into a different page.
ldrb r4, [r1], #1
strb r4, [r0], #1
cbz r4, .Lstrcpy_complete
ldrb r5, [r1], #1
strb r5, [r0], #1
cbz r5, .Lstrcpy_complete
ldrb r4, [r1], #1
strb r4, [r0], #1
cbz r4, .Lstrcpy_complete
ldrb r5, [r1], #1
strb r5, [r0], #1
cbz r5, .Lstrcpy_complete
b .Lstrcpy_check_src_align
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
stmia r0!, {r2}
b strcpy_check_src_align
strcpy_complete:
.Lstrcpy_complete:
m_ret inst=pop
strcpy_unaligned_copy:
.Lstrcpy_unaligned_copy:
// Dst is aligned to a double word, while src is at an unknown alignment.
// There are 7 different versions of the unaligned copy code
// to prevent overreading the src. The mainloop of every single version
// will store 64 bits per loop. The difference is how much of src can
// be read without potentially crossing a page boundary.
tbb [pc, r3]
strcpy_unaligned_branchtable:
.Lstrcpy_unaligned_branchtable:
.byte 0
.byte ((strcpy_unalign7 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign6 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign5 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign4 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign3 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign2 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign1 - strcpy_unaligned_branchtable)/2)
.byte ((.Lstrcpy_unalign7 - .Lstrcpy_unaligned_branchtable)/2)
.byte ((.Lstrcpy_unalign6 - .Lstrcpy_unaligned_branchtable)/2)
.byte ((.Lstrcpy_unalign5 - .Lstrcpy_unaligned_branchtable)/2)
.byte ((.Lstrcpy_unalign4 - .Lstrcpy_unaligned_branchtable)/2)
.byte ((.Lstrcpy_unalign3 - .Lstrcpy_unaligned_branchtable)/2)
.byte ((.Lstrcpy_unalign2 - .Lstrcpy_unaligned_branchtable)/2)
.byte ((.Lstrcpy_unalign1 - .Lstrcpy_unaligned_branchtable)/2)
.p2align 2
// Can read 7 bytes before possibly crossing a page.
strcpy_unalign7:
.Lstrcpy_unalign7:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .Lstrcpy_zero_in_first_register
ldrb r3, [r1]
cbz r3, strcpy_unalign7_copy5bytes
cbz r3, .Lstrcpy_unalign7_copy5bytes
ldrb r4, [r1, #1]
cbz r4, strcpy_unalign7_copy6bytes
cbz r4, .Lstrcpy_unalign7_copy6bytes
ldrb r5, [r1, #2]
cbz r5, strcpy_unalign7_copy7bytes
cbz r5, .Lstrcpy_unalign7_copy7bytes
ldr r3, [r1], #4
pld [r1, #64]
lsrs ip, r3, #24
stmia r0!, {r2, r3}
beq strcpy_unalign_return
b strcpy_unalign7
beq .Lstrcpy_unalign_return
b .Lstrcpy_unalign7
strcpy_unalign7_copy5bytes:
.Lstrcpy_unalign7_copy5bytes:
stmia r0!, {r2}
strb r3, [r0]
strcpy_unalign_return:
.Lstrcpy_unalign_return:
m_ret inst=pop
strcpy_unalign7_copy6bytes:
.Lstrcpy_unalign7_copy6bytes:
stmia r0!, {r2}
strb r3, [r0], #1
strb r4, [r0], #1
m_ret inst=pop
strcpy_unalign7_copy7bytes:
.Lstrcpy_unalign7_copy7bytes:
stmia r0!, {r2}
strb r3, [r0], #1
strb r4, [r0], #1
@ -320,30 +327,30 @@ strcpy_unalign7_copy7bytes:
.p2align 2
// Can read 6 bytes before possibly crossing a page.
strcpy_unalign6:
.Lstrcpy_unalign6:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .Lstrcpy_zero_in_first_register
ldrb r4, [r1]
cbz r4, strcpy_unalign_copy5bytes
cbz r4, .Lstrcpy_unalign_copy5bytes
ldrb r5, [r1, #1]
cbz r5, strcpy_unalign_copy6bytes
cbz r5, .Lstrcpy_unalign_copy6bytes
ldr r3, [r1], #4
pld [r1, #64]
tst r3, #0xff0000
beq strcpy_unalign6_copy7bytes
beq .Lstrcpy_unalign6_copy7bytes
lsrs ip, r3, #24
stmia r0!, {r2, r3}
beq strcpy_unalign_return
b strcpy_unalign6
beq .Lstrcpy_unalign_return
b .Lstrcpy_unalign6
strcpy_unalign6_copy7bytes:
.Lstrcpy_unalign6_copy7bytes:
stmia r0!, {r2}
strh r3, [r0], #2
lsr r3, #16
@ -352,16 +359,16 @@ strcpy_unalign6_copy7bytes:
.p2align 2
// Can read 5 bytes before possibly crossing a page.
strcpy_unalign5:
.Lstrcpy_unalign5:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .Lstrcpy_zero_in_first_register
ldrb r4, [r1]
cbz r4, strcpy_unalign_copy5bytes
cbz r4, .Lstrcpy_unalign_copy5bytes
ldr r3, [r1], #4
@ -370,17 +377,17 @@ strcpy_unalign5:
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .Lstrcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign5
b .Lstrcpy_unalign5
strcpy_unalign_copy5bytes:
.Lstrcpy_unalign_copy5bytes:
stmia r0!, {r2}
strb r4, [r0]
m_ret inst=pop
strcpy_unalign_copy6bytes:
.Lstrcpy_unalign_copy6bytes:
stmia r0!, {r2}
strb r4, [r0], #1
strb r5, [r0]
@ -388,13 +395,13 @@ strcpy_unalign_copy6bytes:
.p2align 2
// Can read 4 bytes before possibly crossing a page.
strcpy_unalign4:
.Lstrcpy_unalign4:
ldmia r1!, {r2}
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .Lstrcpy_zero_in_first_register
ldmia r1!, {r3}
pld [r1, #64]
@ -402,20 +409,20 @@ strcpy_unalign4:
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .Lstrcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign4
b .Lstrcpy_unalign4
.p2align 2
// Can read 3 bytes before possibly crossing a page.
strcpy_unalign3:
.Lstrcpy_unalign3:
ldrb r2, [r1]
cbz r2, strcpy_unalign3_copy1byte
cbz r2, .Lstrcpy_unalign3_copy1byte
ldrb r3, [r1, #1]
cbz r3, strcpy_unalign3_copy2bytes
cbz r3, .Lstrcpy_unalign3_copy2bytes
ldrb r4, [r1, #2]
cbz r4, strcpy_unalign3_copy3bytes
cbz r4, .Lstrcpy_unalign3_copy3bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
@ -423,26 +430,26 @@ strcpy_unalign3:
pld [r1, #64]
lsrs lr, r2, #24
beq strcpy_unalign_copy4bytes
beq .Lstrcpy_unalign_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .Lstrcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign3
b .Lstrcpy_unalign3
strcpy_unalign3_copy1byte:
.Lstrcpy_unalign3_copy1byte:
strb r2, [r0]
m_ret inst=pop
strcpy_unalign3_copy2bytes:
.Lstrcpy_unalign3_copy2bytes:
strb r2, [r0], #1
strb r3, [r0]
m_ret inst=pop
strcpy_unalign3_copy3bytes:
.Lstrcpy_unalign3_copy3bytes:
strb r2, [r0], #1
strb r3, [r0], #1
strb r4, [r0]
@ -450,34 +457,34 @@ strcpy_unalign3_copy3bytes:
.p2align 2
// Can read 2 bytes before possibly crossing a page.
strcpy_unalign2:
.Lstrcpy_unalign2:
ldrb r2, [r1]
cbz r2, strcpy_unalign_copy1byte
cbz r2, .Lstrcpy_unalign_copy1byte
ldrb r3, [r1, #1]
cbz r3, strcpy_unalign_copy2bytes
cbz r3, .Lstrcpy_unalign_copy2bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
tst r2, #0xff0000
beq strcpy_unalign_copy3bytes
beq .Lstrcpy_unalign_copy3bytes
lsrs ip, r2, #24
beq strcpy_unalign_copy4bytes
beq .Lstrcpy_unalign_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .Lstrcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign2
b .Lstrcpy_unalign2
.p2align 2
// Can read 1 byte before possibly crossing a page.
strcpy_unalign1:
.Lstrcpy_unalign1:
ldrb r2, [r1]
cbz r2, strcpy_unalign_copy1byte
cbz r2, .Lstrcpy_unalign_copy1byte
ldr r2, [r1], #4
ldr r3, [r1], #4
@ -487,62 +494,62 @@ strcpy_unalign1:
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
bne .Lstrcpy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
bne .Lstrcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign1
b .Lstrcpy_unalign1
strcpy_unalign_copy1byte:
.Lstrcpy_unalign_copy1byte:
strb r2, [r0]
m_ret inst=pop
strcpy_unalign_copy2bytes:
.Lstrcpy_unalign_copy2bytes:
strb r2, [r0], #1
strb r3, [r0]
m_ret inst=pop
strcpy_unalign_copy3bytes:
.Lstrcpy_unalign_copy3bytes:
strh r2, [r0], #2
lsr r2, #16
strb r2, [r0]
m_ret inst=pop
strcpy_unalign_copy4bytes:
.Lstrcpy_unalign_copy4bytes:
stmia r0, {r2}
m_ret inst=pop
strcat_align_src:
.Lstrcat_align_src:
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq strcat_align_to_32
beq .Lstrcat_align_to_32
ldrb r2, [r0], #1
cbz r2, strcat_r0_update
cbz r2, .Lstrcat_r0_update
strcat_align_to_32:
bcc strcat_align_to_64
.Lstrcat_align_to_32:
bcc .Lstrcat_align_to_64
ldrb r2, [r0], #1
cbz r2, strcat_r0_update
cbz r2, .Lstrcat_r0_update
ldrb r2, [r0], #1
cbz r2, strcat_r0_update
cbz r2, .Lstrcat_r0_update
strcat_align_to_64:
.Lstrcat_align_to_64:
tst r3, #4
beq strcat_mainloop
beq .Lstrcat_mainloop
ldr r3, [r0], #4
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcat_zero_in_second_register
b strcat_mainloop
bne .Lstrcat_zero_in_second_register
b .Lstrcat_mainloop
strcat_r0_update:
.Lstrcat_r0_update:
sub r0, r0, #1
b strcat_r0_scan_done
b .Lstrcat_r0_scan_done
END(strcat)

View File

@ -27,7 +27,7 @@
*/
#include <machine/cpu-features.h>
#include <machine/asm.h>
#include <private/bionic_asm.h>
#ifdef __ARMEB__
#define S2LOMEM lsl
@ -145,19 +145,8 @@ ENTRY(strcmp)
.macro magic_find_zero_bytes w1
/* Macro to find all-zero bytes in w1, result is in ip. */
#if (defined (__ARM_FEATURE_DSP))
uadd8 ip, \w1, r6
sel ip, r7, r6
#else /* not defined (__ARM_FEATURE_DSP) */
/* __ARM_FEATURE_DSP is not defined for some Cortex-M processors.
Coincidently, these processors only have Thumb-2 mode, where we can use the
the (large) magic constant available directly as an immediate in instructions.
Note that we cannot use the magic constant in ARM mode, where we need
to create the constant in a register. */
sub ip, \w1, #0x01010101
bic ip, ip, \w1
and ip, ip, #0x80808080
#endif /* not defined (__ARM_FEATURE_DSP) */
.endm /* magic_find_zero_bytes */
.macro setup_return w1 w2
@ -170,7 +159,6 @@ ENTRY(strcmp)
#endif /* not __ARMEB__ */
.endm /* setup_return */
.cfi_startproc
pld [r0, #0]
pld [r1, #0]
@ -180,7 +168,6 @@ ENTRY(strcmp)
bne .L_do_align
/* Fast path. */
.save {r4-r7}
init
.L_doubleword_aligned:
@ -558,5 +545,4 @@ ENTRY(strcmp)
adds sp, sp, #16
bx lr
.cfi_endproc
END(strcmp)

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* Copyright (C) 2014 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@ -25,432 +25,6 @@
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <machine/asm.h>
.syntax unified
.thumb
.thumb_func
.macro m_push
push {r0, r4, r5, lr}
.endm // m_push
.macro m_ret inst
\inst {r0, r4, r5, pc}
.endm // m_ret
.macro m_copy_byte reg, cmd, label
ldrb \reg, [r1], #1
strb \reg, [r0], #1
\cmd \reg, \label
.endm // m_copy_byte
ENTRY(strcpy)
// Unroll the first 8 bytes that will be copied.
m_push
m_copy_byte reg=r2, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r5, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r2, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r3, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r4, cmd=cbz, label=strcpy_finish
m_copy_byte reg=r5, cmd=cbnz, label=strcpy_continue
strcpy_finish:
m_ret inst=pop
strcpy_continue:
pld [r1, #0]
ands r3, r0, #7
bne strcpy_align_dst
strcpy_check_src_align:
// At this point dst is aligned to a double word, check if src
// is also aligned to a double word.
ands r3, r1, #7
bne strcpy_unaligned_copy
.p2align 2
strcpy_mainloop:
ldmia r1!, {r2, r3}
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_mainloop
strcpy_zero_in_first_register:
lsls lr, ip, #17
itt ne
strbne r2, [r0]
m_ret inst=popne
itt cs
strhcs r2, [r0]
m_ret inst=popcs
lsls ip, ip, #1
itt eq
streq r2, [r0]
m_ret inst=popeq
strh r2, [r0], #2
lsr r3, r2, #16
strb r3, [r0]
m_ret inst=pop
strcpy_zero_in_second_register:
lsls lr, ip, #17
ittt ne
stmiane r0!, {r2}
strbne r3, [r0]
m_ret inst=popne
ittt cs
strcs r2, [r0], #4
strhcs r3, [r0]
m_ret inst=popcs
lsls ip, ip, #1
itt eq
stmiaeq r0, {r2, r3}
m_ret inst=popeq
stmia r0!, {r2}
strh r3, [r0], #2
lsr r4, r3, #16
strb r4, [r0]
m_ret inst=pop
strcpy_align_dst:
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq strcpy_align_to_32
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, strcpy_complete
strcpy_align_to_32:
bcc strcpy_align_to_64
ldrb r4, [r1], #1
strb r4, [r0], #1
cmp r4, #0
it eq
m_ret inst=popeq
ldrb r5, [r1], #1
strb r5, [r0], #1
cmp r5, #0
it eq
m_ret inst=popeq
strcpy_align_to_64:
tst r3, #4
beq strcpy_check_src_align
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
stmia r0!, {r2}
b strcpy_check_src_align
strcpy_complete:
m_ret inst=pop
strcpy_unaligned_copy:
// Dst is aligned to a double word, while src is at an unknown alignment.
// There are 7 different versions of the unaligned copy code
// to prevent overreading the src. The mainloop of every single version
// will store 64 bits per loop. The difference is how much of src can
// be read without potentially crossing a page boundary.
tbb [pc, r3]
strcpy_unaligned_branchtable:
.byte 0
.byte ((strcpy_unalign7 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign6 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign5 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign4 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign3 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign2 - strcpy_unaligned_branchtable)/2)
.byte ((strcpy_unalign1 - strcpy_unaligned_branchtable)/2)
.p2align 2
// Can read 7 bytes before possibly crossing a page.
strcpy_unalign7:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
ldrb r3, [r1]
cbz r3, strcpy_unalign7_copy5bytes
ldrb r4, [r1, #1]
cbz r4, strcpy_unalign7_copy6bytes
ldrb r5, [r1, #2]
cbz r5, strcpy_unalign7_copy7bytes
ldr r3, [r1], #4
pld [r1, #64]
lsrs ip, r3, #24
stmia r0!, {r2, r3}
beq strcpy_unalign_return
b strcpy_unalign7
strcpy_unalign7_copy5bytes:
stmia r0!, {r2}
strb r3, [r0]
strcpy_unalign_return:
m_ret inst=pop
strcpy_unalign7_copy6bytes:
stmia r0!, {r2}
strb r3, [r0], #1
strb r4, [r0], #1
m_ret inst=pop
strcpy_unalign7_copy7bytes:
stmia r0!, {r2}
strb r3, [r0], #1
strb r4, [r0], #1
strb r5, [r0], #1
m_ret inst=pop
.p2align 2
// Can read 6 bytes before possibly crossing a page.
strcpy_unalign6:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
ldrb r4, [r1]
cbz r4, strcpy_unalign_copy5bytes
ldrb r5, [r1, #1]
cbz r5, strcpy_unalign_copy6bytes
ldr r3, [r1], #4
pld [r1, #64]
tst r3, #0xff0000
beq strcpy_unalign6_copy7bytes
lsrs ip, r3, #24
stmia r0!, {r2, r3}
beq strcpy_unalign_return
b strcpy_unalign6
strcpy_unalign6_copy7bytes:
stmia r0!, {r2}
strh r3, [r0], #2
lsr r3, #16
strb r3, [r0]
m_ret inst=pop
.p2align 2
// Can read 5 bytes before possibly crossing a page.
strcpy_unalign5:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
ldrb r4, [r1]
cbz r4, strcpy_unalign_copy5bytes
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign5
strcpy_unalign_copy5bytes:
stmia r0!, {r2}
strb r4, [r0]
m_ret inst=pop
strcpy_unalign_copy6bytes:
stmia r0!, {r2}
strb r4, [r0], #1
strb r5, [r0]
m_ret inst=pop
.p2align 2
// Can read 4 bytes before possibly crossing a page.
strcpy_unalign4:
ldmia r1!, {r2}
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
ldmia r1!, {r3}
pld [r1, #64]
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign4
.p2align 2
// Can read 3 bytes before possibly crossing a page.
strcpy_unalign3:
ldrb r2, [r1]
cbz r2, strcpy_unalign3_copy1byte
ldrb r3, [r1, #1]
cbz r3, strcpy_unalign3_copy2bytes
ldrb r4, [r1, #2]
cbz r4, strcpy_unalign3_copy3bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
lsrs lr, r2, #24
beq strcpy_unalign_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign3
strcpy_unalign3_copy1byte:
strb r2, [r0]
m_ret inst=pop
strcpy_unalign3_copy2bytes:
strb r2, [r0], #1
strb r3, [r0]
m_ret inst=pop
strcpy_unalign3_copy3bytes:
strb r2, [r0], #1
strb r3, [r0], #1
strb r4, [r0]
m_ret inst=pop
.p2align 2
// Can read 2 bytes before possibly crossing a page.
strcpy_unalign2:
ldrb r2, [r1]
cbz r2, strcpy_unalign_copy1byte
ldrb r3, [r1, #1]
cbz r3, strcpy_unalign_copy2bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
tst r2, #0xff0000
beq strcpy_unalign_copy3bytes
lsrs ip, r2, #24
beq strcpy_unalign_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign2
.p2align 2
// Can read 1 byte before possibly crossing a page.
strcpy_unalign1:
ldrb r2, [r1]
cbz r2, strcpy_unalign_copy1byte
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne strcpy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne strcpy_zero_in_second_register
stmia r0!, {r2, r3}
b strcpy_unalign1
strcpy_unalign_copy1byte:
strb r2, [r0]
m_ret inst=pop
strcpy_unalign_copy2bytes:
strb r2, [r0], #1
strb r3, [r0]
m_ret inst=pop
strcpy_unalign_copy3bytes:
strh r2, [r0], #2
lsr r2, #16
strb r2, [r0]
m_ret inst=pop
strcpy_unalign_copy4bytes:
stmia r0, {r2}
m_ret inst=pop
END(strcpy)
#define STRCPY
#include "string_copy.S"

View File

@ -0,0 +1,542 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#if !defined(STPCPY) && !defined(STRCPY)
#error "Either STPCPY or STRCPY must be defined."
#endif
#include <private/bionic_asm.h>
.syntax unified
.thumb
.thumb_func
#if defined(STPCPY)
.macro m_push
push {r4, r5, lr}
.cfi_def_cfa_offset 12
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
.cfi_rel_offset lr, 8
.endm // m_push
#else
.macro m_push
push {r0, r4, r5, lr}
.cfi_def_cfa_offset 16
.cfi_rel_offset r0, 0
.cfi_rel_offset r4, 4
.cfi_rel_offset r5, 8
.cfi_rel_offset lr, 12
.endm // m_push
#endif
#if defined(STPCPY)
.macro m_ret inst
\inst {r4, r5, pc}
.endm // m_ret
#else
.macro m_ret inst
\inst {r0, r4, r5, pc}
.endm // m_ret
#endif
.macro m_copy_byte reg, cmd, label
ldrb \reg, [r1], #1
strb \reg, [r0], #1
\cmd \reg, \label
.endm // m_copy_byte
#if defined(STPCPY)
ENTRY(stpcpy)
#else
ENTRY(strcpy)
#endif
// Unroll the first 8 bytes that will be copied.
m_push
m_copy_byte reg=r2, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r3, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r4, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r5, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r2, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r3, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r4, cmd=cbz, label=.Lstringcopy_finish
m_copy_byte reg=r5, cmd=cbnz, label=.Lstringcopy_continue
.Lstringcopy_finish:
#if defined(STPCPY)
sub r0, r0, #1
#endif
m_ret inst=pop
.Lstringcopy_continue:
pld [r1, #0]
ands r3, r0, #7
bne .Lstringcopy_align_dst
.Lstringcopy_check_src_align:
// At this point dst is aligned to a double word, check if src
// is also aligned to a double word.
ands r3, r1, #7
bne .Lstringcopy_unaligned_copy
.p2align 2
.Lstringcopy_mainloop:
ldmia r1!, {r2, r3}
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
stmia r0!, {r2, r3}
b .Lstringcopy_mainloop
.Lstringcopy_zero_in_first_register:
lsls lr, ip, #17
itt ne
strbne r2, [r0]
m_ret inst=popne
itt cs
#if defined(STPCPY)
strhcs r2, [r0], #1
#else
strhcs r2, [r0]
#endif
m_ret inst=popcs
lsls ip, ip, #1
itt eq
#if defined(STPCPY)
streq r2, [r0], #3
#else
streq r2, [r0]
#endif
m_ret inst=popeq
strh r2, [r0], #2
lsr r3, r2, #16
strb r3, [r0]
m_ret inst=pop
.Lstringcopy_zero_in_second_register:
lsls lr, ip, #17
ittt ne
stmiane r0!, {r2}
strbne r3, [r0]
m_ret inst=popne
ittt cs
strcs r2, [r0], #4
#if defined(STPCPY)
strhcs r3, [r0], #1
#else
strhcs r3, [r0]
#endif
m_ret inst=popcs
lsls ip, ip, #1
#if defined(STPCPY)
ittt eq
#else
itt eq
#endif
stmiaeq r0, {r2, r3}
#if defined(STPCPY)
addeq r0, r0, #7
#endif
m_ret inst=popeq
stmia r0!, {r2}
strh r3, [r0], #2
lsr r4, r3, #16
strb r4, [r0]
m_ret inst=pop
.Lstringcopy_align_dst:
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq .Lstringcopy_align_to_32
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
.Lstringcopy_align_to_32:
bcc .Lstringcopy_align_to_64
ldrb r4, [r1], #1
strb r4, [r0], #1
cmp r4, #0
#if defined(STPCPY)
itt eq
subeq r0, r0, #1
#else
it eq
#endif
m_ret inst=popeq
ldrb r5, [r1], #1
strb r5, [r0], #1
cmp r5, #0
#if defined(STPCPY)
itt eq
subeq r0, r0, #1
#else
it eq
#endif
m_ret inst=popeq
.Lstringcopy_align_to_64:
tst r3, #4
beq .Lstringcopy_check_src_align
// Read one byte at a time since we don't have any idea about the alignment
// of the source and we don't want to read into a different page.
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
ldrb r2, [r1], #1
strb r2, [r0], #1
cbz r2, .Lstringcopy_complete
b .Lstringcopy_check_src_align
.Lstringcopy_complete:
#if defined(STPCPY)
sub r0, r0, #1
#endif
m_ret inst=pop
.Lstringcopy_unaligned_copy:
// Dst is aligned to a double word, while src is at an unknown alignment.
// There are 7 different versions of the unaligned copy code
// to prevent overreading the src. The mainloop of every single version
// will store 64 bits per loop. The difference is how much of src can
// be read without potentially crossing a page boundary.
tbb [pc, r3]
.Lstringcopy_unaligned_branchtable:
.byte 0
.byte ((.Lstringcopy_unalign7 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign6 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign5 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign4 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign3 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign2 - .Lstringcopy_unaligned_branchtable)/2)
.byte ((.Lstringcopy_unalign1 - .Lstringcopy_unaligned_branchtable)/2)
.p2align 2
// Can read 7 bytes before possibly crossing a page.
.Lstringcopy_unalign7:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
ldrb r3, [r1]
cbz r3, .Lstringcopy_unalign7_copy5bytes
ldrb r4, [r1, #1]
cbz r4, .Lstringcopy_unalign7_copy6bytes
ldrb r5, [r1, #2]
cbz r5, .Lstringcopy_unalign7_copy7bytes
ldr r3, [r1], #4
pld [r1, #64]
lsrs ip, r3, #24
stmia r0!, {r2, r3}
#if defined(STPCPY)
beq .Lstringcopy_finish
#else
beq .Lstringcopy_unalign_return
#endif
b .Lstringcopy_unalign7
.Lstringcopy_unalign7_copy5bytes:
stmia r0!, {r2}
strb r3, [r0]
.Lstringcopy_unalign_return:
m_ret inst=pop
.Lstringcopy_unalign7_copy6bytes:
stmia r0!, {r2}
strb r3, [r0], #1
strb r4, [r0]
m_ret inst=pop
.Lstringcopy_unalign7_copy7bytes:
stmia r0!, {r2}
strb r3, [r0], #1
strb r4, [r0], #1
strb r5, [r0]
m_ret inst=pop
.p2align 2
// Can read 6 bytes before possibly crossing a page.
.Lstringcopy_unalign6:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
ldrb r4, [r1]
cbz r4, .Lstringcopy_unalign_copy5bytes
ldrb r5, [r1, #1]
cbz r5, .Lstringcopy_unalign_copy6bytes
ldr r3, [r1], #4
pld [r1, #64]
tst r3, #0xff0000
beq .Lstringcopy_unalign6_copy7bytes
lsrs ip, r3, #24
stmia r0!, {r2, r3}
#if defined(STPCPY)
beq .Lstringcopy_finish
#else
beq .Lstringcopy_unalign_return
#endif
b .Lstringcopy_unalign6
.Lstringcopy_unalign6_copy7bytes:
stmia r0!, {r2}
strh r3, [r0], #2
lsr r3, #16
strb r3, [r0]
m_ret inst=pop
.p2align 2
// Can read 5 bytes before possibly crossing a page.
.Lstringcopy_unalign5:
ldr r2, [r1], #4
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
ldrb r4, [r1]
cbz r4, .Lstringcopy_unalign_copy5bytes
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
stmia r0!, {r2, r3}
b .Lstringcopy_unalign5
.Lstringcopy_unalign_copy5bytes:
stmia r0!, {r2}
strb r4, [r0]
m_ret inst=pop
.Lstringcopy_unalign_copy6bytes:
stmia r0!, {r2}
strb r4, [r0], #1
strb r5, [r0]
m_ret inst=pop
.p2align 2
// Can read 4 bytes before possibly crossing a page.
.Lstringcopy_unalign4:
ldmia r1!, {r2}
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
ldmia r1!, {r3}
pld [r1, #64]
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
stmia r0!, {r2, r3}
b .Lstringcopy_unalign4
.p2align 2
// Can read 3 bytes before possibly crossing a page.
.Lstringcopy_unalign3:
ldrb r2, [r1]
cbz r2, .Lstringcopy_unalign3_copy1byte
ldrb r3, [r1, #1]
cbz r3, .Lstringcopy_unalign3_copy2bytes
ldrb r4, [r1, #2]
cbz r4, .Lstringcopy_unalign3_copy3bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
lsrs lr, r2, #24
beq .Lstringcopy_unalign_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
stmia r0!, {r2, r3}
b .Lstringcopy_unalign3
.Lstringcopy_unalign3_copy1byte:
strb r2, [r0]
m_ret inst=pop
.Lstringcopy_unalign3_copy2bytes:
strb r2, [r0], #1
strb r3, [r0]
m_ret inst=pop
.Lstringcopy_unalign3_copy3bytes:
strb r2, [r0], #1
strb r3, [r0], #1
strb r4, [r0]
m_ret inst=pop
.p2align 2
// Can read 2 bytes before possibly crossing a page.
.Lstringcopy_unalign2:
ldrb r2, [r1]
cbz r2, .Lstringcopy_unalign_copy1byte
ldrb r3, [r1, #1]
cbz r3, .Lstringcopy_unalign_copy2bytes
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
tst r2, #0xff0000
beq .Lstringcopy_unalign_copy3bytes
lsrs ip, r2, #24
beq .Lstringcopy_unalign_copy4bytes
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
stmia r0!, {r2, r3}
b .Lstringcopy_unalign2
.p2align 2
// Can read 1 byte before possibly crossing a page.
.Lstringcopy_unalign1:
ldrb r2, [r1]
cbz r2, .Lstringcopy_unalign_copy1byte
ldr r2, [r1], #4
ldr r3, [r1], #4
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .Lstringcopy_zero_in_second_register
stmia r0!, {r2, r3}
b .Lstringcopy_unalign1
.Lstringcopy_unalign_copy1byte:
strb r2, [r0]
m_ret inst=pop
.Lstringcopy_unalign_copy2bytes:
strb r2, [r0], #1
strb r3, [r0]
m_ret inst=pop
.Lstringcopy_unalign_copy3bytes:
strh r2, [r0], #2
lsr r2, #16
strb r2, [r0]
m_ret inst=pop
.Lstringcopy_unalign_copy4bytes:
stmia r0, {r2}
#if defined(STPCPY)
add r0, r0, #3
#endif
m_ret inst=pop
#if defined(STPCPY)
END(stpcpy)
#else
END(strcpy)
#endif

View File

@ -53,7 +53,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include <machine/asm.h>
#include <private/bionic_asm.h>
.syntax unified

View File

@ -1,10 +1,28 @@
$(call libc-add-cpu-variant-src,MEMCPY,arch-arm/cortex-a9/bionic/memcpy.S)
$(call libc-add-cpu-variant-src,MEMSET,arch-arm/cortex-a9/bionic/memset.S)
$(call libc-add-cpu-variant-src,STRCAT,arch-arm/cortex-a9/bionic/strcat.S)
$(call libc-add-cpu-variant-src,STRCMP,arch-arm/cortex-a9/bionic/strcmp.S)
$(call libc-add-cpu-variant-src,STRCPY,arch-arm/cortex-a9/bionic/strcpy.S)
$(call libc-add-cpu-variant-src,STRLEN,arch-arm/cortex-a9/bionic/strlen.S)
$(call libc-add-cpu-variant-src,__STRCAT_CHK,arch-arm/cortex-a9/bionic/__strcat_chk.S)
$(call libc-add-cpu-variant-src,__STRCPY_CHK,arch-arm/cortex-a9/bionic/__strcpy_chk.S)
libc_openbsd_src_files_exclude_arm += \
upstream-openbsd/lib/libc/string/memmove.c \
upstream-openbsd/lib/libc/string/stpcpy.c \
upstream-openbsd/lib/libc/string/strcat.c \
upstream-openbsd/lib/libc/string/strcpy.c \
include bionic/libc/arch-arm/generic/generic.mk
libc_bionic_src_files_exclude_arm += \
arch-arm/generic/bionic/memcpy.S \
arch-arm/generic/bionic/memset.S \
arch-arm/generic/bionic/strcmp.S \
arch-arm/generic/bionic/strcpy.S \
arch-arm/generic/bionic/strlen.c \
bionic/__strcat_chk.cpp \
bionic/__strcpy_chk.cpp \
libc_bionic_src_files_arm += \
arch-arm/cortex-a9/bionic/memcpy.S \
arch-arm/cortex-a9/bionic/memset.S \
arch-arm/cortex-a9/bionic/stpcpy.S \
arch-arm/cortex-a9/bionic/strcat.S \
arch-arm/cortex-a9/bionic/__strcat_chk.S \
arch-arm/cortex-a9/bionic/strcmp.S \
arch-arm/cortex-a9/bionic/strcpy.S \
arch-arm/cortex-a9/bionic/__strcpy_chk.S \
arch-arm/cortex-a9/bionic/strlen.S \
libc_bionic_src_files_arm += \
arch-arm/denver/bionic/memmove.S \

View File

@ -0,0 +1,216 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
#include <private/libc_events.h>
.syntax unified
.thumb
.thumb_func
// Get the length of src string, then get the source of the dst string.
// Check that the two lengths together don't exceed the threshold, then
// do a memcpy of the data.
ENTRY(__strcat_chk)
pld [r0, #0]
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
push {r4, r5}
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
mov lr, r2
// Save the dst register to r5
mov r5, r0
// Zero out r4
eor r4, r4, r4
// r1 contains the address of the string to count.
.L_strlen_start:
mov r0, r1
ands r3, r1, #7
beq .L_mainloop
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq .L_align_to_32
ldrb r2, [r1], #1
cbz r2, .L_update_count_and_finish
.L_align_to_32:
bcc .L_align_to_64
ands ip, r3, #2
beq .L_align_to_64
ldrb r2, [r1], #1
cbz r2, .L_update_count_and_finish
ldrb r2, [r1], #1
cbz r2, .L_update_count_and_finish
.L_align_to_64:
tst r3, #4
beq .L_mainloop
ldr r3, [r1], #4
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
.p2align 2
.L_mainloop:
ldrd r2, r3, [r1], #8
pld [r1, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .L_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
b .L_mainloop
.L_update_count_and_finish:
sub r3, r1, r0
sub r3, r3, #1
b .L_finish
.L_zero_in_first_register:
sub r3, r1, r0
lsls r2, ip, #17
bne .L_sub8_and_finish
bcs .L_sub7_and_finish
lsls ip, ip, #1
bne .L_sub6_and_finish
sub r3, r3, #5
b .L_finish
.L_sub8_and_finish:
sub r3, r3, #8
b .L_finish
.L_sub7_and_finish:
sub r3, r3, #7
b .L_finish
.L_sub6_and_finish:
sub r3, r3, #6
b .L_finish
.L_zero_in_second_register:
sub r3, r1, r0
lsls r2, ip, #17
bne .L_sub4_and_finish
bcs .L_sub3_and_finish
lsls ip, ip, #1
bne .L_sub2_and_finish
sub r3, r3, #1
b .L_finish
.L_sub4_and_finish:
sub r3, r3, #4
b .L_finish
.L_sub3_and_finish:
sub r3, r3, #3
b .L_finish
.L_sub2_and_finish:
sub r3, r3, #2
.L_finish:
cmp r4, #0
bne .L_strlen_done
// Time to get the dst string length.
mov r1, r5
// Save the original source address to r5.
mov r5, r0
// Save the current length (adding 1 for the terminator).
add r4, r3, #1
b .L_strlen_start
// r0 holds the pointer to the dst string.
// r3 holds the dst string length.
// r4 holds the src string length + 1.
.L_strlen_done:
add r2, r3, r4
cmp r2, lr
bhi __strcat_chk_failed
// Set up the registers for the memcpy code.
mov r1, r5
pld [r1, #64]
mov r2, r4
add r0, r0, r3
pop {r4, r5}
END(__strcat_chk)
#define MEMCPY_BASE __strcat_chk_memcpy_base
#define MEMCPY_BASE_ALIGNED __strcat_chk_memcpy_base_aligned
#include "memcpy_base.S"
ENTRY_PRIVATE(__strcat_chk_failed)
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
.cfi_adjust_cfa_offset 8
.cfi_rel_offset r4, 0
.cfi_rel_offset r5, 4
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_STRCAT_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
END(__strcat_chk_failed)
.data
error_string:
.string "strcat: prevented write past end of buffer"

View File

@ -0,0 +1,180 @@
/*
* Copyright (C) 2013 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
#include <private/bionic_asm.h>
#include <private/libc_events.h>
.syntax unified
.thumb
.thumb_func
// Get the length of the source string first, then do a memcpy of the data
// instead of a strcpy.
ENTRY(__strcpy_chk)
pld [r0, #0]
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
mov lr, r2
mov r0, r1
ands r3, r1, #7
beq .L_mainloop
// Align to a double word (64 bits).
rsb r3, r3, #8
lsls ip, r3, #31
beq .L_align_to_32
ldrb r2, [r0], #1
cbz r2, .L_update_count_and_finish
.L_align_to_32:
bcc .L_align_to_64
ands ip, r3, #2
beq .L_align_to_64
ldrb r2, [r0], #1
cbz r2, .L_update_count_and_finish
ldrb r2, [r0], #1
cbz r2, .L_update_count_and_finish
.L_align_to_64:
tst r3, #4
beq .L_mainloop
ldr r3, [r0], #4
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
.p2align 2
.L_mainloop:
ldrd r2, r3, [r0], #8
pld [r0, #64]
sub ip, r2, #0x01010101
bic ip, ip, r2
ands ip, ip, #0x80808080
bne .L_zero_in_first_register
sub ip, r3, #0x01010101
bic ip, ip, r3
ands ip, ip, #0x80808080
bne .L_zero_in_second_register
b .L_mainloop
.L_update_count_and_finish:
sub r3, r0, r1
sub r3, r3, #1
b .L_check_size
.L_zero_in_first_register:
sub r3, r0, r1
lsls r2, ip, #17
bne .L_sub8_and_finish
bcs .L_sub7_and_finish
lsls ip, ip, #1
bne .L_sub6_and_finish
sub r3, r3, #5
b .L_check_size
.L_sub8_and_finish:
sub r3, r3, #8
b .L_check_size
.L_sub7_and_finish:
sub r3, r3, #7
b .L_check_size
.L_sub6_and_finish:
sub r3, r3, #6
b .L_check_size
.L_zero_in_second_register:
sub r3, r0, r1
lsls r2, ip, #17
bne .L_sub4_and_finish
bcs .L_sub3_and_finish
lsls ip, ip, #1
bne .L_sub2_and_finish
sub r3, r3, #1
b .L_check_size
.L_sub4_and_finish:
sub r3, r3, #4
b .L_check_size
.L_sub3_and_finish:
sub r3, r3, #3
b .L_check_size
.L_sub2_and_finish:
sub r3, r3, #2
.L_check_size:
pld [r1, #0]
pld [r1, #64]
ldr r0, [sp]
cmp r3, lr
bhs __strcpy_chk_failed
// Add 1 for copy length to get the string terminator.
add r2, r3, #1
END(__strcpy_chk)
#define MEMCPY_BASE __strcpy_chk_memcpy_base
#define MEMCPY_BASE_ALIGNED __strcpy_chk_memcpy_base_aligned
#include "memcpy_base.S"
ENTRY_PRIVATE(__strcpy_chk_failed)
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_STRCPY_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
END(__strcpy_chk_failed)
.data
error_string:
.string "strcpy: prevented write past end of buffer"

View File

@ -0,0 +1,103 @@
/*
* Copyright (C) 2008 The Android Open Source Project
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
/*
* Copyright (c) 2013 ARM Ltd
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
* 3. The name of the company may not be used to endorse or promote
* products derived from this software without specific prior written
* permission.
*
* THIS SOFTWARE IS PROVIDED BY ARM LTD ``AS IS'' AND ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL ARM LTD BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
* TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
// Prototype: void *memcpy (void *dst, const void *src, size_t count).
#include <private/bionic_asm.h>
#include <private/libc_events.h>
.text
.syntax unified
.fpu neon
ENTRY(__memcpy_chk)
cmp r2, r3
bhi __memcpy_chk_fail
// Fall through to memcpy...
END(__memcpy_chk)
ENTRY(memcpy)
pld [r1, #64]
push {r0, lr}
.cfi_def_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
END(memcpy)
#define MEMCPY_BASE __memcpy_base
#define MEMCPY_BASE_ALIGNED __memcpy_base_aligned
#include "memcpy_base.S"
ENTRY_PRIVATE(__memcpy_chk_fail)
// Preserve lr for backtrace.
push {lr}
.cfi_def_cfa_offset 4
.cfi_rel_offset lr, 0
ldr r0, error_message
ldr r1, error_code
1:
add r0, pc
bl __fortify_chk_fail
error_code:
.word BIONIC_EVENT_MEMCPY_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+8)
END(__memcpy_chk_fail)
.data
error_string:
.string "memcpy: prevented write past end of buffer"

Some files were not shown because too many files have changed in this diff Show More