aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2024-01-29 19:22:41 +0100
committerJose E. Marchesi <jose.marchesi@oracle.com>2024-01-29 19:22:41 +0100
commit0c45feb159a14ca4cb50cfbf45eacaf5a6cecf2b (patch)
treedc9870f232ec68a88d4d315b133f2bcbe619d555 /include
parentf3911963c51c11c70007287c91948328f1eea1db (diff)
downloadbinutils-0c45feb159a14ca4cb50cfbf45eacaf5a6cecf2b.zip
binutils-0c45feb159a14ca4cb50cfbf45eacaf5a6cecf2b.tar.gz
binutils-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')
-rw-r--r--include/ChangeLog5
-rw-r--r--include/opcode/bpf.h4
2 files changed, 7 insertions, 2 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 1c9477a..4b667bf 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+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.
+
2024-01-15 Nick Clifton <nickc@redhat.com>
* 2.42 branch point.
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. */