[Bug ld/30367] Performance regression after updating to 2.40
https://sourceware.org/bugzilla/show_bug.cgi?id=30367 Michael Matz changed: What|Removed |Added Resolution|--- |FIXED Status|ASSIGNED|RESOLVED --- Comment #5 from Michael Matz --- Fixed in master. -- You are receiving this mail because: You are on the CC list for the bug.
[Bug ld/30367] Performance regression after updating to 2.40
https://sourceware.org/bugzilla/show_bug.cgi?id=30367 --- Comment #4 from cvs-commit at gcc dot gnu.org --- The master branch has been updated by Michael Matz : https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=8f5cd47bee6c07c33aeda758d8d8db5f81ae03e7 commit 8f5cd47bee6c07c33aeda758d8d8db5f81ae03e7 Author: Michael Matz Date: Tue Apr 18 16:16:01 2023 +0200 section-select: Fix performance problem (PR30367) when using many wild-statements with non-wildcard filenames we were running into quadraticness via repeatedly using lookup_name on a long list of loaded files. I've originally retained using lookup_name because that preserved existing behaviour most obviously. In particular in matching wild-statements when using a non-wildcard filename it matches against local_sym_name, not the filename member. If the wildspec would have an archive-spec or a wildcard it would use the filename member, though. Also it would load the named file (and ignore it, as being not equal to the currently considered input-statement). Rewrite this to not use lookup_name but retain the comparison against local_sym_name with a comment to that effect. PR 30367 * ldlang.c (walk_wild_section_match): Don't use lookup_name but directly compare spec and local_sym_name. -- You are receiving this mail because: You are on the CC list for the bug.
[Bug ld/30367] Performance regression after updating to 2.40
https://sourceware.org/bugzilla/show_bug.cgi?id=30367 Sam James changed: What|Removed |Added CC||sam at gentoo dot org -- You are receiving this mail because: You are on the CC list for the bug.
[Bug ld/30367] Performance regression after updating to 2.40
https://sourceware.org/bugzilla/show_bug.cgi?id=30367 Sam James changed: What|Removed |Added See Also||https://sourceware.org/bugz ||illa/show_bug.cgi?id=30358 -- You are receiving this mail because: You are on the CC list for the bug.
[Bug ld/30367] Performance regression after updating to 2.40
https://sourceware.org/bugzilla/show_bug.cgi?id=30367 --- Comment #3 from Mark Street --- Just tested your proposed patch against the N64 project: root@5e98d9b5788e:/sssv# time mips-elf-ld -T sssv.ld -T undefined_syms.us.txt -T undefined_syms_auto.txt -Map build/sssv.us.map --no-check-sections -Lbuild/lib -lultra_rom -u osViGetCurrentLine -o build/sssv.us.elf real0m0.324s user0m0.283s sys 0m0.041s Much better! -- You are receiving this mail because: You are on the CC list for the bug.
[Bug ld/30367] Performance regression after updating to 2.40
https://sourceware.org/bugzilla/show_bug.cgi?id=30367 --- Comment #2 from Michael Matz --- No need to dig into trying with an empty ROM. It's easily reproducable with many input files each being used in a wildstatement of a linker script. It's a quadraticness problem. Proposed fix at https://sourceware.org/pipermail/binutils/2023-April/127120.html -- You are receiving this mail because: You are on the CC list for the bug.
[Bug ld/30367] Performance regression after updating to 2.40
https://sourceware.org/bugzilla/show_bug.cgi?id=30367 Michael Matz changed: What|Removed |Added Last reconfirmed||2023-04-18 Ever confirmed|0 |1 Status|UNCONFIRMED |ASSIGNED Assignee|unassigned at sourceware dot org |matz at suse dot de --- Comment #1 from Michael Matz --- So the specific feature heavily used in the linker script seems to be section descriptions based on filenames. I will try to create a reproducer for this situation locally, but it would also help if I had a way to test it better in your setup. Is there any possibility you could make it so that I can build/test your github project _without_ having access to the N64 ROM? (E.g. by replacing it with an all-zeros ROM for instance? The result won't work, but I'm only interested in building anyway.) -- You are receiving this mail because: You are on the CC list for the bug.
[Bug ld/30367] Performance regression after updating to 2.40
https://sourceware.org/bugzilla/show_bug.cgi?id=30367 Alan Modra changed: What|Removed |Added CC||matz at suse dot de -- You are receiving this mail because: You are on the CC list for the bug.