riscv64: fix ODR violations.
Rather than do the work to fix the ODR violations while preserving non-V,
let's just remove the non-V code. Android will require V anyway, and
anyone trying to work on a non-V system in the meantime already needs
a bunch of patches to the build system and ART, so one more shouldn't
hurt too much.
Test: treehugger
Change-Id: Iab43d8a80d99a4d045b0008dbea4e7e8696d1167
diff --git a/libc/Android.bp b/libc/Android.bp
index fe5f6de..390cc0c 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -136,6 +136,8 @@
},
apex_available: ["com.android.runtime"],
+
+ tidy_disabled_srcs: ["upstream-*/**/*.c"],
}
libc_scudo_product_variables = {
@@ -251,7 +253,6 @@
cc_library_static {
defaults: ["libc_defaults"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
"tzcode/**/*.c",
"tzcode/bionic.cpp",
@@ -302,7 +303,6 @@
cc_library_static {
defaults: ["libc_defaults"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
"dns/**/*.c*",
@@ -345,7 +345,6 @@
cc_library_static {
defaults: ["libc_defaults"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
"upstream-freebsd/lib/libc/stdlib/getopt_long.c",
"upstream-freebsd/lib/libc/stdlib/hcreate.c",
@@ -411,7 +410,6 @@
cc_library_static {
defaults: ["libc_defaults"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
"upstream-freebsd/lib/libc/gen/glob.c",
],
@@ -439,7 +437,6 @@
cc_library_static {
defaults: ["libc_defaults"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
"upstream-netbsd/common/lib/libc/stdlib/random.c",
"upstream-netbsd/lib/libc/gen/nice.c",
@@ -497,7 +494,6 @@
cc_library_static {
name: "libc_openbsd_ndk",
defaults: ["libc_defaults"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
"upstream-openbsd/lib/libc/gen/alarm.c",
"upstream-openbsd/lib/libc/gen/ctype_.c",
@@ -616,7 +612,6 @@
cc_library_static {
name: "libc_openbsd_large_stack",
defaults: ["libc_defaults"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
"stdio/vfprintf.cpp",
"stdio/vfwprintf.cpp",
@@ -646,78 +641,54 @@
// automatically included.
cc_library_static {
defaults: ["libc_defaults"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
// These two depend on getentropy, which isn't in libc_ndk.a.
"upstream-openbsd/lib/libc/crypt/arc4random.c",
"upstream-openbsd/lib/libc/crypt/arc4random_uniform.c",
-
- // May be overriden by per-arch optimized versions
- "upstream-openbsd/lib/libc/string/memchr.c",
- "upstream-openbsd/lib/libc/string/memrchr.c",
- "upstream-openbsd/lib/libc/string/stpcpy.c",
- "upstream-openbsd/lib/libc/string/stpncpy.c",
- "upstream-openbsd/lib/libc/string/strcat.c",
- "upstream-openbsd/lib/libc/string/strcpy.c",
- "upstream-openbsd/lib/libc/string/strlcat.c",
- "upstream-openbsd/lib/libc/string/strlcpy.c",
- "upstream-openbsd/lib/libc/string/strncat.c",
- "upstream-openbsd/lib/libc/string/strncmp.c",
- "upstream-openbsd/lib/libc/string/strncpy.c",
],
+ // Each architecture has optimized versions of some routines,
+ // and only includes the portable C versions of ones it's missing.
arch: {
arm: {
- exclude_srcs: [
- "upstream-openbsd/lib/libc/string/strcpy.c",
- "upstream-openbsd/lib/libc/string/stpcpy.c",
- "upstream-openbsd/lib/libc/string/strcat.c",
+ srcs: [
+ "upstream-openbsd/lib/libc/string/memchr.c",
+ "upstream-openbsd/lib/libc/string/memrchr.c",
+ "upstream-openbsd/lib/libc/string/stpncpy.c",
+ "upstream-openbsd/lib/libc/string/strlcat.c",
+ "upstream-openbsd/lib/libc/string/strlcpy.c",
+ "upstream-openbsd/lib/libc/string/strncat.c",
+ "upstream-openbsd/lib/libc/string/strncmp.c",
+ "upstream-openbsd/lib/libc/string/strncpy.c",
],
},
arm64: {
- exclude_srcs: [
- "upstream-openbsd/lib/libc/string/memchr.c",
- "upstream-openbsd/lib/libc/string/memrchr.c",
- "upstream-openbsd/lib/libc/string/stpcpy.c",
- "upstream-openbsd/lib/libc/string/strcpy.c",
- "upstream-openbsd/lib/libc/string/strncmp.c",
+ srcs: [
+ "upstream-openbsd/lib/libc/string/stpncpy.c",
+ "upstream-openbsd/lib/libc/string/strcat.c",
+ "upstream-openbsd/lib/libc/string/strlcat.c",
+ "upstream-openbsd/lib/libc/string/strlcpy.c",
+ "upstream-openbsd/lib/libc/string/strncat.c",
+ "upstream-openbsd/lib/libc/string/strncpy.c",
],
},
riscv64: {
srcs: [
- "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",
+ "upstream-openbsd/lib/libc/string/memrchr.c",
+ "upstream-openbsd/lib/libc/string/stpncpy.c",
+ "upstream-openbsd/lib/libc/string/strlcat.c",
+ "upstream-openbsd/lib/libc/string/strlcpy.c",
],
},
x86: {
- exclude_srcs: [
+ // This space intentionally left blank.
+ },
+ x86_64: {
+ srcs: [
"upstream-openbsd/lib/libc/string/memchr.c",
"upstream-openbsd/lib/libc/string/memrchr.c",
- "upstream-openbsd/lib/libc/string/stpcpy.c",
- "upstream-openbsd/lib/libc/string/stpncpy.c",
- "upstream-openbsd/lib/libc/string/strcat.c",
- "upstream-openbsd/lib/libc/string/strcpy.c",
- "upstream-openbsd/lib/libc/string/strncmp.c",
- "upstream-openbsd/lib/libc/string/strncpy.c",
"upstream-openbsd/lib/libc/string/strlcat.c",
"upstream-openbsd/lib/libc/string/strlcpy.c",
- "upstream-openbsd/lib/libc/string/strncat.c",
- ],
- },
-
- x86_64: {
- exclude_srcs: [
- "upstream-openbsd/lib/libc/string/stpcpy.c",
- "upstream-openbsd/lib/libc/string/stpncpy.c",
- "upstream-openbsd/lib/libc/string/strcat.c",
- "upstream-openbsd/lib/libc/string/strcpy.c",
- "upstream-openbsd/lib/libc/string/strncat.c",
- "upstream-openbsd/lib/libc/string/strncmp.c",
- "upstream-openbsd/lib/libc/string/strncpy.c",
],
},
},
@@ -745,7 +716,6 @@
cc_library_static {
defaults: ["libc_defaults"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
"upstream-openbsd/android/gdtoa_support.cpp",
"upstream-openbsd/lib/libc/gdtoa/dmisc.c",
@@ -861,26 +831,12 @@
// The following must not be statically linked into libc_ndk.a, because
// debuggerd will look for the abort message in libc.so's copy.
"bionic/android_set_abort_message.cpp",
-
- "bionic/strchr.cpp",
- "bionic/strchrnul.cpp",
- "bionic/strnlen.c",
- "bionic/strrchr.cpp",
],
arch: {
arm: {
asflags: libc_common_flags + ["-mno-restrict-it"],
srcs: [
- "arch-arm/generic/bionic/memcmp.S",
- "arch-arm/generic/bionic/memmove.S",
- "arch-arm/generic/bionic/memset.S",
- "arch-arm/generic/bionic/stpcpy.c",
- "arch-arm/generic/bionic/strcat.c",
- "arch-arm/generic/bionic/strcmp.S",
- "arch-arm/generic/bionic/strcpy.S",
- "arch-arm/generic/bionic/strlen.c",
-
"arch-arm/bionic/__aeabi_read_tp.S",
"arch-arm/bionic/__bionic_clone.S",
"arch-arm/bionic/__restore.S",
@@ -893,6 +849,20 @@
"arch-arm/bionic/syscall.S",
"arch-arm/bionic/vfork.S",
+ "bionic/strchr.cpp",
+ "bionic/strchrnul.cpp",
+ "bionic/strnlen.c",
+ "bionic/strrchr.cpp",
+
+ "arch-arm/generic/bionic/memcmp.S",
+ "arch-arm/generic/bionic/memmove.S",
+ "arch-arm/generic/bionic/memset.S",
+ "arch-arm/generic/bionic/stpcpy.c",
+ "arch-arm/generic/bionic/strcat.c",
+ "arch-arm/generic/bionic/strcmp.S",
+ "arch-arm/generic/bionic/strcpy.S",
+ "arch-arm/generic/bionic/strlen.c",
+
"arch-arm/cortex-a15/bionic/memcpy.S",
"arch-arm/cortex-a15/bionic/memmove.S",
"arch-arm/cortex-a15/bionic/memset.S",
@@ -930,12 +900,6 @@
"arch-arm64/bionic/syscall.S",
"arch-arm64/bionic/vfork.S",
],
- exclude_srcs: [
- "bionic/strchr.cpp",
- "bionic/strchrnul.cpp",
- "bionic/strnlen.c",
- "bionic/strrchr.cpp",
- ],
},
riscv64: {
@@ -946,26 +910,40 @@
"arch-riscv64/bionic/syscall.S",
"arch-riscv64/bionic/vfork.S",
- "arch-riscv64/string/memchr_vext.S",
- "arch-riscv64/string/memcmp_vext.S",
- "arch-riscv64/string/memcpy_vext.S",
- "arch-riscv64/string/memmove_vext.S",
- "arch-riscv64/string/memset_vext.S",
- "arch-riscv64/string/stpcpy_vext.S",
- "arch-riscv64/string/strcat_vext.S",
- "arch-riscv64/string/strchr_vext.S",
- "arch-riscv64/string/strcmp_vext.S",
- "arch-riscv64/string/strcpy_vext.S",
- "arch-riscv64/string/strlen_vext.S",
- "arch-riscv64/string/strncat_vext.S",
- "arch-riscv64/string/strncmp_vext.S",
- "arch-riscv64/string/strncpy_vext.S",
- "arch-riscv64/string/strnlen_vext.S",
+ "bionic/strchrnul.cpp",
+ "bionic/strrchr.cpp",
+
+ "arch-riscv64/string/memchr.S",
+ "arch-riscv64/string/memcmp.S",
+ "arch-riscv64/string/memcpy.S",
+ "arch-riscv64/string/memmove.S",
+ "arch-riscv64/string/memset.S",
+ "arch-riscv64/string/stpcpy.S",
+ "arch-riscv64/string/strcat.S",
+ "arch-riscv64/string/strchr.S",
+ "arch-riscv64/string/strcmp.S",
+ "arch-riscv64/string/strcpy.S",
+ "arch-riscv64/string/strlen.S",
+ "arch-riscv64/string/strncat.S",
+ "arch-riscv64/string/strncmp.S",
+ "arch-riscv64/string/strncpy.S",
+ "arch-riscv64/string/strnlen.S",
],
},
x86: {
srcs: [
+ "arch-x86/bionic/__bionic_clone.S",
+ "arch-x86/bionic/_exit_with_stack_teardown.S",
+ "arch-x86/bionic/libcrt_compat.c",
+ "arch-x86/bionic/__restore.S",
+ "arch-x86/bionic/setjmp.S",
+ "arch-x86/bionic/syscall.S",
+ "arch-x86/bionic/vfork.S",
+ "arch-x86/bionic/__x86.get_pc_thunk.S",
+
+ "bionic/strchrnul.cpp",
+
"arch-x86/generic/string/memcmp.S",
"arch-x86/generic/string/strcmp.S",
"arch-x86/generic/string/strncmp.S",
@@ -1013,25 +991,22 @@
"arch-x86/string/sse4-memcmp-slm.S",
"arch-x86/string/sse4-wmemcmp-slm.S",
-
- "arch-x86/bionic/__bionic_clone.S",
- "arch-x86/bionic/_exit_with_stack_teardown.S",
- "arch-x86/bionic/libcrt_compat.c",
- "arch-x86/bionic/__restore.S",
- "arch-x86/bionic/setjmp.S",
- "arch-x86/bionic/syscall.S",
- "arch-x86/bionic/vfork.S",
- "arch-x86/bionic/__x86.get_pc_thunk.S",
- ],
-
- exclude_srcs: [
- "bionic/strchr.cpp",
- "bionic/strnlen.c",
- "bionic/strrchr.cpp",
],
},
x86_64: {
srcs: [
+ "arch-x86_64/bionic/__bionic_clone.S",
+ "arch-x86_64/bionic/_exit_with_stack_teardown.S",
+ "arch-x86_64/bionic/__restore_rt.S",
+ "arch-x86_64/bionic/setjmp.S",
+ "arch-x86_64/bionic/syscall.S",
+ "arch-x86_64/bionic/vfork.S",
+
+ "bionic/strchr.cpp",
+ "bionic/strchrnul.cpp",
+ "bionic/strnlen.c",
+ "bionic/strrchr.cpp",
+
"arch-x86_64/string/avx2-memset-kbl.S",
"arch-x86_64/string/sse2-memmove-slm.S",
"arch-x86_64/string/sse2-memset-slm.S",
@@ -1045,13 +1020,6 @@
"arch-x86_64/string/sse4-memcmp-slm.S",
"arch-x86_64/string/ssse3-strcmp-slm.S",
"arch-x86_64/string/ssse3-strncmp-slm.S",
-
- "arch-x86_64/bionic/__bionic_clone.S",
- "arch-x86_64/bionic/_exit_with_stack_teardown.S",
- "arch-x86_64/bionic/__restore_rt.S",
- "arch-x86_64/bionic/setjmp.S",
- "arch-x86_64/bionic/syscall.S",
- "arch-x86_64/bionic/vfork.S",
],
},
},
@@ -1569,9 +1537,6 @@
arm64: {
srcs: ["arch-arm64/static_function_dispatch.S"],
},
- riscv64: {
- srcs: ["arch-riscv64/static_function_dispatch.S"]
- },
},
}
@@ -1600,9 +1565,6 @@
arm64: {
srcs: ["arch-arm64/dynamic_function_dispatch.cpp"],
},
- riscv64: {
- srcs: ["arch-riscv64/dynamic_function_dispatch.cpp"]
- },
},
}
@@ -2921,7 +2883,6 @@
cc_library_host_static {
name: "libfts",
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: [
"bionic/fts.c",
"upstream-openbsd/lib/libc/stdlib/recallocarray.c",
@@ -2964,7 +2925,6 @@
cc_library_host_static {
name: "libb64",
visibility: ["//external/musl"],
- tidy_disabled_srcs: ["upstream-*/**/*.c"],
srcs: ["upstream-openbsd/lib/libc/net/base64.c"],
export_include_dirs: ["b64/include"],
local_include_dirs: [