Commit 4ca993d4 authored by Sathvika Vasireddy's avatar Sathvika Vasireddy Committed by Michael Ellerman
Browse files

objtool: Add arch specific function arch_ftrace_match()



Add architecture specific function to look for relocation records
pointing to architecture specific symbols.

Suggested-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Tested-by: default avatarNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Reviewed-by: default avatarNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Reviewed-by: default avatarChristophe Leroy <christophe.leroy@csgroup.eu>
Acked-by: default avatarJosh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: default avatarSathvika Vasireddy <sv@linux.ibm.com>
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221114175754.1131267-15-sv@linux.ibm.com
parent c1449735
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -23,6 +23,11 @@
#include <objtool/builtin.h>
#include <arch/elf.h>

int arch_ftrace_match(char *name)
{
	return !strcmp(name, "__fentry__");
}

static int is_x86_64(const struct elf *elf)
{
	switch (elf->ehdr.e_machine) {
+1 −1
Original line number Diff line number Diff line
@@ -2316,7 +2316,7 @@ static int classify_symbols(struct objtool_file *file)
			if (arch_is_rethunk(func))
				func->return_thunk = true;

			if (!strcmp(func->name, "__fentry__"))
			if (arch_ftrace_match(func->name))
				func->fentry = true;

			if (is_profiling_func(func->name))
+2 −0
Original line number Diff line number Diff line
@@ -69,6 +69,8 @@ struct stack_op {

struct instruction;

int arch_ftrace_match(char *name);

void arch_initial_func_cfi_state(struct cfi_init_state *state);

int arch_decode_instruction(struct objtool_file *file, const struct section *sec,