summaryrefslogtreecommitdiffstats
path: root/contrib/compiler-rt
Commit message (Collapse)AuthorAgeFilesLines
* Don't use the pcs attribute on compilers that don't support it. We canandrew2013-01-191-1/+9
| | | | revert this when we stop supporting old versions of gcc.
* Add a newline at the end of the file to stop gcc from complainingandrew2013-01-191-1/+2
|
* Import compiler-rt r172839.andrew2013-01-187-5/+64
| | | | | This brings in __aeabi_lcmp and __aeabi_ulcmp. It also fixes the spelling of __aeabi_f2lz. Both changes originated on the arm_eabi project branch.
* Import compiler-rt r160957.andrew2012-08-0887-124/+665
| | | | | | This is mostly a no-op other than for ARM where it adds missing __aeabi_mem* and __aeabi_*divmod functions. Even on ARM these will remain unused until the rest of the ARM EABI code is merged.
* Regenerate after r235388.marius2012-05-132-30/+24
|
* - Get rid of debugging support in order to get rid of the V8-specific Cmarius2012-05-131-20/+18
| | | | | | | | | | | compiler frame size used there so this whole thing is V8/V9-agnostic. - Use 32-bit function alignment as GCC does when using UltraSPARC I or higher optimizations. - Don't waste delay slots when possible. Unfortunately, this still doesn't make libcompiler_rt a viable replacement for libgcc on sparc64 though as once installed instead, buildworld times increase by nearly 60% (which isn't related to these assembler functions).
* Add SPARC64 version of div/mod written in assembly.ed2012-01-126-0/+924
| | | | | | | | This version is similar to the code shipped with libgcc. It is based on the code from the SPARC64 architecture manual, provided without any restrictions. Tested by: flo@
* Add a workaround to prevent endless recursion in compiler-rt.ed2012-01-121-0/+20
| | | | | | | | | | | | | | | SPARC and MIPS CPUs don't have special instructions to count leading/trailing zeroes. The compiler-rt library provides fallback rountines for these. The 64-bit routines, __clzdi2 and __ctzdi2, are implemented as simple wrappers around the compiler built-in __builtin_clz(), assuming these will expand to either 32-bit CPU instructions or calls to __clzsi2 and __ctzsi2. Unfortunately, our GCC 4.2 probably thinks that because the operand is stored in a 64-bit register, it might just be a better idea to invoke its 64-bit equivalent, simply resulting into endless recursion. Fix this by defining __builtin_clz and __builtin_ctz to __clzsi2 and __ctzsi2 explicitly.
* Import compiler-rt r147467.ed2012-01-032-3/+3
| | | | | The compiler-rt shipped with FreeBSD is now based on unmodified upstream sources.
* Upgrade libcompiler_rt to upstream revision 147390.ed2011-12-31149-897/+882
| | | | | | | | | This version of libcompiler_rt adds support for __mulo[sdt]i4(), which computes a multiply and its overflow flag. There are also a lot of cleanup fixes to headers that don't really affect us. Updating to this revision should make it a bit easier to contribute changes back to the LLVM developers.
* Upgrade libcompiler_rt from revision 117047 to 132478.ed2011-06-03201-536/+1346
| | | | | | | | | | | | | | | | | | | | | | It seems there have only been a small amount to the compiler-rt source code in the mean time. I'd rather have the code in sync as much as possible by the time we release 9.0. Changes: - The libcompiler_rt library is now dual licensed under both the University of Illinois "BSD-Like" license and the MIT license. - Our local modifications for using .hidden instead of .private_extern have been upstreamed, meaning our changes to lib/assembly.h can now be reverted. - A possible endless recursion in __modsi3() has been fixed. - Support for ARM EABI has been added, but it has no effect on FreeBSD (yet). - The functions __udivmodsi4 and __divmodsi4 have been added. Requested by: many, including bf@ and Pedro Giffuni
* Set symbol visibility to hidden.ed2010-11-111-3/+3
| | | | | | | Not doing so may cause all sorts of random libraries to expose libcompiler_rt's functions, which should of course not be done. Discussed with: kan, kib
* Import libcompiler_rt into HEAD and add Makefiles.ed2010-11-11207-0/+12384
Obtained from: user/ed/compiler-rt
OpenPOWER on IntegriCloud