diff options
author | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2011-05-10 10:10:43 +0200 |
---|---|---|
committer | Steven Rostedt <rostedt@goodmis.org> | 2011-05-16 15:05:06 -0400 |
commit | f29638868280534ed7e2fdd93b31557232597940 (patch) | |
tree | df11bf6f18442c29b5c76566560e8874c040d9d4 /scripts/recordmcount.c | |
parent | 521ccb5c4aece609311bfa7157910a8f0c942af5 (diff) | |
download | blackbird-op-linux-f29638868280534ed7e2fdd93b31557232597940.tar.gz blackbird-op-linux-f29638868280534ed7e2fdd93b31557232597940.zip |
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>
Diffstat (limited to 'scripts/recordmcount.c')
-rw-r--r-- | scripts/recordmcount.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scripts/recordmcount.c b/scripts/recordmcount.c index 7648a5d11154..ee52cb8e17ad 100644 --- a/scripts/recordmcount.c +++ b/scripts/recordmcount.c @@ -368,8 +368,10 @@ do_file(char const *const fname) "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 @@ do_file(char const *const fname) "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; |