From: Miro K. <mir...@gm...> - 2024-06-03 12:17:08
|
On Sun, 2 Jun 2024 at 14:21, Thorsten Otto <ad...@th...> wrote: > Phew, i think i found it. Seems the bug was introduced by > > > https://github.com/th-otto/m68k-atari-mint-gcc/commit/04c9cf5c786b94fbe3f6f21f06cae73a7575ff7a > > Good work, must have been a real PITA to find! > Luckily, that optimization can be turned off by -ffold-mem-offsets. This > is only in gcc-14.1.0, not in gcc-13.3.0 (but may eventually appear in the > next release). > Did you report it upstream as well? So they know that their optimisation is not so great after all. - conclusion 1: we should think about adding --enable-checking=misc to our > build scripts. That adds some assert checking, making the compiler slightly > slower, but would catch such overflows which may or may not cause a > bus-error. > Hmm, not a bad idea. Cross-compiling is fast anyway. - conclusion 2: we need to find some way to test the compiler. Compiling it > by itself would be a first step, but was not enough in this case (the > cross-compiler could compile itself, but generates wrong code that caused > only trouble when running the m68k executable). Obviously there is no easy > way to test the native compiler, maybe qemu or aranym can help here. > A few years ago (time flies...) I had a completely ssh-driver aranym setup on Travis: https://github.com/m68k-atari-mint/bootstrap. The idea was to set up a basic development image to natively (!) compile packages. It was working pretty well but then Travis closed its doors and that was the end of it. Now with GitHub Actions we could do the same -- starting with bootstrapping the gcc itself. -- http://mikro.atari.org |