diff -up ./samples/bpf/Makefile.t4 ./samples/bpf/Makefile --- ./samples/bpf/Makefile.t4 2026-02-01 08:09:53.000000000 +0900 +++ ./samples/bpf/Makefile 2026-05-28 20:16:52.227141384 +0900 @@ -219,6 +219,10 @@ endif endif endif +ifeq ($(ARCH),i386) + BPF_EXTRA_CFLAGS += -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 +endif + # Trick to allow make to be run from this directory all: $(MAKE) -C ../../ M=$(CURDIR) BPF_SAMPLES_PATH=$(CURDIR) diff -up ./tools/bpf/Makefile.t4 ./tools/bpf/Makefile --- ./tools/bpf/Makefile.t4 2026-02-01 08:09:53.000000000 +0900 +++ ./tools/bpf/Makefile 2026-05-28 20:16:52.242141408 +0900 @@ -12,6 +12,8 @@ CFLAGS += -Wall -O2 CFLAGS += -D__EXPORTED_HEADERS__ -I$(srctree)/tools/include/uapi \ -I$(srctree)/tools/include +CFLAGS += -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 + # This will work when bpf is built in tools env. where srctree # isn't set and when invoked from selftests build, where srctree # is set to ".". building_out_of_srctree is undefined for in srctree diff -up ./tools/bpf/bpftool/Makefile.t4 ./tools/bpf/bpftool/Makefile --- ./tools/bpf/bpftool/Makefile.t4 2026-02-01 08:09:53.000000000 +0900 +++ ./tools/bpf/bpftool/Makefile 2026-05-28 20:16:52.253141426 +0900 @@ -73,6 +73,7 @@ CFLAGS += -DPACKAGE='"bpftool"' -D__EXPO -I$(srctree)/kernel/bpf/ \ -I$(srctree)/tools/include \ -I$(srctree)/tools/include/uapi +CFLAGS += -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 ifneq ($(BPFTOOL_VERSION),) CFLAGS += -DBPFTOOL_VERSION='"$(BPFTOOL_VERSION)"' endif diff -up ./tools/lib/api/Makefile.t4 ./tools/lib/api/Makefile --- ./tools/lib/api/Makefile.t4 2026-02-01 08:09:53.000000000 +0900 +++ ./tools/lib/api/Makefile 2026-05-28 20:16:52.265141445 +0900 @@ -46,6 +46,7 @@ endif CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 CFLAGS += -I$(srctree)/tools/lib/api CFLAGS += -I$(srctree)/tools/include +CFLAGS += -D_TIME_BITS=64 RM = rm -f diff -up ./tools/lib/bpf/Makefile.t4 ./tools/lib/bpf/Makefile --- ./tools/lib/bpf/Makefile.t4 2026-02-01 08:09:53.000000000 +0900 +++ ./tools/lib/bpf/Makefile 2026-05-28 20:16:52.272141457 +0900 @@ -85,6 +85,9 @@ override CFLAGS += $(INCLUDES) override CFLAGS += -fvisibility=hidden override CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 override CFLAGS += $(CLANG_CROSS_FLAGS) +#ifeq ($(ARCH),i386) +override CFLAGS += -D_TIME_BITS=64 +#endif # flags specific for shared library SHLIB_FLAGS := -DSHARED -fPIC diff -up ./tools/lib/subcmd/Makefile.t4 ./tools/lib/subcmd/Makefile --- ./tools/lib/subcmd/Makefile.t4 2026-02-01 08:09:53.000000000 +0900 +++ ./tools/lib/subcmd/Makefile 2026-05-28 20:16:52.282141473 +0900 @@ -48,6 +48,7 @@ ifneq ($(WERROR),0) endif CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE +CFLAGS += -D_TIME_BITS=64 CFLAGS += -I$(srctree)/tools/include/ diff -up ./tools/lib/symbol/Makefile.t4 ./tools/lib/symbol/Makefile --- ./tools/lib/symbol/Makefile.t4 2026-02-01 08:09:53.000000000 +0900 +++ ./tools/lib/symbol/Makefile 2026-05-28 20:16:52.300141502 +0900 @@ -44,6 +44,7 @@ ifneq ($(WERROR),0) endif CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 +CFLAGS += -D_TIME_BITS=64 CFLAGS += -I$(srctree)/tools/lib CFLAGS += -I$(srctree)/tools/include diff -up ./tools/perf/Makefile.config.t4 ./tools/perf/Makefile.config --- ./tools/perf/Makefile.config.t4 2026-02-01 08:09:53.000000000 +0900 +++ ./tools/perf/Makefile.config 2026-05-28 20:16:52.319141532 +0900 @@ -386,6 +386,7 @@ INC_FLAGS += -I$(src-perf)/util INC_FLAGS += -I$(src-perf) CORE_CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE +CORE_CFLAGS += -D_TIME_BITS=64 CFLAGS += $(CORE_CFLAGS) $(INC_FLAGS) CXXFLAGS += $(INC_FLAGS) diff -up ./tools/testing/selftests/bpf/Makefile.t4 ./tools/testing/selftests/bpf/Makefile --- ./tools/testing/selftests/bpf/Makefile.t4 2026-02-01 08:09:53.000000000 +0900 +++ ./tools/testing/selftests/bpf/Makefile 2026-05-28 20:16:52.332141553 +0900 @@ -61,6 +61,10 @@ ifneq ($(LLVM),) # Silence some warnings when compiled with clang CFLAGS += -Wno-unused-command-line-argument endif +# y2038 on 32bit +##ifeq ($(ARCH),i386) +CFLAGS += -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64 +##endif # Check whether bpf cpu=v4 is supported or not by clang ifneq ($(shell $(CLANG) --target=bpf -mcpu=help 2>&1 | grep 'v4'),) @@ -305,6 +309,7 @@ endif $(OUTPUT)/runqslower: $(BPFOBJ) | $(DEFAULT_BPFTOOL) $(RUNQSLOWER_OUTPUT) $(Q)$(MAKE) $(submake_extras) -C $(TOOLSDIR)/bpf/runqslower \ + CFLAGS="$(CFLAGS)" \ OUTPUT=$(RUNQSLOWER_OUTPUT) VMLINUX_BTF=$(VMLINUX_BTF) \ BPFTOOL_OUTPUT=$(HOST_BUILD_DIR)/bpftool/ \ BPFOBJ_OUTPUT=$(BUILD_DIR)/libbpf/ \