Commit graph

41678 commits

Author SHA1 Message Date
Elliott Hughes
b7bbf03451 Merge "Sync upstream OpenBSD stdio." into main am: 1bcebdae38 am: 865d80a22f am: 728bd30de8 am: 22d4072750 am: 7158fefe24
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779341

Change-Id: Ia40e1d7fbdde6d095d8290c58c4d1f1a8263356e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-11 01:36:24 +00:00
Elliott Hughes
7158fefe24 Merge "Sync upstream OpenBSD stdio." into main am: 1bcebdae38 am: 865d80a22f am: 728bd30de8 am: 22d4072750
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779341

Change-Id: I9713c98a4242baff413b3fffac6266c6f36c143f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-11 00:03:38 +00:00
Elliott Hughes
22d4072750 Merge "Sync upstream OpenBSD stdio." into main am: 1bcebdae38 am: 865d80a22f am: 728bd30de8
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779341

Change-Id: I3dd55a45923071fefa8890dceb3b1f70b2d9db50
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-10 23:13:17 +00:00
Elliott Hughes
728bd30de8 Merge "Sync upstream OpenBSD stdio." into main am: 1bcebdae38 am: 865d80a22f
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779341

Change-Id: I328c9789302462b2f8a15c1468a35ecb821c2929
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-10 22:07:47 +00:00
Elliott Hughes
865d80a22f Merge "Sync upstream OpenBSD stdio." into main am: 1bcebdae38
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779341

Change-Id: Ie4228be69762cd999863c2311d64a798d9ef7692
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-10 21:20:07 +00:00
Elliott Hughes
1bcebdae38 Merge "Sync upstream OpenBSD stdio." into main 2023-10-10 20:29:05 +00:00
Treehugger Robot
50d4e9d550 Merge "<ctype.h>: stop using _ctype_." into main am: e253761e14 am: 01de1a47fa am: aba9b2107d am: e00cd3f4cb am: 24c836e906
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779335

Change-Id: I962271d3bffddb528601b2e54cf426d569337fd4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-10 03:24:23 +00:00
Treehugger Robot
24c836e906 Merge "<ctype.h>: stop using _ctype_." into main am: e253761e14 am: 01de1a47fa am: aba9b2107d am: e00cd3f4cb
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779335

Change-Id: I87116cce4c4d924874f4cfb739c93c7fe226af42
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-10 02:16:43 +00:00
Treehugger Robot
e00cd3f4cb Merge "<ctype.h>: stop using _ctype_." into main am: e253761e14 am: 01de1a47fa am: aba9b2107d
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779335

Change-Id: I2c4b9c239cd71a10aafccd62c17bd59a8d1b53a3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-10 01:34:52 +00:00
Treehugger Robot
aba9b2107d Merge "<ctype.h>: stop using _ctype_." into main am: e253761e14 am: 01de1a47fa
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779335

Change-Id: Ia5f94cc1b42a178e4cedcffce130726652bc3b45
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-10 00:15:05 +00:00
Elliott Hughes
307ff340db Sync upstream OpenBSD stdio.
"""
__swsetup: set error flag and errno on error.

Previously, we set errno to EBADF if the cantwrite() macro (which calls
__swsetup()) returns true for POSIX compliance.  However, we neglected
to also set the error flag, __SERR.  Rather than set the error flag in
all callers of cantwrite(), set both errno and the error flag in
__swsetup().  This matches what FreeBSD does and makes it possible
to choose a proper errno value for the second error condition in
__swsetup().  OK deraadt@
"""
fc99cf9338

Bug: http://b/302742247
Test: treehugger
Change-Id: If3be4905fc21e513cb8718cca671eae3885e411a
2023-10-09 16:53:31 -07:00
Treehugger Robot
01de1a47fa Merge "<ctype.h>: stop using _ctype_." into main am: e253761e14
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2779335

Change-Id: I99943226277d1f4e4d17d1ad6dd0927c9f237337
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-09 23:40:50 +00:00
Treehugger Robot
e253761e14 Merge "<ctype.h>: stop using _ctype_." into main 2023-10-09 22:54:25 +00:00
Elliott Hughes
69270ed6b9 <ctype.h>: stop using _ctype_.
The code comment that's being removed here defends the old
implementation by claiming that it's faster. Annoyingly, we don't know
what hardware that was run on. Running on current-ish hardware
(cheetah), I can't really tell the difference except: (a) for hwasan,
avoiding the unsafe memory access by _not_ using the array is a huge
win, and (b) even for arm32 the logic is (very slightly) faster than the
array lookup.

So let's get rid of the unsafety (as musl and FreeBSD have already done)
and the large hwasan slowdown (10ns vs 2ns). It's possible in-order
cores might still care, but it's 2023 and it's time to move on.

This change _does not_ remove `_ctype_` and associated macros from the
headers, though we might want to come back and do that. Historically
libc++ used these implementation details directly, but that's no longer
the case, and it seems unlikely that anyone else is, and today's results
suggest they probably shouldn't anyway, and doing so only ever really
made sense for something like ISO-Latin-1 anyway. Most ASCII tests are
_always_ better off inlined, and Android's never supported non-ASCII for
<ctype.h> anyway (use the isw*() functions if you want that, but bear in
mind that if you're actually dealing with human languages, you probably
want icu4c rather than libc anyway).

Test: treehugger & benchmarks
Change-Id: Ifac25c23ac33e996a3c726317b5c6e602dc72e30
2023-10-09 13:53:03 -07:00
Elliott Hughes
7b9e8b3e7c Merge "Remove unreliable CFI test." into main am: f89da9b996 am: 5d32b3be4a am: aaaedf31d0 am: cdefa951b3 am: 535b362e41
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2778127

Change-Id: I53308f3b5fe5316bdbec92ef5062f87ba86bb3d6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-09 20:34:21 +00:00
Elliott Hughes
535b362e41 Merge "Remove unreliable CFI test." into main am: f89da9b996 am: 5d32b3be4a am: aaaedf31d0 am: cdefa951b3
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2778127

Change-Id: I21380439774104e2b7104778771e3e120a31c68d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-09 20:01:28 +00:00
Elliott Hughes
cdefa951b3 Merge "Remove unreliable CFI test." into main am: f89da9b996 am: 5d32b3be4a am: aaaedf31d0
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2778127

Change-Id: Ifc93623ff72fba3edafc76c15ed39237df7fab21
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-09 18:56:48 +00:00
Elliott Hughes
aaaedf31d0 Merge "Remove unreliable CFI test." into main am: f89da9b996 am: 5d32b3be4a
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2778127

Change-Id: I4b0464feb57fd8cdabb2472d44666c9236496d3c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-09 18:24:27 +00:00
Elliott Hughes
5d32b3be4a Merge "Remove unreliable CFI test." into main am: f89da9b996
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2778127

Change-Id: Iabf46428a4b65a6baebc27dc17e46e610557f258
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-09 16:59:38 +00:00
Elliott Hughes
f89da9b996 Merge "Remove unreliable CFI test." into main 2023-10-09 16:19:07 +00:00
Elliott Hughes
f1ce4648a9 Merge "Remove <ctype.h> cruft." into main am: 389a40a0a8 am: a468e56569 am: bc717f9b8d am: 4ca2aabbff am: ac7ef66045
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2455758

Change-Id: If05fcc6343f23138f026fe0759948ca3f6fae967
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-07 00:59:27 +00:00
Elliott Hughes
b2f2fc8184 Remove unreliable CFI test.
Remove tests of implementation details rather than the CFI
functionality itself. In particular, CFI is designed to protect against
invalid calls to executable code, whereas heap memory is covered by page
protection.

Bug: http://b/298741930
Test: treehugger
Change-Id: Ib7f8af283b4c0001da8fa80a1b281bdc4c50af51
2023-10-06 16:58:12 -07:00
Elliott Hughes
ac7ef66045 Merge "Remove <ctype.h> cruft." into main am: 389a40a0a8 am: a468e56569 am: bc717f9b8d am: 4ca2aabbff
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2455758

Change-Id: I095e65a53900155b51ea9d4fd8bfcc8af086dab1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 22:36:43 +00:00
Elliott Hughes
4ca2aabbff Merge "Remove <ctype.h> cruft." into main am: 389a40a0a8 am: a468e56569 am: bc717f9b8d
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2455758

Change-Id: I5deb259e5dffe9048010bb10e96b8bde7a2d1418
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 22:03:25 +00:00
Elliott Hughes
bc717f9b8d Merge "Remove <ctype.h> cruft." into main am: 389a40a0a8 am: a468e56569
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2455758

Change-Id: I652e4558540e2c43f7ba383885352f8fd4c7dc50
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 21:12:28 +00:00
Elliott Hughes
a468e56569 Merge "Remove <ctype.h> cruft." into main am: 389a40a0a8
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2455758

Change-Id: I9a07f1dccb516c448522b39168551251bd65faca
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 20:35:04 +00:00
Elliott Hughes
389a40a0a8 Merge "Remove <ctype.h> cruft." into main 2023-10-06 19:49:26 +00:00
Elliott Hughes
e37068889d Remove <ctype.h> cruft.
The NDK only supports API 21 and later, so we don't need to worry
about older API levels any more.

All the functions in this file are trivial, being but a single
instruction on most architectures. For that reason, we inline them by
default. (We continue to also provide actual symbols for any caller
that needs them --- in particular existing binaries!)

Also inline all the _l() variants too. No-one should be using them,
but since we're already using trickery to only implement the non-_l()
variants once, we may as well use the same trick for both.

Test: treehugger
Change-Id: I17637c49dd14be9e5ecb8246e72e8acc662739f1
2023-10-06 15:06:17 +00:00
Spandan Das
cdeedf90aa Merge "Delete cc_api_* bionic bazel targets" into main am: 17b35ecfd0 am: 5e8ea220d9 am: 24b37f48b0 am: 37ba12cef3 am: 0a899b21d6
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2776977

Change-Id: I7653ea1571cf743c8cb2e4d3bbf0fa210feb2bd7
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 05:50:56 +00:00
Spandan Das
0a899b21d6 Merge "Delete cc_api_* bionic bazel targets" into main am: 17b35ecfd0 am: 5e8ea220d9 am: 24b37f48b0 am: 37ba12cef3
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2776977

Change-Id: I14806f9b9c08fc1e667c5953ddbe32e96750590f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 05:19:23 +00:00
Spandan Das
37ba12cef3 Merge "Delete cc_api_* bionic bazel targets" into main am: 17b35ecfd0 am: 5e8ea220d9 am: 24b37f48b0
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2776977

Change-Id: I0b01eeacd428db9ab9d6710164061dd0c93c65e8
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 04:16:06 +00:00
Spandan Das
24b37f48b0 Merge "Delete cc_api_* bionic bazel targets" into main am: 17b35ecfd0 am: 5e8ea220d9
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2776977

Change-Id: I2c5e77ba767c3b292edd5e00b46544cea5885fef
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 03:42:47 +00:00
Spandan Das
5e8ea220d9 Merge "Delete cc_api_* bionic bazel targets" into main am: 17b35ecfd0
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2776977

Change-Id: I2e55c3cb364fb492615a487d433ddc9724464ee9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 03:10:42 +00:00
Spandan Das
17b35ecfd0 Merge "Delete cc_api_* bionic bazel targets" into main 2023-10-06 02:39:54 +00:00
Treehugger Robot
eb94c45247 Merge "Remove unused declarations." into main am: 488887c8ea am: 0194ba475f am: 1da887ea0a am: 639ac86762 am: b77ef250dc
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2775906

Change-Id: Ife7ad3c2f441b122ea38178c91598099ff4a5637
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 02:37:43 +00:00
Treehugger Robot
b77ef250dc Merge "Remove unused declarations." into main am: 488887c8ea am: 0194ba475f am: 1da887ea0a am: 639ac86762
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2775906

Change-Id: Ia87097cbaada73a20d6342db2a02308def3bc9dd
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 02:06:43 +00:00
Treehugger Robot
639ac86762 Merge "Remove unused declarations." into main am: 488887c8ea am: 0194ba475f am: 1da887ea0a
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2775906

Change-Id: I3b9a7522f4bb33b785d4eeff1abef092ec4aec98
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 01:19:36 +00:00
Treehugger Robot
1da887ea0a Merge "Remove unused declarations." into main am: 488887c8ea am: 0194ba475f
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2775906

Change-Id: Ib8eeb98dcb12ed305352b599f7b32b6454f7ebb3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-06 00:48:13 +00:00
Treehugger Robot
0194ba475f Merge "Remove unused declarations." into main am: 488887c8ea
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2775906

Change-Id: I73cd5fe4c3da5b88e5afcfdbf237f948d6191a76
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 23:57:43 +00:00
Treehugger Robot
488887c8ea Merge "Remove unused declarations." into main 2023-10-05 23:28:52 +00:00
Spandan Das
40467b2602 Delete cc_api_* bionic bazel targets
These targets were created for multi-tree. This use case is not very
relevant anymore, so cleanup these BUILD files

Test: m nothing
Test: presubmits
Bug: 284029211
Change-Id: Id2680df9cfe291ca10b4f007bbd05a338b2498c1
2023-10-05 23:22:05 +00:00
Elliott Hughes
2cceba1669 Remove unused declarations.
Bug: http://b/298741930
Test: treehugger
Change-Id: I5a26cf7c9a14748976b16434a127949f1478bdff
2023-10-05 15:17:12 -07:00
Treehugger Robot
0962881106 Merge "s/master/main/" into main am: a01b292ab9 am: f461a3878c am: 3852cfe4cb am: 3b3e2e9d46 am: 381d04c046
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2773870

Change-Id: If6c55eb8331d792fdb9836bc5cb32f220ed860a4
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 21:12:57 +00:00
Treehugger Robot
381d04c046 Merge "s/master/main/" into main am: a01b292ab9 am: f461a3878c am: 3852cfe4cb am: 3b3e2e9d46
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2773870

Change-Id: Idc616993e3c11fcc6bd8d9101d9bfa41f3bd129e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 20:43:55 +00:00
Treehugger Robot
3b3e2e9d46 Merge "s/master/main/" into main am: a01b292ab9 am: f461a3878c am: 3852cfe4cb
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2773870

Change-Id: I1f69c31fd175255ce25024d1449d279ab5460dd9
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 19:38:50 +00:00
Treehugger Robot
3852cfe4cb Merge "s/master/main/" into main am: a01b292ab9 am: f461a3878c
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2773870

Change-Id: If4d57b0d6f087c3976fa0ab971eb008290e86b70
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 19:04:51 +00:00
Treehugger Robot
f461a3878c Merge "s/master/main/" into main am: a01b292ab9
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2773870

Change-Id: I3f82591d192b7acc287328e689b338c5d599ca1d
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 18:16:15 +00:00
Treehugger Robot
a01b292ab9 Merge "s/master/main/" into main 2023-10-05 17:36:09 +00:00
Elliott Hughes
6b302c6354 Merge "Reduce duplication in the NOTICE file." into main am: 22743e3a7e am: f8d775b943 am: ce7fe40659 am: 9fc4c42656 am: 4023666514
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2773704

Change-Id: I51ff69aa78e23d3231778be1ddf1e9076b166cb5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 02:51:24 +00:00
Treehugger Robot
422e1caa3c Merge "Update the benchmarks/NOTICE file." into main am: 041ddf78bf am: 8251b0de04 am: 76ffc488e4 am: f5d26926af am: 4e2b27005d
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2773705

Change-Id: I44362aa89b37877e9fff16a75dce16a04c6b26df
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-10-05 02:51:12 +00:00