Hi, Building HEAD on a native gdb on sparc solaris 9 with gcc 3.4.6 stops due to: gcc -c -g -O2 -I. -I../../src/gdb -I../../src/gdb/config -DLOCALEDIR="\"/usr/local/share/locale\"" -DHAVE_CONFIG_H -I../../src/gdb/../include/opcode -I../../src/gdb/../readline/.. -I../bfd -I../../src/gdb/../bfd -I../../src/gdb/../include -I./../intl -DMI_OUT=1 -DTUI=1 -I/usr/local/include -Wall -Wdeclaration-after-statement -Wpointer-arith -Wformat-nonliteral -Wno-unused -Wno-switch -Wno-char-subscripts -Werror ../../src/gdb/sol-thread.c ../../src/gdb/sol-thread.c: In function `sol_thread_fetch_registers': ../../src/gdb/sol-thread.c:533: warning: dereferencing type-punned pointer will break strict-aliasing rules make: *** [sol-thread.o] Error 1 gcc -v Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.9/3.4.6/specs Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77 Thread model: posix gcc version 3.4.6 uname -a SunOS ol154 5.9 Generic_117171-13 sun4u sparc SUNW,Sun-Fire-480R Solaris The attached patch gets me going. config/sparc/nm-sol2.h has these, so it looks safe on sparc: #define GDB_GREGSET_T prgregset_t #define GDB_FPREGSET_T prfpregset_t Here's a simplified preprocessed output of sol-thread.c: typedef prgregset_t gdb_gregset_t; typedef prfpregset_t gdb_fpregset_t; extern void supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregs); extern void supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregs); static void sol_thread_fetch_registers (struct regcache *regcache, int regnum) { prgregset_t gregset; prfpregset_t fpregset; supply_gregset (regcache, (const gdb_gregset_t *) &gregset); supply_fpregset (regcache, (const gdb_fpregset_t *) &fpregset); } But I'm not sure it's correct, since the i386 sparc config files don't set GDB_{G|FP}REGSET, so they should be defaulting to: gregset.h: #ifndef GDB_GREGSET_T #define GDB_GREGSET_T gregset_t #endif #ifndef GDB_FPREGSET_T #define GDB_FPREGSET_T fpregset_t #endif I ran the testsuite on it, and this is what I got: === gdb Summary === # of expected passes 10898 # of unexpected failures 81 # of unexpected successes 2 # of expected failures 47 # of known failures 42 # of unresolved testcases 3 # of untested testcases 8 # of unsupported tests 25