[Bug ld/30367] Performance regression after updating to 2.40

2023-04-25 Thread matz at suse dot de
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

2023-04-25 Thread cvs-commit at gcc dot gnu.org
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

2023-04-19 Thread sam at gentoo dot org
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

2023-04-19 Thread sam at gentoo dot org
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

2023-04-18 Thread streetster at gmail dot com
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

2023-04-18 Thread matz at suse dot de
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

2023-04-18 Thread matz at suse dot de
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

2023-04-18 Thread amodra at gmail dot com
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.