Commit graph

38006 commits

Author SHA1 Message Date
Elliott Hughes
f4ace9d634 libc/include: remove easy __ANDROID_API__ tautologies.
The next NDK to take these headers only supports API 21 and later, so
clean up some of the trivial cruft.

This doesn't include the remaining "legacy inlines", since they're a bit
more complicated. I'll remove those in later changes.

Test: treehugger
Change-Id: I94c32f6393dd3ae831165917303ea591222baa0d
2023-02-23 17:38:37 +00:00
Elliott Hughes
d3ebc2f7c4 Merge "Remove <stdlib.h> abs/labs/llabs inline for API level 19." 2023-02-21 21:14:49 +00:00
Zijun Zhao
4e732eb730 Merge "Nullability check for glob module" 2023-02-19 22:33:42 +00:00
zijunzhao
3e39b3ac4a Nullability check for glob module
Bugs: b/245972273
Test: adb shell
Change-Id: Ic631bfe3c70080f140bb1be13e98ab751ab52252
2023-02-19 22:33:27 +00:00
Elliott Hughes
5fb10ce72d Merge "Remove <sys/wait.h> wait4() inline for API level 18." 2023-02-18 15:56:49 +00:00
Elliott Hughes
0572153fea Merge "Add documentation for a couple of pthread functions." 2023-02-18 02:12:08 +00:00
Elliott Hughes
527d01221e Remove <stdlib.h> abs/labs/llabs inline for API level 19.
API level 19 is no longer supported by the NDK.

Test: treehugger
Change-Id: I9fa1e9b3c492b3d3384e393994a7dddfdb35d805
2023-02-17 23:51:57 +00:00
Elliott Hughes
ed07723a34 Remove <sys/wait.h> wait4() inline for API level 18.
API level 18 is no longer supported by the NDK.

Test: treehugger
Change-Id: I526b628bf3aa9215c9832275f7eeaa15b52a107d
2023-02-17 23:41:55 +00:00
Elliott Hughes
8d8a911eab Add documentation for a couple of pthread functions.
These cause great confusion, so explicitly point out that apps can't use
one, and probably want the other.

Bug: https://github.com/android/ndk/issues/1255
Test: N/A
Change-Id: I287e820dc45a8446e3c72c9a2e4007db76828e3b
2023-02-17 23:31:17 +00:00
Treehugger Robot
c83efcab83 Merge "Nullability check for fenv module" 2023-02-16 18:57:36 +00:00
Zijun Zhao
fa2ac8440d Merge "Nullability check for swap module" 2023-02-16 17:49:28 +00:00
Treehugger Robot
f4fdf0a702 Merge "Nullability check for wctype module" 2023-02-16 03:26:23 +00:00
Treehugger Robot
026542250f Merge "Nullability check for vfs module" 2023-02-16 02:39:41 +00:00
zijunzhao
37a136fc2c Nullability check for fenv module
Bugs: b/245972273
Test: adb shell
Change-Id: Id930d187169820cf15bc9e5b4907a0984ee277ca
2023-02-16 01:41:55 +00:00
zijunzhao
b0fba720ff Nullability check for swap module
Bugs: b/245972273
Test: adb shell
Change-Id: I75e7e50d9ca08b82551851f877af8b2d309137b4
2023-02-16 01:40:05 +00:00
zijunzhao
c0d5b4718e Nullability check for wctype module
Bugs: b/245972273
Test: adb shell
Change-Id: Ic60a1b77e3f16bc9c3808ab4f772d6f174116a75
2023-02-15 23:24:40 +00:00
zijunzhao
557d9a553c Nullability check for vfs module
Bugs: b/245972273
Test: adb shell
Change-Id: Icaaa69641f72a58326afbd6691c8df8f4e774363
2023-02-15 23:22:10 +00:00
Zijun Zhao
99c7a93cca Merge "Nullability check for string module" 2023-02-15 17:40:43 +00:00
zijunzhao
02c4ef4d78 Nullability check for string module
Bugs: b/245972273
Test: adb shell
Change-Id: I4c71bca1ff72553b27805722c3076ed105612a21
2023-02-14 20:47:10 +00:00
Zijun Zhao
06c7a8c2cb Merge "Nullability check for epoll module" 2023-02-14 17:24:17 +00:00
zijunzhao
d555a333c8 Nullability check for epoll module
Bugs: b/245972273
Test: adb shell
Change-Id: Ic09eb9c503992178b5f271f80208ea159ee040be
2023-02-14 02:27:20 +00:00
Treehugger Robot
f81027468c Merge "librust_baremetal: No HAVE_ASSEMBLER___MEMCPY_CHK" 2023-02-14 00:57:52 +00:00
Elliott Hughes
83b661802d Merge "libm: admit we use SSE4.1 in x86's libm." 2023-02-10 20:55:10 +00:00
Zijun Zhao
b080a0c8f7 Merge "Nullability check for signal module." 2023-02-10 17:34:27 +00:00
Elliott Hughes
079f6fd857 libm: admit we use SSE4.1 in x86's libm.
Although the NDK ABI for x86 doesn't include SSE4.1, it's needed for
roundss/roundsd, and we've used that (via hand-written assembler) in the
x86 libm since Android M. We've recently switched to using compiler
builtins to generate the assembler instead, and without allowing the
compiler to use SSE4.1, it can't (resulting in infinite recursion as
these functions defer to themselves for an answer).

Given that the x86 libm.so has required SSE4.1 for 8 years at this
point without anyone noticing, let alone caring, let's just retain the
status quo rather.

(Despite the fact that this caused boot failures for cf_x86, I didn't
notice when testing the 32-bit libm.so from a cf_x86_64 build because our
x86-64 ABI *does* include SSE4.1, and the BoardConfig.mk for cf_x86_64
explicitly chooses "silvermont" as the 32-bit cpu variant, implicitly
enabling SSE4.1.)

Test: llvm-objdump -d on a cf_x86 build
Change-Id: I9392d3699057fcca96677de52f8d36d377b1719a
2023-02-10 16:42:50 +00:00
Pierre-Clément Tosi
885f894553 Merge "libc_fortify: Fix typo" 2023-02-10 15:14:25 +00:00
zijunzhao
38c5344446 Nullability check for signal module.
Bugs: b/245972273
Test: None
Change-Id: I958e7fd7836afd1e6ff9f2c808171faa602022c7
2023-02-10 02:16:41 +00:00
Elliott Hughes
44e8fa7b1b Merge "Fix floor()/floorl() on armv7 arm32 devices." 2023-02-09 15:29:12 +00:00
Pierre-Clément Tosi
467e58e9ea libc_fortify: Fix typo
Test: -
Change-Id: I7ad5def655d0dbfe6b0138d322ca0c25c32c4635
2023-02-09 12:14:17 +00:00
Treehugger Robot
b7086f3062 Merge "Nullability check for math module" 2023-02-09 09:14:58 +00:00
Elliott Hughes
37d72a31ab Fix floor()/floorl() on armv7 arm32 devices.
armv8 arm32 has a single instruction for the floor() family, but armv7
arm32 doesn't. Play stupid preprocessor and namespace tricks to get
the best of both worlds (using __ARM_ARCH in code is less awkward than
trying to do similar with armv7_a and armv7_a_neon in the build system).

Bug: http://b/268267713
Test: llvm-objdump -d
Change-Id: I2a4bef6e6caa49092810f53eb7bf6ea46237743f
2023-02-09 06:54:18 +00:00
zijunzhao
195b90b83f Nullability check for math module
Bugs: b/245972273
Test: adb shell
Change-Id: I46bf02e1ed3d6e6143c780e30f95fa3af2745216
2023-02-09 00:25:29 +00:00
Elliott Hughes
769bebe4fa Merge "Move the copysign() family over to builtins all the time." 2023-02-08 15:58:13 +00:00
Elliott Hughes
0d2c71d882 Move the copysign() family over to builtins all the time.
Test: llvm-objdump -d
Change-Id: Ic65250652362fd69bda31605b215d1a587cb5bce
2023-02-08 01:26:43 +00:00
Treehugger Robot
bc516bf20a Merge "Nullability check for eventfd module" 2023-02-07 22:50:56 +00:00
Christopher Ferris
304ca86948 Merge "Skip zeroed malloc tests on hwasan." 2023-02-07 21:47:36 +00:00
Christopher Ferris
8ab38e2b9a Skip zeroed malloc tests on hwasan.
The gwp_asan_integration.malloc_tests_under_torture test fails
when trying to run the malloc.zeroed* tests. So skip these
tests in that config.

Bug: 267386540

Test: All tests pass in hwasan and normal config.
Change-Id: I8edce28ee21eeecbcc9afb7db4ffdb6371a914b0
2023-02-07 13:11:05 -08:00
zijunzhao
9729c193cb Nullability check for eventfd module
Bugs: b/245972273
Test: None
Change-Id: I5a74318850f3e49dd9d78180476e2a9d76853606
2023-02-07 20:47:11 +00:00
Treehugger Robot
f82ee4a37a Merge "Nullability check for klog module" 2023-02-07 16:35:27 +00:00
Elliott Hughes
d7cf151304 Merge "Let clang generate most of our assembler for x86/x86-64 too." 2023-02-07 16:30:12 +00:00
Treehugger Robot
f9445fee15 Merge "Nullability check for stat module" 2023-02-07 06:59:37 +00:00
zijunzhao
1cda74daba Nullability check for stat module
Bugs: b/245972273
Test: None
Change-Id: I8611c7d7c22e2fb6b0cec4b5101dbcb3174ae706
2023-02-07 06:58:39 +00:00
Elliott Hughes
2f1a7b9852 Let clang generate most of our assembler for x86/x86-64 too.
It looks like the only functions current clang can't do are the lrint
family. Everything else looks good, and the fact that clang has builtins
means we shouldn't normally see calls to any of these functions anyway.

Test: llvm-objdump
Change-Id: I65b4da96b6c9b10f01cb54a7ebd1de5934ba4488
2023-02-07 01:22:29 +00:00
Elliott Hughes
475275b3ec Merge "Fix setfsgid()/setfsuid() for LP32." 2023-02-06 21:22:36 +00:00
Elliott Hughes
4587c15368 Merge "libm: remove hand-written assembler for arm32 too." 2023-02-06 21:09:10 +00:00
Treehugger Robot
a3357c28f5 Merge "Nullability check for quota module" 2023-02-04 04:12:16 +00:00
Treehugger Robot
bb0913ee64 Merge "Nullability check for sysinfo module" 2023-02-04 02:50:14 +00:00
Elliott Hughes
8dc9f46a3f Fix setfsgid()/setfsuid() for LP32.
These are system calls where the "good" names are camped by
implementations that only work for 16-bit ids, and you need to say "32"
on LP32 to get sensible behavior.

Noticed when disabling CONFIG_UID16 in the kernel.

Bug: http://b/266732373
Test: llvm-objdump -d
Change-Id: Ib1b5822b030c4f86df755b129ec7b435a7f77cd3
2023-02-03 23:10:04 +00:00
zijunzhao
e716b1b3ee Nullability check for klog module
Bugs: b/245972273
Test: adb shell
Change-Id: I43634184ff8785fa8096d7e8034b22da452cfdd4
2023-02-03 21:56:56 +00:00
zijunzhao
4b8a126255 Nullability check for sysinfo module
Bugs: b/245972273
Test: None
Change-Id: Ie351c609136d1873d3969788246d8a4d8b77ac55
2023-02-03 20:05:05 +00:00