• Anton Blanchard's avatar
    powerpc: Link VDSOs at 0x0 · a0a4419e
    Anton Blanchard authored
    perf is failing to resolve symbols in the VDSO. A while (1)
    gettimeofday() loop shows:
    
    93.99%  [vdso]  [.] 0x00000000000005e0
     3.12%  test    [.] 00000037.plt_call.gettimeofday@@GLIBC_2.18
     2.81%  test    [.] main
    
    The reason for this is that we are linking our VDSO shared libraries
    at 1MB, which is a little weird. Even though this is uncommon, Alan
    points out that it is valid and we should probably fix perf userspace.
    
    Regardless, I can't see a reason why we are doing this. The code
    is all position independent and we never rely on the VDSO ending
    up at 1M (and we never place it there on 64bit tasks).
    
    Changing our link address to 0x0 fixes perf VDSO symbol resolution:
    
    73.18%  [vdso]  [.] 0x000000000000060c
    12.39%  [vdso]  [.] __kernel_gettimeofday
     3.58%  test    [.] 00000037.plt_call.gettimeofday@@GLIBC_2.18
     2.94%  [vdso]  [.] __kernel_datapage_offset
     2.90%  test    [.] main
    
    We still have some local symbol resolution issues that will be
    fixed in a subsequent patch.
    Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    a0a4419e
vdso.h 1.49 KB