riscv64: add bionic assembler and string functions.
Pull the portable C string functions from FreeBSD, and do fairly literal
translations of our existing .S files for the bionic-specific stuff.
Test: treehugger
Change-Id: Id42e5b8a51ed73155be020d74edd7011a2103574
diff --git a/libc/Android.bp b/libc/Android.bp
index 890df95..1185b1e 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -197,6 +197,9 @@
arm64: {
srcs: ["arch-arm64/bionic/__set_tls.c"],
},
+ riscv64: {
+ srcs: ["arch-riscv64/bionic/__set_tls.c"],
+ },
x86: {
srcs: [
"arch-x86/bionic/__libc_init_sysinfo.cpp",
@@ -661,6 +664,17 @@
"upstream-openbsd/lib/libc/string/strncmp.c",
],
},
+ riscv64: {
+ srcs: [
+ "arch-riscv64/string/memset_chk.c",
+ "upstream-freebsd/lib/libc/string/memcmp.c",
+ "upstream-freebsd/lib/libc/string/memcpy.c",
+ "upstream-freebsd/lib/libc/string/memmove.c",
+ "upstream-freebsd/lib/libc/string/memset.c",
+ "upstream-openbsd/lib/libc/string/strcmp.c",
+ "upstream-openbsd/lib/libc/string/strlen.c",
+ ],
+ },
x86: {
exclude_srcs: [
"upstream-openbsd/lib/libc/string/memchr.c",
@@ -906,6 +920,15 @@
],
},
+ riscv64: {
+ srcs: [
+ "arch-riscv64/bionic/__bionic_clone.S",
+ "arch-riscv64/bionic/_exit_with_stack_teardown.S",
+ "arch-riscv64/bionic/syscall.S",
+ "arch-riscv64/bionic/vfork.S",
+ ],
+ },
+
x86: {
srcs: [
"arch-x86/generic/string/memcmp.S",