AArch64 CRASH with W^X emitting gencode
The -satisfy_w_xor_x test must not be enabled for A64?? There are too many missing tests there.
$ bin64/drrun -satisfy_w_xor_x -- suite/tests/bin/allasm_aarch64_flush
<Starting application /home/derek/dr/build/suite/tests/bin/allasm_aarch64_flush (86542)>
<ERROR: master_signal_handler with no siginfo (i#26?): tid=86542, sig=11>
<Application /home/derek/dr/build/suite/tests/bin/allasm_aarch64_flush (86542). Cannot correctly handle received signal 11 in thread 86542.>
Definitely a W^X bug:
(gdb) bt
#0 0x0000aaaab43086f0 in insert_exit_stub_other_flags ()
#1 0x0000aaaab42a290c in shared_gencode_emit ()
#2 0x0000aaaab42a2ce0 in d_r_arch_init ()
#3 0x0000aaaab42b345c in dynamorio_app_init ()
#4 0x0000aaaab42b5870 in dr_app_setup ()
#5 0x0000aaaab41eae28 in perftools::gwp::DRProfiler::Setup() ()
(gdb) x/8i $pc
=> 0xaaaab43086f0 <insert_exit_stub_other_flags+112>: stp w10, w11, [x19]
0xaaaab43086f4 <insert_exit_stub_other_flags+116>: ubfx x10, x20, #16, #16
0xaaaab43086f8 <insert_exit_stub_other_flags+120>: cbz x10, 0xaaaab4308754 <insert_exit_stub_other_flags+212>
0xaaaab43086fc <insert_exit_stub_other_flags+124>: orr w10, w9, w10, lsl #5
0xaaaab4308700 <insert_exit_stub_other_flags+128>: add x22, x19, #0xc
0xaaaab4308704 <insert_exit_stub_other_flags+132>: str w10, [x19, #8]
0xaaaab4308708 <insert_exit_stub_other_flags+136>: ubfx x10, x20, #32, #16
0xaaaab430870c <insert_exit_stub_other_flags+140>: cbz x10, 0xaaaab430871c <insert_exit_stub_other_flags+156>
(gdb) x/8gx $x19
0xaaaa6ab3179c: 0x0000000000000000 0x0000000000000000
0xaaaa6ab317ac: 0x0000000000000000 0x0000000000000000
aaaa6ab30000-aaaa6ab50000 r-xs 00090000 00:01 7340198 /memfd:/dynamorio_dual_map.16130 (deleted)