[PATCH] D58857: [HWASan] Save + print registers when tag mismatch occurs in AArch64.

Evgenii Stepanov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 4 10:23:42 PST 2019


eugenis added a comment.
Herald added a subscriber: ormris.

This needs a compiler-rt test.



================
Comment at: compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S:47
+.section .text
+.file "hwasan_fail_entry_point_aarch64.S"
+.global __hwasan_tag_mismatch
----------------
This does not match the actual file name. Intentional?


================
Comment at: compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S:62
+  CFI_OFFSET(w30, -8)
+  CFI_OFFSET(w29, -16)
+
----------------
This does not seem to match stack frame description in the comment above, or the IR test. It looks like x29 offset should be 16, and x30 offset should be 24.


================
Comment at: compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S:87
+
+  bl HwasanTagMismatch
+  CFI_ENDPROC
----------------
Could this use "b" instruction, so that the reporting code does not need to remove a stack frame?


================
Comment at: compiler-rt/lib/hwasan/hwasan_tag_mismatch_aarch64.S:95
+/* We do not need executable stack.  */
+.section        .note.GNU-stack,"", at progbits
+#endif
----------------
use NO_EXEC_STACK_DIRECTIVE


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D58857/new/

https://reviews.llvm.org/D58857





More information about the llvm-commits mailing list