Hi, Dear Maintainers

I  met  the following compile failure  when I pass "-D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64" to build  32bit  dpdk.  The key command like:
gcc -m32  ...   -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64  ...  -o lib/librte_ethdev.a.p/ethdev_ethdev_trace_points.c.o -c ../git/lib/ethdev/ethdev_trace_points.c.

../git/lib/ethdev/ethdev_trace.h: In function 'rte_eth_trace_timesync_write_time':
../git/lib/eal/include/rte_common.h:498:55: error: size of unnamed array is negative
  498 | #define RTE_BUILD_BUG_ON(condition) ((void)sizeof(char[1 - 2*!!(condition)]))

[snip]
RTE_TRACE_POINT(
    rte_eth_trace_timesync_write_time,
    RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
        int ret),
    rte_trace_point_emit_u16(port_id);
    rte_trace_point_emit_size_t(time->tv_sec);
    rte_trace_point_emit_long(time->tv_nsec);
    rte_trace_point_emit_int(ret);
)
[snip]

In order to support Y2038,  "-D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64"  is passed,  the time->tv_sec is 64bit,  but size_t is 32bits,  so the error happend.
if I understand right,  maybe it is possible that  some  codes  will  assign  time->tv_sec to a size_t variable, so this check is meanningful.  Maybe what need to do
is make sure the whole project supports Y2038, avoid code similar like  assign  time->tv_sec to a size_t variable, and then change  rte_trace_point_emit_size_t(time->tv_sec);
to  like  rte_trace_point_emit_uint64_t(time->tv_sec);

Could you please help to check if my understanding is correct , and could you share if there is any plan to support Y2038?   Great Thanks!

Regards
Changqing