[devel] I: gcc 12.2.1-alt2: -D_FORTIFY_SOURCE=3

Gleb Fotengauer-Malinovskiy glebfm на altlinux.org
Пт Апр 28 18:22:12 MSK 2023


Hi,

Вчера в Сизиф отправился gcc, который включает -D_FORTIFY_SOURCE=3
вместе с -O (вместо -D_FORTIFY_SOURCE=2 с -O2 как раньше).

Из-за этого сломалась сборка нескольких пакетов:

acl	@core
	============================================================================
	Testsuite summary for acl 2.3.1
	============================================================================
	# TOTAL: 15
	# PASS:  0
	# SKIP:  4
	# XFAIL: 2
	# FAIL:  9
https://savannah.nongnu.org/bugs/index.php?62519

acpica	shaba @everybody
ade	rider @everybody
cppi	@core
fcoe-utils	shaba @everybody
htmldoc	ruslandh @qa
kitty	egori @everybody
librados2-perl	shaba @everybody
linuxcnc	antohami @everybody
mk-configure	cheusov @everybody
proxmox-mini-journalreader	shaba shrek andy
swtpm	shaba @everybody
tini	cow @everybody
veyon	egori @everybody
	obj/acpibin ../../../source/tools/acpibin/abcompare.c
	<command-line>: error: "_FORTIFY_SOURCE" redefined [-Werror]
	<built-in>: note: this is the location of the previous definition
	cc1: all warnings being treated as errors
	make[1]: *** [../Makefile.rules:20: obj/abcompare.o] Error 1
Эти пакеты сами себе включают _FORTIFY_SOURCE=2, что хорошо, но
конфликтует с одновременно включённым по умолчанию _FORTIFY_SOURCE=3.

crtools	vseleznv @everybody
crtools-ovz	andy @everybody
	criu/net.c: In function 'unix_conf_op':
	criu/net.c:230:32: error: 'net/unix/' directive output truncated writing 9 bytes into
	a region of size 0 [-Werror=format-truncation=]
	230 | #define CONF_UNIX_BASE	     "net/unix"
	--
	56 |					__va_arg_pack ());
	cc1: all warnings being treated as errors
	make[2]: *** [/usr/src/RPM/BUILD/criu-3.17/scripts/nmk/scripts/build.mk:118: criu/net.o]
	Error 1
	inlined from 'unix_conf_op' at criu/net.c:384:3:
	/usr/include/bits/stdio2.h:54:10: error: specified bound 42 exceeds the size 0 of the
	destination object [-Werror=format-truncation=]
	54 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
	--
	criu/net.c: In function 'unix_conf_op':
	criu/net.c:233:33: error: 'net/unix/' directive output truncated writing 9 bytes into
	a region of size 0 [-Werror=format-truncation=]
	233 | #define CONF_UNIX_BASE	      "net/unix"
	--
	56 |					__va_arg_pack ());
	cc1: all warnings being treated as errors
	make[2]: *** [/usr/src/RPM/BUILD/criu-3.15.5.3/scripts/nmk/scripts/build.mk:119:
	criu/net.o] Error 1

Там написано примерно:
char path[size][path] = {};
if (*n = size) {
	return -EINVAL;
}

for i = 0; i < *n; i++) {
	snprintf(path[i], ...);
	...
}

Компилятор сообщает, что если *n > size, то всё будет плохо.

libsratom	viy @everybody
	056-debuginfo.brp: WARNING: debuginfo without debug sources.
	Verifying ELF objects in /usr/src/tmp/libsratom-buildroot
	(arch=normal,fhs=normal,lfs=relaxed,lint=relaxed,rpath=normal,stack=normal,textrel=normal,unresolved=normal)
	Executing(%check): /bin/sh -e /usr/src/tmp/rpm-tmp.93103
	+ umask 022
	+ /bin/mkdir -p /usr/src/RPM/BUILD
	+ cd /usr/src/RPM/BUILD
	+ cd sratom-0.6.6
	+ ./build/sratom_test
	*** buffer overflow detected ***: terminated
	/usr/src/tmp/rpm-tmp.93103: line 129: 2909933 Aborted		      ./build/sratom_test
https://gitlab.com/lv2/sratom/-/commit/2edb78cc997b80493a5635d0dcecf4a25203d2a9

sparse	vt @everybody
	TEST	sizeof-builtin (sizeof-builtin.c)
	info: XFAIL: test 'sizeof-builtin.c' is known to fail
	TEST	Handling of sizeof compound-literal . member (sizeof-compound-postfix.c)
	--
	TEST	sizeof incomplete type (sizeof-incomplete-type.c)
	info: XFAIL: test 'sizeof-incomplete-type.c' is known to fail
	TEST	sizeof(void) is valid (sizeof-void.c)
	--
	TEST	storage in struct member (storage-struct-member.c)
	info: XFAIL: test 'storage-struct-member.c' is known to fail
	TEST	strict-prototypes disabled (strict-prototypes0.c)
	TEST	strict-prototypes enabled (strict-prototypes1.c)
	info: XFAIL: test 'strict-prototypes1.c' is known to fail
	TEST	Address space of a struct member (struct-as.c)
	--
	TEST	struct not in scope (struct-ns2.c)
	info: XFAIL: test 'struct-ns2.c' is known to fail
	TEST	struct size (struct-size1.c)
	TEST	switch-long (switch-long.c)
	error: actual error text does not match expected error text.
	error: see switch-long.c.error.* for further investigation.
	--- switch-long.c.error.expected	2023-04-27 09:21:41.748650244 +0000
	--
	+./test-suite: line 390: 2721312 Aborted		 ../test-linearize -Wno-decl $file
	error: actual output text does not match expected output text.
	error: see switch-long.c.output.* for further investigation.
	--- switch-long.c.output.expected	2023-04-27 09:21:41.751650296 +0000
	--
	-	ret
	error: Actual exit value does not match the expected one.
	error: expected 0, got 134.
https://patchwork.kernel.org/project/linux-sparse/patch/20230227193927.87985-1-jlayton@kernel.org/

rpm	@core at imz vt
	+error: File not found: /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
	+cat: /usr/src/RPM/BUILD/rpm-4.13.0.1/tests/testing/etc/my.conf: No such file or directory
	--- -	2023-04-27 09:19:50.501303647 +0000
	--
	./rpmconfig3.at:208: exit code was 1, expected 0
	257. rpmconfig3.at:206: 257. upgrade modified config link to config (rpmconfig3.at:206):
	FAILED (rpmconfig3.at:208)
	#			      -*- compilation -*-
	--
	+error: File not found: /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
	+cat: /usr/src/RPM/BUILD/rpm-4.13.0.1/tests/testing/etc/my.conf: No such file or directory
	+error: File not found: /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
	--
	./rpmconfig3.at:248: exit code was 1, expected 0
	258. rpmconfig3.at:246: 258. upgrade config to directory (rpmconfig3.at:246): FAILED
	(rpmconfig3.at:248)
	#			      -*- compilation -*-
	--
	+error: File not found: /build/RPMS/noarch/configtest-1.0-1.noarch.rpm
	+cat: /usr/src/RPM/BUILD/rpm-4.13.0.1/tests/testing/etc/my.conf: No such file or directory
	+error: File not found: /build/RPMS/noarch/configtest-2.0-1.noarch.rpm
	+cat: /usr/src/RPM/BUILD/rpm-4.13.0.1/tests/testing/etc/my.conf.rpmsave: No such file
	or directory
	--- -	2023-04-27 09:19:50.691479958 +0000
	--
	./rpmconfig3.at:280: exit code was 1, expected 0
	259. rpmconfig3.at:278: 259. upgrade modified config to directory (rpmconfig3.at:278):
	FAILED (rpmconfig3.at:280)
	#			      -*- compilation -*-
	--
	+%{foo}
	264. rpmmacro.at:46: 264. parametrized macro 1 (rpmmacro.at:46): FAILED (rpmmacro.at:48)
	## ../config.log ##
https://github.com/rpm-software-management/rpm/commit/75275a87cff04da65d3557f2c40ea2b526528c4c

-- 
glebfm
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : signature.asc
Тип     : application/pgp-signature
Размер  : 801 байтов
Описание: отсутствует
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20230428/5f655ae0/attachment.bin>


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