From: glaubitz@... Date: 2016-03-26T18:26:18+00:00 Subject: [ruby-core:74595] [Ruby trunk Bug#12120] [target/sh4] error: 'asm' operand requires impossible reload Issue #12120 has been updated by John Paul Adrian Glaubitz. Hi! Just a quick update: I have started a discussion in the gcc bug tracker [1] since I am not so sure whether this is actually a bug in ruby or in gcc. One of the gcc developers, Oleg Endo, has suggested adding "-mlra" to gcc to use the local register allocator and it turns out that vm.c will then build without any issue. However, adding -mlra as a global gcc option for the whole ruby tree will trigger a different compiler problem. So, unless there is a simple way to pass -mlra to gcc for just vm.c, I haven't found a solution yet. I'll wait for more feedback from the gcc developers though as I have provided them with the preprocessed source for vm.c. Maybe they'll figure out this is something to be fixed in gcc. Thanks, Adrian > [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70416 ---------------------------------------- Bug #12120: [target/sh4] error: 'asm' operand requires impossible reload https://bugs.ruby-lang.org/issues/12120#change-57724 * Author: John Paul Adrian Glaubitz * Status: Feedback * Priority: Normal * Assignee: * ruby -v: * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Hello! ruby2.3 fails to build from source on sh4 (Hitachi/Renesas SuperH), the build fails with [1]: ``` gcc -mieee -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -fPIC -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -Wdate-time -D_FORTIFY_SOURCE=2 -I. -I.ext/include/sh4-linux-gnu -I./include -I. -o vm.o -c vm.c In file included from probes.h:10:0, from vm.c:23: vm_exec.c: In function 'vm_exec_core': probes.h:21:1: error: 'asm' operand requires impossible reload DTRACE_PROBE4 (ruby, method__entry, arg1, arg2, arg3, arg4) ^ ``` This appears to be a regression in ruby from version 2.2 to 2.3 since ruby2.2 builds fine on the exact same machine [2]. Let me know if you need any more input. The logs can be directly viewed in [1] and [2] and you can set up your own sh4 chroot with the documentation in [3]. Thanks, Adrian [1]: https://buildd.debian.org/status/fetch.php?pkg=ruby2.3&arch=sh4&ver=2.3.0-2&stamp=1455247013 [2]: https://buildd.debian.org/status/fetch.php?pkg=ruby2.2&arch=sh4&ver=2.2.4-1&stamp=1454943020 [3]: https://wiki.debian.org/SH4/sbuildQEMU -- https://bugs.ruby-lang.org/ Unsubscribe: