Use .debug_frame version 4

Some tools struggle with the augmentation.  The android clang now
produces version 4 by default, so we need to support it anyway.

Bug: 192012848
Test: art/test.py -b --host -t 137
Change-Id: Ia14bfbaaac9e654e97f5d4169792e0bb07ea413e
diff --git a/libelffile/dwarf/headers.h b/libelffile/dwarf/headers.h
index d77012f..5e1b39b 100644
--- a/libelffile/dwarf/headers.h
+++ b/libelffile/dwarf/headers.h
@@ -48,17 +48,13 @@
   size_t cie_header_start_ = writer.data()->size();
   writer.PushUint32(0);  // Length placeholder.
   writer.PushUint32(0xFFFFFFFF);  // CIE id.
-  writer.PushUint8(1);   // Version.
-  writer.PushString("zR");
+  writer.PushUint8(4);                // Version.
+  writer.PushString("");              // Augmentation.
+  writer.PushUint8(is64bit ? 8 : 4);  // Address size.
+  writer.PushUint8(0);                // Segment size.
   writer.PushUleb128(DebugFrameOpCodeWriter<Vector>::kCodeAlignmentFactor);
   writer.PushSleb128(DebugFrameOpCodeWriter<Vector>::kDataAlignmentFactor);
   writer.PushUleb128(return_address_register.num());  // ubyte in DWARF2.
-  writer.PushUleb128(1);  // z: Augmentation data size.
-  if (is64bit) {
-    writer.PushUint8(DW_EH_PE_absptr | DW_EH_PE_udata8);  // R: Pointer encoding.
-  } else {
-    writer.PushUint8(DW_EH_PE_absptr | DW_EH_PE_udata4);  // R: Pointer encoding.
-  }
   writer.PushData(opcodes.data());
   writer.Pad(is64bit ? 8 : 4);
   writer.UpdateUint32(cie_header_start_, writer.data()->size() - cie_header_start_ - 4);