Re: [GOOGLE] Assign discriminators for different callsites at a same line within one BB

2013-08-20 Thread Cary Coutant
> This patch assigns discriminators for different callsites within the > same BB. This is needed for accurate profile attribution in AutoFDO. > > Testing on going. > > OK for google branches if test pass? > + for (gsi = gsi_start_bb (bb); !gsi_end_p (gsi); gsi_next (&gsi)) > + { > + gimple s

Re: [GOOGLE] Assign discriminators for different callsites at a same line within one BB

2013-08-21 Thread Cary Coutant
> You are right, we need discriminator for non-CALL stmts too. Patch updated: OK for google branches. Thanks! -cary

Re: [PING][PATCH] ICE with combination of -fopenmp and -femit-struct-debug-reduced/baseonly

2013-09-13 Thread Cary Coutant
> I’ve attached fix for this issue: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57737 > There are fix, two tests and change log message. > > Is it ok? > > Cary, can you commit it for me? > > Ping this patch, http://gcc.gnu.org/ml/gcc-patches/2013-07/msg00053.html Thanks for the fix, and sorry fo

MAINTAINERS: add myself as dwarf debugging code maintainer

2012-10-01 Thread Cary Coutant
2012-10-01 Cary Coutant * MAINTAINERS: Add myself as dwarf debugging code maintainer. Index: MAINTAINERS === --- MAINTAINERS (revision 191942) +++ MAINTAINERS (working copy) @@ -185,6 +185,7 @@ caller-save.c

Re: PING^2: [patch] pr/54508: fix incomplete debug information for class

2012-10-04 Thread Cary Coutant
> /* We also have to mark its parents as used. > -(But we don't want to mark our parents' kids due to this.) */ > +(But we don't want to mark our parent's kids due to this, > +unless it is a class.) */ > if (die->die_parent) > - prune_unused_types_mark (d

Re: PING^2: [patch] pr/54508: fix incomplete debug information for class

2012-10-04 Thread Cary Coutant
> Index: gcc/testsuite/g++.dg/debug/dwarf2/localclass1.C > === > --- gcc/testsuite/g++.dg/debug/dwarf2/localclass1.C (revision 192048) > +++ gcc/testsuite/g++.dg/debug/dwarf2/localclass1.C (working copy) > @@ -59,11 +59,11 @@ >

Re: PING^2: [patch] pr/54508: fix incomplete debug information for class

2012-10-05 Thread Cary Coutant
> So given the comments, is this patch now ok to commit? Yes, this is OK. Thanks for doing the extra testing! (I also ran a quick test with -fdebug-types-section, just to make sure.) -cary

Re: PING^2: [patch] pr/54508: fix incomplete debug information for class

2012-10-05 Thread Cary Coutant
>> It seems to me that there are cases where we just want to emit the >> class for the context info (like a namespace, which doesn't have to be >> complete everywhere). Is there a way to tell the debugger that this >> class declaration is incomplete and that it should look elsewhere for >> a full d

Re: PING^2: [patch] pr/54508: fix incomplete debug information for class

2012-10-05 Thread Cary Coutant
> There certainly is a fair amount of code in dwarf2read.c in gdb to handle > DW_AT_declaration and do things differently for declarations. > > Should I rework this patch to use that mechanism instead? If so, how? If > the class is marked only by prune_unused_types_mark visiting it as a parent,

Re: [Dwarf Fission] Implement Fission Proposal (issue6305113)

2012-10-10 Thread Cary Coutant
>>> The potential savings here didn't seem worth the effort of adding a >>> pass over another table to assign slots in .debug_addr. In practice, >>> we're seeing very few slots zeroed out here. > > And how many duplicate entries? What strategy does Cary's patch use to > avoid those? I picked a co

Re: [PATCH] Improve expansion into DEBUG_IMPLICIT_PTR (PR debug/54970)

2012-10-19 Thread Cary Coutant
> 2012-10-18 Jakub Jelinek > > PR debug/54970 > * cfgexpand.c (expand_debug_expr): Expand &MEM_REF[&var, n] > as DEBUG_IMPLICIT_PTR + n if &var expands to DEBUG_IMPLICIT_PTR. > * tree-sra.c (create_access_replacement): Allow also MEM_REFs > with ADDR_EXPR

[patch] Fix PR 55063: Check whether DIE is already a declaration

2012-10-25 Thread Cary Coutant
I've committed the following fix for PR 55063: -cary 2012-10-25 Cary Coutant PR debug/55063 * dwarf2out.c (prune_unused_types_prune): Check whether DIE is already a declaration. Index: dwarf2

[patch] Fix unresolved symbol with -gsplit-dwarf

2013-10-04 Thread Cary Coutant
opcodes, occasionally resulting in a link-time unresolved symbol. This patch releases the addr_table entries before abandoning a location expression. Bootstrapped and regression tested on x86-64. Committed to trunk at r203206. -cary 2013-10-03 Cary Coutant gcc/ * dwarf2out.c

[google/gcc-4_8] Backport fix for unresolved symbol with -gsplit-dwarf

2013-10-04 Thread Cary Coutant
opcodes, occasionally resulting in a link-time unresolved symbol. This patch releases the addr_table entries before abandoning a location expression. Backported from trunk r203206. Google ref b/10833306. 2013-10-03 Cary Coutant gcc/ * dwarf2out.c (dw_sra_loc_expr): Release addr_table

Re: [Google 4.8 Patch] Generate gnu-pubnames for definitions only. Not declarations.

2013-10-09 Thread Cary Coutant
> 2013-10-09 Sterling Augustine > > * dwarf2out.c (include_pubname_in_output): Add conditional on > is_declaration_die > and debug_generate_pubnames. OK for google 4.8 branch. Thanks! -cary

Re: [PATCH] Do not append " *INTERNAL* " to the decl name

2013-10-11 Thread Cary Coutant
> It's hard to get a testcase without > http://gcc.gnu.org/viewcvs/gcc?view=revision&revision=201856 because > none of these *INTERNAL* symbols will be emitted in debug info. The original code was in there as a form of assembly-time assertion that the symbol would never get output. Now that you wa

Re: lto-plugin: mismatch between ld's architecture and GCC's configure --host

2013-11-04 Thread Cary Coutant
>> Ping. To sum it up, with these patches applied, there are no changes for >> a "regular" build (not using the new configure options). On the other >> hand, configuring GCC as described, it is possible use the 32-bit x86 >> linker for/with a x86_64 build, and get the very same GCC test results a

[commit] Sync include/plugin-api.h with binutils

2016-03-04 Thread Cary Coutant
I'm committing the attached patch to sync include/plugin-api.h with binutils. -cary 2016-03-03 Than McIntosh * plugin-api.h: Add new hooks to the plugin transfer vector to to support querying section alignment and section size. (ld_plugin_get_input_section_alignment):

Re: [Dwarf Patch] Use offset into debug_info for pubtype name referring to pubtype section

2013-12-02 Thread Cary Coutant
> gcc/ChangeLog > > 2013-12-02 Sterling Augustine > > * dwarf2out.c (output_pubnames): Use comp_unit_die ()->die_offset > when there > isn't a skeleton die. This is OK, but your patch also has a local change to contrib/mklog. Please be careful not to commit that. Thanks! -cary

Re: [PATCH] Use DW_LANG_D for D

2013-12-03 Thread Cary Coutant
> This patches gen_compile_unit_die to use the DW_LANG_D DWARF language > code for D. Is in relation to some other D language fixes that are > going to be submitted to gdb. Is this for a private front end? I'm not aware of any front ends that set the language name to "GNU D". Since it's so trivi

Re: PR37132 – RFC patch for generation of DWARF symbol for Fortran's namelists (DW_TAG_namelist)

2013-12-04 Thread Cary Coutant
> gcc/ > 2013-11-24 Tobias Burnus > > PR debug/37132 > * lto-streamer.h (LTO_tags): Add LTO_namelist_decl_ref. > * tree.def (NAMELIST_DECL): Add. > * tree.h (NAMELIST_DECL_ASSOCIATED_DECL): New macro. > * tree.c (initialize_tree_contains_struct): Add asserts for it.

Re: [PATCH] [GOLD] Add plugin API for processing plugin-added input files

2017-11-09 Thread Cary Coutant
> include/ChangeLog: > 2017-11-09 Stephen Crane > > * plugin-api.h: Add new plugin hook to allow processing of input > files added by a plugin. > (ld_plugin_new_input_handler): New funcion hook type. > (ld_plugin_register_new_input): New interface. > (LDPT

Re: [PATCH] Avoid excessive location expansion in assign_discriminators

2018-06-19 Thread Cary Coutant
> On testcases like that from PR60243 CFG build is dominated by > assign_discriminators because it expands locations again and again > and this got more expensive over the time. > > Cary - can you explain the overall logic of assign_discriminators, > specifically why if the last stmt of a block has

Re: [PATCH] gold: Use autotools pthread macro

2018-02-17 Thread Cary Coutant
> The autotools library macro (AX_PTHREAD) is now used to detect if > pthreads is present and multi-threaded linking in gold is automatically > enabled if it is found. This enables multi-threaded gold on platforms > where pthreads is enabled via other methods than just -lpthread (e.g. > MinGW) > >

Re: [PATCH] gold: Use autotools pthread macro

2018-02-19 Thread Cary Coutant
>> First, do you or your company have a copyright assignment on file with FSF? > > I do not. What is the process for that? I don't need a company > assignment, an individual contributor for me will be fine. > > If I sign that for this project, would it also cover GCC, or do I need > one for each?

[config patch] Fwd from binutils: add ax_pthread.m4 to config/ directory

2018-02-19 Thread Cary Coutant
Please see this patch posted to the binutils list: https://sourceware.org/ml/binutils/2018-02/msg00260.html where Joshua proposes to add the ax_pthread.m4 script, from the autoconf macro archive, to the config/ directory in order to improve gold's configure-time detection of thread support. I

Re: [PATCH] gold: Use autotools pthread macro

2018-02-19 Thread Cary Coutant
> config-patches has nothing to do with the GCC config/ directory. It is > the place to send patches for config.{guess,sub}. Taking if off the > cc: line. Sorry, Ben. I've started a new thread on gcc-patches for the config/ part of this patch. https://gcc.gnu.org/ml/gcc-patches/2018-02/msg01138.h

Re: plugin-api.h patch to add a new interface for linker plugins

2018-02-20 Thread Cary Coutant
> Ping. Is this alright to apply now or should I wait for Stage 1? > > * plugin-api.h (ld_plugin_get_wrap_symbols): New > plugin interface. I'd say go ahead and apply the patch in binutils, and wait for Stage 1 to sync back to GCC, unless someone there OKs it sooner. Nick, is that OK? -cary

Re: [GOOGLE, AUTOFDO] Assign different discriminators to calls with the same lineno

2014-08-07 Thread Cary Coutant
> static int > -next_discriminator_for_locus (location_t locus) > +increase_discriminator_for_locus (location_t locus, bool return_next) > { >struct locus_discrim_map item; >struct locus_discrim_map **slot; > @@ -934,8 +936,10 @@ next_discriminator_for_locus (location_t >(*slot)->

Remove skeleton type units that were being produced with -gsplit-dwarf.

2014-08-08 Thread Cary Coutant
split DWARF by about 30%. I've run both GCC and GDB tests, and found no new regressions. Committed as r213765. -cary 2014-08-08 Cary Coutant gcc/ * dwarf2out.c (get_skeleton_type_unit): Remove. (output_skeleton_debug_sections): Remove skeleton type

[google/gcc-4_9] Remove skeleton type units that were being produced with -gsplit-dwarf.

2014-08-08 Thread Cary Coutant
I've backported this patch from trunk r213765. These sections were originally intended as targets for .gdb_index entries that needed to point to type units. Because of the limitations of the .debug_gnu_pubnames/pubtypes sections with split DWARF, we were not able to pass along enough information

Re: [GOOGLE, AUTOFDO] Assign different discriminators to calls with the same lineno

2014-08-29 Thread Cary Coutant
> To avoid the unused new discriminator value, I added a map > "found_call_this_line" to track whether a call is the first call in a > source line seen when assigning discriminators. For the first call in > a source line, its discriminator is 0. For the following calls in the > same source line, a

Re: [GOOGLE, AUTOFDO] Assign different discriminators to calls with the same lineno

2014-08-29 Thread Cary Coutant
. (assign_discriminators): Assign different discriminators for calls belonging to the same source line. OK for google/gcc-4_9 branch. Thanks! -cary On Fri, Aug 29, 2014 at 1:59 PM, Wei Mi wrote: >> On Fri, Aug 29, 2014 at 10:11 AM, Cary Coutant wrote: >>>> T

Re: PR37132 – RFC patch for generation of DWARF symbol for Fortran's namelists (DW_TAG_namelist)

2013-11-11 Thread Cary Coutant
> But for "USE mod_name, only: nml", one is supposed to generate a > DW_TAG_imported_declaration. > > And there I am stuck. For normal variables, the DW_TAG_imported_declaration > refers to a DW_TAG_variable die. Analogously, for a namelist one would have > to refer to a DW_TAG_namelist die. But su

Re: [PATCH] Generate a label for the split cold function while using -freorder-blocks-and-partition

2013-11-12 Thread Cary Coutant
>>> Is there a format for compiler-defined labels that would not be able >>> to clash with other user-generated labels? >> >> My understanding is that the "." in the generated name ensures that it >> will not clash with user-generated labels which cannot contain ".". So >> this should not be an iss

Re: [PATCH] Generate a label for the split cold function while using -freorder-blocks-and-partition

2013-11-12 Thread Cary Coutant
>> Isn't this something that should be expressed in DWARF with >> DW_AT_ranges? See DWARF4, section 2.17, >> >> Does GCC generate such ranges? > > GCC does generate these ranges. However, according to Cary many tools > do not rely on dwarf info for locating the corresponding function > name, they j

Re: PR37132 – RFC patch for generation of DWARF symbol for Fortran's namelists (DW_TAG_namelist)

2013-11-12 Thread Cary Coutant
> One cannot simply also import, e.g., "i" as the code might have: > > subroutine example() > use mod, only: my_nml > integer :: i! < Locally defined variable > read(uid, my_nml) > ... > end subroutine example > > In that case "i" is the local variable. As written, one can creat

[patch] Fix ICEs when DEBUG_MANGLE is enabled

2013-11-13 Thread Cary Coutant
This patch fixes a few ICEs I encountered when enabling DEBUG_MANGLE. I've also changed dump_substitution_candidates to output the substitution index in base 36, to match the actual mangled name. OK for trunk? -cary 2013-11-13 Cary Coutant gcc/ * cp/mangle.c (to_base36)

Re: [PATCH, MPX, 2/X] Pointers Checker [20/25] Debug info

2013-11-18 Thread Cary Coutant
> 2013-11-15 Ilya Enkovich > > * dbxout.c (dbxout_type): Ignore POINTER_BOUNDS_TYPE. > * dwarf2out.c (gen_subprogram_die): Ignore bound args. > (gen_type_die_with_usage): Skip pointer bounds. > (dwarf2out_global_decl): Likewise. The dwarf2out.c changes are OK. I'

[patch] PR 59195: C++ demangler handles conversion operator incorrectly

2013-11-19 Thread Cary Coutant
template parameter substitution. Passes all regression tests, and I've added new test cases. OK to commit? -cary 2013-11-19 Cary Coutant libiberty/ PR other/59195 * cp-demangle.c (struct d_info_checkpoint): New struct. (struct d_print_info): Add current_templa

Re: [patch] Fix ICEs when DEBUG_MANGLE is enabled

2013-11-19 Thread Cary Coutant
> 2013-11-13 Cary Coutant > > gcc/cp/ > * mangle.c (to_base36): New function. > (dump_substitution_candidates): Add checks for NULL. > Print substitution index in base 36. Ping? -cary

Re: [RFC] Modify -g1 to produce line tables

2013-11-20 Thread Cary Coutant
>> Here, finally, is that patch again, reworked to generate line tables >> at -g1. I plan to commit this when Stage 1 reopens, but I'd like to >> verify that earlier consensus. I also plan to commit this to the >> google/main branch, and future merges will go more smoothly if what I >> put in googl

Re: [RFC] Modify -g1 to produce line tables

2013-11-20 Thread Cary Coutant
>> Sorry, I never saw any feedback, positive or negative, on that, and it >> kind of fell off my radar. I think it should still be ready to go in >> -- Stage 1 is still open for another day, right? Let me rebase the >> patch, kick off a bootstrap and regression tests, and I think I can be >> ready

Re: [RFC] Modify -g1 to produce line tables

2013-11-20 Thread Cary Coutant
> Let me rebase the > patch, kick off a bootstrap and regression tests, and I think I can be > ready to submit it if there are no objections. Here's the rebased patch. I'm running the bootstrap and regression tests now. -cary commit 2d50b3878cd8e96e31b92a5f1d261cbcea6ce0e5 A

Re: [patch] PR 59195: C++ demangler handles conversion operator incorrectly

2013-11-21 Thread Cary Coutant
bstitution misnumbering in the current demangler. -cary > 2013-11-19 Cary Coutant > > libiberty/ > PR other/59195 > * cp-demangle.c (struct d_info_checkpoint): New struct. > (struct d_print_info): Add current_template field. > (d_operator_name): Set fl

Re: [RFC] Modify -g1 to produce line tables

2013-11-21 Thread Cary Coutant
> Having just looked at the opts.c and tree-ssa-live.c changes, they're fine. Thanks, I've committed the patch. -cary

Re: [RFC] Modify -g1 to produce line tables

2013-11-21 Thread Cary Coutant
>> Let me rebase the >> patch, kick off a bootstrap and regression tests, and I think I can be >> ready to submit it if there are no objections. > > Here's the rebased patch. I'm running the bootstrap and regression tests now. The bootstrap passed with no new regressions. Do I need approval for th

Re: [google/gcc-4_9] Add gcc driver option -no-pie

2014-10-09 Thread Cary Coutant
>>> If adding a new option, you need to document it in invoke.texi. >> >> Patch updated. > > Is this alright for google/gcc-4_9? +no-pie +Driver RejectNegative Negative(pie) +Create a position dependent executable I'd suggest adding an alias for "-no-pie" (meaning "--no-pie") -- see earlier in co

Re: [google/gcc-4_9] Add gcc driver option -no-pie

2014-10-09 Thread Cary Coutant
>> I'd suggest adding an alias for "-no-pie" (meaning "--no-pie") -- see >> earlier in common.opt where "-pie" is declared as an alias for "pie", >> and similarly for "-shared". > > Patch Updated. OK for google/gcc-4_9 branch. Thanks! -cary

Re: [PATCH 4/n] OpenMP 4.0 offloading infrastructure: lto-wrapper

2014-10-10 Thread Cary Coutant
The linker already has a --strip-lto-sections option, and it's on by default. I'll approve a patch that modifies gold to recognize .gnu.offload_lto.* sections as part of --strip-lto-sections. Really, though, you should be setting the SHF_EXCLUDE bit on these sections. Do that and no special-casing

Re: [PATCH 4/n] OpenMP 4.0 offloading infrastructure: lto-wrapper

2014-10-10 Thread Cary Coutant
> The question is what will old assemblers and/or linkers do with that, and > if there are any that support linker plugins, but not SHF_EXCLUDE. If it helps answer that question, SHF_EXCLUDE support has been in gold for 6 years, and in gas for 4. -cary

Re: [PATCH 2/3] PR other/61321 - demangler crash on casts in template parameters

2014-10-13 Thread Cary Coutant
Ping. Jason, do you still think the special-case for conversion ops is inappropriate? -cary On Fri, Jul 25, 2014 at 2:16 AM, Pedro Alves wrote: > On 07/24/2014 11:35 PM, Cary Coutant wrote: >>> It seems that the problem here is more general; a template argument list is >>>

Re: [PATCH 4/n] OpenMP 4.0 offloading infrastructure: lto-wrapper

2014-10-15 Thread Cary Coutant
> My preference would be to add the | SECTION_EXCLUDE unconditionally, and > instead guard the > if (flags & SECTION_EXCLUDE) > *f++ = 'e'; > in varasm.c (default_elf_asm_named_section). The only other user of > SECTION_EXCLUDE seems to be -gsplit-dwarf right now, Cary, is such a change > ok

[PATCH] Add top-level config support for gold mips target

2014-10-20 Thread Cary Coutant
This patch adds support for the mips target in gold. OK to commit? -cary 2014-10-20 Cary Coutant * configure (--enable-gold): Add mips*-*-*. * configure.ac: Regenerate. Index: configure === --- configure

[google/gcc-4_8] Fix ICE with -gsplit-dwarf and FDO

2014-06-04 Thread Cary Coutant
e ref: b/15417905 2014-06-04 Cary Coutant gcc/ * dwarf2out.c (dwarf2out_finish): Call index_location_lists even if addr_index_table is NULL. Index: gcc/dwarf2out.c === --- gcc/dwarf2out.c (revision 211246) ++

Re: [GOOGLE] Emit linkage_name when built with -gmlt and for abstract decls

2014-06-11 Thread Cary Coutant
> This will increase c++ g1/g2 binary size a little. For all spec > cint2006 benchmarks, the binary size change is shown below. > > 400 0.00% 0.00% 0.00% 0.00% > 401 0.00% 0.00% 0.00% 0.00% > 403 0.00% 0.00% 0.00% 0.00% > 429 0.00% 0.00% 0.00% 0.00% > 445 0.00% 0.00% 0.00% 0.00% > 456 0.00% 0.00% 0

[patch] Fix ICEs with -gsplit-dwarf

2014-07-01 Thread Cary Coutant
2014-07-01 Cary Coutant gcc/ * dwarf2out.c (remove_addr_table_entry): Remove unnecessary hash table lookup. (resolve_addr_in_expr): When replacing the rtx in a location list entry, get a new address table entry. (dwarf2out_finish): Call

Re: [patch] Fix ICEs with -gsplit-dwarf

2014-07-01 Thread Cary Coutant
Any objections to backporting these fixes to the 4.9 branch? -cary On Tue, Jul 1, 2014 at 2:37 PM, Cary Coutant wrote: > This patch fixes a couple of ICEs when using -gsplit-dwarf. > > When compiling a small-enough compilation unit that has no address table > entries, but complex

Re: [PATCH] DWARF add DW_AT_noreturn on noreturn function subprogram.

2014-12-01 Thread Cary Coutant
> Presumably we don't have any sense when the values will be assigned, right? > Any chance we could speed that along a bit? As Jason said, the value in the current draft is unlikely to change, and I think he and I can probably lobby to keep it unchanged if there any danger that the numbering will

Re: [PATCH] DWARF add DW_AT_noreturn on noreturn function subprogram.

2014-12-01 Thread Cary Coutant
[+cc Michael Eager] > Rather than having to lobby to keep it unchanged because we jumped the gun, > can we lobby to get the number assigned in the near future rather than in > the potentially far future? That feels more cooperative to me :-) > > Would that make Michael happier? I'm pretty confid

Re: [PATCH] Add top-level config support for gold mips target

2014-12-01 Thread Cary Coutant
Ping^2. -cary On Wed, Oct 29, 2014 at 12:04 PM, Cary Coutant wrote: > Ping? > > On Mon, Oct 20, 2014 at 10:31 AM, Cary Coutant wrote: >> This patch adds support for the mips target in gold. >> >> OK to commit? >> >> -cary >> >> >> 2014-

Re: [google/gcc-4_9] Minor changes to -ftwo-level-line-tables

2015-03-03 Thread Cary Coutant
>> @@ -21817,22 +21823,39 @@ out_subprog_directive (subprog_entry *su >> { >>tree decl = subprog->decl; >>tree decl_name = DECL_NAME (decl); >> - const char *name; >> + tree origin; > > Explicitly initialize origin to NULL_TREE; Done. >> + /* For inlined subroutines, use the linkage n

[patch] Update my email address

2015-04-08 Thread Cary Coutant
I'm retiring, and my last day at google is this Friday, April 10. I plan to continue to contribute to GCC and binutils in my retirement. I've updated the MAINTAINERS file to use my personal address, ccout...@gmail.com. -cary 2015-04-08 Cary Coutant * MAINTAINERS: Updat

Re: PR lto/64837: lto plugin doesn't call ld_plugin_release_input_file

2015-01-28 Thread Cary Coutant
>>>This patch makes claim_file_handler to call release_input_file after it >>>finishes processing input file. OK for trunk? >> >> OK. How did you test this? > > I did normal bootstrap and "make check" on Linux/x86-64. > I also run ld.bfd and ld.gold by hand to verify that release_input_file > is

Re: [google/gcc-4_9] Add -ftwo-level-line-tables and -gline-tables-only options

2015-01-28 Thread Cary Coutant
>> +static subprog_entry * >> +add_subprog_entry (tree decl, bool is_inlined) >> +{ >> + subprog_entry **slot; >> + subprog_entry *entry; >> + >> + slot = subprog_table->find_slot_with_hash (decl, DECL_UID (decl), INSERT); >> + if (*slot == HTAB_EMPTY_ENTRY) >> +{ >> + entry = XCNEW (s

Re: [google/gcc-4_9] Add -ftwo-level-line-tables and -gline-tables-only options

2015-01-28 Thread Cary Coutant
>> > Not quite clear why we need block_table. This table is not gonna be >> > emitted. And we can easily get subprog_entry through block->block_num >> >> When final_scan_insn() calls dwarf2out_begin_block(), all it passes is >> a block number. I don't know a way to get from block number to the >> b

Re: [google/gcc-4_9] Add -ftwo-level-line-tables and -gline-tables-only options

2015-01-29 Thread Cary Coutant
>>> Is it correct that block_num has 1-1 mapping with block_table. And >>> block_table has 1-1 mapping with logical_table? >> >> The first part, yes -- there's one entry in block_table for each >> block_num in the function tree. But two or more blocks may map to a >> single logical, and some blocks

Re: [google/gcc-4_9] Add -ftwo-level-line-tables and -gline-tables-only options

2015-01-29 Thread Cary Coutant
Here's a very slightly revised patch, fixing a couple of bugs found during GDB testing. In out_logical_entry, I should pass along the value of is_stmt when creating a logical for the calling context, so that we get a breakpoint location for the point of call: context = out_logical_entry (t

Re: [PATCH] Added PLUGIN_FINISH_TYPE callback on enum type processing

2015-02-02 Thread Cary Coutant
> I am forwarding this reply to Cary Coutant, Diego Novillo and Le-Chun > Wu, as they were listed as the plugin maintainers. > > Cary, Diego, Le-Chun, please let me know if you are on it, or if I > should send it to someone else. Sorry, this isn't my kind of plugin -- I'm

Re: PR lto/64837: lto plugin doesn't call ld_plugin_release_input_file

2015-02-03 Thread Cary Coutant
The plugin is not supposed to call release_input_file from the claim_file handler. That interface is only for releasing a file descriptor obtained via get_input_file during the all_symbols_read callback. When the linker calls the claim_file handler, the file descriptor is open, and the plugin is re

Re: [PATCH] Add top-level config support for gold mips target

2015-02-03 Thread Cary Coutant
Ping^3. Should I be addressing this to someone else? -cary On Mon, Dec 1, 2014 at 2:15 PM, Cary Coutant wrote: > Ping^2. > > -cary > > On Wed, Oct 29, 2014 at 12:04 PM, Cary Coutant wrote: >> Ping? >> >> On Mon, Oct 20, 2014 at 10:31 AM, Cary Coutant wrote: &g

Re: PR lto/64837: lto plugin doesn't call ld_plugin_release_input_file

2015-02-04 Thread Cary Coutant
>>If you're going to insist on calling the release_input_file API from >>the claim_file handler, I'm going to have to fix gold to ignore the >>call to avoid a premature unlock of the object file. > > What's the proper solution for not leaking those filedescriptors? There was a bug in gold where it

Re: [RFC PATCH] Emit DW_LANG_Fortran{03,08}

2015-02-04 Thread Cary Coutant
> DW_LANG_Fortran03 and DW_LANG_Fortran08 DW_AT_language values were recently > accepted into DWARF5. This patch changes GCC to handle those similarly to > how e.g. the -std=c++11, -std=c++14 or -std=c11 are handled. > > As it will take some time for consumers to catch up, I'm enabling that > only

Re: [RFC PATCH] Emit DW_LANG_Fortran{03,08}

2015-02-04 Thread Cary Coutant
> PS: Talking about DWARF5, do you know when it will be available as public > draft? I am especially looking forward to > http://dwarfstd.org/ShowIssue.php?issue=121221.1 (Allow DW_AT_type with > DW_TAG_string_type), which would be a low-hanging fruit in terms of > implementation. Contrary to the a

Re: [RFC PATCH] Emit DW_LANG_Fortran{03,08}

2015-02-04 Thread Cary Coutant
>> did with -gdwarf-4). We're still putting a version number of 2 in the >> compilation unit header! But I guess even upgrading the CU header to > > We are not. On most targets we default to -gdwarf-4 and emit v. 4: Oops, sorry, you're right. I carelessly misread this: dw2_asm_output_data (2,

Re: [PATCH] Add top-level config support for gold mips target

2014-10-29 Thread Cary Coutant
Ping? On Mon, Oct 20, 2014 at 10:31 AM, Cary Coutant wrote: > This patch adds support for the mips target in gold. > > OK to commit? > > -cary > > > 2014-10-20 Cary Coutant > > * configure (--enable-gold): Add mips*-*-*. > * configure.ac: R

Re: [PATCH 2/3] PR other/61321 - demangler crash on casts in template parameters

2014-11-10 Thread Cary Coutant
Ping. I'm getting more reports of this bug internally, and it would be nice to have the fix upstream. -cary On Mon, Oct 13, 2014 at 11:43 AM, Cary Coutant wrote: > Ping. Jason, do you still think the special-case for conversion ops is > inappropriate? > > -cary > > >

[google/gcc-4_9] Backport pending patch to fix demangler crash

2014-11-10 Thread Cary Coutant
Backport pending upstream patch to fix demangler crash. https://gcc.gnu.org/ml/gcc-patches/2014-05/msg02279.html This patch is for the google/gcc-4_9 branch. Google ref: 17891596 -cary 2014-05-27 Pedro Alves include/ * demangle.h (enum demangle_component_type) : New value.

Re: RFA/RFC: Add stack recursion limit to libiberty's demangler

2018-12-01 Thread Cary Coutant
> That section is "Writing Robust Programs." Robustness guarantees have > to be different for utilities and servers. A robust server doesn't > crash because of arbitrary user input, but there are servers that > demangle names that are provided by the user. So we need two modes for > the demangle

Re: [1/9][RFC][DWARF] Reserve three DW_OP numbers in vendor extension space

2016-12-28 Thread Cary Coutant
> I'd like to point out that especially the vendor range of DW_OP_* is > extremely scarce resource, we have only a couple of unused values, so taking > 3 out of the remaining unused 12 for a single architecture is IMHO too much. > Can't you use just a single opcode and encode which of the 3 operati

Re: [1/9][RFC][DWARF] Reserve three DW_OP numbers in vendor extension space

2016-12-28 Thread Cary Coutant
> OK on this proposal and to install this patch to gcc trunk? > > Hi GDB, Binutils maintainer: > > OK on this proposal and install this patch to binutils-gdb master? > > include/ > 2016-11-29 Richard Earnshaw > Jiong Wang > > * dwarf2.def (DW_OP_AARCH64_operation): Re

Re: [PATCH] Add linker plugin API for processing plugin-added input files

2017-09-21 Thread Cary Coutant
> 2017-09-21 Stephen Crane > > * plugin-api.h: Add new hook to the plugin transfer vector to > support assigning plugin-generated sections to unique output > segments. > (ld_plugin_register_new_input): New hook. > (ld_plugin_tag): Add LDPT_REGISTER_NEW_INPU

Re: [PR63238] output alignment debug information

2017-01-29 Thread Cary Coutant
> for gcc/ChangeLog > > PR debug/63238 > * dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment. > (add_alignment_attribute): New. > (base_type_die): Add alignment attribute. > (subrange_type_die): Likewise. > (modified_type_die): Likewise. >

Re: [PR63238] output alignment debug information

2017-03-16 Thread Cary Coutant
>> This is OK so far, but the DW_AT_alignment attribute also needs to be >> added to the checksum computation in die_checksum and >> die_checksum_ordered. > > Thanks. I see what to do in die_checksum_ordered, but die_checksum? It > seems to handle attributes by value class, and AFAICT the classes

[committed patch] Sync top-level configure.ac with binutils-gdb

2016-03-19 Thread Cary Coutant
I'm committing this patch to sync the top-level configure with binutils-gdb. -cary 2016-03-17 Cary Coutant * configure.ac: Add mips and s390 to the gold target check. * configure: Regenerate. Index: conf

Re: [1/9][RFC][DWARF] Reserve three DW_OP numbers in vendor extension space

2016-11-30 Thread Cary Coutant
How about if instead of special DW_OP codes, you instead define a new virtual register that contains the mangled return address? If the rule for that virtual register is anything other than DW_CFA_undefined, you'd expect to find the mangled return address using that rule; otherwise, you would use t

Re: [PATCH] Add extensions to dwarf2.def

2015-08-13 Thread Cary Coutant
> I'm currently working on migrating debugging information for Ada from GNAT > encodings to standard DWARF. At the moment, I have worked on two topics that > I believe are not (completely) supported in standard DWARF: > > - fixed point types with arbitrary scale factors; > - scalar types with b

Re: [RFC] COMDAT Safe Module Level Multi versioning

2015-08-18 Thread Cary Coutant
Based on Richard's suggestion, I have a patch to localize comdat functions which seems like a very effective solution to this problem. The text size increase is limited to the extra comdat copies generated for the specialized modules (modules with unsafe options) which is u

Re: [RFC] COMDAT Safe Module Level Multi versioning

2015-08-18 Thread Cary Coutant
> +@item -fno-weak-comdat-functions > +@opindex fno-weak-comdat-functions > +Do not use weak symbol support for comdat non-virtual functions, even if it > +is provided by the linker. By default, G++ uses weak symbols if they are > +available. This option is useful when comdat functions generated

Re: [RFC] COMDAT Safe Module Level Multi versioning

2015-08-18 Thread Cary Coutant
> Thanks, will make those changes. Do you recommend a different name > for this flag like -fmake-comdat-functions-static? Well, the C++ ABI refers to this as "vague linkage." It may be a bit too long or too ABI-specific, but maybe something like -f[no-]use-vague-linkage-for-functions or -f[no-]fu

Re: [Dwarf Fission] Implement Fission Proposal (issue6305113)

2012-11-05 Thread Cary Coutant
> +/* %:replace-extension spec function. Replaces the extension of the > + first argument with the second argument. */ > + > +const char * > +replace_extension_spec_func (int argc, const char **argv) > +{ > + char *name; > + char *p; > + char *result; > + > + if (argc != 2) > +fatal_err

Re: [PATCH] Fix up assembly thunks with -gstabs+ (PR debug/54499)

2012-11-08 Thread Cary Coutant
I thought Cary's approach was error-prone. Well, yes, you did, but then you backed off after I tested an ARM compiler: On Mon, Aug 6, 2012 at 2:53 PM, Richard Henderson wrote: > On 08/06/2012 02:45 PM, Cary Coutant wrote: >> Do you still have concerns about the patch? > &

Re: [Bug debug/55328] ICE: in output_addr_table_entry, at dwarf2out.c:21780 with -gsplit-dwarf

2012-11-14 Thread Cary Coutant
> Enclosed is a simple fix for this ICE--address_table_entries that have > zero refcounts shouldn't be assigned an index. > > OK for trunk? > > Sterling > > 2012-11-14 Sterling Augustine > > * dwarf2out.c (index_address_table_entry): Check a node's refcount. Add PR debug/55328 to the Ch

Re: [Google 4.7] Backport upstream fission changes (issue6852101)

2012-12-03 Thread Cary Coutant
> 2012-11-27 Sterling Augustine > > Backport changes to fission implementation required by > trunk. See > http://gcc.gnu.org/ml/gcc-patches/2012-10/msg02684.html and > susbsequent messages for a full description of what needed to > change for it to be acc

Re: [PATCH] Improve debug info for various cases where we drop location info on the floor (PR debug/55608)

2012-12-07 Thread Cary Coutant
> This patch adds DW_AT_const_value or DW_AT_location for unused static vars > (thus, not really modified and their DECL_INITIAL can be used for > location/constant value info), and optimizes various cases using > DW_OP_GNU_implicit_pointer (e.g. DW_OP_addr DW_OP_stack_value > where symbol is eith

Re: [patch, mips, debug] Fix PR 54061, mips compiler aborts in testsuite

2012-12-07 Thread Cary Coutant
> 2012-12-07 Steve Ellcey > > PR target/54061 > * rtl.h (IGNORED_DWARF_REGNUM): New. > * dwarfwout.c (reg_loc_descriptor): Check for IGNORED_DWARF_REGNUM. Typo: s/dwarfwout/dwarf2out/ > (mem_loc_descriptor): Ditto. > * config/mips/mips.c (mips_option_ove

Re: [patch, mips, debug] Fix PR 54061, mips compiler aborts in testsuite

2012-12-10 Thread Cary Coutant
> 2012-12-07 Steve Ellcey > > PR target/54061 > rtl.h (IGNORED_DWARF_REGNUM): New. > * dwarf2out.c (reg_loc_descriptor): Check for IGNORED_DWARF_REGNUM. > (mem_loc_descriptor): Ditto. > * config/mips/mips.h (ALL_COP_REG_FIRST): New. > (ALL_COP_REG_

Re: [DWARF] Fix multiple register spanning location.

2013-04-30 Thread Cary Coutant
2013-04-26 Christian Bruel * dwarf2out.c (multiple_reg_loc_descriptor): Use DBX_REGISTER_NUMBER for spaning registers. s/spaning/spanning/ Index: dwarf2out.c === --- dwarf2out.c (revision 198287) +++ dwarf2out.c

Re: [Google 4.8 Dwarf] Backport .debug_str in .o files with -gsplit-dwarf from trunk (issue9052046)

2013-04-30 Thread Cary Coutant
> The enclosed patch puts strings in the .debug_str section in the .o > file with -gsplit-dwarf. It is backported from from trunk (which, in turn, > was ported from google_4.7). > > http://gcc.gnu.org/ml/gcc-patches/2013-04/msg01355.html > > The patch itself is no different from the one finally app

Re: [PATCH] Fix incorrect discriminator assignment.

2013-05-15 Thread Cary Coutant
> gcc/ChangeLog: > > * tree-cfg.c (locus_descrim_hasher::hash): Only hash lineno. > (locus_descrim_hasher::equal): Likewise. > (next_discriminator_for_locus): Likewise. > (assign_discriminator): Add return value. > (make_edges): Assign more discriminator if necessary. > (make_cond_expr_edges): Like

  1   2   3   4   >