From: Jim Blandy <jimb@redhat.com>
To: David Lecomber <david@streamline-computing.com>
Cc: patches <gdb-patches@sources.redhat.com>
Subject: Re: [PATCH/RFA] PR gdb/648 (eval.c approval reqd)
Date: Fri, 27 Aug 2004 00:00:00 -0000 [thread overview]
Message-ID: <vt23c294fjg.fsf@zenia.home> (raw)
In-Reply-To: <1093009988.5529.40.camel@cpc4-oxfd5-5-0-cust12.oxfd.cable.ntl.com>
In your original post, you said, "G77 puts things in row-major order".
It looks to me as if G77 puts the *types* in row-major order (contrary
to the Dwarf spec, which wants them in the order they appear in source
code), but it locates the actual arrays in memory in column-major
order:
(gdb) b arrays.f:45
Breakpoint 1 at 0x8048769: file arrays.f, line 45.
(gdb) r
Starting program: /rigel/jimb/gdb/bugs/648/arrays
Breakpoint 1, MAIN__ () at arrays.f:46
46 call oneif(onedi)
Current language: auto; currently fortran
(gdb) x/40wd &twodi
0xbfffe600: 1 2 3 4
0xbfffe610: 5 6 7 8
0xbfffe620: 9 10 11 12
0xbfffe630: 13 14 15 16
0xbfffe640: 17 18 19 20
0xbfffe650: 2 4 6 8
0xbfffe660: 10 12 14 16
0xbfffe670: 18 20 22 24
0xbfffe680: 26 28 30 32
0xbfffe690: 34 36 38 40
(gdb) ptype twodi
type = integer (20,10)
(gdb)
This shows that varying the leftmost index yields the smallest change
in element address, which is column-major. So the arrays are actually
laid out correctly; it's just the types in the Dwarf 2 info that are
wrong.
If that's all correct, then this patch is approved.
It seems to me that there's a separate bug in f-valprint.c. The
output below is incorrect, right? It's printed as a series of
columns, not a series of rows. Or is that what users of a Fortran
debugger would expect?
(gdb) p twodi
$1 = (( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,
19, 20) ( 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32,
34, 36, 38, 40) ( 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42,
45, 48, 51, 54, 57, 60) ( 4, 8, 12, 16, 20, 24, 28, 32, 36, 40, 44,
48, 52, 56, 60, 64, 68, 72, 76, 80) ( 5, 10, 15, 20, 25, 30, 35, 40,
45, 50, 55, 60, 65, 70, 75, 80, 85, 90, 95, 100) ( 6, 12, 18, 24, 30,
36, 42, 48, 54, 60, 66, 72, 78, 84, 90, 96, 102, 108, 114, 120) ( 7,
14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84, 91, 98, 105, 112, 119,
126, 133, 140) ( 8, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96, 104,
112, 120, 128, 136, 144, 152, 160) ( 9, 18, 27, 36, 45, 54, 63, 72,
81, 90, 99, 108, 117, 126, 135, 144, 153, 162, 171, 180) ( 10, 20, 30,
40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180,
190, 200) )
(gdb)
next prev parent reply other threads:[~2004-08-27 0:00 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-06 22:10 [PATCH/RFA] PR gdb/648 David Lecomber
2004-08-13 10:25 ` David Lecomber
2004-08-13 10:32 ` Michael Chastain
2004-08-13 22:14 ` Jim Blandy
2004-08-16 12:33 ` David Lecomber
2004-08-16 12:38 ` David Lecomber
2004-08-18 16:36 ` Jim Blandy
2004-08-20 13:37 ` [PATCH/RFA] PR gdb/648 (eval.c approval reqd) David Lecomber
2004-08-20 13:45 ` David Lecomber
2004-08-25 5:53 ` Jim Blandy
2004-08-25 7:24 ` David Lecomber
2004-08-27 0:00 ` Jim Blandy [this message]
2004-08-27 9:15 ` David Lecomber
2004-08-27 13:52 ` Andrew Cagney
2004-08-27 13:58 ` Michael Chastain
2004-08-27 14:14 ` Andrew Cagney
2004-08-27 14:57 ` Michael Chastain
2004-08-27 15:57 ` Andrew Cagney
2004-08-27 16:15 ` Michael Chastain
2004-08-30 14:17 ` Andrew Cagney
2004-08-23 19:26 ` [PATCH/RFA] PR gdb/648 Andrew Cagney
2004-08-24 18:03 ` Jim Blandy
2004-08-15 8:19 ` Michael Chastain
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=vt23c294fjg.fsf@zenia.home \
--to=jimb@redhat.com \
--cc=david@streamline-computing.com \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox