summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/builtins/gcc_personality_v0.c
Commit message (Collapse)AuthorAgeFilesLines
* Revert "builtins: erase `struct` modifier for EH personality"Saleem Abdulrasool2017-08-221-25/+17
| | | | | | | | This reverts SVN r311425 which broke one of the buildbots. It is unclear what header is being used there. Revert it until that can be handled properly. llvm-svn: 311426
* builtins: erase `struct` modifier for EH personalitySaleem Abdulrasool2017-08-221-17/+25
| | | | | | | | | On ARM, the `_Unwind_Exception` is an alias for `struct _Unwind_Control_Block`. The extra `struct` modifier causes a warning due to the locally scoped type. Special case this to avoid the warning. NFC. llvm-svn: 311425
* builtins: repair the builtins build with clang 3.8Saleem Abdulrasool2016-11-181-0/+11
| | | | | | | | | | | | | | | | | | When the C unwinding personality was corrected to match the ARM EHABI specification, the unwind header in clang was updated with necessary declarations. However, when building with an older compiler, we would not have the necessary declarations. This would result in a build failure. Provide a supplementary header to ensure that the necessary declarations are present for the build of the C unwinding personality. Note that this is NOT an ABI break. It merely is a compile time failure due to the constants not being present. The constants here are reproduced equivalently. This header should permit building with clang[<3.9] as well as gcc. Addresses PR31035! llvm-svn: 287359
* Add ARM EHABI support to gcc_personality_v0.Logan Chien2016-03-091-5/+36
| | | | | | | | | | | | | | | | Until now the only exception APIs supported by gcc_personality_v0 are DWARF EH and SJLJ. This adds support for ARM EHABI as well. This is achieved by a) changing the function signature on ARM EHABI, b) unwinding the stack before returning _URC_CONTINUE_UNWIND. See "Exception Handling ABI for the ARM Architecture" for details (http://infocenter.arm.com/help/topic/com.arm.doc.ihi0038b/IHI0038B_ehabi.pdf). Patch by Timon Van Overveldt. llvm-svn: 263010
* fix a gcc warningNico Weber2015-12-221-1/+2
| | | | llvm-svn: 256256
* builtins: silence GCC warningSaleem Abdulrasool2015-09-271-5/+5
| | | | | | | | | | | | | If the builtins are built with libgcc as the unwind provider on ARM, the exposed _Unwind_SetIP is a macro. This results in the following warning due to expansion of the argument: warning: suggest parentheses around arithmetic in operand of ‘|’ [-Wparentheses] Add a no-op set of parenthesis around the argument that will prevent this warning. llvm-svn: 248686
* Fix compilation of compiler_rt against libunwind.Evgeniy Stepanov2015-01-151-1/+1
| | | | | | | libunwind defines _Unwind_GetLanguageSpecificData as returning long instead of (uint8_t *). llvm-svn: 226167
* builtins: avoid duplicating unwind declarationsSaleem Abdulrasool2015-01-141-43/+3
| | | | | | | | | Use unwind.h to get the declarations for unwinding interfaces. This header is already provided by clang and gcc, so this adds no additional dependencies for building the builtins library. It avoids the duplication which may drift over time though. llvm-svn: 225990
* AArch64: add support for ARM64 iOS versions of compiler-rt.Tim Northover2014-10-081-1/+1
| | | | | | | | Just a dummy directory and a few sane choices in the Darwin SDK. rdar://problem/18575597 llvm-svn: 219323
* Preserve constness for intermediate pointers.Joerg Sonnenberger2014-03-131-8/+8
| | | | llvm-svn: 203743
* Consistently use COMPILER_RT_ABI for all public symbols.Joerg Sonnenberger2014-03-011-7/+9
| | | | | | Move prototypes into headers and fix a few inconsistencies. llvm-svn: 202591
* Move original compiler-rt functions (libgcc replacement) to lib/builtins ↵Alexey Samsonov2014-02-141-0/+247
directory llvm-svn: 201393
OpenPOWER on IntegriCloud