Message ID | 20240306125853.3714578-1-mpe@ellerman.id.au (mailing list archive) |
---|---|
State | Accepted |
Commit | 329105ce53437ff64b29f6c429dfe5dc2aa7b676 |
Headers | show |
Series | [1/3] powerpc/64s: Fix get_hugepd_cache_index() build failure | expand |
On Wed, 06 Mar 2024 23:58:51 +1100, Michael Ellerman wrote: > With CONFIG_BUG=n, the 64-bit Book3S build fails with: > > arch/powerpc/include/asm/book3s/64/pgtable-64k.h: In function 'get_hugepd_cache_index': > arch/powerpc/include/asm/book3s/64/pgtable-64k.h:51:1: error: no return statement in function returning non-void > > Currently the body of the function is just BUG(), so when CONFIG_BUG=n > it is an empty function, leading to the error. > > [...] Patches 1 & 2 applied to powerpc/next. [1/3] powerpc/64s: Fix get_hugepd_cache_index() build failure https://git.kernel.org/powerpc/c/329105ce53437ff64b29f6c429dfe5dc2aa7b676 [2/3] powerpc/83xx: Fix build failure with FPU=n https://git.kernel.org/powerpc/c/c2e5d70cf05b48bfbd5b6625bbd0ec3052cecd5d cheers
diff --git a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h index 2fce3498b000..ced7ee8b42fc 100644 --- a/arch/powerpc/include/asm/book3s/64/pgtable-64k.h +++ b/arch/powerpc/include/asm/book3s/64/pgtable-64k.h @@ -45,9 +45,9 @@ static inline int hugepd_ok(hugepd_t hpd) /* * This should never get called */ -static inline int get_hugepd_cache_index(int index) +static __always_inline int get_hugepd_cache_index(int index) { - BUG(); + BUILD_BUG(); } #endif /* CONFIG_HUGETLB_PAGE */
With CONFIG_BUG=n, the 64-bit Book3S build fails with: arch/powerpc/include/asm/book3s/64/pgtable-64k.h: In function 'get_hugepd_cache_index': arch/powerpc/include/asm/book3s/64/pgtable-64k.h:51:1: error: no return statement in function returning non-void Currently the body of the function is just BUG(), so when CONFIG_BUG=n it is an empty function, leading to the error. get_hugepd_cache_index() should never be called, the only call is behind an is_hugepd() check, which is always false for this configuration. Instead mark it as always inline, and change the BUG() to BUILD_BUG(). That should allow the compiler to see that the function is never called, and therefore that it never returns, fixing the build error. Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> --- arch/powerpc/include/asm/book3s/64/pgtable-64k.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)