[Bug target/121432] [15/16 regression] GCC has a regression on Microblaze since r15-1619-g3b9b8d6cfdf593
gopi at sankhya dot com
gcc-bugzilla@gcc.gnu.org
Sat Mar 21 12:20:05 GMT 2026
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=121432
--- Comment #30 from Gopi Kumar Bulusu <gopi at sankhya dot com> ---
With respect to irq.o
Here is how a workaround checks out to be working using the following process
1. Build a working version of kernel (use gcc 14.x)
kernel boots
2. Copy over the irq.o built using gcc 15
kernel hangs
3. Update irq.o with the workaround
Kernel boots ok
4. Kernel built with gcc 15 and irq.o updated with fix/workaround
kernel hangs. It appears that there are additional issues with kernel for
arch/microblaze
Here is the description of workaround:
To ensure a function f() called from entry.S (or some other .S) without setting
up args space works - use the following method
* rename f() to say f_cabi()
* Mark f_cabi() as inline
... noinline f_real ()
(If noinline does not work __attribute__((__noinline__)) may be used)
* from f() call f_real() with necessary arguments
Note: This workaround works with the default compiler flags (-O2) used for
building the objects under arch/microblaze/kernel; however if optimizations are
turned out the work around does not work.
More information about the Gcc-bugs
mailing list