https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94506
Bug ID: 94506 Summary: broken code generate on MIPS Product: gcc Version: 8.4.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: g...@hauke-m.de Target Milestone: --- Since we upgraded from GCC 8.3.0 to GCC 8.4.0 in OpenWrt the Linux kernel crashes on some ath79 (MIPS BE 74Kec) boards with such a error reproducible: [ 0.084927] pid_max: default: 32768 minimum: 301 [ 0.089999] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.097796] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear) [ 0.107070] Kernel panic - not syncing: Unexpected DSP exception [ 0.113470] Rebooting in 1 seconds.. I bisected it to change r278587 in GCC. When I revert this change the kernel boot up fine. We see this problem only in the Linux kernel since this commit: https://git.kernel.org/linus/9012d011660ea5cf2a623e1de207a2bc0ca6936d I got reports of the same problem in GCC 9.2.0, in GCC 9.3.0 it works for me and others. Here is the related OpenWrt Ticket: https://bugs.openwrt.org/index.php?do=details&task_id=2928 Here is a Linux kernel binary compiled with GCC 8.4.0 https://hauke-m.de/files/vmlinux.debug-new-5.4-8.4.0.broken Here is a Linux kernel binary compiled with GCC 8.4.0 + r278587 reverted: https://hauke-m.de/files/vmlinux.debug-new-5.4-8.4.0.working I was unable to go into the details what is different between these two compiles.