|
From: Tom H. <th...@cy...> - 2004-08-06 09:11:26
|
In message <1091781451.30388.108.camel@debian>
Patrick Ohly <Pat...@in...> wrote:
> ../hello: relocation error: /lib/i686/librt.so.1: symbol
> __pthread_clock_settime, version GLIBC_2.2.3 not defined in file
> libpthread.so.0 with link time
>
> Therefore I patched vg_libpthread.vs like this:
> GLIBC_2.2.3 {
> # Extensions.
> pthread_getattr_np;
> + __pthread_clock_gettime;
> + __pthread_clock_settime;
> } GLIBC_2.2;
> and then I got past that error, but I ran into another one:
That isn't actually the correct fix as it you're now assigning two
different versions to the symbol. In fact I'm surprised the linker
even allows that. I think I know what the correct fix is - could you
raise a bug for this please.
> ==21264== Warning: client syscall mmap2 tried to modify addresses
> 0xBFFF0000-0xC0000000
>
> valgrind: vg_syscalls.c:3952 (after_mmap2): Assertion
> `valid_client_addr((tst->m_eax), (tst->m_ecx), tid, "mmap2")' failed.
> ==21264== at 0xB002E510: vgPlain_skin_assert_fail (vg_mylibc.c:1169)
> ==21264== by 0xB002E50F: assert_fail (vg_mylibc.c:1165)
> ==21264== by 0xB002E54D: vgPlain_core_assert_fail (vg_mylibc.c:1176)
> ==21264== by 0xB0044BC7: after_mmap2 (vg_syscalls.c:3952)
See bug 86289 for a discussion of this - it appears to be a bug in
the kernel you are using.
> To get valgrind running I just removed the assert at vg_syscalls.c:3952
> and then it works.
It does? I'm astonished.
> Now my question is: what is the right way to solve this?
> Is the assert() really just invalid, or am I ignoring a more
> fundamental problem by removing it?
No. The assert is absolutely valid. The only way it can fire as far
as I know is if the kernel process the mmap call wrongly.
If it does fire then it means the client has mapped some memory in
valgrind's reserved area of the address space and it won't then be
able to access that memory unless --pointercheck=no is used.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|