summaryrefslogtreecommitdiffstats
path: root/libebl/eblopenbackend.c
diff options
context:
space:
mode:
authorMark Wielaard <[email protected]>2018-08-04 20:36:09 +0200
committerMark Wielaard <[email protected]>2018-09-13 14:30:30 +0200
commitba2a7f4fa5f453c2b0a729bf519240a8f66a1867 (patch)
tree6fd2f8cd25f5750e815d7cab22adbd4f5d345e68 /libebl/eblopenbackend.c
parentfb0457f4671e7e0f8331453348005ed6beab275e (diff)
backends: Always use elf_getshdrstrndx in check_special_symbol.
The check_special_symbol backend functions used the Ehdr e_shstrndx field to get at the name of sections. This is not correct if there are more than SHN_LORESERVE sections. Always use elf_getshdrstrndx to get the shstrtab section. And drop the Ehdr argument that isn't necessary anymore. Signed-off-by: Mark Wielaard <[email protected]>
Diffstat (limited to 'libebl/eblopenbackend.c')
-rw-r--r--libebl/eblopenbackend.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index 1962e608..f5b3de29 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -181,7 +181,7 @@ static bool default_debugscn_p (const char *name);
static bool default_copy_reloc_p (int reloc);
static bool default_none_reloc_p (int reloc);
static bool default_relative_reloc_p (int reloc);
-static bool default_check_special_symbol (Elf *elf, GElf_Ehdr *ehdr,
+static bool default_check_special_symbol (Elf *elf,
const GElf_Sym *sym,
const char *name,
const GElf_Shdr *destshdr);
@@ -673,7 +673,6 @@ strong_alias (default_copy_reloc_p, default_relative_reloc_p)
static bool
default_check_special_symbol (Elf *elf __attribute__ ((unused)),
- GElf_Ehdr *ehdr __attribute__ ((unused)),
const GElf_Sym *sym __attribute__ ((unused)),
const char *name __attribute__ ((unused)),
const GElf_Shdr *destshdr __attribute__ ((unused)))