aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-03-05Merge "Clarify the timespec argument to clock_nanosleep()." into main am: ↵temp_319669529Elliott Hughes
70ecb746f3 Original change: https://android-review.googlesource.com/c/platform/bionic/+/2987070 Change-Id: Ie84b92a2839ad09f5f73f1cce173df5a14e3e237 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05Merge "Consistently use 'op' in argument names." into main am: 47f8ab80ccElliott Hughes
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2987969 Change-Id: Id162bd1a19777501ea982996f3689a22142e18e2 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05Merge "_Fork(): clarify what not running pthread_atfork() handlers means in ↵Elliott Hughes
practice." into main am: 69bc81615b Original change: https://android-review.googlesource.com/c/platform/bionic/+/2987030 Change-Id: Ic3bcc3ec2addc60edf75d612eb4c5bd35f902040 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05Merge "Remove an unused include" into main am: 9d98e04aa9Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2988089 Change-Id: Ibaeddef163e41c2fce7431fa5c7a6312c009d8aa Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05Merge "Clarify the timespec argument to clock_nanosleep()." into mainElliott Hughes
2024-03-05Merge "Consistently use 'op' in argument names." into mainElliott Hughes
2024-03-05Merge "_Fork(): clarify what not running pthread_atfork() handlers means in ↵Elliott Hughes
practice." into main
2024-03-05Merge "Remove an unused include" into mainTreehugger Robot
2024-03-04Remove an unused includeRyan Prichard
Bug: none Test: bionic-unit-tests Change-Id: I738c24c82b5c4af5db275ba6566a5ba6f7d538ac
2024-03-05Merge "Revamp the elftls_dl.dtv_resize test" into main am: e6a4943dfaRyan Prichard
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2983767 Change-Id: I78ddfe29db66d1ce781f70b72a318c84f75980d3 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-05Clarify the timespec argument to clock_nanosleep().Elliott Hughes
Pointed out during review of a similar change to the man page. Change-Id: I78f87bc4ff9fed773ca6f477e79f4a3fd507e056
2024-03-04Merge "Revamp the elftls_dl.dtv_resize test" into mainRyan Prichard
2024-03-04Consistently use 'op' in argument names.Elliott Hughes
This matches changes being made to regularize the man page terminology. Change-Id: If949cf81a0a0a06f24a4a742e8bf45c53dbd0da1
2024-03-04_Fork(): clarify what not running pthread_atfork() handlers means in practice.Elliott Hughes
Change-Id: I0546069bbef730ffc23b3cea90fe7280d905d885
2024-03-01Revamp the elftls_dl.dtv_resize testRyan Prichard
Split the test out into a separate executable to reduce the number of ELF modules in the DTV, so that the test can more easily observe the behavior of loading a module that requires doubling the DTV size. We want to see the DTV expand from 5 entries (8 words w/header) to 13 entries (16 words w/header). Make the test work with an initial number of ELF TLS modules between 2 and 4. Bug: http://b/175635923 Test: bionic-unit-tests Change-Id: I1e91b4462987a5c80e13838669c359053f5a62f6
2024-03-01Merge "Correct the nullability annotation in posix_spawnattr_init()" into ↵Treehugger Robot
main am: 2c0e9a58ea Original change: https://android-review.googlesource.com/c/platform/bionic/+/2983453 Change-Id: Ib3fd19948abcb9f10e6ed4e4e2a9a16835c91c9a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-03-01Merge "Correct the nullability annotation in posix_spawnattr_init()" into mainTreehugger Robot
2024-02-29Merge "Add _Fork()." into main am: a216b269efElliott Hughes
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2976351 Change-Id: I3292deb2184c7f88b39e2ee9d817775031bfbfb7 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-29Correct the nullability annotation in posix_spawnattr_init()zijunzhao
The input __attr should be allowed to point to null. Bugs: b/245972273 Test: adb shell Change-Id: Id433d220e7c074ca68e2541371491975b33928ed
2024-02-29Merge "Add _Fork()." into mainElliott Hughes
2024-02-29Add _Fork().Elliott Hughes
POSIX issue 8 function, already in musl/glibc (but not iOS/macOS). Bug: https://austingroupbugs.net/view.php?id=62 Test: treehugger Change-Id: Id51611afdab92dff36a540b7d8737fc0e31f3d36
2024-02-29Merge "Remove unnecessary includes" into main am: 9218876df0Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2983496 Change-Id: I5d0ed4bbda78c7989cf44c2fd0d5feb58b3319d5 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-29Merge "Remove unnecessary includes" into mainTreehugger Robot
2024-02-28Remove unnecessary includesFlorian Mayer
Test: debuggerd_test, CtsCrashDetailHostTestCases Change-Id: Iceb0458d953f23aff13576a45c2f6a616c40c1a5
2024-02-28Merge "Add ..DEPRECATED_PAGE_SIZE macro" into main am: 2215ad406bSteven Moreland
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2978135 Change-Id: I436e26aa5e3587f5977854c4fdb720e0199a4b8d Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28Merge "Add ..DEPRECATED_PAGE_SIZE macro" into mainSteven Moreland
2024-02-28Add ..DEPRECATED_PAGE_SIZE macroSteven Moreland
When 'no page size' is turned on (especially if it is turned on by default in some environments), we need a way to turn it off, thus restoring the old behavior. Bug: 312546062 Change-Id: I411cff621246b6ba40e70bb51234f3886ba9527a Test: N/A
2024-02-28Merge changes from topic "reland_bionic_vma_fixes" into main am: f9c297d344Kalesh Singh
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2966884 Change-Id: I5462276ccc3fb1c0b695c8bba2fb7544a84583bf Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28Merge changes from topic "reland_bionic_vma_fixes" into mainKalesh Singh
* changes: RELAND: bionic: loader: Extend GNU_RELRO protection RELAND: bionic: loader: Extend LOAD segment VMAs
2024-02-28Merge "CtsBionicAppTestCases has moved to presubmit." into main am: a094f172b8Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2980612 Change-Id: I493170b4ebb03df182f60de2d926c4747224f012 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-28Merge "CtsBionicAppTestCases has moved to presubmit." into mainTreehugger Robot
2024-02-27Merge "Add CtsBionicAppTestCases to TEST_MAPPING." into main am: 15be223fccElliott Hughes
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2974191 Change-Id: I6cc4e6bfd0cbae44941dae48e401c38fce17203e Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-27CtsBionicAppTestCases has moved to presubmit.Elliott Hughes
Change-Id: I305bfe2724609c18abfd52c21fd8e3ae4edc1aea
2024-02-27Merge "Add CtsBionicAppTestCases to TEST_MAPPING." into mainElliott Hughes
2024-02-27Merge "__bionic_get_shell_path(): explanatory comment." into main am: c3a6b446c4Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2978812 Change-Id: I4e4c1c7090e46bfc67bfe02f8ee3b63947675ead Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-27Merge "__bionic_get_shell_path(): explanatory comment." into mainTreehugger Robot
2024-02-27RELAND: bionic: loader: Extend GNU_RELRO protectionKalesh Singh
If the LOAD segment VMAs are extended to prevent creating additional VMAs, the the protection extent of the GNU_RELRO segment must also be updated to match. Otherwise, the partial mprotect will reintroduce an additional VMA due to the split protections. Update the GNU_RELRO protection range when the ELF was loaded by the bionic loader. Be careful not to attempt any fix up for ELFs not loaded by us (e.g. ELF loaded by the kernel) since these don't have the extended VMA fix to begin with. Consider a system with 4KB page size and the ELF files with 64K alignment. e.g: $ readelf -Wl /system/lib64/bootstrap/libc.so | grep 'Type\|LOAD' Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x0441a8 0x0441a8 R 0x10000 LOAD 0x0441b0 0x00000000000541b0 0x00000000000541b0 0x091860 0x091860 R E 0x10000 LOAD 0x0d5a10 0x00000000000f5a10 0x00000000000f5a10 0x003d40 0x003d40 RW 0x10000 LOAD 0x0d9760 0x0000000000109760 0x0000000000109760 0x0005c0 0x459844 RW 0x10000 Before this patch: $ cat /proc/1/maps | grep -A1 libc.so 7f468f069000-7f468f0bd000 r--p 00000000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f0bd000-7f468f15e000 r-xp 00044000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f15e000-7f468f163000 r--p 000d5000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f163000-7f468f172000 rw-p 000da000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f172000-7f468f173000 rw-p 000d9000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f173000-7f468f5c4000 rw-p 00000000 00:00 0 [anon:.bss] 1 extra RW VMA at offset 0x000da000 (3 RW mappings in total) After this patch: $ cat /proc/1/maps | grep -A1 libc.so 7f5a50225000-7f5a50279000 r--p 00000000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f5a50279000-7f5a5031a000 r-xp 00044000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f5a5031a000-7f5a5032e000 r--p 000d5000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f5a5032e000-7f5a5032f000 rw-p 000d9000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f5a5032f000-7f5a50780000 rw-p 00000000 00:00 0 [anon:.bss] Removed RW VMA at offset 0x000da000 (2 RW mappings in total) Bug: 316403210 Bug: 300367402 Bug: 307803052 Bug: 312550202 Test: atest -c linker-unit-tests Test: atest -c bionic-unit-tests Change-Id: I9cd04574190ef4c727308363a8cb1120c36e53e0 Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-02-27RELAND: bionic: loader: Extend LOAD segment VMAsKalesh Singh
When the page_size < p_align of the ELF load segment, the loader will end up creating extra PROT_NONE gap VMA mappings between the LOAD segments. This problem is exacerbated by Android's zygote model, where the number of loaded .so's can lead to ~30MB increase in vm_area_struct unreclaimable slab memory. Extend the LOAD segment VMA's to cover the range between the segment's end and the start of the next segment, being careful to avoid touching regions of the extended mapping where the offset would overrun the size of the file. This avoids the loader creating an additional gap VMA for each LOAD segment. Consider a system with 4KB page size and the ELF files with 64K alignment. e.g: $ readelf -Wl /system/lib64/bootstrap/libc.so | grep 'Type\|LOAD' Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align LOAD 0x000000 0x0000000000000000 0x0000000000000000 0x0441a8 0x0441a8 R 0x10000 LOAD 0x0441b0 0x00000000000541b0 0x00000000000541b0 0x091860 0x091860 R E 0x10000 LOAD 0x0d5a10 0x00000000000f5a10 0x00000000000f5a10 0x003d40 0x003d40 RW 0x10000 LOAD 0x0d9760 0x0000000000109760 0x0000000000109760 0x0005c0 0x459844 RW 0x10000 Before this patch: $ cat /proc/1/maps | grep -A1 libc.so 7fa1d4a90000-7fa1d4ad5000 r--p 00000000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7fa1d4ad5000-7fa1d4ae4000 ---p 00000000 00:00 0 7fa1d4ae4000-7fa1d4b76000 r-xp 00044000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7fa1d4b76000-7fa1d4b85000 ---p 00000000 00:00 0 7fa1d4b85000-7fa1d4b8a000 r--p 000d5000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7fa1d4b8a000-7fa1d4b99000 ---p 00000000 00:00 0 7fa1d4b99000-7fa1d4b9a000 rw-p 000d9000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7fa1d4b9a000-7fa1d4feb000 rw-p 00000000 00:00 0 [anon:.bss] 3 additional PROT_NONE (---p) VMAs for gap mappings. After this patch: $ cat /proc/1/maps | grep -A1 libc.so 7f468f069000-7f468f0bd000 r--p 00000000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f0bd000-7f468f15e000 r-xp 00044000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f15e000-7f468f163000 r--p 000d5000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f163000-7f468f172000 rw-p 000da000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f172000-7f468f173000 rw-p 000d9000 fe:09 20635520 /system/lib64/bootstrap/libc.so 7f468f173000-7f468f5c4000 rw-p 00000000 00:00 0 [anon:.bss] No additional gap VMAs. However notice there is an extra RW VMA at offset 0x000da000. This is caused by the RO protection of the GNU_RELRO segment, which causes the extended RW VMA to split. The GNU_RELRO protection extension is handled in the subsequent patch in this series. Bug: 316403210 Bug: 300367402 Bug: 307803052 Bug: 312550202 Test: atest -c linker-unit-tests Test: atest -c bionic-unit-tests Change-Id: I7150ed22af0723cc0b2d326c046e4e4a8b56ad09 Signed-off-by: Kalesh Singh <kaleshsingh@google.com>
2024-02-26__bionic_get_shell_path(): explanatory comment.Elliott Hughes
Change-Id: If7cb9ff4a3c13b80bb27da119bfb4c38137798a7
2024-02-26Merge "cxa_demangle_test: expand accepted outputs" into main am: a5ac8de33fRyan Prichard
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2976251 Change-Id: Id27c8c3a4e1c4a56348fe2f8d63337c5a41c8597 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-26Merge "Improve android_set_abort_message() documentation." into main am: ↵Elliott Hughes
dcfc4a1ccc Original change: https://android-review.googlesource.com/c/platform/bionic/+/2975871 Change-Id: I11be30ab4fa04875304fbfb74b88edf819613c85 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-26Merge "cxa_demangle_test: expand accepted outputs" into mainRyan Prichard
2024-02-26Add CtsBionicAppTestCases to TEST_MAPPING.Elliott Hughes
I can't believe we haven't been running this in presubmit. I still can't explain how http://b/326189243 wasn't caught in presubmit, but this can't hurt... Test: treehugger Change-Id: Ib74df38da8909bd20f9cb0cbaddff5119afb8d83
2024-02-26Merge "Improve android_set_abort_message() documentation." into mainElliott Hughes
2024-02-23cxa_demangle_test: expand accepted outputsRyan Prichard
After updating libc++, the demangled output's float literal ends with 'L' and the <template-args> ends with a '>'. However, the input is invalid, so the demangler probably should return nullptr. Bug: http://b/175635923 Test: bionic-unit-tests Change-Id: I8440118e4f5791a3464e15d6f9d2f5f3d006e54d
2024-02-23Improve android_set_abort_message() documentation.Elliott Hughes
Change-Id: Iee01fcfc39356f3daeb0676acc0dc0dd17675e68
2024-02-23Merge "Mention ApplicationExitInfo in docs" into main am: 6835b71819Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2974831 Change-Id: Ib3abeeaa14f06650721fac0504ca23431fad2c42 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2024-02-23Merge "Mention ApplicationExitInfo in docs" into mainTreehugger Robot
2024-02-23Mention ApplicationExitInfo in docsFlorian Mayer
Bug: 155462331 Change-Id: I2a60dc1ca5a117bd47631dc7faba8446b4518761
2024-02-22Merge "Add CtsBionicAppTestCases to postsubmit" into main am: f2c9e97c45Treehugger Robot
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2974193 Change-Id: If8247d4684a69dfcfd5f7699315930ca343fd804 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>