https://gcc.gnu.org/bugzilla/show_bug.cgi?id=124409

            Bug ID: 124409
           Summary: [15/16 Regression] stops building with binutils 2.38
                    on riscv64-linux-gnu
           Product: gcc
           Version: 16.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org
  Target Milestone: ---

seen when trying to backport newer GCC versions, the build fails when trying to
build with binutils 2.38.  it builds fine with 2.42.  The build fails in the
first target library being built (libgcc) with:

Assembler messages:
Error: rv64imafdc_zicsr_zifencei_zmmul_zca_zcd: unknown prefixed ISA extension
`zmmul'
/tmp/ccK6rGNk.s:3: Error:
rv64i2p1_m2p0_a2p1_f2p2_d2p2_c2p0_zicsr2p0_zifencei2p0_zmmul1p0_zca1p0_zcd1p0:
unknown prefixed ISA extension `zmmul'

GCC is configured with --with-arch=rv64gc --with-abi=lp64d

I'm filing that as a regression, because this only fails on riscv64, not on any
of the other usual suspects/architectures.

What should be done, is to check the requirements for binutils in the gcc
configury, as done for several other architectures, or at least document the
requirements for the minimum binutils version. At least all the changes html
pages don't mention anything.

Side question: can I configure GCC 15 / 16 to still build using binutils 2.38
on riscv64?


For GCC 12, I also see a build failure when building with  binutils 2.34, which
builds fine with 2.38, like:

configure:3800: checking for suffix of object files
configure:3822: /<<PKGBUILDDIR>>/build/./gcc/xgcc
-B/<<PKGBUILDDIR>>/build/./gcc/ -B/usr/riscv64-linux-gnu/bin/
-B/usr/riscv64-linux-gnu/lib/ -isystem /usr/riscv64-linux-gnu/include
-isystem/usr/riscv64-linux-gnu/sys-include -isystem
/<<PKGBUILDDIR>>/build/sys-include   -fno-checking -c -g -O2  conftest.c >&5
Assembler messages:
Fatal error: -march=rv64imafdc_zicsr_zifencei: unsupported ISA subset `z'

Reply via email to