[M3devel] SIG64 from gdb (was still errors with cm3-min-POSIX-LINUXLIBC6-d5.5.1-2008-01-24-03-35-01)
Rodney M. Bates
rodney.bates at wichita.edu
Fri Jan 25 02:33:15 CET 2008
See embedded comments at end:
Neels Janosch Hofmeyr wrote:
> Using the
> cm3-min-POSIX-LINUXLIBC6-d5.5.1-2008-01-24-03-35-01.tgz
> in conjunction with the 5.4.0 source tarballs, I get, :
>
... snip ...
> $ cm3 -version
> Critical Mass Modula-3 version d5.5.1-2008-01-24-03-35-01
> last updated: 2007-12-30
> compiled: 2008-01-24 03:54:37
> configuration: /usr/local/cm3/bin/cm3.cfg
> (gdb) c
> Continuing.
>
> Program received signal SIG64, Real-time event 64.
> 0xffffe410 in __kernel_vsyscall ()
> (gdb) c
> Continuing.
> --- building in LINUXLIBC6 ---
>
> ignoring ../src/m3overrides
>
>
> Program received signal SIG64, Real-time event 64.
> 0xffffe410 in __kernel_vsyscall ()
> (gdb) c
> Continuing.
This is secondary to the original problem, but the SIG64 stops
are false stops in gdb. In the phtreads implementation, SIG64
is used internally as a normal event, and you don't want gdb to
stop there. (Unless, maybe, you're debugging the use of SIG64 :-) )
To prevent this happening in gdb, type:
handle SIG64 nostop noprint pass
I checked in an update to m3gdb around Oct. 8, that makes m3gdb
adopt this behavior by default, when debugging a program that
uses pthreads. From the checkin log text:
6) When PThreads are used, automatically set m3gdb to silently pass SIG64
to the program. Otherwise, this also would cause false stops.
--
-------------------------------------------------------------
Rodney M. Bates, retired assistant professor
Dept. of Computer Science, Wichita State University
Wichita, KS 67260-0083
316-978-3922
rodney.bates at wichita.edu
More information about the M3devel
mailing list