On Fri, Mar 21, 2025 at 10:05:42PM +0100, Alessandro Carminati wrote: > > > +#ifdef CONFIG_KUNIT_SUPPRESS_BACKTRACE > > > +# define HAVE_BUG_FUNCTION > > > +# define __BUG_FUNC_PTR " .long %0-.\n" > > > +# define __BUG_FUNC __func__ > > > > gcc 7.5.0 on s390 barfs; it doesn't like the use of "__func__" with "%0-."
... > GCC makes significant efforts to handle this, and for several > architectures, it manages to solve the problem. > However, this is not universally the case. > Additionally, -fPIC is not widely used in kernel code... I have only > seen it used for VDSO, the x86 boot piggyback decompressor, PowerPC > boot, and the s390x architecture. > > That said, GCC has been mitigating this issue, allowing us to treat a > non-compile-time constant as if it were one. > A proof of this is that, at least since GCC 11, the s390x version of > GCC is able to build this code. > Before that... certainly in GCC 7.5 it couldn't. > > A simple fix would be to restrict usage to GCC versions greater than > 11 for s390. But please add that dependency only for this new feature for the time being. Right now I would not like to see that s390 is the only architecture (besides parisc) which requires a much higher minimum gcc level than every other architecture. Unless there are specific reasons.