Index: src/arm/eh-frame-arm.h |
diff --git a/src/arm/eh-frame-arm.h b/src/arm/eh-frame-arm.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5e8ed3a8258ea8a2d8d6072bbe70180fed7d6b47 |
--- /dev/null |
+++ b/src/arm/eh-frame-arm.h |
@@ -0,0 +1,38 @@ |
+// Copyright 2016 the V8 project authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef V8_X64_UNWINDING_INFO_X64_H |
+#define V8_X64_UNWINDING_INFO_X64_H |
+ |
+#include "src/globals.h" |
+ |
+namespace v8 { |
+namespace internal { |
+ |
+static const int kInitialCFARegister = 0x0b; |
+static const int kInitialCFAOffset = 0; |
+static const int kDataAlignmentFactor = 4; |
+static const int kInitialStateOffsetInCIE = 19; |
+ |
+// The code and data alignments are a bit unorthodox, but they suit our purpose. |
+static const byte kCIE[] = { |
+ 0x14, 0x00, 0x00, 0x00, // Size of the CIE excluding this field |
+ 0x00, 0x00, 0x00, 0x00, // CIE identifier, always 0 |
+ 0x03, // CIE version 3 |
+ 0x7a, 0x4c, 0x52, 0x00, // Augmentation string zLR |
+ 0x01, // Code alignment factor: 1 |
rmcilroy
2016/06/28 10:37:32
I think we always have code aligned to 4 (or kPoin
Stefano Sanfilippo
2016/06/29 15:16:20
This is just a constant that is factored out from
rmcilroy
2016/06/30 15:23:10
I see, this is fine.
|
+ 0x04, // Data alignment factor: 4 |
rmcilroy
2016/06/28 10:37:32
Use kDataAlignmentFactor and other constants here
Stefano Sanfilippo
2016/06/29 15:16:20
Replaced kInitialCFAOffset where appropriate.
kDa
rmcilroy
2016/06/30 15:23:10
As mentioned in a new comment in eh-frame-x64, I t
|
+ 0x0e, // Return address register: lr (r14) |
+ 0x02, // Length of augmentation data |
+ 0xff, // No LSDA |
+ 0x1b, // FDE encoding: DW_EH_PE_sdata4 | DW_EH_PE_pcrel |
+ // Initial state |
+ 0x0c, 0x0b, 0x00, // CFA @ fp+0 |
+ 0x08, 0x0e, // lr valid |
+}; |
+ |
+} // namespace internal |
+} // namespace v8 |
+ |
+#endif |