[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