From: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
To: "'Doug Evans'" <dje@google.com>
Cc: "'Pedro Alves'" <palves@redhat.com>,
"'gdb-patches'" <gdb-patches@sourceware.org>
Subject: [RFA PATCH 2/3 V2] Add "class" option for pascal compiler
Date: Wed, 14 Jan 2015 15:04:00 -0000 [thread overview]
Message-ID: <000301d0300b$65acc7a0$310656e0$@muller@ics-cnrs.unistra.fr> (raw)
In-Reply-To: <CADPb22TC0Ftf59jM388FSdF7L8jz-Oav3PYYrq5N8KYVU8Z_uQ@mail.gmail.com>
> -----Message d'origine-----
> De : gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Doug Evans
> Envoyé : samedi 10 janvier 2015 22:23
> À : Pierre Muller
> Cc : Pedro Alves; gdb-patches
> Objet : Re: [RFA PATCH 2/3] Add debug-stabs debug-dwarf and class
> option for pascal compiler
>
> On Fri, Jan 9, 2015 at 4:55 PM, Pierre Muller
> <pierre.muller@ics-cnrs.unistra.fr> wrote:
> >> Hi.
> >> This patch makes me uncomfortable.
> >> It's to a pascal specific file, so at least the discomfort is
> contained
> >> :-),
> >> but I wouldn't want this spreading.
> >>
> >> How to select debug information should be
> >> orthogonal to compilation language,
> >> and there are a myriad of ways to select what kind of dwarf debug
> info
> >> to get (with/without type units, with/without .gdb_index,
> with/without
> >> dwz, and so on). I have board files to help me drive the various
> >> combinations I'm interested in. This won't work if gdb.pascal/*
> >> starts hardcoding debug info into the test.
> >>
> >> Maybe there's a good reason to do it this way for pascal,
> >> but I need more data.
> >
> > Hi Doug, the reasons of this patch are:
> >
> > 1) the particular problem that the series fixes is strictly limited
> > to stabs debugging information.
> >
> > Thus to really test that this bug has been fixed, I need to compile
> > the test code using stabs debugging format (which I now realize
> > I did not do in the third part of the patch series).
> >
> > 2) the pascal language support tries to support both
> > GNU pascal compiler (aka GPC) and Free Pascal Compiler (aka FPC).
> >
> > These two compilers have very different options,
> > so the submitted patch purpose is to unify the selection of stabs
> versus dwarf
> > debug format independently from the used pascal compiler.
> >
> > For other pascal tests, only debug is used, which results in the
> default
> > format according to the target architecture and operating system.
> >
> > I hope that the explanations above are sufficient to ease your
> discomfort.
>
> Yeah, I figured those are the reasons, but I dunno.
> We're inventing something new here when existing mechanisms
> can already handle this.
>
> One *could* have the test be debug-format agnostic,
> and to test with stabs just do
> make check RUNTESTFLAGS=--target_board=stabs
>
> If you're using stabs you'll want to run the whole testsuite with stabs
> anyway.
>
> Plus if a compiler has a different spelling for -gstabs, one could
> have another board file for that compiler: you'll want to run the
> whole testsuite
> with that compiler anyway.
>
> make check RUNTESTFLAGS="gdb.pascal/*.exp --target_board=fpc-stabs"
>
> or some such.
>
> Obviously, by "whole testsuite" I mean the pascal parts.
> So that raises a question that may help guide the discussion.
> When testing with fpc, how do you run the testsuite?
> Do you just run the pascal subset, gdb.pascal/*.exp?
> Or do you run the WHOLE testsuite (i.e., gdb.*/*.exp),
> e.g., just a plain "make check"
> and expect the test harness to pick up fpc and DTRT.
> How do other languages handle this I wonder.
>
> I'm not totally opposed to this (I don't like to say "No."),
> but I'm still uncomfortable with the patch.
OK,
so let's do it that way:
I removed the part you are uncomfortable with
and simplify the part 2 to only add the new "class" option,
see updated patch below.
I can always resubmit this later
if I really feel that it is useful,
but I admit that your point about the default
debug mode is valid.
Is the modified patch series
OK for you?
Pierre Muller
as pascal language maintainer
gdb/testsuite ChangeLog entry:
2015-01-14 Pierre Muller <muller@soureware.org>
* lib/pascal.exp (gpc_compile): Add new option "class".
(fpc_compile): Likewise.
---
gdb/testsuite/lib/pascal.exp | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/gdb/testsuite/lib/pascal.exp b/gdb/testsuite/lib/pascal.exp
index 994e3da..7b8b0e0 100644
--- a/gdb/testsuite/lib/pascal.exp
+++ b/gdb/testsuite/lib/pascal.exp
@@ -91,6 +91,13 @@ proc gpc_compile {source dest type options} {
append add_flags " -g"
}
}
+ if { $i == "class" } {
+ if [board_info $dest exists pascal_class_flags] {
+ append add_flags " [board_info $dest pscal_class_flags]"
+ } else {
+ append add_flags " --extended-syntax"
+ }
+ }
}
set result [remote_exec host $gpc_compiler "-o $dest --automake $add_flags $source"]
@@ -120,6 +127,13 @@ proc fpc_compile {source dest type options} {
append add_flags " -g"
}
}
+ if { $i == "class" } {
+ if [board_info $dest exists pascal_class_flags] {
+ append add_flags " [board_info $dest pscal_class_flags]"
+ } else {
+ append add_flags " -Mobjfpc"
+ }
+ }
}
set result [remote_exec host $fpc_compiler "-o$dest $add_flags $source"]
--
2.1.1
next prev parent reply other threads:[~2015-01-14 15:04 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <54ae4586.01e3440a.7b06.fffff844SMTPIN_ADDED_BROKEN@mx.google.com>
2015-01-08 10:48 ` [RFA] Fix pascal behavior for class fields Pedro Alves
2015-01-08 13:01 ` Pierre Muller
[not found] ` <54ae7f9f.c323460a.36ed.ffffff30SMTPIN_ADDED_BROKEN@mx.google.com>
2015-01-08 13:41 ` Pedro Alves
2015-01-08 14:15 ` gdb-patches RFA: " Pierre Muller
[not found] ` <54ae911b.85e3440a.1d96.5ffdSMTPIN_ADDED_BROKEN@mx.google.com>
2015-01-09 10:52 ` Pedro Alves
2015-01-09 10:55 ` Pedro Alves
2015-01-09 16:16 ` [RFA PATCH 1/3] Remember the case pattern that allowed finding a field of this Pierre Muller
2015-01-23 7:30 ` [RFA PATCH 1/3 V3] " Pierre Muller
2015-02-04 23:37 ` [RFA PATCH 1/3 V4] " Pierre Muller
2015-01-09 16:16 ` [RFA 0/3] Fix pascal behavior for class fields with testcase Pierre Muller
2015-01-09 16:18 ` [RFA PATCH 2/3] Add debug-stabs debug-dwarf and class option for pascal compiler Pierre Muller
2015-02-04 23:37 ` [RFA 0/3 V4] Fix pascal behavior for class fields with testcase Pierre Muller
2015-02-15 6:59 ` PING " Pierre Muller
2015-04-07 20:06 ` PING^2 " Pierre Muller
[not found] ` <54e043b2.626ec20a.0c59.ffffaeacSMTPIN_ADDED_BROKEN@mx.google.com>
2015-04-20 6:00 ` PING " Doug Evans
2015-04-21 20:33 ` Pierre Muller
2015-01-09 16:18 ` [RFA PATCH 3/3] Testcase for pascal/17815 Pierre Muller
[not found] ` <54afff61.6790420a.0fa7.4f63SMTPIN_ADDED_BROKEN@mx.google.com>
2015-01-10 0:45 ` [RFA PATCH 2/3] Add debug-stabs debug-dwarf and class option for pascal compiler Doug Evans
2015-01-10 0:55 ` Pierre Muller
[not found] ` <54b07891.01b3c20a.2a7b.ffff9f96SMTPIN_ADDED_BROKEN@mx.google.com>
2015-01-10 21:23 ` Doug Evans
2015-01-14 15:04 ` Pierre Muller [this message]
[not found] ` <54b6858f.a287440a.5b61.ffff9ef0SMTPIN_ADDED_BROKEN@mx.google.com>
2015-01-22 12:49 ` [RFA PATCH 2/3 V2] Add "class" " Pedro Alves
2015-01-23 5:21 ` [RFA PATCH 2/3 V3] " Pierre Muller
2015-01-23 11:55 ` Pedro Alves
2015-02-04 23:37 ` [RFA PATCH 2/3 V4] " Pierre Muller
[not found] ` <54afff6b.ee8d440a.16ee.ffffb424SMTPIN_ADDED_BROKEN@mx.google.com>
2015-01-22 12:46 ` [RFA PATCH 3/3] Testcase for pascal/17815 Pedro Alves
2015-01-23 7:16 ` [RFA PATCH 3/3 V3] " Pierre Muller
2015-01-23 12:29 ` Pedro Alves
2015-02-04 23:37 ` [RFA PATCH 3/3 V4] " Pierre Muller
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='000301d0300b$65acc7a0$310656e0$@muller@ics-cnrs.unistra.fr' \
--to=pierre.muller@ics-cnrs.unistra.fr \
--cc=dje@google.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@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