Version 2.12.0-20.0.dev

Merge commit '0358e0e07a9f5510eee5f87006842cab3f541e5e' into 'dev'
diff --git a/pkg/dart2native/lib/generate.dart b/pkg/dart2native/lib/generate.dart
index 7ce1f9a2..eb70dcf 100644
--- a/pkg/dart2native/lib/generate.dart
+++ b/pkg/dart2native/lib/generate.dart
@@ -32,6 +32,9 @@
   final Directory tempDir = Directory.systemTemp.createTempSync();
   try {
     final sourcePath = path.canonicalize(path.normalize(sourceFile));
+    if (packages != null) {
+      packages = path.canonicalize(path.normalize(packages));
+    }
     final Kind outputKind = {
       'aot': Kind.aot,
       'exe': Kind.exe,
diff --git a/samples/ffi/sqlite/docs/sqlite-tutorial.md b/samples/ffi/sqlite/docs/sqlite-tutorial.md
index 9b8e7e1..c7ea858 100644
--- a/samples/ffi/sqlite/docs/sqlite-tutorial.md
+++ b/samples/ffi/sqlite/docs/sqlite-tutorial.md
@@ -92,9 +92,9 @@
 
 ```dart
 CString string = allocate(count: 4).cast(); // Allocates 4 bytes and casts it to a string.
-string.value = 73;                          // Stores 'F' at index 0.
-string[1] = 73;                             // Stores 'F' at index 1.
-string[2] = 70;                             // Stores 'I' at index 2.
+string.value = 70;                          // Stores 'F' at index 0.
+string[1] = 70;                             // Stores 'F' at index 1.
+string[2] = 73;                             // Stores 'I' at index 2.
 string[3] = 0;                              // Null terminates the string.
 ```
 
diff --git a/tools/VERSION b/tools/VERSION
index f731081..202832c 100644
--- a/tools/VERSION
+++ b/tools/VERSION
@@ -27,5 +27,5 @@
 MAJOR 2
 MINOR 12
 PATCH 0
-PRERELEASE 19
+PRERELEASE 20
 PRERELEASE_PATCH 0
\ No newline at end of file