[PATCH] D13781: [sanitizer] Use same shadow offset for aarch64

Adhemerval Zanella via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 21 13:15:53 PDT 2015


zatrazz added a comment.

> I checked for ASLR enabled/disabled and the mappings seems fine:

> 

> - For 39 bits text segments are places between 0x00400000-00XXXXXX for binary itself with [heap] randomized between 0x0000000-0xFFFFFFFF. High text address are either place at 0x7fb7XXXXXXX or randomized between 0x7fXXXXXXXXX. For 42-bits, lower address follow the same pattern with high addresses being randomized between 0x3f00000000-0x3fFFFFFFFFF.

> - I have not tested for PIE build yet, I will check that.

> - MAP_32BIT is valid only for x86-64 (64-bit programs).


For 39 bits, ASLR on/off without pie maps in low addresses from 0x00000000-0x10000000
(executable own segments) and from 0x7f80000000-0x7f8fffffff (libraries, stack, vdso). PIE
builds for 39 bits moves main executable to 0x5500000000-0x5600000000.

For 42-bits, ALSR on/off without pie also maps executable in same low addresses regions
as 39-bits: 0x00000000-0x10000000. The high addresses use are different:
0x3ff000000000-0x3fffffffffff. PIE moves main executable segments to
0x2aa00000000-0x2ab00000000.

I have tested with ASLR off/on and with/without pie using MSAN own tests and it shows
no regressions in 39 and 42-bits. I will push this when the compiler-rt counterpart patch
has been accepted.


http://reviews.llvm.org/D13781





More information about the llvm-commits mailing list