objtool: Make relocation in alternative handling arch dependent

As pointed out by the comment in handle_group_alt(), support of
relocation for instructions in an alternative group depends on whether
arch specific kernel code handles it.

So, let objtool arch specific code decide whether a relocation for
the alternative section should be accepted.

Reviewed-by: Miroslav Benes <mbenes@suse.cz>
Signed-off-by: Julien Thierry <jthierry@redhat.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
This commit is contained in:
Julien Thierry
2020-09-04 16:30:23 +01:00
committed by Josh Poimboeuf
parent eda3dc9058
commit 45245f51f9
4 changed files with 29 additions and 13 deletions

View File

@@ -7,6 +7,7 @@
#define _SPECIAL_H
#include <stdbool.h>
#include "check.h"
#include "elf.h"
struct special_alt {
@@ -30,4 +31,7 @@ int special_get_alts(struct elf *elf, struct list_head *alts);
void arch_handle_alternative(unsigned short feature, struct special_alt *alt);
bool arch_support_alt_relocation(struct special_alt *special_alt,
struct instruction *insn,
struct reloc *reloc);
#endif /* _SPECIAL_H */