From ead7819f51493eb67bfeef318caff7e2a8eb7259 Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Wed, 17 Oct 2012 11:32:50 -0700 Subject: [PATCH] Remove obsolete CHANGES.TXT and ISSUES.TXT. These haven't been updated in a long time, and "git log" is the source of truth. Change-Id: I99036f6111e53425f32df510b7b717deb77513a5 --- libc/docs/CHANGES.TXT | 277 ------------------------------------------ libc/docs/ISSUES.TXT | 20 --- 2 files changed, 297 deletions(-) delete mode 100644 libc/docs/CHANGES.TXT delete mode 100644 libc/docs/ISSUES.TXT diff --git a/libc/docs/CHANGES.TXT b/libc/docs/CHANGES.TXT deleted file mode 100644 index 98b7fcfce..000000000 --- a/libc/docs/CHANGES.TXT +++ /dev/null @@ -1,277 +0,0 @@ -Bionic ChangeLog: ------------------ - -Differences between current and Android 2.3: - -- : Added new header to define __ANDROID_API__ to - a constant integer corresponding to the native API level. This header - also exists in the NDK's platform headers. - -- : Include - -- : Add timegm(), timelocal(), time2posix() and posix2time() - -- : Add sched_getcpu(), sched_getaffinity(), sched_setaffinity(), - cpu_set_t and related macros (e.g. CPU_SETSIZE, CPU_ZERO, CPU_SET, ...) - -- : Add ftruncate64(). - -- : Changed the definition of SIGRTMAX to 64. However, note that - sigset_t is only 32-bit and cannot deal with real-time signals. - -------------------------------------------------------------------------------- -Differences between Android 2.3 and Android 2.2: - -- : Add reader/writer locks implementation. Add sanity - checking to pthread_mutex_destroy() (e.g. a locked mutex will return - EBUSY). - -- : Use private futexes for semaphore implementation, - unless your set 'pshared' to non-0 when calling sem_init(). - - Also fixed a bug in sem_post() to make it wake up all waiting - threads, instead of one. As a consequence, the maximum semaphore - value is now reduced to 0x3fffffff. - -- : Added sincos(), sincosf() and sincosl() (GLibc compatibility). - -- : Added missing sysinfo() system call implementation - (the function was already declared in the header though). - -- sysconf() didn't work for some arguments due to a small bug in the - /proc line parser. - -- : added missing header (just includes ) - -- : add missing declaration for truncate(). The implementation - was already here since Android 1.5. - - modify implementation of alarm() to return 0 in case of error (i.e. - if a value larger than 0x7fffffff seconds is passed to it). This - makes the implementation compliant with the GLibc behaviour. - -- : small fixes to really support wchar_t in Bionic (not there yet). - - the size of wchar_t is still 32-bit (decided by the compiler) - - WCHAR_MIN: changed from 0 to INT_MIN - WCHAR_MAX: changed from 255 to INT_MAX - - wcpcpy(), wcpncpy(), wcscat(), wcschr(), wcscmp(), - wcscpy(), wcscspn(), wcsdup(), wcslcat(), wcslcpy(), - wcslen(), wcsncat(), wcsncmp(), wcsncpy(), wcsnlen(), - wcspbrk(), wcsrchr(), wcsrchr(), wcsspn(), wcsstr(), - wcstok(), wcswidth(), wmemchr(), wmemcmp(), wmemcpy(), - wmemmove(), wmemset(): Added proper implementations. - - wcscasecmp(), wcsncasecmp(): Added implementation limited - to ASCII codes for lower/upper. - - wcscoll(): added dummy implementation that calls wcscmp() - wcsxfrm(): added dummy implementation that calls wcsncpy() - - NOTE: Technically, this breaks the ABI, but we never claimed to support - wchar_t anyway. The wchar_t support is still *NOT* official at this - point. We need better multi-byte support code, and wprintf/wscanf - stuff too. - -- : add missing declarations for strntoimax abd strntoumax. - -- : add missing declarations for drand48() and erand48(). - -- clearerr(): fix broken implementation. - -- Feature test macros like _POSIX_C_SOURCE / _XOPEN_SOURCE / _C99_SOURCE - are now handled correctly by our C library headers (see ) - -- : add missing declaration for pselect() - -- : fixed implementation of fstatfs() (also fixes fpathconf() - which uses it). - -- Added an implementation of pthread_atfork() - -- : fixed dlopen() implementation to support dlopen(NULL, ...). - This allows one to look at the dynamic symbols exported by an executable. - -- : use kernel helper functions for static versions - of the C library. This is necessary because we don't know where the corresponding - machine code is going to run, and the optimization for __get_tls() might - not match the features of the target device where we run a static executable - linked to the C library. This fixes one of the bug that explains why gdbserver - didn't work well with threads. - -------------------------------------------------------------------------------- -Differences between Android 2.2. and Android 2.1: - -- Support FP register save/load in setjmp()/longjmp() on ARMv7 builds. - -- Add support for SH-4 CPU architecture ! - -- __atomic_swap(): use LDREX/STREX CPU instructions on ARMv6 and higher. - -- : New header (declarations only, no implementation). - -- : New header + implementation. GLibc compatibility. - -- : New header + implementation. GLibc compatibility. - -- : New header + implementation. - -- : Add missing include. - -- : New header + implementation. - -- : Added killpg() - -- : Allow 64-bit type declarations on C99 builds. - -- : Add fdprintf() and vfdprintf(). Note that GLibc provides - the confusing 'dprintf' and 'vdprintf()' functions instead. - -- : 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. - -- : Add missing include. - -- : Added new header (no implementation - macro templates). - -- : Add rlim_t proper definition. - -- : Add missing C++ header inclusion guards. - -- : Add getusershell(), setusershell() and endusershell(), though - implementation are bogus. GLibc compatibility. - -- : Add mbstowcs() and wcstombs() - -- add clone() implementation for ARM (x86 and SH-4 not working yet). - -- : : Add missing C++ inclusion guards - -- fix getpwnam() and getpwgrp() to accept "app_0" as a valid user name. - -- fix sem_trywait() to return -1 and set errno to EAGAIN, instead of - returning EAGAIN directly. - -- fix sem_post() to wake up multiple threads when called rapidly in - succession. - -- DNS: partial implementation of RFC3484 (rule 1, 2, 5, 6, 8, 10 and - modified rule 9), for better address selection/sorting. - In the process, removed code that was previously used for "sortlist" - in /etc/resolv.conf. (resolv.conf is already ignored, so the latter - is a no-op for actual functionality.) - -- fix pthread_sigmask() to properly return an error code without touching - errno. Previous implementation returned -1 on error, setting errno, which - is not Posix compliant. - -- add sigaltstack() implementation for ARM. - -- : Properly implement the 'timezone' and 'daylight' global variables - (they were not defined previously, though declared in the header). - -- : Fix timezone management implementation to properly update - 'tm_gmtoff' field in 'struct tm' structure. - -- DNS: get rid of spurious random DNS queries when trying to resolve - an unknown domain name. Due to an initialization bug, a random DNS search - list was generated for each thread if net.dns.search is not defined. - -- : Add pthread_condattr_init/destroy/setpshared/getpshared functions - to enable proper shared conditional variable initialization. - - Modify the pthread_mutex_t and pthread_cond_t implementation to use private - futexes for performance reasons. Mutexes and Condvars are no longer shareable - between processes by default anymore, unless you use PTHREAD_PROCESS_SHARED - with pthread_mutexattr_setpshared() and/or pthread_condattr_setpshared(). - -------------------------------------------------------------------------------- -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. - -- : Now includes . - -- : Added IPV6_JOIN_GROUP, IPV6_LEAVE_GROUP, IN6ADDR_ANY_INIT - and ipv6mr_interface definitions. - -- : - * 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). - -- : 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. diff --git a/libc/docs/ISSUES.TXT b/libc/docs/ISSUES.TXT deleted file mode 100644 index b53eb16dd..000000000 --- a/libc/docs/ISSUES.TXT +++ /dev/null @@ -1,20 +0,0 @@ -Bionic C Library Issues: -======================== - -This document lists important known issues of various releases -of the Bionic C library. Note that these differ from specific -implementation choices that are documented in the OVERVIEW.TXT -document. - -Currently known issues: ------------------------ - -- The C library initialization will improperly run static C++ - constructors located in shared libraries twice. - -Android-1.5 issues: -------------------- - -- getservbyname() returned the port number in the s_port field of - the 'struct servent' structure in host-byte-order, instead of - network-byte-order.