|
From: | Carol Bouchard |
Subject: | Re: SIGSTKSZ is now a run-time variable |
Date: | Thu, 22 Apr 2021 16:20:37 -0400 |
On 3/4/21 8:34 AM, Carol Bouchard wrote:
> M4 Maintainers:
>
> I work on a test system for distro testing. I need to build newer Fedora
> images
> before they are released to public. A change that was introduced is the
> #define SIGSTKSZ is no longer a statically defined variable. It's value can
> only be determined at run time.
>
> # define SIGSTKSZ sysconf (_SC_SIGSTKSZ)
>
> This affects m4 code since the code assumes a statically defined variable
> which
> can be determined at preprocessor time. As a result, the m4 code no longer
> compiles.
>
> /usr/include/signal.h:315,
> from ./signal.h:52,
> from c-stack.c:49:
> c-stack.c:55:26: error: missing binary operator before token "("
> 55 | #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
> | ^~~~~~~~
> I am using m4-1.4.18 with compiler gcc (GCC) 10.2.1 20201125 (Red Hat
> 10.2.1-9).
> Please advise how I can get past this. It doesn't look like a simple
> change. Do you
> already have a patch available for this?
Bringing some closure to this thread:
Gnulib commit f9e2b20a12 (Sep 2020) fixed the use of SIGSTKSZ, and now
that latest m4.git uses newer gnulib, I have finished testing that I can
once again build m4 1.4.x on Rawhide without error, whether or not
libsigsegv is installed.
I hope to release m4 1.4.19 soon.
--
Eric Blake, Principal Software Engineer
Red Hat, Inc. +1-919-301-3226
Virtualization: qemu.org | libvirt.org
[Prev in Thread] | Current Thread | [Next in Thread] |