[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