forked from Imagelibrary/binutils-gdb
sim: bpf: remove negi, neg32i insns
The BPF virtual machine does not support neg instructions operating on immediates, and these erroneous instructions were recently removed from gas. Remove them from the simulator as well.
This commit is contained in:
@@ -730,10 +730,6 @@ execute (SIM_CPU *cpu, struct bpf_insn *insn)
|
||||
BPF_TRACE ("BPF_INSN_NEGR\n");
|
||||
bpf_regs[insn->dst] = - (int64_t) bpf_regs[insn->dst];
|
||||
break;
|
||||
case BPF_INSN_NEGI:
|
||||
BPF_TRACE ("BPF_INSN_NEGI\n");
|
||||
bpf_regs[insn->dst] = - (int64_t) insn->imm32;
|
||||
break;
|
||||
case BPF_INSN_LSHR:
|
||||
BPF_TRACE ("BPF_INSN_LSHR\n");
|
||||
bpf_regs[insn->dst] <<= bpf_regs[insn->src];
|
||||
@@ -867,10 +863,6 @@ execute (SIM_CPU *cpu, struct bpf_insn *insn)
|
||||
BPF_TRACE ("BPF_INSN_NEG32R\n");
|
||||
bpf_regs[insn->dst] = (uint32_t) (- (int32_t) bpf_regs[insn->dst]);
|
||||
break;
|
||||
case BPF_INSN_NEG32I:
|
||||
BPF_TRACE ("BPF_INSN_NEG32I\n");
|
||||
bpf_regs[insn->dst] = (uint32_t) - (int32_t) insn->imm32;
|
||||
break;
|
||||
case BPF_INSN_LSH32R:
|
||||
BPF_TRACE ("BPF_INSN_LSH32R\n");
|
||||
bpf_regs[insn->dst] = (uint32_t) bpf_regs[insn->dst] << bpf_regs[insn->src];
|
||||
|
||||
Reference in New Issue
Block a user