Thread (64 messages) 64 messages, 10 authors, 2023-02-04

Re: [PATCH v2 14/16] objtool: Add arch specific function arch_ftrace_match()

From: Christophe Leroy <hidden>
Date: 2022-08-30 06:36:13
Also in: lkml


Le 29/08/2022 à 07:52, Sathvika Vasireddy a écrit :
Add architecture specific function to look for
relocation records pointing to arch specific
symbols.

Suggested-by: Christophe Leroy <redacted>
Signed-off-by: Sathvika Vasireddy <redacted>
Reviewed-by: Christophe Leroy <redacted>
quoted hunk ↗ jump to hunk
---
  tools/objtool/arch/x86/decode.c      | 8 ++++++++
  tools/objtool/check.c                | 2 +-
  tools/objtool/include/objtool/arch.h | 2 ++
  3 files changed, 11 insertions(+), 1 deletion(-)
diff --git a/tools/objtool/arch/x86/decode.c b/tools/objtool/arch/x86/decode.c
index c260006106be..025598b6b703 100644
--- a/tools/objtool/arch/x86/decode.c
+++ b/tools/objtool/arch/x86/decode.c
@@ -23,6 +23,14 @@
  #include <objtool/builtin.h>
  #include <arch/elf.h>
  
+bool arch_ftrace_match(char *name)
+{
+	if (!strcmp(name, "__fentry__"))
+		return true;
+
+	return false;
Could be simplified as:

	return !strcmp(name, "__fentry__");


Whatever:

Reviewed-by: Christophe Leroy <redacted>


quoted hunk ↗ jump to hunk
+}
+
  static int is_x86_64(const struct elf *elf)
  {
  	switch (elf->ehdr.e_machine) {
diff --git a/tools/objtool/check.c b/tools/objtool/check.c
index f1d055467926..01ff7504f18d 100644
--- a/tools/objtool/check.c
+++ b/tools/objtool/check.c
@@ -2294,7 +2294,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))
diff --git a/tools/objtool/include/objtool/arch.h b/tools/objtool/include/objtool/arch.h
index beb2f3aa94ff..2ba4b9897285 100644
--- a/tools/objtool/include/objtool/arch.h
+++ b/tools/objtool/include/objtool/arch.h
@@ -69,6 +69,8 @@ struct stack_op {
  
  struct instruction;
  
+bool 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,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help