https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65249
Bug ID: 65249 Summary: unable to find a register to spill in class 'R0_REGS' when compiling protobuf on sh4 Product: gcc Version: 4.9.2 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: glaubitz at physik dot fu-berlin.de Target: sh*-*-* Hello! Here's another package that previously successfully built on Debian sh4 and now fails with an apparent compiler error: /bin/bash ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c -o google/protobuf/descriptor.pb.lo google/protobuf/descriptor.pb.cc libtool: compile: g++ -DHAVE_CONFIG_H -I. -I.. -D_FORTIFY_SOURCE=2 -pthread -Wall -Wwrite-strings -Woverloaded-virtual -Wno-sign-compare -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -c google/protobuf/descriptor.pb.cc -fPIC -DPIC -o google/protobuf/.libs/descriptor.pb.o google/protobuf/descriptor.pb.cc: In member function 'virtual google::protobuf::Metadata google::protobuf::OneofDescriptorProto::GetMetadata() const': google/protobuf/descriptor.pb.cc:3448:1: error: unable to find a register to spill in class 'R0_REGS' } ^ google/protobuf/descriptor.pb.cc:3448:1: error: this is the insn: (insn 102 127 85 7 (set (reg:SI 1 r1 [+4 ]) (mem/f/c:SI (plus:SI (reg/f:SI 1 r1 [197]) (reg:SI 12 r12)) [5 OneofDescriptorProto_reflection_+0 S4 A32])) google/protobuf/descriptor.pb.cc:3448 257 {movsi_ie} (expr_list:REG_DEAD (reg/f:SI 1 r1 [197]) (nil))) google/protobuf/descriptor.pb.cc:3448: confused by earlier errors, bailing out Preprocessed source stored into /tmp/ccdkVmsq.out file, please attach this to your bugreport. Build log here [1], precompiled source attached. Cheers, Adrian > [1] > http://buildd.debian-ports.org/status/fetch.php?pkg=protobuf&arch=sh4&ver=2.6.1-1&stamp=1425065627