Subzero: Fixes for Hello World and bisection debugging.

Add the llvm2ice -sandbox option (false by default) to select between
native and sandboxed code generation.  Currently, it controls whether
the llvm.nacl.read.tp intrinsic is lowered to gs:[0x0] or a call to
__nacl_read_tp.

Change the asm output slightly for -ffunction-sections so that objdump
is more willing to provide a disassembly.

BUG= none
R=jvoung@chromium.org

Review URL: https://codereview.chromium.org/504963002
diff --git a/src/IceCfg.cpp b/src/IceCfg.cpp
index faaabe9..6fe7eb0 100644
--- a/src/IceCfg.cpp
+++ b/src/IceCfg.cpp
@@ -309,7 +309,7 @@
   Str << "\t.text\n";
   IceString MangledName = getContext()->mangleName(getFunctionName());
   if (Ctx->getFlags().FunctionSections)
-    Str << "\t.section\t.text." << MangledName << "\n";
+    Str << "\t.section\t.text." << MangledName << ",\"ax\",@progbits\n";
   if (!getInternal()) {
     Str << "\t.globl\t" << MangledName << "\n";
     Str << "\t.type\t" << MangledName << ",@function\n";