Download raw body.
Update to gdb-13.2 - tests wanted
On Fri, 8 Nov 2024 14:03:17 +0100
Jeremie Courreges-Anglas <jca@wxcvbn.org> wrote:
> I can't infer from gkoehler's report and yours whether 32 bits powerpc
> support is fine.
It was fine until I tried switching threads. gdb-13.2 on powerpc gets
registers from only the 1st thread, so thread switches have the wrong
registers and backtrace. A fix might be to change
regcache->ptid ().pid()
to
get_ptrace_pid (regcache->ptid ())
to match other archs, which I will try later, when I have a few hours
to rebuild gdb.
On powerpc64, gdb-13.2 refusing to run programs or load core dumps was
a regression from 9.2. I have edited my ppc64-obsd-*.c and my 13.2 now
works about as well as 9.2, so I will mail my patches later.
The attached thregv.c reads a NULL pointer in another thread.
$ cc -g -o thregv thregv.c -lpthread
$ egdb thregv
(gdb) run
It should switch to the thread that "received signal SIGSEGV". The
thread should be "at thregv.c:11". Commands like "info thr", "thr 1",
"thr 2" should show them in different functions.
#include <pthread.h>
#include <stdio.h>
/* Will be NULL. */
int *ip;
/* Will read NULL. */
void *
other(void *arg)
{
printf("%d\n", *ip);
return NULL;
}
/* Will read NULL in another thread. */
int
main(void)
{
pthread_t t;
pthread_create(&t, NULL, other, NULL);
pthread_join(t, NULL);
}
Update to gdb-13.2 - tests wanted