ftrace/s390: mcount offset calculation
Do the mcount offset adjustment in the recordmcount.pl/recordmcount.[ch]
at compile time and not in ftrace_call_adjust at run time.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
diff --git a/scripts/recordmcount.c b/scripts/recordmcount.c
index 7648a5d..ee52cb8 100644
--- a/scripts/recordmcount.c
+++ b/scripts/recordmcount.c
@@ -368,8 +368,10 @@
"unrecognized ET_REL file: %s\n", fname);
fail_file();
}
- if (w2(ehdr->e_machine) == EM_S390)
+ if (w2(ehdr->e_machine) == EM_S390) {
reltype = R_390_32;
+ mcount_adjust_32 = -4;
+ }
if (w2(ehdr->e_machine) == EM_MIPS) {
reltype = R_MIPS_32;
is_fake_mcount32 = MIPS32_is_fake_mcount;
@@ -384,8 +386,10 @@
"unrecognized ET_REL file: %s\n", fname);
fail_file();
}
- if (w2(ghdr->e_machine) == EM_S390)
+ if (w2(ghdr->e_machine) == EM_S390) {
reltype = R_390_64;
+ mcount_adjust_64 = -8;
+ }
if (w2(ghdr->e_machine) == EM_MIPS) {
reltype = R_MIPS_64;
Elf64_r_sym = MIPS64_r_sym;