r330745 - [HWASan] Update HWASan assembly snippet in the docs

Alex Shlyapnikov via cfe-commits cfe-commits at lists.llvm.org
Tue Apr 24 10:41:48 PDT 2018


Author: alekseyshl
Date: Tue Apr 24 10:41:48 2018
New Revision: 330745

URL: http://llvm.org/viewvc/llvm-project?rev=330745&view=rev
Log:
[HWASan] Update HWASan assembly snippet in the docs

Summary: To complement https://reviews.llvm.org/D45840

Reviewers: eugenis

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D45996

Modified:
    cfe/trunk/docs/HardwareAssistedAddressSanitizerDesign.rst

Modified: cfe/trunk/docs/HardwareAssistedAddressSanitizerDesign.rst
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/HardwareAssistedAddressSanitizerDesign.rst?rev=330745&r1=330744&r2=330745&view=diff
==============================================================================
--- cfe/trunk/docs/HardwareAssistedAddressSanitizerDesign.rst (original)
+++ cfe/trunk/docs/HardwareAssistedAddressSanitizerDesign.rst Tue Apr 24 10:41:48 2018
@@ -52,15 +52,16 @@ verifies the tags. Currently, the follow
   // int foo(int *a) { return *a; }
   // clang -O2 --target=aarch64-linux -fsanitize=hwaddress -c load.c
   foo:
-       0:	08 dc 44 d3 	ubfx	x8, x0, #4, #52  // shadow address
-       4:	08 01 40 39 	ldrb	w8, [x8]         // load shadow
-       8:	09 fc 78 d3 	lsr	x9, x0, #56      // address tag
-       c:	3f 01 08 6b 	cmp	w9, w8           // compare tags
-      10:	61 00 00 54 	b.ne	#12              // jump on mismatch
-      14:	00 00 40 b9 	ldr	w0, [x0]         // original load
-      18:	c0 03 5f d6 	ret
-      1c:	40 20 21 d4 	brk	#0x902           // trap
-
+       0:	08 00 00 90 	adrp	x8, 0 <__hwasan_shadow>
+       4:	08 01 40 f9 	ldr	x8, [x8]         // shadow base (to be resolved by the loader)
+       8:	09 dc 44 d3 	ubfx	x9, x0, #4, #52  // shadow offset
+       c:	28 69 68 38 	ldrb	w8, [x9, x8]     // load shadow tag
+      10:	09 fc 78 d3 	lsr	x9, x0, #56      // extract address tag
+      14:	3f 01 08 6b 	cmp	w9, w8           // compare tags
+      18:	61 00 00 54 	b.ne	24               // jump on mismatch
+      1c:	00 00 40 b9 	ldr	w0, [x0]         // original load
+      20:	c0 03 5f d6 	ret
+      24:	40 20 21 d4 	brk	#0x902           // trap
 
 Alternatively, memory accesses are prefixed with a function call.
 




More information about the cfe-commits mailing list