Bug#1067243: openssh: please build without -fzero-call-used-regs=used on m68k

Thorsten Glaser <[email protected]>
Newsgroups gmane.linux.debian.devel.ssh
Message-ID <Pine.BSM.4.64L.2403201859580.2292__3838.74365813739$1710962505$gmane$org@herc.mirbsd.org>
Source: openssh
Version: 1:9.7p1-2
Severity: important
Justification: FTBFS on d-ports arch
Tags: ftbfs
X-Debbugs-Cc: [email protected], [email protected]

On m68k, gcc-13 currently ICEs when -fzero-call-used-regs=used is
used (see #1066891) in moduli.c, packet.c, etc. but the configury
detects it and so it gets used. The upstream GCC bug comments say
there is no plan to backport the possible fix to releases, but it
has a short reproducer by doko:


$ cat moduli.i
int snprintf_eta;
double snprintf_time_per_line;
int snprintf(char *, int, char *, ...) {
  snprintf_eta = snprintf_time_per_line;
}

$ m68k-linux-gnu-gcc -c -O2 -fzero-call-used-regs=used -fPIE moduli.i
during RTL pass: zero_call_used_regs
moduli.i: In function ‘snprintf’:
moduli.i:5:1: internal compiler error: in change_address_1, at emit-rtl.cc:2287


Maybe this could be used in the configure script?

I can confirm that appending…

int snprintf_eta;
double snprintf_time_per_line;
int snprintf(char *str, size_t size, const char *format, ...) {
  snprintf_eta = snprintf_time_per_line;
}

… (lightly changed from the above) to the program from
m4/openssh.m4 OSSH_COMPILER_FLAG_TEST_PROGRAM fails with:

(pbuild-15711)root@ara2:/tmp# gcc -O2 -fPIE -fno-strict-aliasing -fzero-call-used-regs=used t.c
during RTL pass: zero_call_used_regs
t.c: In function 'snprintf':
t.c:51:1: internal compiler error: in change_address_1, at emit-rtl.cc:2287
   51 | }
      | ^
[…]


Alternatively, just hardcode disabling this flag on m68k for now,
which we’ll eventually have to revert once GCC is on a fixed release
(14 probably).

Thanks in advance!
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.