summaryrefslogtreecommitdiffstats
path: root/libebl/eblopenbackend.c
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2016-09-15 22:59:03 +0200
committerMark Wielaard <[email protected]>2016-09-15 22:59:03 +0200
commit51928153ab88f1816a39c5eaf75dc045e08e50c6 (patch)
treeec3e0a8e9490d53005e932ea20c1b4659cdf0d77 /libebl/eblopenbackend.c
parente54140c7cda200dbc2aaa84506577da55941e0ac (diff)
parent4512aba06f73704d53cc2ba86f47b9340914e0f2 (diff)
Merge tag 'elfutils-0.167' into mjw/RH-DTS
elfutils 0.167 release Conflicts: libebl/eblopenbackend.c src/Makefile.am tests/Makefile.am tests/run-readelf-A.sh
Diffstat (limited to 'libebl/eblopenbackend.c')
-rw-r--r--libebl/eblopenbackend.c25
1 files changed, 4 insertions, 21 deletions
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index 5aec99e0..4259dbe5 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -1,5 +1,5 @@
/* Generate ELF backend handle.
- Copyright (C) 2000-2015 Red Hat, Inc.
+ Copyright (C) 2000-2016 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -48,6 +48,7 @@ const char *ppc64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
const char *ia64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
const char *s390_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
const char *aarch64_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
+const char *bpf_init (Elf *elf, GElf_Half machine, Ebl *eh, size_t ehlen);
/* This table should contain the complete list of architectures as far
as the ELF specification is concerned. */
@@ -80,7 +81,7 @@ static const struct
{ s390_init, "ebl_s390", "s390", 4, EM_S390, 0, 0 },
{ NULL, "elf_m32", "m32", 3, EM_M32, 0, 0 },
- { NULL, "elf_m68k", "m68k", 4, EM_68K, 0, 0 },
+ { NULL, "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
{ NULL, "elf_m88k", "m88k", 4, EM_88K, 0, 0 },
{ NULL, "elf_i860", "i860", 4, EM_860, 0, 0 },
{ NULL, "ebl_s370", "s370", 4, EM_S370, 0, 0 },
@@ -139,6 +140,7 @@ static const struct
{ NULL, "elf_arc_a5", "arc_a5", 6, EM_ARC_A5, 0, 0 },
{ NULL, "elf_xtensa", "xtensa", 6, EM_XTENSA, 0, 0 },
{ aarch64_init, "elf_aarch64", "aarch64", 7, EM_AARCH64, ELFCLASS64, 0 },
+ { bpf_init, "elf_bpf", "bpf", 3, EM_BPF, 0, 0 },
};
#define nmachines (sizeof (machines) / sizeof (machines[0]))
@@ -146,8 +148,6 @@ static const struct
#define MAX_PREFIX_LEN 16
/* Default callbacks. Mostly they just return the error value. */
-static const char *default_object_type_name (int ignore, char *buf,
- size_t len);
static const char *default_reloc_type_name (int ignore, char *buf, size_t len);
static bool default_reloc_type_check (int ignore);
static bool default_reloc_valid_use (Elf *elf, int ignore);
@@ -169,7 +169,6 @@ static const char *default_symbol_binding_name (int ignore, char *buf,
static const char *default_dynamic_tag_name (int64_t ignore, char *buf,
size_t len);
static bool default_dynamic_tag_check (int64_t ignore);
-static GElf_Word default_sh_flags_combine (GElf_Word flags1, GElf_Word flags2);
static const char *default_osabi_name (int ignore, char *buf, size_t len);
static void default_destr (struct ebl *ignore);
static const char *default_core_note_type_name (uint32_t, char *buf,
@@ -216,7 +215,6 @@ static int default_abi_cfi (Ebl *ebl, Dwarf_CIE *abi_info);
static void
fill_defaults (Ebl *result)
{
- result->object_type_name = default_object_type_name;
result->reloc_type_name = default_reloc_type_name;
result->reloc_type_check = default_reloc_type_check;
result->reloc_valid_use = default_reloc_valid_use;
@@ -233,7 +231,6 @@ fill_defaults (Ebl *result)
result->symbol_binding_name = default_symbol_binding_name;
result->dynamic_tag_name = default_dynamic_tag_name;
result->dynamic_tag_check = default_dynamic_tag_check;
- result->sh_flags_combine = default_sh_flags_combine;
result->osabi_name = default_osabi_name;
result->core_note_type_name = default_core_note_type_name;
result->object_note_type_name = default_object_note_type_name;
@@ -405,14 +402,6 @@ ebl_openbackend_emulation (const char *emulation)
/* Default callbacks. Mostly they just return the error value. */
static const char *
-default_object_type_name (int ignore __attribute__ ((unused)),
- char *buf __attribute__ ((unused)),
- size_t len __attribute__ ((unused)))
-{
- return NULL;
-}
-
-static const char *
default_reloc_type_name (int ignore __attribute__ ((unused)),
char *buf __attribute__ ((unused)),
size_t len __attribute__ ((unused)))
@@ -529,12 +518,6 @@ default_dynamic_tag_check (int64_t ignore __attribute__ ((unused)))
return false;
}
-static GElf_Word
-default_sh_flags_combine (GElf_Word flags1, GElf_Word flags2)
-{
- return SH_FLAGS_COMBINE (flags1, flags2);
-}
-
static void
default_destr (struct ebl *ignore __attribute__ ((unused)))
{