lkml.org 
[lkml]   [2009]   [Aug]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [patch] Fix vdso32 relocation for paddr
On Fri, 28 Aug 2009 20:15:34 +0200, Roland McGrath wrote:
> Thanks for heads-up. It's definitely right to CC me on patches that change
> the build/setup vDSO details.

OK, I thought more about {p,u}trace.


> That change seems fine. Or just explicit p_addr = p_vaddr would be fine
> too (and not assume that what the linker produced is consistent, in case
> some old linkers produce stranger results from the vdso linker scripts).

Updated. Verified on x86_64 host it works right for an i386 binary.


Thanks,
Jan


Signed-off-by: Jan Kratochvil <jan.kratochvil@redhat.com>

--- linux-2.6.30.x86_64/arch/x86/vdso/vdso32-setup.c-orig 2009-08-26 22:23:08.000000000 +0200
+++ linux-2.6.30.x86_64/arch/x86/vdso/vdso32-setup.c 2009-08-26 22:38:10.000000000 +0200
@@ -172,6 +172,7 @@ static __init void relocate_vdso(Elf32_E
phdr = (void *)ehdr + ehdr->e_phoff;
for (i = 0; i < ehdr->e_phnum; i++) {
phdr[i].p_vaddr += VDSO_ADDR_ADJUST;
+ phdr[i].p_paddr = phdr[i].p_vaddr;

/* relocate dynamic stuff */
if (phdr[i].p_type == PT_DYNAMIC)

\
 
 \ /
  Last update: 2009-08-28 23:11    [W:0.046 / U:0.488 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site