summaryrefslogtreecommitdiffstats
path: root/libc
Commit message (Collapse)AuthorAgeFilesLines
* Restore malloc debug.Andy McFadden2009-07-214-16/+21
| | | | | | Some libc changes were preventing the initialization call from being made. The basic problem appears to be that libc_init_common.c is only built once, and it's only built for the non-debug libc.
* Fix the C library runtime initialization order.David 'Digit' Turner2009-07-184-100/+115
| | | | | | | | | | | This allows libc.so to run the C runtime initializer as soon as the dynamic linker loads the shared library, i.e. before any other initializers (e.g. static C++ constructors in other shared libraries the executable depends on). This also removes the bug where the initializers from the executable itself were run twice: once by the dynamic linker, and another time by __libc_init as defined by libc_init_dynamic.c
* Pass the elfdata pointer in a slot of the temporary TLS area.David 'Digit' Turner2009-07-171-0/+7
| | | | | | | | | | | | | | | | This is needed to properly initialize the C runtime when libc.so is loaded by the dynamic linker. Move the temporary TLS setup before the first system call, just in case something really horrible happens, we won't crash when trying to write an error code in 'errno' Remove the broken TLS_SLOT_THREAD_ID setup. First, this slot should normally receive the address of a pthread_internal_t, not a kernel thread identifier. Second, it is never used by the linker anyway. Also remove an obsolete comment.
* Add <linux/uinput.h> to C library kernel headersDavid 'Digit' Turner2009-07-101-0/+67
|
* Prevent a crash in the memory leak checker (which happened in chk_free())David 'Digit' Turner2009-07-103-63/+88
| | | | | | Simplify the code a little, removing un-necessary mutex locks/unlocks. Provide slightly better diagnostic message in case of corruption. Use snprintf/strlcat instead of sprintf/strcat
* Merge change 5184 into donutAndroid (Google) Code Review2009-06-241-24/+26
|\ | | | | | | | | * changes: update clean msm_camera.h
| * update clean msm_camera.hIliyan Malchev2009-06-231-24/+26
| | | | | | | | Signed-off-by: Iliyan Malchev <malchev@google.com>
* | Add Glibc-compatible macro aliases for the nanosecond time accessors in stat ↵David 'Digit' Turner2009-06-221-0/+7
|/ | | | structure
* Update cleaned-up kernel headersDavid 'Digit' Turner2009-06-162-35/+35
|
* Add new clean header for PPP on PPTP (VPN)David 'Digit' Turner2009-06-121-0/+28
|
* bionic: update msm_camera.h headerIliyan Malchev2009-06-041-38/+38
| | | | Signed-off-by: Iliyan Malchev <malchev@google.com>
* Revert "Fix the C library initialization to avoid calling static C++ ↵David 'Digit' Turner2009-06-039-227/+91
| | | | | | constructors twice." This reverts commit 03eabfe65e1e2c36f4d26c78a730fa19a3bdada3.
* Fix the C library initialization to avoid calling static C++ constructors twice.David 'Digit' Turner2009-06-029-91/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | The problem was due to the fact that, in the case of dynamic executables, the dynamic linker calls the DT_PREINIT_ARRAY, DT_INIT and DT_INIT_ARRAY constructors when loading shared libraries and dynamic executables, *before* calling the executable's entry point (i.e. arch-$ARCH/bionic/crtbegin_dynamic.c) which in turns call __libc_init() in libc.so, as defined by bionic/libc_init_dynamic.c The latter did call these constructors array again, mistakenly. The patch also updates the documentation of many related functions. Also adds a new section to linker/README.TXT explaining restrictions on C library usage. The patch has been tested on a Dream for stability issues with proprietary blobs: - H264 decoding works - Camera + Video recording works - GPS works - Sensors work The tests in system/extra/tests/bionic/libc/common/test_static_cpp_mutex.cpp has been run and shows the static C++ constructor being called only once.
* libc: Add an intermediate version of the static libc without mallocDima Zavin2009-05-271-0/+26
| | | | | | | For now, this will only used by the dynamic loader to ensure that malloc and friends are never called. Signed-off-by: Dima Zavin <dima@android.com>
* libc: Cleanup the libc makefile.Dima Zavin2009-05-271-116/+84
| | | | | | | | Removes a lot of redundant code, and reorganizes the file. We first setup all the comomn variables we may need, and then define the actual libraries that need to be generated. Signed-off-by: Dima Zavin <dima@android.com>
* Merge change 2470 into donutAndroid (Google) Code Review2009-05-272-2/+27
|\ | | | | | | | | * changes: Fix getservent() so that it returns s_port in network byte order. Also add a new document detailing known issues in the C library.
| * Fix getservent() so that it returns s_port in network byte order.David 'Digit' Turner2009-05-272-2/+27
| | | | | | | | Also add a new document detailing known issues in the C library.
* | Merge change 1852 into donutAndroid (Google) Code Review2009-05-272-2/+18
|\ \ | | | | | | | | | | | | * changes: Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated __cxa_finalize() implementation This patch uses "#if ANDROID" instead of "#if 1" in the __cxa_finalize() fix
| * | Fix __eabi_atexit() implementation, as well as a bug in the BSD-originated ↵David 'Digit' Turner2009-05-202-2/+18
| | | | | | | | | | | | | | | | | | __cxa_finalize() implementation This patch uses "#if ANDROID" instead of "#if 1" in the __cxa_finalize() fix
* | | add msm_camera.h header and .gitignore file to bionicIliyan Malchev2009-05-261-0/+354
| | | | | | | | | | | | Signed-off-by: Iliyan Malchev <malchev@google.com>
* | | update msm_adsp.h headerIliyan Malchev2009-05-261-7/+13
| |/ |/| | | | | Signed-off-by: Iliyan Malchev <malchev@google.com>
* | Add <linux/ipsec.h> and <linux/if_pppolac.h> for VPN support.David 'Digit' Turner2009-05-204-2/+88
|/ | | | Also update tools/update_all.py to not use perforce add/edit/delete commands automatically now that we're using git
* revert to previous implementation of __aeabi_atexit() since the new one ↵David 'Digit' Turner2009-05-151-1/+2
| | | | | | seems to crash a static ICU String destructor. I don't have the time to investigate why right now, so a revert is preferred. Damn...
* Fix __aeabi_atexit to call __cxa_atexit properly. This function is defined ↵David 'Digit' Turner2009-05-141-2/+3
| | | | by the C++ ABI for ARM document.
* change getaddrinfo() implementation to match GLibc.David 'Digit' Turner2009-05-051-2/+6
| | | | | | | | | | | | | | the issue is that the BSD implementation doesn't accept a call like: getaddrinfo(SERVER_NAME, "9999", NULL, &res); because if will reject a numerical string in the second parameter if no hints are explicitely provided. This technically doesn't violate POSIX but might make porting Linux software a bit difficult. For more details see: http://groups.google.com/group/android-ndk/browse_thread/thread/818ab9c53f24c87 also comment debugging printf() calls which shouldn't be there.
* Merge change 57 into donutAndroid (Google) Code Review2009-05-011-0/+37
|\ | | | | | | | | * changes: Add the domain search list for VPN connection. The current solution is to read the net.dns.search property, and expand the list during the resolve initialization. In the future, we could implement search list per process.
| * Add the domain search list for VPN connection.Chung-yih Wang2009-04-131-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | The current solution is to read the net.dns.search property, and expand the list during the resolve initialization. In the future, we could implement search list per process. Update: refine the code accordingly. Update: remove unnecessary code. Update: remove the unused variable.
* | libc: Replace a reference to TARGET_BUILD_TYPE with DEBUG_BIONIC_LIBCDave Bort2009-04-241-1/+1
|/ | | | | | | We're soon going to stop using TARGET_BUILD_TYPE==debug to debug native modules. Signed-off-by: Dave Bort <dbort@android.com>
* AI 143161: am: CL 142857 Add some bluring to the animation. This requires a ↵Mathias Agopian2009-03-271-0/+1
| | | | | | | | | new kernel which will be checked-in later, at which point the blur effect will automatically be enabled. Original author: mathias Merged from: //branches/cupcake/... Automated import of CL 143161
* auto import from //branches/cupcake_rel/...@140373The Android Open Source Project2009-03-181-0/+1
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031631-0/+144391
|
* auto import from //depot/cupcake/@135843The Android Open Source Project2009-03-031631-144388/+0
|
* auto import from //depot/cupcake/@132589The Android Open Source Project2009-03-031-11/+8
|
* auto import from //depot/cupcake/@137055The Android Open Source Project2009-03-021-8/+11
|
* auto import from //branches/cupcake/...@132569The Android Open Source Project2009-02-201-0/+15
|
* auto import from //branches/cupcake/...@132276The Android Open Source Project2009-02-1928-819/+1556
|
* auto import from //branches/cupcake/...@131421The Android Open Source Project2009-02-131-1/+1
|
* auto import from //branches/cupcake/...@130745The Android Open Source Project2009-02-1016-60/+1531
|
* auto import from //branches/cupcake/...@127101The Android Open Source Project2009-01-207-37/+186
|
* auto import from //branches/cupcake/...@126645The Android Open Source Project2009-01-1512-12/+32
|
* auto import from //branches/cupcake/...@125939The Android Open Source Project2009-01-0933-26/+414
|
* Code drop from //branches/cupcake/...@124589The Android Open Source Project2008-12-17276-439/+11192
|
* Initial Contributionandroid-1.0The Android Open Source Project2008-10-211428-0/+130855