projects
/
wrapfs-3.4.y.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
2c2a597
)
recordmcount: Fix endianness handling bug for nop_mcount
author
libin
<huawei.libin@huawei.com>
Tue, 3 Nov 2015 00:58:47 +0000
(08:58 +0800)
committer
Zefan Li
<lizefan@huawei.com>
Wed, 26 Oct 2016 15:15:23 +0000
(23:15 +0800)
commit
c84da8b9ad3761eef43811181c7e896e9834b26b
upstream.
In nop_mcount, shdr->sh_offset and welp->r_offset should handle
endianness properly, otherwise it will trigger Segmentation fault
if the recordmcount main and file.o have different endianness.
Link:
http://lkml.kernel.org/r/563806C7.7070606@huawei.com
Signed-off-by: Li Bin <huawei.libin@huawei.com>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Signed-off-by: Zefan Li <lizefan@huawei.com>
scripts/recordmcount.h
patch
|
blob
|
history
diff --git
a/scripts/recordmcount.h
b/scripts/recordmcount.h
index 5e29610303b07dca22d701f022fcec77d78790a0..799d73483fb290affe0639e9ee44a4a7fd5e6cde 100644
(file)
--- a/
scripts/recordmcount.h
+++ b/
scripts/recordmcount.h
@@
-375,7
+375,7
@@
static void nop_mcount(Elf_Shdr const *const relhdr,
if (mcountsym == Elf_r_sym(relp) && !is_fake_mcount(relp)) {
if (make_nop)
- ret = make_nop((void *)ehdr,
shdr->sh_offset + relp->r_offset
);
+ ret = make_nop((void *)ehdr,
_w(shdr->sh_offset) + _w(relp->r_offset)
);
if (warn_on_notrace_sect && !once) {
printf("Section %s has mcount callers being ignored\n",
txtname);