[devel] I: GCC >= 10 defaults to -fno-common

Dmitry V. Levin ldv на altlinux.org
Чт Дек 3 18:52:32 MSK 2020


On Thu, Dec 03, 2020 at 06:42:45PM +0300, Denis Medvedev wrote:
> On 12/3/20 6:14 PM, Dmitry V. Levin wrote:
> > Hi,
> >
> > В связи с предстоящим обновлением GCC в Сизифе, которое будет анонсировано
> > отдельно, я бы хотел обратить внимание на одно существенное изменение
> > в поведении GCC по умолчанию[1][2], начиная с версии 10:
> >
> > "GCC now defaults to -fno-common.  As a result, global variable accesses
> > are more efficient on various targets.  In C, global variables with
> > multiple tentative definitions now result in linker errors.
> > With -fcommon such definitions are silently merged during linking."
> >
> > В Сизифе около 400 пакетов, которые не готовы к этому изменению в GCC.
> > При попытке собрать эти пакеты происходит ошибка, сопровождающаяся
> > характерной диагностикой в логе сборки, например:
> >
> > /usr/bin/ld.default: CMakeFiles/genisoimage.dir/checksum.o:/usr/src/RPM/BUILD/cdrkit-1.1.11/genisoimage/genisoimage.h:379: multiple definition of `outfile'; CMakeFiles/genisoimage.dir/genisoimage.o:/usr/src/RPM/BUILD/cdrkit-1.1.11/genisoimage/genisoimage.h:379: first defined here
> >
> > Как правило, эта ошибка сборки - признак того, что пакет заброшен
> > или форкнут.  Вот список всех таких пакетов:
> 
> Годится такое описание по исправлению у нас?
> 
> https://wiki.gentoo.org/wiki/Gcc_10_porting_notes/fno_common

На мой взгляд, немного краткое, но вполне годится.

Там нет главного рецепта:
попробовать обновить пакет, весьма вероятно, что всё уже исправлено.


-- 
ldv


Подробная информация о списке рассылки Devel