diff options
author | Jose E. Marchesi <jose.marchesi@oracle.com> | 2019-05-23 19:33:41 +0200 |
---|---|---|
committer | Jose E. Marchesi <jose.marchesi@oracle.com> | 2019-05-23 19:33:41 +0200 |
commit | fd0de36e274c8141a5dd4579cd04856dc88370da (patch) | |
tree | 57c7a0131ce2a1a077f811e6f1ba471034d9bf54 /bfd/cpu-bpf.c | |
parent | 8ebe62124023224eafd1b82c8bc2325962711ef8 (diff) | |
download | gdb-fd0de36e274c8141a5dd4579cd04856dc88370da.zip gdb-fd0de36e274c8141a5dd4579cd04856dc88370da.tar.gz gdb-fd0de36e274c8141a5dd4579cd04856dc88370da.tar.bz2 |
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/cpu-bpf.c')
-rw-r--r-- | bfd/cpu-bpf.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/bfd/cpu-bpf.c b/bfd/cpu-bpf.c new file mode 100644 index 0000000..57fe7d7 --- /dev/null +++ b/bfd/cpu-bpf.c @@ -0,0 +1,41 @@ +/* BFD support for the BPF processor. + Copyright (C) 2019 Free Software Foundation, Inc. + Contributed by Oracle Inc. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#include "sysdep.h" +#include "bfd.h" +#include "libbfd.h" + +const bfd_arch_info_type bfd_bpf_arch = +{ + 64, /* Bits per word */ + 64, /* Bits per address. */ + 8, /* Bits per byte. */ + bfd_arch_bpf, /* Architecture. */ + bfd_mach_bpf, /* Machine. */ + "bpf", /* Architecture name. */ + "bpf", /* Machine name. */ + 3, /* Section align power. */ + TRUE, /* The default ? */ + bfd_default_compatible, /* Architecture comparison fn. */ + bfd_default_scan, /* String to architecture convert fn. */ + bfd_arch_default_fill, /* Default fill. */ + NULL /* Next in list. */ +}; |