On 02.12.2010 7:54, Arnaud Lacombe wrote:
It looks to me like the change which introduced "virtual functions"
forgot about cross-platform endianness. Can anyone please test this patch?
Thank you to Arnaud for supplying before+after data files do_mounts*.o.
recordmcount: Honor endianness in fn_ELF_R_INFO
---
scripts/recordmcount.h | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/scripts/recordmcount.h b/scripts/recordmcount.h
index 58e933a..3966717 100644
--- a/scripts/recordmcount.h
+++ b/scripts/recordmcount.h
@@ -119,7 +119,7 @@ static uint_t (*Elf_r_sym)(Elf_Rel const *rp) =
fn_ELF_R_SYM;
static void fn_ELF_R_INFO(Elf_Rel *const rp, unsigned sym, unsigned type)
{
- rp->r_info = ELF_R_INFO(sym, type);
+ rp->r_info = _w(ELF_R_INFO(sym, type));
}
static void (*Elf_r_info)(Elf_Rel *const rp, unsigned sym, unsigned type) =
fn_ELF_R_INFO;
-- 1.7.3.2
This patch does not seems to have made its way up to Linus tree, has
it been picked by anyone ?
It was not signed off, so couldn't be applied.
Thanks,
- Arnaud
WBR, Sergei
|