* Re: [PATCH] kbuild: use objcopy to generate asm-offsets
2024-08-28 8:36 [PATCH] kbuild: use objcopy to generate asm-offsets Vegard Nossum
2024-08-28 10:07 ` Vegard Nossum
@ 2024-08-29 14:58 ` kernel test robot
2024-08-29 15:50 ` kernel test robot
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2024-08-29 14:58 UTC (permalink / raw)
To: Vegard Nossum, Masahiro Yamada
Cc: oe-kbuild-all, linux-kbuild, linux-kernel, linux-arm-kernel,
linux-omap, kvmarm, kvm, linux-um, bpf, llvm, Vegard Nossum
Hi Vegard,
kernel test robot noticed the following build errors:
[auto build test ERROR on masahiroy-kbuild/for-next]
[also build test ERROR on masahiroy-kbuild/fixes soc/for-next kvmarm/next kvm/queue uml/next krzk-mem-ctrl/for-next bpf-next/master bpf/master linus/master v6.11-rc5 next-20240829]
[cannot apply to tmlind-omap/for-next kvm/linux-next uml/fixes]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Vegard-Nossum/kbuild-use-objcopy-to-generate-asm-offsets/20240828-163854
base: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git for-next
patch link: https://lore.kernel.org/r/20240828083605.3093701-1-vegard.nossum%40oracle.com
patch subject: [PATCH] kbuild: use objcopy to generate asm-offsets
config: sh-randconfig-r072-20240829 (https://download.01.org/0day-ci/archive/20240829/202408292215.pEJKHLfT-lkp@intel.com/config)
compiler: sh4-linux-gcc (GCC) 14.1.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240829/202408292215.pEJKHLfT-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
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408292215.pEJKHLfT-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from scripts/mod/file2alias.c:13:
scripts/mod/file2alias.c: In function 'do_usb_entry':
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:66:55: note: in definition of macro 'TO_NATIVE'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:57:31: note: in definition of macro 'bswap'
57 | _Static_assert(sizeof(x) == 1 || sizeof(x) == 2 || \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:57:49: note: in definition of macro 'bswap'
57 | _Static_assert(sizeof(x) == 1 || sizeof(x) == 2 || \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:58:31: note: in definition of macro 'bswap'
58 | sizeof(x) == 4 || sizeof(x) == 8, "bug"); \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:58:49: note: in definition of macro 'bswap'
58 | sizeof(x) == 4 || sizeof(x) == 8, "bug"); \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:59:17: note: in definition of macro 'bswap'
59 | (typeof(x))(sizeof(x) == 2 ? bswap_16(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:59:28: note: in definition of macro 'bswap'
59 | (typeof(x))(sizeof(x) == 2 ? bswap_16(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
In file included from scripts/mod/modpost.h:2:
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:66:59: note: in expansion of macro 'bswap'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^~~~~
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:60:28: note: in definition of macro 'bswap'
60 | sizeof(x) == 4 ? bswap_32(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:66:59: note: in expansion of macro 'bswap'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^~~~~
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:61:28: note: in definition of macro 'bswap'
61 | sizeof(x) == 8 ? bswap_64(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:66:59: note: in expansion of macro 'bswap'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^~~~~
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:62:21: note: in definition of macro 'bswap'
62 | x); \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:175:9: note: in expansion of macro 'DEF_FIELD'
175 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:11:36: error: stray '#' in program
11 | #define OFF_usb_device_id_idVendor #2 /* offsetof(struct usb_device_id, idVendor) */
| ^
scripts/mod/modpost.h:66:55: note: in definition of macro 'TO_NATIVE'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_idVendor'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:176:9: note: in expansion of macro 'DEF_FIELD'
176 | DEF_FIELD(symval, usb_device_id, idVendor);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:11:36: error: stray '#' in program
11 | #define OFF_usb_device_id_idVendor #2 /* offsetof(struct usb_device_id, idVendor) */
| ^
scripts/mod/modpost.h:57:31: note: in definition of macro 'bswap'
57 | _Static_assert(sizeof(x) == 1 || sizeof(x) == 2 || \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_idVendor'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:176:9: note: in expansion of macro 'DEF_FIELD'
176 | DEF_FIELD(symval, usb_device_id, idVendor);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:11:36: error: stray '#' in program
11 | #define OFF_usb_device_id_idVendor #2 /* offsetof(struct usb_device_id, idVendor) */
| ^
scripts/mod/modpost.h:57:49: note: in definition of macro 'bswap'
57 | _Static_assert(sizeof(x) == 1 || sizeof(x) == 2 || \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_idVendor'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:176:9: note: in expansion of macro 'DEF_FIELD'
176 | DEF_FIELD(symval, usb_device_id, idVendor);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:11:36: error: stray '#' in program
11 | #define OFF_usb_device_id_idVendor #2 /* offsetof(struct usb_device_id, idVendor) */
| ^
scripts/mod/modpost.h:58:31: note: in definition of macro 'bswap'
58 | sizeof(x) == 4 || sizeof(x) == 8, "bug"); \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_idVendor'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:176:9: note: in expansion of macro 'DEF_FIELD'
176 | DEF_FIELD(symval, usb_device_id, idVendor);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:11:36: error: stray '#' in program
11 | #define OFF_usb_device_id_idVendor #2 /* offsetof(struct usb_device_id, idVendor) */
| ^
scripts/mod/modpost.h:58:49: note: in definition of macro 'bswap'
58 | sizeof(x) == 4 || sizeof(x) == 8, "bug"); \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_idVendor'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:176:9: note: in expansion of macro 'DEF_FIELD'
176 | DEF_FIELD(symval, usb_device_id, idVendor);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:11:36: error: stray '#' in program
11 | #define OFF_usb_device_id_idVendor #2 /* offsetof(struct usb_device_id, idVendor) */
| ^
scripts/mod/modpost.h:59:17: note: in definition of macro 'bswap'
59 | (typeof(x))(sizeof(x) == 2 ? bswap_16(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_idVendor'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:176:9: note: in expansion of macro 'DEF_FIELD'
176 | DEF_FIELD(symval, usb_device_id, idVendor);
--
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_bInterfaceNumber'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:185:9: note: in expansion of macro 'DEF_FIELD'
185 | DEF_FIELD(symval, usb_device_id, bInterfaceNumber);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:21:44: error: stray '#' in program
21 | #define OFF_usb_device_id_bInterfaceNumber #16 /* offsetof(struct usb_device_id, bInterfaceNumber) */
| ^
scripts/mod/modpost.h:66:59: note: in expansion of macro 'bswap'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^~~~~
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_bInterfaceNumber'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:185:9: note: in expansion of macro 'DEF_FIELD'
185 | DEF_FIELD(symval, usb_device_id, bInterfaceNumber);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:21:44: error: stray '#' in program
21 | #define OFF_usb_device_id_bInterfaceNumber #16 /* offsetof(struct usb_device_id, bInterfaceNumber) */
| ^
scripts/mod/modpost.h:60:28: note: in definition of macro 'bswap'
60 | sizeof(x) == 4 ? bswap_32(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_bInterfaceNumber'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:185:9: note: in expansion of macro 'DEF_FIELD'
185 | DEF_FIELD(symval, usb_device_id, bInterfaceNumber);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:21:44: error: stray '#' in program
21 | #define OFF_usb_device_id_bInterfaceNumber #16 /* offsetof(struct usb_device_id, bInterfaceNumber) */
| ^
scripts/mod/modpost.h:66:59: note: in expansion of macro 'bswap'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^~~~~
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_bInterfaceNumber'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:185:9: note: in expansion of macro 'DEF_FIELD'
185 | DEF_FIELD(symval, usb_device_id, bInterfaceNumber);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:21:44: error: stray '#' in program
21 | #define OFF_usb_device_id_bInterfaceNumber #16 /* offsetof(struct usb_device_id, bInterfaceNumber) */
| ^
scripts/mod/modpost.h:61:28: note: in definition of macro 'bswap'
61 | sizeof(x) == 8 ? bswap_64(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_bInterfaceNumber'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:185:9: note: in expansion of macro 'DEF_FIELD'
185 | DEF_FIELD(symval, usb_device_id, bInterfaceNumber);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:21:44: error: stray '#' in program
21 | #define OFF_usb_device_id_bInterfaceNumber #16 /* offsetof(struct usb_device_id, bInterfaceNumber) */
| ^
scripts/mod/modpost.h:66:59: note: in expansion of macro 'bswap'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^~~~~
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_bInterfaceNumber'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:185:9: note: in expansion of macro 'DEF_FIELD'
185 | DEF_FIELD(symval, usb_device_id, bInterfaceNumber);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:21:44: error: stray '#' in program
21 | #define OFF_usb_device_id_bInterfaceNumber #16 /* offsetof(struct usb_device_id, bInterfaceNumber) */
| ^
scripts/mod/modpost.h:62:21: note: in definition of macro 'bswap'
62 | x); \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_bInterfaceNumber'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:185:9: note: in expansion of macro 'DEF_FIELD'
185 | DEF_FIELD(symval, usb_device_id, bInterfaceNumber);
| ^~~~~~~~~
scripts/mod/file2alias.c: In function 'do_usb_entry_multi':
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:66:55: note: in definition of macro 'TO_NATIVE'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:57:31: note: in definition of macro 'bswap'
57 | _Static_assert(sizeof(x) == 1 || sizeof(x) == 2 || \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:57:49: note: in definition of macro 'bswap'
57 | _Static_assert(sizeof(x) == 1 || sizeof(x) == 2 || \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:58:31: note: in definition of macro 'bswap'
58 | sizeof(x) == 4 || sizeof(x) == 8, "bug"); \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:58:49: note: in definition of macro 'bswap'
58 | sizeof(x) == 4 || sizeof(x) == 8, "bug"); \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:59:17: note: in definition of macro 'bswap'
59 | (typeof(x))(sizeof(x) == 2 ? bswap_16(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
>> ./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:59:28: note: in definition of macro 'bswap'
59 | (typeof(x))(sizeof(x) == 2 ? bswap_16(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:66:59: note: in expansion of macro 'bswap'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^~~~~
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:60:28: note: in definition of macro 'bswap'
60 | sizeof(x) == 4 ? bswap_32(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:66:59: note: in expansion of macro 'bswap'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^~~~~
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:61:28: note: in definition of macro 'bswap'
61 | sizeof(x) == 8 ? bswap_64(x) : \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:66:59: note: in expansion of macro 'bswap'
66 | (target_is_big_endian == host_is_big_endian ? x : bswap(x))
| ^~~~~
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~
scripts/mod/file2alias.c:282:9: note: in expansion of macro 'DEF_FIELD'
282 | DEF_FIELD(symval, usb_device_id, match_flags);
| ^~~~~~~~~
./scripts/mod/devicetable-offsets.h:10:39: error: stray '#' in program
10 | #define OFF_usb_device_id_match_flags #0 /* offsetof(struct usb_device_id, match_flags) */
| ^
scripts/mod/modpost.h:62:21: note: in definition of macro 'bswap'
62 | x); \
| ^
scripts/mod/file2alias.c:73:44: note: in expansion of macro 'TO_NATIVE'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
| ^~~~~~~~~
scripts/mod/file2alias.c:73:75: note: in expansion of macro 'OFF_usb_device_id_match_flags'
73 | typeof(((struct devid *)0)->f) f = TO_NATIVE(*(typeof(f) *)((m) + OFF_##devid##_##f))
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] kbuild: use objcopy to generate asm-offsets
2024-08-28 8:36 [PATCH] kbuild: use objcopy to generate asm-offsets Vegard Nossum
` (2 preceding siblings ...)
2024-08-29 15:50 ` kernel test robot
@ 2024-08-29 20:37 ` kernel test robot
2024-09-02 23:45 ` Michael Ellerman
4 siblings, 0 replies; 8+ messages in thread
From: kernel test robot @ 2024-08-29 20:37 UTC (permalink / raw)
To: Vegard Nossum, Masahiro Yamada
Cc: oe-kbuild-all, linux-kbuild, linux-kernel, linux-arm-kernel,
linux-omap, kvmarm, kvm, linux-um, bpf, llvm, Vegard Nossum
Hi Vegard,
kernel test robot noticed the following build warnings:
[auto build test WARNING on masahiroy-kbuild/for-next]
[also build test WARNING on masahiroy-kbuild/fixes soc/for-next kvmarm/next kvm/queue uml/next krzk-mem-ctrl/for-next bpf-next/master bpf/master linus/master v6.11-rc5 next-20240829]
[cannot apply to tmlind-omap/for-next kvm/linux-next uml/fixes]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Vegard-Nossum/kbuild-use-objcopy-to-generate-asm-offsets/20240828-163854
base: https://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git for-next
patch link: https://lore.kernel.org/r/20240828083605.3093701-1-vegard.nossum%40oracle.com
patch subject: [PATCH] kbuild: use objcopy to generate asm-offsets
config: mips-loongson3_defconfig (https://download.01.org/0day-ci/archive/20240830/202408300438.xObK98m5-lkp@intel.com/config)
compiler: mips64el-linux-gcc (GCC) 13.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240830/202408300438.xObK98m5-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
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202408300438.xObK98m5-lkp@intel.com/
All warnings (new ones prefixed by >>):
mips64el-linux-objcopy: /dev/stdout[.data.kbuild]: Illegal seek
In file included from include/linux/mm_types.h:18,
from include/linux/uio.h:10,
from include/linux/socket.h:8,
from include/linux/compat.h:15,
from arch/mips/kernel/asm-offsets.c:12:
include/linux/page-flags-layout.h:15:5: warning: "MAX_NR_ZONES" is not defined, evaluates to 0 [-Wundef]
15 | #if MAX_NR_ZONES < 2
| ^~~~~~~~~~~~
include/linux/page-flags-layout.h:58:19: warning: "LRU_GEN_WIDTH" is not defined, evaluates to 0 [-Wundef]
58 | #if ZONES_WIDTH + LRU_GEN_WIDTH + SECTIONS_WIDTH + NODES_SHIFT \
| ^~~~~~~~~~~~~
include/linux/page-flags-layout.h:59:28: warning: "NR_PAGEFLAGS" is not defined, evaluates to 0 [-Wundef]
59 | <= BITS_PER_LONG - NR_PAGEFLAGS
| ^~~~~~~~~~~~
include/linux/page-flags-layout.h:93:19: warning: "LRU_GEN_WIDTH" is not defined, evaluates to 0 [-Wundef]
93 | #if ZONES_WIDTH + LRU_GEN_WIDTH + SECTIONS_WIDTH + NODES_WIDTH + \
| ^~~~~~~~~~~~~
include/linux/page-flags-layout.h:94:64: warning: "NR_PAGEFLAGS" is not defined, evaluates to 0 [-Wundef]
94 | KASAN_TAG_WIDTH + LAST_CPUPID_SHIFT <= BITS_PER_LONG - NR_PAGEFLAGS
| ^~~~~~~~~~~~
include/linux/page-flags-layout.h:104:19: warning: "LRU_GEN_WIDTH" is not defined, evaluates to 0 [-Wundef]
104 | #if ZONES_WIDTH + LRU_GEN_WIDTH + SECTIONS_WIDTH + NODES_WIDTH + \
| ^~~~~~~~~~~~~
include/linux/page-flags-layout.h:105:63: warning: "NR_PAGEFLAGS" is not defined, evaluates to 0 [-Wundef]
105 | KASAN_TAG_WIDTH + LAST_CPUPID_WIDTH > BITS_PER_LONG - NR_PAGEFLAGS
| ^~~~~~~~~~~~
In file included from include/linux/mm_types.h:5:
include/linux/mm_types_task.h:22:34: warning: "SPINLOCK_SIZE" is not defined, evaluates to 0 [-Wundef]
22 | #define ALLOC_SPLIT_PTLOCKS (SPINLOCK_SIZE > BITS_PER_LONG/8)
| ^~~~~~~~~~~~~
include/linux/mm_types.h:478:5: note: in expansion of macro 'ALLOC_SPLIT_PTLOCKS'
478 | #if ALLOC_SPLIT_PTLOCKS
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/dcache.h:14,
from include/linux/fs.h:8,
from include/linux/compat.h:17:
>> include/linux/lockref.h:23:36: warning: "SPINLOCK_SIZE" is not defined, evaluates to 0 [-Wundef]
23 | IS_ENABLED(CONFIG_SMP) && SPINLOCK_SIZE <= 4)
| ^~~~~~~~~~~~~
include/linux/lockref.h:27:5: note: in expansion of macro 'USE_CMPXCHG_LOCKREF'
27 | #if USE_CMPXCHG_LOCKREF
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/gfp.h:7,
from include/linux/xarray.h:16,
from include/linux/list_lru.h:14,
from include/linux/fs.h:13:
include/linux/mmzone.h:842:29: error: 'MAX_NR_ZONES' undeclared here (not in a function); did you mean 'MAX_NR_GENS'?
842 | long lowmem_reserve[MAX_NR_ZONES];
| ^~~~~~~~~~~~
| MAX_NR_GENS
include/linux/mm_types_task.h:22:34: warning: "SPINLOCK_SIZE" is not defined, evaluates to 0 [-Wundef]
22 | #define ALLOC_SPLIT_PTLOCKS (SPINLOCK_SIZE > BITS_PER_LONG/8)
| ^~~~~~~~~~~~~
include/linux/mm.h:2889:5: note: in expansion of macro 'ALLOC_SPLIT_PTLOCKS'
2889 | #if ALLOC_SPLIT_PTLOCKS
| ^~~~~~~~~~~~~~~~~~~
In file included from include/linux/swap.h:9,
from include/linux/suspend.h:5,
from arch/mips/kernel/asm-offsets.c:17:
include/linux/memcontrol.h: In function 'mem_cgroup_get_zone_lru_size':
>> include/linux/memcontrol.h:914:31: warning: parameter 'lru' set but not used [-Wunused-but-set-parameter]
914 | enum lru_list lru, int zone_idx)
| ~~~~~~~~~~~~~~^~~
>> include/linux/memcontrol.h:914:40: warning: parameter 'zone_idx' set but not used [-Wunused-but-set-parameter]
914 | enum lru_list lru, int zone_idx)
| ~~~~^~~~~~~~
make[3]: *** [scripts/Makefile.build:244: arch/mips/kernel/asm-offsets.o] Error 1
make[3]: Target 'missing-syscalls' not remade because of errors.
make[2]: *** [arch/mips/Makefile:432: archprepare] Error 2
make[2]: Target 'prepare' not remade because of errors.
make[1]: *** [Makefile:224: __sub-make] Error 2
make[1]: Target 'prepare' not remade because of errors.
make: *** [Makefile:224: __sub-make] Error 2
make: Target 'prepare' not remade because of errors.
vim +/SPINLOCK_SIZE +23 include/linux/lockref.h
57f4257eae33e0 Peter Zijlstra 2013-11-14 20
57f4257eae33e0 Peter Zijlstra 2013-11-14 21 #define USE_CMPXCHG_LOCKREF \
57f4257eae33e0 Peter Zijlstra 2013-11-14 22 (IS_ENABLED(CONFIG_ARCH_USE_CMPXCHG_LOCKREF) && \
597d795a2a786d Kirill A. Shutemov 2013-12-20 @23 IS_ENABLED(CONFIG_SMP) && SPINLOCK_SIZE <= 4)
0f8f2aaaab0b0f Waiman Long 2013-08-28 24
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] kbuild: use objcopy to generate asm-offsets
2024-08-28 8:36 [PATCH] kbuild: use objcopy to generate asm-offsets Vegard Nossum
` (3 preceding siblings ...)
2024-08-29 20:37 ` kernel test robot
@ 2024-09-02 23:45 ` Michael Ellerman
2024-09-03 7:20 ` Vegard Nossum
4 siblings, 1 reply; 8+ messages in thread
From: Michael Ellerman @ 2024-09-02 23:45 UTC (permalink / raw)
To: Vegard Nossum, Masahiro Yamada
Cc: linux-kbuild, linux-kernel, linux-arm-kernel, linux-omap, kvmarm,
kvm, linux-um, bpf, llvm, Vegard Nossum
Vegard Nossum <vegard.nossum@oracle.com> writes:
> In order to give assembly code access to C structs without having to
> hardcore member offsets, the kernel compiles a C source file listing all
> the structs and offsets that are needed in assembly code. Using some
> C preprocessor trickery and a sed script, the compiled assembly code is
> turned back into C preprocessor code that in turn can be used by the
> asssembly code.
>
> This sed script is very hard to read and understand.
>
> Remove the sed script and compile the C source listing structs and
> offsets to an object file (instead of assembly code) that embeds C source
> directly. Then extract the C source using objcopy.
>
I threw some builders at this and hit a few errors:
parisc:
# make -s -j 160 ARCH=parisc64 O=/kisskb/build/mpe_generic-64bit_defconfig_parisc64-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/hppa-linux/bin/hppa64-linux-
{standard input}: Assembler messages:
{standard input}: Error: .size expression for main does not evaluate to a constant
make[3]: *** [/kisskb/src/scripts/Makefile.build:244: scripts/mod/devicetable-offsets.o] Error 1
s390:
# make -s -j 32 ARCH=s390 O=/kisskb/build/mpe_defconfig_s390x-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/s390-linux/bin/s390-linux-
In file included from /kisskb/src/arch/s390/include/asm/ptrace.h:11,
from /kisskb/src/arch/s390/kernel/vdso64/vdso_user_wrapper.S:7:
/kisskb/src/arch/s390/include/uapi/asm/ptrace.h:167: warning: "STACK_FRAME_OVERHEAD" redefined
167 | #define STACK_FRAME_OVERHEAD 160 /* size of minimum stack frame */
|
In file included from /kisskb/src/include/asm-generic/asm-offsets.h:1,
from ./arch/s390/include/generated/asm/asm-offsets.h:1,
from /kisskb/src/arch/s390/kernel/vdso64/vdso_user_wrapper.S:5:
./include/generated/asm-offsets.h:51: note: this is the location of the previous definition
51 | #define STACK_FRAME_OVERHEAD -96 /* sizeof(struct stack_frame) */
mips:
# make -s -j 32 ARCH=mips O=/kisskb/build/mpe_defconfig_mips-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/mips-linux/bin/mips-linux-
{standard input}: Assembler messages:
{standard input}:27: Error: junk at end of line, first unrecognized character is `M'
{standard input}:212: Error: junk at end of line, first unrecognized character is `M'
{standard input}:265: Error: junk at end of line, first unrecognized character is `M'
{standard input}:338: Error: junk at end of line, first unrecognized character is `M'
{standard input}:596: Error: junk at end of line, first unrecognized character is `S'
{standard input}:608: Error: junk at end of line, first unrecognized character is `L'
{standard input}:721: Error: junk at end of line, first unrecognized character is `L'
{standard input}:806: Error: junk at end of line, first unrecognized character is `L'
{standard input}:963: Error: junk at end of line, first unrecognized character is `P'
{standard input}:996: Error: junk at end of line, first unrecognized character is `K'
{standard input}:1161: Error: junk at end of line, first unrecognized character is `M'
make[3]: *** [/kisskb/src/scripts/Makefile.build:244: arch/mips/kernel/asm-offsets.o] Error 1
riscv:
# make -s -j 160 ARCH=riscv O=/kisskb/build/mpe_defconfig_riscv-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/riscv64-linux/bin/riscv64-linux-
In file included from /kisskb/src/arch/riscv/kernel/asm-offsets.c:9:
/kisskb/src/arch/riscv/kernel/asm-offsets.c: In function 'asm_offsets':
/kisskb/src/include/linux/kbuild.h:6:9: error: invalid 'asm': invalid use of '%c'
6 | asm volatile( \
| ^~~
/kisskb/src/include/linux/kbuild.h:12:9: note: in expansion of macro '_LINE'
12 | _LINE("#define " #sym " %c0 /* " #val " */", "i" (val))
| ^~~~~
/kisskb/src/include/linux/kbuild.h:15:9: note: in expansion of macro 'DEFINE'
15 | DEFINE(sym, offsetof(struct str, mem))
| ^~~~~~
/kisskb/src/arch/riscv/kernel/asm-offsets.c:25:9: note: in expansion of macro 'OFFSET'
25 | OFFSET(TASK_THREAD_RA, task_struct, thread.ra);
| ^~~~~~
/kisskb/src/include/linux/kbuild.h:6:9: error: invalid 'asm': invalid use of '%c'
6 | asm volatile( \
| ^~~
Full list here, but note there are some unrelated pre-existing failures:
http://kisskb.ellerman.id.au/kisskb/head/259bba3447faaf5e5b12ae41a26a62978d4c1965/
cheers
^ permalink raw reply [flat|nested] 8+ messages in thread