[devel] I: gcc 10.2.1 with hardenings
Gleb Fotengauer-Malinovskiy
glebfm на altlinux.org
Ср Дек 9 22:49:19 MSK 2020
Всем привет!
В Сизиф отправлен gcc 10.2.1.
http://gcc.gnu.org/gcc-10/changes.html
http://gcc.gnu.org/gcc-10/porting_to.html
Помимо обновления компилятора этот релиз содержит включённые по умолчанию
опции:
* -fstack-clash-protection;
* -fPIE и -pie;
* -z now при линковке PIE.
Типичные ошибки, которые возникнут во время следующей тестовой пересборки:
1.
/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
В gcc 10 по умолчанию включён -fno-common, об этом подробнее писалось
вот тут:
https://lists.altlinux.org/pipermail/devel/2020-December/212848.html
2.
/usr/src/RPM/BUILD/aqemu-0.9.2/src/docopt/docopt_value.h:267:16: error: 'runtime_error' is not a member of 'std'
В C++ измененились зависимостей между header-ами (об этом чуть подробнее
написано на указанной выше странице porting_to).
3.
Error: Type mismatch in argument 'a' at (1); passed TYPE(mp_realm) to TYPE(mp_real)
или
Error: Type mismatch between actual argument at (1) and actual argument at (2) (TYPE(sidl_bool_6d)/TYPE(sidl_bool_7d)).
или
Error: Rank mismatch in argument 'strue1' at (1) (scalar and rank-1)
Новый компилятор языка fortran лучше соответствует стандарту и
не принимает аргументы другого типа (об этом чуть подробнее написано на
указанной выше странице porting_to).
4.
pgbutton.cpp:105:8: error: narrowing conversion of 'PG_Button::OK' from 'unsigned int' to 'int' [-Wnarrowing]
105 | case OK:
Narrowing (cужение?) типов теперь диагностируется и в значениях case.
5.
verify-elf: ERROR: ./usr/bin/burnP5: TEXTREL entry found: 0x00000000
или
/usr/bin/ld.default: ../generated/build.o: relocation R_X86_64_32 against symbol `__dmd_personality_v0' can not be used when making a PIE object; recompile with -fPIE
Эти пакеты компилируют объектные файлы, которые потом нельзя
слинковать (нормально или совсем) в PIE.
Список таких пакетов:
cpuburn-1.4-alt5.qa1 ldv
dmd-2.094.0-alt3 darktemplar @everybody
dub-1.23.0-alt1 darktemplar @everybody
mjpegtools-2.1.0-alt3 rider @everybody
onedrive-2.4.7-alt1 lav @everybody
util-linux-2.35.2-alt2 legion boyarsh
6.
/usr/bin/ld.default: /usr/lib64/ocaml/libasmrun.a(startup_aux_n.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
Эти пакеты пытаются линковаться со статическими библиотеками из
репозитория, собранными без -fPIC или -fPIE.
Количество клиентов по библиотекам:
107 /usr/lib64/ocaml/lib{asm,caml}run.a
2 /usr/lib64/libpgcommon.a
1 /usr/lib64/libudis86.a
1 /usr/lib64/libtg_owt.a
1 /usr/lib64/libI2util.a
1 /usr/lib64/libgsoapssl++.a
1 /usr/lib64/libflam3.a
1 /usr/lib64/libboost_filesystem.a
Cкорее всего можно просто пересобрать эти библиотеки, они по умолчанию
соберутся с -fPIE.
Enjoy!
--
glebfm
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : signature.asc
Тип : application/pgp-signature
Размер : 801 байтов
Описание: отсутствует
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20201209/fdb4c0d1/attachment.bin>
Подробная информация о списке рассылки Devel