Commit Graph

1282 Commits

Author SHA1 Message Date
Josh Gao 46b44160e9 Update header versions for NDK platform fixes.
Bug: http://b/28178111
Change-Id: Icd638673b409aa43a91490f77c6b4d79c9ea20d9
2016-06-02 13:40:35 -07:00
Josh Gao 6e9c1f61d8 Remove declaration for __brk.
Bug: http://b/28178111
Change-Id: I972789cd5da552000c32fd107b9df98330323d89
2016-06-01 18:21:06 -07:00
Josh Gao bb129214ad Don't use __u64/__u32 in <sys/user.h>.
The typedefs for __u64 and __u32 aren't in scope in this file, so
switch fields declared with these to use the matching underlying type.

Bug: http://b/28178111
Change-Id: Id4eec1f7dc81d77e78043227c15e621debe3a48a
2016-05-25 15:25:13 -07:00
Elliott Hughes 882b8afedc Regenerate NOTICE files.
Also clean up some near-miss copyright headers in libm, and remove
some cruft in <grp.h>/<pwd.h> that the script can't automatically
ignore since we stripped all the tabs in those files.

Change-Id: I10796c54dda1ceba87822ae0de26b5d71b54972b
2016-05-16 17:46:00 -07:00
Elliott Hughes cb8ef17b07 Merge "Fix <resolv.h> and <netinet/tcp.h> so dnscap builds." 2016-05-16 21:59:50 +00:00
Elliott Hughes f021061a23 Fix <resolv.h> and <netinet/tcp.h> so dnscap builds.
Some guy on the internet complained that dnscap doesn't build out of the box.
Now it does.

Bug: http://b/27839637
Change-Id: I8c4f22d3c3f8885a6fe06029d89ef68a15931027
2016-05-16 14:03:43 -07:00
Elliott Hughes c6190a9839 We have the _r ether_ntoa/ether_aton functions too.
We've also had them since H, not L.

Change-Id: Iee7633ea97a0ee9a00bf7b62ead315acf02a3c8e
2016-05-16 13:24:31 -07:00
Elliott Hughes f6324d540a Fix our *ether* headers mess.
Move everything to where it should be.

Along the way, we lose <net/ethertypes.h>. glibc only has a handful of these
types, and they're all in <net/ethernet.h>, not <net/ethertypes.h>. I've taken
the liberty of not including the AppleTalk ones, since it is 2016.

Also, <net/if_ether.h> should be <netinet/if_ether.h> (though with different
contents).

Bug: http://b/28519060
Change-Id: Ia41c3fc136fd3e6b008c8d08018e0629134ea6fc
2016-05-13 11:00:22 -07:00
Elliott Hughes bab9d7954a Remove <net/if_types.h>.
Bug: http://b/28519060
Change-Id: I7481df528b281344879b4aac32551d8c40824195
2016-05-11 15:00:19 -07:00
Elliott Hughes d0b173316a Merge "Remove various bits of header cruft." 2016-05-11 21:25:01 +00:00
Dimitry Ivanov 35c115c196 Merge "Remove linker-namespace functions from the header" 2016-05-11 21:14:41 +00:00
Elliott Hughes 12f35419ce Remove various bits of header cruft.
Mostly BSD _KERNEL stuff.

Change-Id: Ic0a6914437d0c831a83588a435079d0c719fcbdf
2016-05-10 17:32:48 -07:00
Dimitry Ivanov 41fd29532b Remove linker-namespace functions from the header
They are intended for platform use only and we shouldn't have them
in the public header file.

Bug: http://b/28174921
Change-Id: Ib9b3d0fa9442cfa2e784a693ad567d1444d774e5
2016-05-09 18:15:41 -07:00
Elliott Hughes e2f25831eb Remove declaration of pthread_cond_timedwait_relative_np.
It's been deprecated long enough, and nothing left in the tree (except
code that isn't even built) is still using it.

Bug: http://b/27918161
Change-Id: Ibf824c1063d49484037de5c03b98bec5bdd4dcf6
2016-05-09 13:29:26 -07:00
Elliott Hughes 3164ab733c Remove pthread_mutex_lock_timeout_np from <pthread.h>.
It's been deprecated long enough, and nothing left in the tree (except
code that isn't even built) is still using it.

Bug: http://b/27918161
Change-Id: I1786f5e2528a23c17b3f7298f4ba5fc7761a26c5
2016-05-06 17:46:48 -07:00
Treehugger Robot 98ac6f415f Merge "Use clang's nullability instead of nonnull." 2016-05-06 02:27:18 +00:00
Dan Albert baa2a973bd Use clang's nullability instead of nonnull.
http://clang.llvm.org/docs/AttributeReference.html#nonnull

_Nonnull is similar to the nonnull attribute in that it will instruct
compilers to warn the user if it can prove that a null argument is
being passed. Unlike the nonnull attribute, this annotation indicated
that a value *should not* be null, not that it *cannot* be null, or
even that the behavior is undefined. The important distinction is that
the optimizer will perform surprising optimizations like the
following:

    void foo(void*) __attribute__(nonnull, 1);

    int bar(int* p) {
      foo(p);

      // The following null check will be elided because nonnull
      // attribute means that, since we call foo with p, p can be
      // assumed to not be null. Thus this will crash if we are called
      // with a null pointer.
      if (src != NULL) {
        return *p;
      }
      return 0;
    }

    int main() {
      return bar(NULL);
    }

Note that by doing this we are no longer attaching any sort of
attribute for GCC (GCC doesn't support attaching nonnull directly to a
parameter, only to the function and naming the arguments
positionally). This means we won't be getting a warning for this case
from GCC any more. People that listen to warnings tend to use clang
anyway, and we're quickly moving toward that as the default, so this
seems to be an acceptable tradeoff.

Change-Id: Ie05fe7cec2f19a082c1defb303f82bcf9241b88d
2016-05-05 17:11:54 -07:00
Elliott Hughes 5e2342f970 Merge "Remove <sys/atomics.h>." 2016-05-05 23:55:04 +00:00
Elliott Hughes 9ee905f12f Merge "Move <machine/endian.h> somewhere more private." 2016-05-03 00:45:38 +00:00
Elliott Hughes ed507636c0 Remove <sys/atomics.h>.
It's no longer used in the platform (including vendor code), and everyone
should be using <stdatomic.h> anyway.

Change-Id: Ic1ad743625ffb15b4837ff6ccb91dcd840d19ec2
2016-05-02 16:04:57 -07:00
Elliott Hughes 3d125175d7 Move <machine/endian.h> somewhere more private.
Bug: http://b/28519060
Change-Id: I1c7811f95f46c65d4152bcf509b6e048c45bc28b
2016-05-02 15:44:56 -07:00
Elliott Hughes 3338ee5257 Merge "Move glibc-syscalls.h into bits/." 2016-05-02 22:41:34 +00:00
Elliott Hughes 3fb1b37bba Merge "Remove <sys/utime.h>." 2016-05-02 21:35:14 +00:00
Elliott Hughes d3b4166b5b Merge "Move the IEEE fp header out of the public headers." 2016-05-02 21:22:32 +00:00
Elliott Hughes eb9b0a1819 Merge "Move nsswitch.h into libc/dns/include." 2016-05-02 21:11:30 +00:00
Elliott Hughes af5afdba34 Merge "Remove <net/if_ieee1394.h>." 2016-05-02 21:11:10 +00:00
Elliott Hughes 5ab6f6c3bd Merge "Remove <sys/ioctl_compat.h>." 2016-05-02 21:07:13 +00:00
Elliott Hughes e10ff49ec3 Remove <sys/utime.h>.
As far as I can tell, this is a Windows-ism.

Bug: http://b/28519060
Change-Id: I28ca39ba799aaae81695eff3ce57eacb326e941c
2016-05-02 13:13:49 -07:00
Elliott Hughes d3f51a482f Merge "Remove unused <sys/socketcalls.h> header." 2016-05-02 20:03:53 +00:00
Elliott Hughes 64959d2b7f Remove <sys/ioctl_compat.h>.
This is all legacy BSD stuff (legacy even on BSD!) that's meaningless on Linux.

Bug: http://b/28519060
Change-Id: I92d317ede844ebd50b48368021fa2ad036e2b0c1
2016-05-02 12:53:00 -07:00
Elliott Hughes 8aabbd7f63 Move glibc-syscalls.h into bits/.
Bug: http://b/28519060
Change-Id: I0de1ba16b16eb7b780de89954d3fa45cca2f5295
2016-05-02 12:47:58 -07:00
Elliott Hughes b0da5760dc Move the IEEE fp header out of the public headers.
Bug: http://b/28519060
Change-Id: I9f1a1a9ac1f22462bf86991b57c51824cb42eefd
2016-05-02 12:44:41 -07:00
Elliott Hughes 82140bed6a Remove <net/if_ieee1394.h>.
It's 2016.

Bug: http://b/28519060
Change-Id: Idbb2c40f37e57a87933b8b13b20e15035105e918
2016-05-02 12:35:26 -07:00
Elliott Hughes 42d752754e Move nsswitch.h into libc/dns/include.
Not a public header file except in NetBSD, where it came from. Even
OpenBSD doesn't have it.

Bug: http://b/28519060
Change-Id: Id5feec4a4e8010a9f4433e73b1bfa6f935d884b9
2016-05-02 12:24:58 -07:00
Josh Gao 583a4f8d35 Merge changes I25dca710,I85fdf927,I667fe53e,I46bf95ac
* changes:
  Remove nonexported _ns_flagdata from public header.
  Add platform specific version tags.
  Add __INTRODUCED_IN_FUTURE for unreleased APIs.
  Add versioning information to symbols.
2016-05-02 18:33:04 +00:00
Elliott Hughes 6bad319c5f Remove unused <sys/socketcalls.h> header.
These constants come from <linux/net.h> on Linux.

Change-Id: I546fadac2478771c2455298d776dbc4a20c73b17
2016-05-02 08:09:37 -07:00
Elliott Hughes 6b3bec031f Fix various empty .h files in bionic.
Bug: http://b/28432688
Change-Id: I339f5221b9e66ce5983eb3685b9405e8d6f58808
2016-04-29 22:30:19 -07:00
Josh Gao b089e468bd Remove nonexported _ns_flagdata from public header.
Bug: http://b/28178111
Change-Id: I25dca710964099c4e07bf694635db75a72b38508
2016-04-29 16:39:50 -07:00
Josh Gao 5a3d5cac64 Add __INTRODUCED_IN_{32,64}.
Some symbols appeared at different times between 32 and 64 bit. Add a
macro to represent this.

Bug: http://b/28178111
Change-Id: I0aa46d9da3c7301b60df0416bce252f0f37b7b36
2016-04-29 16:39:50 -07:00
Josh Gao d51bc71294 Add platform specific version tags.
Some functions were added at different times on different platforms.
This should hopefully get most of them.

Bug: http://b/28178111
Change-Id: I85fdf92779a2f3277e9b537c6bfc7216790c607a
2016-04-29 16:39:50 -07:00
Josh Gao 34c599a8b0 Add __INTRODUCED_IN_FUTURE for unreleased APIs.
Future API levels aren't known (e.g. 25 could be a maintenance release
of N that doesn't contain any bionic updates), so use a placeholder
macro that we can find and replace with the actual API level before each
release.

Bug: http://b/28178111
Change-Id: I667fe53ea1ac49b64135170fc30d5dbe9df94e29
2016-04-29 16:39:50 -07:00
Josh Gao 14adff1cfa Add versioning information to symbols.
Bug: http://b/28178111
Change-Id: I46bf95accd819f4521afb1173d8badcc5e9df31c
2016-04-29 16:39:50 -07:00
Elliott Hughes 7e94d292b0 Remove __UNAVAILABLE.
We fixed the things we needed this for, and should never reintroduce a
similar mistake in future.

Change-Id: I74b447bcf22ea533f3c79db48b66a3c217d76c2f
2016-04-29 11:07:55 -07:00
Elliott Hughes 146cbacea0 Merge "Fix <wctype.h>." 2016-04-29 18:05:28 +00:00
Elliott Hughes adc8d34137 Merge "Remove declaration of pthread_cond_timeout_np." 2016-04-29 15:11:59 +00:00
Elliott Hughes 7ba106c784 Fix <wctype.h>.
* Fix the return type of towlower_l/towupper_l.
* Implement wctrans/wctrans_l/towctrans/towctrans_l.
* Move declarations that POSIX says are available from both <wchar.h> and
  <wctype.h> to <bits/wctype.h> and include from both POSIX headers.
* Write the missing tests.

Change-Id: I3221da5f3d7e8a2fb0a7619dc724de45f7b55398
2016-04-28 18:22:06 -07:00
Elliott Hughes 6f6f9058fa Implement mblen(3).
Change-Id: I65948ea5b9ecd63f966ba767ad6db4a2effc4700
2016-04-28 16:41:29 -07:00
Elliott Hughes 3615a52126 Remove declaration of pthread_cond_timeout_np.
Bug: http://b/27918161
Change-Id: I61b5710dc394c155bdb4577a750b96195033251e
2016-04-28 10:07:21 -07:00
Josh Gao 29226f39ae Tag unavailable functions with macro.
Add an __UNAVAILABLE macro, and use it for several functions which lack
implementations, but need to have visible declarations to be reexported
in the C++ standard library.

Bug: http://b/28178111
Change-Id: Ia4ae0207bbfcb7baa61821f0ef946257b019c0db
2016-04-27 16:50:54 -07:00
Josh Gao c194fd30c6 Delete declarations which don't exist.
Bug: http://b/28178111
Change-Id: I72d5d015d7927a8df24b3973bf8a052053a067fb
2016-04-27 16:50:54 -07:00