[llvm-dev] How to add support for ashlsi3, lshrsi3, divmodti4, and ashrsi3

Jonah Dahlquist via llvm-dev llvm-dev at lists.llvm.org
Fri Sep 20 18:32:55 PDT 2019


First some context. I'm working on an embedded driver written in Rust, and want it to compilable to the AVR platform, which is experimentally supported by LLVM. When compiling, I get linker errors that complain undefined references to these functions:
 * __ashlsi3
 * __lshrsi3
 * __divmodti4
 * __ashrsi3
The exact error and my other findings on this can be found in an issue <https://github.com/avr-rust/rust/issues/149> on the Github repo for the AVR Rust fork.
I've been able to confirm that these functions are present in libgcc <https://github.com/gvz/avr-gcc/tree/master/libgcc>.

My current belief is that the first step towards rectifying the problem (based on this comment <https://github.com/avr-rust/rust/pull/115#issuecomment-435277273> on a related issue) is to add support for these functions to compiler-rt. However, I am 1) not confident that this is the correct move, and 2) completely ignorant on how to make such an addition.

Any direction that someone familiar with this can provide would be greatly appreciated. Without even knowing where in the code to look for where these new functions might live makes moving forward very difficult.

Thanks!
Jonah Dahlquist
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190920/9509625e/attachment-0001.html>


More information about the llvm-dev mailing list