This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA PATCH 2/3] Add debug-stabs debug-dwarf and class option for pascal compiler
- From: Doug Evans <dje at google dot com>
- To: Pierre Muller <pierre dot muller at ics-cnrs dot unistra dot fr>
- Cc: Pedro Alves <palves at redhat dot com>, gdb-patches <gdb-patches at sourceware dot org>
- Date: Fri, 9 Jan 2015 16:45:27 -0800
- Subject: Re: [RFA PATCH 2/3] Add debug-stabs debug-dwarf and class option for pascal compiler
- Authentication-results: sourceware.org; auth=none
- References: <54ae4586 dot 01e3440a dot 7b06 dot fffff844SMTPIN_ADDED_BROKEN at mx dot google dot com> <54AE605A dot 8050308 at redhat dot com> <54ae7f9f dot c323460a dot 36ed dot ffffff30SMTPIN_ADDED_BROKEN at mx dot google dot com> <54AE8914 dot 4010507 at redhat dot com> <54ae911b dot 85e3440a dot 1d96 dot 5ffdSMTPIN_ADDED_BROKEN at mx dot google dot com> <54AFB2E5 dot 5080307 at redhat dot com> <54afff61 dot 6790420a dot 0fa7 dot 4f63SMTPIN_ADDED_BROKEN at mx dot google dot com>
On Fri, Jan 9, 2015 at 8:18 AM, Pierre Muller
<pierre.muller@ics-cnrs.unistra.fr> wrote:
> This part adds support for
> pascal specific compilation option:
> - "debug-stabs" to force use of stabs debugging format.
> - "debug-dwarf" to force use of dwarf debugging format.
> - "class" to enable pascal "class" types.
>
> gdb/testsuite/Changelog entry :
>
> 2015-01-09 Pierre Muller <muller@sourceware.org>
>
> * lib/pascal.exp (gpc_compile): Handle new options:
> "debug-stabs", "debug-dwarf" and "class".
> (fpc_compile): Likewise.
> ---
> gdb/testsuite/lib/pascal.exp | 42
> ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 42 insertions(+)
>
> diff --git a/gdb/testsuite/lib/pascal.exp b/gdb/testsuite/lib/pascal.exp
> index 994e3da..587352c 100644
> --- a/gdb/testsuite/lib/pascal.exp
> +++ b/gdb/testsuite/lib/pascal.exp
> @@ -91,6 +91,27 @@ proc gpc_compile {source dest type options} {
> append add_flags " -g"
> }
> }
> + if { $i == "debug-stabs" } {
> + if [board_info $dest exists debug_stabs_flags] {
> + append add_flags " [board_info $dest debug_stabs_flags]"
> + } else {
> + append add_flags " -gstabs"
> + }
> + }
> + if { $i == "debug-dwarf" } {
> + if [board_info $dest exists debug_dwarf_flags] {
> + append add_flags " [board_info $dest debug_dwarf_flags]"
> + } else {
> + append add_flags " -gdwarf-2"
> + }
> + }
> + 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 +141,27 @@ proc fpc_compile {source dest type options} {
> append add_flags " -g"
> }
> }
> + if { $i == "debug-stabs" } {
> + if [board_info $dest exists debug_stabs_flags] {
> + append add_flags " [board_info $dest debug_stabs_flags]"
> + } else {
> + append add_flags " -gs"
> + }
> + }
> + if { $i == "debug-dwarf" } {
> + if [board_info $dest exists debug_dwarf_flags] {
> + append add_flags " [board_info $dest debug_dwarf_flags]"
> + } else {
> + append add_flags " -gw"
> + }
> + }
> + 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
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.