| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
More precisely, this accepts domain labels with an underscore in
the middle (i.e. not at the start or the end of the label). This
is needed to perform complex CNAME chain resolution in certain
VPN networks.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
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
|
| |\
| |
| |
| |
| | |
* changes:
update clean msm_camera.h
|
| | |
| |
| |
| | |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| |/
|
|
| |
structure
|
| | |
|
| | |
|
| |
|
|
| |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| |
|
|
|
|
| |
constructors twice."
This reverts commit 03eabfe65e1e2c36f4d26c78a730fa19a3bdada3.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
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>
|
| |
|
|
|
|
|
|
| |
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>
|
| |\
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| | |
Also add a new document detailing known issues in the C library.
|
| |\ \
| | |
| | |
| | |
| | | |
* 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
|
| | | |
| | |
| | |
| | |
| | |
| | | |
__cxa_finalize() implementation
This patch uses "#if ANDROID" instead of "#if 1" in the __cxa_finalize() fix
|
| | | |
| | |
| | |
| | | |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| | |/
|/|
| |
| | |
Signed-off-by: Iliyan Malchev <malchev@google.com>
|
| |/
|
|
| |
Also update tools/update_all.py to not use perforce add/edit/delete commands automatically now that we're using git
|
| |
|
|
|
|
| |
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...
|
| |
|
|
| |
by the C++ ABI for ARM document.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |\
| |
| |
| |
| | |
* 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| |/
|
|
|
|
|
| |
We're soon going to stop using TARGET_BUILD_TYPE==debug to debug
native modules.
Signed-off-by: Dave Bort <dbort@android.com>
|
| |
|
|
|
|
|
|
|
| |
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
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|