Index: src/trusted/validator/validation_rewrite_64_test_data.S |
diff --git a/src/trusted/validator/validation_rewrite_64_test_data.S b/src/trusted/validator/validation_rewrite_64_test_data.S |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6b0791a4b66c8fac604494c83c9982a11ec389ae |
--- /dev/null |
+++ b/src/trusted/validator/validation_rewrite_64_test_data.S |
@@ -0,0 +1,93 @@ |
+/* |
+ * Copyright 2015 The Native Client Authors. All rights reserved. |
+ * Use of this source code is governed by a BSD-style license that can be |
+ * found in the LICENSE file. |
+ */ |
+ |
+.data |
+ |
+/* This macro is used to define two global symbols for the same byte sequence: |
+ * 'name' and '_name'. This is to work around the linkage issue across OS and |
+ * compilers. */ |
+.macro global_bytes name |
+ .global \name |
+\name: |
+ .global _\name |
+_\name: |
+.endm |
+ |
+ global_bytes no_rewrite_code |
+ mov %edi,%edi |
+ movnti %rax,0x68(%r15,%rdi,1) |
+ .byte 0 |
+ |
+ global_bytes no_rewrite_code_post_rewrite |
+ mov %edi,%edi |
+ movnti %rax,0x68(%r15,%rdi,1) |
+ .byte 0 |
+ |
+ global_bytes prefetchnta_code |
+ mov %edi,%edi |
+ prefetchnta (%r15,%rdi,1) |
+ .byte 0 |
+ |
+ global_bytes prefetchnta_code_post_rewrite |
+ mov %edi,%edi |
+ nop |
+ nop |
+ nop |
+ nop |
+ nop |
+ .byte 0 |
+ |
+ global_bytes movntps_code |
+ mov %ebx,%ebx |
+ movntps %xmm0,(%r15,%rbx,1) |
+ .byte 0 |
+ |
+ global_bytes movntps_code_post_rewrite |
+ mov %ebx,%ebx |
+ movaps %xmm0,(%r15,%rbx,1) |
+ .byte 0 |
+ |
+ global_bytes movnti_code |
+ mov %edi,%edi |
+ movnti %rax,0x68(%r15,%rdi,1) |
+ .byte 0 |
+ |
+ global_bytes movnti_code_post_rewrite |
+ mov %edi,%edi |
+ mov %rax,0x68(%r15,%rdi,1) |
+ nop |
+ .byte 0 |
+ |
+ global_bytes movnti_code2 |
+ mov %edx,%edx |
+ movnti %r9d,(%r15,%rdx,1) |
+ .byte 0 |
+ |
+ global_bytes movnti_code2_post_rewrite |
+ mov %edx,%edx |
+ mov %r9d,(%r15,%rdx,1) |
+ nop |
+ .byte 0 |
+ |
+ global_bytes movntdq_code |
+ mov %edx,%edx |
+ movntdq %xmm0,0x10(%r15,%rdx,1) |
+ .byte 0 |
+ |
+ global_bytes movntdq_code_post_rewrite |
+ mov %edx,%edx |
+ movdqa %xmm0,0x10(%r15,%rdx,1) |
+ .byte 0 |
+ |
+ global_bytes movntdq_code2 |
+ mov %ecx,%ecx |
+ movntdq %xmm15,(%r15,%rcx,1) |
+ .byte 0 |
+ |
+ global_bytes movntdq_code2_post_rewrite |
+ mov %ecx,%ecx |
+ movdqa %xmm15,(%r15,%rcx,1) |
+ .byte 0 |