Commit graph

43177 commits

Author SHA1 Message Date
Treehugger Robot
8be62724a0 Merge "[riscv][bionic] Prototype TLS Descriptor support" into main am: 7619ddbc4e
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2940588

Change-Id: Iec6b5a1b5d5302adc2452643a3adcb685f0784ad
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-10 12:13:50 +00:00
Treehugger Robot
7619ddbc4e Merge "[riscv][bionic] Prototype TLS Descriptor support" into main 2024-06-10 11:45:26 +00:00
Paul Kirth
4d4377881d [riscv][bionic] Prototype TLS Descriptor support
Add basic assembly stubs for TLS Descriptor support in the dynamic
linker, and enable several code paths related to TLSDESC for RISC-V.

Note: This patch requires an updated toolchain that supports TLSDESC
for RISC-V, and the `-mtls-dialect=` compiler option specifically.

Test: adb shell /data/nativetest64/bionic-unit-tests/bionic-unit-tests --gtest_filter=*tls*
Bug: 322984914
Change-Id: I74bd0fa216b44b4ca2c5a5a6aec37b3fc47b00d9
2024-06-07 14:30:22 -07:00
Elliott Hughes
0031c5a935 Merge "Move the ILP32 mmap() hackery into legacy_32_bit_support.cpp." into main am: cbc07d4d31
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3118911

Change-Id: I9a5922f1dd6fb6dd84352568799d8aec9d2e4837
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-07 10:55:52 +00:00
Elliott Hughes
cbc07d4d31 Merge "Move the ILP32 mmap() hackery into legacy_32_bit_support.cpp." into main 2024-06-07 10:36:10 +00:00
Elliott Hughes
4358d53cd9 Move the ILP32 mmap() hackery into legacy_32_bit_support.cpp.
Every time I look at mmap.cpp, I fail to realize it's only built for ILP32.

Also improve some of the commentary in SYSCALLS.TXT and legacy_32_bit_support.cpp.

Change-Id: Ieedfe800b437e30c060c3e8663b6d96d517dbf6f
2024-06-06 21:08:17 +00:00
Elliott Hughes
e6c408d79f Merge "new.cpp: add sized operator delete." into main am: 3e8dd2b88c
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3115108

Change-Id: Iccd1fbfb0b80dcc4babfa8b47c799f387a42b2d6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-05 17:57:03 +00:00
Elliott Hughes
3e8dd2b88c Merge "new.cpp: add sized operator delete." into main 2024-06-05 17:37:10 +00:00
Elliott Hughes
7104dd9d55 Merge "<malloc.h>: warn on unused results for malloc_usable_size()." into main am: 988c807ff8
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3113839

Change-Id: I00b69a96b5376847a255dbcedd59654936bab006
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-05 16:08:44 +00:00
Elliott Hughes
988c807ff8 Merge "<malloc.h>: warn on unused results for malloc_usable_size()." into main 2024-06-05 15:48:45 +00:00
Elliott Hughes
c67976a64e Merge "Add a README.md to docs/, as a guide to what we have available." into main am: bbc1befc2c
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3112900

Change-Id: Idf54c8bb96c4cecdb894035e4b3ba8e9640ea73f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-05 13:01:31 +00:00
Elliott Hughes
bbc1befc2c Merge "Add a README.md to docs/, as a guide to what we have available." into main 2024-06-05 12:39:52 +00:00
Elliott Hughes
ad44152c38 new.cpp: add sized operator delete.
clang-19 and later default to C++14 sized deallocation. Currently we don't have C23's C equivalent of free_sized(), so we just implement these in terms of free() for now.

Bug: http://b/344993254
Change-Id: I708710aee3f7a684bfe494a96f7baed014acbe57
2024-06-05 12:26:56 +00:00
Christopher Ferris
02f33c7090 Merge "Update to v6.9 kernel headers." into main am: b9279b62c2
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3111723

Change-Id: Iff882dc72e0044d04ef7d9b9a19ef995425b0b9b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-04 18:44:07 +00:00
Elliott Hughes
c87d87ca60 Merge "<stdio.h>: warn on some unused results." into main am: 5b57093ecc
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3110539

Change-Id: I4c15330dc742672b8ab675496543e5899c8f6e61
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-04 18:43:51 +00:00
Christopher Ferris
b9279b62c2 Merge "Update to v6.9 kernel headers." into main 2024-06-04 18:22:22 +00:00
Elliott Hughes
5b57093ecc Merge "<stdio.h>: warn on some unused results." into main 2024-06-04 18:20:48 +00:00
Elliott Hughes
ecaa192929 Add a README.md to docs/, as a guide to what we have available.
I was actually here to add some new documentation, but realized there wasn't really a good place to put it...

Change-Id: I8a2fc93e61a89e87aa53dd0beb9dfcc6561687ca
2024-06-04 18:20:05 +00:00
Elliott Hughes
69ddb74135 <malloc.h>: warn on unused results for malloc_usable_size().
Not a security problem, but definitely a bug if you're calling this and ignoring the result, since it has no side-effects.

(All of the more important functions -- realloc() especially -- are already annotated.)

Change-Id: I217463518b4716befcc0ed9426648eafbfbbdde4
2024-06-04 15:32:45 +00:00
Elliott Hughes
862d6713e2 Merge "<unistd.h>: explain why getpagesize() is better than getauxval() as well as sysconf()." into main am: be241d1d6b
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3112242

Change-Id: Ic5e61455b5b2157b647a77c6bb7581ba2a1ba2d1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-04 11:20:18 +00:00
Elliott Hughes
be241d1d6b Merge "<unistd.h>: explain why getpagesize() is better than getauxval() as well as sysconf()." into main 2024-06-04 11:03:05 +00:00
Christopher Ferris
7f4c837186 Update to v6.9 kernel headers.
Kernel headers coming from:

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

Test: Builds and bionic unit tests pass on raven.
Test: Able to log in to an Android GO 32 bit device.
Change-Id: If53a38bbb65c3c653ce790fe5c6e51597901a14e
2024-06-03 14:22:19 -07:00
Elliott Hughes
6246e95adf Merge "setjmp_test: riscv64 does have callee-save fp registers." into main am: 1bebfd3c10
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3096178

Change-Id: I15624144982e01cb4e8bbeadc753e670868f7103
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-03 20:33:36 +00:00
Elliott Hughes
7e6ca0d6b5 Merge "getpagesize(): remove "portability" claim." into main am: a84f9cffcf
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3112480

Change-Id: I3dc4c2fdf157f765ce264c031bda11d5ab9734e4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-06-03 20:33:08 +00:00
Elliott Hughes
1bebfd3c10 Merge "setjmp_test: riscv64 does have callee-save fp registers." into main 2024-06-03 20:30:33 +00:00
Elliott Hughes
a84f9cffcf Merge "getpagesize(): remove "portability" claim." into main 2024-06-03 20:27:00 +00:00
Elliott Hughes
4e63125ce1 getpagesize(): remove "portability" claim.
This is just POSIX nonsense. Android, iOS/macOS, the BSDs, and glibc all have getpagesize(). Window doesn't, but Windows doesn't have sysconf(3) either, so there's not a strong "portability" argument to be had there!

Change-Id: Ieacfbb61c3612045f27c20c3fa4fa12694db2243
2024-06-03 19:21:46 +00:00
Elliott Hughes
b631ec7409 <unistd.h>: explain why getpagesize() is better than getauxval() as well as sysconf().
I thought we'd already done this, but apparently not.

Bug: http://b/315511637
Change-Id: I0581438a6f551be9750b6679a9f3ad06c83f1e9b
2024-06-03 19:19:22 +00:00
Elliott Hughes
86968d95f1 setjmp_test: riscv64 does have callee-save fp registers.
The setjmp implementation is correct, but this comment was wrong, and we were missing the implementation of the test. This would be slightly simpler if we enabled Zfa in the build system and qemu, but this works for now.

Change-Id: Iad32771019584beacd8b35138ac2bf4c0a14c903
2024-06-03 18:38:10 +00:00
Elliott Hughes
78706d25d0 <stdio.h>: warn on some unused results.
This is fairly conservative, touching only those functions (such as feof()) where it's clearly an error to not use the return value.

Also fix a test that was ignoring the return value of feof() (because it was just checking whether the function could take the lock, and genuinely didn't care about the result).

Change-Id: If2ade10ae87df45a8b9bfcb24828e460201fa9a1
2024-05-31 22:55:22 +00:00
Elliott Hughes
74e8e58109 Merge "Warn about unused results with bsearch()." into main am: b851c4c5bf
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3108440

Change-Id: I792804d3ae115d65187f7240a8c847c4b3b5cc7e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-31 20:27:27 +00:00
Elliott Hughes
b851c4c5bf Merge "Warn about unused results with bsearch()." into main 2024-05-31 20:17:57 +00:00
Elliott Hughes
d4c54b4448 Warn about unused results with bsearch().
This function has no side-effects, and the return value is the whole point.

Change-Id: Ibb9143c6a3c4089bfd6402c1c580ef76ce0f5d27
2024-05-31 17:33:33 +00:00
Elliott Hughes
4f4fc67f63 Merge "fdtrack: make it clearer that there's more information available." into main am: 3cd51b749d
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3108439

Change-Id: Iaa562629c0b750798dac0f34053a6bc001b5b339
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-30 19:48:57 +00:00
Elliott Hughes
7379926162 Merge "pthread_exit(): reduce duplication." into main am: aec1f25248
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3103458

Change-Id: I548a372bfa6d4043c1dd17f7d3b409be3114ec72
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-30 19:48:43 +00:00
Elliott Hughes
3cd51b749d Merge "fdtrack: make it clearer that there's more information available." into main 2024-05-30 19:47:07 +00:00
Elliott Hughes
aec1f25248 Merge "pthread_exit(): reduce duplication." into main 2024-05-30 19:47:04 +00:00
Elliott Hughes
e56350c4ad fdtrack: make it clearer that there's more information available.
A lot of people who see these via pitot or whatever don't even think to look at the real tombstone. Make it explicit that this is what they should do next. Also, since we have the numbers, say exactly what we mean by "most common".

Bug: http://b/338882189
Change-Id: Ia21848a40e82cb2486538a7578501e2ec0948e1c
2024-05-30 17:26:25 +00:00
Elliott Hughes
c62d1255f9 Merge "Spell "calling convention" out in full." into main am: a1e51dc4b8
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3107937

Change-Id: I24c02ce5102f0662aa5f1f9242b492927f889b7b
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-30 12:29:43 +00:00
Elliott Hughes
a1e51dc4b8 Merge "Spell "calling convention" out in full." into main 2024-05-30 12:26:07 +00:00
Elliott Hughes
5e7b7f0056 Merge "bionic_allocator: more detailed and consistent error reporting." into main am: 793ce9c90a
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3107217

Change-Id: I7af459d9572b2a493ed665729552204df26d7208
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-30 11:59:18 +00:00
Elliott Hughes
cee6832eb3 Merge "Fix some wcwidth() special cases." into main am: f4a27aee8d
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2983497

Change-Id: I0d71b38128f2bd43a6ab1da35c348c74c4f0fdf7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-30 11:59:03 +00:00
Elliott Hughes
793ce9c90a Merge "bionic_allocator: more detailed and consistent error reporting." into main 2024-05-30 11:41:59 +00:00
Elliott Hughes
f4a27aee8d Merge "Fix some wcwidth() special cases." into main 2024-05-30 11:41:24 +00:00
Elliott Hughes
8f653f8ad9 bionic_allocator: more detailed and consistent error reporting.
I only came to improve the signature mismatch error, but I was then annoyed by the copy & paste of the other checks.

get_chunk_size() seems to be deliberately avoiding any checks, though I think that might be a bug, and there should be a get_chunk_size() that _does_ check for most callers, and a get_chunk_size_unchecked() for the <sys/thread_properties.h> stuff that seems to want to only be "best effort" (but does still have _some_ possibility of aborting, in addition to the possibility of segfaulting).

Also a bit of "include what you use" after cider complained about all the unused includes in bionic_allocator.h.

Bug: https://issuetracker.google.com/341850283
Change-Id: I278b495601353733af516a2d60ed10feb9cef36b
2024-05-29 22:25:37 +00:00
Elliott Hughes
20a9f99b3b Fix some wcwidth() special cases.
Detailed explanation in the code comments.

Test: treehugger
Change-Id: I2aef2510724c1c622b83e226b51d4c8429b88272
2024-05-29 21:45:51 +00:00
Treehugger Robot
3fc8fc4bb7 Merge "Remove unused Android.mk under bionic" into main am: f6486e0e71
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3107717

Change-Id: I99607908de624c33d724063446b0b18fe6c11265
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-29 12:34:37 +00:00
Elliott Hughes
13090d0bbf Spell "calling convention" out in full.
We only use this in one other place anyway.

Also be explicit about how `__tls_get_addr` and `___tls_get_addr` differ, since I missed that at first!

Change-Id: Ica214886c5346f118f063bca26e6dd8d74ee21f4
2024-05-29 12:34:18 +00:00
Treehugger Robot
f6486e0e71 Merge "Remove unused Android.mk under bionic" into main 2024-05-29 12:26:38 +00:00
Treehugger Robot
00ee4c556b Merge "<sys/thread_properties.h>: remove stray semicolon in the implementation." into main am: 1395fa865f
Original change: https://android-review.googlesource.com/c/platform/bionic/+/3103457

Change-Id: I93338d0e279c99e91da9f19ac38e5e7f48c22d75
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-05-29 12:25:59 +00:00