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 uptarget_feature requires embedded LLVM copy to be usable #46181
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
the error I have while building stock firefox-57 on openbsd with rustc 1.22:
|
kennytm
added
A-LLVM
A-simd
C-feature-request
labels
Nov 22, 2017
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Isn't Anyway, AFAIK |
This comment has been minimized.
This comment has been minimized.
|
it seems the issue was already present with rust-1.21.0: freebsd already saw it: freebsd bug 223300 at openbsd, rust-1.21.0 was compiled with embedded LLVM. this one with system LLVM. so I only saw it now. about firefox, it seems that firefox explicitely enable the build with simd for performance reason. see firefox 1261841 |
This comment has been minimized.
This comment has been minimized.
|
firefox enable nightly features for simd: config/rules.mk#875 |
This comment has been minimized.
This comment has been minimized.
|
Then Firefox is cheating -- but you still have the option to build it without simd, it seems. |
alexcrichton
referenced this issue
Dec 1, 2017
Open
Move more of src/rustllvm to upstream LLVM #46437
This comment has been minimized.
This comment has been minimized.
|
with #49428, the problem should be solved. thanks. |
semarie commentedNov 22, 2017
It seems that
target_featurerequires the embedded LLVM copy to populate the available target_features.target_features()insrc/librustc_trans/llvm_util.rsiterates on whitelisted lists of features, and check for each if the feature is available, usingllvm::LLVMRustHasFeature().The function comes from
src/rustllvm/PassWrapper.cpp, and will return alwaysfalseifLLVM_RUSTLLVMisn't defined. So if the binded LLVM isn't the embedded copy.I found it when building rustc 1.22 (prestable) as
run-pass/sse2failed. But firefox-57 depends onsimdcrate andsimdusestarget_feature: it makes firefox unbuildable in such situation.As for distro, it is really a common thing to avoid embedded copy of code, it is really annoying.