Historias
Slashboxes
Comentarios
 

FreeBSD planea abandonar GCC por Clang/LLVM

editada por rvr el 13 de Mayo 2009, 07:00h   Printer-friendly   Email story
desde el dept. -pedantic
Pirx nos cuenta: «Hace unos días saltó la noticia de que Debian tiene la intención de sustituir la libc de GNU. Hoy leo que FreeBSD planea cambiar la colección de compiladores de GNU (GCC) por Clang/LLVM. Aunque ambas noticias suponen una pérdida de influencia para el proyecto GNU, parecen tener distintas causas. Lo de Debian está claro que viene de roces con Ulrich Drepper. Debian existe para un buen número de arquitecturas empotradas que Drepper califica con su acostumbrada diplomacia como "embedded crap" :-) Lo de FreeBSD podría ser más cuestión de familia. El proyecto LLVM creo que está patrocinado por Apple y tiene licencia BSD».

Historias relacionadas

[+] Publicado LLVM 2.4 13 comentarios
Acaba de ser anunciada la versión 2.4 de LLVM (Low Level Virtual Machine). A LLVM y su compilador asociado clang se les ha querido ver como un competidor de GCC, en parte por su licencia BSD, por su diseño más modular, por su novedoso enfoque de las optimizaciones y por el apoyo de Apple. La versión 2.4 trae una buena cantidad de novedades entre las que destacan la mejora en la generación de código, compilación más rápida y soporte para la arquitectura PIC16. En el propio anuncio se apunta a una serie de presentaciones y vídeos para saber más. [Vía reddit]
[+] Software Libre: Debian cambia de librería de C 93 comentarios
mig21 nos cuenta: «Vía reddit leo que Debian va a sustituir la librería de C de GNU, GLIBC por la Embedded GLIBC (EGLIBC). Al parecer los motivos son sobre todo una mayor apertura y disponibilidad para soportar distintas arquitecturas (sobre todo empotradas), la existencia de una rama estable con actualizaciones de seguridad, el soporte de más shells que bash, componentes configurables y una mejor batería de tests. El modelo del bazar en funcionamiento».
[+] Software Libre: MinGW publica GCC 4.4.0 54 comentarios
El equipo de MinGW ha publicado los binarios de GCC 4.4.0 para Windows. De entre las novedades destacan un mejor tratamiento de excepciones, una versión de libstdc++ en forma de librería compartida, y soporte para TLS (thread-local storage), además de todas las novedades de la versión 4.4.0. Hay que recordar que la anterior versión soportada oficialmente era GCC 3.4.5. Más en reddit.
[+] Software Libre: Clang ya se autocompila 22 comentarios
Como puede leer en el blog de LLVM/Clang, el compilador con licencia similar a la BSD patrocinado por Apple: ¡Clang ha completado su primera autocompilación! Hemos compilado toda la LLVM y el propio Clang con Clang, unas 550k líneas de código en C++. Los binarios resultantes han pasado todos los test de regresión y el Clang resultante puede además generar toda la LLVM y Clang de nuevo. Este tercer Clang resultó plenamente funcional, completando así el bootstraping .Más comentarios en OSNews y reddit. En noticias relacionadas, el sistema de plugins de GCC va dando sus frutos y la fundación Mozilla ha desarrollado Dehydra y Treehydra, unos plugins para hacer análisis estático de código C++.
[+] Software Libre: FreeBSD/Clang preparado para pruebas 14 comentarios
Cuentan en la lista de correo freebsd.current:ClangBSD es una rama de FreeBSD que trata de integrar Clang en FreeBSD reemplazando a GCC como compilador del sistema. Recientemente hemos llegado al punto en el que Clang es capaz de compilar todo FreeBSD en las plataformas i386 y amd64, incluyendo todas las aplicaciones escritas en C++ y el kernel. Creemos que ha llegado la hora de pedir a la comunidad de FreeBSD unas pruebas más amplias de esas plataformas y ayuda con las otras.Las instrucciones para generar el sistema con Clang se encuentran en la wiki del proyecto.
[+] LLDB: nuevo depurador desarrollado sobre LLVM 8 comentarios
wfox nos cuenta:«Según veo en el blog del proyecto LLVM se ha anunciado el desarrollo del depurador LLDB el cual hará uso de todas las herramientas que provee LLVM. Según comentan en reddit, el depurador venía siendo desarrollado por Apple internamente y decidió liberarlo. Es interesante ver todo lo que ha avanzado este año tanto LLVM como Clang. Por ejemplo, ya hay soporte del estándar ISO C++ 2003 y ya se logró compilar BoostEn noticias relacionadas la ACM ha premiado a Chris Lattner y al proyecto LLVM con el Programming Languages Software Award por el impacto que dicho proyecto ha tenido tanto en entornos de investigación como en la industria.
[+] Cambios en la dirección de la GNU libc

La semana pasada Roland McGrath anunció que el comité que dirigía la GNU libc se disolvía. La biblioteca estándar de C (o simplemente libc) es la primera y principal interfaz de las aplicaciones con el núcleo, y la GNU libc o glibc es la implementación más importante en los sistemas basados en Linux. Todas las distribuciones de escritorio la usan, y los sistemas que no lo hacen acostumbran a ser de propósito más específico, como Android o sistemas embedded (los sistemas BSD también tienen su propia biblioteca). Hace tres años Debian cambió a EGLIBC, una iniciativa aparte para producir una variante de la GNU libc compatible a nivel de fuentes y de binarios. Este proyecto surgió para hacer la biblioteca más configurable (especialmente para proyectos embedded), algo que Ulrich Drepper, por entonces principal autor y mantenedor, no quería. Ahora no se descarta que los cambios de la EGLIBC sean incorporados en el proyecto original. Recomiendo la lectura de detallados artículos de LWN (inglés), y Diego Calleja (castellano).

Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Precisiones

    (Puntos:4, Informativo)
    por Mu (11278) el Miércoles, 13 Mayo de 2009, 07:26h (#1146485)
    ( http://press.asqueados.net/ | Última bitácora: Miércoles, 28 Marzo de 2012, 21:17h )
    Si un editor ve este comentario, convendría corregir de la portada la información imprecisa.

    El proyecto LLVM creo que está patrocinado por Apple y tiene licencia BSD


    Consultando la wikipedia, me sale que:

    1) Efectivamente, Apple es el principal patrocinador.

    2) La licencia es University of Illinois/NCSA Open Source License, que según la misma fuente es una combinación entre la MIT y la BSD, con ánimo de ser más clara, manteniendo el mismo espíritu de ambas.
    --
    Envíos descartados por Mu [barrapunto.com]
  • por orfeo (5929) el Miércoles, 13 Mayo de 2009, 08:30h (#1146516)
    ( http://barrapunto.com/~orfeo/journal/ | Última bitácora: Miércoles, 11 Enero de 2012, 17:48h )
    Aparte de la licencia (gcc/GNU, LLVM/+-MIT+-BSD), ¿Qué diferencias hay entre estos compiladores?, ¿merecería compilar algunas cosas con LLVM o da más o menos los mismo?.
    • Re:¿Que tiene LLVM que no tenga GCC?

      (Puntos:5, Informativo)
      por 1052 (15985) el Miércoles, 13 Mayo de 2009, 09:28h (#1146567)
      ( http://barrapunto.com/ )
      Ventajas de GCC:

      * GCC incluye más lenguajes: Fortran, Java.

      * GCC implementa mejor los lenguajes y los estándares (El soporte de C++ de Clang es muy primitivo todavía).

      * GCC tiene más extensiones que Clang/LLVM no tiene.

      * GCC funciona en más architecturas que Clang/LLVM.

      Ventajas de Clang/LLVM:

      * Diseño modular, código fuente limpio y moderno, implementado en C++.

      * Más rápido, en ocasiones increíblemente más rápido. [1][3]

      * Aunque GCC genera muchas más micro-optimizaciones, LLVM tiene optimizaciones con mucho impacto, como Link-Time Optimization. [1][2]

      * Los diagnósticos de Clang son muchísimo mejores que los de GCC.[3]

      Mi conclusión es que GCC le lleva una ventaja relativa a Clang/LLVM en algunas cosas que están todavía siendo desarrolladas. Pero Clang/LLVM le lleva una ventaja *enorme* a GCC en cosas en las que los desarrolladores de GCC ni siquiera están trabajando.

      Como contribuidor esporádico a GCC, la situación actual da un poco de pena, pero o cambia mucho el desarrollo de GCC (el nuevo soporte de plugins en GCC es un pequeño paso), o más y más recursos se van a redirigir a Clang/LLVM en detrimento de GCC.

      Por cierto, Chris Lattner, el creador de Clang/LLVM, es un genio, tanto en el aspecto técnico como en el aspecto social, lo que a mi parecer es una parte importante del éxito que está teniendo LLVM.

      Y pensar que llegó a proponer contribuir LLVM a GCC (y al proyecto GNU): http://gcc.gnu.org/ml/gcc/2005-11/msg00888.html [gnu.org]

      [1] http://gcc.gnu.org/ml/gcc/2009-05/msg00302.html [gnu.org]

      [2] http://llvm.org/ [llvm.org]

      [3] http://clang.llvm.org/comparison.html#gcc [llvm.org]
      [ Padre ]
  • Embedded crap

    (Puntos:2, Inspirado)
    por pobrecito hablador el Miércoles, 13 Mayo de 2009, 08:32h (#1146517)
    Un poquito fuera de contexto ¿No? :-) Lo único que dijo es que no iba incluir un parche para hacer glibc más lenta en todas las arquitecturas sólo para evitar un fallo con el alineamiento en un micro de diseño defectuoso y que está obsoleto.

    Ulrich Drepper lleva 12 años al frente del desarrollo y varios años más trabajando en glibc (pasando por la FSF, cygnus y redhat). Ha revisado e integrado miles de parches, así que si dice que el tuyo es erróneo al menos deberías revisarlo antes de pensar que es algo personal.

    Por cierto, eglibc no sustituye "la libc de GNU" porque no es "otra libc" o ni siquiera un fork de aquella: sólo es un parche sincronizado con la última versión de glibc igual que los miles de parches que aplican regularmente los empaquetadores de debian.

  • EGlibc está basado en Glibc

    (Puntos:4, Informativo)
    por k0ro (16610) el Miércoles, 13 Mayo de 2009, 08:40h (#1146521)
    ( http://blogs.nologin.es/slopez | Última bitácora: Sábado, 02 Septiembre de 2006, 01:17h )
    Conviene recordar que elibc [eglibc.org] sinconiza periódicamente su repositorio con el de glibc [gnu.org]. En la práctica, es un conjunto de modificaciones sobre esta última con el objetivo de hacerla más modular y, por lo tanto, hacer que encaje mejor en entornos empotrados.

    Por lo tanto, la pérdida de influencia del proyecto GNU es un tanto relativa.

    --

  • por anv (15549) el Miércoles, 13 Mayo de 2009, 09:07h (#1146545)
    ( http://barrapunto.com/ )
    Yo cambiaría GCC por otra cosa, no por problemas de simpatías o licencias sino porque GCC es bastante malo al generar binarios. Si Linux estuviera compilado con otra cosa seguramente sería un 10 o 20% más rápido... o tal vez no porque no habría tanto incentivo para optimizar el código.