* include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
@ 2026-04-10 9:25 kernel test robot
2026-04-10 12:07 ` Bitterblue Smith
0 siblings, 1 reply; 11+ messages in thread
From: kernel test robot @ 2026-04-10 9:25 UTC (permalink / raw)
To: Bitterblue Smith; +Cc: oe-kbuild-all, linux-kernel, Ping-Ke Shih
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 9a9c8ce300cd3859cc87b408ef552cd697cc2ab7
commit: deb3ddeb18652118956fb581a39ac299e1ee5623 wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers
date: 1 year, 1 month ago
config: arm-randconfig-001-20260410 (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/config)
compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: deb3ddeb1865 ("wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers")
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202604101721.fsv5XmCX-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from include/linux/bitfield.h:10,
from include/linux/fortify-string.h:5,
from include/linux/string.h:389,
from include/linux/uuid.h:11,
from include/linux/mod_devicetable.h:14,
from include/linux/usb.h:5,
from drivers/net/wireless/realtek/rtw88/rtw8814a.c:5:
>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~~~~~~~~~~~
include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
^~~~~~~~~~~~~~~
drivers/net/wireless/realtek/rtw88/rtw8814a.h:58:1: note: in expansion of macro 'static_assert'
static_assert(sizeof(struct rtw8814a_efuse) == 512);
^~~~~~~~~~~~~
>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw88xxa_efuse) == 512"
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~~~~~~~~~~~
include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
^~~~~~~~~~~~~~~
drivers/net/wireless/realtek/rtw88/rtw88xxa.h:64:1: note: in expansion of macro 'static_assert'
static_assert(sizeof(struct rtw88xxa_efuse) == 512);
^~~~~~~~~~~~~
--
In file included from include/linux/container_of.h:5,
from include/linux/list.h:5,
from include/linux/module.h:12,
from drivers/net/wireless/realtek/rtw88/rtw8814ae.c:5:
>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~~~~~~~~~~~
include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
^~~~~~~~~~~~~~~
drivers/net/wireless/realtek/rtw88/rtw8814a.h:58:1: note: in expansion of macro 'static_assert'
static_assert(sizeof(struct rtw8814a_efuse) == 512);
^~~~~~~~~~~~~
--
In file included from include/linux/bitfield.h:10,
from include/linux/fortify-string.h:5,
from include/linux/string.h:389,
from include/linux/uuid.h:11,
from include/linux/mod_devicetable.h:14,
from include/linux/usb.h:5,
from rtw8814a.c:5:
>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~~~~~~~~~~~
include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
^~~~~~~~~~~~~~~
rtw8814a.h:58:1: note: in expansion of macro 'static_assert'
static_assert(sizeof(struct rtw8814a_efuse) == 512);
^~~~~~~~~~~~~
>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw88xxa_efuse) == 512"
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~~~~~~~~~~~
include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
^~~~~~~~~~~~~~~
rtw88xxa.h:64:1: note: in expansion of macro 'static_assert'
static_assert(sizeof(struct rtw88xxa_efuse) == 512);
^~~~~~~~~~~~~
--
In file included from include/linux/container_of.h:5,
from include/linux/list.h:5,
from include/linux/module.h:12,
from rtw8814ae.c:5:
>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
^~~~~~~~~~~~~~
include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
^~~~~~~~~~~~~~~
rtw8814a.h:58:1: note: in expansion of macro 'static_assert'
static_assert(sizeof(struct rtw8814a_efuse) == 512);
^~~~~~~~~~~~~
vim +78 include/linux/build_bug.h
bc6245e5efd70c Ian Abbott 2017-07-10 60
6bab69c65013be Rasmus Villemoes 2019-03-07 61 /**
6bab69c65013be Rasmus Villemoes 2019-03-07 62 * static_assert - check integer constant expression at build time
6bab69c65013be Rasmus Villemoes 2019-03-07 63 *
6bab69c65013be Rasmus Villemoes 2019-03-07 64 * static_assert() is a wrapper for the C11 _Static_assert, with a
6bab69c65013be Rasmus Villemoes 2019-03-07 65 * little macro magic to make the message optional (defaulting to the
6bab69c65013be Rasmus Villemoes 2019-03-07 66 * stringification of the tested expression).
6bab69c65013be Rasmus Villemoes 2019-03-07 67 *
6bab69c65013be Rasmus Villemoes 2019-03-07 68 * Contrary to BUILD_BUG_ON(), static_assert() can be used at global
6bab69c65013be Rasmus Villemoes 2019-03-07 69 * scope, but requires the expression to be an integer constant
6bab69c65013be Rasmus Villemoes 2019-03-07 70 * expression (i.e., it is not enough that __builtin_constant_p() is
6bab69c65013be Rasmus Villemoes 2019-03-07 71 * true for expr).
6bab69c65013be Rasmus Villemoes 2019-03-07 72 *
6bab69c65013be Rasmus Villemoes 2019-03-07 73 * Also note that BUILD_BUG_ON() fails the build if the condition is
6bab69c65013be Rasmus Villemoes 2019-03-07 74 * true, while static_assert() fails the build if the expression is
6bab69c65013be Rasmus Villemoes 2019-03-07 75 * false.
6bab69c65013be Rasmus Villemoes 2019-03-07 76 */
6bab69c65013be Rasmus Villemoes 2019-03-07 77 #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
6bab69c65013be Rasmus Villemoes 2019-03-07 @78 #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
6bab69c65013be Rasmus Villemoes 2019-03-07 79
07a368b3f55a79 Maxim Levitsky 2022-10-25 80
:::::: The code at line 78 was first introduced by commit
:::::: 6bab69c65013bed5fce9f101a64a84d0385b3946 build_bug.h: add wrapper for _Static_assert
:::::: TO: Rasmus Villemoes <linux@rasmusvillemoes.dk>
:::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-10 9:25 include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512" kernel test robot
@ 2026-04-10 12:07 ` Bitterblue Smith
2026-04-10 12:14 ` Ping-Ke Shih
0 siblings, 1 reply; 11+ messages in thread
From: Bitterblue Smith @ 2026-04-10 12:07 UTC (permalink / raw)
To: kernel test robot; +Cc: oe-kbuild-all, linux-kernel, Ping-Ke Shih
On 10/04/2026 12:25, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: 9a9c8ce300cd3859cc87b408ef552cd697cc2ab7
> commit: deb3ddeb18652118956fb581a39ac299e1ee5623 wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers
> date: 1 year, 1 month ago
> config: arm-randconfig-001-20260410 (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/config)
> compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/reproduce)
>
> If you fix the issue in a separate patch/commit (i.e. not just a new version of
> the same patch/commit), kindly add following tags
> | Fixes: deb3ddeb1865 ("wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers")
> | Reported-by: kernel test robot <lkp@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202604101721.fsv5XmCX-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> In file included from include/linux/bitfield.h:10,
> from include/linux/fortify-string.h:5,
> from include/linux/string.h:389,
> from include/linux/uuid.h:11,
> from include/linux/mod_devicetable.h:14,
> from include/linux/usb.h:5,
> from drivers/net/wireless/realtek/rtw88/rtw8814a.c:5:
>>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
struct rtw_2g_txpwr_idx is missing __packed. Could that be the reason
for the error? I don't see what else could be causing it.
> #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
> ^~~~~~~~~~~~~~
> include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
> #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
> ^~~~~~~~~~~~~~~
> drivers/net/wireless/realtek/rtw88/rtw8814a.h:58:1: note: in expansion of macro 'static_assert'
> static_assert(sizeof(struct rtw8814a_efuse) == 512);
> ^~~~~~~~~~~~~
>>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw88xxa_efuse) == 512"
> #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
> ^~~~~~~~~~~~~~
> include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
> #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
> ^~~~~~~~~~~~~~~
> drivers/net/wireless/realtek/rtw88/rtw88xxa.h:64:1: note: in expansion of macro 'static_assert'
> static_assert(sizeof(struct rtw88xxa_efuse) == 512);
> ^~~~~~~~~~~~~
> --
> In file included from include/linux/container_of.h:5,
> from include/linux/list.h:5,
> from include/linux/module.h:12,
> from drivers/net/wireless/realtek/rtw88/rtw8814ae.c:5:
>>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
> #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
> ^~~~~~~~~~~~~~
> include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
> #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
> ^~~~~~~~~~~~~~~
> drivers/net/wireless/realtek/rtw88/rtw8814a.h:58:1: note: in expansion of macro 'static_assert'
> static_assert(sizeof(struct rtw8814a_efuse) == 512);
> ^~~~~~~~~~~~~
> --
> In file included from include/linux/bitfield.h:10,
> from include/linux/fortify-string.h:5,
> from include/linux/string.h:389,
> from include/linux/uuid.h:11,
> from include/linux/mod_devicetable.h:14,
> from include/linux/usb.h:5,
> from rtw8814a.c:5:
>>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
> #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
> ^~~~~~~~~~~~~~
> include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
> #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
> ^~~~~~~~~~~~~~~
> rtw8814a.h:58:1: note: in expansion of macro 'static_assert'
> static_assert(sizeof(struct rtw8814a_efuse) == 512);
> ^~~~~~~~~~~~~
>>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw88xxa_efuse) == 512"
> #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
> ^~~~~~~~~~~~~~
> include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
> #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
> ^~~~~~~~~~~~~~~
> rtw88xxa.h:64:1: note: in expansion of macro 'static_assert'
> static_assert(sizeof(struct rtw88xxa_efuse) == 512);
> ^~~~~~~~~~~~~
> --
> In file included from include/linux/container_of.h:5,
> from include/linux/list.h:5,
> from include/linux/module.h:12,
> from rtw8814ae.c:5:
>>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
> #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
> ^~~~~~~~~~~~~~
> include/linux/build_bug.h:77:34: note: in expansion of macro '__static_assert'
> #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
> ^~~~~~~~~~~~~~~
> rtw8814a.h:58:1: note: in expansion of macro 'static_assert'
> static_assert(sizeof(struct rtw8814a_efuse) == 512);
> ^~~~~~~~~~~~~
>
>
> vim +78 include/linux/build_bug.h
>
> bc6245e5efd70c Ian Abbott 2017-07-10 60
> 6bab69c65013be Rasmus Villemoes 2019-03-07 61 /**
> 6bab69c65013be Rasmus Villemoes 2019-03-07 62 * static_assert - check integer constant expression at build time
> 6bab69c65013be Rasmus Villemoes 2019-03-07 63 *
> 6bab69c65013be Rasmus Villemoes 2019-03-07 64 * static_assert() is a wrapper for the C11 _Static_assert, with a
> 6bab69c65013be Rasmus Villemoes 2019-03-07 65 * little macro magic to make the message optional (defaulting to the
> 6bab69c65013be Rasmus Villemoes 2019-03-07 66 * stringification of the tested expression).
> 6bab69c65013be Rasmus Villemoes 2019-03-07 67 *
> 6bab69c65013be Rasmus Villemoes 2019-03-07 68 * Contrary to BUILD_BUG_ON(), static_assert() can be used at global
> 6bab69c65013be Rasmus Villemoes 2019-03-07 69 * scope, but requires the expression to be an integer constant
> 6bab69c65013be Rasmus Villemoes 2019-03-07 70 * expression (i.e., it is not enough that __builtin_constant_p() is
> 6bab69c65013be Rasmus Villemoes 2019-03-07 71 * true for expr).
> 6bab69c65013be Rasmus Villemoes 2019-03-07 72 *
> 6bab69c65013be Rasmus Villemoes 2019-03-07 73 * Also note that BUILD_BUG_ON() fails the build if the condition is
> 6bab69c65013be Rasmus Villemoes 2019-03-07 74 * true, while static_assert() fails the build if the expression is
> 6bab69c65013be Rasmus Villemoes 2019-03-07 75 * false.
> 6bab69c65013be Rasmus Villemoes 2019-03-07 76 */
> 6bab69c65013be Rasmus Villemoes 2019-03-07 77 #define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr)
> 6bab69c65013be Rasmus Villemoes 2019-03-07 @78 #define __static_assert(expr, msg, ...) _Static_assert(expr, msg)
> 6bab69c65013be Rasmus Villemoes 2019-03-07 79
> 07a368b3f55a79 Maxim Levitsky 2022-10-25 80
>
> :::::: The code at line 78 was first introduced by commit
> :::::: 6bab69c65013bed5fce9f101a64a84d0385b3946 build_bug.h: add wrapper for _Static_assert
>
> :::::: TO: Rasmus Villemoes <linux@rasmusvillemoes.dk>
> :::::: CC: Linus Torvalds <torvalds@linux-foundation.org>
>
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-10 12:07 ` Bitterblue Smith
@ 2026-04-10 12:14 ` Ping-Ke Shih
2026-04-11 15:29 ` Geert Uytterhoeven
0 siblings, 1 reply; 11+ messages in thread
From: Ping-Ke Shih @ 2026-04-10 12:14 UTC (permalink / raw)
To: Bitterblue Smith, kernel test robot
Cc: oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> On 10/04/2026 12:25, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > head: 9a9c8ce300cd3859cc87b408ef552cd697cc2ab7
> > commit: deb3ddeb18652118956fb581a39ac299e1ee5623 wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers
> > date: 1 year, 1 month ago
> > config: arm-randconfig-001-20260410 (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/config)
> > compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/reproduce)
> >
> > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > the same patch/commit), kindly add following tags
> > | Fixes: deb3ddeb1865 ("wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers")
> > | Reported-by: kernel test robot <lkp@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202604101721.fsv5XmCX-lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> > In file included from include/linux/bitfield.h:10,
> > from include/linux/fortify-string.h:5,
> > from include/linux/string.h:389,
> > from include/linux/uuid.h:11,
> > from include/linux/mod_devicetable.h:14,
> > from include/linux/usb.h:5,
> > from drivers/net/wireless/realtek/rtw88/rtw8814a.c:5:
> >>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
>
> struct rtw_2g_txpwr_idx is missing __packed. Could that be the reason
> for the error? I don't see what else could be causing it.
>
I also found that flaw, but it isn't cause. I download cross compiler
to build arm on my x86, and address the cause is:
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8814a.h b/drivers/net/wireless/realtek/rtw88/rtw8814a.h
index c57c7c8f915e..7f2260117487 100644
--- a/drivers/net/wireless/realtek/rtw88/rtw8814a.h
+++ b/drivers/net/wireless/realtek/rtw88/rtw8814a.h
@@ -51,10 +51,15 @@ struct rtw8814a_efuse {
union {
struct rtw8814au_efuse u;
struct rtw8814ae_efuse e;
- };
+ } __packed;
u8 res5[0x122]; /* 0xde */
} __packed;
I will send a patch soon.
Ping-Ke
^ permalink raw reply related [flat|nested] 11+ messages in thread* Re: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-10 12:14 ` Ping-Ke Shih
@ 2026-04-11 15:29 ` Geert Uytterhoeven
2026-04-13 0:48 ` Ping-Ke Shih
0 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2026-04-11 15:29 UTC (permalink / raw)
To: Ping-Ke Shih
Cc: Bitterblue Smith, kernel test robot,
oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
Hi Ping-Ke,
On Fri, 10 Apr 2026 at 14:15, Ping-Ke Shih <pkshih@realtek.com> wrote:
> Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> > On 10/04/2026 12:25, kernel test robot wrote:
> > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > head: 9a9c8ce300cd3859cc87b408ef552cd697cc2ab7
> > > commit: deb3ddeb18652118956fb581a39ac299e1ee5623 wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers
> > > date: 1 year, 1 month ago
> > > config: arm-randconfig-001-20260410 (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/config)
> > > compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
> > > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/reproduce)
> > >
> > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > the same patch/commit), kindly add following tags
> > > | Fixes: deb3ddeb1865 ("wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers")
> > > | Reported-by: kernel test robot <lkp@intel.com>
> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202604101721.fsv5XmCX-lkp@intel.com/
> > >
> > > All errors (new ones prefixed by >>):
> > >
> > > In file included from include/linux/bitfield.h:10,
> > > from include/linux/fortify-string.h:5,
> > > from include/linux/string.h:389,
> > > from include/linux/uuid.h:11,
> > > from include/linux/mod_devicetable.h:14,
> > > from include/linux/usb.h:5,
> > > from drivers/net/wireless/realtek/rtw88/rtw8814a.c:5:
> > >>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
> >
> > struct rtw_2g_txpwr_idx is missing __packed. Could that be the reason
> > for the error? I don't see what else could be causing it.
> >
>
> I also found that flaw, but it isn't cause. I download cross compiler
> to build arm on my x86, and address the cause is:
>
> diff --git a/drivers/net/wireless/realtek/rtw88/rtw8814a.h b/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> index c57c7c8f915e..7f2260117487 100644
> --- a/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> +++ b/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> @@ -51,10 +51,15 @@ struct rtw8814a_efuse {
> union {
> struct rtw8814au_efuse u;
> struct rtw8814ae_efuse e;
> - };
> + } __packed;
How can that make a difference?
Both rtw8814au_efuse and rtw8814ae_efuse contain just (the same number
of) bytes, so __packed on the union should not make any difference?
Moreover, rtw8814au_efuse and rtw8814ae_efuse are already tagged with
__packed, which should also not make any difference. Someone's been
sprinkling too many __packed all over the place?
> u8 res5[0x122]; /* 0xde */
> } __packed;
>
> I will send a patch soon.
>
> Ping-Ke
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 11+ messages in thread* RE: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-11 15:29 ` Geert Uytterhoeven
@ 2026-04-13 0:48 ` Ping-Ke Shih
2026-04-13 9:15 ` Geert Uytterhoeven
0 siblings, 1 reply; 11+ messages in thread
From: Ping-Ke Shih @ 2026-04-13 0:48 UTC (permalink / raw)
To: Geert Uytterhoeven
Cc: Bitterblue Smith, kernel test robot,
oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
Hi Geert,
> Hi Ping-Ke,
>
> On Fri, 10 Apr 2026 at 14:15, Ping-Ke Shih <pkshih@realtek.com> wrote:
> > Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> > > On 10/04/2026 12:25, kernel test robot wrote:
> > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > > head: 9a9c8ce300cd3859cc87b408ef552cd697cc2ab7
> > > > commit: deb3ddeb18652118956fb581a39ac299e1ee5623 wifi: rtw88: Enable the new RTL8814AE/RTL8814AU
> drivers
> > > > date: 1 year, 1 month ago
> > > > config: arm-randconfig-001-20260410
> (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/config)
> > > > compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
> > > > reproduce (this is a W=1 build):
> (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/reproduce)
> > > >
> > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > > the same patch/commit), kindly add following tags
> > > > | Fixes: deb3ddeb1865 ("wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers")
> > > > | Reported-by: kernel test robot <lkp@intel.com>
> > > > | Closes: https://lore.kernel.org/oe-kbuild-all/202604101721.fsv5XmCX-lkp@intel.com/
> > > >
> > > > All errors (new ones prefixed by >>):
> > > >
> > > > In file included from include/linux/bitfield.h:10,
> > > > from include/linux/fortify-string.h:5,
> > > > from include/linux/string.h:389,
> > > > from include/linux/uuid.h:11,
> > > > from include/linux/mod_devicetable.h:14,
> > > > from include/linux/usb.h:5,
> > > > from drivers/net/wireless/realtek/rtw88/rtw8814a.c:5:
> > > >>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse)
> == 512"
> > >
> > > struct rtw_2g_txpwr_idx is missing __packed. Could that be the reason
> > > for the error? I don't see what else could be causing it.
> > >
> >
> > I also found that flaw, but it isn't cause. I download cross compiler
> > to build arm on my x86, and address the cause is:
> >
> > diff --git a/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> b/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> > index c57c7c8f915e..7f2260117487 100644
> > --- a/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> > +++ b/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> > @@ -51,10 +51,15 @@ struct rtw8814a_efuse {
> > union {
> > struct rtw8814au_efuse u;
> > struct rtw8814ae_efuse e;
> > - };
> > + } __packed;
>
> How can that make a difference?
> Both rtw8814au_efuse and rtw8814ae_efuse contain just (the same number
> of) bytes, so __packed on the union should not make any difference?
> Moreover, rtw8814au_efuse and rtw8814ae_efuse are already tagged with
> __packed, which should also not make any difference. Someone's been
> sprinkling too many __packed all over the place?
I have similar thought as yours, but arm-linux-gnueabi-gcc compiler seems
have special treatment with union. For this case, without __packed
the offset of followed field res5 will become 0xe0.
When investing this error, I also found another waning [1].
I don't know why the compiler treats the union so special, and I fix
them by experimental results.
[1] https://lore.kernel.org/linux-wireless/20260411072509.1556635-1-pkshih@realtek.com/T/#u
>
> > u8 res5[0x122]; /* 0xde */
> > } __packed;
> >
> > I will send a patch soon.
> >
> > Ping-Ke
>
> Gr{oetje,eeting}s,
>
> Geert
Ping-Ke
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-13 0:48 ` Ping-Ke Shih
@ 2026-04-13 9:15 ` Geert Uytterhoeven
2026-04-13 9:30 ` Arnd Bergmann
0 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2026-04-13 9:15 UTC (permalink / raw)
To: Ping-Ke Shih
Cc: Bitterblue Smith, kernel test robot,
oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org,
Arnd Bergmann
Hi Ping-Ke,
CC Arnd
On Mon, 13 Apr 2026 at 02:48, Ping-Ke Shih <pkshih@realtek.com> wrote:
> > On Fri, 10 Apr 2026 at 14:15, Ping-Ke Shih <pkshih@realtek.com> wrote:
> > > Bitterblue Smith <rtl8821cerfe2@gmail.com> wrote:
> > > > On 10/04/2026 12:25, kernel test robot wrote:
> > > > > tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> > > > > head: 9a9c8ce300cd3859cc87b408ef552cd697cc2ab7
> > > > > commit: deb3ddeb18652118956fb581a39ac299e1ee5623 wifi: rtw88: Enable the new RTL8814AE/RTL8814AU
> > drivers
> > > > > date: 1 year, 1 month ago
> > > > > config: arm-randconfig-001-20260410
> > (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/config)
> > > > > compiler: arm-linux-gnueabi-gcc (GCC) 8.5.0
> > > > > reproduce (this is a W=1 build):
> > (https://download.01.org/0day-ci/archive/20260410/202604101721.fsv5XmCX-lkp@intel.com/reproduce)
> > > > >
> > > > > If you fix the issue in a separate patch/commit (i.e. not just a new version of
> > > > > the same patch/commit), kindly add following tags
> > > > > | Fixes: deb3ddeb1865 ("wifi: rtw88: Enable the new RTL8814AE/RTL8814AU drivers")
> > > > > | Reported-by: kernel test robot <lkp@intel.com>
> > > > > | Closes: https://lore.kernel.org/oe-kbuild-all/202604101721.fsv5XmCX-lkp@intel.com/
> > > > >
> > > > > All errors (new ones prefixed by >>):
> > > > >
> > > > > In file included from include/linux/bitfield.h:10,
> > > > > from include/linux/fortify-string.h:5,
> > > > > from include/linux/string.h:389,
> > > > > from include/linux/uuid.h:11,
> > > > > from include/linux/mod_devicetable.h:14,
> > > > > from include/linux/usb.h:5,
> > > > > from drivers/net/wireless/realtek/rtw88/rtw8814a.c:5:
> > > > >>> include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse)
> > == 512"
> > > >
> > > > struct rtw_2g_txpwr_idx is missing __packed. Could that be the reason
> > > > for the error? I don't see what else could be causing it.
> > > >
> > >
> > > I also found that flaw, but it isn't cause. I download cross compiler
> > > to build arm on my x86, and address the cause is:
> > >
> > > diff --git a/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> > b/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> > > index c57c7c8f915e..7f2260117487 100644
> > > --- a/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> > > +++ b/drivers/net/wireless/realtek/rtw88/rtw8814a.h
> > > @@ -51,10 +51,15 @@ struct rtw8814a_efuse {
> > > union {
> > > struct rtw8814au_efuse u;
> > > struct rtw8814ae_efuse e;
> > > - };
> > > + } __packed;
> >
> > How can that make a difference?
> > Both rtw8814au_efuse and rtw8814ae_efuse contain just (the same number
> > of) bytes, so __packed on the union should not make any difference?
> > Moreover, rtw8814au_efuse and rtw8814ae_efuse are already tagged with
> > __packed, which should also not make any difference. Someone's been
> > sprinkling too many __packed all over the place?
>
> I have similar thought as yours, but arm-linux-gnueabi-gcc compiler seems
> have special treatment with union. For this case, without __packed
> the offset of followed field res5 will become 0xe0.
Hmm, I can confirm the original issue, and that adding __packed does
have an impact (it reduces the size of rtw8814a_efuse from 522 to 520),
but the actual size is still wrong (should be 512).
drivers/net/wireless/realtek/rtw88/rtw88xxa.h has a similar issue, but
adding __packed does not make a difference there.
Removing the __packed from struct rtw8814au_efuse increases its size
from 14 to 16 bytes. Looks like that ABI pads every structure to a
multiple of 4 bytes?
>
> When investing this error, I also found another waning [1].
>
> I don't know why the compiler treats the union so special, and I fix
> them by experimental results.
>
> [1] https://lore.kernel.org/linux-wireless/20260411072509.1556635-1-pkshih@realtek.com/T/#u
>
> >
> > > u8 res5[0x122]; /* 0xde */
> > > } __packed;
> > >
> > > I will send a patch soon.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-13 9:15 ` Geert Uytterhoeven
@ 2026-04-13 9:30 ` Arnd Bergmann
2026-04-13 10:02 ` Geert Uytterhoeven
2026-04-13 13:01 ` David Laight
0 siblings, 2 replies; 11+ messages in thread
From: Arnd Bergmann @ 2026-04-13 9:30 UTC (permalink / raw)
To: Geert Uytterhoeven, Ping-Ke Shih
Cc: rtl8821cerfe2@gmail.com, kernel test robot,
oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
On Mon, Apr 13, 2026, at 11:15, Geert Uytterhoeven wrote:
> On Mon, 13 Apr 2026 at 02:48, Ping-Ke Shih <pkshih@realtek.com> wrote:
>> > On Fri, 10 Apr 2026 at 14:15, Ping-Ke Shih <pkshih@realtek.com> wrote:
>> > How can that make a difference?
>> > Both rtw8814au_efuse and rtw8814ae_efuse contain just (the same number
>> > of) bytes, so __packed on the union should not make any difference?
>> > Moreover, rtw8814au_efuse and rtw8814ae_efuse are already tagged with
>> > __packed, which should also not make any difference. Someone's been
>> > sprinkling too many __packed all over the place?
>>
>> I have similar thought as yours, but arm-linux-gnueabi-gcc compiler seems
>> have special treatment with union. For this case, without __packed
>> the offset of followed field res5 will become 0xe0.
>
> Hmm, I can confirm the original issue, and that adding __packed does
> have an impact (it reduces the size of rtw8814a_efuse from 522 to 520),
> but the actual size is still wrong (should be 512).
>
> drivers/net/wireless/realtek/rtw88/rtw88xxa.h has a similar issue, but
> adding __packed does not make a difference there.
>
> Removing the __packed from struct rtw8814au_efuse increases its size
> from 14 to 16 bytes. Looks like that ABI pads every structure to a
> multiple of 4 bytes?
Correct, that is a unique property of the ARM "OABI" legacy ABI,
triggered by this defconfig line:
# CONFIG_AEABI is not set
Nobody should be using ARM OABI any more, and I think we should
remove it from the kernel once support for the StrongARM
CPU gets removed (I have patches for that), as those CPUs were
the last ones that regularly used OABI.
Annotating the union as '__packed' is the correct fix for
the theoretical users of OABI, and does nothing on other
supported targets in Linux.
Arnd
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-13 9:30 ` Arnd Bergmann
@ 2026-04-13 10:02 ` Geert Uytterhoeven
2026-04-13 13:01 ` David Laight
1 sibling, 0 replies; 11+ messages in thread
From: Geert Uytterhoeven @ 2026-04-13 10:02 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Ping-Ke Shih, rtl8821cerfe2@gmail.com, kernel test robot,
oe-kbuild-all@lists.linux.dev, linux-kernel@vger.kernel.org
Hi Arnd,
On Mon, 13 Apr 2026 at 11:30, Arnd Bergmann <arnd@arndb.de> wrote:
> On Mon, Apr 13, 2026, at 11:15, Geert Uytterhoeven wrote:
> > On Mon, 13 Apr 2026 at 02:48, Ping-Ke Shih <pkshih@realtek.com> wrote:
> >> > On Fri, 10 Apr 2026 at 14:15, Ping-Ke Shih <pkshih@realtek.com> wrote:
> >> > How can that make a difference?
> >> > Both rtw8814au_efuse and rtw8814ae_efuse contain just (the same number
> >> > of) bytes, so __packed on the union should not make any difference?
> >> > Moreover, rtw8814au_efuse and rtw8814ae_efuse are already tagged with
> >> > __packed, which should also not make any difference. Someone's been
> >> > sprinkling too many __packed all over the place?
> >>
> >> I have similar thought as yours, but arm-linux-gnueabi-gcc compiler seems
> >> have special treatment with union. For this case, without __packed
> >> the offset of followed field res5 will become 0xe0.
> >
> > Hmm, I can confirm the original issue, and that adding __packed does
> > have an impact (it reduces the size of rtw8814a_efuse from 522 to 520),
> > but the actual size is still wrong (should be 512).
Aha, rtw_2g_txpwr_idx also needs __packed.
> >
> > drivers/net/wireless/realtek/rtw88/rtw88xxa.h has a similar issue, but
> > adding __packed does not make a difference there.
> >
> > Removing the __packed from struct rtw8814au_efuse increases its size
> > from 14 to 16 bytes. Looks like that ABI pads every structure to a
> > multiple of 4 bytes?
>
> Correct, that is a unique property of the ARM "OABI" legacy ABI,
> triggered by this defconfig line:
>
> # CONFIG_AEABI is not set
>
> Nobody should be using ARM OABI any more, and I think we should
> remove it from the kernel once support for the StrongARM
> CPU gets removed (I have patches for that), as those CPUs were
> the last ones that regularly used OABI.
>
> Annotating the union as '__packed' is the correct fix for
> the theoretical users of OABI, and does nothing on other
> supported targets in Linux.
OK, thanks!
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-13 9:30 ` Arnd Bergmann
2026-04-13 10:02 ` Geert Uytterhoeven
@ 2026-04-13 13:01 ` David Laight
2026-04-13 13:46 ` Arnd Bergmann
1 sibling, 1 reply; 11+ messages in thread
From: David Laight @ 2026-04-13 13:01 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Geert Uytterhoeven, Ping-Ke Shih, rtl8821cerfe2@gmail.com,
kernel test robot, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org
On Mon, 13 Apr 2026 11:30:25 +0200
"Arnd Bergmann" <arnd@arndb.de> wrote:
> On Mon, Apr 13, 2026, at 11:15, Geert Uytterhoeven wrote:
> > On Mon, 13 Apr 2026 at 02:48, Ping-Ke Shih <pkshih@realtek.com> wrote:
> >> > On Fri, 10 Apr 2026 at 14:15, Ping-Ke Shih <pkshih@realtek.com> wrote:
> >> > How can that make a difference?
> >> > Both rtw8814au_efuse and rtw8814ae_efuse contain just (the same number
> >> > of) bytes, so __packed on the union should not make any difference?
> >> > Moreover, rtw8814au_efuse and rtw8814ae_efuse are already tagged with
> >> > __packed, which should also not make any difference. Someone's been
> >> > sprinkling too many __packed all over the place?
> >>
> >> I have similar thought as yours, but arm-linux-gnueabi-gcc compiler seems
> >> have special treatment with union. For this case, without __packed
> >> the offset of followed field res5 will become 0xe0.
> >
> > Hmm, I can confirm the original issue, and that adding __packed does
> > have an impact (it reduces the size of rtw8814a_efuse from 522 to 520),
> > but the actual size is still wrong (should be 512).
> >
> > drivers/net/wireless/realtek/rtw88/rtw88xxa.h has a similar issue, but
> > adding __packed does not make a difference there.
> >
> > Removing the __packed from struct rtw8814au_efuse increases its size
> > from 14 to 16 bytes. Looks like that ABI pads every structure to a
> > multiple of 4 bytes?
>
> Correct, that is a unique property of the ARM "OABI" legacy ABI,
> triggered by this defconfig line:
>
> # CONFIG_AEABI is not set
>
> Nobody should be using ARM OABI any more, and I think we should
> remove it from the kernel once support for the StrongARM
> CPU gets removed (I have patches for that), as those CPUs were
> the last ones that regularly used OABI.
That would definitely save all the annoyance of the otherwise
pointless __packed.
(I've seen it crop up before, but wasn't sure which architecture it was.)
Doesn't OABI also have 32bit bool?
> Annotating the union as '__packed' is the correct fix for
> the theoretical users of OABI, and does nothing on other
> supported targets in Linux.
The other option is to ensure the specific drivers aren't ever compiled
for !CONFIG_AEABI.
Then it'll all get tidied up when you remove it.
I read that the patches to remove 486 support have been merged.
I'm sure it would have made sense to drop everything before P-Pro
so that cmov can be used.
David
>
> Arnd
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-13 13:01 ` David Laight
@ 2026-04-13 13:46 ` Arnd Bergmann
2026-04-13 17:02 ` David Laight
0 siblings, 1 reply; 11+ messages in thread
From: Arnd Bergmann @ 2026-04-13 13:46 UTC (permalink / raw)
To: David Laight
Cc: Geert Uytterhoeven, Ping-Ke Shih, rtl8821cerfe2@gmail.com,
kernel test robot, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org
On Mon, Apr 13, 2026, at 15:01, David Laight wrote:
> On Mon, 13 Apr 2026 11:30:25 +0200 "Arnd Bergmann" <arnd@arndb.de> wrote:
>> On Mon, Apr 13, 2026, at 11:15, Geert Uytterhoeven wrote:
>>
>> Annotating the union as '__packed' is the correct fix for
>> the theoretical users of OABI, and does nothing on other
>> supported targets in Linux.
>
> The other option is to ensure the specific drivers aren't ever compiled
> for !CONFIG_AEABI.
> Then it'll all get tidied up when you remove it.
That sounds like even more work, for my own testing I have
just stopped building OABI configuration altogether, though
I'm still testing ARMv4 kernels.
> I read that the patches to remove 486 support have been merged.
> I'm sure it would have made sense to drop everything before P-Pro
> so that cmov can be used.
That is an entirely unrelated discussion of course. I don't
think there is any need to discontinue support for 586-class
processors (Pentium, Pentium MMX, MediaGX/GeodeGX1, AMD K6,
Vortex86/DX/MX, Via C3) any earlier than the rest of the
x86-32 kernel support: There is no practical difference
other than compiler flags, and the Vortex86MX+ is still
in production (originally released in 2010 with a projected
10 year support life). This is very different from earlier
486-class CPUs that lack CMPXCHG8B and TSC.
Arnd
^ permalink raw reply [flat|nested] 11+ messages in thread* Re: include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512"
2026-04-13 13:46 ` Arnd Bergmann
@ 2026-04-13 17:02 ` David Laight
0 siblings, 0 replies; 11+ messages in thread
From: David Laight @ 2026-04-13 17:02 UTC (permalink / raw)
To: Arnd Bergmann
Cc: Geert Uytterhoeven, Ping-Ke Shih, rtl8821cerfe2@gmail.com,
kernel test robot, oe-kbuild-all@lists.linux.dev,
linux-kernel@vger.kernel.org
On Mon, 13 Apr 2026 15:46:50 +0200
"Arnd Bergmann" <arnd@arndb.de> wrote:
> On Mon, Apr 13, 2026, at 15:01, David Laight wrote:
> > On Mon, 13 Apr 2026 11:30:25 +0200 "Arnd Bergmann" <arnd@arndb.de> wrote:
> >> On Mon, Apr 13, 2026, at 11:15, Geert Uytterhoeven wrote:
> >>
> >> Annotating the union as '__packed' is the correct fix for
> >> the theoretical users of OABI, and does nothing on other
> >> supported targets in Linux.
> >
> > The other option is to ensure the specific drivers aren't ever compiled
> > for !CONFIG_AEABI.
> > Then it'll all get tidied up when you remove it.
>
> That sounds like even more work, for my own testing I have
> just stopped building OABI configuration altogether, though
> I'm still testing ARMv4 kernels.
Is it possible to stop the build robot doing that as well?
Might stop us having to worry about obscure build failures
on something that is heading to its death bed.
>
> > I read that the patches to remove 486 support have been merged.
> > I'm sure it would have made sense to drop everything before P-Pro
> > so that cmov can be used.
>
> That is an entirely unrelated discussion of course. I don't
> think there is any need to discontinue support for 586-class
> processors (Pentium, Pentium MMX, MediaGX/GeodeGX1, AMD K6,
> Vortex86/DX/MX, Via C3) any earlier than the rest of the
> x86-32 kernel support: There is no practical difference
> other than compiler flags, and the Vortex86MX+ is still
> in production (originally released in 2010 with a projected
> 10 year support life). This is very different from earlier
> 486-class CPUs that lack CMPXCHG8B and TSC.
That is a lot more recent that the 1995 date of the P6/pro itself.
I was contemplating writing the 'masked user access' code for x86.
Mostly just involves generating the address space gap.
But the asm is easiest if it uses cmov.
I may need to work out how to use qemu, a userpace consisting of
a busybox shell running as pid 1 is probably enough.
David
>
> Arnd
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2026-04-13 17:02 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-10 9:25 include/linux/build_bug.h:78:41: error: static assertion failed: "sizeof(struct rtw8814a_efuse) == 512" kernel test robot
2026-04-10 12:07 ` Bitterblue Smith
2026-04-10 12:14 ` Ping-Ke Shih
2026-04-11 15:29 ` Geert Uytterhoeven
2026-04-13 0:48 ` Ping-Ke Shih
2026-04-13 9:15 ` Geert Uytterhoeven
2026-04-13 9:30 ` Arnd Bergmann
2026-04-13 10:02 ` Geert Uytterhoeven
2026-04-13 13:01 ` David Laight
2026-04-13 13:46 ` Arnd Bergmann
2026-04-13 17:02 ` David Laight
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox