Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
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)


  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