binutils-gdb/include/opcode
Jose E. Marchesi 1e18ffc991 bpf: include, bfd, opcodes: add EF_BPF_CPUVER ELF header flags
This patch adds support for EF_BPF_CPUVER bits in the ELF
machine-dependent header flags.  These bits encode the BPF CPU
version for which the object file has been compiled for.

The BPF assembler is updated so it annotates the object files it
generates with these bits.

The BPF disassembler is updated so it honors EF_BPF_CPUVER to use the
appropriate ISA version if the user didn't specify an explicit ISA
version in the command line.  Note that a value of zero in
EF_BPF_CPUVER is interpreted by the disassembler as "use the later
supported version" (the BPF CPU versions start with v1.)

The readelf utility is updated to pretty print EF_BPF_CPUVER when it
prints out the ELF header:

   $ readelf -h a.out
   ELF Header:
     ...
     Flags:                             0x4, CPU Version: 4

Tested in bpf-unknown-none.

include/ChangeLog:

2023-07-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* elf/bpf.h (EF_BPF_CPUVER): Define.
	* opcode/bpf.h (BPF_XBPF): Change from 0xf to 0xff so it fits in
	EF_BPF_CPUVER.

binutils/ChangeLog:

2023-07-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* readelf.c (get_machine_flags): Recognize and pretty print BPF
	machine flags.

opcodes/ChangeLog:

2023-07-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* bpf-dis.c: Initialize asm_bpf_version to -1.
	(print_insn_bpf): Set BPF ISA version from the cpu version ELF
	header flags if no explicit version set in the command line.
	* disassemble.c (disassemble_init_for_target): Remove unused code.

gas/ChangeLog:

2023-07-30  Jose E. Marchesi  <jose.marchesi@oracle.com>

	* config/tc-bpf.h (elf_tc_final_processing): Define.
	* config/tc-bpf.c (bpf_elf_final_processing): New function.
2023-07-30 22:39:30 +02:00
..
aarch64.h aarch64: Remove stray reglist variable 2023-03-30 17:01:30 +01:00
alpha.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
arc-attrs.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
arc-func.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
arc.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
arm.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
avr.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
bfin.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
bpf.h bpf: include, bfd, opcodes: add EF_BPF_CPUVER ELF header flags 2023-07-30 22:39:30 +02:00
cgen.h bpf: fix error conversion from long unsigned int to unsigned int [-Werror=overflow] 2023-02-03 11:18:50 -06:00
ChangeLog-0415 binutils ChangeLog rotation 2016-01-01 22:59:17 +10:30
ChangeLog-9103
convex.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
cr16.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
cris.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
crx.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
csky.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
d10v.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
d30v.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
dlx.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
ft32.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
h8300.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
hppa.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
i386.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
ia64.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
loongarch.h LoongArch: gas: Add LVZ and LBT instructions support 2023-06-30 17:32:28 +08:00
m68hc11.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
m68k.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
metag.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
mips.h Add MIPS Allegrex CPU as a MIPS2-based CPU 2023-06-15 04:45:03 +01:00
mmix.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
mn10200.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
mn10300.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
moxie.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
msp430-decode.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
msp430.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
nds32.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
nfp.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
nios2.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
nios2r1.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
nios2r2.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
np1.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
ns32k.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
pdp11.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
pj.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
pn.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
ppc.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
pru.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
pyr.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
riscv-opc.h RISC-V: Supports Zcb extension. 2023-07-18 11:45:58 +08:00
riscv.h RISC-V: Supports Zcb extension. 2023-07-18 11:45:58 +08:00
rl78.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
rx.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
s12z.h Enable building the s12z target on Solaris hosts where REG_Y is defined in system header files. 2020-01-02 12:04:40 +00:00
s390.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
score-datadep.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
score-inst.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
sparc.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
spu-insns.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
spu.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
tic4x.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
tic6x-control-registers.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
tic6x-insn-formats.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
tic6x-opcode-table.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
tic6x.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
tic30.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
tic54x.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
tilegx.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
tilepro.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
v850.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
vax.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
visium.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
wasm.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30
xgate.h Update year range in copyright notice of binutils files 2023-01-01 21:50:11 +10:30