26 lines · plain
1 .text2 .globl asm_main3asm_main:4 sub $0x8, %rsp5 movq $0, (%rsp)6 push %rsp7 jmp nonstandard_stub8 9# Takes a single pointer argument via the stack, which is nonstandard for x64.10# Executing 'thread step-out' here will initially attempt to write a11# breakpoint to that stack address, but should fail because of the executable12# memory check.13 .globl nonstandard_stub14nonstandard_stub:15 mov (%rsp), %rdi16 mov (%rdi), %rsi17 add $1, %rsi18 mov %rsi, (%rdi)19 20 add $0x10, %rsp21 ret22 23#ifdef __linux__24 .section .note.GNU-stack,"",@progbits25#endif26