On Thu, Jun 04, 2009 at 01:14:52AM +0400, Dmitry V. Levin wrote: > On Wed, Jun 03, 2009 at 03:20:01PM +0400, Dmitry V. Levin wrote: > > On Wed, Jun 03, 2009 at 02:54:21PM +0400, Dmitry V. Levin wrote: > > > On Wed, Jun 03, 2009 at 05:21:02AM +0400, Vitaly Lipatov wrote: > > > > Есть предложение добавить в стандартные флаги (CFLAGS) > > > > -Werror=format-security > > > > Предотвращает конструкции вида > > > > *printf(msg) > > > > где msg - форматная строка неизвестного содержания. > > > > Наткнулся на это в Mandriva. > > > > > > В gcc4.4 я включил по умолчанию -Wformat и -Wformat-security, > > > см. "ALT Linux gcc 4.4.0-alt1" в "info gcc" (там же написано, как это > > > отключить). > > > > > > Добавить -Werror=format-security по умолчанию куда-либо при текущем уровне > > > несобираемости Сизифа (4.6%), как мне кажется, ещё рано. > > > > Точно рано: сломается сборка ещё примерно 800 пакетов, что почти в 2 раза > > превышает число несобирающихся сейчас пакетов. > > С другой стороны, 800 пакетов на 12 недель даёт в среднем чуть менее 10 > пакетов в день, так что, ввиду тривиальности исправления в подавляющем > большинстве случаев, наверное, можно и включить... Мне кажется что не надо включать -Werror флаги в компиляторе по умолчанию. Компилятор это же не только для сборки пакетов, чтобы местные политики туда засовывать. Мы и так уже засунули в компилятор --as-needed и FORTIFY_SOURCE. Для поддержки -debug пакетов надо туда по умолчанию включить -g. Тогда получается компилятор с "нашим пресетом" опций. Типа мы прочитали man gcc и все хорошие опции по умолчанию включили.