Messages in this thread | | | Date | Wed, 5 May 2021 08:46:19 +0200 | From | Peter Zijlstra <> | Subject | Re: [PATCH] sched: Work around undefined behavior in sched class checking |
| |
On Tue, May 04, 2021 at 08:39:45PM -0700, Andi Kleen wrote: > From: Andi Kleen <andi@firstfloor.org> > > The scheduler initialization code checks that the scheduling > classes are consecutive in memory by comparing the end > addresses with the next address. > > Technically in ISO C comparing symbol addresseses outside different objects > is undefined. With LTO gcc 10 tries to exploits this and creates an > unconditional BUG_ON in the scheduler initialization, resulting > in a boot hang. > > Use RELOC_HIDE to make this work. This hides the symbols from gcc, > so the optimizer won't make these assumption. I also split > the BUG_ONs in multiple.
Urgh, that insanity again :/ Can't we pretty please get a GCC flag to disable that?
| |