Jądro Linux może być kompilowane z użyciem LLVM/Clang

16
1719
LLVM
LLVM

Na konferencji LinuxCon North America, która odbyła się w dniach 16 – 18 września 2013 roku, Behan Webster przedstawił obecne prace nad projektem LLVMLinux. Chodzi mianowicie o umożliwienie pełnej i bez błędów kompilacji jądra Linux z użyciem LLVM i Clang. Owe narzędzia są wykorzystywane m.in. przez Apple, nVidia, Intel, Google, a nawet Debiana. Dodatkowo LLVM 3.3 i Clang 3.3, jako jedne z pierwszych narzędzi obsługiwały w pełni standard C++11.

Oto najważniejsze punkty z prezentacji:

  • LLVM 3.3 i Clang 3.3 posiadają już odpowiednie wsparcie, aczkolwiek zintegrowany asembler Clang jest nadal wyłączony
  • LLVM 3.3 i Clang 3.3 potrafią już kompilować jądro Linux, jednakże nadal potrzebne jest dodanie kilku łatek spoza głównego drzewa jądra Linux.
  • Deweloperzy LLVM na bieżąco obserwują zmiany w jądrze, dzięki czemu mogą cały czas wprowadzać zmiany w kodzie
  • Można pomóc w rozwoju, poprzez testowanie łatek, zgłaszanie błędów, pracą nad nowymi funkcjami lub zgłoszeniem własnych poprawek
ŹRÓDŁOevents.linuxfoundation.org
Poprzedni artykułUbuntu GNOME 13.10 z GNOME 3.8
Następny artykułUbuntu 13.10 Saucy Salamander z Ubuntu One Login oraz ulepszonymi Smart Scopes
Michał Olber
Interesuję się głównie sprzętem i działaniem jego pod systemami GNU/Linux. Testuję różne dystrybucje i robię recenzje. Interesuję się działaniem sprzętu pod Linuksem, dzięki czemu wiem, jaki zestaw komputerowy wybierać :)

16 KOMENTARZE

    • Clang potrafi wypluć wydajniejszy kod niż GCC więc zysk to większa wydajność jądra oraz kompilacja trwa mniej niż w GCC więc zmniejszenie czasu kompilacji. Główny minus Clanga nie jest w jądrze istotny (brak wsparcia dla standardu OpenMP), bo i tak nie może z niego skorzystać.

    • Może dlatego, że używają -O3 czyli maksymalnego poziomu optymalizacji GCC też dla Clang, gdzie masz do -O4, a resztę optymalizacji zarówno w GCC i Clang trzeba włączyć ręcznie, a na Phoronix wydaje się, że nie mają pojęcia o żadnym z tych kompilatorów (brak optymalizacji Interprocedural optimization, Profile-Guided Optimization, Link Time Optimization… i masy innych (brak wektoryzacji przykładowo)).
      Po prostu nie testują jakie możliwości maja te kompilatory w rękach programisty, który wyciśnie z nich wszystko, a jaki kod wypluwają w rękach laika, który nie do końca wie co robi.

    • Czyżby kolejna sytuacja kiedy to phoronix ma złą metodologię testów ?

      Druga sprawa jest taka że GCC od lat 90tych był monopolistą wśród wolnych kompilatorów C, stąd konkurencja korzystnie wpłynie na oba produkty.

    • Intel dodał brancha, ale zanim wejdzie to do trunka to jeszcze droga daleka, bo obecnie wspierane z tego co pamiętam jest tylko Linux, MacOS i tylko x86_64… a to trochę mało (mimo wszystko przydałby się Windows i wsparcie dla ARM/PowerPC zanim wejdzie do trunka).

ZOSTAW ODPOWIEDŹ

Proszę wpisać swój komentarz!
Proszę podać swoje imię tutaj