Iain Sandoe c5cc931918 Config,Darwin: Allow for configuring Darwin to use embedded runpath.
Recent Darwin versions place contraints on the use of run paths
specified in environment variables.  This breaks some assumptions
in the GCC build.

This change allows the user to configure a Darwin build to use
'@rpath/libraryname.dylib' in library names and then to add an
embedded runpath to executables (and libraries with dependents).

The embedded runpath is added by default unless the user adds
'-nodefaultrpaths' to the link line.

For an installed compiler, it means that any executable built with
that compiler will reference the runtimes installed with the
compiler (equivalent to hard-coding the library path into the name
of the library).

During build-time configurations  any "-B" entries will be added to
the runpath thus the newly-built libraries will be found by exes.

Since the install name is set in libtool, that decision needs to be
available here (but might also cause dependent ones in Makefiles,
so we need to export a conditional).

This facility is not available for Darwin 8 or earlier, however the
existing environment variable runpath does work there.

We default this on for systems where the external DYLD_LIBRARY_PATH
does not work and off for Darwin 8 or earlier.  For systems that can
use either method, if the value is unset, we use the default (which
is currently DYLD_LIBRARY_PATH).
2024-07-11 18:39:24 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-05-01 10:40:39 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2016-09-10 07:59:09 -07:00
2022-01-18 20:10:43 -08:00
2024-07-11 18:14:01 -07:00
2022-01-18 20:10:43 -08:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2020-10-26 13:45:23 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00
2024-07-11 18:14:01 -07:00

libbacktrace

A C library that may be linked into a C/C++ program to produce symbolic backtraces

Initially written by Ian Lance Taylor iant@golang.org.

This is version 1.0. It is likely that this will always be version 1.0.

The libbacktrace library may be linked into a program or library and used to produce symbolic backtraces. Sample uses would be to print a detailed backtrace when an error occurs or to gather detailed profiling information. In general the functions provided by this library are async-signal-safe, meaning that they may be safely called from a signal handler.

The libbacktrace library is provided under a BSD license. See the source files for the exact license text.

The public functions are declared and documented in the header file backtrace.h, which should be #include'd by a user of the library.

Building libbacktrace will generate a file backtrace-supported.h, which a user of the library may use to determine whether backtraces will work. See the source file backtrace-supported.h.in for the macros that it defines.

As of October 2020, libbacktrace supports ELF, PE/COFF, Mach-O, and XCOFF executables with DWARF debugging information. In other words, it supports GNU/Linux, *BSD, macOS, Windows, and AIX. The library is written to make it straightforward to add support for other object file and debugging formats.

The library relies on the C++ unwind API defined at https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html This API is provided by GCC and clang.

Description
A C library that may be linked into a C/C++ program to produce symbolic backtraces
Readme BSD-3-Clause 2.2 MiB
Languages
C 54.8%
Shell 26.5%
Makefile 15%
M4 3.6%