From 66fd92a4ce0599ee8c59b9ba95bf0f2c6ec74c43 Mon Sep 17 00:00:00 2001 From: Peter Seiderer Date: Fri, 11 Mar 2022 07:55:11 +0100 Subject: [PATCH] package/openssh: fix '-fzero-call-used-regs' option support detection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 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 Signed-off-by: Yann E. MORIN --- ...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 +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 +--- + 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 + #include ++/* 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)" \