/bionic/docs/ |
D | 32-bit-abi.md | 1 # 32-bit ABI bugs 3 ## 32-bit `off_t` and `_FILE_OFFSET_BITS=64` 5 On 32-bit Android, `off_t` is a signed 32-bit integer. This limits functions 28 compiled with that was actually using a 32-bit `off_t`. With a new enough NDK, 31 64-bit equivalents, and none of them (except `lseek`/`lseek64`) exist. As you 44 you'll have a 32-bit `off_t` and use the 32-bit functions. Make sure you 60 In the 64-bit ABI, `off_t` is always 64-bit. 63 in the 64-bit ABI even though they're identical to the non-`64` names. 68 On 32-bit Android, `sigset_t` is too small for ARM and x86. This means that 69 there is no support for real-time signals in 32-bit code. Android P (API [all …]
|
D | README.md | 10 * [32-bit ABI bugs](32-bit-abi.md) - historical accidents we can never fix.
|
D | defines.md | 70 or 64-bit -- use these macros to conditionally compile. Note the extra 71 "I" in the 32-bit macro (since `int`, `long`, and pointers are all 32-bit 72 on such systems, with `long long` being needed for a 64-bit type).
|
D | libc_assembler.md | 20 Benchmark 64 bit memcmp: 24 Benchmark 32 bit memcmp: 50 This is for 64 bit libc routines. 54 This is for 32 bit libc routines.
|
D | native_allocator.md | 13 systems and be a bit slower, but take less RSS. To enable the svelte config, 74 bit faster, while only increasing RSS a bit. 133 The last is virtual address space consumed in 32 bit applications. There is 134 a limited amount of address space available in 32 bit apps, and there have 136 address space is consumed. For 64 bit executables, this can be ignored. 315 bit of performance testing on actual traces taken from running applications. 367 important to verify that when running this trace using the 32 bit replay 376 up and down a bit, but stays mostly the same so an allocator that fragments
|
D | fdtrack.md | 64 * Frame layout is a mess on 32-bit ARM: the ARM standard, clang, and GCC
|
D | fdsan.md | 49 …bit closure tag on a file descriptor. The tag consists of an 8-bit type byte that identifies the t…
|
D | elf-tls.md | 441 (XXX: check 32-vs-64-bit for inferiors, debuggers, and kernels): 655 Aside: gcc's arm64ilp32 target uses a 32-bit unsigned offset for a TLS IE access 709 GCC for arm64 defaults to the 24-bit model and has an `-mtls-size=SIZE` option for setting other 710 supported sizes. (It supports 12, 24, 32, and 48.) Clang has only implemented the 24-bit model, 714 The 16-, 32-, and 48-bit models use a `movn/movz` instruction to set the highest 16 bits to a 715 positive or negative value, then `movk` to set the remaining 16 bit chunks. In principle, these 718 The 24-bit model uses `add` to set the high 12 bits, then places the low 12 bits into another 772 * Bionic's existing memory layout doesn't change, and arm32 and 32-bit x86 have the same layout 871 * ["ELF for the ARM® 64-bit Architecture (AArch64)."][arm64-elf] Lists TLS relocations (traditional
|
D | clang_fortify_anatomy.md | 60 Textually, quite a bit can be shared between a FORTIFY implementation for GCC 471 One common bit of code not explained below is the `__open_real` declaration above: 648 GCC's, which has [a decent bit of documentation]. Put simply, 668 `__builtin_object_size(p, N)`, the second bit in `N` determines the behavior of 693 Clang. According to GCC's documentation, "If the least significant bit [of 832 [a decent bit of documentation]: https://gcc.gnu.org/onlinedocs/gcc/Object-Size-Checking.html
|
D | status.md | 19 and `__GLIBC__`. In other cases historical accidents mean 32-bit 20 bionic diverged but 64-bit bionic matches POSIX; these are guarded with 206 * 32-bit `prlimit`
|
/bionic/libc/bionic/ |
D | signal.cpp | 61 int bit = sig - 1; // Signal numbers start at 1, but bit positions start at 0. in SigAddSet() local 63 if (set == nullptr || bit < 0 || bit >= static_cast<int>(8*sizeof(*set))) { in SigAddSet() 67 local_set[bit / LONG_BIT] |= 1UL << (bit % LONG_BIT); in SigAddSet() 100 int bit = sig - 1; // Signal numbers start at 1, but bit positions start at 0. in SigDelSet() local 102 if (set == nullptr || bit < 0 || bit >= static_cast<int>(8*sizeof(*set))) { in SigDelSet() 106 local_set[bit / LONG_BIT] &= ~(1UL << (bit % LONG_BIT)); in SigDelSet() 178 int bit = sig - 1; // Signal numbers start at 1, but bit positions start at 0. in SigIsMember() local 180 if (set == nullptr || bit < 0 || bit >= static_cast<int>(8*sizeof(*set))) { in SigIsMember() 184 return static_cast<int>((local_set[bit / LONG_BIT] >> (bit % LONG_BIT)) & 1); in SigIsMember()
|
D | legacy_32_bit_support.cpp | 46 #error This code is only needed on 32-bit systems!
|
/bionic/linker/ |
D | ldd.sh | 15 *32-bit*) 18 *64-bit*)
|
D | ld.config.format.md | 52 # Default namespace search path. Note that ${LIB} here is substituted with "lib" for 32bit targets 53 # and with "lib64" for 64bit ones.
|
/bionic/tests/ |
D | stdlib_test.cpp | 195 for (int bit = 0; bit < 32; ++bit) { in TEST() local 196 bits[bit] += (static_cast<unsigned long>(rand_val) >> bit) & 0x01; in TEST() 201 for (int bit = 0; bit < 32; ++bit) { in TEST() local 202 EXPECT_TRUE((pivot_low <= bits[bit]) && (bits[bit] <= pivot_high)); in TEST() 215 for (int bit = 0; bit < 32; ++bit) { in TEST() local 216 bits[bit] += (static_cast<unsigned long>(rand_val) >> bit) & 0x01; in TEST() 221 for (int bit = 0; bit < 32; ++bit) { in TEST() local 222 EXPECT_TRUE((pivot_low <= bits[bit]) && (bits[bit] <= pivot_high)); in TEST()
|
/bionic/libc/kernel/uapi/linux/netfilter/ |
D | xt_connlabel.h | 16 __u16 bit; member
|
/bionic/libc/malloc_debug/ |
D | README_api.md | 49 For 32 bit systems, *size\_t* and *uintptr\_t* are both 4 byte values. 51 For 64 bit systems, *size\_t* and *uintptr\_t* are both 8 byte values. 56 Note, the size value in each allocation data structure will have bit 31 set
|
D | README_marshmallow_and_earlier.md | 30 On 32 bit systems, these two deprecated functions are also replaced:
|
/bionic/libc/include/ |
D | time64.h | 33 #error Your time_t is already 64-bit.
|
/bionic/libc/ |
D | SYSCALLS.TXT | 29 # Calls that have historical 16-bit variants camping on the best names (CONFIG_UID16). 76 # On 32-bit systems we use prlimit64 to implement the rlimit64 functions. 105 # On LP32, preadv/pwritev don't use off64_t --- they use pairs of 32-bit 106 # arguments to avoid problems on architectures like arm32 where 64-bit arguments 169 # Paired off_t/off64_t system calls. On 64-bit systems, 171 # aliases. On 32-bit systems, we have two different system calls. 182 # (fallocate only gets two lines because there is no 32-bit variant.) 185 # (ftruncate only gets two lines because 32-bit bionic only uses the 64-bit call.) 188 # (mmap only gets two lines because 32-bit bionic only uses the 64-bit call.) 192 # mremap is in C++ for 32-bit so we can add the PTRDIFF_MAX check.
|
D | SECCOMP_ALLOWLIST_APP.TXT | 6 # Needed for debugging 32-bit Chrome
|
D | SECCOMP_ALLOWLIST_COMMON.TXT | 61 # to be (because the last thing anyone needs is a new 32-bit ABI in the
|
/bionic/ |
D | README.md | 40 32-bit or 64-bit executable). It's responsible for loading the ELF executable 253 Some system calls are harder than others. The most common problem is a 64-bit 254 argument such as `off64_t` (a *pointer* to a 64-bit argument is fine, since 261 both on 32-bit and 64-bit. (These special cases warrant more testing than the 346 # Only for 64-bit targets 384 32-bit bionic requires PIDs less than 65536. To enforce this, set /proc/sys/kernel/pid_max 388 $ ./tests/run-on-host.sh 64 # For x86_64-bit *targets* only. 429 ## 32-bit ABI bugs 431 See [32-bit ABI bugs](docs/32-bit-abi.md).
|
/bionic/benchmarks/ |
D | README.md | 24 See the `benchmarks/run-on-host.sh` script. The host benchmarks can be run with 32-bit or 64-bit
|
/bionic/libc/malloc_hooks/ |
D | README.md | 23 On 32 bit systems, these two deprecated functions are also replaced:
|