Hello Javier, Nico Golde was so kind to investigate the segfault problem with cheops-ng. He found the solution and provided a patch for the file probe.c .
As the program runs on a 32 bit computer without the patch this is indeed a plattform specific issue. A big thank you goes to Nico for his excellent work. With the patch applied the program ran without any problems. The patch file is attached. Best regards, Adolf
--- cheops-ng-0.2.3/probe.c 2005-10-17 22:49:42.000000000 +0200 +++ probe.c 2007-02-17 13:46:45.000000000 +0100 @@ -92,27 +92,27 @@ void get_probe_each(gpointer data, gpointer user_data) { - u32 *args = (u32 *)user_data; - u32 port = args[0]; + u64 *args = (u64 *)user_data; + u64 port = args[0]; struct probe *p = (struct probe *)data; struct probe **pp = (struct probe **)args[1]; -// DEBUG(printf("%s()\n", __FUNCTION__)); - if(*pp == NULL) + DEBUG(printf("%s()\n", __FUNCTION__)); + if(pp && *pp == NULL) { - if( p->port == (u16)port) + if(p->port == (u16)port) *pp = p; } } struct probe *get_probe(unsigned short port) { - u32 args[2]; + u64 args[2]; struct probe *p = NULL; - DEBUG(printf("%s()\n", __FUNCTION__)); + //DEBUG(printf("%s()\n", __FUNCTION__)); args[0] = port; - args[1] = (u32)&p; + args[1] = (u64)&p; g_list_foreach(probes, get_probe_each, args);