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

Reply via email to