Commit graph

16123 commits

Author SHA1 Message Date
Elliott Hughes
e70e0e9267 Move internal FILE flags macros to "local.h" from <stdio.h>.
Bug: http://b/24807045
Change-Id: Ia42ec1907370b4af957ece94a856f71c7ee27cb7
2016-01-25 11:10:47 -08:00
Elliott Hughes
ad9c3f34f7 Merge "Add _seek64 to FILE." 2016-01-25 18:50:41 +00:00
Josh Gao
c650447239 Merge "Remove dlmalloc." 2016-01-25 18:42:55 +00:00
Elliott Hughes
05db62657b Merge "Add another stdio test." 2016-01-25 18:31:35 +00:00
Josh Gao
0ac0cee0d1 Remove dlmalloc.
Bug: http://b/17207577
Change-Id: Ie009badca6deb1f91b27a4340b70cdd6bedff893
2016-01-25 10:14:35 -08:00
Elliott Hughes
023c3071a0 Add _seek64 to FILE.
Move fdopen/fopen/freopen and change them to initialize _seek64 instead
of the legacy _seek. The in-memory streams can stick with _seek for now,
since you're not going to fit a > 4GiB in-memory stream on a 32-bit device
anyway.

Bug: http://b/24807045
Change-Id: I09dcb426817b571415ce24d4d15f364cdda395b3
2016-01-22 23:54:10 -08:00
Elliott Hughes
8fb40bad49 Merge "Put struct FILE back how NDK-built apps expect it." 2016-01-23 04:50:40 +00:00
Elliott Hughes
b877601bff Put struct FILE back how NDK-built apps expect it.
The first rule of stdio is you never change struct FILE. This broke all
NDK-built apps that used stdin/stdout/stderr. (Which is more than you
might think, given that those streams don't go anywhere useful. Svelte!)

I've added a big code comment because I knew when I removed the field that
doing so was a mistake, but I couldn't think why.

Bug: http://b/24807045
Bug: http://b/26747402
Change-Id: Ie1233586b223bb1cdf8e354c66d5ff23487a833a
2016-01-22 19:23:40 -08:00
Elliott Hughes
71288cbfdf Add another stdio test.
This test didn't catch anything, but it does ensure that we exercise
the "lots of files" case.

Bug: http://b/26747402
Change-Id: I6c51c6436029572a49190d509f131eb93b808652
2016-01-22 19:22:44 -08:00
Dimitry Ivanov
a42483baad Merge "Revert "Temporary apply LIBC version to __pthread_gettid"" 2016-01-22 18:38:08 +00:00
Elliott Hughes
8fd5bc0ccb Merge "Loosen up sys_time.gettimeofday." 2016-01-22 03:19:20 +00:00
Dimitry Ivanov
bba395492a Revert "Temporary apply LIBC version to __pthread_gettid"
This reverts commit 0ef1d121b5.

Bug: http://b/26392296
Bug: http://b/26391427
Change-Id: I7bbb555de3a43813e7623ff6ad4e17874d283eca
2016-01-22 01:43:04 +00:00
Dimitry Ivanov
05c2f6b3d3 Merge "libc: hide __signalfd4 symbol" 2016-01-22 01:41:27 +00:00
Dimitry Ivanov
40316a3748 Merge "libc: hide fake_gmtime_r and fake_localtime_r" 2016-01-22 01:40:45 +00:00
Elliott Hughes
7f54348f30 Loosen up sys_time.gettimeofday.
We've seen it take 1146us on Nexus 9 (which did have exceptionally slow
system calls).

Bug: http://b/26724042
Change-Id: I263b7e1267d58fe4a6528403d03e5b245fdcd528
2016-01-21 16:43:43 -08:00
Dimitry Ivanov
90d2daec51 libc: hide fake_gmtime_r and fake_localtime_r
Bug: http://b/26274444
Change-Id: Icf96a00142a287d8d3466d2545e213e605601b42
2016-01-21 16:05:23 -08:00
Dimitry Ivanov
b3ec261817 Merge "linker: align allocated blocks to 16 bytes" 2016-01-21 23:23:49 +00:00
Dimitry Ivanov
1a8732c232 libc: hide __signalfd4 symbol
Bug: http://b/26274444
Change-Id: Iaa2df640cac07e2e407ca11b9701ee9e11729146
2016-01-21 15:19:52 -08:00
Dimitry Ivanov
3edc5c41bb linker: align allocated blocks to 16 bytes
C/C++ requires the result of malloc/new to be
aligned for any primitive type.

Change-Id: I715b7679e738f34b3b409993fb3ef242e1321b7f
2016-01-21 14:28:33 -08:00
Elliott Hughes
8d6e19408c Merge "Simplify fseek/ftell." 2016-01-21 18:35:18 +00:00
Elliott Hughes
2704bd1340 Simplify fseek/ftell.
Another step towards _FILE_OFFSET_BITS=64 support.

Bug: http://b/24807045
Change-Id: I00b83c81a7b108176c4d9437bc32611f73b7e967
2016-01-21 10:34:35 -08:00
Christopher Ferris
be4f7429ca Merge "Remove dependency on zipalign." 2016-01-21 18:31:12 +00:00
Dimitry Ivanov
3e3b992469 Merge "Do not unmap reserved region on dlclose" 2016-01-21 05:30:31 +00:00
Dimitry Ivanov
f45b0e9ede Do not unmap reserved region on dlclose
dlclose used to unmap the part of the reserved region
for ANDROID_DLEXT_RESERVED_ADDRESS that was neccessary
to map PT_LOAD segments. With this change dlclose
replaces mapped PT_LOAD segments with a PROT_NONE,
MAP_ANONYMOUS | MAP_NORESERVE.

Previously caller was unmapping the reserved region after
the failed dlclose which led to race condition when someone
else reused the region freed by dlclose but before the unmap
by the chromium code.

Bug: http://code.google.com/p/chromium/issues/detail?id=568880
Change-Id: I0f5eaa2bf6641f83dde469b631c518482acc59a2
2016-01-20 20:57:47 -08:00
Christopher Ferris
c0ffceccf9 Remove dependency on zipalign.
Roll our own version of zipalign so that we can break the dependency
on the build tools zipalign. This breaks the transitive dependency
on androidfw so that building bionic unit tests in brillo works again.

Also modify the DlExtTest.ExtInfoUseFdWithOffset test so it dynamically
gets the offset of the shared library inside of the zip instead of
hard-coding the value.

Bug: 25446938
Change-Id: Idfb5d3089960a94eefa2c76e03da1ad2f4d7fb2f
2016-01-20 19:56:53 -08:00
Elliott Hughes
5f1ff279ea Merge "Move stdio implementation details around a little." 2016-01-20 23:07:50 +00:00
Colin Cross
0904e878ae Merge "Update Android.bp to match Android.mk" 2016-01-20 21:10:34 +00:00
Colin Cross
6dcab28311 Update Android.bp to match Android.mk
Change-Id: Ia14a7af94d6220b3078b8d37b76990454b16703c
2016-01-20 12:01:19 -08:00
Colin Cross
18dea9b8d4 Merge "Update Android.bp to match Android.mk" 2016-01-20 19:58:16 +00:00
Elliott Hughes
021335ebda Move stdio implementation details around a little.
Change-Id: I24594426d5479bdd55cbef0ab1b7d76c249dbd0c
2016-01-20 08:50:51 -08:00
Elliott Hughes
8b49f53a5e Merge "Make FILE*s less usable after fclose(3)." 2016-01-20 00:13:45 +00:00
Elliott Hughes
923f165b29 Make FILE*s less usable after fclose(3).
BSD doesn't invalidate the fd stored in struct FILE, which can make
it possible (via fileno(3), for example), to perform operations on
an fd you didn't intend to (rather than just failing with EBADF).

Fixing this makes the code slightly simpler anyway, and might help
catch bad code before it ships.

Bug: http://stackoverflow.com/questions/10816837/fclose-works-differently-on-android-and-linux
Change-Id: I9db74584038229499197a2695c70b58ed0372a87
2016-01-19 15:46:05 -08:00
Colin Cross
8ce38af73a Update Android.bp to match Android.mk
Change-Id: Ib6ab28c5b4569c9537c4647b3661166fdb82544a
2016-01-19 12:50:20 -08:00
Chih-hung Hsieh
50e0c388ac Merge "Switch libc default to clang." 2016-01-19 20:04:47 +00:00
Chih-Hung Hsieh
b43ee658bb Switch libc default to clang.
* Default to clang when USE_CLANG_PLATFORM_BUILD is not set
  and the target has no clang bug.

BUG: 26102335
Change-Id: Ied6c9dc5593bfbadbb8d8b38e66ea237d649bae5
2016-01-19 10:59:34 -08:00
Elliott Hughes
579f42b789 Merge "Fix GCC build breakage." 2016-01-19 17:48:28 +00:00
Elliott Hughes
d1293faba6 Fix GCC build breakage.
Change-Id: I0339f525c68af942fb97f4bffc771717e67e0e07
2016-01-19 09:47:47 -08:00
Elliott Hughes
94ddc29c0e Merge "Add more fortify symbols to the expected differences from glibc." 2016-01-19 17:25:01 +00:00
Elliott Hughes
89f4e09d8d Merge "Implement if_nameindex(3)/if_freenameindex(3)." 2016-01-19 17:24:16 +00:00
Elliott Hughes
ed57b98758 Implement if_nameindex(3)/if_freenameindex(3).
This is just a subset of the recently-implemented getifaddrs(3), though if
we want to handle interfaces (such as "rmnet_*") that don't have an address,
we need to either expose ifaddrs_storage and keep track of which interfaces
we've already seen (which is pretty messy), or refactor the netlink code so
we can reuse it and just extract the information we need for if_nameindex(3).
This patch goes the latter route.

Also clean up if_nametoindex(3) and if_indextoname(3).

Change-Id: I5ffc5df0bab62286cdda2e7af06f032c767119a8
2016-01-18 12:07:38 -08:00
Yi Kong
a6c25829f1 Merge "Add more tests for getifaddrs(3)" 2016-01-17 22:48:36 +00:00
Elliott Hughes
d07c4434f1 Add more fortify symbols to the expected differences from glibc.
Change-Id: I6266b2e6cbea3c014b4ea30a7100186965e40cf1
2016-01-15 19:54:31 -08:00
Elliott Hughes
68d0150221 Merge "Sync with upstream OpenBSD." 2016-01-16 03:02:06 +00:00
Dan Willemsen
6ec2d5fbb5 Merge "Align Soong builds closer to Make" 2016-01-16 00:47:39 +00:00
Elliott Hughes
506c6deff7 Sync with upstream OpenBSD.
Also some minor build cleanup.

Change-Id: Ibd20602d7ea45685f0c47fceb00ffd6c7ae35954
2016-01-15 16:30:18 -08:00
Dan Willemsen
9c9aa74970 Align Soong builds closer to Make
This moves the Android.bp file to use wildcards in the same places that
they're using in the Android.mk file. It also fixes a file that was in a
different order.

Make and Soong still produce binaries with object files in different
orders, but that's due to Make reordering the object files based on
compile type. Soong keeps the original specified order. It's not
possible to emulate the reordered files in the Android.bp, since the
arch-specific files won't interleave properly.

Change-Id: I9052b3ed7c523c13df5cbe606f913c32c88c7c5f
2016-01-15 16:06:25 -08:00
Christopher Ferris
299798fe02 Merge "Add comment for [p]select_smoke tests STDIN issue." 2016-01-14 20:04:29 +00:00
Christopher Ferris
e8efb96b9d Add comment for [p]select_smoke tests STDIN issue.
Change-Id: I59cde8b5aaac3e27419ca86d16f85e5af568acf9
2016-01-14 11:12:38 -08:00
Yi Kong
64b481c29b Add more tests for getifaddrs(3)
This adds the following two checks:

* getifaddrs sees the same list of interfaces as /sys/class/net.
* IPv4 addresses we get from netdevice(7) agrees with results from
  getifaddrs.

Change-Id: I2f6d79d0b5cde6d98a0f671d1623b6b2bc75b60f
2016-01-14 15:39:26 +00:00
Dan Willemsen
1307831ba4 Merge "Fix Soong mips builds" 2016-01-14 08:16:02 +00:00