From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1751 invoked by alias); 25 Jan 2006 19:42:07 -0000 Received: (qmail 1742 invoked by uid 22791); 25 Jan 2006 19:42:07 -0000 X-Spam-Check-By: sourceware.org Received: from e3.ny.us.ibm.com (HELO e3.ny.us.ibm.com) (32.97.182.143) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 25 Jan 2006 19:42:06 +0000 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e3.ny.us.ibm.com (8.12.11/8.12.11) with ESMTP id k0PJg2hU017393 for ; Wed, 25 Jan 2006 14:42:02 -0500 Received: from d01av04.pok.ibm.com (d01av04.pok.ibm.com [9.56.224.64]) by d01relay04.pok.ibm.com (8.12.10/NCO/VERS6.8) with ESMTP id k0PJg11w136348 for ; Wed, 25 Jan 2006 14:42:02 -0500 Received: from d01av04.pok.ibm.com (loopback [127.0.0.1]) by d01av04.pok.ibm.com (8.12.11/8.13.3) with ESMTP id k0PJg1jN015726 for ; Wed, 25 Jan 2006 14:42:01 -0500 Received: from dufur.beaverton.ibm.com (dufur.beaverton.ibm.com [9.47.22.20]) by d01av04.pok.ibm.com (8.12.11/8.12.11) with ESMTP id k0PJg0uQ015340 for ; Wed, 25 Jan 2006 14:42:01 -0500 Subject: strange dereferencing behavior in gdb expressions From: PAUL GILLIAM Reply-To: pgilliam@us.ibm.com To: gdb@sources.redhat.com Content-Type: text/plain Date: Wed, 25 Jan 2006 20:00:00 -0000 Message-Id: <1138218150.1423.36.camel@dufur.beaverton.ibm.com> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-01/txt/msg00254.txt.bz2 This seems inconsistent: GDB says it can't access memory at an address, but when given that address explicitly, it works fine. GDB was configured like this: CC='gcc -m64' ../src/configure (i.e. GDB is a 64-bit application) The target application is a 32-bit 'C' program. (gdb) show version GNU gdb 6.4.50.20060124-cvs ... This GDB was configured as "powerpc64-unknown-linux-gnu". (gdb) p/x *(*(0xffffc4a0)+4) Cannot access memory at address 0xffffc504 (gdb) p/x *(int*)((*(int*)0xffffc4a0)+4) $42 = 0xfd7e67c (gdb) p/x *(0xffffc4a0)+4 $43 = 0xffffc504 (gdb) p/x *($43) Cannot access memory at address 0xffffc504 (gdb) p/x *(0xffffc504) $44 = 0xfd7e67c (gdb) Anyone what to hazard a guess as to what is going on? Another clue: When GDB is configured like this: ../src/configure (i.e. GDB is a 32-bitapplication), we get this: (gdb) p/x *(*(0xffffc4a0)+4) $5 = 0xfd7e67c (gdb)