diff options
author | Jose E. Marchesi <jose.marchesi@oracle.com> | 2024-01-29 19:22:41 +0100 |
---|---|---|
committer | Jose E. Marchesi <jose.marchesi@oracle.com> | 2024-01-29 19:22:41 +0100 |
commit | 0c45feb159a14ca4cb50cfbf45eacaf5a6cecf2b (patch) | |
tree | dc9870f232ec68a88d4d315b133f2bcbe619d555 /include/opcode | |
parent | f3911963c51c11c70007287c91948328f1eea1db (diff) | |
download | gdb-0c45feb159a14ca4cb50cfbf45eacaf5a6cecf2b.zip gdb-0c45feb159a14ca4cb50cfbf45eacaf5a6cecf2b.tar.gz gdb-0c45feb159a14ca4cb50cfbf45eacaf5a6cecf2b.tar.bz2 |
bpf: there is no ldinddw nor ldabsdw instructions
There are no legacy ldind nor ldabs BPF instructions with BPF_SIZE_DW.
For some reason we were (incorrectly) supporting these. This patch
updates the opcodes so the instructions get removed and modifies the
GAS manual and testsuite accordingly.
See discussion at
https://lore.kernel.org/bpf/110aad7a-f8a3-46ed-9fda-2f8ee54dcb89@linux.dev
Tested in bpf-uknonwn-none target, x86-64-linux-gnu host.
include/ChangeLog:
2024-01-29 Jose E. Marchesi <jose.marchesi@oracle.com>
* opcode/bpf.h (enum bpf_insn_id): Remove BPF_INSN_LDINDDW and
BPF_INSN_LDABSDW instructions.
opcodes/ChangeLog:
2024-01-29 Jose E. Marchesi <jose.marchesi@oracle.com>
* bpf-opc.c (bpf_opcodes): Remove BPF_INSN_LDINDDW and
BPF_INSN_LDABSDW instructions.
gas/ChangeLog:
2024-01-29 Jose E. Marchesi <jose.marchesi@oracle.com>
* doc/c-bpf.texi (BPF Instructions): There is no indirect 64-bit
load instruction.
(BPF Instructions): There is no absolute 64-bit load instruction.
* testsuite/gas/bpf/mem.s: Update test accordingly.
* testsuite/gas/bpf/mem-be-pseudoc.d: Likewise.
* testsuite/gas/bpf/mem-be.d: Likewise.
* testsuite/gas/bpf/mem-pseudoc.d: Likewise.
* testsuite/gas/bpf/mem-pseudoc.s: Likewise.
* testsuite/gas/bpf/mem.d: Likewise.
* testsuite/gas/bpf/mem.s: Likewise.
Diffstat (limited to 'include/opcode')
-rw-r--r-- | include/opcode/bpf.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/opcode/bpf.h b/include/opcode/bpf.h index 61f1ec8..df1e3bd 100644 --- a/include/opcode/bpf.h +++ b/include/opcode/bpf.h @@ -188,9 +188,9 @@ enum bpf_insn_id BPF_INSN_ENDLE16, BPF_INSN_ENDLE32, BPF_INSN_ENDLE64, BPF_INSN_ENDBE16, BPF_INSN_ENDBE32, BPF_INSN_ENDBE64, /* Absolute load instructions. */ - BPF_INSN_LDABSB, BPF_INSN_LDABSH, BPF_INSN_LDABSW, BPF_INSN_LDABSDW, + BPF_INSN_LDABSB, BPF_INSN_LDABSH, BPF_INSN_LDABSW, /* Indirect load instructions. */ - BPF_INSN_LDINDB, BPF_INSN_LDINDH, BPF_INSN_LDINDW, BPF_INSN_LDINDDW, + BPF_INSN_LDINDB, BPF_INSN_LDINDH, BPF_INSN_LDINDW, /* Generic load instructions (to register.) */ BPF_INSN_LDXB, BPF_INSN_LDXH, BPF_INSN_LDXW, BPF_INSN_LDXDW, /* Generic signed load instructions. */ |