Skip to content
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

Current LLVM trunk incompatible with librustrt. #581

Closed
froystig opened this issue Jun 27, 2011 · 1 comment
Closed

Current LLVM trunk incompatible with librustrt. #581

froystig opened this issue Jun 27, 2011 · 1 comment
Assignees
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.

Comments

@froystig
Copy link
Contributor

On 32-bit Linux and LLVM trunk revision 133904 (tip at the time of filing), rustc fails to build (in particular, librustrt fails to link) rustllvm/MachOObjectFile.o. This appears to be due to a change in the interface of LLVM's ObjectFile probably introduced by revisions 133868 through 133872.

LLVM revision 133867 works just fine.

Some sample errors include:

/usr/local/include/llvm/Object/ObjectFile.h:131:22: error: ‘virtual llvm::error_code llvm::object::ObjectFile::getSymbolNext(llvm::object::DataRefImpl, llvm::object::SymbolRef&) const’ was hidden
../src/rustllvm/MachOObjectFile.cpp:49:21: error:   by ‘virtual llvm::object::SymbolRef llvm::MachOObjectFile::getSymbolNext(llvm::object::DataRefImpl) const’
../src/rustllvm/MachOObjectFile.cpp: In constructor ‘llvm::MachOObjectFile::MachOObjectFile(llvm::MemoryBuffer*, llvm::object::MachOObject*)’:
../src/rustllvm/MachOObjectFile.cpp:37:65: error: no matching function for call to ‘llvm::object::ObjectFile::ObjectFile(llvm::MemoryBuffer*&)’
/usr/local/include/llvm/Object/ObjectFile.h:116:3: note: candidates are: llvm::object::ObjectFile::ObjectFile(unsigned int, llvm::MemoryBuffer*, llvm::error_code&)
/usr/local/include/llvm/Object/ObjectFile.h:113:3: note:                 llvm::object::ObjectFile::ObjectFile(const llvm::object::ObjectFile&)
/usr/local/include/llvm/Object/ObjectFile.h:112:3: note:                 llvm::object::ObjectFile::ObjectFile()

and

../src/rustllvm/MachOObjectFile.cpp: In static member function ‘static llvm::object::ObjectFile* llvm::object::ObjectFile::createMachOObjectFile(llvm::MemoryBuffer*)’:
../src/rustllvm/MachOObjectFile.cpp:79:46: error: cannot allocate an object of abstract type ‘llvm::MachOObjectFile’
../src/rustllvm/MachOObjectFile.cpp:32:43: note:   because the following virtual functions are pure within ‘llvm::MachOObjectFile’:
/usr/local/include/llvm/Object/ObjectFile.h:131:22: note:   virtual llvm::error_code llvm::object::ObjectFile::getSymbolNext(llvm::object::DataRefImpl, llvm::object::SymbolRef&) const
@ghost ghost assigned pcwalton Jun 27, 2011
@espindola
Copy link

fixed

marysaka pushed a commit to sunriseos/rust that referenced this issue Oct 20, 2019
* fix _mm_castsi128_pd and _mm_castpd_si128 impls

The _mm_castX_Y SSE intrinsics are "reinterpreting" casts; LLVM's
simd_cast is a "converting" cast. Replace simd_cast with mem::transmute.
Fixes rust-lang#55249

* Temporarily pin CI

* Fix i686 segfaults

* Fix wasm CI

Output of `wasm2wat` has changed!

* Fix AppVeyor with an older nightly
ZuseZ4 pushed a commit to EnzymeAD/rust that referenced this issue Mar 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-LLVM Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.
Projects
None yet
Development

No branches or pull requests

3 participants