90242350053e6fd2c03640d3f9b37864d18c414d |
|
06-Feb-2018 |
George Burgess IV <gbiv@google.com> |
Remove __overloadable/__RENAME_CLANG Now that we have a clang that supports transparent overloads, we can kill all of this cruft, and restore our upstream sources to their untouched glory. Woohoo! Bug: 12231437 Test: Built aosp_marlin; no obvious patch-related aosp_mips issues. Change-Id: I520a19d014f12137f80e43f973dccd6711c571cd
|
64f355ffbd715a3c8b467c3b37701ad404b566b4 |
|
31-Aug-2017 |
Elliott Hughes <enh@google.com> |
Use in_addr in ip_mreq_source and ip_msfilter. This adds a new mechanism to say "replace struct S with #include <bits/S.h>". Also switch epoll_event over to the new mechanism. Also use the kernel's struct sockaddr_storage directly rather than behind an unnecessary #define. This patch also removes some dead code in the header scrubber. This code still needs rewriting completely. I learned that a "block" isn't necessarily a single struct definition, say; it might be a run of them. It seems like a block is a run of preprocessor directives or a run of regular code. Bug: https://issuetracker.google.com/36987220 Test: new test Change-Id: Ic6a5c09559766a4babe3cd4c3ea538b885e07308
|
ff26a16c1de7be696719e9001f0707b7c55b52cf |
|
18-Aug-2017 |
Elliott Hughes <enh@google.com> |
Re-submit "Name function arguments in libc headers for Studio." This reverts commit 9af9120091ceb96641d7c6c645fabad96db4bc0d (a revert of 079bff4fa52b0c3c76057451cc9cdecf1827fce0), now the versioner bug is fixed. Bug: http://b/64613623 # header bug Bug: http://b/64802958 # versioner bug Change-Id: I1cb9d7832d4b3aecdc57a9285e2291443e59d02d
|
9af9120091ceb96641d7c6c645fabad96db4bc0d |
|
17-Aug-2017 |
Colin Cross <ccross@android.com> |
Revert "Name function arguments in libc headers for Studio." This reverts commit 079bff4fa52b0c3c76057451cc9cdecf1827fce0. Broke builds with SANITIZE_HOST=address with an asan failure in versioner. Change-Id: I22b113fd5405589d1a25e5e137c450aaba1ade5f
|
079bff4fa52b0c3c76057451cc9cdecf1827fce0 |
|
17-Aug-2017 |
Elliott Hughes <enh@google.com> |
Name function arguments in libc headers for Studio. Second batch of headers... Bug: http://b/64613623 Test: builds Change-Id: I8eef043dbf32afee8ff814e9d005f46aee8fa21f
|
b97049c0390cb1a11b9cb0b14391972e69398ce5 |
|
25-Jul-2017 |
George Burgess IV <gbiv@google.com> |
libc: Split FORTIFY into its own headers This patch cleans up our standard headers by moving most of the FORTIFY cruft out in to its own sandbox. In order to include the *_chk and *_real declarations, you can either enable FORTIFY, or `#define __BIONIC_DECLARE_FORTIFY_HELPERS`. Both sys/select.h and strings.h are explicitly ignored by this patch. Both of these files have very small __BIONIC_FORTIFY blocks, and don't define any actual FORTIFY'ed functions (just macros, and 3 *_chk functions). This patch also makes the versioner ignore the FORTIFY implementation headers, since we're guaranteed to pick the FORTIFY'ed headers up when looking at the regular headers. (...Not to mention that making the FORTIFY'ed headers freestanding would be annoying to do and maintain for ~no benefit). We bake the knowledge of where FORTIFY headers live directly into the versioner. We could go with a more general approach (e.g. adding an -X IGNORED_FILE flag that tells the versioner to ignore $HEADER_PATH/$IGNORED_FILE), but we'd then have to repeat that for every test, every manual invocation of the versioner, etc. for no benefit that's obvious to me. Bug: 12231437 Test: m checkbuild on bullhead internal master + CtsBionicTestCases. no new errors. Change-Id: Iffc0cc609009b33d989cdaddde0a809282131a5b
|
cfb61712c4367c2943f1b4fb7838d5e125020bef |
|
20-Apr-2017 |
Josh Gao <jmgao@google.com> |
The future is now. __INTRODUCED_IN_FUTURE -> __INTRODUCED_IN(26) Bug: http://b/37437368 Test: treehugger Change-Id: I601a23da83b65a0cd582cc840ed3856a9031b673 (cherry picked from commit cb302f932a3532f1484e1e70894e9b1199384283) (Cherry picked a DO N*T MERGE commit that should have been merged) (cherry picked from commit 2e8e5e60b6ecbcfe2110242e41b9ec5340b11cf5)
|
2e8e5e60b6ecbcfe2110242e41b9ec5340b11cf5 |
|
20-Apr-2017 |
Josh Gao <jmgao@google.com> |
DO NOT MERGE: The future is now. __INTRODUCED_IN_FUTURE -> __INTRODUCED_IN(26) Bug: http://b/37437368 Test: treehugger Change-Id: I601a23da83b65a0cd582cc840ed3856a9031b673 (cherry picked from commit cb302f932a3532f1484e1e70894e9b1199384283)
|
cb302f932a3532f1484e1e70894e9b1199384283 |
|
20-Apr-2017 |
Josh Gao <jmgao@google.com> |
The future is now. __INTRODUCED_IN_FUTURE -> __INTRODUCED_IN(26) Bug: http://b/37437368 Test: treehugger Change-Id: I601a23da83b65a0cd582cc840ed3856a9031b673
|
95b59c520b24aabcdc63b93a3f1eaf73e57a3afe |
|
14-Feb-2017 |
Daniel Micay <danielmicay@gmail.com> |
add fortified implementations of send/sendto Bug: None Test: Bullhead builds+boots; CtsBionicTestCases passes. Change-Id: I2f137a100f679f7f2145d84b2f29ddd3e96a36ae
|
156d5a8ae93c6515919dd6706481991c7c0dc600 |
|
10-Feb-2017 |
George Burgess IV <gbiv@google.com> |
Match __bos0 to __pass_object_size0 in FORTIFY pass_object_size(N) forwards the result of __builtin_object_size(param, N) to a function. So, a function that looks like: size_t foo(void *const p __pass_object_size) { return __bos0(p); } int bar = foo(baz); would effectively be turned into size_t foo(void *const p, size_t sz) { return sz; } int bar = foo(baz, __bos(baz)); // note that this is not __bos0 This is bad, since if we're using __bos0, we want more relaxed objectsize checks. __bos0 should be more permissive than __bos in all cases, so this change Should Be Fineā¢. This change also makes GCC and clang share another function's implementation (recv). I just realized we need to add special diagnostic-related overloads bits for clang to it, but I can do that in another patch. Bug: None Test: Bullhead builds and boots; CtsBionicTestCases passes. Change-Id: I6818d0041328ab5fd0946a1e57321a977c1e1250
|
7cc779f15c524e1622f7d5b1c7e82e6ffc6677fd |
|
09-Feb-2017 |
George Burgess IV <gbiv@google.com> |
libc: add clang FORTIFY support This patch adds clang-style FORTIFY to Bionic. For more information on FORTIFY, please see https://goo.gl/8HS2dW . This implementation works for versions of clang that don't support diagnose_if, so please see the "without diagnose_if" sections. We plan to swap to a diagnose_if-based FORTIFY later this year (since it doesn't really add any features; it just simplifies the implementation a lot, and it gives us much prettier diagnostics) Bug: 32073964 Test: Builds on angler, bullhead, marlin, sailfish. Bionic CTS tests pass on Angler and Bullhead. Change-Id: I607aecbeee81529709b1eee7bef5b0836151eb2b
|
8d7687143843c4fe8c8e79ea8abbc2d6b9c889f2 |
|
14-Dec-2016 |
Elliott Hughes <enh@google.com> |
Update socket constants. This corresponds to Linux 4.10. Bug: N/A Test: builds Change-Id: Ia7135c9fec181613b79726d1b16867133cdefd04
|
5bc78c8bcd0c1e634c04029309ede3ec05f2d424 |
|
16-Nov-2016 |
Elliott Hughes <enh@google.com> |
Add and use constants for the Android API levels. Test: bionic tests still pass Change-Id: If1b619cfc9db1d3f5d91f14f2ace71058dca0c4a
|
11f0e10c4911e39733145194ee78bb65d684fff4 |
|
09-Sep-2016 |
Dan Albert <danalbert@google.com> |
Provide an inline __cmsg_nxthdr. This was defined as an inline in the legacy NDK headers. Keep that here until we can get it into libandroid_support. Test: make checkbuild Bug: http://b/30465923 Change-Id: I62393b58e4fba3bc7337cc5ecf4ae1590b0e9917
|
2b9605fec499b24bcbe9ff408b934455b4d85e57 |
|
16-Aug-2016 |
Elliott Hughes <enh@google.com> |
Fix various <sys/socket.h> prototypes. http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_socket.h.html Interestingly, recvmmsg/sendmmsg do actually return int, unlike their recv/recvmsg/sendv/sendvmsg siblings. The generated assembler stubs don't actually change. Change-Id: If71cd02431903774de9bbce77fbedf6b03f90c0f
|
8197aca7f2110fa764c1aecd005d878d8ddd3a3c |
|
12-Aug-2016 |
Elliott Hughes <enh@google.com> |
Fix recvfrom prototype. http://pubs.opengroup.org/onlinepubs/9699919799/functions/recvfrom.html Change-Id: Iba203c74045c88e53e28c2e0c8bc1f9ac63ce23e
|
dfa6bbb54bd9ab2a71df4c066427ea804608e20b |
|
03-Aug-2016 |
Dan Albert <danalbert@google.com> |
Guard fortify inlines with __ANDROID_API__. Test: make checkbuild with libc ndk_library patches applied Change-Id: Ic5e248994c4f2702b0f4d6dfeda787187ea86017
|
3b2096a9d6edd74622b94cacc76b77100f919b84 |
|
23-Jul-2016 |
Elliott Hughes <enh@google.com> |
Remove unnecessary 'extern's. Change-Id: Iba2b3fb6ff88e504f1657b915120ae43d58a1e03
|
508d292f8deb2933914b0ceef56908cdd4ee589f |
|
22-Jul-2016 |
Elliott Hughes <enh@google.com> |
Only define sa_family_t once. Change-Id: Icf700910c836d22c8a27ad026ec8af11697edd5a
|
14adff1cfa06a3d4d3281a9bf7848b556d84c20d |
|
29-Apr-2016 |
Josh Gao <jmgao@google.com> |
Add versioning information to symbols. Bug: http://b/28178111 Change-Id: I46bf95accd819f4521afb1173d8badcc5e9df31c
|
c7ca8f3a6332638021b9ae99e1ce15739350ee98 |
|
28-Jan-2016 |
Greg Hackmann <ghackmann@google.com> |
socket.h: update AF_* constants Change-Id: I8ca219fa429ca8d8f872ed1db98275cd1a06f00b Signed-off-by: Greg Hackmann <ghackmann@google.com>
|
d75abb9614b04c3da3104099752726f9d1c6d8c7 |
|
26-Aug-2015 |
Greg Hackmann <ghackmann@google.com> |
Fix SOCK_* flag definitions MIPS and the rest of the world only disagree on the first two SOCK_* constants, so restructure the #ifdef accordingly. As a deliberate side effect, this fixes SOCK_DCCP being missing on non-MIPS platforms. Change-Id: I2267008f1121a7eebe1ed9097afab6e612bce7f0 Signed-off-by: Greg Hackmann <ghackmann@google.com>
|
268af26359c8f1c87585e26d2763e3a3a63f8714 |
|
11-Sep-2015 |
Dan Albert <danalbert@google.com> |
CMSG_DATA should return an unsigned char*. http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/sys_socket.h.html > CMSG_DATA(cmsg) > If the argument is a pointer to a cmsghdr structure, this macro > shall return an unsigned character pointer to the data array > associated with the cmsghdr structure. Change-Id: I3f89ba19cbca4e6727abc65a2bbcd59267892ba8
|
55ee845b8ec0861d09197b32fbb5f2d34320155d |
|
07-Oct-2014 |
Dan Albert <danalbert@google.com> |
Inline helpers need to be exported unmangled. __open_2() is used by the fortify implementation of open(2) in fcntl.h, and as such needs an unmangled C name. For some reason (inlining?), this doesn't cause problems at the default optimization level, but does for -O0. The rest of these didn't cause build failures, but they look suspect and probably will, we just haven't caught them yet. (cherry-pick of 658727e111ed6dee7be5239494f0764f7b1b02f8 with conflicts in stdio.h and string.h.) Bug: 17784968 Change-Id: I7391a7a8999ee204eaf6abd14a3d5373ea419d5b
|
658727e111ed6dee7be5239494f0764f7b1b02f8 |
|
07-Oct-2014 |
Dan Albert <danalbert@google.com> |
Inline helpers need to be exported unmangled. __open_2() is used by the fortify implementation of open(2) in fcntl.h, and as such needs an unmangled C name. For some reason (inlining?), this doesn't cause problems at the default optimization level, but does for -O0. The rest of these didn't cause build failures, but they look suspect and probably will, we just haven't caught them yet. Bug: 17784968 Change-Id: I7391a7a8999ee204eaf6abd14a3d5373ea419d5b
|
d87d401ab134996d1f25f5b63cefb48b5b5877c8 |
|
18-Aug-2014 |
Elliott Hughes <enh@google.com> |
Improve <sys/cdefs.h>. Fix and use __RENAME (and lose ___RENAME --- two underscores should be enough for anybody). This was the point of this change, because I want to use __RENAME to support the two basename variants and the two strerror_r variants. Lose a bunch of macros that weren't being used. Lose three dead files from the DNS code. Bug: 17784968 (cherry picked from commit 2cfb4e8e2e217ef0e4140dcbf9b3da809781158c) Change-Id: I5e96146f92c0521248c78c0933bec5e9a9818222
|
2cfb4e8e2e217ef0e4140dcbf9b3da809781158c |
|
18-Aug-2014 |
Elliott Hughes <enh@google.com> |
Improve <sys/cdefs.h>. Fix and use __RENAME (and lose ___RENAME --- two underscores should be enough for anybody). This was the point of this change, because I want to use __RENAME to support the two basename variants and the two strerror_r variants. Lose a bunch of macros that weren't being used. Lose three dead files from the DNS code. Change-Id: I3ef645c566b16a52217bc2e68c7d54b37c7c9522
|
291da8d3533b3ee47f8d742c72d789d3149d15da |
|
18-Jul-2014 |
Elliott Hughes <enh@google.com> |
Remove SIOCKILLADDR from <sys/socket.h>. (cherry picked from commit 8a3d1ca183e19d849728318fe8b0d36856fa000f) Change-Id: Idb5cc4cff3ece7fa8740db12a19438d1a1c9a6a8
|
8a3d1ca183e19d849728318fe8b0d36856fa000f |
|
18-Jul-2014 |
Elliott Hughes <enh@google.com> |
Remove SIOCKILLADDR from <sys/socket.h>. Change-Id: I6b64a9abe01c786a9ec26aee1517cb981a4860fb
|
f6968e3c0822b27e9aa584c3490573f34b1725c1 |
|
12-Jul-2014 |
Elliott Hughes <enh@google.com> |
Define SIOCKILLADDR which isn't in the common kernel uapi headers. (cherry picked from commit 2ba2888cac2f04daff7bbaf032d0df7a095b00c3) Change-Id: I3845871bb44dae94d9a0428af0f562ddfb8bd660
|
2ba2888cac2f04daff7bbaf032d0df7a095b00c3 |
|
12-Jul-2014 |
Elliott Hughes <enh@google.com> |
Define SIOCKILLADDR which isn't in the common kernel uapi headers. Change-Id: I8760950d13a9625aa543e76bc9d6cd86ac782c2e
|
096b4eb752aa7a5392875cb2f2faf0d67c676ac1 |
|
19-Jun-2014 |
Calin Juravle <calin@google.com> |
Prefix cmsg_nxthdr with "__". This brings us on par with glibc. To avoid breaking clients, temporary keep cmsg_nxthdr until the next NDK refresh. Bug: 15822452 Change-Id: I24c24e68c31f4f2b8f3d2df7acd575cb75174173
|
ff64831b0965c16c95c9f81a148f30a6ef3a6c64 |
|
07-Apr-2014 |
Calin Juravle <calin@google.com> |
Use glibc structure for __cmsg_nxthdr. Bug: 13418328 Change-Id: I7e656b373e53e80d708325321e48dcedacf5086d
|
9cea3775056d0a8d04d49c3983440b89d82a462b |
|
31-Mar-2014 |
Christopher Ferris <cferris@google.com> |
Small accept4 fixes. Put the accept4 test in the sorted order, and put the accept4 define in sorted order. Also add the missing SYS_RECVMMSG and SYS_SENDMMSG defines. Change-Id: Iba55354975e0d5027dbee53f6de752c2df719493
|
8f2a30a92ab6981cccbc1a9e17b738f7542ae33f |
|
26-Mar-2014 |
Andrei Emeltchenko <andrei.emeltchenko@intel.com> |
Add accept4() syscall Add accept4() using SYSCALLS.TXT and gensyscall Change-Id: I6f19f29144186d15d46423e10f2cc4b4223719c6
|
f1de90b3a26d6ec46c0f1c741ef93509fe69f942 |
|
19-Mar-2014 |
Calin Juravle <calin@google.com> |
Clean up CMSG_*HDR in <sys/socket.h> Removed __CMSG_NXTHDR, __CMSG_FIRSTHDR and cmsg_nxthdr. Bug: 13418328 Change-Id: I6b1ed58b41b3f37d41e070c4f222b5bfa512bc48
|
247dc91889ffc8b71fc3371edba9d834afab96ab |
|
11-Mar-2014 |
Elliott Hughes <enh@google.com> |
Take ownership of various simple syscall wrappers. None of these trivial functions is something we're going to get from BSD. Change-Id: Iee1d1281b73db67da5ec303da7a49748121464bf
|
a8b1eb3fcf13fab029a16fa3b6636218a64c4583 |
|
01-Mar-2014 |
Elliott Hughes <enh@google.com> |
Fix build. Change-Id: I71cde79263d5f5a8382865b8151f65c5c05ea17b
|
6ff0c75c838e73d2aeccc0102ab58a7b865172ca |
|
10-Feb-2014 |
Guillaume Ranquet <guillaumex.ranquet@intel.com> |
Add recvmmsg and sendmmsg syscalls. Also add the corresponding constant, struct, and function declarations to <sys/socket.h>, and perfunctory tests so we know that the symbols actually exist. Signed-off-by: Guillaume Ranquet <guillaumex.ranquet@intel.com> Change-Id: Ib0d854239d3716be90ad70973c579aff4895a4f7
|
9f87a0b285128542a221f2b69d3b959a4e33c054 |
|
07-Feb-2014 |
Elliott Hughes <enh@google.com> |
Remove <sys/_types.h>. Bug: 12213562 Change-Id: I0d10664f9da60739bdbad0408be0dd61eea3c1fe
|
43d2137af0e2f65b7febf4414e10b979aa0007bf |
|
14-Oct-2013 |
Andrei Emeltchenko <andrei.emeltchenko@intel.com> |
Add SOCK_CLOEXEC and SOCK_NONBLOCK socket flags. SOCK_CLOEXEC is used to atomically set close-on-exec flag for the new descriptor(s), and SOCK_NONBLOCK is used to mark descriptor(s) as non-blocking. Change-Id: I8ba6a70543d23759e3ddcc7ff9c21b567184d681
|
60f4f9a5b99a0a66817f50edfc2194a49f8b5146 |
|
25-Sep-2013 |
Nick Kralevich <nnk@google.com> |
libc: fortify recvfrom() Fortify calls to recv() and recvfrom(). We use __bos0 to match glibc's behavior, and because I haven't tested using __bos. Change-Id: Iad6ae96551a89af17a9c347b80cdefcf2020c505
|
d73c0b300e2dbaa4cc59f87fc1435661e5e1c736 |
|
04-Jan-2013 |
Elliott Hughes <enh@google.com> |
Add AF_CAN and PF_CAN (and other missing families). Change-Id: I2c183a6f5f7a7e81e87dad85d8c9aff9c43ed33a
|
86ec05acc9df3098c4e99e5b3ad85dcef66712c7 |
|
12-Sep-2012 |
Elliott Hughes <enh@google.com> |
Update the kernel headers to match external/kernel-headers. Note that the Linux kernel handed over responsibility for most of the socket constants to glibc some time ago. Someone had updated our external/kernel-headers file but not regenerated the bionic headers, so this change copies the missing stuff from the old bionic <linux/socket.h> into <sys/socket.h>. This is what glibc does. I've hacked a few of the other files to #include <sys/socket.h> for backward compatibility, but even so this requires numerous other changes to switch people over from direct inclusion of <linux/...> headers. Change-Id: I0e4af64e631d3cef911a31d90f2f806e058278a0
|
6437eac15a5b595ab26ef51834509c44695eb7e4 |
|
03-Aug-2012 |
Raghu Gandham <raghu@mips.com> |
MIPS support to sys/ headers Change-Id: I32207a1d918e4842da341f6b242ae39c69a83b03
|
1dc9e472e19acfe6dc7f41e429236e7eef7ceda1 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
1767f908af327fa388b1c66883760ad851267013 |
|
04-Mar-2009 |
The Android Open Source Project <initial-contribution@android.com> |
auto import from //depot/cupcake/@135843
|
4e468ed2eb86a2406e14f1eca82072ee501d05fd |
|
18-Dec-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Code drop from //branches/cupcake/...@124589
|
a27d2baa0c1a2ec70f47ea9199b1dd6762c8a349 |
|
21-Oct-2008 |
The Android Open Source Project <initial-contribution@android.com> |
Initial Contribution
|