scripts/Makefile.clean:12: drivers/gpu/drm/xe/tests/Makefile: No such file or directory make[7]: *** No rule to make target 'drivers/gpu/drm/xe/tests/Makefile'. Stop. make[6]: *** [scripts/Makefile.clean:61: drivers/gpu/drm/xe/tests] Error 2 make[5]: *** [scripts/Makefile.clean:61: drivers/gpu/drm/xe] Error 2 make[4]: *** [scripts/Makefile.clean:61: drivers/gpu/drm] Error 2 make[3]: *** [scripts/Makefile.clean:61: drivers/gpu] Error 2 make[2]: *** [scripts/Makefile.clean:61: drivers] Error 2 make[1]: *** [/srv/vmksft/testing/wt-21/Makefile:2097: _clean_.] Error 2 make: *** [Makefile:248: __sub-make] Error 2 Error in reading or end of file. Error in reading or end of file. Error in reading or end of file. In file included from ./arch/x86/entry/vdso/vdso32/../common/vclock_gettime.c:16, from arch/x86/entry/vdso/vdso32/vclock_gettime.c:1: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:72:56: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 72 | static __always_inline int do_hres_timens(const struct vdso_data *vdns, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_hres_timens’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:75:49: error: invalid use of undefined type ‘const struct vdso_data’ 75 | const struct timens_offset *offs = &vdns->offset[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:82:19: error: invalid use of undefined type ‘struct vdso_data’ 82 | vd = vdns - (clk == CLOCK_MONOTONIC_RAW ? CS_RAW : CS_HRES_COARSE); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:83:14: error: implicit declaration of function ‘__arch_get_timens_vdso_data’ [-Wimplicit-function-declaration] 83 | vd = __arch_get_timens_vdso_data(vd); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:83:12: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 83 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:85:25: error: invalid use of undefined type ‘struct vdso_data’ 85 | vd = &vd[CS_HRES_COARSE]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:87:25: error: invalid use of undefined type ‘struct vdso_data’ 87 | vd = &vd[CS_RAW]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:88:22: error: invalid use of undefined type ‘const struct vdso_data’ 88 | vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:91:39: error: passing argument 1 of ‘vdso_read_begin’ from incompatible pointer type [-Wincompatible-pointer-types] 91 | seq = vdso_read_begin(vd); | ^~ | | | const struct vdso_data * In file included from ./arch/x86/include/asm/vgtod.h:13, from ./arch/x86/include/asm/vdso/gettimeofday.h:16, from ./include/vdso/datapage.h:196, from ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:5: ./include/vdso/helpers.h:10:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 10 | static __always_inline u32 vdso_read_begin(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from ./include/linux/export.h:5, from ./include/linux/linkage.h:7, from ./arch/x86/include/asm/cache.h:5, from ./include/vdso/cache.h:5, from ./include/linux/cache.h:6, from ./include/linux/time.h:5, from ./arch/x86/entry/vdso/vdso32/../common/vclock_gettime.c:11: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:93:51: error: passing argument 1 of ‘arch_vdso_clocksource_ok’ from incompatible pointer type [-Wincompatible-pointer-types] 93 | if (unlikely(!vdso_clocksource_ok(vd))) | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./arch/x86/include/asm/vdso/gettimeofday.h:172:70: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 172 | static inline bool arch_vdso_clocksource_ok(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:96:50: error: invalid use of undefined type ‘const struct vdso_data’ 96 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:96:64: error: passing argument 2 of ‘__arch_get_hw_counter’ from incompatible pointer type [-Wincompatible-pointer-types] 96 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:147:70: note: expected ‘const struct vdso_time_data *’ but argument is of type ‘const struct vdso_data *’ 147 | const struct vdso_time_data *vd) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:99:35: error: passing argument 1 of ‘vdso_calc_ns’ from incompatible pointer type [-Wincompatible-pointer-types] 99 | ns = vdso_calc_ns(vd, cycles, vdso_ts->nsec); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:211:66: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 211 | static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:101:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 101 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:49: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_hres’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:133:51: error: invalid use of undefined type ‘const struct vdso_data’ 133 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/asm-generic/rwonce.h:44:43: note: in expansion of macro ‘__unqual_scalar_typeof’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^~~~~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:155:31: error: invalid use of undefined type ‘const struct vdso_data’ 155 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:156:55: error: passing argument 1 of ‘do_hres_timens’ from incompatible pointer type [-Wincompatible-pointer-types] 156 | return do_hres_timens(vd, clk, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:72:67: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 72 | static __always_inline int do_hres_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:161:51: error: passing argument 1 of ‘arch_vdso_clocksource_ok’ from incompatible pointer type [-Wincompatible-pointer-types] 161 | if (unlikely(!vdso_clocksource_ok(vd))) | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./arch/x86/include/asm/vdso/gettimeofday.h:172:70: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 172 | static inline bool arch_vdso_clocksource_ok(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:164:50: error: invalid use of undefined type ‘const struct vdso_data’ 164 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:164:64: error: passing argument 2 of ‘__arch_get_hw_counter’ from incompatible pointer type [-Wincompatible-pointer-types] 164 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:147:70: note: expected ‘const struct vdso_time_data *’ but argument is of type ‘const struct vdso_data *’ 147 | const struct vdso_time_data *vd) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:167:35: error: passing argument 1 of ‘vdso_calc_ns’ from incompatible pointer type [-Wincompatible-pointer-types] 167 | ns = vdso_calc_ns(vd, cycles, vdso_ts->nsec); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:211:66: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 211 | static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:169:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 169 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:58: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_coarse_timens’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:185:38: error: initialization of ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 185 | const struct vdso_data *vd = __arch_get_timens_vdso_data(vdns); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:186:51: error: invalid use of undefined type ‘const struct vdso_data’ 186 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:187:49: error: invalid use of undefined type ‘const struct vdso_data’ 187 | const struct timens_offset *offs = &vdns->offset[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:193:39: error: passing argument 1 of ‘vdso_read_begin’ from incompatible pointer type [-Wincompatible-pointer-types] 193 | seq = vdso_read_begin(vd); | ^~ | | | const struct vdso_data * ./include/vdso/helpers.h:10:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 10 | static __always_inline u32 vdso_read_begin(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:196:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 196 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:85: error: parameter ‘clk’ set but not used [-Werror=unused-but-set-parameter] 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~^~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:218:51: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 218 | static __always_inline int do_coarse(const struct vdso_data *vd, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_coarse’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:221:51: error: invalid use of undefined type ‘const struct vdso_data’ 221 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ In file included from : ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ In file included from ./arch/x86/include/generated/asm/rwonce.h:1, from ./include/linux/compiler.h:372: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:231:31: error: invalid use of undefined type ‘const struct vdso_data’ 231 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:232:57: error: passing argument 1 of ‘do_coarse_timens’ from incompatible pointer type [-Wincompatible-pointer-types] 232 | return do_coarse_timens(vd, clk, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:69: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:239:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 239 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:43: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime_common’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:260:25: error: invalid use of undefined type ‘struct vdso_data’ 260 | vd = &vd[CS_HRES_COARSE]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:262:37: error: invalid use of undefined type ‘struct vdso_data’ 262 | return do_coarse(&vd[CS_HRES_COARSE], clock, ts); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:262:34: error: passing argument 1 of ‘do_coarse’ from incompatible pointer type [-Wincompatible-pointer-types] 262 | return do_coarse(&vd[CS_HRES_COARSE], clock, ts); | ^~~~~~~~~~~~~~~~~~~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:218:62: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 218 | static __always_inline int do_coarse(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:264:25: error: invalid use of undefined type ‘struct vdso_data’ 264 | vd = &vd[CS_RAW]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:268:24: error: passing argument 1 of ‘do_hres’ from incompatible pointer type [-Wincompatible-pointer-types] 268 | return do_hres(vd, clock, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:60: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:272:41: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 272 | __cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:275:48: error: passing argument 1 of ‘__cvdso_clock_gettime_common’ from incompatible pointer type [-Wincompatible-pointer-types] 275 | int ret = __cvdso_clock_gettime_common(vd, clock, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:54: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:285:43: error: implicit declaration of function ‘__arch_get_vdso_data’ [-Wimplicit-function-declaration] 285 | return __cvdso_clock_gettime_data(__arch_get_vdso_data(), clock, ts); | ^~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:285:43: error: passing argument 1 of ‘__cvdso_clock_gettime_data’ makes pointer from integer without a cast [-Wint-conversion] 285 | return __cvdso_clock_gettime_data(__arch_get_vdso_data(), clock, ts); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:272:52: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 272 | __cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:290:43: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 290 | __cvdso_clock_gettime32_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime32_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:296:44: error: passing argument 1 of ‘__cvdso_clock_gettime_common’ from incompatible pointer type [-Wincompatible-pointer-types] 296 | ret = __cvdso_clock_gettime_common(vd, clock, &ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:54: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime32’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:311:45: error: passing argument 1 of ‘__cvdso_clock_gettime32_data’ makes pointer from integer without a cast [-Wint-conversion] 311 | return __cvdso_clock_gettime32_data(__arch_get_vdso_data(), clock, res); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:290:54: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 290 | __cvdso_clock_gettime32_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:316:40: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 316 | __cvdso_gettimeofday_data(const struct vdso_data *vd, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_gettimeofday_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:323:32: error: invalid use of undefined type ‘struct vdso_data’ 323 | if (do_hres(&vd[CS_HRES_COARSE], CLOCK_REALTIME, &ts)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:323:29: error: passing argument 1 of ‘do_hres’ from incompatible pointer type [-Wincompatible-pointer-types] 323 | if (do_hres(&vd[CS_HRES_COARSE], CLOCK_REALTIME, &ts)) | ^~~~~~~~~~~~~~~~~~~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:60: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:332:23: error: invalid use of undefined type ‘const struct vdso_data’ 332 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:333:28: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 333 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:335:40: error: invalid use of undefined type ‘struct vdso_data’ 335 | tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:335:56: error: invalid use of undefined type ‘const struct vdso_data’ 335 | tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:336:36: error: invalid use of undefined type ‘struct vdso_data’ 336 | tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:336:52: error: invalid use of undefined type ‘const struct vdso_data’ 336 | tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_gettimeofday’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:345:42: error: passing argument 1 of ‘__cvdso_gettimeofday_data’ makes pointer from integer without a cast [-Wint-conversion] 345 | return __cvdso_gettimeofday_data(__arch_get_vdso_data(), tv, tz); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:316:51: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 316 | __cvdso_gettimeofday_data(const struct vdso_data *vd, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:350:32: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 350 | __cvdso_time_data(const struct vdso_data *vd, __kernel_old_time_t *time) | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_time_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:355:15: error: invalid use of undefined type ‘const struct vdso_data’ 355 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:356:20: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 356 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_time’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:368:34: error: passing argument 1 of ‘__cvdso_time_data’ makes pointer from integer without a cast [-Wint-conversion] 368 | return __cvdso_time_data(__arch_get_vdso_data(), time); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:350:43: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 350 | __cvdso_time_data(const struct vdso_data *vd, __kernel_old_time_t *time) | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:46: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_common’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:385:15: error: invalid use of undefined type ‘const struct vdso_data’ 385 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:386:20: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 386 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:415:44: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 415 | int __cvdso_clock_getres_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:418:47: error: passing argument 1 of ‘__cvdso_clock_getres_common’ from incompatible pointer type [-Wincompatible-pointer-types] 418 | int ret = __cvdso_clock_getres_common(vd, clock, res); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:57: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:428:42: error: passing argument 1 of ‘__cvdso_clock_getres_data’ makes pointer from integer without a cast [-Wint-conversion] 428 | return __cvdso_clock_getres_data(__arch_get_vdso_data(), clock, res); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:415:55: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 415 | int __cvdso_clock_getres_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:433:47: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 433 | __cvdso_clock_getres_time32_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_time32_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:439:43: error: passing argument 1 of ‘__cvdso_clock_getres_common’ from incompatible pointer type [-Wincompatible-pointer-types] 439 | ret = __cvdso_clock_getres_common(vd, clock, &ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:57: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_time32’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:454:49: error: passing argument 1 of ‘__cvdso_clock_getres_time32_data’ makes pointer from integer without a cast [-Wint-conversion] 454 | return __cvdso_clock_getres_time32_data(__arch_get_vdso_data(), | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:433:58: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 433 | __cvdso_clock_getres_time32_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ cc1: all warnings being treated as errors make[6]: *** [scripts/Makefile.build:289: arch/x86/entry/vdso/vdso32/vclock_gettime.o] Error 1 make[5]: *** [scripts/Makefile.build:546: arch/x86/entry/vdso/vdso32] Error 2 make[5]: *** Waiting for unfinished jobs.... In file included from ./arch/x86/entry/vdso/vdso64/../common/vclock_gettime.c:16, from arch/x86/entry/vdso/vdso64/vclock_gettime.c:1: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:72:56: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 72 | static __always_inline int do_hres_timens(const struct vdso_data *vdns, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_hres_timens’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:75:49: error: invalid use of undefined type ‘const struct vdso_data’ 75 | const struct timens_offset *offs = &vdns->offset[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:82:19: error: invalid use of undefined type ‘struct vdso_data’ 82 | vd = vdns - (clk == CLOCK_MONOTONIC_RAW ? CS_RAW : CS_HRES_COARSE); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:83:14: error: implicit declaration of function ‘__arch_get_timens_vdso_data’ [-Wimplicit-function-declaration] 83 | vd = __arch_get_timens_vdso_data(vd); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:83:12: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 83 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:85:25: error: invalid use of undefined type ‘struct vdso_data’ 85 | vd = &vd[CS_HRES_COARSE]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:87:25: error: invalid use of undefined type ‘struct vdso_data’ 87 | vd = &vd[CS_RAW]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:88:22: error: invalid use of undefined type ‘const struct vdso_data’ 88 | vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:91:39: error: passing argument 1 of ‘vdso_read_begin’ from incompatible pointer type [-Wincompatible-pointer-types] 91 | seq = vdso_read_begin(vd); | ^~ | | | const struct vdso_data * In file included from ./arch/x86/include/asm/vgtod.h:13, from ./arch/x86/include/asm/vdso/gettimeofday.h:16, from ./include/vdso/datapage.h:196, from ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:5: ./include/vdso/helpers.h:10:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 10 | static __always_inline u32 vdso_read_begin(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ In file included from ./include/linux/export.h:5, from ./include/linux/linkage.h:7, from ./arch/x86/include/asm/cache.h:5, from ./include/vdso/cache.h:5, from ./include/linux/cache.h:6, from ./include/linux/time.h:5, from ./arch/x86/entry/vdso/vdso64/../common/vclock_gettime.c:11: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:93:51: error: passing argument 1 of ‘arch_vdso_clocksource_ok’ from incompatible pointer type [-Wincompatible-pointer-types] 93 | if (unlikely(!vdso_clocksource_ok(vd))) | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./arch/x86/include/asm/vdso/gettimeofday.h:172:70: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 172 | static inline bool arch_vdso_clocksource_ok(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:96:50: error: invalid use of undefined type ‘const struct vdso_data’ 96 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:96:64: error: passing argument 2 of ‘__arch_get_hw_counter’ from incompatible pointer type [-Wincompatible-pointer-types] 96 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:147:70: note: expected ‘const struct vdso_time_data *’ but argument is of type ‘const struct vdso_data *’ 147 | const struct vdso_time_data *vd) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:99:35: error: passing argument 1 of ‘vdso_calc_ns’ from incompatible pointer type [-Wincompatible-pointer-types] 99 | ns = vdso_calc_ns(vd, cycles, vdso_ts->nsec); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:211:66: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 211 | static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:101:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 101 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:49: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_hres’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:133:51: error: invalid use of undefined type ‘const struct vdso_data’ 133 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ././include/linux/compiler_types.h:684:9: note: in expansion of macro ‘__compiletime_assert’ 684 | __compiletime_assert(condition, msg, prefix, suffix) | ^~~~~~~~~~~~~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/asm-generic/rwonce.h:44:43: note: in expansion of macro ‘__unqual_scalar_typeof’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^~~~~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:52: error: invalid use of undefined type ‘const struct vdso_data’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~ ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:153:40: note: in expansion of macro ‘READ_ONCE’ 153 | while (unlikely((seq = READ_ONCE(vd->seq)) & 1)) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:155:31: error: invalid use of undefined type ‘const struct vdso_data’ 155 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:156:55: error: passing argument 1 of ‘do_hres_timens’ from incompatible pointer type [-Wincompatible-pointer-types] 156 | return do_hres_timens(vd, clk, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:72:67: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 72 | static __always_inline int do_hres_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:161:51: error: passing argument 1 of ‘arch_vdso_clocksource_ok’ from incompatible pointer type [-Wincompatible-pointer-types] 161 | if (unlikely(!vdso_clocksource_ok(vd))) | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./arch/x86/include/asm/vdso/gettimeofday.h:172:70: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 172 | static inline bool arch_vdso_clocksource_ok(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:164:50: error: invalid use of undefined type ‘const struct vdso_data’ 164 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:164:64: error: passing argument 2 of ‘__arch_get_hw_counter’ from incompatible pointer type [-Wincompatible-pointer-types] 164 | cycles = __arch_get_hw_counter(vd->clock_mode, vd); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:147:70: note: expected ‘const struct vdso_time_data *’ but argument is of type ‘const struct vdso_data *’ 147 | const struct vdso_time_data *vd) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:167:35: error: passing argument 1 of ‘vdso_calc_ns’ from incompatible pointer type [-Wincompatible-pointer-types] 167 | ns = vdso_calc_ns(vd, cycles, vdso_ts->nsec); | ^~ | | | const struct vdso_data * ./arch/x86/include/asm/vdso/gettimeofday.h:211:66: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 211 | static __always_inline u64 vdso_calc_ns(const struct vdso_clock *vc, u64 cycles, u64 base) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:169:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 169 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:58: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_coarse_timens’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:185:38: error: initialization of ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 185 | const struct vdso_data *vd = __arch_get_timens_vdso_data(vdns); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:186:51: error: invalid use of undefined type ‘const struct vdso_data’ 186 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:187:49: error: invalid use of undefined type ‘const struct vdso_data’ 187 | const struct timens_offset *offs = &vdns->offset[clk]; | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:193:39: error: passing argument 1 of ‘vdso_read_begin’ from incompatible pointer type [-Wincompatible-pointer-types] 193 | seq = vdso_read_begin(vd); | ^~ | | | const struct vdso_data * ./include/vdso/helpers.h:10:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 10 | static __always_inline u32 vdso_read_begin(const struct vdso_clock *vc) | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:196:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 196 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:85: error: parameter ‘clk’ set but not used [-Werror=unused-but-set-parameter] 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~^~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:218:51: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 218 | static __always_inline int do_coarse(const struct vdso_data *vd, clockid_t clk, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘do_coarse’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:221:51: error: invalid use of undefined type ‘const struct vdso_data’ 221 | const struct vdso_timestamp *vdso_ts = &vd->basetime[clk]; | ^~ In file included from : ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ In file included from ./arch/x86/include/generated/asm/rwonce.h:1, from ./include/linux/compiler.h:372: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:43: error: invalid use of undefined type ‘const struct vdso_data’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:229:31: note: in expansion of macro ‘READ_ONCE’ 229 | while ((seq = READ_ONCE(vd->seq)) & 1) { | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:231:31: error: invalid use of undefined type ‘const struct vdso_data’ 231 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:232:57: error: passing argument 1 of ‘do_coarse_timens’ from incompatible pointer type [-Wincompatible-pointer-types] 232 | return do_coarse_timens(vd, clk, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:182:69: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 182 | static __always_inline int do_coarse_timens(const struct vdso_data *vdns, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:239:43: error: passing argument 1 of ‘vdso_read_retry’ from incompatible pointer type [-Wincompatible-pointer-types] 239 | } while (unlikely(vdso_read_retry(vd, seq))); | ^~ | | | const struct vdso_data * ./include/linux/compiler.h:77:45: note: in definition of macro ‘unlikely’ 77 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ ./include/vdso/helpers.h:21:69: note: expected ‘const struct vdso_clock *’ but argument is of type ‘const struct vdso_data *’ 21 | static __always_inline u32 vdso_read_retry(const struct vdso_clock *vc, | ~~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:43: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime_common’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:260:25: error: invalid use of undefined type ‘struct vdso_data’ 260 | vd = &vd[CS_HRES_COARSE]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:262:37: error: invalid use of undefined type ‘struct vdso_data’ 262 | return do_coarse(&vd[CS_HRES_COARSE], clock, ts); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:262:34: error: passing argument 1 of ‘do_coarse’ from incompatible pointer type [-Wincompatible-pointer-types] 262 | return do_coarse(&vd[CS_HRES_COARSE], clock, ts); | ^~~~~~~~~~~~~~~~~~~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:218:62: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 218 | static __always_inline int do_coarse(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:264:25: error: invalid use of undefined type ‘struct vdso_data’ 264 | vd = &vd[CS_RAW]; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:268:24: error: passing argument 1 of ‘do_hres’ from incompatible pointer type [-Wincompatible-pointer-types] 268 | return do_hres(vd, clock, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:60: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:272:41: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 272 | __cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:275:48: error: passing argument 1 of ‘__cvdso_clock_gettime_common’ from incompatible pointer type [-Wincompatible-pointer-types] 275 | int ret = __cvdso_clock_gettime_common(vd, clock, ts); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:245:54: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 245 | __cvdso_clock_gettime_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_gettime’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:285:43: error: implicit declaration of function ‘__arch_get_vdso_data’ [-Wimplicit-function-declaration] 285 | return __cvdso_clock_gettime_data(__arch_get_vdso_data(), clock, ts); | ^~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:285:43: error: passing argument 1 of ‘__cvdso_clock_gettime_data’ makes pointer from integer without a cast [-Wint-conversion] 285 | return __cvdso_clock_gettime_data(__arch_get_vdso_data(), clock, ts); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:272:52: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 272 | __cvdso_clock_gettime_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:316:40: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 316 | __cvdso_gettimeofday_data(const struct vdso_data *vd, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_gettimeofday_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:323:32: error: invalid use of undefined type ‘struct vdso_data’ 323 | if (do_hres(&vd[CS_HRES_COARSE], CLOCK_REALTIME, &ts)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:323:29: error: passing argument 1 of ‘do_hres’ from incompatible pointer type [-Wincompatible-pointer-types] 323 | if (do_hres(&vd[CS_HRES_COARSE], CLOCK_REALTIME, &ts)) | ^~~~~~~~~~~~~~~~~~~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:130:60: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 130 | static __always_inline int do_hres(const struct vdso_data *vd, clockid_t clk, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:332:23: error: invalid use of undefined type ‘const struct vdso_data’ 332 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:333:28: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 333 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:335:40: error: invalid use of undefined type ‘struct vdso_data’ 335 | tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:335:56: error: invalid use of undefined type ‘const struct vdso_data’ 335 | tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:336:36: error: invalid use of undefined type ‘struct vdso_data’ 336 | tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:336:52: error: invalid use of undefined type ‘const struct vdso_data’ 336 | tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime; | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_gettimeofday’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:345:42: error: passing argument 1 of ‘__cvdso_gettimeofday_data’ makes pointer from integer without a cast [-Wint-conversion] 345 | return __cvdso_gettimeofday_data(__arch_get_vdso_data(), tv, tz); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:316:51: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 316 | __cvdso_gettimeofday_data(const struct vdso_data *vd, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:350:32: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 350 | __cvdso_time_data(const struct vdso_data *vd, __kernel_old_time_t *time) | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_time_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:355:15: error: invalid use of undefined type ‘const struct vdso_data’ 355 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:356:20: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 356 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:25: error: invalid use of undefined type ‘struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:41: error: invalid use of undefined type ‘const struct vdso_data’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:358:13: note: in expansion of macro ‘READ_ONCE’ 358 | t = READ_ONCE(vd[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_time’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:368:34: error: passing argument 1 of ‘__cvdso_time_data’ makes pointer from integer without a cast [-Wint-conversion] 368 | return __cvdso_time_data(__arch_get_vdso_data(), time); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:350:43: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 350 | __cvdso_time_data(const struct vdso_data *vd, __kernel_old_time_t *time) | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:46: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_common’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:385:15: error: invalid use of undefined type ‘const struct vdso_data’ 385 | vd->clock_mode == VDSO_CLOCKMODE_TIMENS) | ^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:386:20: error: assignment to ‘const struct vdso_data *’ from ‘int’ makes pointer from integer without a cast [-Wint-conversion] 386 | vd = __arch_get_timens_vdso_data(vd); | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:28: note: in expansion of macro ‘__native_word’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:676:23: note: in definition of macro ‘__compiletime_assert’ 676 | if (!(condition)) \ | ^~~~~~~~~ ././include/linux/compiler_types.h:696:9: note: in expansion of macro ‘_compiletime_assert’ 696 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__) | ^~~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:36:9: note: in expansion of macro ‘compiletime_assert’ 36 | compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long), \ | ^~~~~~~~~~~~~~~~~~ ./include/asm-generic/rwonce.h:49:9: note: in expansion of macro ‘compiletime_assert_rwonce_type’ 49 | compiletime_assert_rwonce_type(x); \ | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ././include/linux/compiler_types.h:632:53: note: in definition of macro ‘__unqual_scalar_typeof’ 632 | #define __unqual_scalar_typeof(x) __typeof_unqual__(x) | ^ ./include/asm-generic/rwonce.h:50:9: note: in expansion of macro ‘__READ_ONCE’ 50 | __READ_ONCE(x); \ | ^~~~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:34: error: invalid use of undefined type ‘struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:50: error: invalid use of undefined type ‘const struct vdso_data’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^ ./include/asm-generic/rwonce.h:44:73: note: in definition of macro ‘__READ_ONCE’ 44 | #define __READ_ONCE(x) (*(const volatile __unqual_scalar_typeof(x) *)&(x)) | ^ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:397:22: note: in expansion of macro ‘READ_ONCE’ 397 | ns = READ_ONCE(vd[CS_HRES_COARSE].hrtimer_res); | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: At top level: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:415:44: error: ‘struct vdso_data’ declared inside parameter list will not be visible outside of this definition or declaration [-Werror] 415 | int __cvdso_clock_getres_data(const struct vdso_data *vd, clockid_t clock, | ^~~~~~~~~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres_data’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:418:47: error: passing argument 1 of ‘__cvdso_clock_getres_common’ from incompatible pointer type [-Wincompatible-pointer-types] 418 | int ret = __cvdso_clock_getres_common(vd, clock, res); | ^~ | | | const struct vdso_data * ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:374:57: note: expected ‘const struct vdso_data *’ but argument is of type ‘const struct vdso_data *’ 374 | int __cvdso_clock_getres_common(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ ./arch/x86/include/../../../../lib/vdso/gettimeofday.c: In function ‘__cvdso_clock_getres’: ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:428:42: error: passing argument 1 of ‘__cvdso_clock_getres_data’ makes pointer from integer without a cast [-Wint-conversion] 428 | return __cvdso_clock_getres_data(__arch_get_vdso_data(), clock, res); | ^~~~~~~~~~~~~~~~~~~~~~ | | | int ./arch/x86/include/../../../../lib/vdso/gettimeofday.c:415:55: note: expected ‘const struct vdso_data *’ but argument is of type ‘int’ 415 | int __cvdso_clock_getres_data(const struct vdso_data *vd, clockid_t clock, | ~~~~~~~~~~~~~~~~~~~~~~~~^~ cc1: all warnings being treated as errors make[6]: *** [scripts/Makefile.build:289: arch/x86/entry/vdso/vdso64/vclock_gettime.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [scripts/Makefile.build:546: arch/x86/entry/vdso/vdso64] Error 2 make[4]: *** [scripts/Makefile.build:546: arch/x86/entry/vdso] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [scripts/Makefile.build:546: arch/x86/entry] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [scripts/Makefile.build:546: arch/x86] Error 2 make[1]: *** [/srv/vmksft/testing/wt-21/Makefile:2092: .] Error 2 make: *** [Makefile:248: __sub-make] Error 2