Subzero: Add basic ELFObjectWriter (text section, symtab, strtab, headers).

Able to write out the ELF file header w/ a text section,
a symbol table, and string table. Write text buffer
directly to file after translating each CFG.
This means that the header is written out early w/ fake
data and then we seek back and write the real header
at the very end.

Does not yet handle relocations, data, rodata, constant
pools, bss, or -ffunction-sections, more than 64K sections
or more than 2^24 symbols.

Numbers w/ current NOASSERT=1 build on 176.gcc:

w/out -elf-writer:
    0.233771 (21.1%): [ 1287] emit
    28MB .s file

w/ -elf-writer:
    0.051056 ( 5.6%): [ 1287] emit
    2.4MB .o file

BUG=none
R=stichnot@chromium.org

Review URL: https://codereview.chromium.org/678533005
diff --git a/src/IceTypes.cpp b/src/IceTypes.cpp
index 455aa0c..e6dbadf 100644
--- a/src/IceTypes.cpp
+++ b/src/IceTypes.cpp
@@ -19,8 +19,8 @@
 namespace {
 
 const char *TargetArchName[] = {
-#define X(tag, str) str,
-  TARGETARCH_TABLE
+#define X(tag, str, is_elf64, e_machine, e_flags) str,
+    TARGETARCH_TABLE
 #undef X
 };