Home
last modified time | relevance | path

Searched refs:that (Results 1 – 25 of 41) sorted by relevance

12

/bionic/linker/
Dlinked_list.h44 LinkedListIterator(const LinkedListIterator<T>& that) : entry_(that.entry_) {} in LinkedListIterator() argument
47 LinkedListIterator<T>& operator=(const LinkedListIterator<T>& that) {
48 entry_ = that.entry_;
61 bool operator==(const LinkedListIterator<T>& that) const {
62 return entry_ == that.entry_;
65 bool operator!=(const LinkedListIterator<T>& that) const {
66 return entry_ != that.entry_;
87 LinkedList(LinkedList&& that) noexcept { in LinkedList() argument
88 this->head_ = that.head_; in LinkedList()
89 this->tail_ = that.tail_; in LinkedList()
[all …]
DAndroid.bp10 // each binary. There's a linker script that sets all of that up (generated by
132 // Ensure that the compiler won't insert string function calls before ifuncs are resolved.
268 // Leave the symbols in the shared library so that stack unwinders can produce
292 // Ensure that if the linker needs __gnu_Unwind_Find_exidx, then the linker will have a
368 // NOTE: --exclude-libs=libgcc.a makes sure that any symbols ld-android.so pulls from
369 // libgcc.a are made static to ld-android.so. This in turn ensures that libraries that
451 // Parts of the linker that we're testing.
/bionic/docs/
Dlibc_assembler.md9 verify that the routine is being properly tested.
10 * Rerun the benchmarks using the updated image that uses the code for
13 * Verify that unwind information for new routine looks correct. See
17 Make sure that you benchmark both the big and little cores to verify that
62 The last argument is the name of the one function that you want to
66 **bionic/benchmarks/suites**. Look at the examples in that file to see
67 how to add a benchmark for a function that doesn't already exist.
94 that if the device does not get up to the maximum cpu frequency, the results
99 Another potential issue is that the device can overheat when running the
101 or choose a device that is less likely to overheat. To detect these kind
[all …]
D32-bit-abi.md6 that use `off_t` to working on files no larger than 2GiB.
20 all you need are functions like `read` that don't take/return `off_t`, large
28 compiled with that was actually using a 32-bit `off_t`. With a new enough NDK,
30 all functions that take an `off_t` become unavailable. You've asked for their
35 [linker map](libc/libc.map.txt) for full details. Note also that in NDK r16 and
38 that's often needed. This means that code using `_FILE_OFFSET_BITS=64`
39 and `mmap` (but no other functions that are unavailable at your target
46 aren't aware that `_FILE_OFFSET_BITS` is set. You might also have to
48 flag that should never be set by user code but sometimes is (by zlib,
50 doesn't compile, you can insert this just before the line that's failing
[all …]
Dnative_allocator.md10 It is important to note that there are two modes for a native allocator
21 When evaluating a native allocator, make sure that you benchmark both
25 Android supports a few non-standard functions and mallopt controls that
29 These are functions that are used to implement a memory leak detector
33 This function, when called, should pause all threads that are making a
51 These are mallopt options that Android requires for a native allocator
55 When set to zero, `mallopt(M_DECAY_TIME, 0)`, it is expected that an
65 The drawback to this option is that most allocators do not have a separate
67 allocation operation occurs. For server processes, this can mean that
73 made by default. The idea is that it allows application frees to run a
[all …]
Ddefines.md10 is typically a good choice when you use libc API that's only in bionic, such as
12 `__GLIBC__`, `__APPLE__`, or `_WIN32`. Note that although bionic is most often
19 more appropriate. This is typically a good choice if you have code that's part
22 remember that it is possible -- if unusual -- to use bionic on the host).
32 that for most of the year, the OS builds with this set to 10,000 rather than the
34 value of `__ANDROID_API__` drops to that number.
60 macros to conditionally compile. Note that the ABI usually called `arm64` uses
Dfdsan.md38 Assertion failures are probably the most innocuous result that can arise from these bugs: silent da…
43 …ile descriptor with an owner; if someone tries to close a file descriptor that they don't own, dep…
45that identifies the type of the owner (`enum android_fdan_owner_type` in [`<android/fdsan.h>`](htt…
47 If a file descriptor that's been marked with a tag is closed with an incorrect tag, or without a ta…
63 …ror is proportional to the percentage of file descriptors in your process that are tagged with an …
68 Let's look at a simple contrived example that uses sleeps to force a particular interleaving of thr…
136 This implies that either we're accidentally closing out file descriptor too early, or someone else …
158 Now that we've guarded the file descriptor with fdsan, we should be able to find where the double c…
186 …hen tracking down double-closes in processes that have sparse fdsan coverage. What actually happen…
227 …ed types like `unique_fd` and `ParcelFileDescriptor`, to improve the odds that double closes in ot…
[all …]
Dstatus.md75 * `aligned_alloc` correctly verifies that `size` is a multiple of `alignment`.
284 Note that this doesn't change behavior as much as you might think: the
286 the lookup, so there was still a race between that and the dereference
287 in the caller, given that callers actually need the tid to pass to some
312 use `pthread_gettid_np` at some point that you know the thread to be
321 POSIX says that `sem_wait` can be interrupted by delivery of a
323 bug we found that existing code relied on the old behavior. To preserve
335 Note that in recent releases Android's FORTIFY has been extended to
349 need to manually enable FORTIFY by setting that themselves in whatever
/bionic/
DREADME.md29 that the dynamic linker replaces with pointers to its own implementation at
35 thread-safe static initialization and the like, so it just calls functions that
42 has a `DT_INTERP` entry that says "use the following program to start me". On
43 Android, that's either `linker` or `linker64` (depending on whether it's a
45 into memory and resolving references to symbols (so that when your code tries to
67 # Each architecture has its own subdirectory for stuff that isn't shared
68 # because it's architecture-specific. There will be a .mk file in here that
115 # because the Linux kernel interface is sufficiently different that we
117 # legacy mess that needs to be sorted out, either by replacing it with
122 # The code that implements the functionality to enable debugging of
[all …]
Dandroid-changes-for-ndk-developers.md19 Our general practice with dynamic linker behavior changes is that they
27 * Warnings about any behavior change that will affect a library if you
28 increase your target API level will appear in logcat when that library
29 is loaded, even if you're not yet targeting that API level.
32 as toasts. Experience has shown that many developers don’t habitually
40 on the dynamic linker's search path. This meant that apps
65 in that order. For API 23 and later, for any given library, the dynamic
72 the local group. This allows ASAN, for example, to ensure that it can
78 LD_PRELOAD applies to both 32- and 64-bit processes. This means that you
87 correctly in API 23 and later. Note that RTLD_LOCAL is the default,
[all …]
/bionic/libdl/
DNOTICE14 the copyright owner that is granting the License.
17 other entities that control, are controlled by, or are under common
18 control with that entity. For the purposes of this definition,
38 copyright notice that is included in or attached to the work
42 form, that is based on (or derived from) the Work and for which the
45 of this License, Derivative Works shall not include works that remain
51 to that Work or Derivative Works thereof, that is intentionally
58 and issue tracking systems that are managed by, or on behalf of, the
60 excluding communication that is conspicuously marked or otherwise
80 by such Contributor that are necessarily infringed by their
[all …]
DAndroid.bp45 // NOTE: --exclude-libs=libgcc.a makes sure that any symbols libdl.so pulls from
46 // libgcc.a are made static to libdl.so. This in turn ensures that libraries that
137 // NOTE: --exclude-libs=libgcc.a makes sure that any symbols libdl.so pulls from
138 // libgcc.a are made static to libdl.so. This in turn ensures that libraries that
/bionic/libc/malloc_debug/
DREADME.md13 When malloc debug is enabled, it works by adding a shim layer that replaces
60 padded so that it is a multiple of 8 bytes on 32 bit systems and 16 bytes
61 on 64 bit systems to make sure that the allocation returned is aligned
64 This option adds a special header to all allocations that contains the guard
84 This option adds a special header to all allocations that contains
105 Note that any backtrace frames that occur within the malloc backtrace library
112 Before P, this option adds a special header to all allocations that contains
113 the backtrace and information about the original allocation. After that, this
119 that dumped when running am dumpheap -n. The default is to dump this data
121 used with native only executables that run for a while since these processes
[all …]
DREADME_marshmallow_and_earlier.md9 functional until API level 19, so using it on a version older than that
19 When malloc debug is enabled, it works by adding a shim layer that replaces
39 Malloc debug is controlled by a system property that takes a numeric value
40 named libc.debug.malloc. It has only a few distinct modes that enables a
46 that contains information about the allocation.
73 that contains information about the allocation.
94 on the list is removed and verified that it still contains the pattern 0xef.
99 When the program completes, all of the allocations that are still live
112 cause malloc debug to only be used on processes with that name. For example,
DREADME_api.md4 in a process. The libc library in Android exports two calls that can be
12 *info* is set to a buffer allocated by the call that contains all of
17 *total\_memory* is set to the sum of all allocation sizes that are live at
21 that are present for each allocation.
/bionic/libc/kernel/
DREADME.md3 Bionic comes with a processed set of all of the uapi Linux kernel headers that
9 declarations and constructs that usually result in compilation failure.
22 also includes the header files that are generated by building the kernel
65 tracking, read the uapi/linux/version.h that is generated.
71 Before running the command to import the headers, make sure that you have
92 After this, you will need to build/test the tree to make sure that these
/bionic/benchmarks/linker_relocation/
DAndroid.bp5 // modification, are permitted provided that the following conditions
34 // into the testcases/linker_reloc_bench directory. The obvious way to do that is to list each
35 // library in the "data" property, but that doesn't work, because each library is listed as having a
37 // "link:(shared/static)" variation. It appears that Soong needs to be fixed to make this benchmark
/bionic/libc/malloc_hooks/
DREADME.md4 Malloc hooks allows a program to intercept all allocation/free calls that
11 When malloc hooks is enabled, it works by adding a shim layer that replaces
62 the caller must guarantee that it does not depend on allocations/frees
68 the current default allocation functions. It is expected that if an
115 of 32. This meant that to create a wrap property with the name of the app, it
/bionic/libc/
DNOTICE5 modification, are permitted provided that the following conditions
32 modification, are permitted provided that the following conditions are met:
61 software is freely granted, provided that this notice
71 software is freely granted, provided that this notice
84 software is freely granted, provided that this notice
97 software is freely granted, provided that this notice
111 software is freely granted, provided that this notice
121 software is freely granted, provided that this notice
134 software is freely granted, provided that this notice
148 software is freely granted, provided that this notice
[all …]
DAndroid.bp41 // Try to catch typical 32-bit assumptions that break with 64-bit pointers.
134 // Functions not implemented by jemalloc directly, or that need to
142 // Used to pull in the jemalloc include directory so that if the
151 // Code that implements the stack protector (or that runs before TLS has been set up) needs to be
435 // that can be safely included in the libc_ndk.a (doesn't
989 // libc_bionic_ndk.a- The portions of libc_bionic that can
1189 // libc_pthread.a - pthreads parts that previously lived in
1296 // This is an LP32 ARM-only library that needs to be built with -fno-builtin
1315 // all the parts of libc that are safe to statically link.
1316 // We can't safely statically link things that can only run
[all …]
DSECCOMP_BLOCKLIST_APP.TXT2 # Note that the resultant policy is applied only to zygote spawned processes.
11 # the process still has CAP_SYS_ADMIN; changing the uid would remove that capability.
DSECCOMP_ALLOWLIST_SYSTEM.TXT2 # Note that the resultant policy is applied only to zygote spawned processes.
/bionic/libc/kernel/android/
DREADME.md1 The files under the uapi directory are android kernel uapi header files that
10 declarations that can't be directly used by userspace. The glibc
/bionic/benchmarks/
DREADME.md33 searches for the XML file in the `suites/` directory. If it doesn't exist in that directory, then
61 Note that benchmarks will run normally if extra arguments are passed in, and it will fail
95 benchmarks, the CPU measurement only counts time spent in the thread calling `posix_spawn`, not that
179 Changing the scaling governor to `performance` suppresses the warning that Google Benchmark
184 Some devices have a `perf-setup.sh` script that locks CPU and GPU frequencies. Some TradeFed
/bionic/tests/libs/
DAndroid.bp311 // 1. Check that private libraries loaded in different namespaces are
312 // different. Check that dlsym does not confuse them.
313 // 2. Check that public libraries loaded in different namespaces are shared
315 // 3. Check that namespace sticks on dlopen
316 // 4. Check that having access to shared library (libnstest_public.so)
374 // 1. Check that namespace a exposes libnstest_ns_a_public1 to
377 // 2. Check that namespace b exposes all libraries to namespace a.
1265 // Check that RTLD_NEXT of a libc symbol works in dlopened library
1274 // Library with constructor that calls dlopen() b/7941716
1319 // Library that depends on the library with constructor that calls dlopen() b/7941716
[all …]

12