[llvm] r215862 - ARM: improve RTABI 4.2 conformance on Linux
Renato Golin
renato.golin at linaro.org
Thu Aug 21 09:42:57 PDT 2014
On 21 August 2014 17:35, Saleem Abdulrasool <compnerd at compnerd.org> wrote:
> Sorry, Im afraid I don't understand something here. Why would we want a
> flag for the "bare-metal" target? I believe both environments should
> conform to the RTABI (which defines the functions being used). As it
> stands, compiler-rt (correctly, AIUI) doesn't change behavior based on the
> "bare-metal" vs Linux or Android.
In GNUEABI mode, _modsi3 and _divsi3 are perfectly valid replacements
for __aeabi_divmod. In pure EABI mode, they're not. Most of the time,
they're just aliases, so that's ok, but in divmod's case, the
remainder comes from a different place, so it does matter. So we don't
actually need to differentiate "bare-metal" vs. "OS", but "pure EABI"
from "relaxed EABI". AndroidEABI is yet another variation, not
entirely compatible with either, and not just in library calls.
Compiler-RT has both standards (AFAIK) and it doesn't change anything,
it just provides the functionality. The problem, IIUC, is not RT, but
the back-end emitting conflicting calls and result expectation.
cheers,
--renato
More information about the llvm-commits
mailing list