|
From: <fr...@be...> - 2005-10-11 15:58:36
|
Quoting Tom Hughes <to...@co...>: > In message <200...@ad...> > fr...@be... wrote: > >> ==16527== ERROR SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0) >> ==16527== malloc/free: in use at exit: 0 bytes in 0 blocks. >> ==16527== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. >> ==16527== For counts of detected errors, rerun with: -v >> ==16527== No malloc'd blocks -- no leaks are possible. > > Clearly it has failed to intercept malloc. Run with -v and post > the result. Hi, here's the output. bash-3.00$ valgrind -v /a.out ==17516== Memcheck, a memory error detector. ==17516== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==17516== Using LibVEX rev 1418, a library for dynamic binary translation. ==17516== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==17516== Using valgrind-3.1.SVN, a dynamic binary instrumentation framework. ==17516== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==17516== --17516-- Valgrind library directory: /usr/local/lib/valgrind --17516-- Command line --17516-- /a.out --17516-- Startup, with flags: --17516-- -v --17516-- Contents of /proc/version: --17516-- Linux version 2.6.8-24.18-smp (geeko@buildhost) (gcc version 3.3.4 (pre 3.3.5 20040809)) #1 SMP Fri Aug 19 11:56:28 UTC 2005 --17516-- Reading syms from /lib/ld-uClibc-0.9.28.so (0x4000000) --17516-- object doesn't have a symbol table --17516-- Reading syms from /a.out (0x8048000) --17516-- Reading syms from /usr/local/lib/valgrind/memcheck (0xB0000000) --17516-- object doesn't have a dynamic symbol table --17516-- Reading suppressions file: /usr/local/lib/valgrind/default.supp ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x40029EF: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) --17516-- Reading syms from /usr/local/lib/valgrind/vgpreload_core.so (0x4007000) --17516-- Reading syms from /usr/local/lib/valgrind/vgpreload_memcheck.so (0x4009000) ==17516== ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x40022B7: _dl_load_shared_library (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x4002E5F: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x4002306: _dl_load_shared_library (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x4002E5F: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) --17516-- Reading syms from /lib/libgcc_s.so.1 (0x400E000) --17516-- object doesn't have a symbol table --17516-- Reading syms from /lib/libuClibc-0.9.28.so (0x4016000) --17516-- object doesn't have a symbol table --17516-- Reading syms from /lib/libdl-0.9.28.so (0x40A5000) --17516-- object doesn't have a symbol table ==17516== ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x40025EA: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x400261F: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x400266E: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x40032AC: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== ERROR SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0) ==17516== ==17516== 1 errors in context 1 of 7: ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x40032AC: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== 1 errors in context 2 of 7: ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x400266E: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== 1 errors in context 3 of 7: ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x400261F: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== 1 errors in context 4 of 7: ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x40025EA: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== 1 errors in context 5 of 7: ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x40029EF: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== 2 errors in context 6 of 7: ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x4002306: _dl_load_shared_library (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x4002E5F: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== ==17516== 2 errors in context 7 of 7: ==17516== Conditional jump or move depends on uninitialised value(s) ==17516== at 0x40022B7: _dl_load_shared_library (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x4002E5F: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==17516== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==17516== IN SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0) ==17516== ==17516== malloc/free: in use at exit: 0 bytes in 0 blocks. ==17516== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. ==17516== ==17516== No malloc'd blocks -- no leaks are possible. --17516-- memcheck: sanity checks: 0 cheap, 1 expensive --17516-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use --17516-- memcheck: auxmaps: 0 searches, 0 comparisons --17516-- memcheck: secondaries: 7 issued (448k, 0M) --17516-- memcheck: secondaries: 7 accessible and distinguished (448k, 0M) --17516-- tt/tc: 1,562 tt lookups requiring 1,561 probes --17516-- tt/tc: 1,562 fast-cache updates, 2 flushes --17516-- translate: new 781 (15,573 -> 268,353; ratio 172:10) [0 scs] --17516-- translate: dumped 0 (0 -> ??) --17516-- translate: discarded 0 (0 -> ??) --17516-- scheduler: 44,779 jumps (bb entries). --17516-- scheduler: 0/836 major/minor sched events. --17516-- sanity: 1 cheap, 1 expensive checks. --17516-- exectx: 30,011 lists, 7 contexts (avg 0 per list) --17516-- exectx: 9 searches, 2 full compares (222 per 1000) --17516-- exectx: 0 cmp2, 25 cmp4, 0 cmpAll Regards, Frank |
|
From: Julian S. <js...@ac...> - 2005-10-11 16:28:05
|
> > Clearly it has failed to intercept malloc. Run with -v and post > > the result. That might be because the soname of the uclibc .so is different from that of the regular libc.so. Interception is based on (soname,functionname) pairs. Can you find that information out? J |
|
From: Tom H. <to...@co...> - 2005-10-11 16:48:08
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
>
> > > Clearly it has failed to intercept malloc. Run with -v and post
> > > the result.
>
> That might be because the soname of the uclibc .so is different
> from that of the regular libc.so. Interception is based on
> (soname,functionname) pairs. Can you find that information out?
Running with --trace-redir=yes will show that. I was thinking that -v
would show it when I asked for that.
I also suspect that the problem is the soname as he isn't using glibc
so the soname is probably not libc.so.6.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Julian S. <js...@ac...> - 2005-10-11 16:50:39
|
> I also suspect that the problem is the soname as he isn't using glibc > so the soname is probably not libc.so.6. At least it would be an easy fix if that were indeed the case. J |
|
From: <fr...@be...> - 2005-10-11 16:56:46
|
Quoting Tom Hughes <to...@co...>: > In message <200...@ac...> > Julian Seward <js...@ac...> wrote: >> > > Clearly it has failed to intercept malloc. Run with -v and post >> > > the result. >> >> That might be because the soname of the uclibc .so is different >> from that of the regular libc.so. Interception is based on >> (soname,functionname) pairs. Can you find that information out? > > Running with --trace-redir=yes will show that. I was thinking that -v > would show it when I asked for that. Here's a rerun with --trace-redir=yes. bash-3.00$ valgrind -v --trace-redir=yes /a.out ==18300== Memcheck, a memory error detector. ==18300== Copyright (C) 2002-2005, and GNU GPL'd, by Julian Seward et al. ==18300== Using LibVEX rev 1418, a library for dynamic binary translation. ==18300== Copyright (C) 2004-2005, and GNU GPL'd, by OpenWorks LLP. ==18300== Using valgrind-3.1.SVN, a dynamic binary instrumentation framework. ==18300== Copyright (C) 2000-2005, and GNU GPL'd, by Julian Seward et al. ==18300== --18300-- Valgrind library directory: /usr/local/lib/valgrind --18300-- Command line --18300-- /a.out --18300-- Startup, with flags: --18300-- -v --18300-- --trace-redir=yes --18300-- Contents of /proc/version: --18300-- Linux version 2.6.8-24.18-smp (geeko@buildhost) (gcc version 3.3.4 (pre 3.3.5 20040809)) #1 SMP Fri Aug 19 11:56:28 UTC 2005 --18300-- REDIR sym to addr: soname:ld-linux.so.2:_dl_sysinfo_int80 to 0xB001B793 --18300-- Reading syms from /lib/ld-uClibc-0.9.28.so (0x4000000) --18300-- object doesn't have a symbol table --18300-- Just loaded /lib/ld-uClibc-0.9.28.so (soname=ld-uClibc.so.0), --18300-- resolving any unresolved redirs with it --18300-- Finished resolving --18300-- Reading syms from /a.out (0x8048000) --18300-- Just loaded /a.out (soname=(null)), --18300-- resolving any unresolved redirs with it --18300-- Finished resolving --18300-- Reading syms from /usr/local/lib/valgrind/memcheck (0xB0000000) --18300-- object doesn't have a dynamic symbol table --18300-- Just loaded /usr/local/lib/valgrind/memcheck (soname=(null)), --18300-- resolving any unresolved redirs with it --18300-- Finished resolving --18300-- Reading suppressions file: /usr/local/lib/valgrind/default.supp ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x40029EF: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) --18300-- Reading syms from /usr/local/lib/valgrind/vgpreload_core.so (0x4007000) --18300-- Just loaded /usr/local/lib/valgrind/vgpreload_core.so (soname=vgpreload_core.so), --18300-- resolving any unresolved redirs with it --18300-- Finished resolving --18300-- Reading syms from /usr/local/lib/valgrind/vgpreload_memcheck.so (0x4009000) --18300-- REDIR sym to addr: soname:libstdc++*:builtin_new to 0x400A92D --18300-- REDIR sym to addr: soname:libc.so.6:strrchr to 0x400C100 --18300-- REDIR sym to addr: soname:libc.so.6:__builtin_vec_delete to 0x400B8A9 --18300-- REDIR sym to addr: soname:ld-linux.so.2:strchr to 0x400C198 --18300-- REDIR sym to addr: soname:libc.so.6:strncat to 0x400C2F0 --18300-- REDIR sym to addr: soname:libstdc++*:__builtin_vec_new to 0x400AECF --18300-- REDIR sym to addr: soname:libc.so.6:__builtin_new to 0x400AB5B --18300-- REDIR sym to addr: soname:libc.so.6:_ZnajRKSt9nothrow_t to 0x400B25A --18300-- REDIR sym to addr: soname:libc.so.6:strchrnul to 0x400CAC0 --18300-- REDIR sym to addr: soname:libc.so.6:_ZdlPvRKSt9nothrow_t to 0x400B7A1 --18300-- REDIR sym to addr: soname:libc.so.6:stpcpy to 0x400C850 --18300-- REDIR sym to addr: soname:libc.so.6:_ZdlPv to 0x400B699 --18300-- REDIR sym to addr: soname:libc.so.6:strncpy to 0x400C4DC --18300-- REDIR sym to addr: soname:libc.so.6:bcmp to 0x400C820 --18300-- REDIR sym to addr: soname:libc.so.6:memset to 0x400CA54 --18300-- REDIR sym to addr: soname:ld-linux-x86-64.so.2:strchr to 0x400C1B8 --18300-- REDIR sym to addr: soname:libc.so.6:_ZnwjRKSt9nothrow_t to 0x400AE2C --18300-- REDIR sym to addr: soname:ld-linux.so.2:rindex to 0x400C150 --18300-- REDIR sym to addr: soname:libc.so.6:memalign to 0x400BCC8 --18300-- REDIR sym to addr: soname:libc.so.6:realloc to 0x400BBE8 --18300-- REDIR sym to addr: soname:libc.so.6:_ZdaPv to 0x400B9B1 --18300-- REDIR sym to addr: soname:libc.so.6:memmove to 0x400CA74 --18300-- REDIR sym to addr: soname:libc.so.6:strchr to 0x400C178 --18300-- REDIR sym to addr: soname:libc.so.6:malloc_trim to 0x400BF18 --18300-- REDIR sym to addr: soname:libc.so.6:free to 0x400B381 --18300-- REDIR sym to addr: soname:libc.so.6:rawmemchr to 0x400CADC --18300-- REDIR sym to addr: soname:libstdc++*:malloc to 0x400A7E7 --18300-- REDIR sym to addr: soname:libc.so.6:strcpy to 0x400C42C --18300-- REDIR sym to addr: soname:ld-linux-x86-64.so.2:strlen to 0x400C410 --18300-- REDIR sym to addr: soname:libc.so.6:mallopt to 0x400BDAE --18300-- REDIR sym to addr: soname:libc.so.6:malloc_set_state to 0x400BF5A --18300-- REDIR sym to addr: soname:libc.so.6:_Znwj to 0x400ACCF --18300-- REDIR sym to addr: soname:libstdc++*:_ZdlPvRKSt9nothrow_t to 0x400B71D --18300-- REDIR sym to addr: soname:libc.so.6:cfree to 0x400B489 --18300-- REDIR sym to addr: soname:libstdc++*:_Znaj to 0x400B043 --18300-- REDIR sym to addr: soname:libc.so.6:__builtin_delete to 0x400B591 --18300-- REDIR sym to addr: soname:libstdc++*:free to 0x400B2FD --18300-- REDIR sym to addr: soname:ld-linux.so.2:strlen to 0x400C3F4 --18300-- REDIR sym to addr: soname:libc.so.6:index to 0x400C1D8 --18300-- REDIR sym to addr: soname:libc.so.6:__builtin_vec_new to 0x400AF89 --18300-- REDIR sym to addr: soname:ld-linux-x86-64.so.2:stpcpy to 0x400C9A8 --18300-- REDIR sym to addr: soname:libstdc++*:_ZnajRKSt9nothrow_t to 0x400B1B7 --18300-- REDIR sym to addr: soname:ld-linux-x86-64.so.2:strcmp to 0x400C67C --18300-- REDIR sym to addr: soname:libstdc++*:_ZnwjRKSt9nothrow_t to 0x400AD89 --18300-- REDIR sym to addr: soname:libc.so.6:strncmp to 0x400C5F8 --18300-- REDIR sym to addr: soname:libc.so.6:valloc to 0x400BD8C --18300-- REDIR sym to addr: soname:libc.so.6:malloc to 0x400A88A --18300-- REDIR sym to addr: soname:libc.so.6:mallinfo to 0x400BF7B --18300-- REDIR sym to addr: soname:libstdc++*:_ZdlPv to 0x400B615 --18300-- REDIR sym to addr: soname:libc.so.6:strcat to 0x400C238 --18300-- REDIR sym to addr: soname:libstdc++*:__builtin_new to 0x400AAA1 --18300-- REDIR sym to addr: soname:libc.so.6:pvalloc to 0x400BED6 --18300-- REDIR sym to addr: soname:ld-linux.so.2:index to 0x400C1F8 --18300-- REDIR sym to addr: soname:libc.so.6:builtin_new to 0x400A9E7 --18300-- REDIR sym to addr: soname:libstdc++*:__builtin_delete to 0x400B50D --18300-- REDIR sym to addr: soname:libc.so.6:strnlen to 0x400C3B4 --18300-- REDIR sym to addr: soname:libc.so.6:memchr to 0x400C6A8 --18300-- REDIR sym to addr: soname:ld-linux-x86-64.so.2:index to 0x400C218 --18300-- REDIR sym to addr: soname:libc.so.6:calloc to 0x400BB3D --18300-- REDIR sym to addr: soname:libc.so.6:strlen to 0x400C3D8 --18300-- REDIR sym to addr: soname:libc.so.6:memcpy to 0x400C6CC --18300-- REDIR sym to addr: soname:libc.so.6:malloc_stats to 0x400BEF7 --18300-- REDIR sym to addr: soname:libc.so.6:memcmp to 0x400C7F0 --18300-- REDIR sym to addr: soname:libstdc++*:cfree to 0x400B405 --18300-- REDIR sym to addr: soname:libc.so.6:malloc_get_state to 0x400BF39 --18300-- REDIR sym to addr: soname:libc.so.6:posix_memalign to 0x400BDB8 --18300-- REDIR sym to addr: soname:libstdc++*:__builtin_vec_delete to 0x400B825 --18300-- REDIR sym to addr: soname:libc.so.6:malloc_usable_size to 0x400BE04 --18300-- REDIR sym to addr: soname:libc.so.6:rindex to 0x400C128 --18300-- REDIR sym to addr: soname:libc.so.6:_ZdaPvRKSt9nothrow_t to 0x400BAB9 --18300-- REDIR sym to addr: soname:libc.so.6:_Znaj to 0x400B0FD --18300-- REDIR sym to addr: soname:libstdc++*:_ZdaPvRKSt9nothrow_t to 0x400BA35 --18300-- REDIR sym to addr: soname:libstdc++*:_Znwj to 0x400AC15 --18300-- REDIR sym to addr: soname:libc.so.6:strcmp to 0x400C650 --18300-- REDIR sym to addr: soname:ld-linux.so.2:stpcpy to 0x400C8FC --18300-- REDIR sym to addr: soname:libstdc++*:_ZdaPv to 0x400B92D --18300-- Just loaded /usr/local/lib/valgrind/vgpreload_memcheck.so (soname=(null)), --18300-- resolving any unresolved redirs with it --18300-- Finished resolving ==18300== ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x40022B7: _dl_load_shared_library (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x4002E5F: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x4002306: _dl_load_shared_library (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x4002E5F: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) --18300-- Reading syms from /lib/libgcc_s.so.1 (0x400E000) --18300-- object doesn't have a symbol table --18300-- Just loaded /lib/libgcc_s.so.1 (soname=libgcc_s.so.1), --18300-- resolving any unresolved redirs with it --18300-- Finished resolving --18300-- Reading syms from /lib/libuClibc-0.9.28.so (0x4016000) --18300-- object doesn't have a symbol table --18300-- Just loaded /lib/libuClibc-0.9.28.so (soname=libc.so.0), --18300-- resolving any unresolved redirs with it --18300-- Finished resolving --18300-- Reading syms from /lib/libdl-0.9.28.so (0x40A5000) --18300-- object doesn't have a symbol table --18300-- Just loaded /lib/libdl-0.9.28.so (soname=libdl.so.0), --18300-- resolving any unresolved redirs with it --18300-- Finished resolving ==18300== ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x40025EA: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x400261F: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x400266E: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x40032AC: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== ERROR SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0) ==18300== ==18300== 1 errors in context 1 of 7: ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x40032AC: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== 1 errors in context 2 of 7: ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x400266E: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== 1 errors in context 3 of 7: ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x400261F: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== 1 errors in context 4 of 7: ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x40025EA: _dl_fixup (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40031F9: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== 1 errors in context 5 of 7: ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x40029EF: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== 2 errors in context 6 of 7: ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x4002306: _dl_load_shared_library (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x4002E5F: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== ==18300== 2 errors in context 7 of 7: ==18300== Conditional jump or move depends on uninitialised value(s) ==18300== at 0x40022B7: _dl_load_shared_library (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x4002E5F: _dl_get_ready_to_run (in /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40036BE: (within /lib/ld-uClibc-0.9.28.so) ==18300== by 0x40008D4: _start (in /lib/ld-uClibc-0.9.28.so) ==18300== IN SUMMARY: 9 errors from 7 contexts (suppressed: 0 from 0) ==18300== ==18300== malloc/free: in use at exit: 0 bytes in 0 blocks. ==18300== malloc/free: 0 allocs, 0 frees, 0 bytes allocated. ==18300== ==18300== No malloc'd blocks -- no leaks are possible. --18300-- memcheck: sanity checks: 0 cheap, 1 expensive --18300-- memcheck: auxmaps: 0 auxmap entries (0k, 0M) in use --18300-- memcheck: auxmaps: 0 searches, 0 comparisons --18300-- memcheck: secondaries: 7 issued (448k, 0M) --18300-- memcheck: secondaries: 7 accessible and distinguished (448k, 0M) --18300-- tt/tc: 1,562 tt lookups requiring 1,561 probes --18300-- tt/tc: 1,562 fast-cache updates, 2 flushes --18300-- translate: new 781 (15,573 -> 268,353; ratio 172:10) [0 scs] --18300-- translate: dumped 0 (0 -> ??) --18300-- translate: discarded 0 (0 -> ??) --18300-- scheduler: 44,791 jumps (bb entries). --18300-- scheduler: 0/836 major/minor sched events. --18300-- sanity: 1 cheap, 1 expensive checks. --18300-- exectx: 30,011 lists, 7 contexts (avg 0 per list) --18300-- exectx: 9 searches, 2 full compares (222 per 1000) --18300-- exectx: 0 cmp2, 25 cmp4, 0 cmpAll > I also suspect that the problem is the soname as he isn't using glibc > so the soname is probably not libc.so.6. No it isn't. bash-3.00$ ls -lF /lib/libc* lrwxrwxrwx 1 frank 200 19 Sep 19 04:30 /lib/libc.so.0 -> libuClibc-0.9.28.so -rw-r--r-- 1 frank 200 9032 Sep 19 04:30 /lib/libcrypt-0.9.28.so lrwxrwxrwx 1 frank 200 18 Sep 19 04:30 /lib/libcrypt.so.0 -> libcrypt-0.9.28.so Regards, Frank |
|
From: Tom H. <to...@co...> - 2005-10-11 17:03:51
|
In message <200...@ad...>
fr...@be... wrote:
> --18300-- Reading syms from /lib/libuClibc-0.9.28.so (0x4016000)
> --18300-- object doesn't have a symbol table
> --18300-- Just loaded /lib/libuClibc-0.9.28.so (soname=libc.so.0),
> --18300-- resolving any unresolved redirs with it
> --18300-- Finished resolving
There's the problem - the soname doesn't match so none of the
redirects has been processed.
As a quick hack you can edit coregrind/m_replacemalloc/vg_replace_malloc.c
and change this line:
#define m_libc_dot_so_dot_6 libcZdsoZd6 // libc.so.6
to this:
#define m_libc_dot_so_dot_6 libcZdsoZd0 // libc.so.0
and see if that works any better.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: <fr...@be...> - 2005-10-11 17:31:12
|
Quoting Tom Hughes <to...@co...>:
> In message <200...@ad...>
> fr...@be... wrote:
>
>> --18300-- Reading syms from /lib/libuClibc-0.9.28.so (0x4016000)
>> --18300-- object doesn't have a symbol table
>> --18300-- Just loaded /lib/libuClibc-0.9.28.so (soname=libc.so.0),
>> --18300-- resolving any unresolved redirs with it
>> --18300-- Finished resolving
>
> There's the problem - the soname doesn't match so none of the
> redirects has been processed.
>
> As a quick hack you can edit coregrind/m_replacemalloc/vg_replace_malloc.c
> and change this line:
>
> #define m_libc_dot_so_dot_6 libcZdsoZd6 // libc.so.6
>
> to this:
>
> #define m_libc_dot_so_dot_6 libcZdsoZd0 // libc.so.0
>
> and see if that works any better.
It fixed the problem. Valgrind now detects the lost memory.
Thank you very much for your help.
There were other places where this string was used:
frank@linux:~/valgrind> find -type f | xargs grep libcZdsoZd6 | grep -v svn |
grep -v Binary
./coregrind/m_redir.c: _vgi_libcZdsoZd6__ZdlPv --> libc.so.6:_ZdlPv
./coregrind/m_replacemalloc/vg_replace_malloc.c: return
VG_REPLACE_FUNCTION(libcZdsoZd6,malloc) (new_size); \
./coregrind/m_replacemalloc/vg_replace_malloc.c:
VG_REPLACE_FUNCTION(libcZdsoZd6,free)(ptrV); \
./coregrind/m_replacemalloc/vg_replace_malloc.c: return
VG_REPLACE_FUNCTION(libcZdsoZd6,memalign)(VKI_PAGE_SIZE, size); \
./coregrind/m_replacemalloc/vg_replace_malloc.c: mem =
VG_REPLACE_FUNCTION(libcZdsoZd6,memalign)(alignment, size); \
./memcheck/mac_replace_strmem.c:#define m_libc_so_6 libcZdsoZd6
// libc.so.6
Can/Should i also do a simple replace on these?
Regards,
Frank
|
|
From: Julian S. <js...@ac...> - 2005-10-11 17:57:33
|
> Can/Should i also do a simple replace on these? Yes/Yes. J |
|
From: Tom H. <to...@co...> - 2005-10-11 18:05:53
|
In message <200...@ad...>
fr...@be... wrote:
> Quoting Tom Hughes <to...@co...>:
>
> > In message <200...@ad...>
> > fr...@be... wrote:
> >
> >> --18300-- Reading syms from /lib/libuClibc-0.9.28.so (0x4016000)
> >> --18300-- object doesn't have a symbol table
> >> --18300-- Just loaded /lib/libuClibc-0.9.28.so (soname=libc.so.0),
> >> --18300-- resolving any unresolved redirs with it
> >> --18300-- Finished resolving
> >
> > There's the problem - the soname doesn't match so none of the
> > redirects has been processed.
> >
> > As a quick hack you can edit coregrind/m_replacemalloc/vg_replace_malloc.c
> > and change this line:
> >
> > #define m_libc_dot_so_dot_6 libcZdsoZd6 // libc.so.6
> >
> > to this:
> >
> > #define m_libc_dot_so_dot_6 libcZdsoZd0 // libc.so.0
> >
> > and see if that works any better.
>
> It fixed the problem. Valgrind now detects the lost memory.
> Thank you very much for your help.
Great. The only question now is what the permanent fix should
be - maybe we should just use libc.so.* to match C libraries in
general?
It's probably a good idea if you raise a bug for this so we don't
forget about it.
Tom
--
Tom Hughes (to...@co...)
http://www.compton.nu/
|
|
From: Julian S. <js...@ac...> - 2005-10-11 18:43:28
|
> > It fixed the problem. Valgrind now detects the lost memory. > > Thank you very much for your help. > > Great. The only question now is what the permanent fix should > be - maybe we should just use libc.so.* to match C libraries in > general? Sounds good to me. Except, I guess it should in that case be libc.so*, yes? > It's probably a good idea if you raise a bug for this so we don't > forget about it. Definitely. J |