Home
last modified time | relevance | path

Searched refs:bit (Results 1 – 25 of 30) sorted by relevance

12

/bionic/docs/
D32-bit-abi.md1 # 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 …]
DREADME.md10 * [32-bit ABI bugs](32-bit-abi.md) - historical accidents we can never fix.
Ddefines.md70 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).
Dlibc_assembler.md20 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.
Dnative_allocator.md13 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
Dfdtrack.md64 * Frame layout is a mess on 32-bit ARM: the ARM standard, clang, and GCC
Dfdsan.md49bit closure tag on a file descriptor. The tag consists of an 8-bit type byte that identifies the t…
Delf-tls.md441 (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
Dclang_fortify_anatomy.md60 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
Dstatus.md19 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/
Dsignal.cpp61 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()
Dlegacy_32_bit_support.cpp46 #error This code is only needed on 32-bit systems!
/bionic/linker/
Dldd.sh15 *32-bit*)
18 *64-bit*)
Dld.config.format.md52 # Default namespace search path. Note that ${LIB} here is substituted with "lib" for 32bit targets
53 # and with "lib64" for 64bit ones.
/bionic/tests/
Dstdlib_test.cpp195 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/
Dxt_connlabel.h16 __u16 bit; member
/bionic/libc/malloc_debug/
DREADME_api.md49 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
DREADME_marshmallow_and_earlier.md30 On 32 bit systems, these two deprecated functions are also replaced:
/bionic/libc/include/
Dtime64.h33 #error Your time_t is already 64-bit.
/bionic/libc/
DSYSCALLS.TXT29 # 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.
DSECCOMP_ALLOWLIST_APP.TXT6 # Needed for debugging 32-bit Chrome
DSECCOMP_ALLOWLIST_COMMON.TXT61 # to be (because the last thing anyone needs is a new 32-bit ABI in the
/bionic/
DREADME.md40 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/
DREADME.md24 See the `benchmarks/run-on-host.sh` script. The host benchmarks can be run with 32-bit or 64-bit
/bionic/libc/malloc_hooks/
DREADME.md23 On 32 bit systems, these two deprecated functions are also replaced:

12