Commit graph

37287 commits

Author SHA1 Message Date
Florian Mayer
f5f4112b07 [MTE] test for exception cleanup.
This depends on the LLVM change https://reviews.llvm.org/D135639.

Test: adb shell /data/local/tmp/stack_tagging_helper exception_cleanup
Bug: 174878242
Change-Id: Ia1dfdbe482b40c174acaf6c1ac4ad054470d10b8
2022-11-07 18:17:44 -08:00
Christopher Ferris
09db6416bc Merge "Update to v6.0 kernel headers." 2022-11-03 01:20:02 +00:00
Automerger Merge Worker
5ac1ad606a Merge "Merge "Fix-up for change in pwd/grp ids for PRNG seeder daemon" into android13-tests-dev am: d06e75b7e3" 2022-10-31 07:54:42 +00:00
Orion Hodson
974b15e0ab Merge "Fix-up for change in pwd/grp ids for PRNG seeder daemon" into android13-tests-dev am: d06e75b7e3
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2273426

Change-Id: I4d17c2c68d9661530371c53d109410397edbe7c5
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-10-31 07:54:37 +00:00
Orion Hodson
d06e75b7e3 Merge "Fix-up for change in pwd/grp ids for PRNG seeder daemon" into android13-tests-dev 2022-10-31 07:34:05 +00:00
Treehugger Robot
d8b0171e35 Merge "Remove fallback C sqrt/sqrtf." 2022-10-28 23:07:49 +00:00
Elliott Hughes
e0942db080 Remove fallback C sqrt/sqrtf.
Everyone uses assembler.

Test: treehugger
Change-Id: Id88b029e7d3558f203223d5153ec6098c7230d64
2022-10-28 20:18:17 +00:00
Treehugger Robot
836753a22b Merge "Simplify the libm build now we don't support non-neon." 2022-10-28 17:18:12 +00:00
Treehugger Robot
a854888c67 Merge "arm64: use llvm's builtins for lround/lroundf/llround/llroundf." 2022-10-28 03:40:28 +00:00
Elliott Hughes
0cbb902e0d arm64: use llvm's builtins for lround/lroundf/llround/llroundf.
Test: objdump
Change-Id: I1c5c4dc5cd769f0580d91355e4e5706f9bce46c1
2022-10-28 00:00:00 +00:00
Orion Hodson
f5fd5adf04 Fix-up for change in pwd/grp ids for PRNG seeder daemon
The PRNG seeder daemon is introduced in TM-QPR2 which can lead to
breakage running Android 13 CTS tests depending on when the platform
and CTS tests are built.

Fix: 253185870
Test: run cts --module CtsBionicTestCases
Change-Id: I94fa0aa2f32b09222aee08891e7643bf14d1a204
2022-10-27 11:21:29 +01:00
Treehugger Robot
150829d73d Merge "arm64: use llvm's builtins for copysign() and copysignf()." 2022-10-26 23:41:20 +00:00
Elliott Hughes
46f24a18c0 arm64: use llvm's builtins for copysign() and copysignf().
Test: objdump
Change-Id: I26ab2c4745c5f64140cf781a9f42bce6fc79e1ef
2022-10-26 21:55:34 +00:00
Treehugger Robot
77110736f0 Merge "riscv64: don't go via the PLT for setjmp." 2022-10-26 21:39:23 +00:00
Elliott Hughes
6a1dc51679 riscv64: don't go via the PLT for setjmp.
I don't think we need or want to do this. Most other architectures
don't.

Test: bionic-unit-tests-static
Change-Id: I3ad31926909caf0a37e73ac6cbac1fecd02ea6de
2022-10-26 19:53:35 +00:00
Treehugger Robot
4b0e16bc72 Merge "Fix stdio -NaN tests for riscv64." 2022-10-26 02:17:22 +00:00
Treehugger Robot
5fa1c3ae37 Merge "Add riscv64 lrint.S." 2022-10-26 01:53:24 +00:00
Elliott Hughes
e0a9a3836c Fix stdio -NaN tests for riscv64.
riscv64 hates nans. From the spec: "Except when otherwise stated, if the
result of a floating-point operation is NaN, it is the canonical NaN.
The canonical NaN has a positive sign and all significand bits clear
except the MSB, a.k.a. the quiet bit."

This broke our tests here because the float-to-double instruction isn't
one of the "otherwise stated" cases, so it turns -nanf() into +nan().
The sign manipulation instructions are "otherwise stated" cases, though,
so as long as we avoid a conversion we're fine. And we didn't actually
_need_ a float here (pretty much by definition, since varargs means you
always end up with a double anyway), so we can just simplify things and
switch to using doubles directly to fix the tests.

Test: bionic-unit-tests-static
Change-Id: I13aa452dd6cc8708275f7676b37fc772b37a7b32
2022-10-25 22:56:43 +00:00
Elliott Hughes
4ceb3474be Add riscv64 lrint.S.
This is mainly just to match what we have for arm64.

The test failures before and after this change are all for the long
double variant, which this change doesn't touch. (The problem there is
that clang is calling `__fixtfdi` for the cast in lrintl(), but that
doesn't respect the current rounding mode, which lrintl() is required
to do. `#pragma STDC FENV_ACCESS ON` doesn't fix this, so there's going
to be some llvm work needed to fix this.)

I've replaced the ASSERTs with EXPECTs in the relevant test to ensure
we're checking all the other assertions despite the `long double`
failures.

Test: bionic-unit-tests-static
Change-Id: Ia24bf21619631b6f8b3b607d30536011bb4cd826
2022-10-25 22:27:10 +00:00
Treehugger Robot
e21affe39f Merge "Add trivial assembler implementations of sqrt()/sqrtf()." 2022-10-24 22:38:46 +00:00
Elliott Hughes
a70e345da0 Simplify the libm build now we don't support non-neon.
Test: treehugger
Change-Id: I582ee2477186ba25a455b3b63f74e915be861365
2022-10-24 21:57:57 +00:00
Elliott Hughes
a4398452fd Add trivial assembler implementations of sqrt()/sqrtf().
10x faster in the usual bionic benchmarks.

Test: treehugger
Change-Id: If121cb1ed1ff0756310f34cbaa2c14e28484f1b8
2022-10-24 20:31:09 +00:00
Treehugger Robot
a97ac8c069 Merge "riscv64: build the linker." 2022-10-22 05:42:42 +00:00
Elliott Hughes
3e4f603c7f riscv64: build the linker.
The only meaningful change from alibaba's version is jr instead of jalr.

Also fix the comment that's in all the begin.S files while we're here.

Signed-off-by: Mao Han <han_mao@linux.alibaba.com>
Signed-off-by: Xia Lifang <lifang_xia@linux.alibaba.com>
Signed-off-by: Chen Guoyin <chenguoyin.cgy@linux.alibaba.com>
Signed-off-by: Wang Chen <wangchen20@iscas.ac.cn>
Signed-off-by: Lu Xufan <luxufan@iscas.ac.cn>
Test: ran mksh
Change-Id: I2645c78bd700b8a55bde363600d7f8b87de641a1
2022-10-22 03:57:11 +00:00
Treehugger Robot
d91e069b13 Merge "Punch a hole for renameat(2) for app compat." 2022-10-21 22:51:22 +00:00
Elliott Hughes
f4cace695e Punch a hole for renameat(2) for app compat.
This was allowed implicitly until we moved bionic over to renameat2(2)
because that's all riscv64 has. This restores the status quo for the
other architectures (while keeping everyone using renameat2(2) if they
go via bionic, for consistency).

Bug: http://b/254179267
Test: treehugger
Change-Id: Ib7ebfbf043e1be3eca4b64fdf04ee55d6eb31aed
2022-10-21 20:47:34 +00:00
Treehugger Robot
b2ced4ca7d Merge "Modify path for python clang support package" 2022-10-21 20:18:34 +00:00
Pat Tjin
00fde2aff6 Modify path for python clang support package
Due to commit 594844244237091347b62e8fbbc8a2851258db50 (update
stable to r468909b) the path for python3-clang support was moved from
   prebuilts/clang/host/linux-x86/clang-stable/lib64/python3/site-packages
to:
   prebuilts/clang/host/linux-x86/clang-stable/lib/python3/site-packages

Change the imports to point to the correct place.

Without the change:
  Traceback (most recent call last):
    File "bionic/libc/kernel/tools/./clean_header.py", line 72, in <module>
      import sys, cpp, kernel, glob, os, re, getopt
    File "bionic/libc/kernel/tools/cpp.py", line 19, in <module>
      import clang.cindex
  ModuleNotFoundError: No module named 'clang'

Bug: 254401594
Test: execute clean_headers.py
Signed-off-by: Pat Tjin <pattjin@google.com>
Change-Id: Ibf1423fbe78ee009366e26905c4a09e68ac8ff9b
2022-10-21 18:27:24 +00:00
Colin Cross
0f917240bd Merge "Add a zip package containing the crt*.o objects" 2022-10-21 17:43:15 +00:00
Colin Cross
290c495c24 Add a zip package containing the crt*.o objects
The ndk sysroot does not include the crt*.o objects, package them
separately for use in the llvm toolchain build.

Test: lunch aosp_riscv64-userdebug && m bionic_sysroot_crt_objects
Change-Id: I0bda12b7979a026441bb67387709ee94b3249b6b
2022-10-20 20:17:07 -07:00
Treehugger Robot
579088b354 Merge "Add riscv64 kernel headers to the ndk sysroot" 2022-10-21 02:34:59 +00:00
Treehugger Robot
b9af0678e1 Merge "Fix bionic tests for undefined __SIGRTMIN in musl" 2022-10-20 23:12:21 +00:00
Colin Cross
bd26e0fd89 Add riscv64 kernel headers to the ndk sysroot
Add riscv64 kernel headers to the ndk sysroot for use by the LLVM
toolchain build.  They will not be shipped in the real NDK.

Test: lunch aosp_riscv64-userdebug && m ndk_sysroot
Change-Id: I804e66b56919b84fa5dc03d432ae673ea4f31615
2022-10-20 15:15:26 -07:00
Colin Cross
23b986c0c8 Fix bionic tests for undefined __SIGRTMIN in musl
Musl doesn't export __SIGRTMIN, and it is being removed from the
Android wrappers to avoid accidentally referencing bionic's
reserved signals when compiling against musl.

Bug: 190084016
Test: m USE_HOST_MUSL=true host-native -k
Change-Id: I342666a17abc31bbc57b383b5cc881c2752886f7
2022-10-20 13:16:21 -07:00
Elliott Hughes
bd03a19252 Merge "Remove Commodore 64 support." 2022-10-19 21:21:16 +00:00
Treehugger Robot
fbabf08035 Merge "arm64: fix fesetround()." 2022-10-19 20:36:30 +00:00
Elliott Hughes
7047431d2f arm64: fix fesetround().
The FE_* rounding mode constants have different values on different
architectures, so you can't just copy & paste the validity check from
one to another, like I did here...

Bug: http://b/254501880
Test: treehugger
Change-Id: I2ffa766ffcbe22c1afcd28eab4bd964100dc2d98
2022-10-19 18:44:33 +00:00
Treehugger Robot
f2be65d0f7 Merge "Remove explicit lists of ABIs." 2022-10-19 18:08:17 +00:00
Elliott Hughes
3f73ea6547 Remove explicit lists of ABIs.
Rather than add riscv64 to these lists, let's just outsource to libbase.

Test: treehugger
Change-Id: Ifd0f19564b9bca4544ef60c05eda9591fd8958dd
2022-10-19 16:20:02 +00:00
Elliott Hughes
473dcc59f3 Remove Commodore 64 support.
https://en.wikipedia.org/wiki/KERNAL

Test: treehugger
Change-Id: I42fc21daa051eca29e6bda7f29c81dd8f353c14e
2022-10-19 16:13:09 +00:00
Yu Liu
0b67417d77 Merge "Refactor the bp file to avoid arch variant in cc_genrule." 2022-10-19 15:27:08 +00:00
Treehugger Robot
d33a5c63a8 Merge "riscv64: fix <fenv.h> tests." 2022-10-19 04:20:36 +00:00
Treehugger Robot
017aec5f61 Merge "riscv64: fix setjmp so we're actually using the right cookie!" 2022-10-19 00:51:49 +00:00
Yu Liu
938ec9b7e8 Refactor the bp file to avoid arch variant in cc_genrule.
The arch variant of genrule.out will be soon disallowed in soong.

Bug: 253645813
Test: Manually build.
Change-Id: I2d5daa67b4e10f4abddebc98775df18df485843f
2022-10-18 17:23:17 -07:00
Treehugger Robot
5a4a2fec44 Merge "arm64: simplify the fenv implementation a bit." 2022-10-19 00:09:10 +00:00
Elliott Hughes
017bd9882a riscv64: fix <fenv.h> tests.
Group riscv64 with arm/arm64, and allow for the fact that there's no
FE_DENORMAL in the riscv64 spec.

Test: fenv.*
Change-Id: Ibf188bcedffd092a7ef1555fa2762e249e1f9845
2022-10-18 23:47:28 +00:00
Elliott Hughes
45a84869c4 riscv64: fix setjmp so we're actually using the right cookie!
Test: setjmp.setjmp_smoke
Change-Id: Ia0a160656b9e83cdec611ac196b1ae62f082ab6c
2022-10-18 23:04:12 +00:00
Treehugger Robot
e24dd597e7 Merge "riscv64: don't store both arguments in the same place on the stack." 2022-10-18 22:05:08 +00:00
Elliott Hughes
c800a3bd02 riscv64: don't store both arguments in the same place on the stack.
All the pthread tests are, unsurprisingly, broken without this fix.

Test: treehugger
Change-Id: Ia4c6ac077f3bbd749201ae8d200ec99093f7f4bc
2022-10-18 20:01:58 +00:00
Treehugger Robot
8333532f3b Merge "Revert "Refactor the bp file to avoid arch variant in cc_genrule."" 2022-10-18 04:48:28 +00:00