Commit Graph

1042 Commits

Author SHA1 Message Date
Kenny Root
f582340a6a Fix the handle locking in stdio
Fix the handle locking in stdio to use flockfile/funlockfile
internally when and where required.  Macros in <stdio.h> are updated
to automatically call the underlying functions when the process is
threaded to obtain the necessary locking.  A private mutex is added
to protect __sglue, the internal list of FILE handles, and another
to protect the one-time initialization.  Some routines in libc that
use getc() change to use getc_unlocked() as they're either protected
by their own lock or aren't thread-safe routines anyway.

Based on OpenBSD change by guenther@openbsd.org
http://www.mail-archive.com/source-changes@cvs.openbsd.org/msg01015.html

Bug: 3446659
Change-Id: Ie82116e358c541718d6709ec45ca6796be5a007b
2011-02-14 09:32:56 -08:00
Kenny Root
72f9a5c374 Increase SO_MAX to accomodate valgrind
system_server loads up 87 shared libraries upon start. Running under
valgrind pushes this just over the edge of 96. Increase SO_MAX to 128 to
give us some more headroom.

Change-Id: Iadceb14ab6d9621bdccd292570d50867828057d9
2011-02-10 17:02:23 -08:00
David Turner
9c2e97e9d3 am b35d80f0: am 76299d19: Merge "Remove an extra register move."
* commit 'b35d80f0b0a6d87ba20aa2de594db19a0ccf93df':
  Remove an extra register move.
2011-02-07 13:51:27 -08:00
David Turner
86ca12cfff am d7cf6382: am 8db7bcb1: Merge "Replace __atomic_XXX with GCC __sync_XXX intrinsics."
* commit 'd7cf638288f100f29f6ba733c50f12ecdb5e192b':
  Replace __atomic_XXX with GCC __sync_XXX intrinsics.
2011-02-07 13:51:25 -08:00
David Turner
ae54025061 am 9e401df6: am 1447332f: Merge "move some typedefs to procfs.h required by gdbserver build"
* commit '9e401df692e3c47124cbaff7b866f55eec3bba27':
  move some typedefs to procfs.h required by gdbserver build
2011-02-07 13:51:22 -08:00
David Turner
761cb55ab3 am dd279aa9: am 2282ecc2: Merge "Use more optimized version of memmove"
* commit 'dd279aa99f6b6310480e28ba1e843a23f722c87e':
  Use more optimized version of memmove
2011-02-07 13:43:54 -08:00
David Turner
b35d80f0b0 am 76299d19: Merge "Remove an extra register move."
* commit '76299d196f8cc731b5bd72880f63d9d9cfd05694':
  Remove an extra register move.
2011-02-07 08:00:04 -08:00
David Turner
d7cf638288 am 8db7bcb1: Merge "Replace __atomic_XXX with GCC __sync_XXX intrinsics."
* commit '8db7bcb14f6a3222151bb5304a55670bad0dc5a1':
  Replace __atomic_XXX with GCC __sync_XXX intrinsics.
2011-02-07 08:00:02 -08:00
David Turner
9e401df692 am 1447332f: Merge "move some typedefs to procfs.h required by gdbserver build"
* commit '1447332ffa163f608ebed332e09ab5519e4b17dd':
  move some typedefs to procfs.h required by gdbserver build
2011-02-07 08:00:00 -08:00
David Turner
76299d196f Merge "Remove an extra register move." 2011-02-06 15:01:57 -08:00
David Turner
8db7bcb14f Merge "Replace __atomic_XXX with GCC __sync_XXX intrinsics." 2011-02-06 15:01:39 -08:00
David Turner
1447332ffa Merge "move some typedefs to procfs.h required by gdbserver build" 2011-02-06 15:01:02 -08:00
David 'Digit' Turner
62e1f374d1 Merge "libc: Update auto-gen scripts" 2011-02-06 12:53:23 -08:00
Andy McFadden
4ce737f5df Added _memmove_words
Added a memmove() variant for Dalvik's System.arraycopy()
implementation.  It guarantees 16-bit or 32-bit atomicity depending
on the alignment of the arguments.

Bug 3398352

Change-Id: Ie7bd246305ef0ff8290513663327c5b81680368d
2011-02-04 14:49:49 -08:00
David Turner
dd279aa99f am 2282ecc2: Merge "Use more optimized version of memmove"
* commit '2282ecc295b58197a1e22f38a20750ccab4e3c69':
  Use more optimized version of memmove
2011-02-04 10:16:01 -08:00
David Turner
2282ecc295 Merge "Use more optimized version of memmove" 2011-02-04 05:13:35 -08:00
Brad Fitzpatrick
5b98774566 am b8175727: am 9a330512: Merge "Add time-to-live (TTL) support to resolver cache"
* commit 'b8175727c7a165076311f18c29f09bdc27d7be10':
  Add time-to-live (TTL) support to resolver cache
2011-02-03 18:07:54 -08:00
Bruce Beare
f4680b57ed Remove an extra register move.
Change-Id: I63c217b73203b44b1a2e74950b58f2ec12989cab
Author: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-02-03 12:21:04 -08:00
Bruce Beare
0f2001b147 Replace __atomic_XXX with GCC __sync_XXX intrinsics.
Change-Id: I14f275392fcd70cc15e307470e0a099777c7c09e
Author: H.J. Lu <hjl.tools@gmail.com>
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-02-03 12:21:03 -08:00
Bruce Beare
f6ccc15457 move some typedefs to procfs.h required by gdbserver build
Change-Id: I51fba4ceb80b63e583f462a2a00f3f658c7cdd36
Signed-off-by: Bruce Beare <bruce.j.beare@intel.com>
2011-02-03 12:21:02 -08:00
Brad Fitzpatrick
b8175727c7 am 9a330512: Merge "Add time-to-live (TTL) support to resolver cache"
* commit '9a3305128920e0ff018d267d1bf4f5e58a5146e5':
  Add time-to-live (TTL) support to resolver cache
2011-02-03 11:45:27 -08:00
David 'Digit' Turner
d51564f918 Merge "libc: Fix struct user_vfp definition." 2011-02-03 10:31:27 -08:00
David 'Digit' Turner
fc2693110e libc: Update auto-gen scripts
Make the scripts use external/kernel-headers/original by default.

clean_header.py:  Document -k<path>, add -d<path>
find_headers.py:  Make kernel config files optional
update_all.py:    Allow setting the path to kernel headers on the command-line
update_all.py:    Better formatting of output on ttys
update_all.py:    Automatically perform "git add/rm" on affected files.
SYSCALLS.TXT:     Fix typo in __socketcall definition.
checksyscalls.py: Add support for superH architecture in the checks.
gensyscalls.py:   Automatically perform "git add/rm" on affected files.
cpp.py:           Fixed a bug that prevented certain type definitions to
                  be kept in the generated clean header (e.g.
                  struct ethtool_drvinfo in <linux/ethtool.h>)

All scripts will use the content of external/kernel-headers/original by default now.

The generated code removes all empty lines and trailing whitespace. This is useful
to ensure a unified output even if we change the parser again in the future.

The top-level disclaimer has been edited with update instructions to regenerate
the headers when needed.

Also, a warning is now inserted every 8th line in the final output:

/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */

Changes under kernel/arch-arm and kernel/arch-x86 should correspond to whitespace
differences and additionnal struct definitions that were missed by the previous
parser implementation.

Change-Id: Icd1c056bacd766759f3e9b7bb5d63a246f3d656a

WARNING: If you run these script, do not submit the result to gerrit for now.
         It seems there are discrepancies between the content of original headers
         and those currently commited under bionic/libc/kernel/.

         (This problem is the main motivation to insert the warning repeatedly).

         Current list of issues:

           - Missing SuperH headers (i.e. external/kernel-headers/original/asm-sh)
2011-02-03 18:07:41 +01:00
Johannes Carlsson
0f67de14e6 Use more optimized version of memmove
On ARM there is currently no assembler optimized memmove in libc.
There is however a more optimized bcopy which copies long instead
of bytes where possible. This almost doubles the performance in
best case.

Change-Id: I1f1cd27529443358047c385730deaf938ce4e642
2011-02-03 15:17:13 +01:00
David Turner
820e6867e2 Merge "Bug 3330205 Thread safety for bignum powers of 5" 2011-02-03 04:45:51 -08:00
David Turner
d1c780e5d3 Merge changes I6b304dfb,I4a3c2035,I5af12b3f,I0ef33ca6,I149c46e7
* changes:
  Add icmp6.h and ip6.h files from current NetBSD libc.
  Include the Linux ipv6.h header from netinet/in.h, to get things like in6_pktinfo.
  Add IN6ADDR_LOOPBACK_INIT macro to <netinet/in6.h>, as the kernel headers do not provide it anymore.
  Update IPv6 kernel headers with new 2.6.37 headers, cleaned by update_all.py. (It wanted to do many other changes, most of them cosmetic, but I only included the IPv6 changes.)
  Fix syntax error in defaults.py.
2011-02-03 04:44:31 -08:00
Brad Fitzpatrick
9a33051289 Merge "Add time-to-live (TTL) support to resolver cache" 2011-02-02 14:55:20 -08:00
Mattias Falk
3e0c5102e6 Add time-to-live (TTL) support to resolver cache
Use the the TTL of the answer as the time a query
shall remain in the resolver cache.

Added some debugging support as well, i.e.
parse answer and print a la dig.

Change-Id: I724d3392245032592f1912f3ca7a81a8987ebbac
2011-02-02 16:40:01 +01:00
David 'Digit' Turner
30b4d82bba libc: Fix struct user_vfp definition.
This patch moves the definition of struct user_vfp from <asm/ptrace.h>
to <asm/user.h> for the ARM platform, in order to match the original
kernel headers.

See patches  94519 and 94520 for a description of the problem and a
fix for debuggerd that uses the structure.

This prevented us from properly re-running the kernel headers cleanup
scripts.

Change-Id: I43718a59ae49b9d89fc2d1c8affb65973fb2919c
2011-02-01 15:28:36 +01:00
David 'Digit' Turner
040e18f362 Merge "libc: fix kernel cleanup script typo." 2011-01-31 07:53:11 -08:00
The Android Open Source Project
727c443a27 am 977e0cb4: Reconcile gingerbread-plus-aosp and honeycomb
* commit '977e0cb4d378368a655b39157161218f0ce5c078':
2011-01-30 12:53:48 -08:00
The Android Open Source Project
977e0cb4d3 Reconcile gingerbread-plus-aosp and honeycomb
Change-Id: I39eeb24bc7dc2fe2f9223e079aeccf4966d92d38
2011-01-30 12:39:43 -08:00
The Android Open Source Project
9bfd3f54e6 Mass merge from gingerbread - do not merge
Change-Id: I105c2c728aef42629dbb44af8e3d1044c4ae1e97
2011-01-30 12:39:43 -08:00
Steinar H. Gunderson
6846a45882 Add icmp6.h and ip6.h files from current NetBSD libc.
Change-Id: I6b304dfbefaec74c5fb15b216f38d698a55f0642
2011-01-28 18:28:27 +01:00
Steinar H. Gunderson
bdca379412 Include the Linux ipv6.h header from netinet/in.h, to get things like in6_pktinfo.
Change-Id: I4a3c2035ff8e2846352345580756a1bdc2768ec4
2011-01-28 18:28:27 +01:00
Steinar H. Gunderson
3de0321690 Add IN6ADDR_LOOPBACK_INIT macro to <netinet/in6.h>, as the kernel headers do not provide it anymore.
Change-Id: I5af12b3f38097ed165e64a408253dc375aa605d7
2011-01-28 18:28:19 +01:00
David Turner
b0350d9b22 am 2081fda6: Merge "Only look up A records if the system has IPv4." into gingerbread
* commit '2081fda69a68505c914324797400b1b798516904':
  Only look up A records if the system has IPv4.
2011-01-27 18:28:28 -08:00
Steinar H. Gunderson
24e570257e am 2e23e292: Backport (simple cherry-pick) d33019030c to gingerbread.
* commit '2e23e29245aa42d0f9419187c94e72dba3888eef':
  Backport (simple cherry-pick) d33019030c to gingerbread.
2011-01-27 08:49:03 -08:00
Steinar H. Gunderson
1e9496756c am f4dca7be: Backport (simple cherry-pick) 64b6c43379 to gingerbread.
* commit 'f4dca7be3b7bc181f1534be187428c5a52cb8c6a':
  Backport (simple cherry-pick) 64b6c43379 to gingerbread.
2011-01-27 08:49:01 -08:00
Steinar H. Gunderson
7704f449c9 am a798b9f0: Backport (simple cherry-pick) d1624add2b to gingerbread.
* commit 'a798b9f0e171643b0bc7bbf79f14cb018689f715':
  Backport (simple cherry-pick) d1624add2b to gingerbread.
2011-01-27 08:48:53 -08:00
David 'Digit' Turner
0d1ef5a3df am 59290f4c: am 8e2ff164: libm: Add nanf() and tgammaf() implementations.
* commit '59290f4c88241c23f3f9cfcbb28e3011035f1012':
  libm: Add nanf() and tgammaf() implementations.
2011-01-26 05:38:56 -08:00
David 'Digit' Turner
59290f4c88 am 8e2ff164: libm: Add nanf() and tgammaf() implementations.
* commit '8e2ff164cc327aad8666333a1d75f86291858da0':
  libm: Add nanf() and tgammaf() implementations.
2011-01-26 05:34:40 -08:00
Brad Fitzpatrick
c12170c601 am 90da07a8: am d05446b3: am 7a2e1a02: Merge "Don\'t proxy getaddrinfo when net.dns1.[MYPID] is set."
* commit '90da07a88225161feedbf518a37a3c22ec12a879':
  Don't proxy getaddrinfo when net.dns1.[MYPID] is set.
2011-01-25 16:22:30 -08:00
Brad Fitzpatrick
bd4502a736 am 901f24b9: resolved conflicts for merge of ff242869 to honeycomb-plus-aosp
* commit '901f24b988029ae127362d72f11af67b545a24b6':
  DNS proxy: the start.  proxies getaddrinfo calls.
2011-01-25 16:22:27 -08:00
Brad Fitzpatrick
90da07a882 am d05446b3: am 7a2e1a02: Merge "Don\'t proxy getaddrinfo when net.dns1.[MYPID] is set."
* commit 'd05446b34e416d89261a31452afee10eb12bb71d':
  Don't proxy getaddrinfo when net.dns1.[MYPID] is set.
2011-01-25 16:14:11 -08:00
Brad Fitzpatrick
901f24b988 resolved conflicts for merge of ff242869 to honeycomb-plus-aosp
Change-Id: I560f07374589a844bdf611da8ec5e358dc451ba4
2011-01-25 16:11:42 -08:00
Brad Fitzpatrick
d05446b34e am 7a2e1a02: Merge "Don\'t proxy getaddrinfo when net.dns1.[MYPID] is set."
* commit '7a2e1a0245f5645661fdbc6887c2bc7c7f49e0ee':
  Don't proxy getaddrinfo when net.dns1.[MYPID] is set.
2011-01-25 15:41:28 -08:00
Brad Fitzpatrick
ff24286911 am 0ec85334: Merge "DNS proxy: the start. proxies getaddrinfo calls."
* commit '0ec85334ff375a2b7823f322e083d4a0ea24c289':
  DNS proxy: the start.  proxies getaddrinfo calls.
2011-01-25 15:41:21 -08:00
Brad Fitzpatrick
7a2e1a0245 Merge "Don't proxy getaddrinfo when net.dns1.[MYPID] is set." 2011-01-25 15:09:13 -08:00
Brad Fitzpatrick
0ec85334ff Merge "DNS proxy: the start. proxies getaddrinfo calls." 2011-01-25 15:09:09 -08:00