[PATCH] compiler-gcc.h: Remove ancient workaround for gcc PR 58670

Christophe Leroy christophe.leroy at csgroup.eu
Fri Aug 26 17:02:53 AEST 2022



Le 25/08/2022 à 20:08, Segher Boessenkool a écrit :
> Hi!
> 
> On Thu, Aug 25, 2022 at 04:00:52PM +0530, Naveen N. Rao wrote:
>> This is causing a build issue on ppc64le with a new patch replacing use
>> of unreachable() with __builtin_unreachable() in __WARN_FLAGS():
>> https://lore.kernel.org/linuxppc-dev/20220808114908.240813-2-sv@linux.ibm.com/
> 
> What is the compiler version?  If this is a GCC version that is still
> supported, could you please open a PR?  <https://gcc.gnu.org/bugs.html>
> 
>> during RTL pass: combine
>> In file included from /linux/kernel/locking/rtmutex_api.c:9:
>> /linux/kernel/locking/rtmutex.c: In function
>> '__rt_mutex_slowlock.constprop':
>> /linux/kernel/locking/rtmutex.c:1612:1: internal compiler error: in
>> purge_dead_edges, at cfgrtl.c:3369
>> 1612 | }
>>       | ^
>> 0x142817c internal_error(char const*, ...)
>> 	???:0
>> 0x5c8a1b fancy_abort(char const*, int, char const*)
>> 	???:0
>> 0x72017f purge_all_dead_edges()
>> 	???:0
>> Please submit a full bug report,
>> with preprocessed source if appropriate.
>> Please include the complete backtrace with any bug report.
>> See <file:///usr/share/doc/gcc-11/README.Bugs> for instructions.
> 
> (For some reason your compiler does not show compiler source code file
> names or line numbers.)
> 
> So it is GCC 11...  is it 11.3?  If not, please try with that.

With gcc 11.3 I get:

   CC      kernel/locking/rtmutex_api.o
during RTL pass: combine
In file included from kernel/locking/rtmutex_api.c:9:
kernel/locking/rtmutex.c: In function '__rt_mutex_slowlock.constprop':
kernel/locking/rtmutex.c:1612:1: internal compiler error: in 
purge_dead_edges, at cfgrtl.c:3369
  1612 | }
       | ^
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
make[2]: *** [scripts/Makefile.build:249 : kernel/locking/rtmutex_api.o] 
Erreur 1
make[1]: *** [scripts/Makefile.build:465 : kernel/locking] Erreur 2
make: *** [Makefile:1857 : kernel] Erreur 2


With gcc 12.2 I get:

   CC      kernel/locking/rtmutex_api.o
during RTL pass: combine
In file included from kernel/locking/rtmutex_api.c:9:
kernel/locking/rtmutex.c: In function '__rt_mutex_slowlock.constprop':
kernel/locking/rtmutex.c:1612:1: internal compiler error: in 
purge_dead_edges, at cfgrtl.cc:3347
  1612 | }
       | ^
Please submit a full bug report, with preprocessed source (by using 
-freport-bug).
See <https://gcc.gnu.org/bugs/> for instructions.
make[2]: *** [scripts/Makefile.build:249 : kernel/locking/rtmutex_api.o] 
Erreur 1
make[1]: *** [scripts/Makefile.build:465 : kernel/locking] Erreur 2
make: *** [Makefile:1857 : kernel] Erreur 2


> 
>> So, it looks like gcc still has issues with certain uses of asm goto.
> 
> Could be.  Please attach preprocessed code (or reduced code that shows
> the same problem if you have that / can make that).  Thanks!
> 
> 
> Segher


More information about the Linuxppc-dev mailing list