Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [rfa/doco] PROBLEMS: add regressions since gdb 6.0
@ 2004-03-17  1:53 Michael Elizabeth Chastain
  2004-03-17 16:13 ` Andrew Cagney
                   ` (4 more replies)
  0 siblings, 5 replies; 67+ messages in thread
From: Michael Elizabeth Chastain @ 2004-03-17  1:53 UTC (permalink / raw)
  To: eliz, gdb-patches

Here is an update for PROBLEMS.

I added all the regressions that I know about from gdb 6.0 to gdb 6.1.
I also added some section headers, "Regressions since gdb 6.0"
and "Regressions since gdb 5.3".

I would like to commit this to both gdb HEAD and gdb gdb_6_1-branch.

Okay to commit to HEAD?
Okay to commit to the branch?

Michael C

2004-03-16  Michael Chastain  <mec.gnu@mindspring.com>

	* PROBLEMS: Add section headers, "Regressions since gdb 6.0"
	and "Regressions since gdb 5.3.".  Add all the regressions
	I know about since gdb 6.0.

Index: PROBLEMS
===================================================================
RCS file: /cvs/src/src/gdb/PROBLEMS,v
retrieving revision 1.23
diff -u -c -3 -p -r1.23 PROBLEMS
*** PROBLEMS	29 Feb 2004 02:57:24 -0000	1.23
--- PROBLEMS	17 Mar 2004 01:50:08 -0000
*************** Fortunately the ARM target, in the GDB's
*** 23,28 ****
--- 23,52 ----
  updated so people encountering problems should consider downloading a
  more current GDB (http://www.gnu.org/software/gdb/current).
  
+ *** Regressions since gdb 6.0
+ 
+ gdb/826: variables in C++ namespaces have to be enclosed in quotes
+ 
+ When referring to a variable in C++ code that is inside a
+ namespace, you have to put it inside single quotes.
+ 
+ gdb/931: GDB could be more generous when reading types C++ templates on input
+ 
+ When the user types a template, GDB frequently requires the type to be
+ typed in a certain way (e.g. "const char*" as opposed to "const char *"
+ or "char const *" or "char const*").
+ 
+ gdb/1505: [regression] gdb prints a bad backtrace for a thread
+ 
+ When backtracing a thread, gdb doesn't stop until it hits garbage.
+ This is sensitive to the operating system and thread library.
+ 
+ gdb/1512: no canonical way to output names of C++ types
+ 
+ We currently don't have any canonical way to output names of C++ types.
+ E.g. "const char *" versus "char const *"; more subtleties aries when
+ dealing with templates.
+ 
  gdb/1516: [regression] local classes, gcc 2.95.3, dwarf-2
  
  With gcc 2.95.3 and the dwarf-2 debugging format, classes which are
*************** This applies only to classes where the c
*** 35,40 ****
--- 59,73 ----
  function, not to variables defined with types that are defined somewhere
  outside any function (which most types are).
  
+ gdb/1560: Control-C does not always interrupt GDB.
+ 
+ When GDB is busy processing a command which takes a long time to
+ complete, hitting Control-C does not have the expected effect.
+ The command execution is not aborted, and the "QUIT" message confirming
+ the abortion is displayed only after the command has been completed.
+ 
+ *** Regressions since gdb 5.3
+ 
  gdb/1091: Constructor breakpoints ignored
  gdb/1193: g++ 3.3 creates multiple constructors: gdb 5.3 can't set breakpoints
  
*************** implement virtual base classes.  gcc 2.x
*** 52,59 ****
  function with a hidden parameter, but gcc 3.x conforms to a multi-vendor
  ABI for C++ which requires multiple object code functions.
  
- gdb/1560: Control-C does not always interrupt GDB.
- When GDB is busy processing a command which takes a long time to
- complete, hitting Control-C does not have the expected effect.
- The command execution is not aborted, and the "QUIT" message confirming
- the abortion is displayed only after the command has been completed.
--- 85,87 ----


^ permalink raw reply	[flat|nested] 67+ messages in thread
* Re: [rfa/doco] PROBLEMS: add regressions since gdb 6.0
@ 2004-03-17 18:55 Michael Elizabeth Chastain
  2004-03-17 19:03 ` David Carlton
                   ` (2 more replies)
  0 siblings, 3 replies; 67+ messages in thread
From: Michael Elizabeth Chastain @ 2004-03-17 18:55 UTC (permalink / raw)
  To: carlton, mec.gnu; +Cc: eliz, gdb-patches

mec> gdb/826: variables in C++ namespaces have to be enclosed in quotes
mec> 
mec> When referring to a variable in C++ code that is inside a
mec> namespace, you have to put it inside single quotes.

dc> This is only true in rare circumstances, and it was always true in
dc> versions before 6.1!  So whatever it might be, it's not a regression.
dc> (Hmm: I should probably close that bug report, since it should largely
dc> be fixed by now.)

This test case works with gdb 6.0 and it does not work with gdb gdb-6_1-branch.

  # gdb 6.0, gcc 3.3.3, -gstabs+
  (gdb) print (ClassWithEnum::PrivEnum) 42
  $26 = yellow
  PASS: gdb.cp/classes.exp: print (ClassWithEnum::PrivEnum) 42

  # gdb gdb-6_1-branch, gcc 3.3.3, -gstabs+
  (gdb) print (ClassWithEnum::PrivEnum) 42
  A syntax error in expression, near `42'.
  KFAIL: gdb.cp/classes.exp: print (ClassWithEnum::PrivEnum) 42 (PRMS: gdb/826)

Actually, the word 'variable' is funny, because ClassWithEnum::PrivEnum
is a type, not a variable.  But that's what the test script calls this
problem.  And it's definitely a regression.

mec> gdb/931: GDB could be more generous when reading types C++
mec> templates on input
mec> 
mec> When the user types a template, GDB frequently requires the type to be
mec> typed in a certain way (e.g. "const char*" as opposed to "const char *"
mec> or "char const *" or "char const*").

dc> This also has always been the case.  It is the case that GDB's
dc> preferred form has, in some circumstances changed from 6.0 to 6.1, but
dc> GDB has always had a preferred form.

Yes, I know.  If a user has a gdb script which pre-sets a lot of
breakpoints with "break 'Foo<volatile char*>::foo", they have to change
their script with each release of gdb.  That's why I consider this a
regression, because it breaks user scripts.  The regression in the
test scripts is just an indicator that user scripts will break too.
But it was worth some more text here.

mec> gdb/1512: no canonical way to output names of C++ types
mec> 
mec> We currently don't have any canonical way to output names of C++ types.
mec> E.g. "const char *" versus "char const *"; more subtleties aries when
mec> dealing with templates.

dc> Again, this has always been the case - this isn't a regression.

This is more subtle.  gdb has scripted input, but how many people have
scripted output for gdb?

That is, when gdb changes its output from this:

  (gdb) ptype fvpchar
  type = class Foo<volatile char *> {

to this:

  (gdb) ptype fvpchar
  type = class Foo<char volatile *> {

Is that going to break a contract we have with the users?  Are there any
users that are going to be affected, such as front ends that are parsing
or gdb's output?

I'm inclined to say "yes", because we do consider the second form
a KFAIL.  If both output forms are okay then I think the test script
should test them both.  But I'm more flexible on this than I am on
*input* form, where anything that used to be accepted in 6.0 and
is no longer accepted in 6.1 is likely to break a user script.

Michael C


^ permalink raw reply	[flat|nested] 67+ messages in thread
* Re: [rfa/doco] PROBLEMS: add regressions since gdb 6.0
@ 2004-03-17 22:54 Michael Elizabeth Chastain
  2004-03-17 23:39 ` Andrew Cagney
  2004-03-19  0:09 ` Michael Elizabeth Chastain
  0 siblings, 2 replies; 67+ messages in thread
From: Michael Elizabeth Chastain @ 2004-03-17 22:54 UTC (permalink / raw)
  To: cagney, mec.gnu; +Cc: eliz, gdb-patches

> There are problems in all the releases, we don't list them.

The title of the file is "Known problems in GDB 6.1".
Indeed, I would like it to actually list all the known problems.
We just don't have the resources to do this yet.

> The objective here is to draw the users attention to places where gdb is 
> both better and worse than the _last_ release (6.0).  Not a sorry list 
> of problems dateing back to version 0.0.

NEWS dates back to version 0.0, so I think that PROBLEMS should as well.

Michael C


^ permalink raw reply	[flat|nested] 67+ messages in thread
* Re: [rfa/doco] PROBLEMS: add regressions since gdb 6.0
@ 2004-03-19  0:09 Michael Elizabeth Chastain
  2004-03-17 19:21 ` Michael Elizabeth Chastain
  0 siblings, 1 reply; 67+ messages in thread
From: Michael Elizabeth Chastain @ 2004-03-19  0:09 UTC (permalink / raw)
  To: carlton, eliz, mec.gnu; +Cc: gdb-patches

dc> These aren't regressions since 5.3: I know the first one has been
dc> around for a while, and the second one says that it occurs in 5.3
dc> its summary line!  :-)

Urgl.  That will teach me to write documentation just before going to bed.

You are right, 'Regressions since gdb 5.3' is a terrible section heading.

gdb/1091 'Constructor breakpoints ignored' and gdb/1193, 'g++ 3.3
creates multiple constructors: gdb 5.3 can't set breakpoints', are
really a regression in gdb's behavior from gcc 2.95.3 to gcc 3.0, not
from one gdb version to another gdb version.

Perhaps 'Problems related to recent versions of gcc'?

And then we could add doco about gdb/1537, 'anonymous union at function
scope, gcc 3.4' and gdb/1540, 'gcc gcc-3_4-branch emits DW_OP_piece but
gdb does not support it'.

Michael C


^ permalink raw reply	[flat|nested] 67+ messages in thread
* Re: [rfa/doco] PROBLEMS: add regressions since gdb 6.0
@ 2004-03-19  0:09 Michael Elizabeth Chastain
  2004-03-17 18:21 ` Michael Elizabeth Chastain
  2004-03-17 22:11 ` Andrew Cagney
  0 siblings, 2 replies; 67+ messages in thread
From: Michael Elizabeth Chastain @ 2004-03-19  0:09 UTC (permalink / raw)
  To: cagney, mec.gnu; +Cc: eliz, gdb-patches

> I don't think it should retain regressions since 5.3, the file is 
> stating problems in this release, not the last one.

These are still problems in this release.  They haven't been fixed.

Michael C


^ permalink raw reply	[flat|nested] 67+ messages in thread
* Re: [rfa/doco] PROBLEMS: add regressions since gdb 6.0
@ 2004-03-19  0:09 Michael Elizabeth Chastain
  2004-03-18 16:23 ` Michael Elizabeth Chastain
                   ` (2 more replies)
  0 siblings, 3 replies; 67+ messages in thread
From: Michael Elizabeth Chastain @ 2004-03-19  0:09 UTC (permalink / raw)
  To: cagney, eliz; +Cc: gdb-patches, mec.gnu

ac> Er, we already have a repostory of known bugs, it's called the bug 
ac> database.  Why duplicate the content and tracking effort?

Because it works.

The actual part of PROBLEMS that you're objecting to is the paragraphs
which talk about setting breakpoints in constructors in C++ code.
This doesn't work with gcc v3 because gcc v3 emits multiple copies
of the object code, and gdb sets the breakpoint in just one of them.

Before PROBLEMS talked about this, we got several reports per month
about this issue.  Now we don't get any.  And for each user that takes
the trouble to e-mail us, there are many more users who run into the
issue and appreciate having a short description of it.

I think we should keep that part of PROBLEMS as long as gdb has this
problem.

Also, the PR database does not track user-visible bugs.  It has
numerous maintainance entries which do not impact the user at all.

> PROBLEMS should draw the users attention to late breaking and immediate 
> issues that will hurt them (gdb doesn't build, this broke going from the 
> previous release).

Sure.  To me, that means every regression from previous releases,
plus bugs that are likely to be important to a large part of the
user population.

> A bug already present in the previous release _isn't_ new news.

Some of those bugs are important to users, though.

Michael C


^ permalink raw reply	[flat|nested] 67+ messages in thread
* Re: [rfa/doco] PROBLEMS: add regressions since gdb 6.0
@ 2004-03-19  0:09 Michael Elizabeth Chastain
  2004-03-17  6:58 ` Michael Elizabeth Chastain
  0 siblings, 1 reply; 67+ messages in thread
From: Michael Elizabeth Chastain @ 2004-03-19  0:09 UTC (permalink / raw)
  To: eliz; +Cc: gdb-patches

> The last sentence should probably say "Add known regressions since
> gdb 6.0."  ``regressions I know about'' is not something that should
> be in a ChangeLog; it goes without saying that ``known'' means
> ``known to the person who makes the change.''

I'll be happy to do it your way, although I like it better when
statements have explicit subjects.

> A typo.

Oops.  Thanks.

IACTN,

Michael C

===

2004-03-16  Michael Chastain  <mec.gnu@mindspring.com>

        * PROBLEMS: Add section headers, "Regressions since gdb 6.0"
        and "Regressions since gdb 5.3.".  Add known regressions since
        gdb 6.0.



^ permalink raw reply	[flat|nested] 67+ messages in thread
* Re: [rfa/doco] PROBLEMS: add regressions since gdb 6.0
@ 2004-03-19  0:09 Michael Elizabeth Chastain
  2004-03-17 19:30 ` Michael Elizabeth Chastain
  2004-03-17 19:48 ` David Carlton
  0 siblings, 2 replies; 67+ messages in thread
From: Michael Elizabeth Chastain @ 2004-03-19  0:09 UTC (permalink / raw)
  To: carlton, mec.gnu; +Cc: eliz, gdb-patches

> I don't think that looking for KFAILs is a good way to identify
> whether or not a specific PR is a regression.

That's why I quoted the script's input and gdb's output.
It's pretty clear that something simple and useful worked
in gdb 6.0 and does not work in gdb 6.1.  Some of the local.exp
results are a real pain in this regard.

> In this particular instance, if you go to your table comparing 6.0 suite
> HEAD to 6.1 suite HEAD and, for example, look at the third column (GCC
> 3.3.3, DWARF-2), you'll see a whole bunch of FAIL=>PASS transitions.

That's true.

> So I think the testsuite regression=>PR+description transition should
> involve some more steps - the corresponding PR may be much broader
> than the particular testsuite regression, and some of those broader
> areas may involve situations where GDB has improved rather than
> regressed.

My first impulse is to pop open a more narrow, more accurate PR
for "print (ClassWithEnum::PrivEnum) 42".  What do you think?

I agree with you; there is a step where we have to translate
PR gdb/NNNN into text for PROBLEMS.  The text in PROBLEMS has to
be accurate, and I want it to actually cover all the regression
problems that we know about.  And it's also better if it's narrow,
because the more narrow it is, the more users can say "okay, THAT
bug does not affect me, I can upgrade".

(I think regressions are special compared to regular bugs because
if someone is using gdb 5.3 or gdb 6.0, and they are considering
upgrading to gdb 6.1, then the new regressions are the bugs that are
most important to them).

Michael C


^ permalink raw reply	[flat|nested] 67+ messages in thread
* Re: [rfa/doco] PROBLEMS: add regressions since gdb 6.0
@ 2004-03-19  0:09 Michael Elizabeth Chastain
  2004-03-17 20:15 ` Michael Elizabeth Chastain
  0 siblings, 1 reply; 67+ messages in thread
From: Michael Elizabeth Chastain @ 2004-03-19  0:09 UTC (permalink / raw)
  To: carlton, mec.gnu; +Cc: eliz, gdb-patches

Yes, I too wish there was a list of PR's fixed.

I don't think it's all that helpful to the users.  As a user of *gcc*,
I look at their list of PR's fixed, and I say "yeah okay cool", and
then I run my own before+after spin anyways.  But as a tester of gdb,
I enjoy looking at my "compare by gdb" tables and seeing all the
FAIL->PASS transititions.

> Of course, it helps that GCC has several people who try to make sure
> that their bug database is as up to date as possible and organized in
> such a way as to make it easy to figure out this information.

Our bug database has several deficiencies.  It's hard to make
attachments (bugzilla is much easier).  We ask for fields that are
not important, like "severity", and do not ask for information that
is critical, like "what compiler are you using".  We need a page that
says "here is the Unix 'script' command, please attach a typescript
with your bug report".  And then there's all that nifty milestone
stuff.

> Whereas you're the only person seriously looking at the GDB bug database,
> and you're also focused (perhaps more focused) on regression testing.

Mark K and Andrew C and Daniel J and David C spend a lot of time
in there too.

Michael C


^ permalink raw reply	[flat|nested] 67+ messages in thread

end of thread, other threads:[~2004-03-20 15:38 UTC | newest]

Thread overview: 67+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-03-17  1:53 [rfa/doco] PROBLEMS: add regressions since gdb 6.0 Michael Elizabeth Chastain
2004-03-17 16:13 ` Andrew Cagney
2004-03-19  0:09   ` Andrew Cagney
2004-03-17 17:05 ` David Carlton
2004-03-19  0:09   ` David Carlton
2004-03-19  0:09 ` David Carlton
2004-03-17 17:19   ` David Carlton
2004-03-19  0:09   ` Eli Zaretskii
2004-03-17 19:07     ` Eli Zaretskii
2004-03-19  0:09     ` David Carlton
2004-03-17 19:18       ` David Carlton
2004-03-19  0:09     ` Andrew Cagney
2004-03-17 22:11       ` Andrew Cagney
2004-03-19  0:09       ` Eli Zaretskii
2004-03-18  6:11         ` Eli Zaretskii
2004-03-18 16:36         ` Daniel Jacobowitz
2004-03-19  0:09           ` Eli Zaretskii
2004-03-18 16:55             ` Eli Zaretskii
2004-03-19  0:09           ` Daniel Jacobowitz
2004-03-19  0:09           ` Andrew Cagney
2004-03-19  0:25             ` Daniel Jacobowitz
2004-03-19  0:09 ` Michael Elizabeth Chastain
2004-03-19  0:09 ` Eli Zaretskii
2004-03-17  6:16   ` Eli Zaretskii
2004-03-17 18:55 Michael Elizabeth Chastain
2004-03-17 19:03 ` David Carlton
2004-03-19  0:09   ` David Carlton
2004-03-19  0:09 ` David Carlton
2004-03-17 19:16   ` David Carlton
2004-03-19  0:09 ` Michael Elizabeth Chastain
2004-03-17 22:54 Michael Elizabeth Chastain
2004-03-17 23:39 ` Andrew Cagney
2004-03-18  6:16   ` Eli Zaretskii
2004-03-18 16:05     ` Andrew Cagney
2004-03-18 16:52       ` Eli Zaretskii
2004-03-19  0:09         ` Eli Zaretskii
2004-03-19  0:09       ` Andrew Cagney
2004-03-19  0:09     ` Eli Zaretskii
2004-03-19  0:09   ` Andrew Cagney
2004-03-19  0:09 ` Michael Elizabeth Chastain
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17 19:21 ` Michael Elizabeth Chastain
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17 18:21 ` Michael Elizabeth Chastain
2004-03-17 22:11 ` Andrew Cagney
2004-03-19  0:09   ` Andrew Cagney
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-18 16:23 ` Michael Elizabeth Chastain
2004-03-19  0:09 ` David Carlton
2004-03-18 16:45   ` David Carlton
2004-03-19  0:09 ` Andrew Cagney
2004-03-19  0:27   ` Daniel Jacobowitz
2004-03-19 14:56     ` Eli Zaretskii
2004-03-19 15:03     ` Andrew Cagney
2004-03-19 15:33       ` Eli Zaretskii
2004-03-19 15:54         ` Andrew Cagney
2004-03-20 15:38           ` Eli Zaretskii
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17  6:58 ` Michael Elizabeth Chastain
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17 19:30 ` Michael Elizabeth Chastain
2004-03-17 19:48 ` David Carlton
2004-03-19  0:09   ` David Carlton
2004-03-19  0:09   ` Eli Zaretskii
2004-03-18  6:06     ` Eli Zaretskii
2004-03-19  0:09 Michael Elizabeth Chastain
2004-03-17 20:15 ` Michael Elizabeth Chastain

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox