Commit graph

16104 commits

Author SHA1 Message Date
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
Dan Willemsen
e4f486ca25 Fix Soong mips builds
Change-Id: I6ae8208e077d831969b08e7abd232deaa20ceca1
2016-01-13 23:22:22 -08:00
Christopher Ferris
2576ce9442 Merge "Fix select failures when STDIN is ready." 2016-01-14 07:04:53 +00:00
Christopher Ferris
dd926b57a0 Fix select failures when STDIN is ready.
The select_smoke and pselect_smoke test can fail if STDIN has data ready
to be read. The easiest way to see the failure is to type on the command
line while running the tests.

To avoid this, allow the return value to be 2 or 3 and check which fds
are ready to be read.

Change-Id: Iafba332c5f3ed1943e3d34501f123dd45f06a8c4
2016-01-13 22:38:09 -08:00
Dan Albert
323900cd7d Merge "Escape failure messages in XML test output." 2016-01-14 06:12:32 +00:00
Dan Albert
09a99641ec Escape failure messages in XML test output.
The gtest XML format requires escaped HTML characters in the test
results.

Change-Id: Ieb9519a55cb52093dfb10a88e883b569bc372cdb
2016-01-13 21:48:56 -08:00
Christopher Ferris
c3aa3d892b Merge "Add method to run fortified versions of funcs." 2016-01-14 05:16:33 +00:00
Christopher Ferris
13f26a7b2b Add method to run fortified versions of funcs.
Add a way to turn fortify off for the files that test fortify functions.

This method involves simply compiling the same file with fortify off and
changing the test name slightly.

It's not very pretty, and it assumes that only these few files test
functions that can be fortified.

Bug: 15195631
Change-Id: Iba9db1d508b7d28a1d6968019cb70fe08864827b
2016-01-13 17:13:21 -08:00
Dan Willemsen
df2f5fbe6f Merge "Fix Soong x86 builds" 2016-01-13 21:45:14 +00:00
Dan Willemsen
4031cbe9c2 Fix Soong x86 builds
Change-Id: Ida3f3584f832d61caf7200557ea57be799eaf38e
2016-01-13 13:37:01 -08:00
Dimitry Ivanov
126d5ab779 Merge "Revert "Move __system_property* to LIBC_PRIVATE for lp64 libc"" 2016-01-13 20:35:25 +00:00
Dimitry Ivanov
e1078a939a Revert "Move __system_property* to LIBC_PRIVATE for lp64 libc"
This reverts commit ff14fb5a1f.

Bug: http://b/26497521
Change-Id: Id7131b37a31e936db0e72ef9969e1f13d2dd578f
2016-01-13 20:32:12 +00:00
Colin Cross
2487f3e15f Merge "Rearrange build files to support USE_SOONG=true" 2016-01-13 20:32:09 +00:00
Dan Willemsen
5d10e69bea Merge "Fix Soong x86 atom builds" 2016-01-13 20:32:07 +00:00
Colin Cross
c292f57ec7 Merge "Update Android.bp for changes to Android.mk" 2016-01-13 20:31:39 +00:00
Dan Willemsen
701b54533b Fix Soong x86 atom builds
Change-Id: Ie92e605c499f128335a8da7cfefa7e6ae367a223
2016-01-12 19:45:57 -08:00
Elliott Hughes
9817c6c0cf Merge "Fix <sys/sysmacros.h>." 2016-01-12 23:16:00 +00:00
Elliott Hughes
9361ad3f80 Fix <sys/sysmacros.h>.
1. The definitions were wrong.
2. The definitions were inline functions.
3. The definitions were polluting the namespace even for code that doesn't
   want BSD cruft.

Note that everybody will still get these by default, because you still get
all the BSD stuff by default.

Bug: http://b/12706131
Change-Id: I062ecd09feef7a6e8ba1922d465b96a9c4bf4f4e
2016-01-12 14:43:27 -08:00
Colin Cross
c23aeb8414 Rearrange build files to support USE_SOONG=true
Building with USE_SOONG=true will build with an Android.bp file if it is
present in the directory, otherwise an Android.mk file.  Only a few of
the bionic directories compile with soong, so include all of them from
the top level Android.mk file and remove the top level Android.bp file.
Individual subdirectories with Android.bp files will use soong with
USE_SOONG=true.

Change-Id: Idf8d7977ea4668fa646be25b543bf9d3773de615
2016-01-12 13:42:21 -08:00
Elliott Hughes
906e67fdba Merge "Add a getifaddrs(3) debugging tool." 2016-01-12 20:57:48 +00:00