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
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)
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
* 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.
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
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
getaddrinfo only asks DNS for IPv6 addresses if the system
has IPv6 connectivity, but always asks for IPv4 addresses.
Don't ask for IPv4 addresses if there is no IPv4
connectivity.
Change-Id: Iefe9fcb006fabe60b4b11dd4653a7c4a406506f4
to gingerbread.
Implement RFC3484 policy table changes from draft-ietf-6man-rfc3484-revise-01.
The changes in a nutshell:
- Handle v4-mapped as different from v4-compat (this was probably
an existing bug in our code).
- Add policy entries for ULA, above most everything else.
- Put v4-compat, old-style IPv6 site-local and 6bone addresses
way down in the preference table.
The rest is just shuffling numbers around (no actual changes to
priority).
to gingerbread.
Add a new #define IN6_IS_ADDR_ULA, for testing for Universal Local IPv6 Unicast addresses (ULAs). These replace the old site-local IPv6 addresses.
to gingerbread.
Don't treat private IPv4 addresses as being in a non-global scope. The effect of this change is essentially to prefer NATed IPv4 over 6to4.
The changes in a nutshell:
- Handle v4-mapped as different from v4-compat (this was probably
an existing bug in our code).
- Add policy entries for ULA, above most everything else.
- Put v4-compat, old-style IPv6 site-local and 6bone addresses
way down in the preference table.
The rest is just shuffling numbers around (no actual changes to
priority).
Change-Id: Ieb111e0edd705992bc9d066befaaee95a8c1a5df