File: nop-6.s

package info (click to toggle)
binutils-riscv64-unknown-elf 2.32.2019.08+dfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 413,812 kB
  • sloc: ansic: 2,327,452; asm: 982,944; exp: 218,246; cpp: 147,855; makefile: 63,075; sh: 33,816; yacc: 27,082; lisp: 15,389; perl: 6,480; xml: 5,239; ada: 5,117; python: 4,996; pascal: 3,266; lex: 2,272; cs: 879; f90: 535; sed: 334; awk: 165; objc: 134; fortran: 43
file content (25 lines) | stat: -rw-r--r-- 617 bytes parent folder | download | duplicates (17)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
.macro mknops nr_bytes
    .nops \nr_bytes, 9
.endm

.macro ALTERNATIVE
.L\@_orig_s:
.L\@_orig_e:
     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)))
.L\@_orig_p:

    .section .discard, "a", @progbits
    .byte (.L\@_orig_p - .L\@_orig_s)
    .byte 0xff + (.L\@_repl_e\()1 - .L\@_repl_s\()1) - (.L\@_orig_p - .L\@_orig_s)

    .section .altinstr_replacement, "ax", @progbits
.L\@_repl_s\()1:
.L\@_fill_rsb_loop:
    jnz .L\@_fill_rsb_loop
    mov %eax, %esp
.L\@_repl_e\()1:
.endm

	.text
_start:
ALTERNATIVE