The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Релиз набора компиляторов GCC 4.4.0

21.04.2009 18:25

Вышел набор компиляторов GCC 4.4.0 с измененным лицензионным соглашением на runtime - "GCC RUNTIME LIBRARY EXCEPTION", убирающим некоторые ограничения лицензии GPLv3 для Runtime компонент набора компиляторов, что позволяет генерировать в GCC любой код, независимо от лицензии под которой он будет распространяться (например, в качестве runtime теперь можно использовать код для обеспечения работы виртуальных машин, обрабатывающих байткод, в том числе Java).

Основные изменения по сравнению с веткой GCC 4.3.x:

  • Добавлен оптимизатор Graphite, основанный на полиэдральном промежуточном представлении - технологии оптимизации для обеспечения параллельного выполнения циклических операций. Оптимизация касается всех языков, поддерживаемых GCC. Разработка позволяет значительно увеличить производительность обычных приложений на многоядерных процессорах, созданных без использования специальных библиотек распараллеливания, например, Threading Building Blocks.
  • Добавлены новый аллокатор регистров (IRA - integrated register allocator) и новый планировщик расстановки инструкций.
  • Новые опции оптимизации: "-findirect-inlining", "-ftree-switch-conversion", "-ftree-builtin-call-dce" и "-fconserve-stack";
  • Новые опции предупреждения о потенциальных ошибках в коде: "-Wparentheses", "-Wsequence-points", "-Wconversion", "-Wuninitialized" и т.д.
  • Реализована поддержка версии 3 спецификации OpenMP (API для параллельных вычислений);
  • Улучшена поддержка грядущего С++ стандарта C++0x, например, в libstdc++ добавлены заголовочные файлы chrono, condition_variable, cstdatomic, forward_list, initializer_list, mutex, ratio, system_error и thread;
  • Произошли множественные изменения в поддержке языков C/C++/Fortran;
  • Улучшена поддержка уже поддерживаемых архитектур: добавлены средства оптимизации для CPU ARM Cortex-A9, Cortex-R4 и Cortex-R4F, PowerPC e300c2, e300c3, e500mc, IBM System z10 EC/BC; добавлена поддержка встроенных функций Intel AES, Intel PCLMUL, Intel AVX; улучшена поддержка архитектур MIPS, AVR, IA-32/x86-64, IA-32/IA64, PowerPC и т.д.
  • GCC стал считать ошибками некоторые программисткие "решения", которые компилировались ранее. Например, теперь не работает "#elif" без аргумента; "cstdio" больше не подразумевает включение "string.h", "ios.h", "iomanip.h", "streambuf.h" и "locale.h", а "stdint.h" не включает "string.h" и "ios.h". ; строковые функции больше не принимают "char*" в контексте "const char*" (т.е. если str1 - "const char*", то "char* str2 = strchr(str1, 'a')" работать не будет); ужесточены требования к инициализации C++ классов.

Разработчики Fedora уже ранее заявили о том, что версия 11 дистрибутива будет полностью скомпилирована GCC 4.4.0. Однако, работа предстоит немалая: при попытке пересборки новым компилятором 6228 пакетов дистрибутива было зафиксировано 559 ошибок.

  1. Главная ссылка к новости (http://gcc.gnu.org/gcc-4.4/...)
  2. Список изменений
  3. Список зеркал для скачивания
  4. Прямая ссылка на релиз
  5. OpenNews: Фонд свободного ПО опубликовал лицензионное исключение на GCC Runtime
  6. OpenNews: Intel готовится произвести большую передачу кода проекту GCC
Автор новости: Artem S. Tashkinov
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/21376-gcc
Ключевые слова: gcc
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (18) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.5, User294 (??), 19:30, 21/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нехилый список изменений, респекты разработчикам - внушает.Интересно, насколько от этого глюков прибавится? :)
     
     
  • 2.6, pavlinux (ok), 19:32, 21/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    11%
     
     
  • 3.9, User294 (??), 19:57, 21/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    > 11%

    Для такого списка изменений - это было бы довольно неплохо.

     

  • 1.7, Аноним (-), 19:39, 21/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > что позволяет генерировать в GCC любой код, независимо от лицензии под которой он будет распространяться

    А раньше нельзя было?

     
     
  • 2.19, arachnid (??), 08:42, 22/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >> что позволяет генерировать в GCC любой код, независимо от лицензии под которой он будет распространяться
    >
    >А раньше нельзя было?

    раньше были сомнения. по крайней мере именно поэтому freebsd для системы использует gcc с лицензией gplv2

     
     
  • 3.22, Andrey Mitrofanov (?), 16:47, 22/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>> что позволяет генерировать в GCC любой код, независимо от лицензии под которой он будет распространяться
    >>А раньше нельзя было?

    Как текст в новости, так и выдернутая из него без контекста цитата -- совсем ни о чём и не о том. У меня почему-то такое впечатление, что GPLv3 и исключения для линковки генерируемого кода с библиотеками -- совсем не про "позволяет генерировать в GCC любой код". Наверное, я слишком серьёзно отношусь к своим впечатлениям.

    >раньше были сомнения. по крайней мере именно поэтому freebsd для системы использует
    >gcc с лицензией gplv2

    Угу, и каждый год 1-го апреля переходят с gcc... многия лета. На tcc, pcc, icc, llvm, ... Интересы "коммерческих пользователей" обязывают?

     
     
  • 4.23, arachnid (ok), 17:10, 22/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >[оверквотинг удален]
    >-- совсем ни о чём и не о том. У меня
    >почему-то такое впечатление, что GPLv3 и исключения для линковки генерируемого кода
    >с библиотеками -- совсем не про "позволяет генерировать в GCC любой
    >код". Наверное, я слишком серьёзно отношусь к своим впечатлениям.
    >
    >>раньше были сомнения. по крайней мере именно поэтому freebsd для системы использует
    >>gcc с лицензией gplv2
    >
    >Угу, и каждый год 1-го апреля переходят с gcc... многия лета. На
    >tcc, pcc, icc, llvm, ... Интересы "коммерческих пользователей" обязывают?

    давайте так - среди разработчиков free были непонятки с лицензией gplv3, о чем можно почитать в рассылке. что я ам прочел, то и изложил. со всеми уточнениями - а авторам

     

  • 1.8, Probirker (?), 19:41, 21/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Расскажите кто в теме плиз, а поддержу java (gcj и classpath) там совсем забросили или как и что происходит?

    последняя новость на http://gcc.gnu.org/java/ от March 30, 2007

    Просто в статусе http://gcc.gnu.org/java/status.html говорят Status of GCJ as of GCC 3.2, а сейчас уже вон 4.4.0, получается с тех пор ничего не делали? Или страницу не обновили?

    На http://www.gnu.org/software/classpath/ вроде чуть получше, не так давно релиз был, но всё равно жабой 1.6 там вроде не пахнет и совершенно непонятно как он связан с gcj, если последнего забросили два года назад...

    Хочется мне знать, продолжать мечатать об ahead-of-time компиляции в нативный код или забыть об этом напрочь и не мучить себя понапрасну.

    ЗЫ Большая, огромная и убедительная просьба троллей с воплями "жаба аццтой, пиши на c++/qt" и иже с ними промолчать. Вопрос не об этом.

     
     
  • 2.12, Guest (??), 20:30, 21/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну вот теперь может и во фряхе обновят копилятор :)

    Хорошо бы.

     
     
  • 3.14, Осторожный (ok), 21:57, 21/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >>Ну вот теперь может и во фряхе обновят копилятор :)
    >
    >Хорошо бы.

    Не понял в чем проблема - в портах есть gcc42, gcc43, gcc44, gcc45
    Бери любой и пользуйся

     
     
  • 4.18, Guest (??), 03:11, 22/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    Порты это порты, а базовая система это базовая система.
     
  • 2.16, А (??), 00:35, 22/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    По моему, просто отдельный сайт для него забили поддерживать. Список рассылки активен.
     

  • 1.13, zLoj (?), 21:27, 21/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Napisano "April 21, 2008". :)
    Novost' iz proshlogo.
     
  • 1.15, NegatiV (ok), 22:46, 21/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ядро и модули собрались без проблем. ура!)
     
  • 1.17, Ivan (??), 01:19, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > строковые функции больше не принимают "char*" вместо "const char*"

    Жесть

     
     
  • 2.20, mike lee (?), 09:12, 22/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    похоже что это особенности перевода.

    "Some of the standard C++ library include files have been edited to use replacement overloads for some common C library functions (if available), with the goal of improving const-correctness: functions passed a const char* return const char*."

    Как я понимаю теперь сделали по правильному - две перегрузки - константная принимающая const char* и его же возвращающая и обычная, работающая с неконстантыми типами. это дает соптимизировать констнантную версию. Т.е. вот это не прокатит:

    const char* str1;
    char* str2 = strchr(str1, 'a');
    т.к. должен быть const char* str2.

    http://gcc.gnu.org/gcc-4.4/porting_to.html

     

  • 1.21, Аноним (-), 11:43, 22/04/2009 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А другие компиляторы, веб-, 3D-редакторы, не могут, значит, создавать несвободное? 3 версия лицензии стесняет движения, и, постоянно учитывая её, так приятно однажды вернуться к GPL v2 проекту хоть на денёк! Когда всё легко и просто, и встречает как родного... Предлагаю GPL 2.5, или 3.1. Тот же GPL 2.0 с тем самым пунктом из 3.0, который штопает ту дырочку, и зависимости к нему.
     
     
  • 2.24, Аноним (-), 13:20, 23/04/2009 [^] [^^] [^^^] [ответить]  
  • +/
    >А другие компиляторы, веб-, 3D-редакторы, не могут, значит, создавать несвободное? 3 версия
    >лицензии стесняет движения, и, постоянно учитывая её, так приятно однажды вернуться
    >к GPL v2 проекту хоть на денёк! Когда всё легко и
    >просто, и встречает как родного... Предлагаю GPL 2.5, или 3.1. Тот
    >же GPL 2.0 с тем самым пунктом из 3.0, который штопает
    >ту дырочку, и зависимости к нему.

    Серьёзно, только об 1 плюсе слышал GPL 3.0. Значит, набранное в GPL 3.0 текстовом редакторе текст - свободный?

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру