Go to file
Peter Zotov b0342a66a0 Make it possible to use libunwind without heap.
This patch allows to use libunwind on bare-metal systems that do not
include malloc/free by conditionally turning off nonessential
functionality that requires these functions.

The disabled functionality includes:

  * the .cfi_remember_state and .cfi_restore_state instructions;
  * the DWARF FDE cache.

The .cfi_{remember,restore}_state instructions don't seem to be used
by contemporary compilers. None of the LLVM backends emit it.

The DWARF FDE cache is bypassed if _LIBUNWIND_NO_HEAP is defined.
Specifically, entries are never added to it, so the search begins
and ends at the statically allocated, empty initial cache.

Such heap-less libunwind on a bare metal system is successfully used
in the ARTIQ project[1], and it is my hope that it will be useful
elsewhere.

[1]: http://m-labs.hk/artiq

Differential Revision: http://reviews.llvm.org/D11897

llvm-svn: 252452
2015-11-09 06:57:29 +00:00
clang [PGO] Code cleanup [NFC] 2015-11-09 00:04:16 +00:00
clang-tools-extra [clang-tidy] add new check cppcoreguidelines-pro-type-cstyle-cast 2015-11-08 21:10:39 +00:00
compiler-rt [PGO] Cleanup: fix function-data field names 2015-11-08 18:00:13 +00:00
debuginfo-tests New round of fixes for "Always compile debuginfo-tests for the host triple" 2014-10-18 23:47:59 +00:00
libclc integer: remove explicit casts from _MIN definitions 2015-10-06 19:12:12 +00:00
libcxx Mark LWG#2224 as complete. Wording change only, no code changes required 2015-11-07 17:56:51 +00:00
libcxxabi Fix LIBCXXABI_HAS_NO_THREADS configuration. 2015-10-14 19:21:38 +00:00
libunwind Make it possible to use libunwind without heap. 2015-11-09 06:57:29 +00:00
lld [ELF2/AArch64] Support R_AARCH64_LDST64_ABS_LO12_NC relocation. 2015-11-08 04:45:26 +00:00
lldb Added myself to the CODE_OWNERS.txt list for a few subsystems. 2015-11-09 01:24:36 +00:00
llgo debug: Update for debug info API change. 2015-11-05 22:04:20 +00:00
llvm [Hexagon] Removing XFAIL on Hexagon target. 2015-11-09 06:15:55 +00:00
openmp Fix for zero chunk size 2015-11-06 20:32:44 +00:00
polly [FIX] Use same alloca for invariant loads and the scalar users 2015-11-09 06:28:45 +00:00