Merge 9.2 branch back to master (#51)
authorBill Williams <wwilliam47@gmail.com>
Mon, 16 May 2016 17:22:24 +0000 (12:22 -0500)
committerBill Williams <wwilliam47@gmail.com>
Mon, 16 May 2016 17:22:24 +0000 (12:22 -0500)
commite1afc691859534ed0438e80e071e3e4f6a4b5ff9
tree0bf8839c5cf0d1e5100cc210e3d388cf08edac30
parent5c365e8df88cba64acdf74d9b1245773d529ae4f
Merge 9.2 branch back to master (#51)

* Configuration changes: add BUILD_RTLIB and BUILD_DOCS options.

* Skeleton of DataflowAPI manual.

* Handle strings safely in STABS debug info. Thanks to Laksono Adhianto at Rice for the bug report.

* cmake: make the c++11 abi configurable, default unset

GCC 5 made several ABI changes for C++11 support, but they also kept
support for the older ABI.  The macro _GLIBCXX_USE_CXX11_ABI can force
which mode you compile against.

Fedora 22 shipped with GCC 5 configured to use the old ABI by default,
as if -D_GLIBCXX_USE_CXX11_ABI=0, and Fedora 23 moved to the new ABI.
In either case you could make a different choice with that macro, but
any APIs you expose will be ABI-tagged, and programs you link with must
use the same choice.  For working in a Linux distribution, it's usually
best to leave it at the default.

Commit dbd452640a57 forced the old ABI unconditionally.  This patch adds
a cmake USE_CXX11_ABI setting, left blank to use the compiler default,
or set to a cmake boolean to force the new ABI on or off.

References:
  http://developers.redhat.com/blog/2015/02/05/gcc5-and-the-c11-abi/
  http://developers.redhat.com/blog/2015/02/10/gcc-5-in-fedora/

* Add PPC return registers to ABI class.

* Write StackAnalysis section.

* Skeleton of DataflowAPI manual.

* Handle strings safely in STABS debug info. Thanks to Laksono Adhianto at Rice for the bug report.

* Remove all unneeded extern template class declarations.

* Configuration changes: add BUILD_RTLIB and BUILD_DOCS options.
27 files changed:
CMakeLists.txt
cmake/options.cmake
dataflowAPI/doc/API-template.tex [new file with mode: 0644]
dataflowAPI/doc/API/template.tex [new file with mode: 0644]
dataflowAPI/doc/AbsLocs.tex [new file with mode: 0644]
dataflowAPI/doc/Abstractions.tex [new file with mode: 0644]
dataflowAPI/doc/Assignment.tex [new file with mode: 0644]
dataflowAPI/doc/Extending.tex [new file with mode: 0644]
dataflowAPI/doc/Graph.tex [new file with mode: 0644]
dataflowAPI/doc/Intro.tex [new file with mode: 0644]
dataflowAPI/doc/README [new file with mode: 0644]
dataflowAPI/doc/Semantics.tex [new file with mode: 0644]
dataflowAPI/doc/Slicing.tex [new file with mode: 0644]
dataflowAPI/doc/StackAnalysis.tex [new file with mode: 0644]
dataflowAPI/doc/StackHeight.tex [new file with mode: 0644]
dataflowAPI/doc/SymEval.tex [new file with mode: 0644]
dataflowAPI/doc/dataflowAPI.tex [new file with mode: 0644]
dataflowAPI/doc/example.cc [new file with mode: 0644]
dataflowAPI/doc/paradyn_logo.pdf [new file with mode: 0644]
dyninstAPI/src/BPatch_memoryAccessAdapter.C
dyninstAPI/src/addressSpace.C
dyninstAPI/src/codegen-x86.C
dyninstAPI/src/syscallNotification.C
parseAPI/src/IA_IAPI.C
patchAPI/src/AddrSpace.C
stackwalk/src/analysis_stepper.C
symtabAPI/src/Symtab.C