On Monday 16 November 2015 09:23:45 Alison Schofield wrote: > What is the correct set of compile tests needed for these y2038 changes? > > I've simply done 32 and 64 bit compiles and am concerned with what I may > be missing. > > Please point me to any relevant documentation.
I don't know of any good documentation for this, but there are a few common mistakes to watch out for: - If a file (or even part of the file) is protected by a Kconfig symbol, you have to first turn it on in Kconfig, otherwise you don't compile the code in question when you build the directory. I assume you've noticed this one already. - Some symbols have complex dependencies and need other things to be turned on first. This is particularly tricky if they depend on a specific CPU architecture. When that happens, you need a cross compiler from https://www.kernel.org/pub/tools/crosstool/files/bin/ to build the kernel, following the cross compilation documentation - In particular when converting time_t to time64_t, you might be introducing a 64-bit division on 32-bit architectures. This will not cause an error when compiling just the one driver you patched, but will cause a link error when you build the entire kernel and modules. To be sure, always run a plain 'make' rather than 'make drivers/subdir/' or similar. Arnd _______________________________________________ Y2038 mailing list [email protected] https://lists.linaro.org/mailman/listinfo/y2038
