Commit graph

40554 commits

Author SHA1 Message Date
Elliott Hughes
a67fe1b171 Merge "Add strerrordesc_np() and strerrorname_np()." into main 2023-09-27 22:26:37 +00:00
Elliott Hughes
2109f12c3b Add strerrordesc_np() and strerrorname_np().
strerrordesc_np() isn't very useful (being just another name for
strerror()), but strerrorname_np() lets you get "ENOSYS" for ENOSYS,
which will make some of our test assertion messages clearer when we
switch over from strerror().

This also adds `%#m` formatting to all the relevant functions.

Test: treehugger
Change-Id: Icfe07a39a307d591c3f4f2a09d008dc021643062
2023-09-27 11:21:12 -07:00
Elliott Hughes
6209a7afd2 Merge "Clean up how we skip tests when a syscall isn't in the kernel." into main am: 8ee1793e50 am: 22da7f8a10
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2759650

Change-Id: I932cb09fdeeddb4017f372c90a6243a7ad246810
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-26 00:37:42 +00:00
Elliott Hughes
22da7f8a10 Merge "Clean up how we skip tests when a syscall isn't in the kernel." into main am: 8ee1793e50
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2759650

Change-Id: I0206e1d8d5cfb1f596fec9a498eafe0c5c9ed3cd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-25 23:41:20 +00:00
Elliott Hughes
8ee1793e50 Merge "Clean up how we skip tests when a syscall isn't in the kernel." into main 2023-09-25 22:37:15 +00:00
Treehugger Robot
e7430e692f Merge "<sys/statvfs.h>: add a new mount option." into main am: 732b98203b am: a325f94c85
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2760790

Change-Id: I7ab8ecdf5c0600d03d6767d7244a22b4ddf4b30e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-23 02:19:36 +00:00
Treehugger Robot
a325f94c85 Merge "<sys/statvfs.h>: add a new mount option." into main am: 732b98203b
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2760790

Change-Id: I16763c1a7f868c2f88a87a0b06d785da966c24c0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-23 01:20:42 +00:00
Treehugger Robot
732b98203b Merge "<sys/statvfs.h>: add a new mount option." into main 2023-09-23 00:36:55 +00:00
Elliott Hughes
4ae4be9263 Clean up how we skip tests when a syscall isn't in the kernel.
The close_range() test in particular has been confusing a lot of
partners. I think the sys_epoll_test.cpp idiom is the clearest of the
ones in use, so let's use that everywhere. (I haven't actually touched
the SysV IPC tests, because if we do touch them, _deleting_ them --
since all those syscalls are not allowed on Android -- is probably the
change to be made!)

I'm on the fence about factoring this idiom out into a macro. There
should never be too many of these, and we should probably be removing
them? Is anyone still running the current bionic tests on 4.3 kernels
without membarrier(2), and if they are --- why?!

For now though, I haven't removed any of our existing tests; I've just
moved them over to the sys_epoll_test.cpp style.

Test: treehugger
Change-Id: Ie69a0bb8f416c79957188e187610ff8a3c4d1e8f
2023-09-22 17:15:25 -07:00
Elliott Hughes
6711d21230 <sys/statvfs.h>: add a new mount option.
This flag was added as part of
https://sites.google.com/a/chromium.org/dev/chromium-os/chromiumos-design-docs/hardening-against-malicious-stateful-data#TOC-Restricting-symlink-traversal
in 2020.

Annoyingly, these flags are in include/linux/statvfs.h rather than in
the uapi headers, so we don't get them for free.

Test: treehugger
Change-Id: I55c0dcc8a5da17c3efc8938ec04f23f157764d4d
2023-09-22 19:48:05 +00:00
Elliott Hughes
edb09a5220 Merge "Add ASSERT_ERRNO and EXPECT_ERRNO (and use them)." into main am: 68011a4ac7 am: d5835f3a5a
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2759533

Change-Id: Icb36f55baaa137c73475f3e90e5d85b5d4fc44b6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-22 16:25:59 +00:00
Elliott Hughes
d5835f3a5a Merge "Add ASSERT_ERRNO and EXPECT_ERRNO (and use them)." into main am: 68011a4ac7
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2759533

Change-Id: Ie200a94f536c90f9ef92b550c61975548a73f842
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-22 15:25:41 +00:00
Elliott Hughes
68011a4ac7 Merge "Add ASSERT_ERRNO and EXPECT_ERRNO (and use them)." into main 2023-09-22 14:53:52 +00:00
Elliott Hughes
95646e6666 Add ASSERT_ERRNO and EXPECT_ERRNO (and use them).
We've talked about this many times in the past, but partners struggle to
understand "expected 38, got 22" in these contexts, and I always have to
go and check the header files just to be sure I'm sure.

I actually think the glibc geterrorname_np() function (which would
return "ENOSYS" rather than "Function not implemented") would be more
helpful, but I'll have to go and implement that first, and then come
back.

Being forced to go through all our errno assertions did also make me
want to use a more consistent style for our ENOSYS assertions in
particular --- there's a particularly readable idiom, and I'll also come
back and move more of those checks to the most readable idiom.

I've added a few missing `errno = 0`s before tests, and removed a few
stray `errno = 0`s from tests that don't actually make assertions about
errno, since I had to look at every single reference to errno anyway.

Test: treehugger
Change-Id: Iba7c56f2adc30288c3e00ade106635e515e88179
2023-09-21 14:15:59 -07:00
Treehugger Robot
843c792620 Merge "Add the risc-v TLSDESC relocations." into main am: 631dfbb8ad am: ed30c58ae0
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2752785

Change-Id: If8dffe75e61cd6e53f7cb60a0a9e9c6bc86a157a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-15 21:55:26 +00:00
Treehugger Robot
ed30c58ae0 Merge "Add the risc-v TLSDESC relocations." into main am: 631dfbb8ad
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2752785

Change-Id: I3295647952fba328acd5b11609f6f2adec62e4bc
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-15 20:55:23 +00:00
Treehugger Robot
631dfbb8ad Merge "Add the risc-v TLSDESC relocations." into main 2023-09-15 19:53:19 +00:00
Treehugger Robot
0f1c5dafbd Merge "Consistent qualifier ordering." into main am: d72f4f8770 am: cecef1f2e6
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2751987

Change-Id: I89a0cd59c095bfe672c8fefd1cd8c7be4cb31688
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-15 19:13:01 +00:00
Treehugger Robot
cecef1f2e6 Merge "Consistent qualifier ordering." into main am: d72f4f8770
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2751987

Change-Id: Id756aecc9edded993a518cdee4d42f25b119f2d2
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-15 18:14:35 +00:00
Treehugger Robot
d72f4f8770 Merge "Consistent qualifier ordering." into main 2023-09-15 17:19:08 +00:00
Florian Mayer
838c7f538d Merge "Remove ASan test" into main am: 6b4e6e470e am: 5b2b24ead9
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2751402

Change-Id: I3b7b379c7163dfe624552ef4fe908c7fdc56d6a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-14 20:49:01 +00:00
Florian Mayer
5b2b24ead9 Merge "Remove ASan test" into main am: 6b4e6e470e
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2751402

Change-Id: I29126b2233d9af55eefdf5de00af74e34fb9725d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-14 19:49:49 +00:00
Florian Mayer
6b4e6e470e Merge "Remove ASan test" into main 2023-09-14 19:19:01 +00:00
Elliott Hughes
30088848fc Consistent qualifier ordering.
Change our handful of `constexpr static`s to the much more common
`static constexpr`. It's easier to "follow existing style" when there
aren't two existing styles to copy from, and all else being equal,
"majority wins" :-)

Test: treehugger
Change-Id: Ifbf0f62ab84c9450bf9c2e49e96915c126fd20c4
2023-09-14 18:36:55 +00:00
Elliott Hughes
ba7654ad92 Add the risc-v TLSDESC relocations.
https://github.com/riscv-non-isa/riscv-elf-psabi-doc/issues/94 was
merged.

Bug: https://github.com/google/android-riscv64/issues/3
Test: treehugger
Change-Id: Ifc0c4d7408367f0372cec969d4ee6f84699bee30
2023-09-14 18:02:17 +00:00
Florian Mayer
12e38c23f1 Remove ASan test
ASan for device side is deprecated.
Bug: 300289881

Change-Id: I492ccbbeae43c84b53e92b062048c56ea974308e
2023-09-13 12:29:32 -07:00
Christopher Ferris
18e46b12ac Merge "Disable warning which is not detecting problems." into main am: a4bcacf79b am: b8f3980cc4
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2748796

Change-Id: Id8c8c3fa8093be1fb23185eca9c91036a8cd459a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-13 01:24:10 +00:00
Christopher Ferris
b8f3980cc4 Merge "Disable warning which is not detecting problems." into main am: a4bcacf79b
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2748796

Change-Id: Ibeab3cbea7ecf3fd4c1455c74f3d46de321cd28b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-13 00:29:43 +00:00
Christopher Ferris
a4bcacf79b Merge "Disable warning which is not detecting problems." into main 2023-09-12 23:29:01 +00:00
Christopher Ferris
1de7a480bc Disable warning which is not detecting problems.
A clang update enabled -Wreorder-init-list by default. Since it doesn't
provide any benefit to the bionic code, disable the warning.

Test: Builds without warnings.
Change-Id: I5891527ef532b59dc2a02b39a5896112411d21f5
2023-09-12 13:03:02 -07:00
Christopher Ferris
150238db38 Merge "Update to v6.5 kernel headers." into main am: 6d2b71eb45 am: 74415a49e9
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2743819

Change-Id: I7389f162e8a04fadbcc432a2528ff0b78e8918a0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-12 19:43:17 +00:00
Christopher Ferris
74415a49e9 Merge "Update to v6.5 kernel headers." into main am: 6d2b71eb45
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2743819

Change-Id: I6e20ba79ca6757557fa8474ba0f083392cac12d6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-12 18:41:20 +00:00
Christopher Ferris
6d2b71eb45 Merge "Update to v6.5 kernel headers." into main 2023-09-12 18:00:15 +00:00
Elliott Hughes
911b84f82b Merge "Remove a stray newline." into main am: 1bc2339a77 am: 4cb7adc0c5
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2746054

Change-Id: Ib98d7c75cd0d9a17b1bc2ae90bc472bbfbbfc164
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-07 23:01:54 +00:00
Elliott Hughes
4cb7adc0c5 Merge "Remove a stray newline." into main am: 1bc2339a77
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2746054

Change-Id: I84472b08cc0e0cd0163841ad81b399a44a822c9d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-07 22:06:20 +00:00
Elliott Hughes
1bc2339a77 Merge "Remove a stray newline." into main 2023-09-07 21:39:05 +00:00
Elliott Hughes
5dd1582706 Remove a stray newline.
err() not only adds its own newline, it'll add the strerror() output
first, so this stray newline messes up the error message. (Seen running
bionic benchmarks not as root, which causes the std_map benchmarks to
fail, which is especially annoying because it ends the whole benchmark
run, not just the specific benchmark, but that's a less obvious fix, so
I'm just fixing the trivial part here!)

Test: treehugger
Change-Id: I7e87ea4385c410942fbdd14e6fdfddbf7320082a
2023-09-07 18:48:13 +00:00
Christopher Ferris
8666d0462f Update to v6.5 kernel headers.
Kernel headers coming from:

Git: https://android.googlesource.com/kernel/common/
Branch: android-mainline
Tag: android-mainline-6.5

Test: Builds and bionic unit tests pass on raven.
Test: Able to log in to an Android GO 32 bit device.
Change-Id: Ia0397ce27e088bc20338bbd2d125be6f169c4ba0
2023-09-06 19:33:21 -07:00
Treehugger Robot
033d66bf3c Merge "Add doc for sentinel change in preinit_array/init_array/fini_array" into main am: f3bf97003c am: 176f3d109d
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2741814

Change-Id: I911b50bc632a3b591ffa8b5cc04cbca22c3680b0
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-07 00:30:51 +00:00
Treehugger Robot
176f3d109d Merge "Add doc for sentinel change in preinit_array/init_array/fini_array" into main am: f3bf97003c
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2741814

Change-Id: Ia57416c3b0555058d10bf43fff8d156da8c38de3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-06 23:39:52 +00:00
Treehugger Robot
f3bf97003c Merge "Add doc for sentinel change in preinit_array/init_array/fini_array" into main 2023-09-06 22:49:33 +00:00
Yabin Cui
bd73dcc21a Add doc for sentinel change in preinit_array/init_array/fini_array
Bug: 295944813
Bug: https://github.com/android/ndk/issues/1461
Test: none
Change-Id: I0bc90a312438b14bd3dc8b675e3083ac909f89df
2023-09-06 15:15:37 -07:00
Elliott Hughes
8cf23f8a2e Merge "Greatly reduce the space used by properties filenames." into main am: 8da1746458 am: d95f8c7432
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2741008

Change-Id: Ief0acfaa81c79fca4f1c7f56770c70b04121c401
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-06 22:08:56 +00:00
Elliott Hughes
d95f8c7432 Merge "Greatly reduce the space used by properties filenames." into main am: 8da1746458
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2741008

Change-Id: I0a76ef5cb198e2ec0cc4d4a4c20b6bb6af408544
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-06 21:16:25 +00:00
Elliott Hughes
8da1746458 Merge "Greatly reduce the space used by properties filenames." into main 2023-09-06 20:52:37 +00:00
Elliott Hughes
9b9e6f9cbe Merge "Punch a hole for clone3(2) use." into main am: fe9bd312a8 am: a55b49b527
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2741006

Change-Id: I79b4246f264bd002bf544e0c8faf52bd85571139
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-06 19:03:36 +00:00
Colin Cross
3a2845fb95 Merge "Skip sysconf_cache for musl" into main am: 90eef4250e am: 7c48344ace
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2741813

Change-Id: I0cf5b8496954bd0cd0b964fead20dd7dd2396044
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-06 19:02:23 +00:00
Elliott Hughes
a55b49b527 Merge "Punch a hole for clone3(2) use." into main am: fe9bd312a8
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2741006

Change-Id: I46e2255aa18d3e927e3ee1a756ea66e53fadb7df
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-09-06 18:57:24 +00:00
Elliott Hughes
fe9bd312a8 Merge "Punch a hole for clone3(2) use." into main 2023-09-06 18:24:49 +00:00
Elliott Hughes
740956c856 Greatly reduce the space used by properties filenames.
These should never be particularly long, but because this code runs
before we can allocate, they have to be fixed size. Bring that size down
to 128 bytes which should be enough for anyone, and which should let us
add some new filenames in less space than we're currently using for one
filename.

Test: treehugger
Change-Id: I524d7e5ffd415ba0c3d600eb94801a304b1b4bb4
2023-09-06 18:11:50 +00:00