Commit Graph

4164 Commits

Author SHA1 Message Date
Andrei Emeltchenko
8f2a30a92a Add accept4() syscall
Add accept4() using SYSCALLS.TXT and gensyscall

Change-Id: I6f19f29144186d15d46423e10f2cc4b4223719c6
2014-03-26 15:50:01 +02:00
Shu Zhang
5b5d6e7045 add 32-bit bionic implementation for denver arch
Add 32-bit bionic implementation for denver. Use denver version of memcpy/
memset. Use Cortex-A15 version of strlen/strcat/strcpy/strcmp.

Change-Id: I4c6b675f20cf41a29cadf70a11d1635d7df5b30a
2014-03-26 13:57:01 +08:00
Christopher Ferris
0f01bb2e68 am b47790fb: am c8fc4ddc: Merge "Keep the symbol table in the shared libc."
* commit 'b47790fb5620b4a856bba6e2cb1b76989d96956d':
  Keep the symbol table in the shared libc.
2014-03-25 21:22:58 +00:00
Christopher Ferris
b47790fb56 am c8fc4ddc: Merge "Keep the symbol table in the shared libc."
* commit 'c8fc4ddc183060aa979185d5a6845f26beb1a733':
  Keep the symbol table in the shared libc.
2014-03-25 19:09:32 +00:00
Calin Juravle
f1de90b3a2 Clean up CMSG_*HDR in <sys/socket.h>
Removed __CMSG_NXTHDR, __CMSG_FIRSTHDR and cmsg_nxthdr.

Bug: 13418328
Change-Id: I6b1ed58b41b3f37d41e070c4f222b5bfa512bc48
2014-03-25 17:07:37 +00:00
Christopher Ferris
0ae6445e9a Keep the symbol table in the shared libc.
In order to allow the unwinder code to have meaningful names for
libc functions, leave the symbol table. This results in the libc.so
getting to be about ~130K larger on all arm platforms and about ~70K
larger on mips/x86 platforms.

Bug: 12958251
Change-Id: I6b3a97e4824142faf5de46aeabf7c1dfb98a8cc6
2014-03-24 17:56:13 -07:00
Calin Juravle
ade0564616 am 02a17877: am 9e8a8dc1: Merge "Remove ALIGNBYTES and ALIGN from <sys/param.h>"
* commit '02a178773806e118e60a422f82b8a2607bd54e86':
  Remove ALIGNBYTES and ALIGN from <sys/param.h>
2014-03-24 21:25:34 +00:00
Nick Kralevich
91ef8d53ec am aefe43b1: am 95c1abec: Merge "FORTIFY_SOURCE: don\'t define s?printf macros if already defined"
* commit 'aefe43b1824907b93c6280ce27cb2c105c564477':
  FORTIFY_SOURCE: don't define s?printf macros if already defined
2014-03-24 21:25:17 +00:00
Chad Brubaker
efe4461364 am b9e1688c: am 1d3d0360: am 081db840: Allow overlap in resolv uid => DNS iface mapping
* commit 'b9e1688cd9f8727bbe0dacafd194c7a571bedb14':
  Allow overlap in resolv uid => DNS iface mapping
2014-03-24 19:35:17 +00:00
Mark Salyzyn
248f1027e0 am 5b3c6fde: am cce6c380: Merge "libc: Thread IDs missing from logcat -v thread"
* commit '5b3c6fde09f2665f788f2586c3cdbab28b98b229':
  libc: Thread IDs missing from logcat -v thread
2014-03-24 18:44:03 +00:00
Christopher Ferris
7eec583445 am e1b25377: am 998d7b03: Merge "Fix deadlock in timer_delete."
* commit 'e1b25377387376932688bb436393764469af1cf3':
  Fix deadlock in timer_delete.
2014-03-24 17:27:10 +00:00
Calin Juravle
02a1787738 am 9e8a8dc1: Merge "Remove ALIGNBYTES and ALIGN from <sys/param.h>"
* commit '9e8a8dc18cb3162858feef2d4baaf3fa357aa3d2':
  Remove ALIGNBYTES and ALIGN from <sys/param.h>
2014-03-24 12:33:50 +00:00
Calin Juravle
9e8a8dc18c Merge "Remove ALIGNBYTES and ALIGN from <sys/param.h>" 2014-03-24 12:11:30 +00:00
Nick Kralevich
aefe43b182 am 95c1abec: Merge "FORTIFY_SOURCE: don\'t define s?printf macros if already defined"
* commit '95c1abecc02b2a2f40b507e669b5bc17d4412bf9':
  FORTIFY_SOURCE: don't define s?printf macros if already defined
2014-03-22 18:06:03 +00:00
Nick Kralevich
95c1abecc0 Merge "FORTIFY_SOURCE: don't define s?printf macros if already defined" 2014-03-22 17:55:49 +00:00
Chad Brubaker
b9e1688cd9 am 1d3d0360: am 081db840: Allow overlap in resolv uid => DNS iface mapping
* commit '1d3d0360eee442c7c73006e2069acdc051575edb':
  Allow overlap in resolv uid => DNS iface mapping
2014-03-21 21:09:37 +00:00
Chad Brubaker
1d3d0360ee am 081db840: Allow overlap in resolv uid => DNS iface mapping
* commit '081db840befec895fb86e709ae95832ade2d065c':
  Allow overlap in resolv uid => DNS iface mapping
2014-03-21 21:02:40 +00:00
Mark Salyzyn
cce6c380d7 Merge "libc: Thread IDs missing from logcat -v thread" 2014-03-21 20:09:32 +00:00
Calin Juravle
c20de90287 Remove ALIGNBYTES and ALIGN from <sys/param.h>
There are only three users of bionic definition of ALIGN and keeping it
in sys/param.h polutes the namespace.

I inline the definition in the the three places that's used.

Bug: 13400663
Change-Id: I565008e8426c38ffb07422f42cd8e547d53044e9
2014-03-21 09:59:34 +00:00
Christopher Ferris
753ad778bc Fix deadlock in timer_delete.
If the callback function for a timer did a timer_delete, the function
would never return. The problem was that the timer_delete function would try
to wait until the timer thread has finished. Waiting for yourself to finish
doesn't work very well.

Bug: 13397340
Change-Id: Ica123a5bafbc8660c8a4a909e5c2dead55ca429d
2014-03-20 20:47:45 -07:00
Mark Salyzyn
8664be583a libc: Thread IDs missing from logcat -v thread
- stuff caller's thread id into the packet.

Bug: 13568206
Change-Id: If8b318ef75c7dcdddb05da8ac3038860f0fda5ec
2014-03-20 16:35:18 -07:00
Nick Kralevich
7eb28b59c7 FORTIFY_SOURCE: don't define s?printf macros if already defined
Clang specific: Don't #define sprintf and snprintf macros if they
are already defined.

Change-Id: I30fc507d898377e1b8a57a65a147926229e0f9e2
2014-03-18 17:03:38 -07:00
Chad Brubaker
081db840be Allow overlap in resolv uid => DNS iface mapping
When multiple rules exist covering a given uid the one added most
recently will be used.

This allows us to handle the simultaneous tuns case where a new tun is
coming online for an already running VPN.

_resolv_clear_iface_for_uid_range now also takes the iface and removes
only that matching (iface, uid range) entry.

Bug: 12134439
Change-Id: I9b9cfcfae2f38c409022a8c76ccadad7e2babd78
2014-03-15 15:29:01 -07:00
Elliott Hughes
092774abfc am b689105d: am 143df89f: Merge "Clean up reentrancy cruft."
* commit 'b689105d79449bc40ec2c0947f17e188c0da6eef':
  Clean up reentrancy cruft.
2014-03-14 17:52:41 +00:00
Elliott Hughes
48a06ec3f7 am 16b8b0e1: am d16100c1: Merge "Clean up <stdio.h> macros."
* commit '16b8b0e12cfbe0baa242740b6ede2acdee1054f4':
  Clean up <stdio.h> macros.
2014-03-14 13:13:30 +00:00
Elliott Hughes
e130bc103e am 5321a9e7: am 6ece7fc3: Merge "property: fix getting dirty serial value"
* commit '5321a9e7401bc4ca0839884c627376367aee34c8':
  property: fix getting dirty serial value
2014-03-14 10:46:37 +00:00
Elliott Hughes
205c7887ad Clean up reentrancy cruft.
The DNS copy of reentrant.h was unused, so remove it.

The strtod implementation can use the upstream-netbsd reentrant.h and
get a little closer to what was then upstream. (It's since been replaced
by gdtoa, and we'll have to follow at some point, but for now this doesn't
make anything any worse.)

ANDROID_CHANGES is (now) only used in the DNS code, so push the -D
down.

The <locale.h> change prevents an LP32 hack from leaking into LP64.

Change-Id: Idf30b98a59d7ca8f7c6cd6d07020b512057911ef
2014-03-13 16:17:43 -07:00
Elliott Hughes
f2cea021ab Clean up <stdio.h> macros.
Also neuter __isthreaded.

We should come back to try to hide struct FILE's internals for LP64.

Bug: 3453512
Bug: 3453550
Change-Id: I7e115329fb4579246a72fea367b9fc8cb6055d18
2014-03-13 14:54:53 -07:00
Elliott Hughes
2fcf90f1da am 8cd36386: am 01cd7885: Merge "Upgrade to current upstream scanf implementation."
* commit '8cd3638641cbd1540508e72b84189a4bd24d2b22':
  Upgrade to current upstream scanf implementation.
2014-03-13 21:20:15 +00:00
jiaguo
879d330499 property: fix getting dirty serial value
__system_property_serial just returned serial value without
checking if it is dirty, so check and wait until serial
value is not dirty before return

Change-Id: If485b6251b5555b004912c66c7c2cb455a7fdbdc
Signed-off-by: jiaguo <jiaguo@marvell.com>
2014-03-13 12:42:52 -07:00
Elliott Hughes
603332fc4c Upgrade to current upstream scanf implementation.
Also add a basic test.

Change-Id: Icc0e68a5716b9579244f6eb8bac1ab5a24eda85a
2014-03-12 17:10:41 -07:00
Elliott Hughes
14efe23765 am f3d83fa9: am 0e79338d: Merge "Ensure we always have symbols for atof, strtof, strtold."
* commit 'f3d83fa955cf4848b48850431c6a094662f53a69':
  Ensure we always have symbols for atof, strtof, strtold.
2014-03-12 23:44:29 +00:00
Elliott Hughes
5a8173860d Ensure we always have symbols for atof, strtof, strtold.
We'll need a better implementation of strtold for LP64, but all our
long double functions are currently broken for LP64 anyway so this
isn't a regression.

Change-Id: I2bdebac11245d31521d5fa09a16331c03dc4339c
2014-03-12 16:12:57 -07:00
Mark Salyzyn
ff52f9f054 am 5b675903: am 56e1eebd: Merge "logd: default user space logger"
* commit '5b6759035b2f99f37cbdbf9de5c2e098f6ba3f76':
  logd: default user space logger
2014-03-12 23:04:41 +00:00
Elliott Hughes
801a7a60cc am b51e4216: am 2282e16d: Merge "Use [u]int32_t instead of __[u]int32_t in sys/types.h"
* commit 'b51e4216e81c02b67218bbe417db8293836c6121':
  Use [u]int32_t instead of __[u]int32_t in sys/types.h
2014-03-12 22:58:05 +00:00
Mark Salyzyn
56e1eebd39 Merge "logd: default user space logger" 2014-03-12 21:02:46 +00:00
Elliott Hughes
2282e16d76 Merge "Use [u]int32_t instead of __[u]int32_t in sys/types.h" 2014-03-12 20:48:39 +00:00
Pavel Chupin
2725ca95b2 Use [u]int32_t instead of __[u]int32_t in sys/types.h
Avoid this error in -ffreestanding mode:
sys/types.h:45:1: error: unknown type name '__uint32_t'

Change-Id: I826b36873862d1d70b47401f31f4369a77666b8e
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-03-13 00:23:43 +04:00
Mark Salyzyn
c1005aaf8e logd: default user space logger
Change-Id: Id205b01537940051c72d79def28a3c1a8b169a21
2014-03-12 13:17:38 -07:00
Elliott Hughes
3b4fbccfaf am 2e1f5f09: am ef43a6fb: Merge "Clean up our termios implementation."
* commit '2e1f5f09d91f145d99c2a26f99bf58c5f3c5e14a':
  Clean up our termios implementation.
2014-03-12 20:11:06 +00:00
Elliott Hughes
4ef945379f am 32378d58: am 76b4f1a3: Merge "More stdio cleanup."
* commit '32378d584feb3343c6a4d93b82b9e0ac8e514238':
  More stdio cleanup.
2014-03-12 19:56:47 +00:00
Elliott Hughes
7517235f9d am 10675a79: am 55f9710a: Merge "Reimplement clock(3) and switch to OpenBSD time(3)."
* commit '10675a794d02497f530f9086b6edf61b5cdb447c':
  Reimplement clock(3) and switch to OpenBSD time(3).
2014-03-12 19:56:47 +00:00
Elliott Hughes
8d4b5849f2 Clean up our termios implementation.
It's safe to fix our constant definitions because we know we never
had symbols before, so can't be passing the bad old constants to the new
functions, or the correct new constants to the old inlines.

Change-Id: I858fc680df39bdd3ba471e867833bdfa71f6224e
2014-03-11 19:13:25 -07:00
Elliott Hughes
ad41e9a4eb More stdio cleanup.
Change-Id: Idc909cd3dc7b072f1edd2ae4980932d6550e8568
2014-03-11 15:05:50 -07:00
Elliott Hughes
cccfe1e17c Reimplement clock(3) and switch to OpenBSD time(3).
The new implementation is a better approximation to the processor time used
by the process because it's actually based on resource usage rather than just
elapsed wall clock time.

Change-Id: I9e13b69c1d3048cadf0eb9dec1e3ebc78225596a
2014-03-11 13:37:11 -07:00
Elliott Hughes
9061c82991 am 04583ce9: Upgrade to tzdata2014a.
* commit '04583ce9b94d6f41f4c1e66939c4ca2ee41ff058':
  Upgrade to tzdata2014a.
2014-03-11 17:44:37 +00:00
Calin Juravle
7fb2576c0a am 8905752f: am 5810bcf3: Merge "Sysconfig fixes"
* commit '8905752f86279006a5213a5a0831a72e7fea9249':
  Sysconfig fixes
2014-03-11 11:01:03 +00:00
Calin Juravle
fd99dcb3cc am d920ef36: am 40c31ade: Merge "Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr"
* commit 'd920ef36f6bd372418cb92d9f21ab0b677fcf62e':
  Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr
2014-03-11 11:01:02 +00:00
Calin Juravle
a0ca209ac0 Sysconfig fixes
Remove _POSIX_THREAD_ATTR_STACKADDR and _POSIX_THREAD_ATTR_STACKSIZE
since they don't exists. Return -1 for their corresponding values but
don't set errno.

Bug: 13281069
Change-Id: Ice29b4dfebe2b474212e40ee726d86782a3064b9
2014-03-11 10:44:50 +00:00
Calin Juravle
a4eafa6dbc Removed pthread_attr_getstackaddr/pthread_attr_setstackaddr
Moved existing definitions to ndk_cruft to preserve NDK compatibility.

Bug: 13281069
Change-Id: I6f260de69afa55a6274f0d13145c19ac6517b9d5
2014-03-11 10:44:36 +00:00
Elliott Hughes
b951a4e1fd am 02bd494d: am 2cd3490d: Merge "Take ownership of various simple syscall wrappers."
* commit '02bd494dee4abb6572b8172bf46f6074b04dce17':
  Take ownership of various simple syscall wrappers.
2014-03-11 00:53:16 +00:00
Elliott Hughes
247dc91889 Take ownership of various simple syscall wrappers.
None of these trivial functions is something we're going to get from BSD.

Change-Id: Iee1d1281b73db67da5ec303da7a49748121464bf
2014-03-10 17:17:01 -07:00
Elliott Hughes
79ac8d725b am 2f80b7a8: am a3056591: Merge "Switch to NetBSD utmp.c."
* commit '2f80b7a86af6de438f1e5d84bc53b639dec61f0a':
  Switch to NetBSD utmp.c.
2014-03-10 23:48:59 +00:00
Elliott Hughes
c95a204191 am fbb9e852: am ec674b4d: Merge "Switch to upstream FreeBSD ldexp.c."
* commit 'fbb9e852f0a3e3669a8fb6a38cdaf4b1c1ffd3db':
  Switch to upstream FreeBSD ldexp.c.
2014-03-10 23:42:21 +00:00
Elliott Hughes
11a98b081b am 02e4dada: am 21d9e58d: Merge "Rename the stack protector intermediate library."
* commit '02e4dada534aaebba0e66aa217f92d2c4698e60f':
  Rename the stack protector intermediate library.
2014-03-10 23:42:21 +00:00
Elliott Hughes
213dd5b9ce am ed13b4cf: am 7aef2746: Merge "Switch to OpenBSD wcscoll."
* commit 'ed13b4cf8b0d8f773b6abe62daca8c70b3ad3f50':
  Switch to OpenBSD wcscoll.
2014-03-10 23:34:48 +00:00
Elliott Hughes
19f58efa22 Switch to NetBSD utmp.c.
Change-Id: Ibe94888aa48b5b28fea97fd5719a1ed7a23ddeb3
2014-03-10 16:32:35 -07:00
Elliott Hughes
ec674b4d06 Merge "Switch to upstream FreeBSD ldexp.c." 2014-03-10 23:25:39 +00:00
Elliott Hughes
21d9e58d01 Merge "Rename the stack protector intermediate library." 2014-03-10 23:25:05 +00:00
Elliott Hughes
67563e6080 am acc63574: am 321ecc4e: Merge "Remove non-standard memswap."
* commit 'acc635740cf64262e54fc9f62ea9ab24ac6ae3f3':
  Remove non-standard memswap.
2014-03-10 23:23:25 +00:00
Elliott Hughes
57a883640f Switch to upstream FreeBSD ldexp.c.
(Yes, this should be in libm, but it isn't. For once, this mistake predates
bionic!)

Change-Id: I1340407acbcdc0151dee969a38ba490bdd5e6767
2014-03-10 16:23:09 -07:00
Elliott Hughes
7aef27468e Merge "Switch to OpenBSD wcscoll." 2014-03-10 23:21:08 +00:00
Elliott Hughes
6380b51a8d Rename the stack protector intermediate library.
libbionic_ssp already confused at least one person, and characters
in filenames are cheap, so let's just call this library what it is.

Change-Id: I69ab950bf52fa4d267a6891efb49b5e177efc0c4
2014-03-10 16:15:11 -07:00
Elliott Hughes
c8937eadf4 Switch to OpenBSD wcscoll.
Change-Id: I1050ef728e18124656e76f32b42ac9a4688f252d
2014-03-10 16:11:59 -07:00
Elliott Hughes
152b9de19a Remove non-standard memswap.
Change-Id: I06548dda339987b755ef7139c590ca3e1f9fe0a9
2014-03-10 15:54:40 -07:00
Elliott Hughes
e324d90d70 am 4d212bdb: am 638e7892: Merge "Upgrade to tzdata2014a."
* commit '4d212bdb4f1999225e3be862b1060bd2af2eb0cd':
  Upgrade to tzdata2014a.
2014-03-10 22:35:31 +00:00
Elliott Hughes
04583ce9b9 Upgrade to tzdata2014a.
From the release notes:

  Changes affecting near-future time stamps

    Turkey begins DST on 2014-03-31, not 03-30.  (Thanks to Faruk Pasin
    for the heads-up, and to Tim Parenti for simplifying the update.)

  Changes affecting past time stamps

    Fiji ended DST on 2014-01-19 at 02:00, not the previously-scheduled
    03:00.  (Thanks to Steffen Thorsen.)

    Ukraine switched from Moscow to Eastern European time on 1990-07-01
    (not 1992-01-01), and observed DST during the entire next winter.
    (Thanks to Vladimir in Moscow via Alois Treindl.)

    In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to
    09-03.  (Thanks to Avigdor Finkelstein.)

(cherry picked from commit 159b28eb46)

Bug: 13193205
Change-Id: I3d302039f7e057a97c9d307ce8d32efa056481ed
2014-03-10 15:23:02 -07:00
Elliott Hughes
159b28eb46 Upgrade to tzdata2014a.
From the release notes:

  Changes affecting near-future time stamps

    Turkey begins DST on 2014-03-31, not 03-30.  (Thanks to Faruk Pasin
    for the heads-up, and to Tim Parenti for simplifying the update.)

  Changes affecting past time stamps

    Fiji ended DST on 2014-01-19 at 02:00, not the previously-scheduled
    03:00.  (Thanks to Steffen Thorsen.)

    Ukraine switched from Moscow to Eastern European time on 1990-07-01
    (not 1992-01-01), and observed DST during the entire next winter.
    (Thanks to Vladimir in Moscow via Alois Treindl.)

    In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to
    09-03.  (Thanks to Avigdor Finkelstein.)

Bug: 13193205
Change-Id: Ie2e4fd48491315f3e97befff0c8ea797a766c676
2014-03-10 15:19:05 -07:00
Calin Juravle
f45709b67b am eacfa695: am 55b6ec3f: Merge "Update the NOTICE files"
* commit 'eacfa69553c2ca98af51e4dc636ade89c347e6e9':
  Update the NOTICE files
2014-03-10 11:39:58 +00:00
Calin Juravle
66016dad14 am f535485c: am 0bca08d6: Merge "Update res_debug.c to take into account changes to the nameser.h"
* commit 'f535485cc0fef33faaaa2bc2e2a0bd9d7254e97e':
  Update res_debug.c to take into account changes to the nameser.h
2014-03-10 11:32:02 +00:00
Calin Juravle
c4fbf92ce1 Update the NOTICE files
Change-Id: I751c4eeda813b811faa4ee26c64445896db3d5bd
2014-03-10 11:23:52 +00:00
Calin Juravle
0bca08d69f Merge "Update res_debug.c to take into account changes to the nameser.h" 2014-03-10 11:20:12 +00:00
Elliott Hughes
69ee396704 am 00b522ad: am fd9e20d1: Merge "Fix pthread_detach for already-exited threads."
* commit '00b522ad9e87cb9ae5ad776ded92ac01e79ef31b':
  Fix pthread_detach for already-exited threads.
2014-03-08 11:02:22 +00:00
Elliott Hughes
fb2fbbc269 am 206e2c05: am 333e2ae8: Merge "Add si_timerid to <signal.h>."
* commit '206e2c05f1b08a60b5706c93fbb6e53f456ae67d':
  Add si_timerid to <signal.h>.
2014-03-08 07:28:14 +00:00
Elliott Hughes
d1256ccbb3 am 68126def: am 4d46c940: Merge "Rewrite the POSIX timer functions."
* commit '68126def6e37eae1ddc0b372fcecc3ac8287b97e':
  Rewrite the POSIX timer functions.
2014-03-08 07:28:11 +00:00
Elliott Hughes
04620a3cd7 Fix pthread_detach for already-exited threads.
Change-Id: I2bf7f41234d93b226132a4c51705f4186f4961c3
Reported-by: Paresh Nakhe <pnakhe@codeaurora.org>
2014-03-07 17:59:05 -08:00
Elliott Hughes
333e2ae87d Merge "Add si_timerid to <signal.h>." 2014-03-08 00:52:02 +00:00
Elliott Hughes
4d46c94031 Merge "Rewrite the POSIX timer functions." 2014-03-08 00:50:56 +00:00
Elliott Hughes
4b558f50a4 Rewrite the POSIX timer functions.
This is a much simpler implementation that lets the kernel
do as much as possible.

Co-authored-by: Jörgen Strand <jorgen.strand@sonymobile.com>
Co-authored-by: Snild Dolkow <snild.dolkow@sonymobile.com>
Change-Id: Iad19f155de977667aea09410266d54e63e8a26bf
2014-03-07 16:49:46 -08:00
Elliott Hughes
a0cd9bc339 Add si_timerid to <signal.h>.
The kernel uses the very misleading name "si_tid", but glibc uses the more
intention-revealing "si_timerid". We should let people use that.

(Added because I wanted to improve SI_TIMER siginfo_t dumping in strace.)

Change-Id: Ib626cdd3b57a6afb276a15753a237b4e81ec45e3
2014-03-07 15:41:25 -08:00
Calin Juravle
0ad555a908 Update res_debug.c to take into account changes
to the nameser.h

Bug: 13219633
Change-Id: Id75de2e8933f716ad86ca296a97f5c619fb946a7
2014-03-07 20:03:57 +00:00
Calin Juravle
c3957eea26 am d57eb903: am b145b5ef: Merge "Fix broken pointer overflow check ns_name_unpack()"
* commit 'd57eb903c1ca2f798ab6a9ab0f9c84678b0f3025':
  Fix broken pointer overflow check ns_name_unpack()
2014-03-07 19:29:51 +00:00
Calin Juravle
a7c42b1268 am 542e6c87: am d9ba757e: Merge "Sync up nameser with upstream(2014.03.05)"
* commit '542e6c87e52f7886e5ede72e3222c2d6ed83aefb':
  Sync up nameser with upstream(2014.03.05)
2014-03-07 19:29:50 +00:00
Calin Juravle
b145b5ef7c Merge "Fix broken pointer overflow check ns_name_unpack()" 2014-03-07 11:46:48 +00:00
Calin Juravle
d9ba757ef4 Merge "Sync up nameser with upstream(2014.03.05)" 2014-03-07 11:45:58 +00:00
Elliott Hughes
e4014d8882 am 37486940: am d40eb159: Merge "Fix some pthread symbols build as C++ symbol under x64 lunch."
* commit '3748694064366694b2136ac8943332d5ceec7bf4':
  Fix some pthread symbols build as C++ symbol under x64 lunch.
2014-03-07 11:00:32 +00:00
Elliott Hughes
39febf4a95 am e992f79a: am 087dbc6b: Merge "Bring the generate-NOTICE script up to date."
* commit 'e992f79a5627e9d839a001f8563b637d2e97bb93':
  Bring the generate-NOTICE script up to date.
2014-03-07 03:09:45 +00:00
Elliott Hughes
18a32d4ac0 am 372196e9: am dec5bacf: Merge "Update the NOTICE files."
* commit '372196e955047551d6241de7b83ae43bdb5a8b5c':
  Update the NOTICE files.
2014-03-07 03:09:44 +00:00
Elliott Hughes
7157b81966 am 91a5272e: am e7ea9363: Merge "Add ARMv8 optimized string handling functions based on cortex-strings"
* commit '91a5272e6f7712e5313b85c6a615f6891e7ea0a7':
  Add ARMv8 optimized string handling functions based on cortex-strings
2014-03-07 03:09:44 +00:00
Elliott Hughes
d40eb1594d Merge "Fix some pthread symbols build as C++ symbol under x64 lunch." 2014-03-07 01:03:25 +00:00
Elliott Hughes
22a0d6fcdc Bring the generate-NOTICE script up to date.
Change-Id: I63981a2f3cb0a4d7ee7e1a2b4ce00f77898ac25b
2014-03-06 15:10:22 -08:00
Elliott Hughes
4e54b114f9 Update the NOTICE files.
Change-Id: Ie72a01cddd5b813393656f603689e497b0f88ddd
2014-03-06 15:06:11 -08:00
Elliott Hughes
e7ea9363cb Merge "Add ARMv8 optimized string handling functions based on cortex-strings" 2014-03-06 23:02:11 +00:00
Bernhard Rosenkraenzer
7e4fa56099 Add ARMv8 optimized string handling functions based on cortex-strings
This adds ARMv8 optimized string handling functions to Bionic.
The implementations live in a generic/ directory because there will
likely be more CPU specific versions (e.g. Cortex-A53 vs. Cortex-A57)
later.

These implementations are 50%+ faster on current v8 models.

Change-Id: If3adc54a284d9519459b0d4d4390f0cd6ded8786
Signed-off-by: Bernhard Rosenkraenzer <Bernhard.Rosenkranzer@linaro.org>
2014-03-06 14:59:51 -08:00
Calin Juravle
85c5202a64 Fix broken pointer overflow check ns_name_unpack()
Many compilers may optimize away the overflow check `msg + l < msg',
where `msg' is a pointer and `l' is an integer, because pointer
overflow is undefined behavior in C.

Use a safe precondition test `l >= eom - msg' instead.
Bug: 13219633

Change-Id: I3fca2125834073cc36d7e9c4e586e97842265a59
2014-03-06 18:39:29 +00:00
Calin Juravle
fcb502e3ec Sync up nameser with upstream(2014.03.05)
Bug: 13219633

Change-Id: I8ee4ddf270710e9eea415fa3db984af7719a8dd4
2014-03-06 18:36:43 +00:00
Mark Salyzyn
bbcd3c686e am a6bd876e: am 68a651e7: Merge "libc: libc_logging 64bit compile issue"
* commit 'a6bd876e3dffedb2227dde034328987ebb79223b':
  libc: libc_logging 64bit compile issue
2014-03-06 02:50:44 +00:00
Mark Salyzyn
9fc76027f3 libc: libc_logging 64bit compile issue
- user space logger wire format for time

Change-Id: I4840653e3a6ae151a02584311d1227d2fe536d0f
2014-03-05 16:59:39 -08:00
Robert Greenwalt
abf91850f9 Merge "Fix dns searchdomain use in gethostbyname." into klp-dev 2014-03-05 18:26:27 +00:00
Narayan Kamath
ffce5ede0b am 4e53c59d: am 48d145c1: Merge "Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC."
* commit '4e53c59db205bcb991000bf540241eb5d3b99bef':
  Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC.
2014-03-05 13:31:12 +00:00
Narayan Kamath
252ee1e112 Stop defining HAVE_PTHREAD_COND_TIMEDWAIT_MONOTONIC.
No code is using this definition.

Change-Id: I188db63f38d62baf1cb57d0a36fcda540ad98492
2014-03-05 13:19:10 +00:00
Halton Huo
f0870c3bfe Fix some pthread symbols build as C++ symbol under x64 lunch.
Functions protected with !defined(__LP64__) will be get build as C++
symbols for X64 build. This is not the desired work. So protect the
implementation with !defined(__LP64__) as well.

Change-Id: I4ef50ec36e46289ab308063e24f6c5ac61a6ca8d
2014-03-05 16:34:20 +08:00
Elliott Hughes
636bcf0f69 am 614f7626: am bef50164: Merge "Remove dead NULL checks from pthread code."
* commit '614f7626fc5dcf5c0cff2c49799f2659524d3ad3':
  Remove dead NULL checks from pthread code.
2014-03-04 19:16:08 +00:00
Elliott Hughes
39b644a0e2 Remove dead NULL checks from pthread code.
GCC is removing these checks anyway because it knows the arguments
must be non-null, so leaving this code around is just confusing.

We know from experience that people were shipping code with locking
bugs because they weren't checking for error returns. Failing hard
like glibc does seems the better choice. (And it's what the checked
in code was already doing; this patch doesn't change that. It just
makes it more obvious that that's what's going on.)

Change-Id: I167c6d7c0a296822baf0cb9b43b97821eba7ab35
2014-03-04 10:55:39 -08:00
Elliott Hughes
43b9169ffb am 17ef5653: am a0bf9bde: Merge "Implement POSIX pthread_mutex_timedlock."
* commit '17ef5653dd8aa92176e90964c95a02ccf4809695':
  Implement POSIX pthread_mutex_timedlock.
2014-03-04 18:50:35 +00:00
Elliott Hughes
0e714a5b41 Implement POSIX pthread_mutex_timedlock.
This replaces the non-standard pthread_mutex_lock_timeout_np, which we have
to keep around on LP32 for binary compatibility.

Change-Id: I098dc7cd38369f0c1bec1fac35687fbd27392e00
2014-03-04 10:27:58 -08:00
Calin Juravle
631d309268 am 0c8d3b35: am 8e541b12: Merge "Moved nameser.h and namser_compat.h to public include dir"
* commit '0c8d3b35c6eb07384b0176ab3d1d462bad996e06':
  Moved nameser.h and namser_compat.h to public include dir
2014-03-04 18:04:44 +00:00
Calin Juravle
3f6229cf32 am cc0948d8: am 4a46a689: Merge "Moved private dns header to their own dir."
* commit 'cc0948d86a50a1b2441552cd0f357ca040855928':
  Moved private dns header to their own dir.
2014-03-04 17:55:59 +00:00
Calin Juravle
ff4dfd26a8 am 8121d264: am 9f2d1bcd: Merge "Renamed the misleading libc/netbsd directory to libc/dns."
* commit '8121d264bc58c6d97edae23981d2646b05fcdf83':
  Renamed the misleading libc/netbsd directory to libc/dns.
2014-03-04 17:55:58 +00:00
Narayan Kamath
b863c9574e am 3f985d31: am caaae7f2: Merge "Implement pthread_condattr_{get,set}clock."
* commit '3f985d31b6fc3fd61f76b71aa05c3c69d853452a':
  Implement pthread_condattr_{get,set}clock.
2014-03-04 16:05:46 +00:00
Calin Juravle
569fb9887d Moved nameser.h and namser_compat.h to public include dir
This is part of the upstream sync (Net/Open/Free BSDs expose the
nameser.h in their public headers).

Change-Id: Ib063d4e50586748cc70201a8296cd90d2e48bbcf
2014-03-04 15:07:07 +00:00
Calin Juravle
4a46a68942 Merge "Moved private dns header to their own dir." 2014-03-04 14:25:51 +00:00
Calin Juravle
9f2d1bcd17 Merge "Renamed the misleading libc/netbsd directory to libc/dns." 2014-03-04 14:25:30 +00:00
Narayan Kamath
51e6cb33e3 Implement pthread_condattr_{get,set}clock.
We only support CLOCK_REALTIME and CLOCK_MONOTONIC for now,
so we us a single bit from pthread_cond_t->value to denote
the clock type. Note that this reduces the width of the counter
to 30 bits, but this should be large enough for all practical
purposes.

bug: 13232338

Change-Id: I857e7da64b3ecbb23eeac7c9f3fbd460f60231bd
2014-03-04 11:17:13 +00:00
Elliott Hughes
010d090241 am fea778b3: am 2c7c79e6: Merge "Switch to upstream alarm(3)."
* commit 'fea778b308be2dd0d75bd757129c3ef62ace3a61':
  Switch to upstream alarm(3).
2014-03-04 01:11:01 +00:00
Elliott Hughes
2c7c79e6e5 Merge "Switch to upstream alarm(3)." 2014-03-04 00:58:53 +00:00
Elliott Hughes
aedb00d04e Switch to upstream alarm(3).
The only way the setitimer call can fail is if the unsigned number of seconds is
too large to fit in the kernel's signed number of seconds. If you schedule a
68-year alarm, glibc will fail by returning 0 and BSD will fail by returning -1.

Change-Id: Ic3721b01428f5402d99f31fd7f2ba2cc58805607
2014-03-04 00:58:31 +00:00
Mark Salyzyn
4fc7758e6f am 337815ff: am f33df6a6: Merge "libc: Make calls to new user-space logger (revisit)"
* commit '337815ffa2d4c899bf3c2b9798cb90665b497cea':
  libc: Make calls to new user-space logger (revisit)
2014-03-03 21:18:08 +00:00
Mark Salyzyn
f33df6a662 Merge "libc: Make calls to new user-space logger (revisit)" 2014-03-03 21:05:19 +00:00
Elliott Hughes
1eb606df0a am 46215a8b: am dfeb42ed: Merge "If the kernel doesn\'t have MADV_MERGEABLE, stop asking for it."
* commit '46215a8b53e149de3fc28600c2b2eebe66d36716':
  If the kernel doesn't have MADV_MERGEABLE, stop asking for it.
2014-03-03 20:55:35 +00:00
Elliott Hughes
29264f4eda am f6ce4490: am 15e71cd7: Merge "Remove deprecated and unused constants from <sys/klog.h>."
* commit 'f6ce44900e5b94c18a026ac4ce4d5fd2c51663d4':
  Remove deprecated and unused constants from <sys/klog.h>.
2014-03-03 20:55:35 +00:00
Calin Juravle
cecc036970 Moved private dns header to their own dir.
Bug: 13219633
Change-Id: I3435ef7564b9ad3c7b54188a0809440993b36c9e
2014-03-03 20:40:41 +00:00
Mark Salyzyn
f38292862b libc: Make calls to new user-space logger (revisit)
* TARGET_USES_LOGD is true or false, yes is not valid
* was supposed to be in the libc_bionic definition

Change-Id: I7f15d0fe61205641f7310ba9762df885e6c959d0
2014-03-03 12:30:24 -08:00
Elliott Hughes
9bd9b7dd20 If the kernel doesn't have MADV_MERGEABLE, stop asking for it.
Note that a dynamically-linked binary will still probably see two attempts ---
one by the dynamic linker (which will set its copy of the flag so it won't try
again) and then one by the executable itself (which gets a new uninitialized
copy of the flag).

Change-Id: Id6b7e47780f0f24d2ca0384a75373f4824fa8f12
2014-03-03 11:54:21 -08:00
Elliott Hughes
e4ab19c67d Remove deprecated and unused constants from <sys/klog.h>.
Change-Id: I23d54b5eaf918859480f927534a3f9e3af602311
2014-03-03 10:57:28 -08:00
Elliott Hughes
019cff957e am 3c42b739: am ddad384d: Merge "Fix build."
* commit '3c42b73985817da87c32c2d97a58e5e4f21d48a6':
  Fix build.
2014-03-01 02:12:59 +00:00
Elliott Hughes
a8b1eb3fcf Fix build.
Change-Id: I71cde79263d5f5a8382865b8151f65c5c05ea17b
2014-02-28 17:59:29 -08:00
Elliott Hughes
79370b2aee am 5b9d3ddf: am 2ec592c3: Merge "Add recvmmsg and sendmmsg syscalls."
* commit '5b9d3ddf372ca47e3065845487a770794021c760':
  Add recvmmsg and sendmmsg syscalls.
2014-03-01 01:24:39 +00:00
Elliott Hughes
e63d519946 am 796b7c7c: am ddc8cc7a: Merge "Add getprogname/setprogname for BSD compatibility."
* commit '796b7c7cf9404b59b2120177d2f2b40ecc58c3c8':
  Add getprogname/setprogname for BSD compatibility.
2014-03-01 01:24:38 +00:00
Elliott Hughes
2ec592c338 Merge "Add recvmmsg and sendmmsg syscalls." 2014-03-01 01:14:23 +00:00
Elliott Hughes
692207eb45 Add getprogname/setprogname for BSD compatibility.
This is one less change we have to make when porting BSD code.

Bug: https://code.google.com/p/android/issues/detail?id=34898
Change-Id: If9b1a8d16996c7a19abcce8d3a456afc3e105a41
2014-02-28 16:23:27 -08:00
Calin Juravle
8ddc3328f8 am 11e4513d: am d51db86a: Merge "Fix locatime.c indentation after sync"
* commit '11e4513d328d9ae16ef5aa4b25d886c8bb6049a1':
  Fix locatime.c indentation after sync
2014-02-28 18:13:28 +00:00
Calin Juravle
d51db86aaf Merge "Fix locatime.c indentation after sync" 2014-02-28 18:02:22 +00:00
Calin Juravle
daceb01b7c am 3926e9f4: am 4ab29a3e: Merge "Update tzcode to 2013i"
* commit '3926e9f4039929d745692310a8a458e81ae72a52':
  Update tzcode to 2013i
2014-02-28 17:49:53 +00:00
Calin Juravle
4ab29a3e4a Merge "Update tzcode to 2013i" 2014-02-28 17:40:09 +00:00
Calin Juravle
d892892e8e Fix locatime.c indentation after sync
Bug: 12246757
Change-Id: I8186e75f4899161af48cbf66e8f907dac0a326a2
2014-02-28 17:15:00 +00:00
Elliott Hughes
77ed5f6b15 am 8fa8b75b: am e9db4a97: Merge "Vastly reduce the number of read(2)s done in tzload."
* commit '8fa8b75b54990cdabbfa108b92ace9cf511d45c0':
  Vastly reduce the number of read(2)s done in tzload.
2014-02-28 16:35:04 +00:00
Calin Juravle
bd33537fde Renamed the misleading libc/netbsd directory to libc/dns.
Bug: 13219633
Change-Id: Ide43add0b90b3081cc709a22d1ff1f59d65f1104
2014-02-28 16:31:04 +00:00
Calin Juravle
627d37cd1f Update tzcode to 2013i
Bug: 12246757
Change-Id: I3d5d2318155b1f54ef80afd58b1e5ca9a6d7018e
2014-02-28 14:38:14 +00:00
Elliott Hughes
034663774d am 331dd270: am e3345405: Merge "Fix a leak on error in tzload."
* commit '331dd2708232fb538de60e5aa807bbd4490910f7':
  Fix a leak on error in tzload.
2014-02-28 02:28:44 +00:00
Elliott Hughes
fd3a9fb0c3 Vastly reduce the number of read(2)s done in tzload.
This costs us about 1000 fewer syscalls, which makes "adb shell strace date"
a lot more readable (which is the reason I've been meaning to fix this for a
long time now), but also actually saves a measurable amount of time.

Longer-term we should try to keep the tzdata mmap(2)ed in like libcore
does.

Change-Id: I1dd9c81968a13d3a6a55ba17f8a7d5c1f38cd103
2014-02-27 18:18:25 -08:00
Elliott Hughes
3073f90b17 Fix a leak on error in tzload.
Change-Id: Ib5d9aaa7a618e478ce8e5e82f967cf535bb1a5a3
2014-02-27 17:04:38 -08:00
Guillaume Ranquet
6ff0c75c83 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
2014-02-27 14:29:01 -08:00
Elliott Hughes
a22674050c am 9d40389a: am 000ffd8a: Merge "Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants."
* commit '9d40389ac288a603632de35beed7460ea3300e0c':
  Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants.
2014-02-27 01:04:25 +00:00
Elliott Hughes
000ffd8ab0 Merge "Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants." 2014-02-27 00:52:36 +00:00
Mark Salyzyn
ffc797c3b8 am 663916f7: am 3ba62f73: Merge "libc: Make calls to new user-space logger"
* commit '663916f77747297e36dbc2b0f25192f3fa05ab9f':
  libc: Make calls to new user-space logger
2014-02-27 00:41:33 +00:00
Elliott Hughes
3434727b3e Ensure that <fcntl.h> has the SYNC_FILE_RANGE_* constants.
Needed to build strace at their tip of tree.

Change-Id: I64db00a332088e08e25bc30357293a9308b8a226
2014-02-26 15:51:01 -08:00
Mark Salyzyn
0336e35368 libc: Make calls to new user-space logger
* libc (fatal) logging now makes socket connection to the
  user-space logging service.
* Add a TARGET_USES_LOGD make flag for BoardConfig.mk to manage
  whether logd is enabled for use or not.

Change-Id: I96ab598c76d6eec86f9d0bc81094c1fb3fb0d9b4
2014-02-26 15:33:13 -08:00
Elliott Hughes
3fc5dce69e am ddcba6e8: am 27c7dbee: Merge "Fix log_backtrace assertion failure caused by LP64 fix."
* commit 'ddcba6e8eefb4331b103f60b2d233a2cb114874f':
  Fix log_backtrace assertion failure caused by LP64 fix.
2014-02-25 23:45:51 +00:00
Elliott Hughes
2388fd78c6 am 73efa96c: am 901553aa: Merge "Switch to current OpenBSD system.c."
* commit '73efa96c06b60621dbb7317e3ade47e4a179c909':
  Switch to current OpenBSD system.c.
2014-02-25 23:32:29 +00:00
Elliott Hughes
ba76572789 Fix log_backtrace assertion failure caused by LP64 fix.
When libc.debug.malloc is enabled, stack backtraces fail with:

bionic/libc/bionic/libc_logging.cpp:378: assertion "conversion
    specifier unsupported" failed

The cause was a change to the format specifier from "%08x" to
"%0*x" to pass the field width as an additional parameter.
Unfortunately this modifier isn't supported by out_vformat() in
libc_logging.cpp.

Changed to use "%016x" if __LP64__ is defined; "%08x" otherwise.

Bug: 13177507
Change-Id: Ibf07263acf14da086d3c3788872f4b5477bd5708
2014-02-25 15:32:01 -08:00
Elliott Hughes
4e95b270f3 am 6c793540: am c380385f: Merge "Fix LP64 builds after OpenBSD string changes."
* commit '6c7935408ed92bbc322468f13e19c08c626cd018':
  Fix LP64 builds after OpenBSD string changes.
2014-02-25 23:28:49 +00:00
Elliott Hughes
1e4378ea06 Switch to current OpenBSD system.c.
Change-Id: Ie2df60f0d55dca69149ffe064f10183411407987
2014-02-25 15:19:26 -08:00
Elliott Hughes
b6208836cb Fix LP64 builds after OpenBSD string changes.
Change-Id: I07202f6484e716d153d0387fcfc023e119438251
2014-02-25 15:12:29 -08:00
Elliott Hughes
806f3bd7aa Upgrade to tzdata2013i.
From the release notes:

  Changes affecting near-future time stamps:

    Jordan switches back to standard time at 00:00 on December 20, 2013.
    The 2006-2011 transition schedule is planned to resume in 2014.
    (Thanks to Steffen Thorsen.)

  Changes affecting past time stamps:

    In 2004, Cuba began DST on March 28, not April 4.
    (Thanks to Steffen Thorsen.)

Bug: 13193205
Change-Id: I8f26cc50f6b571804a18ff2113b4a47a22bc56dd
2014-02-25 22:47:29 +00:00
Elliott Hughes
d19de168c8 am 6358fc2d: am 5c7816f4: Merge "More OpenBSD cleanup (primarily string)."
* commit '6358fc2d0b11417ccabd97b36b8e24f1b23fd662':
  More OpenBSD cleanup (primarily string).
2014-02-25 21:54:13 +00:00
Elliott Hughes
5c7816f425 Merge "More OpenBSD cleanup (primarily string)." 2014-02-25 21:41:48 +00:00
Calin Juravle
51c25e1dc5 am 5a600f59: am a92b57c7: Merge "Added ftw64, nftw64"
* commit '5a600f59d7212a670c9fda0edd81b14f044136a0':
  Added ftw64, nftw64
2014-02-25 10:53:51 +00:00
Calin Juravle
15aa4aee8a am dfb02bcd: am 7c1efffc: Merge "Added mkstemp64"
* commit 'dfb02bcdf46ebdf3ac37e2fd26ebc2e81392f28a':
  Added mkstemp64
2014-02-25 10:53:50 +00:00
Calin Juravle
a92b57c7f8 Merge "Added ftw64, nftw64" 2014-02-25 10:44:26 +00:00
Calin Juravle
7c1efffc24 Merge "Added mkstemp64" 2014-02-25 10:43:31 +00:00
Elliott Hughes
53e43292aa More OpenBSD cleanup (primarily string).
This patch removes the string/ and wchar/ directories.

Change-Id: Ia489904bc67047e4bc79acb1f3eec21aa3fe5f0d
2014-02-24 18:02:05 -08:00
Elliott Hughes
80a51a39c3 am 633502c1: am ba40a560: Merge "Remove <asm/page.h>."
* commit '633502c1771dfecb6bbaaa7f9e38ee889bc173ac':
  Remove <asm/page.h>.
2014-02-25 00:14:43 +00:00
Elliott Hughes
0e44bc3bae Remove <asm/page.h>.
If we have PAGE_SIZE/PAGESIZE, POSIX says they should be in <limits.h>.

Change-Id: I3c2d574ea2aea81f524874a156361411a4ffa18e
2014-02-24 15:55:31 -08:00
Calin Juravle
d4934a70e6 Added ftw64, nftw64
Bug: 13076637
Change-Id: I5b926526f935b00bba14c2807b61d85f95089c33
2014-02-24 20:22:11 +00:00
Calin Juravle
fe317a3775 Added mkstemp64
Bug: 13076637
Change-Id: I41bf28ab3e6c7325470781e9323eeec023483df5
2014-02-24 20:19:19 +00:00
Narayan Kamath
70dd5a71d3 am 9b823726: am b26e4944: Merge "Fix 64-bit build."
* commit '9b82372626092139e8ee09d6bdb4da798af38ced':
  Fix 64-bit build.
2014-02-24 14:32:18 +00:00
Narayan Kamath
bdfc6af405 am e425856b: am c6d96bb8: Merge "Move system_properties over to C++."
* commit 'e425856b1a943c32acf0bede50555d500eaf00ca':
  Move system_properties over to C++.
2014-02-24 14:32:17 +00:00
Narayan Kamath
37e9570bce Fix 64-bit build.
A warning about signed vs unsigned comparison was converted
into an error here :

 ...
 struct stat st;
 if (st.st_size > sizeof(prop_area) {
 ...

st_size is either an off64_t, which is a signed type. It's
worth investigating why this didn't trigger a warning on 32 bit,
where it's signed as well.

Change-Id: Ib2622bd5c444ddcfa7fb2141f00332cbb4a0818b
2014-02-24 11:05:02 +00:00
Narayan Kamath
c9ae21a5c3 Move system_properties over to C++.
This change constitutes the minimum amount of
work required to move the code over to C++, address
compiler warnings, and to make it const correct and
idiomatic (within the constraints of being called
from C code).

bug: 13058886

Change-Id: Ic78cf91b7c8e8f07b4ab0781333a9e243763298c
2014-02-24 10:45:35 +00:00
Elliott Hughes
a842eb7c95 am 7b9e7a70: am 9150dfb1: Merge "Clean up our OpenBSD usage."
* commit '7b9e7a709365c490d5ff73e6a74dfa32ffd8be25':
  Clean up our OpenBSD usage.
2014-02-22 00:58:44 +00:00
Elliott Hughes
9150dfb1c6 Merge "Clean up our OpenBSD usage." 2014-02-21 23:46:52 +00:00
Elliott Hughes
0133944b09 Clean up our OpenBSD usage.
Also undo some of the mess where we have OpenBSD <stdio.h> but a mix of
different BSD's implementations.

In this first pass, I've only moved easy OpenBSD stuff.

Change-Id: Iae67b02cde6dba9d8d06fedeb53efbfdac0a8cf6
2014-02-21 14:30:18 -08:00
Calin Juravle
79733ca2e7 am 587399d2: am 90b01576: Merge "Fixed int fast types for LP64"
* commit '587399d23a3dced6202e4b4abfa52b5b9621f134':
  Fixed int fast types for LP64
2014-02-21 17:32:17 +00:00
Calin Juravle
90b0157679 Merge "Fixed int fast types for LP64" 2014-02-21 17:09:13 +00:00
Calin Juravle
da030de702 Fixed int fast types for LP64
Bug: 13110474
Change-Id: Id5591603ad4ba7e149c0852f4abb25e4e5a5d065
2014-02-21 16:27:21 +00:00
Elliott Hughes
a12d556d42 am 31425c9f: am e65055af: Merge "Stop asking GCC to cause trouble."
* commit '31425c9fce2d48699322b6eb3284b06d1f706336':
  Stop asking GCC to cause trouble.
2014-02-21 13:54:02 +00:00
Elliott Hughes
2244cd0155 am 1df76ccc: am 26172fa4: Merge "Move the upstream-netbsd libc files into the correct directory."
* commit '1df76ccc6022ad57c6cc8f4322be14b9c104192e':
  Move the upstream-netbsd libc files into the correct directory.
2014-02-21 04:19:46 +00:00
Elliott Hughes
77bd275640 am 5052dcd4: am 8d0fe1c4: Merge "Remove two DNS files that weren\'t being built."
* commit '5052dcd48897641e40256c8665441bde68a230da':
  Remove two DNS files that weren't being built.
2014-02-21 04:19:29 +00:00
Elliott Hughes
dfc86ed244 am 45352a06: am cb43f847: Merge "Unify our assembler macros."
* commit '45352a065cb66885a7d3e648664dbb2d16e7e529':
  Unify our assembler macros.
2014-02-21 04:19:21 +00:00
Elliott Hughes
578fa4e561 am 97dcfc06: am 22c6b7ff: Merge "Fix mips64 crt build."
* commit '97dcfc06e7502b53fc7f76ab6c88a6d030aceafa':
  Fix mips64 crt build.
2014-02-20 23:15:32 +00:00
Elliott Hughes
756f60da1d am 632e2422: am 6a686556: Merge "Remove useless _C_LABEL from our assembler source."
* commit '632e242207f337fb8d4e1ec80994a4eadb2ccfb8':
  Remove useless _C_LABEL from our assembler source.
2014-02-20 23:15:31 +00:00
Elliott Hughes
4708421b40 am f5fd87f4: am bfa2b6fc: Merge "Stop advertising an arm32-specific hack like it\'s a build system feature."
* commit 'f5fd87f4f993dee1ca728aac31bb927b34b6cb88':
  Stop advertising an arm32-specific hack like it's a build system feature.
2014-02-20 23:15:30 +00:00
Dmitriy Ivanov
ebf85ec7a7 am ac804934: am 54d49ac7: Merge "Added script generating additions to libgcc_compat.c from linker errors"
* commit 'ac8049349f056f87137ff9749877cb6f83fc3f10':
  Added script generating additions to libgcc_compat.c from linker errors
2014-02-20 23:15:29 +00:00
Elliott Hughes
21f6705147 am 8a498e4a: am ca566b31: Merge "Don\'t explicitly list the tzcode files."
* commit '8a498e4ab223466d6dc7c31dda025e7755b7a05c':
  Don't explicitly list the tzcode files.
2014-02-20 23:15:26 +00:00
Elliott Hughes
b8dc9bbd90 Stop asking GCC to cause trouble.
Why do we see so many bogus strict-aliasing warnings? Because we asked GCC to
cause trouble on arm and mips.

Change-Id: I25d7fd036b6afff7ccfa799abe0dc1579ead2847
2014-02-20 14:35:20 -08:00
Elliott Hughes
677b6e605b Move the upstream-netbsd libc files into the correct directory.
I screwed up when I originally imported these files; they're in lib/libc/
in the upstream tree; there is no top-level libc/ (though there is a top-level
common/, so those files stay where they are).

Change-Id: I7c5e2224a4441ab0e33616a855a8c6aacfeac46f
2014-02-20 14:16:58 -08:00
Elliott Hughes
8d0fe1c49e Merge "Remove two DNS files that weren't being built." 2014-02-20 22:14:35 +00:00
Elliott Hughes
d28b277952 Remove two DNS files that weren't being built.
And switch the makefile to just building everything in the relevant directory.

Change-Id: Ia7785c4dcabb51639c2230026f8a8a9eff919a36
2014-02-20 13:59:20 -08:00
Elliott Hughes
851e68a240 Unify our assembler macros.
Our <machine/asm.h> files were modified from upstream, to the extent
that no architecture was actually using the upstream ENTRY or END macros,
assuming that architecture even had such a macro upstream. This patch moves
everyone to the same macros, with just a few tweaks remaining in the
<machine/asm.h> files, which no one should now use directly.

I've removed most of the unused cruft from the <machine/asm.h> files, though
there's still rather a lot in the mips/mips64 ones.

Bug: 12229603
Change-Id: I2fff287dc571ac1087abe9070362fb9420d85d6d
2014-02-20 13:51:26 -08:00
Elliott Hughes
08cf84db4e am f0e9d652: am 75f04d10: Merge "Remove the useless _C_LABEL from generated system calls."
* commit 'f0e9d652fa30c381295589f839a8f5f248a949f0':
  Remove the useless _C_LABEL from generated system calls.
2014-02-20 21:27:52 +00:00
Elliott Hughes
c345caae9a Fix mips64 crt build.
This was broken during the multi-arch makefile changes.

Change-Id: Id25cf3273f63c11fbca1cff944fc5e1bf765c636
2014-02-20 11:57:25 -08:00
Elliott Hughes
09289d92f9 Remove useless _C_LABEL from our assembler source.
Change-Id: I41a9181537c70ecc69ef8035132c9a83811a40d0
2014-02-20 11:51:11 -08:00
Elliott Hughes
bfa2b6fc6a Merge "Stop advertising an arm32-specific hack like it's a build system feature." 2014-02-20 19:41:15 +00:00
Dmitriy Ivanov
54d49ac75b Merge "Added script generating additions to libgcc_compat.c from linker errors" 2014-02-20 19:40:08 +00:00
Elliott Hughes
6e39ba73bf Stop advertising an arm32-specific hack like it's a build system feature.
Change-Id: I3a830b4a3516b6eb8e4f8e6e6b122a22a2e341df
2014-02-20 11:36:55 -08:00
Dmitriy Ivanov
adab51aefd Added script generating additions to libgcc_compat.c from linker errors
bug: 12234455
Change-Id: Icac35237f06e75745da5a91d9c4c941d7df4f84d
2014-02-20 11:34:08 -08:00
Elliott Hughes
1fbe6213cd Don't explicitly list the tzcode files.
Change-Id: I3ac19899523ac1f5fd2fdd6c942aefce75a964a4
2014-02-20 11:28:20 -08:00
Elliott Hughes
2bed56599f am bde420bb: am b69c0b53: Merge "Make mips/mips64 syscall stubs more like the other architectures."
* commit 'bde420bb86bbb0f4223a117cd3aaca00e7906501':
  Make mips/mips64 syscall stubs more like the other architectures.
2014-02-20 14:01:19 +00:00
Elliott Hughes
d465eb4e76 Remove the useless _C_LABEL from generated system calls.
Change-Id: Id1d2fd39972652831ea825f6f9cf940b08f42b5c
2014-02-19 18:59:19 -08:00
Elliott Hughes
9abbbdc534 Make mips/mips64 syscall stubs more like the other architectures.
Change-Id: I55f8c1a95f643a6e484f12fbcc25e2c77e55b6b8
2014-02-19 14:54:31 -08:00
Elliott Hughes
dae87c0c74 am ace8dfab: am e6c451f5: Merge "Make mips generated assembler more like the mips64 stuff."
* commit 'ace8dfab1fe07890440e8acf4a1e2c0cf0d0489d':
  Make mips generated assembler more like the mips64 stuff.
2014-02-19 20:42:33 +00:00
Elliott Hughes
eae27dc55a Make mips generated assembler more like the mips64 stuff.
I broke the mips build yesterday because it doesn't use
<private/bionic_asm.h> like the other architectures, including mips64.
I want to move mips closer to mips64 to try to avoid this kind of thing
in future.

Change-Id: Idb985587ff355b9e5e765c1f5671dc0144cd2488
2014-02-19 12:20:00 -08:00
Elliott Hughes
b3183def04 am 112e3a9a: am 44ef37c1: Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat."
* commit '112e3a9a8c4c89b1cce366bc0c7a7f15fae862c2':
  Use uid_t and gid_t for st_uid and st_gid in struct stat.
2014-02-19 01:02:24 +00:00
Elliott Hughes
8a6ad03d0c am f7e642b9: am 24ef4779: Merge "Fix build by avoiding the _C_LABEL macro."
* commit 'f7e642b9ff2c0c70d9a800d0873880a58a33e424':
  Fix build by avoiding the _C_LABEL macro.
2014-02-19 00:58:59 +00:00
Elliott Hughes
44ef37c1b4 Merge "Use uid_t and gid_t for st_uid and st_gid in struct stat." 2014-02-19 00:51:31 +00:00
Elliott Hughes
6b5559315d Use uid_t and gid_t for st_uid and st_gid in struct stat.
Change-Id: Ide62dc714d76d881e3aa79e7a59ee6533a23dd00
2014-02-18 16:43:31 -08:00
Elliott Hughes
986f906710 Fix build by avoiding the _C_LABEL macro.
Change-Id: Ide367c2b65071388bd95fbc81a4ed6ae94aec4e4
2014-02-18 16:42:36 -08:00
Elliott Hughes
781236e321 am a676a54e: am b3602078: Merge "Implement some of the missing LFS64 support."
* commit 'a676a54e5dbb1ddda0c0045d990a920558671233':
  Implement some of the missing LFS64 support.
2014-02-18 23:54:43 +00:00
Elliott Hughes
db1ea34748 Implement some of the missing LFS64 support.
This gives us:

* <dirent.h>
  struct dirent64
  readdir64, readdir64_r, alphasort64, scandir64

* <fcntl.h>
  creat64, openat64, open64.

* <sys/stat.h>
  struct stat64
  fstat64, fstatat64, lstat64, stat64.

* <sys/statvfs.h>
  struct statvfs64
  statvfs64, fstatvfs64.

* <sys/vfs.h>
  struct statfs64
  statfs64, fstatfs64.

This also removes some of the incorrect #define hacks we've had in the
past (for stat64, for example, which we promised to clean up way back
in bug 8472078).

Bug: 11865851
Bug: 8472078
Change-Id: Ia46443521918519f2dfa64d4621027dfd13ac566
2014-02-18 15:39:24 -08:00
Elliott Hughes
a1ac8a60da am d49247be: am ffe02668: Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value"
* commit 'd49247be279b337fdd72c15421dcaf318489d284':
  bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
2014-02-18 20:42:57 +00:00
Elliott Hughes
ffe026680e Merge "bionic: fix __set_errno for arm64 syscalls that return a 64-bit value" 2014-02-18 20:31:01 +00:00
Elliott Hughes
b8662c63b4 am d4c049e0: am cd6748cd: Merge "Clean up various warnings in bionic."
* commit 'd4c049e0234b0447b4da4369f2e2e509fe3ac549':
  Clean up various warnings in bionic.
2014-02-18 20:18:17 +00:00
Colin Cross
3d19a8319b bionic: fix __set_errno for arm64 syscalls that return a 64-bit value
bionic/libc/arch-arm64/syscalls/read.S ends with:
    b.hi __set_errno
    ret
END(read)

If __set_errno returns int, it will set w0 to 0xFFFFFFFF, which means
x0 is 0x00000000FFFFFFFF.  When interpreted as a ssize_t that is
INT_MAX, not -1.

Change __set_errno to return long, which will cause x0 to be set instead
of w0.

Change-Id: I9f9ea0f2995928d2ea240eb2ff7758ecdf0ff412
2014-02-18 12:11:38 -08:00
Elliott Hughes
a38cb08861 Clean up various warnings in bionic.
Change-Id: Ic57541d0a567fd4ae79f0ad59b2ffde1130eb7d2
2014-02-18 12:04:54 -08:00
Elliott Hughes
1135bf27eb am 447d5655: am d4bc9ef8: Merge "Remove duplicate definitions of MIN and MAX."
* commit '447d5655498f1dc2a20269e252fd0442d78b4ff2':
  Remove duplicate definitions of MIN and MAX.
2014-02-17 19:10:32 +00:00
Elliott Hughes
cfbfe7059c Remove duplicate definitions of MIN and MAX.
These were needed when bionic's header files were missing these macros (though
it would have made a lot more sense to just fix the header files!) but cause
warnings now.

Change-Id: I65a677122f4f6bd07dffc3f37a0c4c0e823d1bb0
2014-02-17 10:57:56 -08:00
Elliott Hughes
db01286237 am 57f42f77: am fadc8a77: Merge "Restore sys_signame for LP64."
* commit '57f42f773dac7cbe374ec8449b1b57599367a878':
  Restore sys_signame for LP64.
2014-02-13 11:27:26 +00:00
Elliott Hughes
796d2b1971 am f2e3964d: am 7b3876e2: Merge "Clean up sys_signame and sys_siglist a little."
* commit 'f2e3964d4e060d1b76be34bdc7847fad5c11ca63':
  Clean up sys_signame and sys_siglist a little.
2014-02-13 11:27:18 +00:00
Ying Wang
bf543d12de am 00956d03: am 9e572ca4: Merge "Fix missing args."
* commit '00956d039fb4ceafe92d5ffade51725b95da38d4':
  Fix missing args.
2014-02-13 11:27:18 +00:00
Elliott Hughes
671e236d5f Restore sys_signame for LP64.
mksh is using this, and we probably build as much BSD source as glibc source.

Change-Id: I400d255a67f9614ca9e57090e3a2e49d2b10cba4
2014-02-12 19:04:27 -08:00
Ying Wang
717cd12134 am c25552bb: am c4c50b25: Merge "Reconfig libc\'s Android.mk to build for multilib"
* commit 'c25552bb13e664bfd4574d77cbcaad459b52a47f':
  Reconfig libc's Android.mk to build for multilib
2014-02-13 01:11:36 +00:00
Elliott Hughes
aa0ebdafc7 Clean up sys_signame and sys_siglist a little.
We don't need quite so much duplication because we already have a way
to get the signal number from its name, and that already copes with the
fact that the mips/mips64 numbers are different from everyone else's.

Also remove sys_signame from LP64. glibc doesn't have this BSD-ism.

Change-Id: I6dc411a3d73589383c85d3b07d9d648311492a10
2014-02-12 17:09:25 -08:00
Ying Wang
76c8b88269 Fix missing args.
Change-Id: I89a366db984ea6b2553896a4351e59bb91f93040
2014-02-12 16:40:55 -08:00
Ying Wang
c4c50b25f8 Merge "Reconfig libc's Android.mk to build for multilib" 2014-02-12 23:53:08 +00:00
Elliott Hughes
dc6cd351b9 am f1f19464: am 819c132e: Merge "Fix NSIG."
* commit 'f1f19464c52e663ade6c18833eaa30bfcd5194de':
  Fix NSIG.
2014-02-12 23:01:26 +00:00
Elliott Hughes
23c7bdbbdd am b5bf7a72: am 577fce01: Merge "[MIPS64] Dynamic linker"
* commit 'b5bf7a725f5b63b0239fd5d92087d2f4c9dbee25':
  [MIPS64] Dynamic linker
2014-02-12 23:01:25 +00:00
Elliott Hughes
b7dfb8ab04 am d26184c0: am c856baee: Merge "Build syscall stubs in their own library."
* commit 'd26184c0385105ada22a9c060858a10e7b8f53e5':
  Build syscall stubs in their own library.
2014-02-12 23:01:24 +00:00
Ying Wang
f25d677147 Reconfig libc's Android.mk to build for multilib
1. Moved arch-specific setup to their own files:
    - <arch>/<arch>.mk, arch-specific configs. Variables in those config
      end with the arch name.
    - removed the extra complexity introduced by function libc-add-cpu-variant-src,
      which seems to be not very useful these days.
2. Separated out the crt object files generation rules and set up the
   rules for both TARGET_ARCH and TARGET_2ND_ARCH.
3. Build all the libraries for both TARGET_ARCH and TARGET_2ND_ARCH,
  with the arch-specific LOCAL_ variables.

Bug: 11654773
Change-Id: I9c2d85db0affa49199d182236d2210060a321421
2014-02-12 13:58:34 -08:00
Elliott Hughes
199346a2ab Fix NSIG.
Our sigset_t definition hasn't been tied to our NSIG definition since we
switched to uapi headers, so we can now fix it without breaking the LP32 ABI.
The kernel uapi headers define and use _NSIG, so we need to have our scripts
rename the kernel's definitions out of the way, then we can define _NSIG
and NSIG in terms of the kernel's off-by-one value.

Bug: 12938442
Change-Id: Ic7c86fd5be5ad1d822f7b2b1d88c8a0d70a1ac0f
2014-02-11 22:16:04 -08:00
Chris Dearman
9918665a45 [MIPS64] Dynamic linker
Change-Id: I937c7c776cae3d66e214798d5217a922cd106bfc
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-11 15:33:14 -08:00
Elliott Hughes
b3a23bd017 Build syscall stubs in their own library.
This lets us lose the auto-generated makefiles.

Change-Id: I2de0c71b3b9c08f9cce8f4ff7fd7254dda008c86
2014-02-11 13:52:02 -08:00
Elliott Hughes
79ea3e3c74 am f7aa55d6: am a206dde5: Merge "Clean up cacheflush."
* commit 'f7aa55d684ecceab531856917745a52dc2eb05e1':
  Clean up cacheflush.
2014-02-11 18:38:43 +00:00
Elliott Hughes
a6ecba4d23 Clean up cacheflush.
No cacheflush for LP64; use the GCC builtin instead. Clean up the
32-bit MIPS implementation now we no longer need to worry about
old versions of GCC.

Bug: 12924756
Change-Id: Ie23955b3ec194e226c4b2bce35b11d5e061f4753
2014-02-11 10:24:40 -08:00
Elliott Hughes
7949942e5e am 5f0374ab: am 71e4466b: Merge "Switch <elf.h> over to linux uapi under the covers."
* commit '5f0374ab4ff198c658b3902ebf4cc8f818efc5fc':
  Switch <elf.h> over to linux uapi under the covers.
2014-02-11 02:40:00 +00:00
Elliott Hughes
0266ae5f88 Switch <elf.h> over to linux uapi under the covers.
Remove the linker's reliance on BSD cruft and use the glibc-style
ElfW macro. (Other code too, but the linker contains the majority
of the code that needs to work for Elf32 and Elf64.)

All platforms need dl_iterate_phdr_static, so it doesn't make sense
to have that part of the per-architecture configuration.

Bug: 12476126
Change-Id: I1d7f918f1303a392794a6cd8b3512ff56bd6e487
2014-02-10 18:22:24 -08:00
Elliott Hughes
7fcdeb9570 am 6b0da947: am eeb9a9f5: Merge "Fix <link.h>."
* commit '6b0da947e9bc8badc739eece66cf3a9f66188dd4':
  Fix <link.h>.
2014-02-11 00:18:38 +00:00
Elliott Hughes
3a9c5d66dc Fix <link.h>.
Also move some of the stuff that should be in <link.h> out of the
private "linker.h", to make it clearer that these are public API
known to gdb that we can't change.

Bug: 12554197
Change-Id: I830e1260d3d8b833ed99bc1518f1c6b6102be8af
2014-02-10 13:31:13 -08:00
Elliott Hughes
db8e3c7dd2 am e7b1e0e2: am e74fc3a6: Merge "Fix socklen_t (on LP64 only)."
* commit 'e7b1e0e2919c65f352f4bf89cc4eb93151873453':
  Fix socklen_t (on LP64 only).
2014-02-10 12:50:51 +00:00
Elliott Hughes
09be5e752c am 1138e128: am c16a4532: Merge "Remove <sys/_types.h>."
* commit '1138e1281285ab17e2eb315e7d34e9c6bb752383':
  Remove <sys/_types.h>.
2014-02-10 12:50:50 +00:00
Elliott Hughes
d5952e1bfa am f03ea9d0: am 8a80a23c: Merge "[MIPS64] libc/libm support"
* commit 'f03ea9d02459c888fef26761e4139c1da065c821':
  [MIPS64] libc/libm support
2014-02-08 07:22:15 +00:00
Elliott Hughes
ebd90b9ba9 Fix socklen_t (on LP64 only).
Too late to fix LP32 :-(

Bug: 12935461
Change-Id: Ib056ca1eaf9ae8712f88ae21ff94e91b08cf588b
2014-02-07 16:50:55 -08:00
Elliott Hughes
c16a453291 Merge "Remove <sys/_types.h>." 2014-02-08 00:23:50 +00:00
Elliott Hughes
9f87a0b285 Remove <sys/_types.h>.
Bug: 12213562
Change-Id: I0d10664f9da60739bdbad0408be0dd61eea3c1fe
2014-02-07 14:55:58 -08:00
Chris Dearman
645d0312c2 [MIPS64] libc/libm support
libc/libm support for MIPS64 targets

Change-Id: I8271941d418612a286be55495f0e95822f90004f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
2014-02-06 16:22:20 -08:00
Elliott Hughes
175f230ffc am c2917297: am 5036935c: Merge "[MIPS64] Add syscall related files"
* commit 'c2917297bd34c8345c9b384b874f122ec4597779':
  [MIPS64] Add syscall related files
2014-02-07 00:02:24 +00:00
Chris Dearman
5043212b76 [MIPS64] Add syscall related files
Change-Id: I2f5d05df0e767538a6fe467ca0a2386325f8b71f
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Raghu Gandham <raghu.gandham@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-02-06 15:39:38 -08:00
Elliott Hughes
3e9d866b28 am 03910c9a: am e163a398: Merge "Remove unused cruft from MIPS <machine/signal.h>."
* commit '03910c9ae1ab504c3d542416eac741147cb89e0a':
  Remove unused cruft from MIPS <machine/signal.h>.
2014-02-05 22:36:01 +00:00
Elliott Hughes
be97620a56 am 9eb69a3c: am 375aaa3f: Merge "Kill <machine/_types.h>."
* commit '9eb69a3c72c0ee23fd5f11997c2c0f7e5c0c58a3':
  Kill <machine/_types.h>.
2014-02-05 22:15:57 +00:00
Elliott Hughes
ea0fab18ba Remove unused cruft from MIPS <machine/signal.h>.
An extra (unused) struct sigcontext doesn't help anybody.

Change-Id: I73899fe7e1ccccf50a507c737945cf014d430396
2014-02-05 14:11:38 -08:00
Elliott Hughes
9afe2884c7 Kill <machine/_types.h>.
Most of <machine/_types.h> was either unused, wrong, or identical across
all 32-/64-bit architectures.

I'm not a huge fan of <sys/_types.h> either, but moving the bits we need
up into there is a step forward.

Bug: 12213562
Change-Id: Id13551c78966e324beee2dd90c5575e37d2a71e6
2014-02-04 19:26:31 -08:00
Elliott Hughes
8fac620e2f am 6944fcf0: am 53cc62c3: Merge "Add fallocate/fallocate64/posix_fallocate/posix_fallocate64."
* commit '6944fcf04e76a76a467dd4ab61af123539f7ccf7':
  Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.
2014-02-04 00:49:45 +00:00
Elliott Hughes
f64b8ea09d Add fallocate/fallocate64/posix_fallocate/posix_fallocate64.
Bug: 5287571
Bug: 12612860
Change-Id: I4501b9c6cdf9a830336ce0b3afc4ea716b6a0f6f
2014-02-03 16:20:46 -08:00
Elliott Hughes
2780476778 am 226f970a: am a122c376: Merge "Use __inline__ for fortify."
* commit '226f970a17bb212af11133fbcd92289cc88cc0c8':
  Use __inline__ for fortify.
2014-02-04 00:06:08 +00:00
Elliott Hughes
8d60cc6316 Use __inline__ for fortify.
libunwind has #define inline /* empty */ which breaks our fortified headers.
glibc uses __inline but our BSD-derived headers often override that. __inline__
is the third alternative understood by GCC that -- as far as I know -- neither
the C library itself nor third-party code tries to mess with.

Bug: 12871594
Change-Id: I6677e70ea531bb7d4c46021b43af760d4ad8ecf7
2014-02-03 15:41:57 -08:00
Arve Hjønnevåg
ba7c3079bf am eb26da9a: am fb4da1e7: Merge "Regenerate binder header"
* commit 'eb26da9af841c60e69f44a3affb46ec48fdaa6d3':
  Regenerate binder header
2014-02-03 22:11:16 +00:00
Arve Hjønnevåg
fb4da1e7b7 Merge "Regenerate binder header" 2014-02-03 21:13:23 +00:00
Elliott Hughes
9304f2c461 am 0e0ae17d: am 47ff6b9f: Merge "Add missing ucontext_t definition to bionic for arch-arm64."
* commit '0e0ae17d3292951cbf74143c44b583916ebebff6':
  Add missing ucontext_t definition to bionic for arch-arm64.
2014-01-31 22:38:27 +00:00
Elliott Hughes
47ff6b9faa Merge "Add missing ucontext_t definition to bionic for arch-arm64." 2014-01-31 18:51:36 +00:00
Elliott Hughes
f970e07de3 am 8902d9a9: am a14df4a9: Merge "[MIPS] SA_RESTORER support is not needed for MIPS"
* commit '8902d9a944c377c63ce81d7dc16c1945ad715d18':
  [MIPS] SA_RESTORER support is not needed for MIPS
2014-01-31 16:19:40 +00:00
Elliott Hughes
da958d2e14 am 64b519e2: am 07f84025: Merge "Make ARM <user.h> more glibc-compatible."
* commit '64b519e2d4546da414bb9a04de4c04ce3e137999':
  Make ARM <user.h> more glibc-compatible.
2014-01-31 16:19:39 +00:00
Elliott Hughes
ab24c54d94 am dc84a5e6: am 53a55c12: Merge "Add mips <sys/ucontext.h>."
* commit 'dc84a5e66c9678619538b42709ab3637205c3bf2':
  Add mips <sys/ucontext.h>.
2014-01-31 16:19:38 +00:00
Elliott Hughes
5c73920bdc am d7f2ec93: am 807bbb75: Merge "Add arm <sys/ucontext.h>."
* commit 'd7f2ec93449a478710c286588818d00f8f219272':
  Add arm <sys/ucontext.h>.
2014-01-31 16:19:38 +00:00
Elliott Hughes
ae4e016d7f am 2f561425: am 8f355275: Merge "Add x86 <sys/ucontext.h>."
* commit '2f561425bf43676ab244738fb6ea4ed868208837':
  Add x86 <sys/ucontext.h>.
2014-01-31 16:19:37 +00:00
Elliott Hughes
63704af86e am 4dc8c880: am 972c39c4: Merge "Add x86_64 ucontext.h for better compatibility"
* commit '4dc8c880ca0677baad7950b0b3f5a9f035fea11b':
  Add x86_64 ucontext.h for better compatibility
2014-01-31 16:19:36 +00:00
Ross McIlroy
7b95807fa0 Add missing ucontext_t definition to bionic for arch-arm64.
Change-Id: I1ee15230c63e00f01d2063cfffcffe7f1a1eeb6a
2014-01-31 04:45:53 +00:00
Chris Dearman
46f3db6bb8 [MIPS] SA_RESTORER support is not needed for MIPS
Change-Id: I1c000c94973e811193c80c9770da4f3157594f90
Signed-off-by: Chris Dearman <chris.dearman@imgtec.com>
Signed-off-by: Duane Sand <duane.sand@imgtec.com>
2014-01-30 20:39:53 -08:00
Elliott Hughes
3614424e10 Make ARM <user.h> more glibc-compatible.
Change-Id: I681930ad7f80a5e7bc40eb0f36872e415445f0f9
2014-01-30 10:39:02 -08:00
Elliott Hughes
02c661b883 Add mips <sys/ucontext.h>.
Change-Id: I2821f523f0c3bb4400b2ad5d36e21e5a3d6d777c
2014-01-29 18:37:15 -08:00
Elliott Hughes
4e72fcc3c2 Add arm <sys/ucontext.h>.
Change-Id: I14d435f9e3e82f77d8a7e886ff88c18f5d09d14a
2014-01-29 17:53:59 -08:00
Elliott Hughes
677a07cb9a Add x86 <sys/ucontext.h>.
Change-Id: I43e72604f7a932f134733b78094b577415a5edb7
2014-01-29 16:46:00 -08:00
Pavel Chupin
e61d106008 Add x86_64 ucontext.h for better compatibility
As suggested here: https://android-review.googlesource.com/#/c/71267/
it may be used for x86_64 libunwind enabling.

Change-Id: I21623261a48ea7099e030d33932556e294d226ff
Signed-off-by: Pavel Chupin <pavel.v.chupin@intel.com>
2014-01-29 15:35:33 -08:00
Elliott Hughes
37958fea13 am 2db157c8: am 3bd75303: am c75e7726: Merge "Remove a __system_property_get call from the DNS code."
* commit '2db157c853cb35243d49fd1e084c1fb444f9ba02':
  Remove a __system_property_get call from the DNS code.
2014-01-29 12:20:44 +00:00
Arve Hjønnevåg
fbaa254016 Regenerate binder header
Adds 64 bit support

Change-Id: I6db3c4f68bf2c337bff753599af193e2b062ec05
2014-01-28 19:29:46 -08:00
Elliott Hughes
908e8c24ab Remove a __system_property_get call from the DNS code.
Change-Id: I48082ad9eb1b56349c6746ab2c371728c8571a81
2014-01-28 14:54:11 -08:00
Elliott Hughes
a873595113 am 41ae96a1: am 4bc229eb: am 4449fe96: Merge "Fix 32-bit mmap/mmap64 handling of negative offsets."
* commit '41ae96a1cc69fd2e1bc39fe55da22f15047beb50':
  Fix 32-bit mmap/mmap64 handling of negative offsets.
2014-01-28 01:18:06 +00:00
Elliott Hughes
431166d995 Fix 32-bit mmap/mmap64 handling of negative offsets.
We don't actually need to worry about sign extension if we reject
negative values ourselves. Previously it was possible to come up
with negative but aligned values that we would pass to the kernel;
in the case of mmap (as opposed to mmap64) we'd incorrectly turn
those into large positive offsets.

Change-Id: I2aa583e0f892d59bb77429aea8730b72db32dcb0
2014-01-27 16:36:56 -08:00
Elliott Hughes
4332c9ebba am e528d178: am f3ea7917: am 6f23ce36: Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)."
* commit 'e528d1787c80d4d6879c8fafa5487f9fd6ce4a29':
  Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).
2014-01-25 01:38:13 +00:00
Elliott Hughes
6f23ce36ce Merge "Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64)." 2014-01-25 01:25:16 +00:00
Elliott Hughes
e2a292d278 Remove __STDC_FORMAT_MACROS and __STDC_LIMIT_MACROS guards (and fix SIZE_MAX for LP64).
The various committees decided that everyone should get all these macros,
all the time.

Bug: 12708004
Change-Id: Ib56010dcba9b0656e5701546fefb7f78dc0bf916
2014-01-24 16:38:07 -08:00
Ben Cheng
d1e32e1c35 am 0bae4c4d: am 50228472: am 5acce960: Merge "Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c."
* commit '0bae4c4d41acffa091680a5499e0381e1ea70f12':
  Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c.
2014-01-25 00:26:01 +00:00
Ben Cheng
62ffe14a7e Add all implicitly loaded symbols from libgcc.a into libgcc_compat.c.
Change-Id: I0e66a73e849a01817d016a688d7291c2fb604e48
2014-01-24 15:20:11 -08:00
Colin Cross
771524267b am 3aa1e605: am 35377004: am 513f83bb: Merge "bionic: rename aarch64 target to arm64"
* commit '3aa1e605ea1167e59976bf82922fd06c728b518b':
  bionic: rename aarch64 target to arm64
2014-01-24 21:24:50 +00:00
Colin Cross
513f83bb7f Merge "bionic: rename aarch64 target to arm64" 2014-01-24 20:33:23 +00:00
Ben Cheng
af0debbfc7 am cc70de8f: am 0661bbe2: am 69d242d2: Merge "Re-export libgcc\'s __aeabi_uidivmod and __popcount_tab"
* commit 'cc70de8fc3726cf8cc242a4dcb80a7f5af50f4b1':
  Re-export libgcc's __aeabi_uidivmod and __popcount_tab
2014-01-24 18:25:55 +00:00
Bernhard Rosenkränzer
f38fb19d9d Re-export libgcc's __aeabi_uidivmod and __popcount_tab
This is required to make the Nexus 10 graphics driver work on a system
compiled with gcc 4.9.

Change-Id: If3f3d488652a736d9ea3e583548d74fae3ffa902
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
2014-01-24 12:57:13 +01:00
Colin Cross
d1973ca513 bionic: rename aarch64 target to arm64
Rename aarch64 build targets to arm64.  The gcc toolchain is still
aarch64.

Change-Id: Ia92d8a50824e5329cf00fd6f4f92eae112b7f3a3
2014-01-23 18:35:39 -08:00
Elliott Hughes
232e52e90b am 17758106: am 06d38ccd: am 5b4884fa: Merge "Add "__noreturn" to assert and assert2"
* commit '17758106e80d9ced66c7cfdae0b0331ebd7696b7':
  Add "__noreturn" to assert and assert2
2014-01-15 21:41:21 +00:00
Elliott Hughes
5b4884fac9 Merge "Add "__noreturn" to assert and assert2" 2014-01-15 21:26:47 +00:00
Vadim Markovtsev
323d4b6f68 Add "__noreturn" to assert and assert2
These functions should print assertion violation messages and then
call abort(). They do really not return control flow afterwards.
Consider the declaration of the similar __assert_fail from glibc:

extern void __assert_fail (const char *__assertion,
                           const char *__file,
			   unsigned int __line,
                           const char *__function)
     __THROW __attribute__ ((__noreturn__));

Bionic has __noreturn defined in sys/cdefs.h to be that GNU
noreturn attribute.

This patch has a practical value. Consider the following function:

void check(void* ptr) {
  assert(ptr != NULL);
}

Without this patch applied, gcc (and presumably clang) shows even in
debug mode:

warning: unused parameter 'ptr' [-Wunused-parameter]

In release mode, NDEBUG is defined and assert() becomes a no-op, as
one should expect. Thus, the warning is shown correctly then.

Another code sample:

float array[2];
int i = 3;
...
assert(i < 2);
array[i] = 0;

gcc says,

warning: array subscript is below array bounds [-Warray-bounds]

In other words, without noreturn attribute, assertions do not
allow a compiler's static analyzer to properly understand
the preconditions.

Change-Id: I3be92e99787c528899cf243ed448c4730c00c45b
Signed-off-by: Vadim Markovtsev <gmarkhor@gmail.com>
2014-01-15 07:32:52 +00:00
Elliott Hughes
63ccebf3f3 am e83c98e6: am a17b7ba9: am c8d41263: Merge "Move _thread_created_hook to where it belongs."
* commit 'e83c98e6f7575000df7e36803c5349249f8aa982':
  Move _thread_created_hook to where it belongs.
2014-01-15 02:48:31 +00:00
Elliott Hughes
af8aebebb5 Move _thread_created_hook to where it belongs.
Change-Id: I643d761c78ccaae25270aeffa2afb811c4e2fcd7
2014-01-14 17:16:18 -08:00
Elliott Hughes
41af7f39e9 am d2124b7c: am 7e997388: am b5e21103: Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()"
* commit 'd2124b7c5ca15cb593c824d2488f6a95dce4a519':
  AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()
2014-01-14 01:15:04 +00:00
Elliott Hughes
b5e211031b Merge "AArch64: Use LDXR/STXR instead of LDAXR/STLXR for bionic_atomic_cmpxchg()" 2014-01-14 01:01:41 +00:00
Elliott Hughes
758e586a98 am 0b9a13f5: am a1595487: am ae189740: Merge "Add some more headers."
* commit '0b9a13f58fa13fc7f29c386e265dcbe56c7c5095':
  Add some more headers.
2014-01-10 23:55:16 +00:00
Elliott Hughes
ae189740de Merge "Add some more headers." 2014-01-10 23:35:47 +00:00
Elliott Hughes
c835c35727 Add some more headers.
This patch adds trivial implementations of the missing sys headers
needed by strace. All strace needs are the constants and structures,
so this is enough for now. We can come back and add the functions
if/when we ever need them.

Change-Id: Idb87c1a8b6b1c62f6e16ae94f147e1169722b48e
2014-01-10 15:32:31 -08:00
JP Abgrall
9a3f2b78e6 am 51e1ca76: am 09a73562: am f784f036: Merge "Add extra libc stubs for mntent related functions."
* commit '51e1ca76776822e3d020a1dc7e25dbc46ddde1e4':
  Add extra libc stubs for mntent related functions.
2014-01-10 02:08:05 +00:00
Elliott Hughes
a537a330a4 am e48e9c99: am 2872e742: am 33c3e8d3: Merge "Add NT_PRSTATUS to <elf.h>."
* commit 'e48e9c9919f1f1130ff09600f6c444e2f3be1689':
  Add NT_PRSTATUS to <elf.h>.
2014-01-10 01:54:25 +00:00
JP Abgrall
4e9cb032d1 Add extra libc stubs for mntent related functions.
This adds stubs for setmntent() and endmntent().

Change-Id: I6ccaa044145405cd7226c1c54a25d435c96a2308
2014-01-10 01:24:34 +00:00