[vm, ffi] Fix sign of char on various platforms.

Cf. 90f118484f78fe2588c796969b2f35aef88d987e

TEST=ffi_2/c_types_test
Change-Id: I1b44bd07fec9c690f4c0290a18cf0dd7e1c24499
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/239202
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
diff --git a/sdk/lib/ffi/c_type.dart b/sdk/lib/ffi/c_type.dart
index f6b7d8c..cb9d386 100644
--- a/sdk/lib/ffi/c_type.dart
+++ b/sdk/lib/ffi/c_type.dart
@@ -24,19 +24,19 @@
 @AbiSpecificIntegerMapping({
   Abi.androidArm: Uint8(),
   Abi.androidArm64: Uint8(),
-  Abi.androidIA32: Uint8(),
-  Abi.androidX64: Uint8(),
-  Abi.fuchsiaArm64: Int8(),
+  Abi.androidIA32: Int8(),
+  Abi.androidX64: Int8(),
+  Abi.fuchsiaArm64: Uint8(),
   Abi.fuchsiaX64: Int8(),
-  Abi.iosArm: Uint8(),
+  Abi.iosArm: Int8(),
   Abi.iosArm64: Int8(),
   Abi.iosX64: Int8(),
   Abi.linuxArm: Uint8(),
-  Abi.linuxArm64: Int8(),
+  Abi.linuxArm64: Uint8(),
   Abi.linuxIA32: Int8(),
   Abi.linuxX64: Int8(),
-  Abi.linuxRiscv32: Int8(),
-  Abi.linuxRiscv64: Int8(),
+  Abi.linuxRiscv32: Uint8(),
+  Abi.linuxRiscv64: Uint8(),
   Abi.macosArm64: Int8(),
   Abi.macosX64: Int8(),
   Abi.windowsArm64: Int8(),