Question regarding m68k GCC compiler error
Jeff Law
law@redhat.com
Wed Aug 12 14:48:48 GMT 2020
On Wed, 2020-08-12 at 15:43 +0200, Lukasz Majewski wrote:
> Dear Community,
>
> During development of following patch [1]
> I've triggered some interesting error on m68k port:
>
> pthread_cond_wait.c: In function
> \342\200\230__pthread_cond_wait_common\342\200\231:
> pthread_cond_wait.c:629:1: error: unable to find a register to spill in
> class \342\200\230DATA_REGS\342\200\231
> 629 | }
> | ^
> pthread_cond_wait.c:629:1: error: this is the insn:
> (jump_insn 485 484 486 27 (parallel [
> (set (pc)
> (if_then_else (eq (reg:DI 80 [ _123 ])
> (reg:DI 142 [ s+-4 ]))
> (label_ref 530)
> (pc)))
> (clobber (scratch:DI))
> (clobber (scratch:SI))
> ]) "../sysdeps/nptl/futex-internal.h":552:10 5 {cbranchdi4_insn}
> (expr_list:REG_DEAD (reg:DI 142 [ s+-4 ])
> (int_list:REG_BR_PROB 536870916 (nil)))
> -> 530)
> pthread_cond_wait.c:629: confused by earlier errors, bailing out
>
>
> This error only happens on:
>
> glibcs-m68k-linux-gnu
> glibcs-m68k-linux-gnu-coldfire
> glibcs-m68k-linux-gnu-coldfire-soft
>
> Used gcc:
> gcc version 10.2.1 20200810 [releases/gcc-10 revision
> f098bc87dca:780e3a9fbae:b5cc5c95664347082100a504710f5ca0467306a5] (GCC)
>
> After poking around it looks like this may be an internal gcc error.
>
> How to reproduce:
> 1. Please use branch [2]
> 2. ../src/scripts/build-many-glibcs.py
> /home/lukma/work/glibc/glibc-many-build --keep failed glibcs
> m68k-linux-gnu m68k-linux-gnu-coldfire
>
>
>
> Before I submit a GCC bug - has anybody encountered any similar issue
> recently for this port?
Nope, haven't seen this.
As Florian noted, this could be a problem with simply using too many registers,
but we can't know without a self-contained testcase.
jeff
>
More information about the Libc-help
mailing list