LINUX.ORG.RU

Gcc


91

0

Всего сообщений: 56

GCC-плагин DragonEgg прошёл тест на самосборку

Группа Open Source

Разработчики проекта LLVM сообщили о новом достижении - GCC-плагин DragonEgg достиг состояния, позволяющего пересобрать самого себя. В начале с использованием DragonEgg были пересобраны исходные тексты GCC-4.5, LLVM и dragonegg, а затем эксперимент был повторен с задействованием для пересборки свежескомпилированного бинарного файла.

DragonEgg представляет собой подключаемый к набору компиляторов GCC плагин, позволяющий в максимально прозрачном режиме использовать в стандартном GCC оптимизаторы и генераторы кода, разработанные в рамках LLVM.

В настоящий момент до достаточно высокого уровня доведена работоспособность DragonEgg для языков Си и Си++, частично реализована поддержка Fortran и Ada, хуже обстоят дела с поддержкой Obj-C и Obj-C++, много работы предстоит проделать для поддержки Java. На текущей стадии развития DragonEgg поддерживает архитектуры x86-32 и x86-64, может работать в Linux и Darwin.

Запись в блоге LLVM

>>> Взято с Opennet.ru

 , , ,

jeuta
()

Вышел GCC 4.3.4

Группа GNU's Not Unix

Вышел корректирующий релиз open-source набора компиляторов для различных языков программирования, разработанный в рамках проекта GNUGNU Compiler Collection 4.3.4.

По сравнению с GCC 4.3.3 главные изменения коснулись исправления накопившихся регрессий и серьезных ошибок найденных в предыдущей версии.

Следующая корректирующая версия ветки 4.3.x ожидается, вскоре после релиза 4.4.2.

Релиз 4.3.4 уже доступен на всех FTP мира.

>>> Подробности

 , ,

fedkoff
()

Выпущен самообучающийся компилятор Milepost GCC

Группа Open Source

"Корпорация IBM сообщила о доступности для всех желающих первого в мире компилятора, обладающего способностью машинного самообучения. Компилятор Milepost GCC с открытым исходным кодом (open source) оптимизирует программные приложения, что, в результате, приводит к сокращению сроков разработки и большому выигрышу в производительности приложений.
<...>
Как ожидалось, новый компилятор (результат совместной работы IBM и ее бизнес-партнеров из финансируемого Евросоюзом консорциума Milepost) резко сократит сроки вывода на рынок новых программных продуктов. Приложения теперь можно быстрее настраивать под целевые архитектуры, сокращая цикл разработки. Когда компания, например, хочет разработать новую модель мобильного телефона, она, как правило, нанимает группу разработчиков приложений на многие месяцы, чтобы созданное ими встраиваемое программное обеспечение работало на приемлемом уровне производительности. Компилятор Milepost GCC может сократить время, необходимое для достижения этого уровня, почти в 10 раз.
<...>
Компилятор Milepost GCC доступен для свободной загрузки с Web-сайта консорциума http://www.milepost.eu, начиная с 25 июня этого года. В проекте консорциума принимают участие IBM Haifa Research Lab, Израиль; Университет Эдинбурга (University of Edinburgh), Великобритания; ARC International Ltd., Великобритания; CAPS Enterprise, Франция; и INRIA, Франция".

>>> Подробности

 , milepost,

Sanitar
()

Официальный релиз набора компиляторов GCC 4.4.0

Группа GNU's Not Unix

Вышел набор компиляторов 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*»; ужесточены требования к инициализации C++ классов.

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

>>> Подробности

 , ,

tempuser001
()

Применение специальных возможностей GCC в ядре Linux

Группа Документация

В ядре Linux® используется ряд особых возможностей набора компиляторов GNU (GCC) — от возможностей упрощения и более короткой записи до предоставления компилятору подсказок для оптимизации кода. Откройте для себя некоторые из этих особых возможностей GCC и узнайте, как их использовать в ядре Linux.

>>> Подробности

 ,

IBM_dW
()

Вышел GCC 4.4.0

Группа GNU's Not Unix

Хочется отметить следующие изменения, касающиеся поддержки языков Си и C++:

  • Опция -Wparentheses теперь позволяет легко обнаружить популярную ошибку, связанную с низким приоритетом побитовых операций «И» и «ИЛИ»
  • Опция -Wsequence-points теперь работает внутри условий if/while/for, и позволяет легко обнаружить неопределенное поведение, связанное с незнанием некоторыми неопытными программистами понятия sequence points
  • Улучшения в поддержке грядущего стандарта ISO C++0x, как со стороны компилятора, так и со стороны libstdc++
  • Возможность автоматической оптимизации циклов для более эффективного использования кэшей
  • Новый распределитель регистров, разработанный Владимиром Макаровым
  • Поддержка OpenMP 3.0

Начиная с версии GCC 4.4, планировалось изменить лицензию рантайм библиотеки. Поэтому GCC длительное время находился в «замороженном» состоянии, ожидая, пока FSF рассмотрит и одобрит новую лицензию. В результате разработчики уделили много времени устранению регрессий, и на данный момент имеется всего лишь 76 незакрытых багов.

>>> Подробности

 ,

Manhunt
()

Сравнение компиляторов GCC3, GCC4 и Sun Studio

Группа Linux General

По просьбе корпорации Sun, аналитики Phoronix.com провели сравнение эффективности работы компиляторов GCC 3.4.3, GCC 4.0.2, и Sun Studio 12. В тестах обе версии gcc вели себя схоже. Результаты измерений Sun Studio и скомпилированного ею кода по отношению к GCC:

  • PHP собирается из исходников быстрее в 1,7 раза.
  • LAME MP3 конвертирует wav -> mp3 в три раза дольше, а oggenc жмёт медленнее только на четверть.
  • Все сборки GnuPG шифруют на примерно одинаковой скорости. С SQLite ситуация аналогичная.
  • GraphicsMagick, собранный Sun Studio, работает в 2-4 раза быстрее, чем сборки от GCC.

Sun Studio - это набор компиляторов от Sun под ОС Linux и OpenSolaris для языков C, C++ и Fortran. Компиляторы владеют различными оптимизациями, в т.ч. OpenMP. Сравнение проходило на четырехядерном x86_64-процессоре под ОС OpenSolaris.

>>> Подробности

 , , sunstudio

shahid
()

В Haiku OS появился нативный GCC4

Группа Open Source

Препятствием к портированию программ в Haiku OS было отсутствие обновленной версии GCC4 компилятора. Можно воспользоваться GCC 4.1.2, но кросс-компиляция при этом может быть болезненной и разочаровывающей.

Майкл Лоц решил эту задачу - GCC 4.3.3 стал "родным" для Haiku. Теперь это реальность.

>>> Подробности

 , ,

gaux
()

Знакомимся с GCC 4

Группа Документация

GCC не стоит на месте. Выходят новые процессорные архитектуры, исследуются и реализуются более эффективные способы генерации и оптимизации кода, что делает GCC все более мощным. Закономерный результат - появление четвертой версии, положившей начало новой ветке. Данная статья рассказывает об основополагающих новшествах GCC 4 и доказывает, что настало время перейти на новую версию, если вы еще этого не сделали.

>>> Подробности

 ,

IBM_dW
()

Компиляция

Группа Документация

В заметке "Как происходит компиляция" (автор Mike Diehl, перевод А.Тарасова) подробно объясняется ход процесса компиляции исходного текста в исполняемую программу. В первой части рассмотрены этапы компиляции, выполняемые компилятором GCC - обработка препроцессором, трансляция, ассемблирование и линковка. Во второй части процесс линковки рассмотрен более подробно. Также описаны системные вызовы Linux и то, как компилятор GCC проводит оптимизации.

>>> Подробности

 ,

vikos
()

GCC 4.3.2

Группа GNU's Not Unix

Вышел новый релиз GNU коллекции компиляторов GCC 4.3.2.

Изменений довольно много
http://gcc.gnu.org/gcc-4.3/changes.html

Официальный рапорт http://gcc.gnu.org/ml/gcc/2008-08/msg...

Это список докладов о проблемах GCC с багтрака, которые исправлены в версии 4.3.2.
Список может быть неполным, т.к. некоторые проблемы требовали срочного решения и не попали в него.

http://gcc.gnu.org/bugzilla/buglist.c...

>>> Подробности

 , ,

Bod
()

C vs. JVM's benchmark

Группа Java

Стэфан Краузе в своём блоге
http://www.stefankrause.net/
опубликовал новые тесты производительности кода, написанного на C и на Java.

В тесте используются компилятор GCC 4.2.3 и различные версии JVM (Sun JDK 6, IBM JDK 6, Excelsior JET, Apache Harmony, BEA JRockit).

Тесты проводились на ноутбуке Dell Insprion 9400 с 2GB RAM и процессором Intel Core 2 2GHz под Ubuntu 8.04 (x86). Исходные коды прилагаются.

>>> Подробности

 , ,

iZEN
()

Коммерческая IDE Sourcery G++

Группа Проприетарное ПО

Компания CodeSourcery выпустила коммерческую интегрированную среду разработки приложений Sourcery G++, основанную на инструментах GNU (gcc, gdb, binutils) с интерфейсом на базе Eclipse.

SGPP представлена в трёх редакциях:

  • Professional - присутствуют все компоненты, включая IDE, обновления и безграничную техническую поддержку (эта редакция стоит $399);
  • Personal - аналогично предыдущему, но без поддержки;
  • Lite - бесплатная версия, включает в себя только утилиты командной строки.

Итак, что же представляет собой это чудо промышленного шпионажа?

  • GNU C и C++ компиляторы. CodeSourcery улучшила этот набор компиляторов, добавив поддержку большего числа процессоров и улучшив оптимизирующие алгоритмы.
  • GNU Ассемблер и компоновщик (linker). SGPP также включает в себя скрипты для компоновщика для различных конфигураций.
  • Runtime-библиотеки. SGPP предоставляет glibc как стандарт де-факто, uClibc для систем uClinux, а также Newlib.
  • GNU Отладчик.
  • Debug Sprites. Предоставляют возможности отладки оборудования через JTAG и ICE устройства.
  • Симулятор набора инструкций. Включает в себя СНИ из QEMU и позволяет запускать приложения, скомпилированные для другой архитектуры.
  • GNU/Linux прекомпоновщик (prelinker). Это постобработчик, который может значительно уменьшить время запуска скомпилированных приложений; CodeSourcery изменили прекомпоновщик так, чтобы он работал также на не-GNU/Linux системах, в т.ч. и Windows.
  • Eclipse IDE. Предоставляет визуальную среду программирования, включая редактор с подсветкой синтаксиса, визуальный отладчик, и др.
  • Поддержка целевых архитектур: ARM, ColdFire, fido, MIPS, Power Architecture, Stellaris, x86.
  • Поддержка целевых ОС: GNU/Linux, uClinux.
  • Регулярные обновления.
  • Техническая поддержка.

Подробнее о Sourcery G++

>>> Подробности

 , ,

alex_custov
()

Изучаем параметры GCC

Группа Документация

Опубликован перевод статьи Getting Familiar with GCC Parameters.

В статье рассмотрены следующие параметры GCC (GNU C Complier):

  • Параметры, относящиеся к оптимизации.
  • Параметры, относящиеся к вызову функций.
  • Параметры, относящиеся к отладке.
  • Параметры, относящиеся к препроцессору.

>>> Ссылка на перевод

 ,

n0xi0uzz
()

GCC-4.3.0

Группа GNU's Not Unix

Вышла новая версия GNU Compiler Collection - 4.3.0 с большим количеством изменений по сравнению с веткой 4.2.X (инкрементальный патч для версии 4.2.3 в bz2-архиве занимает 35Мб!). Изменения претерпел оптимизатор (который обещает быть быстрее и генерировать лучший код), функциональность (добавлено много новых параметров командной строки), поддержка процессоров и платформ и многое другое, с чем все желающие могут ознакомиться по следующим ссылкам:

изменения для ветки 4.3: http://gcc.gnu.org/gcc-4.3/changes.html
ссылка для скачивания: ftp://gcc.gnu.org/pub/gcc/releases/gc...
инкрементальный патч: ftp://gcc.gnu.org/pub/gcc/releases/gc...

>>> Подробности

 

frame
()

AMD Performance Library теперь свободна

Группа Open Source

Некогда закрытая библиотека APL, созданная AMD для повышения производительности на многоядерных процессорах, теперь открыта! Библиотека представляет из себя набор оптимизированных функций для таких повседневных расчётов, как обработка изображений и аудиосигналов, декодирование H.264-потока и многое другое. До сегодняшнего дня APL представляла из себя закрытую динамическую библиотеку для GCC-4.1 и статическую для MS VS2005.

В библиотеке используются оптимизации только для x86 и x86_64 архитектур, т.е. MMX, SSE, SSE2, многопоточность и т.п. Библиотека выпущена в преддверии следующего дампа GPU-документации, который ожидается на следующей неделе.

Подробнее об APL: http://en.wikipedia.org/wiki/AMD_Perf...

Пресс-релиз: http://www.amd.com/gb-uk/Corporate/Vi...

Исходники библиотеки включены в распространяющийся на условиях Apache License проект Framewave: http://framewave.sourceforge.net/

>>> Подробности на Phoronix.com

 , , framewave, , ,

shahid
()