| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
Change-Id: Ic210fe9f740b9a8235a66d479ad4eddc869998bb
Signed-off-by: Bruce Beare <brucex.j.beare@intel.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this patch _and_ an upcoming build/ patch, the destruction
of static C++ objects contained in shared libraries will happen
properly when dlclose() is called.
Note that this change introduces crtbegin_so.S and crtend_so.S which
are currently ignored by the build system.
+ move definition of __dso_handle to the right place
(before that, all shared libraries used the __dso_handle
global variable from the C library).
Note that we keep a 'weak' __dso_handle in aeabi.c to avoid
breaking the build until the next patch to build/core/combo/
appears. We will be able to remove that later.
+ move bionic/aeabi.c to arch-arm/bionic/ (its proper location)
NOTE: The NDK will need to be modified to enable this feature in
the shared libraries that are generated through it.
Change-Id: I99cd801375bbaef0581175893d1aa0943211b9bc
|
| |\
| |
| |
| | |
Change-Id: I076e0df8656fdf58c229cc9a168cd6d8e16b6d8e
|
| | |\ |
|
| | | |
| | |
| | |
| | | |
Change-Id: I27b68bb28551c75c9ac84bb9730e2cd8254d8991
|
| |\ \ \
| |/ /
| | |
| | | |
Change-Id: I96d2cd063f084fd17116bf7ee08fa7109a3c1ceb
|
| | |/
| |
| |
| | |
Change-Id: I3c967fca60f542459dc17be84da47b3b6a26242b
|
| |\ \
| |/
| |
| | |
Change-Id: I70266ee8c520b216773f267e46c8273d2334c31d
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| | |
condvars"
This reverts commit ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Any of the setuid functions now updates /acct/uid/ with its own tid
before changing users. This is so we can properly account for cpu time
per uid.
Change-Id: I34186cf4d5228cac8439e582a9e26c01ef3011e4
Signed-off-by: Mike Chan <mike@android.com>
|
| | | |
|
| | |
| |
| |
| | |
Signed-off-by: San Mehat <san@google.com>
|
| |/
|
|
|
|
|
| |
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).
|
| |
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| |
|