Project

General

Profile

Bug #8201

Some builds on SPARC stop with a register spill error

Added by Gary Mills over 2 years ago. Updated over 2 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
OI-Userland
Target version:
-
Start date:
2017-05-11
Due date:
% Done:

90%

Estimated time:
Difficulty:
Medium
Tags:
needs-triage

Description

Builds of some oi-userland components stop with a gcc error. For example, the build of sysutils/coreutils on SPARC hardware stops with this error:

.../coreutils-8.25/src/factor.c: In function 'prime2_p.part.2':
.../coreutils-8.25/src/factor.c:1371:1: error: unable to find a register to spill in class 'I64_REGS'

This only happens with 32-bit SPARC builds. 64-bit SPARC builds or any builds on x86 hardware are not affected. Other components, database/percona-server-57 and xorriso, also have this same problem. It's due to a bug in the gcc optimizer on certain hardware platforms.

The solution, actually a workaround, is to reduce the optimization level for builds on those platforms.

Also available in: Atom PDF