Source: kio
Version: 5.116.0-1
User: debian-...@lists.debian.org
Usertags: gcs

Hi,

kio fails to build from source on arm64 if built with GCC-15, currently in
experimental.

GCC-15 includes support for an arm64 security feature called Guarded Control
Stack (GCS). To help with GCS adoption, the linker warns about shared libraries
built without GCS. For example:

 /usr/lib/gcc/aarch64-linux-gnu/15/../../../aarch64-linux-gnu/libncursesw.so.6: 
warning: GCS is required by -z gcs, but this shared library lacks the necessary 
property note. The dynamic loader might not enable GCS or refuse to load the 
program unless all the shared library dependencies have the GCS marking.

The warning is harmless, and can be ignored. However, kio is built with
--fatal-warnings, and for this reason will fail to build on arm64 once GCC-15
becomes the default compiler in Debian.

Luckily, it is possible to switch the warning off by passing the argument
gcs-report-dynamic=none to the linker. Please consider adding the following to
your debian/rules:

ifeq ($(DEB_TARGET_ARCH),arm64)
DEB_LDFLAGS_MAINT_APPEND=-Wl,-z,gcs-report-dynamic=none
endif

This can be done even before GCC-15 becomes the default compiler, to avoid
build failures when it does.

Reply via email to