This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA PATCH 2/3] Add debug-stabs debug-dwarf and class option for pascal compiler


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]