summaryrefslogtreecommitdiffstats
path: root/libc
diff options
context:
space:
mode:
authorDavid 'Digit' Turner <digit@google.com>2010-01-21 15:03:26 -0800
committerDavid 'Digit' Turner <digit@google.com>2010-01-21 16:25:38 -0800
commitd6bf8f92298aa46ee045f30ed5146eb05af16ced (patch)
tree95fa5af1e9a8fc8a1d348b5a095fa8aaab4bf7fb /libc
parentfc10b24accd082fb33c8f92ff8b92481c22fe3dc (diff)
downloadbionic-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.TXT133
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.