summaryrefslogtreecommitdiffstats
path: root/libc/docs/CHANGES.TXT
Commit message (Collapse)AuthorAgeFilesLines
* Fix __get_tls() in static C library to use kernel helpers.David 'Digit' Turner2010-08-271-0/+7
| | | | | | | This is needed to fix gdbserver's handling of threaded programs, among other things. Change-Id: I823387c602cef9891532da946a01db14be780ab0
* linker: Support dlopen(NULL, ...) properly.David 'Digit' Turner2010-07-231-0/+2
| | | | Change-Id: Icba37823cb350c34848cc466d144c3a0af87c94c
* libc: update alarm() implementation to return 0 on error.David 'Digit' Turner2010-07-081-0/+5
| | | | | | This matches the GLibc behaviour, and allows alarm(0xFFFFFFFF) to return 0. Change-Id: I419aa71b27d6bb2015d15ba6b6112bf62eadcbb8
* libc: fix fstatfs() implementation.David 'Digit' Turner2010-07-081-0/+2
| | | | | | The syscall expects the size of the buffer as the second argument. Change-Id: I99ede2fec7fcd385ca03ff022c2cffa4297bea8d
* libc: Fix sem_post() implementation to wake up all waiting threads.David 'Digit' Turner2010-07-021-1/+4
| | | | | | | This also allows us to optimize the case where we increment an uncontended semaphore (no need to call futex_wake() then). Change-Id: Iad48efe8551dc66dc89d3e3f18c001e5a6c1939f
* libc: add sanity checks to pthread_mutex_destroy()David 'Digit' Turner2010-06-281-1/+3
| | | | Change-Id: Iddb2204fa792fa9aca5f19838926dddbb09b74a2
* Remove compiler warnings when building Bionic.David 'Digit' Turner2010-06-221-0/+13
| | | | | | | | Also add missing declarations to misc. functions. Fix clearerr() implementation (previous was broken). Handle feature test macros like _POSIX_C_SOURCE properly. Change-Id: Icdc973a6b9d550a166fc2545f727ea837fe800c4
* wchar.h: improve wchar_t support in BionicDavid 'Digit' Turner2010-06-151-0/+25
| | | | Change-Id: Iffd41046fd0933c66542abf7627a1569522dfcb2
* libc: add missing truncate() declarationDavid 'Digit' Turner2010-06-111-0/+3
| | | | Change-Id: Icb3601bbc9365b75b05ff443a39192f9cd3cbfb7
* libc: Add missing <termio.h> headerDavid 'Digit' Turner2010-06-111-0/+2
| | | | Change-Id: Id4e020ed330b3eabf09324f9b6d44d3a0f336d87
* sysconf(): Fix line parser for /proc files.David 'Digit' Turner2010-06-091-0/+3
| | | | Change-Id: I2678010ee95933de19c8a8e3b2fe65ceb9b86400
* Add sincosl() function to bionic. So that sincos optimization can - DO NOT MERGEDavid 'Digit' Turner2010-06-091-0/+2
| | | | | | be enabled. Change-Id: I672cb319689aa4fb3f1f7cd868dda76842bebae9
* Fix setjmp()/longjmp() to save FP registers on ARMv7. - DO NOT MERGEDavid 'Digit' Turner2010-06-091-0/+2
| | | | Change-Id: I3a0c2c05e295ac05ed51a531dabda668be204ca0
* Add missing sysinfo() implementation (already declared in <sys/sysinfo.h>) - ↵David 'Digit' Turner2010-06-091-0/+3
| | | | | | DO NOT MERGE Change-Id: Iac4eb5911ffe4a7ab72b84df44e907685ac816af
* Use private futexes for semaphores, unless they are initialized with pshared ↵David 'Digit' Turner2010-06-081-0/+3
| | | | | | | != 0. Change-Id: I534e36a7171cd37037ae03b910ba71ea6968286d Note: previously, sem_init() would return an error if pshared != 0.
* Add pthread_rwlock_t implementation to the C library (DO NOT MERGE)David 'Digit' Turner2010-05-191-1/+6
| | | | Change-Id: I756d8c26afc37cd7b71117ddbaa02a2cb40fdecb
* pthread: Use private futexes by default in condition variablesDavid 'Digit' Turner2010-03-221-7/+4
| | | | | | | Now that the system properly uses shared condvars when needed, we can enable the use of private futexes for them too. Change-Id: Icf8351fc0a2309f764cba45c65bc3af047720cdf
* Use private futexes for pthread_mutex_t.David 'Digit' Turner2010-03-181-0/+5
| | | | | | | | | | This does not change the implementation of conditional variables since we're waiting for other system components to properly use pthread_condattr_init/setpshared before that. Also remove an obsolete x86 source file. Change-Id: Ia3e3fbac35b87a534fb04d4381c3c66b975bc8f7
* Add pthread_condattr_init/destroy/setpshared/getpsharedDavid 'Digit' Turner2010-03-181-1/+7
| | | | | | | | | | Note that this does not change the implementation of conditional variables which still use shared futexes, independent on the flags being selected. This will be fixed in a later patch, once our system is modified to use pthread_condattr_setpshared(attr, PTHREAD_PROCESS_SHARED) properly. Change-Id: I935de50964cd41f97a13dbfd6626d3407b0406c3
* Revert "bionic: pthread: use private futexes by default for mutexes and ↵Fabrice Di Meglio2010-03-111-10/+0
| | | | | | condvars" This reverts commit ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.
* bionic: pthread: use private futexes by default for mutexes and condvarsDavid 'Digit' Turner2010-03-111-0/+10
| | | | | | | | | | Private futexes are a recent kernel addition: faster futexes that cannot be shared between processes. This patch uses them by default, unless the PROCESS_SHARED attribute flag is used when creating a mutex and/or conditional variable. Also introduces pthread_condattr_init/destroy/setpshared/getpshared. Change-Id: I3a0e2116f467072b046524cb5babc00e41057a53
* Fix spurious DNS lookups in the C library.David 'Digit' Turner2010-03-081-0/+4
| | | | | | | | | | | | | | | | | | | | | | | The problem was that the 'defdname' field of res_state structure was not properly initialized in __res_vinit(). This field is used to store the default domain name, which is normally build from calling gethostname() (see line 549 of res_init.c). Unfortunately, in the typical Android case, gethostname() returns an error (the hostname is configured) and a random stack string is used later to build the DNS search list (see lines 556+ in res_init.c) For the sake of illustration, let's say the search list is set to a random value like 'xWLK'. The end result is that when trying to result an unknown domain name (e.g. 'www.ptn'), the query fails then the resolver tries to make a new query with the DNS search list path(s) appended (e.g. 'www.ptn.xWLK'). The patch simply initializes 'defdname' to an empty string to avoid this when the net.dns.search system property is not set. Also contains whitespace/formatting fixes
* Fix timezone management in the C libraryDavid 'Digit' Turner2010-03-051-0/+6
| | | | | | | Define 'timezone' and 'daylight' global variables that are already defined in <time.h> Properly update the 'tm_gmtoff' field in 'struct tm' values.
* add sigaltstack syscallAndrei Popescu2010-03-021-0/+2
|
* Fix pthread_sigmask() to return correct error values.David 'Digit' Turner2010-03-011-0/+4
| | | | | Before that, it returned -1 on error and set errno (not Posix) After the patch, it returns the error code and leaves errno untouched.
* Implement support for RFC 3484 (address selection/sorting) in bionic. (TheSteinar H. Gunderson2010-02-241-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | Java changes required not to mess up the ordering from bionic will arrive in a later commit.) In particular, this will give us more correct behavior when on a 6to4 network, in that IPv4 will usually be preferred over 6to4. Most of RFC 3484 is implemented -- what's not is rule 3 (avoid deprecated addresses), 4 (prefer home addresses) and 7 (prefer native transport) as they require low-level access to the kernel routing table via netlink. (glibc also started out this way, and these rules are primarily useful in pretty obscure circumstances, so we should be fine for the time being.) Also, rule 9 (use longest matching prefix) has been modified so it does not try to sort IPv4 addresses; given current IPv4 addressing practice these rules are pretty much meaningless. Finally, I've added support for Teredo as a separate label, with slightly lower preference than 6to4. (Vista puts the preference below IPv4 by default. glibc puts the preference together with non-tunneled IPv6.) Note that this patch removes support for the "sortlist" directive in resolv.conf; I've never seen it in actual use, it's irrelevant for Android (since we don't use resolv.conf anyway), and it's not clear how it would be implemented alongside RFC 3484.
* Fix sem_post() behaviour to wake up multiple waiting threads.David 'Digit' Turner2010-02-121-0/+3
|
* Fix sem_trywait() implementation + update changelog.David 'Digit' Turner2010-02-121-1/+8
|
* Implement clone() C library function properly.David 'Digit' Turner2010-01-251-0/+1
| | | | | | | Only provide an implementation for ARM at the moment, since it requires specific assembly fragments (the standard syscall stubs cannot be used because the child returns in a different stack).
* Add Bionic Changelog in libc/docs/CHANGES.TXTDavid 'Digit' Turner2010-01-211-0/+133