> 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
> You are right, we need discriminator for non-CALL stmts too. Patch updated:
OK for google branches. Thanks!
-cary
> 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
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
> /* 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
> 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 @@
>
> 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
>> 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
> 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,
>>> 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
> 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
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
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
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
> 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
> 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
>> 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
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):
> 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
> 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
> 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.
> 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
> 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
> 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)
>
>
>> 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?
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
> 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
> 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
> 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)->
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
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
> 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
.
(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
> 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
>>> 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
>> 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
> 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
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)
> 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'
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
> 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
>> 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
>> 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
> 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
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
> Having just looked at the opts.c and tree-ssa-live.c changes, they're fine.
Thanks, I've committed the patch.
-cary
>> 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
>>> 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
>> 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
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
> 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
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
>>>
> 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
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
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)
++
> 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
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
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
> 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
[+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
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-
>> @@ -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
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
>>>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
>> +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
>> > 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
>>> 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
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
> 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
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
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
>>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
> 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
> 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
>> 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,
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
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
>
>
>
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.
> 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
> 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
> 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
> 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
> 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.
>
>> 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
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
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
> 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
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
> +@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
> 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
> +/* %: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
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?
>
&
> 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
> 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
> 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
> 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
> 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_
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
> 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
> 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 - 100 of 332 matches
Mail list logo