1.macro mknops nr_bytes
2    .nops \nr_bytes, 9
3.endm
4
5.macro ALTERNATIVE
6.L\@_orig_s:
7.L\@_orig_e:
8     mknops (-(((.L\@_repl_e\()1 - .L\@_repl_s\()1) - (.L\@_orig_e - .L\@_orig_s)) > 0) * ((.L\@_repl_e\()1 - .L\@_repl_s\()1) - (.L\@_orig_e - .L\@_orig_s)))
9.L\@_orig_p:
10
11    .section .discard, "a", @progbits
12    .byte (.L\@_orig_p - .L\@_orig_s)
13    .byte 0xff + (.L\@_repl_e\()1 - .L\@_repl_s\()1) - (.L\@_orig_p - .L\@_orig_s)
14
15    .section .altinstr_replacement, "ax", @progbits
16.L\@_repl_s\()1:
17.L\@_fill_rsb_loop:
18    jnz .L\@_fill_rsb_loop
19    mov %eax, %esp
20.L\@_repl_e\()1:
21.endm
22
23	.text
24_start:
25ALTERNATIVE
26