<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}
p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div>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:<br></div><ul></ul><ul><li>__ashlsi3<br></li><li>__lshrsi3<br></li><li>__divmodti4<br></li><li>__ashrsi3<br></li></ul><div>The exact error and my other findings on this can be found in an <a href="https://github.com/avr-rust/rust/issues/149">issue</a> on the Github repo for the AVR Rust fork.<br></div><div>I've been able to confirm that these functions are present in <a href="https://github.com/gvz/avr-gcc/tree/master/libgcc">libgcc</a>.<br></div><div><br></div><div>My current belief is that the first step towards rectifying the problem (based on <a href="https://github.com/avr-rust/rust/pull/115#issuecomment-435277273">this comment</a> 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.<br></div><div><br></div><div>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.<br></div><div><br></div><div>Thanks!<br></div><div>Jonah Dahlquist<br></div></body></html>