[PATCH] D31375: Add docs for libunwind

2017-03-28 Thread Jonathan Roelofs via Phabricator via cfe-commits
jroelofs added a comment.

Review for adding a builder in: https://reviews.llvm.org/D31422


https://reviews.llvm.org/D31375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31375: Add docs for libunwind

2017-03-28 Thread Jonathan Roelofs via Phabricator via cfe-commits
jroelofs closed this revision.
jroelofs added a comment.

r298922


https://reviews.llvm.org/D31375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31375: Add docs for libunwind

2017-03-28 Thread Jonathan Roelofs via Phabricator via cfe-commits
jroelofs added a comment.

In https://reviews.llvm.org/D31375#712152, @jroelofs wrote:

> In https://reviews.llvm.org/D31375#711839, @EricWF wrote:
>
> > In https://reviews.llvm.org/D31375#710897, @jroelofs wrote:
> >
> > > In https://reviews.llvm.org/D31375#710891, @compnerd wrote:
> > >
> > > > What happens when you try building it in tree?
> > >
> > >
> > > The docs-libunwind-html target is missing, and the docs don't get built.
> >
> >
> > Shouldn't that be what happens when libunwind is built 
> > "out-of-tree"/standalone, not the other way around?
>
>
> "is" != "ought". That's what /is/ happening, not necessarily what we want to 
> happen.


And FWIW, it looks like libcxx's docs behave the same way... So this might be a 
problem with the way the `runtimes` dir works.


https://reviews.llvm.org/D31375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31375: Add docs for libunwind

2017-03-28 Thread Jonathan Roelofs via Phabricator via cfe-commits
jroelofs added a comment.

In https://reviews.llvm.org/D31375#711839, @EricWF wrote:

> In https://reviews.llvm.org/D31375#710897, @jroelofs wrote:
>
> > In https://reviews.llvm.org/D31375#710891, @compnerd wrote:
> >
> > > What happens when you try building it in tree?
> >
> >
> > The docs-libunwind-html target is missing, and the docs don't get built.
>
>
> Shouldn't that be what happens when libunwind is built 
> "out-of-tree"/standalone, not the other way around?


"is" != "ought". That's what /is/ happening, not necessarily what we want to 
happen.


https://reviews.llvm.org/D31375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31375: Add docs for libunwind

2017-03-27 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF added a comment.

In https://reviews.llvm.org/D31375#710897, @jroelofs wrote:

> In https://reviews.llvm.org/D31375#710891, @compnerd wrote:
>
> > What happens when you try building it in tree?
>
>
> The docs-libunwind-html target is missing, and the docs don't get built.


Shouldn't that be what happens when libunwind is built 
"out-of-tree"/standalone, not the other way around?


https://reviews.llvm.org/D31375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31375: Add docs for libunwind

2017-03-27 Thread Eric Fiselier via Phabricator via cfe-commits
EricWF accepted this revision.
EricWF added a comment.
This revision is now accepted and ready to land.

This LGTM. We should also get a bot setup to build it.


https://reviews.llvm.org/D31375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31375: Add docs for libunwind

2017-03-26 Thread Jonathan Roelofs via Phabricator via cfe-commits
jroelofs updated this revision to Diff 93075.

https://reviews.llvm.org/D31375

Files:
  CMakeLists.txt
  docs/BuildingLibunwind.rst
  docs/CMakeLists.txt
  docs/README.txt
  docs/conf.py
  docs/index.rst

Index: docs/index.rst
===
--- docs/index.rst
+++ docs/index.rst
@@ -0,0 +1,101 @@
+.. _index:
+
+===
+libunwind LLVM Unwinder
+===
+
+Overview
+
+
+libunwind is an implementation of the interface defined by the HP libunwind
+project. It was contributed by Apple as a way to enable clang++ to port to
+platforms that do not have a system unwinder. It is intended to be a small and
+fast implementation of the ABI, leaving off some features of HP's libunwind
+that never materialized (e.g. remote unwinding).
+
+The unwinder has two levels of API. The high level APIs are the `_Unwind_*`
+functions which implement functionality required by `__cxa_*` exception
+funcionts. The low level APIs are the `unw_*` functions which are an interface
+defined by the old HP libunwind project.
+
+Getting Started with libunwind
+--
+
+.. toctree::
+   :maxdepth: 2
+
+   BuildingLibunwind
+
+Current Status
+--
+
+libunwind is a production-quality unwinder, with platform support for DWARF
+unwind info, SjLj, and ARM EHABI.
+
+The low level libunwind API was designed to work either in-process (aka local)
+or to operate on another process (aka remote), but only the local path has been
+implemented. Remote unwinding remains as future work.
+
+Platform and Compiler Support
+-
+
+libunwind is known to work on the following platforms:
+
+   
+OS   Arch CompilersUnwind Info
+   
+Mac OS X i386, x86_64 Clang, GCC   DWARF CFI
+iOS  ARM  ClangSjLj
+Linuxi386, x86_64 Clang, GCC   DWARF CFI
+LinuxARM  Clang, GCC   EHABI
+Bare Metal   ARM  Clang, GCC   EHABI
+NetBSD   x86_64   Clang, GCC   DWARF CFI
+   
+
+The following minimum compiler versions are strongly recommended.
+
+* Clang 3.5 and above
+* GCC 4.7 and above.
+
+Anything older *may* work.
+
+Notes and Known Issues
+--
+
+* TODO
+
+Getting Involved
+
+
+First please review our `Developer's Policy `__
+and `Getting started with LLVM `__.
+
+**Bug Reports**
+
+If you think you've found a bug in libunwind, please report it using
+the `LLVM Bugzilla`_. If you're not sure, you
+can post a message to the `cfe-dev mailing list`_ or on IRC.
+Please include "libunwind" in your subject.
+
+**Patches**
+
+If you want to contribute a patch to libunwind, the best place for that is
+`Phabricator `_. Please include [libunwind] in the subject and
+add `cfe-commits` as a subscriber. Also make sure you are subscribed to the
+`cfe-commits mailing list `_.
+
+**Discussion and Questions**
+
+Send discussions and questions to the
+`cfe-dev mailing list `_.
+Please include [libunwind] in the subject.
+
+
+Quick Links
+===
+* `LLVM Homepage `_
+* `LLVM Bugzilla `_
+* `cfe-commits Mailing List`_
+* `cfe-dev Mailing List`_
+* `Browse libunwind -- SVN `_
+* `Browse libunwind -- ViewVC `_
Index: docs/conf.py
===
--- docs/conf.py
+++ docs/conf.py
@@ -0,0 +1,251 @@
+# -*- coding: utf-8 -*-
+#
+# libunwind documentation build configuration file.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration -
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 

[PATCH] D31375: Add docs for libunwind

2017-03-26 Thread Jonathan Roelofs via Phabricator via cfe-commits
jroelofs added a comment.

In https://reviews.llvm.org/D31375#710891, @compnerd wrote:

> What happens when you try building it in tree?


The docs-libunwind-html target is missing, and the docs don't get built.




Comment at: docs/index.rst:82
+
+If you want to contribute a patch to libc++, the best place for that is
+`Phabricator `_. Please include 
[libunwind] in the subject and

compnerd wrote:
> ITYM libunwind :)
doh


https://reviews.llvm.org/D31375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31375: Add docs for libunwind

2017-03-26 Thread Saleem Abdulrasool via Phabricator via cfe-commits
compnerd added a comment.

What happens when you try building it in tree?




Comment at: docs/index.rst:82
+
+If you want to contribute a patch to libc++, the best place for that is
+`Phabricator `_. Please include 
[libunwind] in the subject and

ITYM libunwind :)


https://reviews.llvm.org/D31375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31375: Add docs for libunwind

2017-03-26 Thread Jonathan Roelofs via Phabricator via cfe-commits
jroelofs updated this revision to Diff 93074.

https://reviews.llvm.org/D31375

Files:
  CMakeLists.txt
  docs/BuildingLibunwind.rst
  docs/CMakeLists.txt
  docs/README.txt
  docs/conf.py
  docs/index.rst

Index: docs/index.rst
===
--- docs/index.rst
+++ docs/index.rst
@@ -0,0 +1,101 @@
+.. _index:
+
+===
+libunwind LLVM Unwinder
+===
+
+Overview
+
+
+libunwind is an implementation of the interface defined by the HP libunwind
+project. It was contributed by Apple as a way to enable clang++ to port to
+platforms that do not have a system unwinder. It is intended to be a small and
+fast implementation of the ABI, leaving off some features of HP's libunwind
+that never materialized (e.g. remote unwinding).
+
+The unwinder has two levels of API. The high level APIs are the `_Unwind_*`
+functions which implement functionality required by `__cxa_*` exception
+funcionts. The low level APIs are the `unw_*` functions which are an interface
+defined by the old HP libunwind project.
+
+Getting Started with libunwind
+--
+
+.. toctree::
+   :maxdepth: 2
+
+   BuildingLibunwind
+
+Current Status
+--
+
+libunwind is a production-quality unwinder, with platform support for DWARF
+unwind info, SjLj, and ARM EHABI.
+
+The low level libunwind API was designed to work either in-process (aka local)
+or to operate on another process (aka remote), but only the local path has been
+implemented. Remote unwinding remains as future work.
+
+Platform and Compiler Support
+-
+
+libunwind is known to work on the following platforms:
+
+   
+OS   Arch CompilersUnwind Info
+   
+Mac OS X i386, x86_64 Clang, GCC   DWARF CFI
+iOS  ARM  ClangSjLj
+Linuxi386, x86_64 Clang, GCC   DWARF CFI
+LinuxARM  Clang, GCC   EHABI
+Bare Metal   ARM  Clang, GCC   EHABI
+NetBSD   x86_64   Clang, GCC   DWARF CFI
+   
+
+The following minimum compiler versions are strongly recommended.
+
+* Clang 3.5 and above
+* GCC 4.7 and above.
+
+Anything older *may* work.
+
+Notes and Known Issues
+--
+
+* TODO
+
+Getting Involved
+
+
+First please review our `Developer's Policy `__
+and `Getting started with LLVM `__.
+
+**Bug Reports**
+
+If you think you've found a bug in libunwind, please report it using
+the `LLVM Bugzilla`_. If you're not sure, you
+can post a message to the `cfe-dev mailing list`_ or on IRC.
+Please include "libunwind" in your subject.
+
+**Patches**
+
+If you want to contribute a patch to libc++, the best place for that is
+`Phabricator `_. Please include [libunwind] in the subject and
+add `cfe-commits` as a subscriber. Also make sure you are subscribed to the
+`cfe-commits mailing list `_.
+
+**Discussion and Questions**
+
+Send discussions and questions to the
+`cfe-dev mailing list `_.
+Please include [libunwind] in the subject.
+
+
+Quick Links
+===
+* `LLVM Homepage `_
+* `LLVM Bugzilla `_
+* `cfe-commits Mailing List`_
+* `cfe-dev Mailing List`_
+* `Browse libunwind -- SVN `_
+* `Browse libunwind -- ViewVC `_
Index: docs/conf.py
===
--- docs/conf.py
+++ docs/conf.py
@@ -0,0 +1,251 @@
+# -*- coding: utf-8 -*-
+#
+# libunwind documentation build configuration file.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General configuration -
+
+# If your documentation needs a minimal Sphinx version, state it here.
+#needs_sphinx = '1.0'
+
+# Add any Sphinx extension module names here, as strings. They can be extensions
+# coming with Sphinx (named 'sphinx.ext.*') 

[PATCH] D31375: Add docs for libunwind

2017-03-26 Thread Kamil Rytarowski via Phabricator via cfe-commits
krytarowski added inline comments.



Comment at: docs/index.rst:51
+LinuxARM  Clang, GCC   EHABI
+Bare Metal   ARM  Clang, GCC   EHABI
+   

NetBSD amd64 Clang, GCC confirmed


https://reviews.llvm.org/D31375



___
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D31375: Add docs for libunwind

2017-03-26 Thread Jonathan Roelofs via Phabricator via cfe-commits
jroelofs created this revision.
Herald added a subscriber: mgorny.

I'm still iffy about the build goop for this. I started mostly cargo-culting 
the stuff from libcxx, but couldn't get that to work. What's in the patch seems 
to work for the standalone build, but does not work for in tree builds (and I 
have no idea why).

Comments / corrections / feedback would be much appreciated.


https://reviews.llvm.org/D31375

Files:
  CMakeLists.txt
  docs/BuildingLibunwind.rst
  docs/CMakeLists.txt
  docs/README.txt
  docs/conf.py
  docs/index.rst

Index: docs/index.rst
===
--- docs/index.rst
+++ docs/index.rst
@@ -0,0 +1,100 @@
+.. _index:
+
+===
+libunwind LLVM Unwinder
+===
+
+Overview
+
+
+libunwind is an implementation of the interface defined by the HP libunwind
+project. It was contributed by Apple as a way to enable clang++ to port to
+platforms that do not have a system unwinder. It is intended to be a small and
+fast implementation of the ABI, leaving off some features of HP's libunwind
+that never materialized (e.g. remote unwinding).
+
+The unwinder has two levels of API. The high level APIs are the `_Unwind_*`
+functions which implement functionality required by `__cxa_*` exception
+funcionts. The low level APIs are the `unw_*` functions which are an interface
+defined by the old HP libunwind project.
+
+Getting Started with libunwind
+--
+
+.. toctree::
+   :maxdepth: 2
+
+   BuildingLibunwind
+
+Current Status
+--
+
+libunwind is a production-quality unwinder, with platform support for DWARF
+unwind info, SjLj, and ARM EHABI.
+
+The low level libunwind API was designed to work either in-process (aka local)
+or to operate on another process (aka remote), but only the local path has been
+implemented. Remote unwinding remains as future work.
+
+Platform and Compiler Support
+-
+
+libunwind is known to work on the following platforms:
+
+   
+OS   Arch CompilersUnwind Info
+   
+Mac OS X i386, x86_64 Clang, GCC   DWARF CFI
+iOS  ARM  ClangSjLj
+Linuxi386, x86_64 Clang, GCC   DWARF CFI
+LinuxARM  Clang, GCC   EHABI
+Bare Metal   ARM  Clang, GCC   EHABI
+   
+
+The following minimum compiler versions are strongly recommended.
+
+* Clang 3.5 and above
+* GCC 4.7 and above.
+
+Anything older *may* work.
+
+Notes and Known Issues
+--
+
+* TODO
+
+Getting Involved
+
+
+First please review our `Developer's Policy `__
+and `Getting started with LLVM `__.
+
+**Bug Reports**
+
+If you think you've found a bug in libunwind, please report it using
+the `LLVM Bugzilla`_. If you're not sure, you
+can post a message to the `cfe-dev mailing list`_ or on IRC.
+Please include "libunwind" in your subject.
+
+**Patches**
+
+If you want to contribute a patch to libc++, the best place for that is
+`Phabricator `_. Please include [libunwind] in the subject and
+add `cfe-commits` as a subscriber. Also make sure you are subscribed to the
+`cfe-commits mailing list `_.
+
+**Discussion and Questions**
+
+Send discussions and questions to the
+`cfe-dev mailing list `_.
+Please include [libunwind] in the subject.
+
+
+Quick Links
+===
+* `LLVM Homepage `_
+* `LLVM Bugzilla `_
+* `cfe-commits Mailing List`_
+* `cfe-dev Mailing List`_
+* `Browse libunwind -- SVN `_
+* `Browse libunwind -- ViewVC `_
Index: docs/conf.py
===
--- docs/conf.py
+++ docs/conf.py
@@ -0,0 +1,251 @@
+# -*- coding: utf-8 -*-
+#
+# libunwind documentation build configuration file.
+#
+# This file is execfile()d with the current directory set to its containing dir.
+#
+# Note that not all possible configuration values are present in this
+# autogenerated file.
+#
+# All configuration values have a default; values that are commented out
+# serve to show the default.
+
+import sys, os
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#sys.path.insert(0, os.path.abspath('.'))
+
+# -- General