diff options
author | David 'Digit' Turner <digit@google.com> | 2010-01-21 15:03:26 -0800 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2010-01-21 16:25:38 -0800 |
commit | d6bf8f92298aa46ee045f30ed5146eb05af16ced (patch) | |
tree | 95fa5af1e9a8fc8a1d348b5a095fa8aaab4bf7fb /libc | |
parent | fc10b24accd082fb33c8f92ff8b92481c22fe3dc (diff) | |
download | bionic-d6bf8f92298aa46ee045f30ed5146eb05af16ced.zip bionic-d6bf8f92298aa46ee045f30ed5146eb05af16ced.tar.gz bionic-d6bf8f92298aa46ee045f30ed5146eb05af16ced.tar.bz2 |
Add Bionic Changelog in libc/docs/CHANGES.TXT
Diffstat (limited to 'libc')
-rw-r--r-- | libc/docs/CHANGES.TXT | 133 |
1 files changed, 133 insertions, 0 deletions
diff --git a/libc/docs/CHANGES.TXT b/libc/docs/CHANGES.TXT new file mode 100644 index 0000000..07eac57 --- /dev/null +++ b/libc/docs/CHANGES.TXT @@ -0,0 +1,133 @@ +Bionic ChangeLog: +----------------- + +Differences between current and Android 2.1: + +- Add support for SH-4 CPU architecture ! + +- __atomic_swap(): use LDREX/STREX CPU instructions on ARMv6 and higher. + +- <arpa/telnet.h>: New header (declarations only, no implementation). + +- <err.h>: New header + implementation. GLibc compatibility. + +- <warn.h>: New header + implementation. GLibc compatibility. + +- <fts.h>: New header + implementation. + +- <mntent.h>: Add missing <stdio.h> include. + +- <regex.h>: New header + implementation. + +- <signal.h>: Added killpg() + +- <stdint.h>: Allow 64-bit type declarations on C99 builds. + +- <stdio.h>: Add fdprintf() and vfdprintf(). Note that GLibc provides + the confusing 'dprintf' and 'vdprintf()' functions instead. + +- <stdlib.h>: Fix ptsname_r(): the return type is int instead of char*. + The mistake comes from a GLibc man page bug (the man page listed a return + type of char*, while the implementation used int. Fixed in late 2009 only). + The Bionic implementation was incorrect. Technically, this is an ABI + breakage, but code that used this function probably never worked or + compiled properly anyway. + +- <strings.h>: Add missing <sys/types.h> include. + +- <sys/queue.h>: Added new header (no implementation - macro templates). + +- <sys/resource.h>: Add rlim_t proper definition. + +- <time64.h>: Add missing C++ header inclusion guards. + +- <unistd.h>: Add getusershell(), setusershell() and endusershell(), though + implementation are bogus. GLibc compatibility. + +- <wchar.h>: Add mbstowcs() and wcstombs() + + +------------------------------------------------------------------------------- +Differences between Android 2.1 and 2.0.1: + +- zoneinfo: updated data tables to version 2009s + + +------------------------------------------------------------------------------- +Differences between Android 2.0.1 and 2.0: + +- abort(): ARM-specific hack to preserve the 'lr' register when abort() + is called (GCC does not preserve it by default since it thinks that + abort() never returns). This improves stack traces considerably. + + +------------------------------------------------------------------------------- +Differences between Android 2.0 and 1.6: + +- memcmp(), memcpy(): ARMv7 optimized versions. + +- pthread_mutexattr_setpshared(): implementation will not return ENOTSUP + if PTHREAD_PROCESS_SHARED is used, because our Mutex implementation can + work across multiple processes. + + *HOWEVER* it does not use "robust futexes" which means that held mutexes + *are not* automatically released by the kernel when the owner process + crashes or exits. This is only done to simplify communication between + two always-live system processes, DO NOT USE THIS IN APPLICATIONS ! + +- pthread_mutex_lock_timeout_np(): New Android-specific function to + perform a timed lock (). In case of timeout, it returns EBUSY. + +- pthread_cond_timedwait_monotonic_np(): Same as pthread_cond_timedwait() + but uses the monotonic clock(). Android-specific. + +- pthread_cond_timedwait_relative_np(): Same as pthread_cond_timedwait() + but uses a relative timeout instead. Android-specific. + +- <netinet/in.h>: Now includes <netinet/in6.h>. + +- <netinet/in6.h>: Added IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP, IN6ADDR_ANY_INIT + and ipv6mr_interface definitions. + +- <time.h>: + * Add missing tzset() declaration. + * Add Android-specific strftime_tz(). + +- getaddrinfo(): + Only perform IPv6 lookup for AF_UNSPEC if we have IPv6 connectivity. + This saves one DNS query per lookup on non-IPv6 systems. + +- mktime(): Fix an infinite loop problen that appeared when switching to + GCC 4.4.0. + +- strftime(): fix incorrect handling of dates > 2038 due to 64-bit issue + in original code. + +------------------------------------------------------------------------------- +Differences between Android 1.6 and 1.5: + +- C runtime: Fix runtime initialization to be called before any static C++ + constructors. This allows these to use pthread functions properly. + +- __aeabi_atexit(): Fix implementation to properly call C++ static destructors + when the program exits (or when a shared library is unloaded). + +- <sys/stat.h>: added GLibc compatibility macros definitions: + + #define st_atimensec st_atime_nsec + #define st_mtimensec st_mtime_nsec + #define st_ctimensec st_ctime_nsec + +- getaddrinfo(): implementation will now allow numeric ports if ai_socktype is + set to ANY. This is to match the GLibc behaviour. + +- getservent(): and getservent_r() incorrectly returned the port in host-endian + order in the s_port field. It now returns it in big-endian order. + +- DNS: Allow underscore in the middle of DNS labels. While not really + standard, this extension is needed for some VPN configurations and is + supported by other operating systems. + +- DNS: Support for DNS domain search lists through the new net.dns.search + system property. The corresponding value must be a space-separated list of + domain suffixes. |