On Wed, Jan 18, 2023 at 09:07:01AM +0100, Arnd Bergmann wrote: > From: Arnd Bergmann <arnd@xxxxxxxx> > > The behavior of 'enum' types has changed in gcc-13, so now the > UNBUSY_THR_PCT constant is interpreted as a 64-bit number because > it is defined as part of the same enum definition as some other > constants that do not fit within a 32-bit integer. This in turn > leads to some inefficient code on 32-bit architectures as well > as a link error: > > arm-linux-gnueabi/bin/arm-linux-gnueabi-ld: block/blk-iocost.o: in function `ioc_timer_fn': > blk-iocost.c:(.text+0x68e8): undefined reference to `__aeabi_uldivmod' > arm-linux-gnueabi-ld: blk-iocost.c:(.text+0x6908): undefined reference to `__aeabi_uldivmod' > > Split the enum definition to keep the 64-bit timing constants in > a separate enum type from those constants that can clearly fit > within a smaller type. > > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Thanks. -- tejun