binutils: add support for eBPF
This patch adds support for ELF64 eBPF to readelf, and fixes a `nm' test to run properly in bpf-*-* targets. binutils/ChangeLog: 2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com> * readelf.c: Include elf/bpf.h. (guess_is_rela): Hanle EM_BPF. (dump_relocations): Likewise. (is_32bit_abs_reloc): Likewise. * testsuite/binutils-all/nm.exp: Add bpf-*-* to the list of ELF targets.
This commit is contained in:
parent
8376927b2c
commit
aca4efc7a4
3 changed files with 19 additions and 1 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2019-05-23 Jose E. Marchesi <jose.marchesi@oracle.com>
|
||||||
|
|
||||||
|
* readelf.c: Include elf/bpf.h.
|
||||||
|
(guess_is_rela): Hanle EM_BPF.
|
||||||
|
(dump_relocations): Likewise.
|
||||||
|
(is_32bit_abs_reloc): Likewise.
|
||||||
|
* testsuite/binutils-all/nm.exp: Add bpf-*-* to the list of
|
||||||
|
ELF targets.
|
||||||
|
|
||||||
2019-05-21 Tamar Christina <tamar.christina@arm.com>
|
2019-05-21 Tamar Christina <tamar.christina@arm.com>
|
||||||
|
|
||||||
* dwarf.c (dwarf_regnames_aarch64): Add SVE registers.
|
* dwarf.c (dwarf_regnames_aarch64): Add SVE registers.
|
||||||
|
|
|
@ -102,6 +102,7 @@
|
||||||
#include "elf/d10v.h"
|
#include "elf/d10v.h"
|
||||||
#include "elf/d30v.h"
|
#include "elf/d30v.h"
|
||||||
#include "elf/dlx.h"
|
#include "elf/dlx.h"
|
||||||
|
#include "elf/bpf.h"
|
||||||
#include "elf/epiphany.h"
|
#include "elf/epiphany.h"
|
||||||
#include "elf/fr30.h"
|
#include "elf/fr30.h"
|
||||||
#include "elf/frv.h"
|
#include "elf/frv.h"
|
||||||
|
@ -781,6 +782,7 @@ guess_is_rela (unsigned int e_machine)
|
||||||
case EM_SCORE:
|
case EM_SCORE:
|
||||||
case EM_XGATE:
|
case EM_XGATE:
|
||||||
case EM_NFP:
|
case EM_NFP:
|
||||||
|
case EM_BPF:
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
/* Targets that use RELA relocations. */
|
/* Targets that use RELA relocations. */
|
||||||
|
@ -1482,6 +1484,10 @@ dump_relocations (Filedata * filedata,
|
||||||
rtype = elf_visium_reloc_type (type);
|
rtype = elf_visium_reloc_type (type);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case EM_BPF:
|
||||||
|
rtype = elf_bpf_reloc_type (type);
|
||||||
|
break;
|
||||||
|
|
||||||
case EM_ADAPTEVA_EPIPHANY:
|
case EM_ADAPTEVA_EPIPHANY:
|
||||||
rtype = elf_epiphany_reloc_type (type);
|
rtype = elf_epiphany_reloc_type (type);
|
||||||
break;
|
break;
|
||||||
|
@ -12410,6 +12416,8 @@ is_32bit_abs_reloc (Filedata * filedata, unsigned int reloc_type)
|
||||||
case EM_AARCH64:
|
case EM_AARCH64:
|
||||||
return (reloc_type == 258
|
return (reloc_type == 258
|
||||||
|| reloc_type == 1); /* R_AARCH64_ABS32 || R_AARCH64_P32_ABS32 */
|
|| reloc_type == 1); /* R_AARCH64_ABS32 || R_AARCH64_P32_ABS32 */
|
||||||
|
case EM_BPF:
|
||||||
|
return reloc_type == 11; /* R_BPF_DATA_32 */
|
||||||
case EM_ADAPTEVA_EPIPHANY:
|
case EM_ADAPTEVA_EPIPHANY:
|
||||||
return reloc_type == 3;
|
return reloc_type == 3;
|
||||||
case EM_ALPHA:
|
case EM_ALPHA:
|
||||||
|
|
|
@ -160,7 +160,8 @@ if { [is_elf_format]
|
||||||
|| [istarget *-*-uclinux*]
|
|| [istarget *-*-uclinux*]
|
||||||
|| [istarget ia64-*-*vms*]
|
|| [istarget ia64-*-*vms*]
|
||||||
|| [istarget *-*-vxworks*]
|
|| [istarget *-*-vxworks*]
|
||||||
|| [istarget wasm32-*-*] } {
|
|| [istarget wasm32-*-*]
|
||||||
|
|| [istarget bpf-*-*]} {
|
||||||
set nm_1_src "nm-elf-1.s"
|
set nm_1_src "nm-elf-1.s"
|
||||||
} else {
|
} else {
|
||||||
set nm_1_src "nm-1.s"
|
set nm_1_src "nm-1.s"
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue