6186 Commits

Author SHA1 Message Date
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
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
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
Dan Albert
7e52dbe4d2 Merge "Revert "Stop libc from cross-referencing unwind symbols"" into mnc-dev 2015-07-21 23:09: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
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
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
Neil Fuller
64c8254416 Merge "Update timezone data to 2015e" into mnc-dev 2015-07-10 09:47:55 +00: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
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
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
Elliott Hughes
2b028f5ce4 Fix bad merge of 64e9e71cdb7d88397e510e1986d494b797ed3b45.
Bug: http://b/22029751
Change-Id: I6245fe5f274c9af8a632da5eebe50cf9fe29dc4a
2015-06-23 09:14:16 -07: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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Yabin Cui
7490c5c594 Hide rt_sigqueueinfo.
Bug: 19358804
Change-Id: I38a53ad64c81d0eefdd1d24599e769fd8a477a56
(cherry picked from commit 40a8f214a5264efe5feaaffd55cea67fb87d097b)
2015-05-18 13:34:51 -07: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
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
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
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
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
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
97139e6adc Merge "Update NOTICE files." into mnc-dev 2015-05-12 17:29:25 +00:00