]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
openssh: Add a work around for ICE on mips/mips64
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 15 Feb 2024 14:02:35 +0000 (14:02 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 16 Feb 2024 15:13:15 +0000 (15:13 +0000)
Unfortunately the new openssh version has an ICE on mips. This looks similar to:

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104817
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104820

Given how long these have been open, workaround the issue by disabling the compiler
hardening options on mips.

It is likely better to do this than have the open CVEs for everyone
as we can't upgrade.

An example:

| during RTL pass: zero_call_used_regs
| clientloop.c: In function 'client_loop':
| clientloop.c:1699:1: internal compiler error: in int_mode_for_mode, at stor-layout.cc:407
|  1699 | }
|       | ^
| 0x14d0acc internal_error(char const*, ...)
|  ???:0
| 0x5cf765 fancy_abort(char const*, int, char const*)
|  ???:0
| 0x826f1f emit_move_insn_1(rtx_def*, rtx_def*)
|  ???:0
| 0x8270c5 emit_move_insn(rtx_def*, rtx_def*)
|  ???:0
| 0xb7b994 default_zero_call_used_regs(HARD_REG_SET)
|  ???:0
| Please submit a full bug report, with preprocessed source (by using -freport-bug).
| Please include the complete backtrace with any bug report.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-connectivity/openssh/openssh_9.6p1.bb

index 6366cefdf96f4205ce7242288bdfc80de44b42dd..1fd36a266fdebeb042efb8f462205cc20994fdff 100644 (file)
@@ -81,6 +81,10 @@ EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \
 # musl doesn't implement wtmp/utmp and logwtmp
 EXTRA_OECONF:append:libc-musl = " --disable-wtmp --disable-lastlog"
 
+# Work around ICE on mips/mips64 starting in 9.6p1
+EXTRA_OECONF:append:mips = " --without-hardening"
+EXTRA_OECONF:append:mips64 = " --without-hardening"
+
 # Since we do not depend on libbsd, we do not want configure to use it
 # just because it finds libutil.h.  But, specifying --disable-libutil
 # causes compile errors, so...