https://sourceware.org/bugzilla/show_bug.cgi?id=22870
--- Comment #2 from Alexandre Oliva <aoliva at sourceware dot org> --- I suspect the source of the problem is the lack of view reset asserts. Without that, the assembler gets an uninterrupted chain of symbolic views, in which each view is computed based on the view before it and the offset between the addresses in which they were issued. Depending on the order in which the assembler attempts to resolve each view to a constant, it could get expensive. It was never meant for this kind of use: it was expected that most views would be zero-asserts, so this wouldn't arise. The issuance of view asserts was disabled in GCC, triggering this undesirable behavior in the assembler, but I'm not sure I'd consider it a bug in gas. GCC can and should avoid these long chains, issuing view reset asserts after insns known to generate code. It has code to do so, but it's disabled because a few targets had wrong lengths and need auditing and possibly overriding in a target hook. -- You are receiving this mail because: You are on the CC list for the bug. _______________________________________________ bug-binutils mailing list bug-binutils@gnu.org https://lists.gnu.org/mailman/listinfo/bug-binutils