Commit graph

37304 commits

Author SHA1 Message Date
Elliott Hughes
ebe850e01c Merge "Remove strtoq() and strtouq()." 2022-11-10 19:42:02 +00:00
Treehugger Robot
4f8ead4a63 Merge "Update the README.md" 2022-11-10 19:40:47 +00:00
zijunzhao
a3696c13cf Update the README.md
1. Update the link for device test.

2. Reformat the file.

Bugs: None
Test: None
Change-Id: I88b928d7b2247fb31e8adbd92a19f944cf0bafd4
2022-11-10 00:01:15 +00:00
Treehugger Robot
e71efc5ca6 Merge "Use the same union in riscv64's ucontext." 2022-11-09 22:21:25 +00:00
Treehugger Robot
315373dcab Merge "Failures to parse SYSCALLS.TXT-like files should be errors." 2022-11-09 17:19:13 +00:00
Elliott Hughes
8e826775fb Use the same union in riscv64's ucontext.
We don't need this (any more than arm64 does), because riscv64 is too
new to have had a too-small sigset_t, but it's useful for source code
compatibility with code that needs to build on arm32/x86 too.

Test: treehugger
Change-Id: Ied5f64d9094bc7d31c059f82f9e4ffe9b8ca4061
2022-11-09 16:38:00 +00:00
Elliott Hughes
00211554a7 Remove strtoq() and strtouq().
These have been aliases for strtoll() and strtoull() since L, by
accident. We've never exposed them in the headers, and they're unused by
any apps. Let's fix the inconsistency between libc.so and its headers by
removing the aliases.

Bug: https://github.com/android/ndk/issues/1803
Test: treehugger
Change-Id: I87de7831c04b3e450a44e9f0386cacb73793e393
2022-11-09 16:15:05 +00:00
Elliott Hughes
ebd2f76c9b Merge "Sync with upstream NetBSD." 2022-11-09 16:03:31 +00:00
Automerger Merge Worker
b1638983e6 Merge "Merge "Disable MemtagNoteTest#SEGV for native bridge" into android13-tests-dev am: 2934645119" 2022-11-09 06:25:24 +00:00
Treehugger Robot
fd0b800d11 Merge "Disable MemtagNoteTest#SEGV for native bridge" into android13-tests-dev am: 2934645119
Original change: https://android-review.googlesource.com/c/platform/bionic/+/2290233

Change-Id: I4dc944e20df86d16f51e1c168ba44e2a19801b84
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2022-11-09 06:25:21 +00:00
Treehugger Robot
2934645119 Merge "Disable MemtagNoteTest#SEGV for native bridge" into android13-tests-dev 2022-11-09 05:55:07 +00:00
Elliott Hughes
2d5217ced1 Merge "Disable MemtagNoteTest#SEGV for native bridge" 2022-11-08 21:34:18 +00:00
Treehugger Robot
ee267053bc Merge "Fix a typo." 2022-11-08 19:30:09 +00:00
Elliott Hughes
1c1dfb82f4 Failures to parse SYSCALLS.TXT-like files should be errors.
Previously we'd output a diagnostic but just blindly carry on.

Test: ran locally without my previous fix
Change-Id: I99a2411eae5bd72d97b6a4335c699d1e44d7b55a
2022-11-08 17:13:59 +00:00
dimitry
2cc2910e70 Disable MemtagNoteTest#SEGV for native bridge
This commit disables MemtagNoteTest#SEGV when running
on native bridge.

Bug: http://b/242170715
Test: run arm64 Bionic tests on T Emulator
Change-Id: I8ae99c5ba22f09a8d7e751f8bb4938894abe231f
2022-11-08 05:50:07 +00:00
Elliott Hughes
c8bf923bf0 Fix a typo.
No, I don't know why this is a warning rather than an error. I'll fix
that.

Test: treehugger
Change-Id: Ib3cb50fc4817e3fd418d2d721bda3819b0683b7c
2022-11-08 02:52:29 +00:00
Elliott Hughes
88e4e60a75 Sync with upstream NetBSD.
Test: treehugger
Change-Id: Ia82ba4a0c00a47377240e5d9a85dc30deb5ce3b7
2022-11-08 02:51:48 +00:00
dimitry
dd64a6e28a Disable MemtagNoteTest#SEGV for native bridge
This commit disables MemtagNoteTest#SEGV when running
on native bridge.

Bug: http://b/242170715
Test: run arm64 Bionic tests on T Emulator
Change-Id: I8ae99c5ba22f09a8d7e751f8bb4938894abe231f
2022-11-07 18:39:42 +01: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