[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Question on BIGGEST_ALIGNMENT in GCC on NetBSD/m68k



Hi Jean-Michel,

On Thu, 2025-06-05 at 08:24 +0200, Jean-Michel Hautbois wrote:
> I tried to patch gcc-13 with this BIGGEST_ALIGNMENT set to 64. I am 
> using buildroot+uclibc-ng on a Coldfire (mcf54418).

Thanks a lot for testing! Such contributions are highly appreciated.

> Everything build fine, except the kernel:
> 
> In function ‘siginfo_build_tests’,
>      inlined from ‘restore_sigcontext’ at arch/m68k/kernel/signal.c:684:2,
>      inlined from ‘do_sigreturn’ at arch/m68k/kernel/signal.c:775:9:
> ././include/linux/compiler_types.h:542:45: error: call to 
> ‘__compiletime_assert_351’ declared with attribute error: BUILD_BUG_ON 
> failed: offsetof(siginfo_t, si_lower) != 0x12
>    542 |         _compiletime_assert(condition, msg, 
> __compiletime_assert_, __COUNTER__)
>        |                                             ^
> ././include/linux/compiler_types.h:523:25: note: in definition of macro 
> ‘__compiletime_assert’
>    523 |                         prefix ## suffix(); 
>          \
>        |                         ^~~~~~
> ././include/linux/compiler_types.h:542:9: note: in expansion of macro 
> ‘_compiletime_assert’
>    542 |         _compiletime_assert(condition, msg, 
> __compiletime_assert_, __COUNTER__)
>        |         ^~~~~~~~~~~~~~~~~~~
> ./include/linux/build_bug.h:39:37: note: in expansion of macro 
> ‘compiletime_assert’
>     39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), 
> msg)
>        |                                     ^~~~~~~~~~~~~~~~~~
> ./include/linux/build_bug.h:50:9: note: in expansion of macro 
> ‘BUILD_BUG_ON_MSG’
>     50 |         BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " 
> #condition)
>        |         ^~~~~~~~~~~~~~~~
> arch/m68k/kernel/signal.c:621:9: note: in expansion of macro ‘BUILD_BUG_ON’
>    621 |         BUILD_BUG_ON(offsetof(siginfo_t, si_lower) != 0x12);
>        |         ^~~~~~~~~~~~
> make[5]: *** [scripts/Makefile.build:207: arch/m68k/kernel/signal.o] Error 1
> make[4]: *** [scripts/Makefile.build:465: arch/m68k/kernel] Error 2
> make[4]: *** Waiting for unfinished jobs....
> 
> This is a 6.14.
> Any idea about this ?

It looks like this check needs to be patched:

	BUILD_BUG_ON(offsetof(siginfo_t, si_lower) != 0x12);

The source code in arch/m68k/kernel/signal.c contains a lot of hard-wired offsets
which will probably have to be adjusted.

You can try changing 0x12 to 0x14 and see if that fixes it.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer
`. `'   Physicist
  `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


Reply to: