Commit Graph

6419 Commits

Author SHA1 Message Date
Yabin Cui
ce751b3536 Lose bionic_atomic stuff.
Bug: 17177189
Change-Id: Ie1f5d7af359d31b14f58e53ec89c72111362d7ec
2015-02-26 13:45:06 -08:00
Yabin Cui
00ba42b9f5 am 7355d29b: Merge "Make getgrent deprecated."
* commit '7355d29bbd106bd4ab3f5be1b743fb73e8c3b4da':
  Make getgrent deprecated.
2015-02-26 03:52:34 +00:00
Yabin Cui
b8b5a72f41 Make getgrent deprecated.
Bug: 19340053
Change-Id: Ie8b97f840d9e87555e6a3d591fc87bc08c2d6820
2015-02-25 19:05:37 -08: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
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
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
7fb680bfda Move getusershell/endusershell/setusershell to ndk_cruft.cpp.
Bug: 19108648
Change-Id: I65134040345398dde612c4325d902db58f3bd2be
2015-02-24 14:46:59 -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
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
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
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
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
6af62e0d50 Add RLIM_SAVED_CUR and RLIM_SAVED_MAX.
Change-Id: Ia6be76460bfcf852832325c5f36cb272f49a4b87
2015-02-23 13:41:40 -08: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
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
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
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
Bill Yi
a6395dda54 Merge commit '9d7f68ebfd79b1ce54dc56bceb7346f34615e5a1' into HEAD 2015-02-19 14:30:25 -08: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
3e1b5f46c0 Merge "Parameterize use of clang in libc_ndk." 2015-02-19 02:33:08 +00: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
d3fa31a55d Merge "[MIPS] Fix setjmp signals" 2015-02-19 01:00:19 +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
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
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
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 4645c4f62d.

Change-Id: I6c1062d54a4e2c4f41ce7a403e4e7840e6339146
2015-02-17 23:54:40 +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
Yabin Cui
89dad68efb Merge "Change getgrent error declaration message to proper style." 2015-02-17 21:29:27 +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
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
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 700eb048fb)

Change-Id: I23d94982f634889ab9dcef28cf4a8853224bfd9c
2015-02-17 17:05:48 +00: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
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
4181cc691e Merge "Declare getgrent/setgrent/endgrent as missing." 2015-02-14 02:37:19 +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
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
13ed3f0af1 Add missing SHT_LOOS/SHT_HIOS values
Change-Id: Ib0b0987a7e85af7863c6ef894263b5980e32344d
2015-02-13 16:34:38 -08: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
Yabin Cui
c9d09431b9 Declare getgrent/setgrent/endgrent as missing.
Bug: 19340053
Change-Id: I42bfeda95e6f262e2e74ab47336ea346c2de7e4a
2015-02-13 10:52:35 -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
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
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
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
ee17e88004 Merge "Define MAXHOSTNAMELEN explicitly in source files." 2015-02-10 17:51: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
Yabin Cui
2d8f9b5aea Define MAXHOSTNAMELEN explicitly in source files.
Bug: 19093777
Bug: 19092844
Change-Id: I0778507ca2d5c008abb9a6d6315d0909263a8817
2015-02-09 19:56:47 -08: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
Yabin Cui
a4fc89badf Merge "Stop including <linux/param.h> in <sys/param.h>." 2015-02-09 19:46:46 +00:00
Narayan Kamath
421608550d Remove stray log line.
Change-Id: Id948ae37a91dadd9d40e91de97f18774bdccfc78
2015-02-09 18:01:45 +00: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
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
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
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
9dfb00c1d4 Merge "Use the libcxxabi __cxa_demangle." 2015-02-05 20:21:35 +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
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
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
c3f114037d, 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
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
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
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
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
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
11829be3e1 Merge "Add test about pthread_mutex_t owner tid limit." 2015-02-03 22:28:56 +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
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
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
d3ef8fbdf7 am 700eb048: Update tzdata to tzdata2015a
* commit '700eb048fb6df8805245097d73a87384108fdf67':
  Update tzdata to tzdata2015a
2015-02-03 15:00:18 +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
d57bf449fe Merge "Switch pthread_mutex_t from bionic atomics to <stdatomic.h>." 2015-02-03 02:42:53 +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
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
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
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
671b7eb288 am 815fc9bc: am c57b5c50: Merge "Small logging cleanup."
* commit '815fc9bc9ecf96dd478c0800fdb9c4e9200320be':
  Small logging cleanup.
2015-02-02 20:54:27 +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
2e02769aa1 am 5f7819d6: am 7f0f30c6: Merge "Fix clang build."
* commit '5f7819d6f1b2cb706d818e3083d45337e35d386b':
  Fix clang build.
2015-02-02 18:50:43 +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
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
d514d9bbae Merge "Fixes to the update-tzdata.py tool" 2015-02-02 17:52:48 +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
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
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
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
94335cc8e2 Merge "Put back inline definitions if using an old API." 2015-01-30 17:18:49 +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
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
cd1959b0c5 Merge "Add primitive CPPLINT.cfg." 2015-01-29 21:54:55 +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
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
dbfcf000c0 am e40b4eb3: am 7f17aea2: Merge "Add missing includes."
* commit 'e40b4eb35a6f8ae5c286f53abb920b452b7b6792':
  Add missing includes.
2015-01-29 03:33:42 +00:00
Elliott Hughes
05fc1d7050 Add missing includes.
Change-Id: Ibf549266a19a67eb9158d341a69dddfb654be669
2015-01-28 19:23:11 -08: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
a9c3d0569f Merge "Modify MIPS64 stat structure to match a generic one in AOSP." 2015-01-29 01:31:59 +00: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
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
80e6d6d825 Switch pthread_once_t to stdatomic.h.
Bug: 17574610

Change-Id: I653f2aa4b5b38dbdaffe4a6c3deccfe6ad3b0e74
2015-01-27 19:49:12 -08: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
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
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
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
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
643a9be82e Merge "[Arm64] Fix overlapping fp fields in jmp_buf" 2015-01-27 04:56:20 +00: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
f2d02c38fb Merge "Make bionic compile even if resolver debugging is enabled." 2015-01-27 04:02:42 +00: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
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
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
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
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
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
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
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
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
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
6e15edcca5 Merge "Say "Bad file descriptor" rather than "Bad file number"." 2015-01-24 22:08:20 +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
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
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
ab58559a9c Merge "Add a basic NDK compatibility library." 2015-01-23 00:46:54 +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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Andres Morales
9d9ebc5fc9 bionic: libc: Added path to root ramdisk build properties file.
Change-Id: Id850e4e5ef4e91cea7ad53f6858886daf660eeec
2015-01-13 18:07:23 -08: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
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
3471fcbb6a Clean up paths.h.
Bug: 18905946
Change-Id: I02cd1ddd5c0b0af165685413bc1fb12ca6bf5f33
2015-01-09 20:04:04 -08: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
a137f53980 Add ARM_IRELATIVE relocation
Bug: 17399706
Change-Id: I1dea46c3a3c4572558e718283489c323794176c7
2015-01-08 22:22:27 -08: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
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
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
917d390510 Make pthread stack size match real range.
Bug: 18908062
Change-Id: I7037ac8273ebe54dd19b1561c7a376819049124c
2015-01-08 14:27:24 -08: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
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
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
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
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
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
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
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
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
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
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
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
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
50e15a2ec7 Merge "Remove more BSD cruft from the public headers." 2014-12-23 20:14:52 +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
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
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
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
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
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
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
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
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
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
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
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
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
Elliott Hughes
6b2b5856d9 Update bionic NOTICE files.
Change-Id: Ic280872ef3137febd9d4a87d5c7662e264692071
2014-12-18 16:27:30 -08: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
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
b7f0693aaa Merge "Remove bogus #include <endian.h> from <sys/stat.h>." 2014-12-18 23:24:26 +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
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
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
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
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
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
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
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
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
1ef6ec40e1 Move the generic arm memcmp.S into the generic directory.
Change-Id: I48e4d14a0dcddbb246edbac6d0329619574ab44d
2014-12-15 11:06:34 -08: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
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
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
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
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
3115b34c92 Merge "fix runtime issues for scripts" 2014-12-11 18:32:00 +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
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
fec605294e Merge "Fix missing symbol for debug malloc." 2014-12-10 20:33: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
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
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
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
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
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
824f914cae Move BSD stuff together in <sys/endian.h>.
Change-Id: I8bb511840f3cd98d5008034e405d82e923bd3203
2014-12-09 19:44:42 -08: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
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
a7feda3731 <net/route.h> should include IPv6 too.
Change-Id: I866097d8468aa8f326117d072444ebbc2a690719
2014-12-09 15:08:24 -08: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
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
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
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
d27ae2f8d7 Merge mips setjmp/longjmp family.
Bug: 16918359
Change-Id: I9033a7d178d431ddb09f1cfa6e4bf95ae02346e9
2014-12-08 17:07:53 -08: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
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
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
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
7b78e8187e Fix signal mask save/restore for arm64.
Bug: 16918359
Change-Id: Ieb15f7f1658f5accee05665b72ba17831a80ea9d
2014-12-06 11:18:00 -08: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
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
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
b393299b85 Clean up arm setjmp family.
Bug: 16918359
Change-Id: I9b986bdbdbaefe9d9896a820ee8cfe860adfe5c5
2014-12-05 15:39:51 -08: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
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
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
2421406711 Merge "Add cache related sysconf queries" 2014-12-05 18:11:53 +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
c7450f7738 Restore symbols from <arpa/nameser.h>.
Bug: 18627252
Bug: https://code.google.com/p/android/issues/detail?id=81690

(cherry picked from commit 42804c4b30)

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
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
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
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
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
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
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
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
Elliott Hughes
91a61f77e2 Merge "Switch x86 and x86-64 to __builtin_bswap*." 2014-12-03 16:20:06 +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
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
a5602c566e Remove __ARM_HAVE_HALFWORD_MULTIPLY.
Bug: 18556103
Change-Id: I17e498539f77ddf7d1fb980ee93155d3c3ccd85e
2014-12-02 16:58:17 -08: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
b514026eb2 Kill <machine/exec.h>.
Bug: 18546535
Change-Id: I479e003deab21e31eb5caa5393067ed1dc558387
2014-12-02 16:16:29 -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 20841a137b)

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 111461aaae.
git revert does the wrong thing because that patch shares lines (that we
want to keep) with 168667c972 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
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
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
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
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
8574a0670b Use mmap to create the pthread_internal_t.
Bug: 16847284
Change-Id: I488fa236f57aa3acb29b4ffbbab2fab51b0653be
2014-12-02 10:39:25 -08: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
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
8374a54813 Merge "Specify .cpu cortex-a15" 2014-12-02 02:29:52 +00:00
Elliott Hughes
212e0e3824 Build our benchmarks against glibc too.
Bug: 18556607
Change-Id: I455ac8b93c0835836180e549486bc52d393ee6a6
2014-12-01 16:43:51 -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
3e6ef3f902 Merge "support _POSIX_CPUTIME" 2014-12-01 17:06:02 +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
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
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
Yabin Cui
d5c652756b support _POSIX_CPUTIME
Bug: 18490039
Change-Id: I01fa83b48e1b908de1f227b6e4f98e280bcd50ee
2014-11-26 17:14:50 -08: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 cc5f6543e3.

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
cc5f6543e3 Use mmap to create the pthread_internal_t.
Bug: 16847284
Change-Id: Ic8c85f95afac1d8422ecb69674c688d1fecb6a44
2014-11-25 15:25:06 -08:00
Yabin Cui
eb3a5e026e Merge "flesh out sysconf(3) and the _POSIX_* constants" 2014-11-24 01:59:23 +00:00
Elliott Hughes
95a02366f2 Merge "Sync with upstream OpenBSD fts.c." 2014-11-23 18:06:29 +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
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
4ae178f81d Mips: remove arch-specific atexit.h
Change-Id: I687ff4ead6c5e81db44782bf851cb84f87bfe085
2014-11-21 14:42:53 -08:00
Dmitriy Ivanov
e3e8d15f23 Mips: Remove unused files
Change-Id: If98b832ee32f6dcd9f5d7ae21c601c210adfad6b
2014-11-21 14:29:43 -08: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
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 bbb34f9536.
2014-11-21 10:24:40 -08: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 c48c3e4bb3)

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
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
David 'Digit' Turner
c9278b8a17 Merge "libc: Move <sgidefs.h> to libc/arch-mips/" 2014-11-19 14:49:52 +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
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
8eda0a6d69 Merge "libc: Fix mktime returns an uncorrect time in empty TZ case" 2014-11-17 23:14:58 +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
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
Yabin Cui
9d93986481 Add functions in sysinfo.h.
Bug: 17703902

Change-Id: I699d12d76a8fc483c919be730c2ac63641b71a1d
2014-11-14 16:22:48 -08: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
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 60d84af172)

Bug: 18390956
Change-Id: I722461498bc5494e2972fb07d5189dffe76e8993
2014-11-14 15:37:49 -08: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
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
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
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 71d220c1de)

Bug: 18281574
Change-Id: I2843f23ecb4c4ca79b230d8041bbca02dbedeadc
2014-11-13 13:09:59 -08:00
Elliott Hughes
288fa03a5a Merge "Assume glibc >= 2.15." 2014-11-13 18:11:00 +00:00
Elliott Hughes
6229798a7c Merge "Don't receive structs containing pointers over sockets." 2014-11-13 17:56:08 +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
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
Dmitriy Ivanov
ec18ce06f2 Add support for hash-style=gnu
Change-Id: I171434a587420895feac8a9b1ad2342087197568
2014-11-12 16:38:12 -08:00
Christopher Ferris
5d05d025b5 Merge "Add 64-bit slm optimized strlcpy and srlcat." 2014-11-12 23:18:00 +00:00
Yabin Cui
e5cabca516 Merge "implement missing seekdir and telldir" 2014-11-12 20:36:26 +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
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
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 b11d8e057c)

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 2c2463bd30)

Change-Id: I654b80518a7144038d8b3ea7223f49e2b1d2ad13
2014-11-11 19:55:35 -08: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
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
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
Elliott Hughes
8c79b4ebb5 Add the <dirent.h> feature macros glibc uses.
Change-Id: I4da92b67d410839ea4ef0beaaa6c5cca06b74c0d
2014-11-10 15:17:28 -08: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
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
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
2ed9ee1e93 Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD 2014-11-06 17:43:39 -08: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
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
274afe8f0e Add POSIX lcong48.
Change-Id: I821046816661d77275cb02c8c99d526bb41afb9c
2014-11-06 14:14:37 -08: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
6370aedd0e Add support for listing missing POSIX 2013 symbols.
Change-Id: Ic51787890f837f74a22ca63d64a5710474d00cbc
2014-11-05 16:54:53 -08: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
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
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
69c5d108a5 Revert "Add RTLD_NODELETE flag support"
This reverts commit c87f65d2cd.

Bug: 18222321
Bug: 18211780
Change-Id: I00252e26a28a41ab9f1e2dd3b32f0f80d86297f1
2014-11-03 22:15:26 -08: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
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
c87f65d2cd Add RTLD_NODELETE flag support
Bug: 18186310
Bug: https://code.google.com/p/android/issues/detail?id=64069

(cherry picked from commit 1b20dafdbe)

Change-Id: Ic02eec22a7c322ece65eb40730a3404f611526b1
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 6cdeb5234d)

Change-Id: I7ffc7bc600798308a77ad949a644949b64250ae2
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 0dc39f9952)

Change-Id: I3e84488fc246f6c28cbd82e96d0cd4343a12c28a
2014-10-31 17:03:21 -07: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 3ce0769aa5)
2014-10-30 13:22:34 -07: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
4c29b1c266 am f362e9fb: Merge "Remove an unused file."
* commit 'f362e9fb33722f89cebe65ddf2f07d2b07e4390e':
  Remove an unused file.
2014-10-29 20:51:27 +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
0c4e98adbe Fix the type of u_ar0 in <sys/user.h>.
(cherry picked from commit e03950fa0c)

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 8e4d371091)

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 26a8eb50a8)

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 35d226e05d)

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 7d849ac378)

Change-Id: Iae44785f37f9bb59103ab78fb9f74c92f8a95c7f
2014-10-29 11:07:03 -07: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 c8bd2abab2)

Change-Id: Ifa1c3d16553d142eaa0d744af040f0352538106c
2014-10-28 18:19:33 -07:00
Christopher Ferris
0cc59dd303 Add __memcpy_chk assembly for 64 bit.
Bug: 17623887

(cherry picked from commit 8cf61dab5f)

Change-Id: I91e66ca0c26f04b50308059f9c89d388d55f6e3a
2014-10-28 16:18:47 -07:00
Elliott Hughes
86d16a053e Clean up the architecture-specific makefiles.
Group things appropriately and name each group.

Bug: 18160821

(cherry picked from commit 7c02d9428c)

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 b1a6c319c4)

Change-Id: I9cd9c144ba7071fddda12fa16d1232ad861b66be
2014-10-28 15:13:04 -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
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 2169e17482)

Change-Id: I4a7f5bb9ad4c27b274f3a3c86c1617ca0578b98f
2014-10-28 12:07:25 -07: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 afe58ad989)

Change-Id: Iada5d0ae814f438cb276f056b2b5e3675f0e3666
2014-10-28 07:55:53 -07: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
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 50321e2e66)

Change-Id: Iba90e36958b00c7cc7db5eeebf888dc89ce4d619
2014-10-27 16:42:49 -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 1cff9a8964)

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 148dff3ec6)

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 36f451a6d9)

Bug: 17436734
Change-Id: Ic1ea1184db6655c5d96180dc07bcc09628e647cb
2014-10-27 16:41:28 -07: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
021b6412f7 Merge "Fix the type of u_ar0 in <sys/user.h>." 2014-10-27 17:41:00 +00: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
aa6cd5819c Use mxcr_mask instead of mxcsr_mask to match glibc.
Bug: 18097559

(cherry picked from commit f485547b92)

Change-Id: I242105faa8210abc9635a951b25b127cd64ed23c
2014-10-24 08:43:34 -07: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
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
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
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 a05c2a2a70)

Change-Id: If0253cc1515e1bc98e99c6e24eec797836ca7c27
2014-10-22 13:45:25 -07:00