|
From: | potuz at potuz dot net |
Subject: | [Bug gas/30294] New: Infinite recursion expanding macro |
Date: | Thu, 30 Mar 2023 22:46:35 +0000 |
https://sourceware.org/bugzilla/show_bug.cgi?id=30294 Bug ID: 30294 Summary: Infinite recursion expanding macro Product: binutils Version: 2.39 Status: UNCONFIRMED Severity: normal Priority: P2 Component: gas Assignee: unassigned at sourceware dot org Reporter: potuz at potuz dot net Target Milestone: --- The [hashtree](https://github.com/prysmaticlabs/hashtree) fails to compile since version 2.39 of binutils. GNU's assembler crashes with a SIGSEGV on an infinite recursion expanding a macro. This regression was introduced in [commit 0x4faaa10f3fabb345aca006ed67a8be97dc924e9c](https://sourceware.org/git/?p=binutils-gdb.git;a=commit;h=4faaa10f3fabb345aca006ed67a8be97dc924e9c). ## Steps to reproduce 1. Download [this file from hashtree](https://github.com/prysmaticlabs/hashtree/blob/main/src/sha256_avx_x1.S) 2. Try to compile it as ``` $ $ cc -c sha256_avx_x1.S cc: internal compiler error: Segmentation fault signal terminated program as ``` The infinite recursion happens expanding the macro that [rotates the arguments](https://github.com/prysmaticlabs/hashtree/blob/main/src/sha256_avx_x1.S#L160-L170) and it recurses here https://sourceware.org/git/?p=binutils-gdb.git;a=blob;f=gas/config/tc-i386-intel.c;h=c139c584573c45e9779a583f12f6b6a0641c2844;hb=HEAD#l551 3. Repeat 2 with the commit right before the one marked and compilation succeeds. The above assembly is a mod of Intel's assembly from https://github.com/intel/intel-ipsec-mb/blob/main/lib/avx_t1/sha256_one_block_avx.asm#L159-L171 -- You are receiving this mail because: You are on the CC list for the bug.
[Prev in Thread] | Current Thread | [Next in Thread] |