5ae1a533c7
. bitcode fixes . switch to compiler-rt instead of netbsd libc functions or libgcc for support functions for both x86 and arm . minor build fixes . allow build with llvm without crossbuilding llvm itself . can now build minix/arm using llvm and eabi - without C++ support for now (hence crossbuilding llvm itself is turned off for minix/arm) Change-Id: If5c44ef766f5b4fc4394d4586ecc289927a0d6eb
29 lines
777 B
C
29 lines
777 B
C
/* ===-- modsi3.c - Implement __modsi3 -------------------------------------===
|
|
*
|
|
* The LLVM Compiler Infrastructure
|
|
*
|
|
* This file is dual licensed under the MIT and the University of Illinois Open
|
|
* Source Licenses. See LICENSE.TXT for details.
|
|
*
|
|
* ===----------------------------------------------------------------------===
|
|
*
|
|
* This file implements __modsi3 for the compiler_rt library.
|
|
*
|
|
* ===----------------------------------------------------------------------===
|
|
*/
|
|
|
|
#include "int_lib.h"
|
|
|
|
#ifdef __minix
|
|
si_int COMPILER_RT_ABI __divsi3(si_int a, si_int b);
|
|
#else
|
|
su_int COMPILER_RT_ABI __divsi3(si_int a, si_int b);
|
|
#endif
|
|
|
|
/* Returns: a % b */
|
|
|
|
COMPILER_RT_ABI si_int
|
|
__modsi3(si_int a, si_int b)
|
|
{
|
|
return a - __divsi3(a, b) * b;
|
|
}
|