[PATCH PR69821] gcc: add option gno-record-debug-prefix-map
Hongxu Jia
hongxu.jia@windriver.com
Mon Feb 15 09:22:00 GMT 2016
On 02/15/2016 04:09 PM, Hongxu Jia wrote:
> PR other/69821
> * common.opt (grecord-debug-prefix-map, gno-record-debug-prefix-map):
> New options.
> * dwarf2out.c:(gen_producer_string) Use option to filter
> -fdebug-prefix-map
> * doc/invoke.texi: Document -grecord-debug-prefix-map and
> -gno-record-debug-prefix-map.
>
> Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> ---
> gcc/common.opt | 8 ++++++++
> gcc/doc/invoke.texi | 14 ++++++++++++++
> gcc/dwarf2out.c | 8 ++++++++
> 3 files changed, 30 insertions(+)
>
> diff --git a/gcc/common.opt b/gcc/common.opt
> index 2259f29..3aef05a 100644
> --- a/gcc/common.opt
> +++ b/gcc/common.opt
> @@ -2464,6 +2464,14 @@ grecord-gcc-switches
> Common RejectNegative Var(dwarf_record_gcc_switches,1)
> Record gcc command line switches in DWARF DW_AT_producer.
>
> +gno-record-debug-prefix-map
> +Common RejectNegative Var(dwarf_record_debug_prefix_map,0) Init(1)
> +Don't record -fdebug-prefix-map in gcc command line switches in DWARF DW_AT_producer.
> +
> +grecord-debug-prefix-map
> +Common RejectNegative Var(dwarf_record_debug_prefix_map,1)
> +Record -fdebug-prefix-map in gcc command line switches in DWARF DW_AT_producer.
> +
> gno-split-dwarf
> Common Driver RejectNegative Var(dwarf_split_debug_info,0) Init(0)
> Don't generate debug information in separate .dwo files
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 9d8ffc0..d18d24a 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -337,6 +337,7 @@ Objective-C and Objective-C++ Dialects}.
> -fsel-sched-verbose -fsel-sched-dump-cfg -fsel-sched-pipelining-verbose @gol
> -fstack-usage -ftest-coverage -ftime-report -fvar-tracking @gol
> -fvar-tracking-assignments -fvar-tracking-assignments-toggle @gol
> +-grecord-debug-prefix-map-gstabs -gno-record-debug-prefix-map @gol
s/-grecord-debug-prefix-map-gstabs/-grecord-debug-prefix-map/
Sorry for the typo
> -g -g@var{level} -gtoggle -gcoff -gdwarf-@var{version} @gol
> -ggdb -grecord-gcc-switches -gno-record-gcc-switches @gol
> -gstabs -gstabs+ -gstrict-dwarf -gno-strict-dwarf @gol
> @@ -5220,6 +5221,19 @@ way of storing compiler options into the object file. This is the default.
> Disallow appending command-line options to the DW_AT_producer attribute
> in DWARF debugging information.
>
> +@item -grecord-debug-prefix-map-gstabs
> +@opindex grecord-debug-prefix-map-gstabs
> +While -grecord-gcc-switches and -fdebug-prefix-map used, keep
> +-fdebug-prefix-map in command line options which is appended
> +to the DW_AT_producer attribute in DWARF debugging information.
> +This is the default.
> +
> +@item -gno-record-debug-prefix-map
> +@opindex gno-record-debug-prefix-map
> +While -grecord-gcc-switches and -fdebug-prefix-map used, remove
> +-fdebug-prefix-map in command line options which is appended
> +to the DW_AT_producer attribute in DWARF debugging information.
> +
> @item -gstrict-dwarf
> @opindex gstrict-dwarf
> Disallow using extensions of later DWARF standard version than selected
> diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
> index 13b2de7..19a149a 100644
> --- a/gcc/dwarf2out.c
> +++ b/gcc/dwarf2out.c
> @@ -19182,6 +19182,8 @@ gen_producer_string (void)
> case OPT_SPECIAL_input_file:
> case OPT_grecord_gcc_switches:
> case OPT_gno_record_gcc_switches:
> + case OPT_grecord_debug_prefix_map:
> + case OPT_gno_record_debug_prefix_map:
> case OPT__output_pch_:
> case OPT_fdiagnostics_show_location_:
> case OPT_fdiagnostics_show_option:
> @@ -19214,6 +19216,12 @@ gen_producer_string (void)
> default:
> break;
> }
> +
> + /* Don't record -fdebug-prefix-map in gcc command line
> + switches in DWARF DW_AT_producer */
> + if (save_decoded_options[j].opt_index==OPT_fdebug_prefix_map_ &&
> + !dwarf_record_debug_prefix_map)
> + continue;
> switches.safe_push (save_decoded_options[j].orig_option_with_args_text);
> len += strlen (save_decoded_options[j].orig_option_with_args_text) + 1;
> break;
More information about the Gcc-patches
mailing list