Summary: | Callgrind: jumps.c:164 (new_jcc): Assertion '(0 <= jmp) && (jmp <= from->bb->cjmp_count)' failed. | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Christian Matuszewski <christian.matuszewski> |
Component: | callgrind | Assignee: | Josef Weidendorfer <josef.weidendorfer> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | jseward, peter.maydell, philippe.waroquiers, ugo.riboni |
Priority: | NOR | ||
Version: | 3.6.0 | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Christian Matuszewski
2011-05-17 08:49:55 UTC
That should be fixed in the current SVN version. Can you check that? Any update on this? I can still reproduce this in 3.6.1 On ARM the bug happens on any program I try, including a trivial program with the following content: int main() { return 1; } Can you check the version from SVN trunk? To become 3.7.0... I tried checking svn trunk but it doesn't compile :-) make[3]: Entering directory `/root/valgrind/coregrind' gcc -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -marm -mcpu=cortex-a8 -Wno-long-long -Wno-pointer-sign -fno-stack-protector -O2 -g -Wall -Wmissing-prototypes -Wshadow -Wpointer-arith -Wstrict-prototypes -Wmissing-declarations -Wno-format-zero-length -fno-strict-aliasing -fno-builtin -marm -mcpu=cortex-a8 -lpthread -o vgdb vgdb-vgdb.o vgdb-vgdb.o: In function `close_connection': /root/valgrind/coregrind/vgdb.c:1695: undefined reference to `pthread_join' vgdb-vgdb.o: In function `received_signal': /root/valgrind/coregrind/vgdb.c:1592: undefined reference to `pthread_cancel' vgdb-vgdb.o: In function `standalone_send_commands': /root/valgrind/coregrind/vgdb.c:1841: undefined reference to `pthread_create' vgdb-vgdb.o: In function `gdb_relay': /root/valgrind/coregrind/vgdb.c:1718: undefined reference to `pthread_create' vgdb-vgdb.o: In function `invoke_gdbserver_in_valgrind': /root/valgrind/coregrind/vgdb.c:1161: undefined reference to `__pthread_register_cancel' /root/valgrind/coregrind/vgdb.c:1251: undefined reference to `__pthread_unregister_cancel' collect2: ld returned 1 exit status (adding another "-lpthread" at the end of the gcc command line got it past this, and yes, that callgrind seems to work on the trivial example that 3.6.1 barfs on.) (In reply to comment #5) > I tried checking svn trunk but it doesn't compile :-) Does not link :). Can you try the below patch (and re-run ./autogen.sh; ./configure; make) Thanks Index: coregrind/Makefile.am =================================================================== --- coregrind/Makefile.am (revision 12160) +++ coregrind/Makefile.am (working copy) @@ -58,7 +58,7 @@ vgdb_CCASFLAGS = $(AM_CCASFLAGS_PRI) vgdb_LDFLAGS = $(AM_CFLAGS_PRI) if !VGCONF_PLATVARIANT_IS_ANDROID -vgdb_LDFLAGS += -lpthread +vgdb_LDADD = -lpthread endif if VGCONF_PLATFORMS_INCLUDE_X86_DARWIN vgdb_LDFLAGS += -Wl,-read_only_relocs -Wl,suppress @Philippe Apparently the patch was a(In reply to comment #6) > (In reply to comment #5) > > I tried checking svn trunk but it doesn't compile :-) > Does not link :). > > Can you try the below patch (and re-run ./autogen.sh; ./configure; make) Apparently the patch has already been applied in SVN. I'm trying building on my ARM system and if it builds testing it. I'll report results as soon as it's done. It built just fine and is running too. The only issue is that when I examine the callgrind.out files with kcachegrind all the function names in my executable are displayed as hex numbers, but those in other libraries (e.g. libc) are displayed as proper function names. I'm not sure if it's a problem with kcachegrind, my executable or callgrind itself. I just built the SVN version and run callgrind on the original problem. It's now working fine (without a failing assertion). The function names in kcachegrind (version 0.4.5) are mostly O.K. (only a few functions which are called before main are displayed as hex numbers). Ok, thanks. Callgrind gets the symbol names from the debug info reader of Valgrind core. So failing to do that on ARM is unrelated to this bug report (perhaps you are not using DWARF?). Closing. |