Message ID | 20240215212856.47492-1-richard.purdie@linuxfoundation.org |
---|---|
State | Accepted, archived |
Commit | 5b290566519a87c563945a033cb49863317ad63d |
Headers | show |
Series | [v3] openssh: Add a work around for ICE on mips/mips64 | expand |
On Thu, Feb 15, 2024 at 1:29 PM Richard Purdie <richard.purdie@linuxfoundation.org> wrote: > > 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 | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/meta/recipes-connectivity/openssh/openssh_9.6p1.bb b/meta/recipes-connectivity/openssh/openssh_9.6p1.bb > index 6366cefdf96..1fd36a266fd 100644 > --- a/meta/recipes-connectivity/openssh/openssh_9.6p1.bb > +++ b/meta/recipes-connectivity/openssh/openssh_9.6p1.bb > @@ -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" Perhaps just use mipsarch override since I imagine it will impact all kinds of mips. > + > # 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... > -- > 2.40.1 > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#195704): https://lists.openembedded.org/g/openembedded-core/message/195704 > Mute This Topic: https://lists.openembedded.org/mt/104381904/1997914 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [raj.khem@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- >
I’m On Thu, Feb 15, 2024 at 5:12 PM Khem Raj <raj.khem@gmail.com> wrote: > On Thu, Feb 15, 2024 at 1:29 PM Richard Purdie > <richard.purdie@linuxfoundation.org> wrote: > > > > 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 | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/meta/recipes-connectivity/openssh/openssh_9.6p1.bb > b/meta/recipes-connectivity/openssh/openssh_9.6p1.bb > > index 6366cefdf96..1fd36a266fd 100644 > > --- a/meta/recipes-connectivity/openssh/openssh_9.6p1.bb > > +++ b/meta/recipes-connectivity/openssh/openssh_9.6p1.bb > > @@ -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" > > Perhaps just use mipsarch override since I imagine it will impact all > kinds of mips. > Just a data point, both qemumips and qemumips64 are based on the ~2006-ish “Malta” machine. I don’t know yet if that set of tuning is a factor (vs “Boston” which is more like 2015). I’ll still follow through with a bug report on gcc bugzilla. > > + > > # 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... > > -- > > 2.40.1 > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- > Links: You receive all messages sent to this group. > View/Reply Online (#195733): > https://lists.openembedded.org/g/openembedded-core/message/195733 > Mute This Topic: https://lists.openembedded.org/mt/104381904/924729 > Group Owner: openembedded-core+owner@lists.openembedded.org > Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ > ticotimo@gmail.com] > -=-=-=-=-=-=-=-=-=-=-=- > >
diff --git a/meta/recipes-connectivity/openssh/openssh_9.6p1.bb b/meta/recipes-connectivity/openssh/openssh_9.6p1.bb index 6366cefdf96..1fd36a266fd 100644 --- a/meta/recipes-connectivity/openssh/openssh_9.6p1.bb +++ b/meta/recipes-connectivity/openssh/openssh_9.6p1.bb @@ -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...
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 | 4 ++++ 1 file changed, 4 insertions(+)