I have been testing this issue further in a unstable chroot (at vore). This
bug reproduces in gcc-2.95, gcc-3.2 and gcc-3.3 in unstable. Running it
through a debugger:
------------------------------------------------------------------------
GNU gdb 6.1-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
(...)
This GDB was configured as "sparc-linux"...Using host libthread_db library "/lib/libthread_db.so.1".
(gdb) run 1
Starting program: /home/jfs/john/john-1.6/src/bench 1
Benchmarking: Standard DES [24/32 128K]...
Program received signal SIGSEGV, Segmentation fault.
0x7005cf98 in __errno_location () from /lib/libc.so.6
(gdb) bt
#0 0x7005cf98 in __errno_location () from /lib/libc.so.6
#1 0x70072dc0 in __libc_sigaction () from /lib/libc.so.6
#2 0x70072ff4 in sigaction () from /lib/libc.so.6
#3 0x70072ce0 in ssignal () from /lib/libc.so.6
#4 0x0001aba0 in benchmark_format (format=0x2e040, salts=256,
results=0xeffffcb8) at bench.c:100
#5 0x0001af9c in main (argc=1, argv=0x32400) at best.c:53
------------------------------------------------------------------------
Bench.c (line 100) just does
signal(SIGALRM, bench_handle_timer);
If the signal call is removed it will not segfault (but will not run
properly either):
Benchmarking: Standard DES [24/32 128K]... Alarm clock
Christian hast said (in IRC) that it seems that the devel branch will not
compile properly on Sparc. I have succesfully tested a built on Solaris
over Sparc, so there seems to be an issue with the linux-specific code. I'm
not sure where the default resides (maybe libc6?). I would suggest that
this bug was reassigned to libc6 and that sparc support for john was
dropped (but this bug left open) until the issue is fixed.
I have been testing this issue further in a unstable chroot (at vore). This
bug reproduces in gcc-2.95, gcc-3.2 and gcc-3.3 in unstable. Running it
through a debugger:
------- ------- ------- ------- ------- ------- ------- ------- ------- ------- -- linux". ..Using host libthread_db library "/lib/libthread _db.so. 1". john/john- 1.6/src/ bench 1 0xeffffcb8) at bench.c:100 ------- ------- ------- ------- ------- ------- ------- ------- ------- --
GNU gdb 6.1-debian
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
(...)
This GDB was configured as "sparc-
(gdb) run 1
Starting program: /home/jfs/
Benchmarking: Standard DES [24/32 128K]...
Program received signal SIGSEGV, Segmentation fault.
0x7005cf98 in __errno_location () from /lib/libc.so.6
(gdb) bt
#0 0x7005cf98 in __errno_location () from /lib/libc.so.6
#1 0x70072dc0 in __libc_sigaction () from /lib/libc.so.6
#2 0x70072ff4 in sigaction () from /lib/libc.so.6
#3 0x70072ce0 in ssignal () from /lib/libc.so.6
#4 0x0001aba0 in benchmark_format (format=0x2e040, salts=256,
results=
#5 0x0001af9c in main (argc=1, argv=0x32400) at best.c:53
-------
Bench.c (line 100) just does
If the signal call is removed it will not segfault (but will not run
properly either):
Benchmarking: Standard DES [24/32 128K]... Alarm clock
Christian hast said (in IRC) that it seems that the devel branch will not
compile properly on Sparc. I have succesfully tested a built on Solaris
over Sparc, so there seems to be an issue with the linux-specific code. I'm
not sure where the default resides (maybe libc6?). I would suggest that
this bug was reassigned to libc6 and that sparc support for john was
dropped (but this bug left open) until the issue is fixed.
Regards
Javier