Uploaded image for project: 'Request For Comments'
  1. Request For Comments
  2. RFC-400

Temporarily disable link time optimization on GCC

    Details

    • Type: RFC
    • Status: Implemented
    • Resolution: Done
    • Component/s: DM
    • Labels:
      None

      Description

      With the adoption of RFC-398 the road is open to using Anaconda 5.0 and devtoolset-6, which in turn enables C++14 support.

      However, because Anaconda 5.0 is compiled with a newer GCC (7.2.0) then even devtoolset-6 provides (GCC 6.3.1), LTO is broken (lto bytecode stream generated by GCC 7.2.0 can't be used by GCC 6.3.1).

      This problem has been reported to Anaconda upstream (#6619), but I don't think they can change much about it without going to older compilers.

      So instead, turning off LTO in our build (with -fno-lto) works around this problem.
      This RFC proposes to add this option to sconsUtils (for GCC only) until devtoolset-7 is released and we can use that (after a separate RFC) instead.

      I expect the benefits from LTO to be small, and outweighed by the performance increase from using more modern compilers.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                pschella Pim Schellart [X] (Inactive)
                Reporter:
                pschella Pim Schellart [X] (Inactive)
                Watchers:
                Chris Walter, Kian-Tat Lim, Krzysztof Findeisen, Mario Juric, Pim Schellart [X] (Inactive), Robert Lupton, Tim Jenness
              • Votes:
                0 Vote for this issue
                Watchers:
                7 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Planned End:

                  Summary Panel