Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign upTest run-pass\sepcomp-lib-lto.rs fails with ODR violation in debug mode #25270
Comments
steveklabnik
added
the
O-windows
label
May 10, 2015
This comment has been minimized.
This comment has been minimized.
|
I've reproduced this issue on one more machine with Windows 8.1. I don't know why build bots don't catch it. |
This comment has been minimized.
This comment has been minimized.
|
Probably a duplicate of #26447
|
This comment has been minimized.
This comment has been minimized.
|
Should actually be a dupe of #23566 which is closed by now. Can you check if this is fixed as well? Thanks! |
This comment has been minimized.
This comment has been minimized.
|
@dotdash
|
This comment has been minimized.
This comment has been minimized.
|
This test still fails as of commit f18c2aa (at least when using MSVC):
|
dotdash
referenced this issue
Oct 18, 2015
Merged
Update LLVM fork to include a backported fix for broken debug locations #29144
This comment has been minimized.
This comment has been minimized.
|
The problem here seems to be that the namespaces recorded in the typenames and debuginfo don't always use the original create name, but "sometimes"(?) use the alias from That way we get a duplicate definition for a |
dotdash
referenced this issue
Oct 20, 2015
Closed
Buildbot Request: Add one `--enable-debug --enable-optimize` bot that at least bootstraps (no tests) #27010
dotdash
changed the title
Test run-pass\sepcomp-lib-lto.rs fails on Windows
Test run-pass\sepcomp-lib-lto.rs fails with ODR in debug mode
Oct 20, 2015
This comment has been minimized.
This comment has been minimized.
|
Updated the title to reflect that this isn't specific to Windows. |
dotdash
self-assigned this
Oct 20, 2015
dotdash
changed the title
Test run-pass\sepcomp-lib-lto.rs fails with ODR in debug mode
Test run-pass\sepcomp-lib-lto.rs fails with ODR violation in debug mode
Oct 20, 2015
dotdash
removed their assignment
Oct 20, 2015
sanxiyn
added
A-debuginfo
and removed
O-windows
labels
Oct 20, 2015
nagisa
referenced this issue
Nov 8, 2015
Closed
Compilation issues with debug and LTO enabled #29685
This comment has been minimized.
This comment has been minimized.
|
This also affects |
This comment has been minimized.
This comment has been minimized.
|
Somewhat unexpectedly, this also affects |
apasel422
referenced this issue
Nov 10, 2015
Closed
sepcomp-lib-lto.rs test failed on Rust 1.4.0 built with --enable-debug #29739
This comment has been minimized.
This comment has been minimized.
Just ran into this, so I can confirm this is still an issue |
This comment has been minimized.
This comment has been minimized.
|
The problem is present also on OS X with recent update 10.11.4 and XCode 7.3. I have test the master branch My configuration was:
My test command was:
The backtrace is the following:
|
This comment has been minimized.
This comment has been minimized.
|
Nominating so that compiler team addresses how to prioritize this. |
This comment has been minimized.
This comment has been minimized.
|
triage: I-nominated T-compiler |
rust-highfive
added
the
I-nominated
label
Mar 23, 2016
pnkfelix
added
the
T-compiler
label
Mar 23, 2016
This comment has been minimized.
This comment has been minimized.
|
(in particular, the fact that this is now visible on Windows and on later versions of Mac OS X is a sign that this problem is going to become a more significant problem for us than it has been in the past...) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
triage: P-medium |
rust-highfive
added
P-medium
and removed
I-nominated
labels
Mar 24, 2016
This comment has been minimized.
This comment has been minimized.
|
It's on my radar. |
This comment has been minimized.
This comment has been minimized.
|
I've managed to replicate this bug in an Ubuntu virtual machine with llvm 3.8 from a fresh pull request. I built as per ituxbag above using |
This comment has been minimized.
This comment has been minimized.
|
I'm seeing this on Arch Linux now as well. |
This comment has been minimized.
This comment has been minimized.
|
Additionally, |
This comment has been minimized.
This comment has been minimized.
MagaTailor
commented
Jul 21, 2016
|
Just hit this issue trying to compile cargo with |
yuriks
added a commit
to yuriks/tock
that referenced
this issue
Jul 22, 2016
yuriks
added a commit
to yuriks/tock
that referenced
this issue
Jul 30, 2016
yuriks
added a commit
to yuriks/tock
that referenced
this issue
Jul 30, 2016
apanda
added a commit
to NetSys/NetBricks
that referenced
this issue
Aug 4, 2016
metajack
referenced this issue
Aug 16, 2016
Closed
LLVM assertion failure when building Servo release version with debug symbols on #34434
This comment has been minimized.
This comment has been minimized.
|
Still fails today--it would be really nice to see this fixed. I'd like use LTO for my embedded platform to get smaller binaries. (I already use --gc-sections, but LTO would be even better.) |
This comment has been minimized.
This comment has been minimized.
|
On top of that, it looks like that, even if I set |
This comment has been minimized.
This comment has been minimized.
|
@whitequark FWIW it is possible to get this running with LTO -- we use LTO for Tock. You just need to, as you mentioned, ensure libcore (and friends) are compiled without debug symbols for now. One simple way to do that for libcore is to depend on the |
This comment has been minimized.
This comment has been minimized.
|
That crate seems quite outdated, but also not really enough. Currently I build the following for my target:
It would be great if there was some elegant way to build all that with Cargo, but for now I don't see it... putting stuff on crates.io is onerous and especially so when tracking nightlies is desired, adding Rust as a submodule brings in a massive dependency into your project, and I've had issues with that before simply because the networks over here aren't very good and some build tools (cough_conda_cough) aren't very smart. |
This comment has been minimized.
This comment has been minimized.
|
@whitequark Take a look at the implementation of the rust-libcore crate. It's really just a Note: obviously none of this solves the underlying bug, but just something to hold us non-compiler-folks while the professionals figure this out |
This comment has been minimized.
This comment has been minimized.
|
That would work well if I didn't also have to use a fork of Rust (the upstream doesn't define the ABI or have the LLVM target initialization for my architecture). But thanks for telling anyway, I might be able to use this in some other form. The complete lack of caching and reliance on POSIX sh is still an issue... |
This comment has been minimized.
This comment has been minimized.
|
I tried to reproduce it with the commands described in #25270 (comment) on nightly, but I couldn't. Can someone else also try it? |
This comment has been minimized.
This comment has been minimized.
pbadeer
commented
Jan 15, 2017
•
|
New to Rust, but this was halting my first ever compile of Redox. I read this: rust-lang/cargo#1691 and changed I have a Mac running OSX 10.12.2 and Xcode 8.2.1 with Rust Nightly |
petrochenkov commentedMay 10, 2015
I'm using msys2 x64 on Windows 7 and a fresh clone of Rust.
cc #23566