-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rustc nightly returns 1 (false) on armv7 #35982
Comments
Since it seems to be aborting with no output or backtrace, can you try running it under a debugger to see where it stops? |
|
And On Thu, Aug 25, 2016 at 11:25 AM, Joshua [email protected] wrote:
|
no stack
|
It seems like the compiler doesn't even start. On Thu, Aug 25, 2016 at 11:31 AM, Joshua [email protected] wrote:
|
well it works on the |
Did you manage to run |
@petevine yes. I have seen the other issue. but running |
Right, sorry;missed the meta info. If you're using an official build, try the workaround all the same or use a different nightly. Definitely works for me. |
just updated rustc to latest nightly
still no change. stable works btw. |
Could you try a recent build of mine? If that doesn't work either, rustc is not to blame. |
your build works. |
Aha, hopefully a variation of that patchelf issue. It would be ridiculous if the buildbot binaries didn't work for some new reason! |
the patchelf workaround described in #35843 does not work and I do not get a segfault. |
Without a trace we don't even know what to add. Did you try both? |
there is no more trace than this #35982 (comment) |
belst: I would recommend adding a breakpoint for |
|
For what it's worth the same nightly works on a model 3. Both models use the same edit: |
[pi@raspberrypi ~]$ gdb --args .multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/rustc main.rs
GNU gdb (Raspbian 7.7.1+dfsg-5) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "arm-linux-gnueabihf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from .multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/rustc...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/rustc main.rs
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0x731ff260 (LWP 872)]
Program received signal SIGILL, Illegal instruction.
[Switching to Thread 0x731ff260 (LWP 872)]
0x769d7bb4 in rustc_trans::mir::constant::MirConstContext::new::he4e1ab069b9c99ae ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
(gdb) bt
#0 0x769d7bb4 in rustc_trans::mir::constant::MirConstContext::new::he4e1ab069b9c99ae ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
#1 0x769df0d0 in rustc_trans::mir::constant::_$LT$impl$u20$rustc_trans..mir..MirContext$LT$$u27$bcx$C$$u20$$u27$tcx$GT$$GT$::trans_constant::hd8197320dad23619 ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
#2 0x769e1164 in rustc_trans::mir::operand::_$LT$impl$u20$rustc_trans..mir..MirContext$LT$$u27$bcx$C$$u20$$u27$tcx$GT$$GT$::trans_operand::h422464b4e23f1932 ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
#3 0x769e3e50 in rustc_trans::mir::rvalue::_$LT$impl$u20$rustc_trans..mir..MirContext$LT$$u27$bcx$C$$u20$$u27$tcx$GT$$GT$::trans_rvalue_operand::h732e4a147649da60 ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
#4 0x769d0cbc in rustc_trans::mir::block::_$LT$impl$u20$rustc_trans..mir..MirContext$LT$$u27$bcx$C$$u20$$u27$tcx$GT$$GT$::trans_block::hc88a54279f657f65 ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
#5 0x769cebdc in rustc_trans::mir::trans_mir::h543a14de51581634 ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
#6 0x769761e0 in rustc_trans::base::trans_closure::h9f2aad00e64599b1 ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
#7 0x769eed08 in rustc_trans::trans_item::TransItem::define::h76471544c9971e4f ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
#8 0x769793c0 in rustc_trans::base::trans_crate::h75a5a0a51f75dfcc ()
from /home/pi/.multirust/toolchains/nightly-armv7-unknown-linux-gnueabihf/bin/../lib/../lib/librustc_trans-8be786fe9ad50a77.so
#9 0x00000000 in ?? ()
(gdb) |
Now, the trace strongly points to this being the same issue as all other ARM SIGILL issues. You could try to check the disassembly at the point where signal is raised to check what the instruction it is and whether it is related to neon or other optional features of ARM. |
(gdb) disassemble 0x769d7bb4,+1
Dump of assembler code from 0x769d7bb4 to 0x769d7bb5:
=> 0x769d7bb4 <_ZN11rustc_trans3mir8constant15MirConstContext3new17he4e1ab069b9c99aeE+380>: str r0, [r0, r11]!
End of assembler dump.
(gdb) The nightly I downloaded in order to test this had no |
Right, old-trans has just been removed so you're out of luck until LLVM provide a patch. |
rustup also has a crash bug on armv7: rust-lang/rustup#687. Might be related. |
Closing in favor of #34427. |
I tried compiling a project of mine on my raspberry pi 2 but I couldnt, because rustc always crashed.
After Investigating a bit further I found this out:
this DOES NOT compile
this however, DOES compile:
output:
Meta
rustc --version --verbose
:uname -a
:The text was updated successfully, but these errors were encountered: