Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

LLVM uses libgcc `__mulodi4` etc. symbols for MSVC targets #164

jckarter opened this Issue Jan 8, 2012 · 1 comment


None yet
1 participant

jckarter commented Jan 8, 2012

No description provided.


jckarter commented Jan 12, 2012

Some notes:

  • Issue #166 happens because LLVM tries to use _ftol2 for floating-point to unsigned long long conversion, but it doesn't use the correct calling convention. _ftol2 expects the input float to be passed on the x87 stack instead of following the C or stdcall convention. According to Bigcheese in #llvm, this will require a custom MInstr to handle.
  • __mulodi4 is the compiler-rt entry point for 64-bit multiplication with overflow. Not sure if msvcrt has a corresponding entry point; might need to do i64 overflow checking by hand (or disable it) on Windows.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment