[Buildroot] [PATCH v2] package/openssh: fix '-fzero-call-used-regs' option support detection

Yann E. MORIN yann.morin.1998 at free.fr
Sat Mar 12 21:31:02 UTC 2022


Peter, All,

On 2022-03-11 07:55 +0100, Peter Seiderer spake thusly:
> - add upstream patch ([1]) to fix '-fzero-call-used-regs' gcc compiler option
>   support detection
> 
> - add autoreconf as the patch touches m4/openssh.m4
> 
> Fixes:
> 
>   - https://bugs.busybox.net/show_bug.cgi?id=14651
> 
>   bitmap.c: In function ‘reserve’:
>   bitmap.c:98:1: sorry, unimplemented: ‘-fzero-call-used-regs’ not supported on this target
>      98 | }
>         | ^
> 
> [1] https://github.com/openssh/openssh-portable/commit/f107467179428a0e3ea9e4aa9738ac12ff02822d.patch
> 
> Signed-off-by: Peter Seiderer <ps.report at gmx.net>

Applied to master, thanks.

Regards,
Yann E. MORIN.

> ---
> Changes v1 -> v2:
>   - rebased and renumbered patch from 0001-Improve-detection-of-fzero-call-used-regs-all-suppor.patch
>     to 0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch
> ---
>  ...n-of-fzero-call-used-regs-all-suppor.patch | 38 +++++++++++++++++++
>  package/openssh/openssh.mk                    |  4 ++
>  2 files changed, 42 insertions(+)
>  create mode 100644 package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch
> 
> diff --git a/package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch b/package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch
> new file mode 100644
> index 0000000000..ce5c5539ff
> --- /dev/null
> +++ b/package/openssh/0002-Improve-detection-of-fzero-call-used-regs-all-suppor.patch
> @@ -0,0 +1,38 @@
> +From b5fee5fe98f708c1dc61a1564db35eacadbfe8b3 Mon Sep 17 00:00:00 2001
> +From: Colin Watson <cjwatson at debian.org>
> +Date: Thu, 24 Feb 2022 16:04:18 +0000
> +Subject: [PATCH] Improve detection of -fzero-call-used-regs=all support
> +
> +GCC doesn't tell us whether this option is supported unless it runs into
> +the situation where it would need to emit corresponding code.
> +
> +[Upstream: https://github.com/openssh/openssh-portable/commit/f107467179428a0e3ea9e4aa9738ac12ff02822d.patch]
> +Signed-off-by: Peter Seiderer <ps.report at gmx.net>
> +---
> + m4/openssh.m4 | 3 +++
> + 1 file changed, 3 insertions(+)
> +
> +diff --git a/m4/openssh.m4 b/m4/openssh.m4
> +index 4f9c379..8c33c70 100644
> +--- a/m4/openssh.m4
> ++++ b/m4/openssh.m4
> +@@ -14,6 +14,8 @@ AC_DEFUN([OSSH_CHECK_CFLAG_COMPILE], [{
> + 	AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
> + #include <stdlib.h>
> + #include <stdio.h>
> ++/* Trivial function to help test for -fzero-call-used-regs */
> ++void f(int n) {}
> + int main(int argc, char **argv) {
> + 	(void)argv;
> + 	/* Some math to catch -ftrapv problems in the toolchain */
> +@@ -21,6 +23,7 @@ int main(int argc, char **argv) {
> + 	float l = i * 2.1;
> + 	double m = l / 0.5;
> + 	long long int n = argc * 12345LL, o = 12345LL * (long long int)argc;
> ++	f(0);
> + 	printf("%d %d %d %f %f %lld %lld\n", i, j, k, l, m, n, o);
> + 	/*
> + 	 * Test fallthrough behaviour.  clang 10's -Wimplicit-fallthrough does
> +-- 
> +2.35.1
> +
> diff --git a/package/openssh/openssh.mk b/package/openssh/openssh.mk
> index 0e0d59e6ab..84add9563d 100644
> --- a/package/openssh/openssh.mk
> +++ b/package/openssh/openssh.mk
> @@ -12,6 +12,10 @@ OPENSSH_CPE_ID_UPDATE = $(OPENSSH_VERSION_MINOR)
>  OPENSSH_SITE = http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable
>  OPENSSH_LICENSE = BSD-3-Clause, BSD-2-Clause, Public Domain
>  OPENSSH_LICENSE_FILES = LICENCE
> +
> +# patch touching m4/openssh.m4
> +OPENSSH_AUTORECONF = YES
> +
>  OPENSSH_CONF_ENV = \
>  	LD="$(TARGET_CC)" \
>  	LDFLAGS="$(TARGET_CFLAGS)" \
> -- 
> 2.35.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list