• Re: enabling link time optimizations in package builds

    From Timo =?utf-8?Q?R=C3=B6hling?=@21:1/5 to All on Fri Jul 1 22:50:01 2022
    Hi Matthias,

    * Matthias Klose <doko@debian.org> [2022-06-17 10:18]:
    The proposal is to turn on LTO by default on most 64bit release >architectures. Not proposing to do this on 32bit architectures because
    of the limited address space at link time, and up to now nobody tested
    LTO on 32bit archs. In test rebuilds, there were 373 packages
    (dd-list in the wiki page) found not to build with link time
    optimizations for various reasons. These range from easily fixable
    issues in symbols files to some upstream issues. The idea is to fix
    as many of these as possible, and then change the packaging for the
    others to just turn off LTO in the package build.

    In one of my packages, turning on LTO did not fail the build, but
    exposed a dormant static initialization bug, as LTO apparently
    messes with the initialization order [1]. I'd expect more bugs of
    this kind to come up once LTO is enabled by default.

    Cheers
    Timo

    [1] https://github.com/isl-org/Open3D/issues/4747

    --
    ⢀⣴⠾⠻⢶⣦⠀ ╭────────────────────────────────────────────────────╮
    ⣾⠁⢠⠒⠀⣿⡁ │ Timo Röhling │
    ⢿⡄⠘⠷⠚⠋⠀ │ 9B03 EBB9 8300 DF97 C2B1 23BF CC8C 6BDD 1403 F4CA │
    ⠈⠳⣄⠀⠀⠀⠀ ╰────────────────────────────────────────────────────╯

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

    iQGzBAEBCgAdFiEEJvtDgpxjkjCIVtam+C8H+466LVkFAmK/W6AACgkQ+C8H+466 LVkccwv+J8u1aSnJ6uKXWqXg8Fi/iJNlOB9wCJQI1cM4K53JNQ9+2Bx4TKpIoJHy pEp/J6sR7uZXQcxyM/v1YP8Y3sDXdEztM+oyxBJ2+y0jXn3hnICl4kIUkNRmcp/U ij1pYD6iJFYpPbN1kUQPEYgddx+HsDMJ82jS/KC51ScP/V6u32V6neR4KAyMLi1W UEBUi4YwvMN8E1UwYrYlzmOP2VIPIKnS0sWoVPF0H0jMujbdgqc6e/yZCSpcNGp2 x3DfzcoUnEz0GYBWfT760mQmT2cytaw/TacAfZB7trUuJaAqPEJdPYIm2kgzs/Gl hBdkz/OVSmRu4ddEW7oOAjFLEQJW9wjyUqpdDnMU6Bq