среда, апреля 23, 2014

drupal 7.27

Drupal — система управления содержимым, используемая также как каркас для веб-приложений (CMF), написанная на языке PHP и использующая в качестве хранилища данных реляционную базу данных (поддерживаются MySQL, PostgreSQL и другие). Drupal является свободным программным обеспечением, защищённым лицензией GPL, и развивается усилиями энтузиастов со всего мира.

Данное обновление устраняет важную ошибку в безопасности, разработчики советуют обновиться немедленно следуя инструкциям.

Прочитать подробнее об ошибке можно здесь.

Подробности

GCC 4.9

Основные изменения:
  • Реализована поддержка спецификации OpenMP 4.0 (Open Multi-Processing), определяющей API и способы применения методов параллельного программирования для языков Си, Си++ и Фортран (в GCC OpenMP 4.0 пока доступен только для Си и Си++ ). В OpenMP 4.0 обеспечена поддержка ускорения за счет привлечения мощностей GPU, представлены значительные улучшения в модели выполнения задач, добавлены механизмы обработки ошибок, добавлена поддержка определенных пользователем редукций, обеспечена векторизация циклов с использованием инструкции SIMD, добавлен ряд расширений для поддержки параллельного выполнения на уровне задач;
  • Частично реализована поддержка набора расширений Cilk Plus, предлагающего новую эффективную методику параллельного программирования для языков Си и Си++, позволяющую существенно упростить разработку программ, части которых выполняются параллельно с задействованием разных процессорных ядер и векторных сопроцессоров (Vector Units). Для управления генерацией кода с улучшенной векторизацией предусмотрена pragma simd. Поддерживается два метода увеличения производительности - параллелизм данных и параллельное выполнение подпрограмм. В первом случае, обеспечиваются механизмы прозрачного распараллеливания типовых операций над массивами данных и автоматическое задействование SIMD-инструкций. Для организации параллелизма на уровне подпрограмм в обиход вводится три ключевых слова: _Cilk_spawn - запуск функции в параллельном режиме, _Cilk_sync - ожидание завершения параллельно выполняемой функции, и _Cilk_for - организация работы цикла в параллельном режиме. "_Cilk_for" в GCC пока не поддерживается.
  • Для языков C и C++ добавлен компонент UBSAN (Undefined Behavior Sanitizer) с реализацией детектора неопределенного поведения, выявляющего во время выполнения программы ситуации, когда поведение программы становится неопределенным из-за ошибки программиста. Для включения UBSAN следует использовать опцию "-fsanitize=undefined";
  • Улучшена работа оптимизаций во время динамического связывания (LTO, Link Time Optimization) и межпроцедурных оптимизаций, в которых устранена серия негативно сказывающихся на масштабируемости узких мест. В реализации межпроцедурных оптимизаций добавлен новый проход для выполнения спекулятивной девиртуализации (-fdevirtualize-speculatively), а также добавлен новый модуль с анализов наследования типов. В LTO переписан код слияния типов, новая реализация значительно быстрее и потребляет меньше памяти. Реализована техника раннего удаления виртуальных методов и загрузки функций по мере необходимости, что позволило снизить потребление памяти во время связывания. В итоге потребление памяти при сборке Firefox в отладочном режиме удалось сократить с 15 до 3.5 Гб, а время связывания уменьшить с 1700 до 350 секунд;
  • Улучшена техника оптимизации на основе обратной связи (Feedback directed). Добавлен новый проход для изменения порядка функций (-freorder-functions), позволяющий значительно сократить время запуска больших приложений;
  • Распределитель локальных регистров (Local Register Allocator), ранее доступный только для ia32 и x86-64, теперь адаптирован и включен по умолчанию для целевых архитектур Aarch64, ARM, S/390 и ARC, а также реализован в качестве опции для платформ PowerPC и RX;
  • Существенно расширена поддержка архитектуры ARM. Внесены оптимизации для процессоров Cortex-A15б, Cortex-M4, Cortex-A52, Cortex-A53 и Cortex-A57. Добавлены оптимизации для big.LITTLE. Обеспечена поддержка архитектуры ARMv8-A. Добавлены опции для поддержи процессоров Cortex-A12 (-mcpu=cortex-a12), Cortex-R7 (-mcpu=cortex-r7), с Cortex-A53 по Cortex-A57 (-mcpu=cortex-a5x);
  • Поддержка новой little-endian платформы powerpc64le-linux для которой предлагается новый PowerPC ELFV2 ABI. Поддержка Power ISA 2.07, включая транзакционную память
  • В компоненте Address Sanitizer обеспечена поддержка архитектуры ARM в дополнение к ранее поддерживаемым архитектурам x86 и x86_64. Address Sanitizer позволяет выявлять ошибки работы с памятью и факты некорректного обращения к памяти, такие как обращение к областям памяти, после их освобождения ("use-after-free"), разрушение кучи, повреждение стека и переполнение буферов;
  • Прекращена поддержка устаревшего runtime-детектора утечек памяти mudflap;
  • Добавлена поддержка некоторых новшеств, развиваемых в рамках будущего стандарта C++14. Внесена серия улучшений, связанная с поддержкой стандарта C++11, например, реализованы массивы переменного размера, форма инициализации "[x = 42]{ ... };", разделители цифр (например, int j = 1'048'576;). В стандартную библиотеку С++ добавлена поддержка компонента "regex".
  • По реализации возможностей уровень поддержки стандарта C11 доведён до C99. В новой версии добавлена поддержка таких компонентов С11, как _Atomic, _Generic и _Thread_local. Добавлено новые Си-расширение __auto_type, предоставляющее для GNU C подмножество функциональности "auto" из C++11;
  • Улучшена поддержка языка ADA. GNAT переведён на использование по умолчанию стандарта ADA 2012, вместо ADA 2005;
  • В компиляторе для языка Fortran улучшена поддержка спецификации Fortran 2008 и добавлена поддержка Fortran 2003 finalization;
  • Обеспечена поддержка развиваемого компанией Google языка программирования Go 1.2.1;
  • Реализована поддержка микроархитектур Intel Silvermont (-march=silvermont) и Broadwell (-march=broadwell), процессоров 15 семейства процессоров AMD (Excavator, -march=bdver4 и -mtune=bdver4), процессоров IBM Power8 и RX100, RX200 и RX600;
  • Для процессоров Intel добавлена поддержка инструкций AVX-512, которая может использоваться для целевых архитектур x86-64 и ia32;
  • Возможность подсветки текста выводимых ошибок и предупреждений ("-fdiagnostics-color=auto");
  • Объявлена устаревшей поддержка платформы Solaris 9 (*-*-solaris2.9), код для которой будет удалён в выпуске GCC 4.10. Компания Oracle прекратила стандартную поддержку Solaris 9 в 2011 году, расширенная платная поддержка завершится в октябре 2014 года.