Fuchsia: Add BUILD.gn for ret2spec_sa demo

* ret2spec_sa is a demo of a Spectre V2 variant focused on attacking
  return address stacks / link stacks.

* Add the demo as a binary to get started; next we will wire in our
  mitigations and test the building blocks (for example, x86_ras_fill)

Bug: 12540 Speculative Execution Mitigations.
Bug: 33667 Spectre mitigations?
Change-Id: Icaca5cd77f553733172b4f828eacc1dd899b45fb
diff --git a/BUILD.gn b/BUILD.gn
new file mode 100644
index 0000000..0983c79
--- /dev/null
+++ b/BUILD.gn
@@ -0,0 +1,33 @@
+# Copyright 2020 The Fuchsia Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+
+import("//build/package.gni")
+
+executable("ret2spec_sa_bin") {
+  output_name = "ret2spec_sa"
+
+  sources = [
+    "demos/ret2spec_sa.cc",
+    "demos/cache_sidechannel.cc",
+    "demos/utils.cc",
+    "demos/instr.cc",
+  ]
+
+  include_dirs = [
+    "demos",
+  ]
+
+  deps = [ "//zircon/public/lib/fdio" ]
+}
+
+package("safeside") {
+  deps = [ ":ret2spec_sa_bin" ]
+
+  binaries = [
+    {
+      name = "ret2spec_sa"
+      shell = true
+    },
+  ]
+}