summaryrefslogtreecommitdiff
path: root/bfd/config.bfd
diff options
context:
space:
mode:
authorJose E. Marchesi <jose.marchesi@oracle.com>2019-05-23 19:33:41 +0200
committerJose E. Marchesi <jose.marchesi@oracle.com>2019-05-23 19:33:41 +0200
commitfd0de36e274c8141a5dd4579cd04856dc88370da (patch)
tree57c7a0131ce2a1a077f811e6f1ba471034d9bf54 /bfd/config.bfd
parent8ebe62124023224eafd1b82c8bc2325962711ef8 (diff)
downloadbinutils-gdb-fd0de36e274c8141a5dd4579cd04856dc88370da.tar.gz
bfd: add support for eBPF
This patch adds support to BFD for elf64-bpf, in both little-endian and big-endian variants. bfd/ChangeLog: 2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com> * configure.ac: Add bpf_elf64_le_vec and bpf_elf64_be_vec. * configure: Regenerated. * Makefile.am (ALL_MACHINES): Add cpu-bpf.lo. (ALL_MACHINES_CFILES): Add cpu-bpf.c. (BFD64_BACKENDS): Add elf64-bpf.lo. (BFD64_BACKENDS_CFILES): Add elf64-bpf.c. * Makefile.in (SOURCE_HFILES): Regenerate. * config.bfd (targ_cpu): Handle bpf-*-* targets. * cpu-bpf.c: New file. * elf64-bpf.c: Likewise. * targets.c (_bfd_target_vector): Add bpf_elf64_be_vec and bpf_elf64_le_vec. * archures.c: Define architecture bfd_arch_bpf and machine bfd_arch_bpf. * reloc.c: Define BFD relocations used by the BPF target. * bfd-in2.h: Regenerated. * libbfd.h: Likewise.
Diffstat (limited to 'bfd/config.bfd')
-rw-r--r--bfd/config.bfd12
1 files changed, 12 insertions, 0 deletions
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 8977d2a2a21..562c331c55b 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -480,6 +480,12 @@ case "${targ}" in
targ_defvec=d30v_elf32_vec
;;
+ bpf-*-none)
+ targ_defvec=bpf_elf64_le_vec
+ targ_selvecs=bpf_elf64_be_vec
+ targ_underscore=yes
+ ;;
+
epiphany-*-*)
targ_defvec=epiphany_elf32_vec
targ_underscore=yes
@@ -1420,6 +1426,12 @@ case "${targ}" in
;;
# END OF targmatch.h
+ bpf-*-*)
+ echo "*** Configuration $targ is not fully supported." >&2
+ echo "*** Use bpf or bpf-*-none as the target instead." >&2
+ exit 1
+ ;;
+
*)
echo 1>&2 "*** BFD does not support target ${targ}."
echo 1>&2 "*** Look in bfd/config.bfd for supported targets."