platform_system_core/libbacktrace
Steven Moreland bb11af88e2 libbacktrace: make vendor_available
By setting vendor_available, the following may become true:

* a prebuilt library from this release may be used at runtime by
  in a later releasse (by vendor code compiled against this release).
  so this library shouldn't depend on runtime state that may change
  in the future.
* this library may be loaded twice into a single process (potentially
  an old version and a newer version). The symbols will be isolated
  using linker namespaces, but this may break assumptions about 1
  library in 1 process (your singletons will run twice).

Background:

This means that these modules may be built and installed twice --
once for the system partition and once for the vendor partition. The
system version will build just like today, and will be used by the
framework components on /system. The vendor version will build
against a reduced set of exports and libraries -- similar to, but
separate from, the NDK. This means that all your dependencies must
also mark vendor_available.

At runtime, /system binaries will load libraries from /system/lib*,
while /vendor binaries will load libraries from /vendor/lib*. There
are some exceptions in both directions -- bionic(libc,etc) and liblog
are always loaded from /system. And SP-HALs (OpenGL, etc) may load
/vendor code into /system processes, but the dependencies of those
libraries will load from /vendor until it reaches a library that's
always on /system. In the SP-HAL case, if both framework and vendor
libraries depend on a library of the same name, both versions will be
loaded, but they will be isolated from each other.

It's possible to compile differently -- reducing your source files,
exporting different include directories, etc. For details see:

https://android-review.googlesource.com/368372

None of this is enabled unless the device opts into the system/vendor
split with BOARD_VNDK_VERSION := current.

Bug: 33241851
Test: build and flash internal marlin
Test: m -j libbacktrace
Test: build with BOARD_VNDK_VERSION := current
(cherry picked from commit 4c0e956c76)
Merged-In: Idab4880e011416ebc40b225205c30fb5ed8661db
Change-Id: Idab4880e011416ebc40b225205c30fb5ed8661db
2017-04-19 10:32:43 -07:00
..
include/backtrace Moved include/backtrace to libbacktrace/include 2017-04-11 11:22:43 -07:00
testdata libbacktraceoffline: choose correct debug section for a given address. 2017-02-10 17:51:16 -08:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
Android.bp libbacktrace: make vendor_available 2017-04-19 10:32:43 -07:00
Backtrace.cpp Fix spelling error in warning 2017-03-23 11:29:57 -07:00
backtrace_offline_test.cpp libbacktraceoffline: choose correct debug section for a given address. 2017-02-10 17:51:16 -08:00
backtrace_test.cpp Test unwinding through a signal handler. 2017-03-23 16:16:02 -07:00
backtrace_testlib.cpp Test unwinding through a signal handler. 2017-03-23 16:16:02 -07:00
backtrace_testlib.h Test unwinding through a signal handler. 2017-03-23 16:16:02 -07:00
BacktraceCurrent.cpp Restore errno in signal handlers. 2017-03-10 10:13:48 -08:00
BacktraceCurrent.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
BacktraceLog.h liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
BacktraceMap.cpp liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
BacktraceOffline.cpp libbacktraceoffline: make it thread-safe. 2017-02-13 10:35:06 -08:00
BacktraceOffline.h libbacktrace_offline: support .ARM.exidx. 2016-12-07 10:25:33 -08:00
BacktracePtrace.cpp Revert "Use process_vm_readv to read memory." 2016-11-10 23:19:30 +00:00
BacktracePtrace.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
GetPss.cpp Fix misc-macro-parentheses warnings in adb, debuggerd, libbacktrace. 2016-05-18 15:53:15 -07:00
GetPss.h Create an UnwindMapLocal object. 2014-04-03 14:19:24 -07:00
thread_utils.c Remove libbacktrace definition of gettid. 2015-05-13 13:44:34 -07:00
thread_utils.h Fix libbacktrace host build. 2015-12-07 20:09:24 -08:00
ThreadEntry.cpp Modify the code to avoid potential deadlocks. 2015-06-01 14:10:17 -07:00
ThreadEntry.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
UnwindCurrent.cpp Do not access device maps. 2017-03-22 14:55:05 -07:00
UnwindCurrent.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
UnwindMap.cpp Fix race condition updating local map data. 2016-06-16 23:28:11 -07:00
UnwindMap.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00
UnwindPtrace.cpp Do not access device maps. 2017-03-22 14:55:05 -07:00
UnwindPtrace.h Allow calling GetFunctionName before unwinding. 2017-03-21 14:21:49 -07:00