Hi, Bug 567 complains that when you build gdb for sparc-sun-solaris2.8 as a 64-bit program, then when you use it to debug a 32-bit program things happen like: (gdb) p d1 Cannot access memory at address 0xffbef7a0 (gdb) x/fg &d1 0xffbef7a0: 3.2999999999999998 (Actually 567 shows the wrong value being printed to x/fg, but this seems to be fixed at gcc-3.2 / gdb 5.2.1). It turns out that you can't "p" any kind of variable: the problem isn't limited to double. The problem seemed to me that 32-bit negative stack offsets became +ve 64-bit quantities. This would give a 33-bit address (the wanted address with an extra "1" on the left). Ideally, I think gdb should just mask off the extra bit when debugging 32-bit code. But I couldn't figure out how to do that, so the attached patch sign-extends symbol values as they are read in. GCC 3.2 configuration: /tmp/gcc-3.2/configure --prefix=/usr/local/gcc-3.2 GDB 5.2.1 configuration PATH=/usr/local/gcc-3.2/bin:$PATH export PATH CC="gcc -m64" export CC CFLAGS="-g -O2" export CFLAGS ./configure --prefix=/usr/local/solaris2.8_64 You need to put "-m64" in CC rather than CFLAGS else "make install" fails when trying to build "chew". This has the unfortunate side-effect that "make check" also uses "gcc -m64", i.e. it never exercises "gcc" which would build a 32-bit program. Cheers ... Duncan.