From: David Faust Date: Mon, 21 Aug 2023 16:36:36 +0000 (-0700) Subject: sim: bpf: remove negi, neg32i insns X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3f3175554f28ee42652aa5729a77cd1f2747be98;p=binutils-gdb.git 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. --- 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];