• Bug#1008135: ITP: libbacktrace -- Backtrace library (for C/C++ apps)

    From Wookey@21:1/5 to All on Mon Feb 12 14:50:02 2024
    I packaged this as a ststic library, but it's policy to provide a
    dynamic library too if appropriate. So I asked upstream about this.

    The discussion took place primarily as an upstream github issue: https://github.com/ianlancetaylor/libbacktrace/issues/85

    Here is a summary:
    Wookey:
    Firstly, I see that it only builds a static library. Is that a
    technical limitation to do with the backtracing or the way it is
    intended to be used, (or something to do with there being no
    ABI-stability guarantees like libiberty) or just a 'no-one asked for a
    dynamic version yet' thing?

    Obviously in distro-world we'd normally build a dynamic version (and a
    static version) and use them as required. So I'm just wondering if
    there is a reason why I shouldn't do that?

    Ian Lance taylor:
    I would be a bit surprised if libbacktrace works as a dynamic
    library, but maybe it does. I haven't tried it.

    Discussion continued in issue #85 on github: https://github.com/ianlancetaylor/libbacktrace/issues/85

    Ian Lance taylor:
    The libbacktrace library explicitly supports being invoked from a
    signal handler, but that most likely won't work if it is linked in as
    a dynamic library. So in normal use, without additional information,
    it should be linked statically.

    My concern is that lazy PLT calls may not work reliably if invoked via
    a signal handler. I don't know whether this concern is completely
    valid. It can be obviated by using `-Wl,-z,now` when linking.

    Carlos Galvez also asked about dynamic linking the library from Boost.Stacktrace, so there are other possible users.

    (end of summary)

    It's easy to build the dynamic version of the library as well, but I'm
    not yet sure if that's a good idea for the debian package, as we use
    -z,relro by default in debian.

    I will uploaded a dynamic-only version for now as this has already stalled for more than a year.

    Wookey
    --
    Principal hats: Debian, Wookware, ARM
    http://wookware.org/

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEER4nvI8Pe/wVWh5yq+4YyUahvnkcFAmXKH5MACgkQ+4YyUahv nkd7xhAAkfaAlqEXIUdrFW1/XdJh39RzETAgJajOP9ohMCri9pDgECZjqScALij+ kJW5r6hIChxWdKVtS9rVrxAczRX84+8WPzm7G4ce7RERfMXpLfgWmpUOYkbSguC+ 6qcB2+w4rDAuMw0k6NTvGp6qK+RgVcmYBvICKTWvGPOtFbo615KHwT2VcQ0KzIAh P0F1umKJGKiw1uF+b2SFrsShL3PdEY5aaIVtCgo6E4v3uJoql4hjETQyWbvgS4o/ 7m7XZ7KkJ16fk0UOyKphNTxmyfwHBYRi4a592CS+7uJ8Dl6RRtLkJB/nZ5JqEUtQ OnqEm554BtZmQJyI4RGUDqMmTlk9A4lvKS3jGTCyZjt14FfsqdkWL9j8JhwVbpwr Qte+RV1VDVSgY5kFjrJK+0YWB3eHLlRr5x66XySH+V/0hBACJ0uz5OilcfaKWown nGvsuaWaoj3L0E5fLPqaLQGz4X+BqUPHD4kPtum17dT2sIKC3oyAxoRCghZry0dJ hYpYwePlHpwEniQoTD/Gm3OI1rAQP2I6yu6EUSJ6HMWbpyHPmvW+P87orsWp08JT mIIqcs/rx9asCHtgF89/+zrJ9VfQceiAVu24EcW8ptVeGzfLzh+2O7dRk0E5cpEw XgiUNui0Blb0K21GYwBDgp1lgNfCnj0lJxr3PNmhtxz2Zcqr99o=
    =QPBN
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)