/bionic/libc/upstream-openbsd/lib/libc/string/ |
D | stpcpy.c | 40 stpcpy(char *to, const char *from) in stpcpy() argument 42 for (; (*to = *from) != '\0'; ++from, ++to); in stpcpy() 43 return(to); in stpcpy()
|
D | strcpy.c | 40 strcpy(char *to, const char *from) in strcpy() argument 42 char *save = to; in strcpy() 44 for (; (*to = *from) != '\0'; ++from, ++to); in strcpy()
|
/bionic/libc/upstream-freebsd/lib/libc/string/ |
D | wcpcpy.c | 41 wcpcpy(wchar_t * __restrict to, const wchar_t * __restrict from) in wcpcpy() argument 44 for (; (*to = *from); ++from, ++to); in wcpcpy() 45 return(to); in wcpcpy()
|
/bionic/docs/ |
D | libc_assembler.md | 3 This document describes how to verify incoming assembler libc routines. 7 * Update the routine, run the bionic unit tests to verify the routine doesn't 8 have any bugs. See the [Testing](#Testing) section for details about how to 13 …utine looks sane. See the [Unwind Info](#unwind-info) section for details about how to verify this. 15 When benchmarking, it's best to verify on the latest Pixel device supported. 16 Make sure that you benchmark both the big and little cores to verify that 27 Locking to a specific cpu: 32 The bionic benchmarks are used to verify the performance of changes to 38 and pushed on to the device. The commands below show how to do this. 56 command to work, you need to change directory to one of the above [all …]
|
D | 32-bit-abi.md | 6 that use `off_t` to working on files no larger than 2GiB. 8 Android does not require the `_LARGEFILE_SOURCE` macro to be used to make 12 Android also does not require the `_LARGEFILE64_SOURCE` macro to be used 13 to make `off64_t` and corresponding functions such as `ftruncate64` available. 17 There are a couple of exceptions to note. Firstly, `off64_t` and the single 42 If your code stops compiling when you move to NDK r15 or later, removing every 43 definition of `_FILE_OFFSET_BITS=64` will restore the behavior you used to have: 46 aren't aware that `_FILE_OFFSET_BITS` is set. You might also have to 47 remove references to `__USE_FILE_OFFSET64` --- this is the internal 51 to double check: [all …]
|
D | elf-tls.md | 25 few instructions. TLS variables belonging to dlopen'ed shared objects, on the other hand, may be 38 According to Drepper, variant 2 was motivated by backwards compatibility, and variant 1 was designed 40 an executable, the linker needs to know where an executable's TLS segment is relative to the TP so 44 Each thread has a "Dynamic Thread Vector" (DTV) with a pointer to each module's TLS block (or NULL 47 expected to point immediately at the DTV pointer, whereas in variant 2, the DTV pointer's offset 50 The DTV's "generation" field is used to lazily update/reallocate the DTV when new modules are loaded 57 When a C/C++ file references a TLS variable, the toolchain generates instructions to find its 70 A GD access can refer to a TLS variable anywhere. To access a variable `tls_var` using the 72 call to a `__tls_get_addr` function provided by libc. 100 `R_TLS_DTPMOD` is a dynamic relocation to the index of the module containing `tls_var`, and [all …]
|
D | fdsan.md | 6 *What problem is fdsan trying to solve? Why should I care?* 8 …to manifest as *use-after-close* and *double-close*. These errors are direct analogues of the memo… 38 … (e.g. suppose thread two was saving user data to disk when a third thread came in and opened a so… 43 …to detect and/or prevent file descriptor mismanagement by enforcing file descriptor ownership. Lik… 45 …to set a 64-bit closure tag on a file descriptor. The tag consists of an 8-bit type byte that iden… 55 …- Upon detecting an error, emit a warning to logcat, generate a tombstone, and then continue execu… 63 The likelihood of fdsan catching a file descriptor error is proportional to the percentage of file … 65 ### Using fdsan to fix a bug 68 Let's look at a simple contrived example that uses sleeps to force a particular interleaving of thr… 89 err(1, "good failed to write?!"); [all …]
|
/bionic/tools/bionicbb/ |
D | README.md | 35 for a Jenkins account that has the appropriate permissions to launch the jobs 38 You will also need to add the HTTP password for the buildbot's Gerrit account to 49 The mail listener will direct your browser to an authentication page for the 55 Bionicbb polls a gmail account to find changes that need to be built. The gmail 56 account needs to have a gerrit account set up with project watches on anything 57 it finds interesting. This is a rather ugly hack, but it seems to be the 61 but it is only available over an SSH conection to gerrit, and the AOSP gerrit 64 Another option would be polling gerrit itself, but we'd have to process each 65 change every time to see if it should be built, whereas project watches allow us 66 to treat these as semi-push notifications (we still have to poll gmail). [all …]
|
/bionic/ |
D | android-changes-for-ndk-developers.md | 3 This document details important changes related to native code 10 you need to have the “binutils” package installed for readelf, 17 will be tied to an app's target API level: 22 * At the affected API level and above, we’ll refuse to load the library. 31 toasts help bring some visibility to the issues before it's too late. 33 ## Changes to library dependency resolution 38 had to call `dlopen` or `System.loadLibrary` on all transitive 42 to topologically sort your libraries and load them in reverse order. 44 If you need to support Android devices running OS 45 versions older than JB-MR2, you might want to consider [all …]
|
D | README.md | 12 This documentation is about making changes to bionic itself. 23 `cos(3)` in a separate library to save space in the days before shared 29 that the dynamic linker replaces with pointers to its own implementation at 34 The C++ ABI support functions. The C++ compiler doesn't know how to implement 42 has a `DT_INTERP` entry that says "use the following program to start me". On 45 into memory and resolving references to symbols (so that when your code tries to 46 jump to `fopen(3)`, say, it lands in the right place). 90 # generate_uapi_headers.sh script should be used to go from a kernel tree to 92 # details. The update_all.py script should be used to regenerate bionic's 110 # This is where we keep the hacks necessary to build BSD source [all …]
|
/bionic/libc/arch-x86_64/bionic/ |
D | __bionic_clone.S | 40 # Translate to the kernel calling convention and swap the 'tls' and 'child_tid' arguments. 61 # We don't want anyone to unwind past this point. 74 # We're the parent; nothing to do.
|
/bionic/libc/malloc_debug/ |
D | README_api.md | 3 Malloc debug can be used to get information on all of the live allocations 5 used to gather this data from a process. This tracking can be enabled using 8 The function to gather the data: 12 *info* is set to a buffer allocated by the call that contains all of 14 *overall\_size* is set to the total size of the buffer returned. If this 17 *total\_memory* is set to the sum of all allocation sizes that are live at 20 *backtrace\_size* is set to the maximum number of backtrace entries 23 In order to free the buffer allocated by the function, call: 38 *backtrace\_size* as returned by the original call to 43 incorrectly set to the number of frames in the backtrace. [all …]
|
D | README_marshmallow_and_earlier.md | 7 This documentation describes how to enable this feature on API level 10 is not guaranteed to work at all. 15 On these old versions of the OS, you must be able to set system properties 16 using the setprop command from the shell. This requires the ability to 45 When enabled, this value creates a special header to all allocations 52 might cause timeouts when trying to start a device. 56 by a call to get\_malloc\_leak\_info (see README\_api.md for details). 72 When enabled, this value creates a special header to all allocations 83 When the allocation is freed, both of these guards are verified to contain 84 the expected patterns. If not, then an error message is printed to the log. [all …]
|
D | README.md | 7 This documentation describes how to enable this feature on Android N or later 33 Before, a realloc from one size to a smaller size would not update the 34 backtrace related to the allocation. Starting in P, every single realloc 49 to find memory corruption occuring to a region before the original allocation. 51 When the allocation is freed, the guard is checked to verify it has not been 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 75 to find memory corruption occuring to a region after the original allocation. 77 When the allocation is freed, the guard is checked to verify it has not been 84 This option adds a special header to all allocations that contains [all …]
|
/bionic/libc/kernel/ |
D | README.TXT | 9 unmodified kernel headers in order to get rid of many annoying 31 Contains various Python and shell scripts used to get and re-generate 34 The tools to get/parse the headers: 64 Then checkout the stable tag for the new kernel headers to import: 69 Before running the command to import the headers, make sure that you have 71 to determine which directory to use as the destination directory. 73 After running lunch, run this command to import the headers into the android 78 Next, run this command to copy the parsed files to bionic/libc/kernel/uapi: 82 Finally, run this command to regenerate the syscalls list: 86 After this, you will need to build/test the tree to make sure that these
|
/bionic/libc/ |
D | SECCOMP_WHITELIST_SYSTEM.TXT | 1 # This file is used to populate seccomp's whitelist policy in combination with SYSCALLS.TXT. 2 # Note that the resultant policy is applied only to zygote spawned processes. 13 # - syscall_name corresponds to the name of the syscall, which may differ from 20 # been provided, allows the user to specify dispatch style syscalls. 24 # - Each parameter type is assumed to be stored in 32 bits.
|
D | SECCOMP_BLACKLIST_COMMON.TXT | 1 # This file is used to populate seccomp's whitelist policy in combination with SYSCALLS.TXT. 2 # Note that the resultant policy is applied only to zygote spawned processes. 16 # - syscall_name corresponds to the name of the syscall, which may differ from 23 # been provided, allows the user to specify dispatch style syscalls. 27 # - Each parameter type is assumed to be stored in 32 bits.
|
D | SECCOMP_BLACKLIST_APP.TXT | 1 # This file is used to populate seccomp's whitelist policy in combination with SYSCALLS.TXT. 2 # Note that the resultant policy is applied only to zygote spawned processes. 16 # - syscall_name corresponds to the name of the syscall, which may differ from 23 # been provided, allows the user to specify dispatch style syscalls. 27 # - Each parameter type is assumed to be stored in 32 bits. 35 # syscalls to modify IDs 52 # syscalls to modify times 62 # syscalls to change machine various configurations
|
/bionic/tests/ |
D | dlext_private.h | 95 android_namespace_t* to, 99 android_namespace_t* to);
|
/bionic/libc/arch-mips/string/ |
D | strcpy.c | 170 strcpy (char *to, const char *from) in strcpy() argument 172 char *ret = to; in strcpy() 177 for (; (*to = *from) != '\0' && ((size_t) from % sizeof (op_t)) != 0; ++from, ++to); in strcpy() 179 if(*to != '\0') { in strcpy() 190 dst = (op_t *) to; in strcpy()
|
/bionic/linker/ |
D | Android.bp | 14 // We need to access Bionic private headers in the linker. 20 // This is used for bionic on (host) Linux to bootstrap our linker embedded into 64 // We need to access Bionic private headers in the linker. 161 // -shared is used to overwrite the -Bstatic and -static 180 // Define _USING_LIBCXX so <stdatomic.h> defers to the <atomic> header. When a Soong module 205 // we are going to link libc++_static manually because 206 // when stl is not set to "none" build system adds libdl 207 // to the list of static libraries which needs to be 223 // Insert an extra objcopy step to add prefix to symbols. This is needed to prevent gdb 263 // We need to access Bionic private headers in the linker. [all …]
|
D | ld.config.format.md | 3 This document describes format of /system/etc/ld.config.txt file. This file can be used to customize 9 1. Mappings - maps executable locations to sections 14 This part of the document maps location of an executable to a section. Here is an example 28 # The following line maps section to a dir. Binraies ran from this location will use namespaces 35 # When this flag is set to true linker will set target_sdk_version for this binary to 41 # This property can be used to declare additional namespaces.Note that there is always the default 79 # and links it to default namespace 83 # This defines what libraries are allowed to be loaded from ns1
|
/bionic/libc/malloc_hooks/ |
D | README.md | 4 Malloc hooks allows a program to intercept all allocation/free calls that 8 There are two ways to enable these hooks, set a special system 54 called, then the allocated memory is set to zero. 67 When malloc hooks is enabled, then the hook pointers are set to 70 the original hook function to do allocations. If the app does not do this, 109 For example, to enable malloc hooks for the google search box: 115 of 32. This meant that to create a wrap property with the name of the app, it 116 was necessary to truncate the name to fit. On O, property names can be 117 an order of magnitude larger, so there should be no need to truncate the name
|
/bionic/libc/tools/ |
D | pylintrc | 6 # Python code to execute, usually for sys.path manipulation such as 13 # Add files or directories to the blacklist. They should be base names, not 20 # List of plugins (as comma separated values of python modules names) to load, 21 # usually to register additional checkers. 35 # file where it should appear only once).You can also use "--disable=all" to 37 # you want to run only the similarities checker, you can use "--disable=all 38 # --enable=similarities". If you want to run only the classes checker, but have 56 # Tells whether to display a full report or only the messages 60 # note). You have access to the variables errors warning, statement which 66 # Add a comment according to your evaluation note. This is used by the global [all …]
|
/bionic/benchmarks/ |
D | README.md | 5 on top of [Google benchmarks](https://github.com/google/benchmark) with some additions to organize 19 When operated without specifying an xml file, the default is to run all 22 You can use `--benchmark_filter=getpid` to just run benchmarks with "getpid" 37 in that directory then the file will be found as relative to the current 38 directory. If the option specifies the full path to an xml file such as 41 If no xml file is specified through the command-line option, the default is to use `suites/full.xml… 43 is to use `suites/host.xml`.
|