Commit Graph

1055 Commits

Author SHA1 Message Date
Kenny Root
fb723c8749 libc: ARM: update syscalls with new script
Used the new gensyscalls.py script to update the ARM syscalls with the
BEGIN(x) and END(x) macros to give size information for the code of the
syscall. Useful for valgrind.

Change-Id: I8c481c8928401ac110fd19b087f7d67e4db39326
2011-02-17 10:47:47 -08:00
Kenny Root
f540c03bff libc: ARM: add size info to gensyscalls
Add size information to gensyscalls output for ARM syscalls with new
BEGIN(x) and END(x) macros in arch-arm/include/machine/asm.h

Change-Id: I791406f8b17abcb83b70a6d15a65a527de15d3f5
2011-02-17 10:47:20 -08:00
Kenny Root
420878c690 Add function marks and size indications
Add a macro to annotate function end and start using both ENTRY and END
for each function. This allows valgrind (and presumably other debugging
tools) to use the debug symbols to trace the functions.

Change-Id: I5f09cef8e22fb356eb6f5cee952b031e567599b6
2011-02-17 09:07:25 -08:00
Kenny Root
3a3c1853ac Use CLZ on ARMv5 and newer
Change-Id: Ia5aa6974c0343ae43fbcb91304501213048e9ec0
2011-02-16 16:40:08 -08:00
Mike Lockwood
0d06b42327 Merge "Add linux/usb/f_accessory.h header for USB accessory driver" 2011-02-16 05:57:39 -08:00
Elliott Hughes
56d90bb49a Add MODULE_LICENSE_PUBLIC_DOMAIN for the tzdata.
Change-Id: Ie3dd3daef4610f3bd4cbc60f1de854ad28189038
2011-02-15 14:12:24 -08:00
Elliott Hughes
6ac872a0ee Update to 2011b tzdata.
Change-Id: Ic8c9e9a71a52435441db1367fb40b58ae23efe1a
2011-02-15 13:29:40 -08:00
Mike Lockwood
6783f6a736 Add linux/usb/f_accessory.h header for USB accessory driver
Change-Id: Id6ffd75f855028739674c36f30d2592391d90859
Signed-off-by: Mike Lockwood <lockwood@android.com>
2011-02-15 09:20:21 -05:00
Kenny Root
0aad55369d Merge "Fix the handle locking in stdio" 2011-02-14 15:46:36 -08:00
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
Jean-Baptiste Queru
3e0cb1bc63 am 423d942e: am 69d6c2cc: Merge "Update"
* commit '423d942e6dc1e2051466e70d71520ab2e4273ea1':
  Update
2011-02-11 12:34:41 -08:00
Jean-Baptiste Queru
423d942e6d am 69d6c2cc: Merge "Update"
* commit '69d6c2ccd943f43e87445d00e96eb98deb690ea1':
  Update
2011-02-11 12:32:38 -08:00
Jean-Baptiste Queru
69d6c2ccd9 Merge "Update" 2011-02-11 12:17:21 -08:00
Dmitry Shmidt
a3db183abe Update
Change-Id: I41f590dec6bfd26c36cf01601cf03502d02d29af
2011-02-11 11:49:37 -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