aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2023-01-26 11:49:32 -0800
committerColin Cross <ccross@android.com>2023-01-26 12:07:07 -0800
commitf00ddafb90c13557028ad452f9ec9dc5795fbc0a (patch)
tree1cdb2f92e3bff97399b5439e86dcdd780bdb99ea
parent2ef6384d9078e89fbbb7f926dea365e71e9482dd (diff)
downloadlibc-f00ddafb90c13557028ad452f9ec9dc5795fbc0a.tar.gz
Fix compile error for riscv64-linux-android
Fixes: error[E0369]: cannot subtract `char` from `char` --> prebuilts/rust/linux-x86/1.64.0/src/stdlibs/vendor/libc/src/unix/linux_like/android/b64/riscv64/mod.rs:63:53 | 63 | pub const COMPAT_HWCAP_ISA_I: ::c_ulong = 1 << ('I' - 'A'); | --- ^ --- char | | | char (cherry picked from commit a7f9d0a7f8b49b27f4668b5e84b926376989bcff) Test: lunch aosp_riscv64-userdebug && m -k Change-Id: I78484cd43c52c3acd30cbf6a536237a66f9671e7
-rw-r--r--patches/musl_build_fix.patch23
-rw-r--r--src/unix/linux_like/android/b64/riscv64/mod.rs12
2 files changed, 29 insertions, 6 deletions
diff --git a/patches/musl_build_fix.patch b/patches/musl_build_fix.patch
new file mode 100644
index 00000000..6d0be1c9
--- /dev/null
+++ b/patches/musl_build_fix.patch
@@ -0,0 +1,23 @@
+diff --git a/src/unix/linux_like/android/b64/riscv64/mod.rs b/src/unix/linux_like/android/b64/riscv64/mod.rs
+index 2421792c..a4389ebf 100644
+--- a/src/unix/linux_like/android/b64/riscv64/mod.rs
++++ b/src/unix/linux_like/android/b64/riscv64/mod.rs
+@@ -60,12 +60,12 @@ pub const SIGSTKSZ: ::size_t = 8192;
+ pub const MINSIGSTKSZ: ::size_t = 2048;
+
+ // From NDK's asm/hwcap.h
+-pub const COMPAT_HWCAP_ISA_I: ::c_ulong = 1 << ('I' - 'A');
+-pub const COMPAT_HWCAP_ISA_M: ::c_ulong = 1 << ('M' - 'A');
+-pub const COMPAT_HWCAP_ISA_A: ::c_ulong = 1 << ('A' - 'A');
+-pub const COMPAT_HWCAP_ISA_F: ::c_ulong = 1 << ('F' - 'A');
+-pub const COMPAT_HWCAP_ISA_D: ::c_ulong = 1 << ('D' - 'A');
+-pub const COMPAT_HWCAP_ISA_C: ::c_ulong = 1 << ('C' - 'A');
++pub const COMPAT_HWCAP_ISA_I: ::c_ulong = 1 << (b'I' - b'A');
++pub const COMPAT_HWCAP_ISA_M: ::c_ulong = 1 << (b'M' - b'A');
++pub const COMPAT_HWCAP_ISA_A: ::c_ulong = 1 << (b'A' - b'A');
++pub const COMPAT_HWCAP_ISA_F: ::c_ulong = 1 << (b'F' - b'A');
++pub const COMPAT_HWCAP_ISA_D: ::c_ulong = 1 << (b'D' - b'A');
++pub const COMPAT_HWCAP_ISA_C: ::c_ulong = 1 << (b'C' - b'A');
+
+ pub const SYS_io_setup: ::c_long = 0;
+ pub const SYS_io_destroy: ::c_long = 1;
diff --git a/src/unix/linux_like/android/b64/riscv64/mod.rs b/src/unix/linux_like/android/b64/riscv64/mod.rs
index 2421792c..a4389ebf 100644
--- a/src/unix/linux_like/android/b64/riscv64/mod.rs
+++ b/src/unix/linux_like/android/b64/riscv64/mod.rs
@@ -60,12 +60,12 @@ pub const SIGSTKSZ: ::size_t = 8192;
pub const MINSIGSTKSZ: ::size_t = 2048;
// From NDK's asm/hwcap.h
-pub const COMPAT_HWCAP_ISA_I: ::c_ulong = 1 << ('I' - 'A');
-pub const COMPAT_HWCAP_ISA_M: ::c_ulong = 1 << ('M' - 'A');
-pub const COMPAT_HWCAP_ISA_A: ::c_ulong = 1 << ('A' - 'A');
-pub const COMPAT_HWCAP_ISA_F: ::c_ulong = 1 << ('F' - 'A');
-pub const COMPAT_HWCAP_ISA_D: ::c_ulong = 1 << ('D' - 'A');
-pub const COMPAT_HWCAP_ISA_C: ::c_ulong = 1 << ('C' - 'A');
+pub const COMPAT_HWCAP_ISA_I: ::c_ulong = 1 << (b'I' - b'A');
+pub const COMPAT_HWCAP_ISA_M: ::c_ulong = 1 << (b'M' - b'A');
+pub const COMPAT_HWCAP_ISA_A: ::c_ulong = 1 << (b'A' - b'A');
+pub const COMPAT_HWCAP_ISA_F: ::c_ulong = 1 << (b'F' - b'A');
+pub const COMPAT_HWCAP_ISA_D: ::c_ulong = 1 << (b'D' - b'A');
+pub const COMPAT_HWCAP_ISA_C: ::c_ulong = 1 << (b'C' - b'A');
pub const SYS_io_setup: ::c_long = 0;
pub const SYS_io_destroy: ::c_long = 1;