From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32721 invoked by alias); 30 Apr 2003 05:16:01 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 32700 invoked by uid 71); 30 Apr 2003 05:16:01 -0000 Resent-Date: 30 Apr 2003 05:16:01 -0000 Resent-Message-ID: <20030430051601.32699.qmail@sources.redhat.com> Resent-From: gcc-gnats@gcc.gnu.org (GNATS Filer) Resent-Cc: gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org Resent-Reply-To: gcc-gnats@gcc.gnu.org, potterveld@anl.gov Received: (qmail 32318 invoked by uid 48); 30 Apr 2003 05:14:24 -0000 Message-Id: <20030430051424.32317.qmail@sources.redhat.com> Date: Wed, 30 Apr 2003 05:16:00 -0000 From: potterveld@anl.gov Reply-To: potterveld@anl.gov To: gcc-gnats@gcc.gnu.org X-Send-Pr-Version: gnatsweb-2.9.3 (1.1.1.1.2.31) Subject: debug/10561: g77/gdb incorrectly maps variables in fortran common block X-SW-Source: 2003-04/txt/msg01431.txt.bz2 List-Id: >Number: 10561 >Category: debug >Synopsis: g77/gdb incorrectly maps variables in fortran common block >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: sw-bug >Submitter-Id: net >Arrival-Date: Wed Apr 30 05:16:01 UTC 2003 >Closed-Date: >Last-Modified: >Originator: David Potterveld >Release: gcc: 3.2,3, gdb: 5.3 >Organization: >Environment: HP/Compaq/Dec Alpha, Tru64 unix 4.0f (aka OSF/1) >Description: gdb can't print variables in common. It appears to try reading a low memory address related to the variable offset in the common, ie, the offset to the start of the common is neglected. Sample program: program xxx common /x/ a,b a = 47 b = 2 end compile with "g77 -g -O0 -o xxx xxx.f" debug with: "gdb xxx" gdb commands: [ Output:] ------------------------------------------------------ break MAIN__ run step step print a [Error accessing memory address 0x8: Invalid argument.] print &a [$1 = (PTR TO -> ( real*4 )) 0x8] print &x_ [$2 = (PTR TO -> ( char (0:7))) 0x1400001d0] print (real) x_ [$3 = 47] Clearly, gdb is aware of variable "a", but has the wrong address for it. >How-To-Repeat: >Fix: >Release-Note: >Audit-Trail: >Unformatted: