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

Christophe Leroy christophe.leroy at csgroup.eu
Fri Aug 26 17:38:41 AEST 2022



Le 26/08/2022 à 09:02, Christophe Leroy a écrit :
> 
> 
> 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
> 


Same problem with 10.3, 9.5, 8.5 and 5.5

> 
>>
>>> 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