From 3f3175554f28ee42652aa5729a77cd1f2747be98 Mon Sep 17 00:00:00 2001 From: David Faust Date: Mon, 21 Aug 2023 09:36:36 -0700 Subject: [PATCH] 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. --- sim/bpf/bpf-sim.c | 8 -------- 1 file changed, 8 deletions(-) diff --git a/sim/bpf/bpf-sim.c b/sim/bpf/bpf-sim.c index 5e01ddeca9f..a4af22b2308 100644 --- a/sim/bpf/bpf-sim.c +++ b/sim/bpf/bpf-sim.c @@ -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]; -- 2.30.2