Announcement

Collapse
No announcement yet.

LLVM Clang 10 Can Build Over 95% Of The Debian Package Archive

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • LLVM Clang 10 Can Build Over 95% Of The Debian Package Archive

    Phoronix: LLVM Clang 10 Can Build Over 95% Of The Debian Package Archive

    While the Debian archive continues to be built with the GCC compiler by default and will likely remain that way for the foreseeable future, Debian developers do continue experimenting with building the Debian archive under LLVM's Clang...

    http://www.phoronix.com/scan.php?pag...ang-Archive-10

  • #2
    Always nice to see how the compiler side of giving the finger to "You said Linux. You meant GNU/Linux." people is coming.

    (No, when I say "Linux", I mean "Everything that, when built from source, looks sufficiently like GNU/Linux... including stacks like BusyBox/musl/Linux.")

    Comment


    • #3
      Busybox package was one of the failing cases, it seems to be segfaults galore:
      Code:
      $ wget https://clang.debian.net/logs/2020-02-24-10rc2/busybox_1.30.1-4_unstable_clang10.log
      $ grep --text "^Segmentation fault$" busybox_1.30.1-4_unstable_clang10.log | wc -l
      4655

      Comment


      • #4
        Is busybox ubsan and asan free?

        Comment


        • #5
          Originally posted by ssokolow View Post
          (No, when I say "Linux", I mean "Everything that, when built from source, looks sufficiently like GNU/Linux... including stacks like BusyBox/musl/Linux.")
          I would go for a more generic term for that such as POSIX or Unix-like (of which Linux is a decent clone).

          But yes, it is a cool feeling of "correctness" when different compilers can be used. When a few of the BSDs migrated to clang and away from the old gcc v4, it really was quite a historical day haha.

          It is impressive to see Clang build so much of the repo. It must have some pretty good compatibility with gcc's quirks.

          Imagine on Windows, how impossible it would be to achieve similar. Many projects fail to build even if Visual C++ is a single version out. It is a completely different mindset to the open-source world.

          "Oh the code doesn't compile with this version, perhaps something is wrong with *my* code and I should fix it".

          vs

          "I only care about the very latest that Microsoft tells me is cool. Screw maintenance and preservation. Everyone else should update!"
          Last edited by kpedersen; 09 March 2020, 09:18 AM.

          Comment


          • #6
            Originally posted by ssokolow View Post
            Always nice to see how the compiler side of giving the finger to "You said Linux. You meant GNU/Linux." people is coming.

            (No, when I say "Linux", I mean "Everything that, when built from source, looks sufficiently like GNU/Linux... including stacks like BusyBox/musl/Linux.")
            The important thing is that the more redundant the systems are and the more workable options exist, the more that the long-term viability of the entire ecosystem is assured. Whether or not you want to give the middle finger to a phrase that RMS successfully popularized is irrelevant.

            Comment


            • #7
              Thats great - building up some competition between gcc and clang - this will hopefully increase overall qualitycode generation and performance

              Comment


              • #8
                Originally posted by kpedersen View Post
                I would go for a more generic term for that such as POSIX or Unix-like (of which Linux is a decent clone).
                If I meant POSIX or Unixy, I'd say POSIX or Unixy.

                When I refer to Linux, I refer to something less specific than GNU/Linux, but still depending on Linux-specific stuff, such as kernel-mode drivers not ported to the BSDs or subsystems like cgroups.

                Comment


                • #9
                  Grammar torture from article...

                  With newly posted results, LLVM Clang 10.0-RC2 can rebuilding 95.5% of the archive with failures on some 4.5% of the 31k+ packages.

                  Comment


                  • #10
                    Several FILE_NOT_FOUND errors are due to x11 headers relying on non-standard behaviour from gcc:

                    https://clang.debian.net/status.php?...FILE_NOT_FOUND

                    All the x11.rules errors happen because gcc removes /**/ when pre-processing, while clang replaces it with one space character ' ', as defined in the standard:

                    C17 5.1.1.2p3: "Each comment is replaced by one space character. "
                    C++17 [lex.phases]p3: "Each comment is replaced by one space character."

                    Comment

                    Working...
                    X