bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/30292] New: Unbounded recursion/infinite loop in eqv expansion


From: charlechaud at gmail dot com
Subject: [Bug gas/30292] New: Unbounded recursion/infinite loop in eqv expansion
Date: Thu, 30 Mar 2023 17:39:35 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=30292

            Bug ID: 30292
           Summary: Unbounded recursion/infinite loop in eqv expansion
           Product: binutils
           Version: 2.39
            Status: UNCONFIRMED
          Severity: critical
          Priority: P2
         Component: gas
          Assignee: unassigned at sourceware dot org
          Reporter: charlechaud at gmail dot com
  Target Milestone: ---

Created attachment 14791
  --> https://sourceware.org/bugzilla/attachment.cgi?id=14791&action=edit
One of 5 files triggering the infinite loop (run out of gcc or do gcc -E
first).

gas from binutils-2.38 works fine and produces correct object code.  While
introduced in 2.39, this bug persists in 2.40.

There is an infinite loop of i386_intel_simplify_symbol mutually recursing with
i386_intel_simplify in all x64 .S files except the "shani" one in this repo:

    https://github.com/prysmaticlabs/hashtree

For example:

    https://github.com/prysmaticlabs/hashtree/blob/main/src/sha256_avx_x4.S

To be complete/autonomous, I have attached this file, but the other 5 fail in a
very similar way if that helps.  (Note that it needs pre-processing first.)

Setting a breakpoint at those symbols with a debugging enabled build, it seems
like expanding the symbol `e` in translating a "vpslld TMP,e" instruction (in
thatsha256_avx_x4.S file, anyway - the instruction triggering the looping
recursion varies).

The `e` symbol in question is part of some `eqv` s near the start of the file.

I have not really tried to minimize this to the smallest reproducing bug, but
the consistency of failure does suggest such minimizing might be
straightforward.

There was a somewhat substantial patch to this file between 2.38 and 2.39 that
may be the origin of the problem.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]