mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
tools/objtool: Convert to insn_decode()
Simplify code, no functional changes. Signed-off-by: Borislav Petkov <bp@suse.de> Link: https://lkml.kernel.org/r/20210304174237.31945-18-bp@alien8.de
This commit is contained in:
parent
0c925c61da
commit
c7e41b099b
@ -90,7 +90,7 @@ int arch_decode_instruction(const struct elf *elf, const struct section *sec,
|
||||
struct list_head *ops_list)
|
||||
{
|
||||
struct insn insn;
|
||||
int x86_64, sign;
|
||||
int x86_64, sign, ret;
|
||||
unsigned char op1, op2, rex = 0, rex_b = 0, rex_r = 0, rex_w = 0,
|
||||
rex_x = 0, modrm = 0, modrm_mod = 0, modrm_rm = 0,
|
||||
modrm_reg = 0, sib = 0;
|
||||
@ -101,10 +101,9 @@ int arch_decode_instruction(const struct elf *elf, const struct section *sec,
|
||||
if (x86_64 == -1)
|
||||
return -1;
|
||||
|
||||
insn_init(&insn, sec->data->d_buf + offset, maxlen, x86_64);
|
||||
insn_get_length(&insn);
|
||||
|
||||
if (!insn_complete(&insn)) {
|
||||
ret = insn_decode(&insn, sec->data->d_buf + offset, maxlen,
|
||||
x86_64 ? INSN_MODE_64 : INSN_MODE_32);
|
||||
if (ret < 0) {
|
||||
WARN("can't decode instruction at %s:0x%lx", sec->name, offset);
|
||||
return -1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user