On Tuesday 15 September 2015 10:08:01 Pingbo Wen wrote:
> > The change from (int) to (long) is not necessary here, because the 
> > nanoseconds
> > always fit in a 32bit int type.
> > 
> > However, the tv_sec variable is currently defined in a slightly awkward way,
> > and is 'long' on 64-bit architectures but 'long long' on 32-bit 
> > architectures.
> > 
> > This means you get a compile warning for a type mismatch on 64-bit compilers
> > that print a 'long' argument with %lld. The best workaround I've come up
> > with is to add a cast to 'long long' or 's64', which is defined as 'long 
> > long'
> > on all architectures.
> > 
> > To avoid problems like this, it's useful to build test with both 32-bit and
> > 64-bit compilers, and to list in the changelog text what kind of testing
> > you have done to verify the driver.
> 
> I didn’t notice that. It seems hp_sdc_rtc only available in m68k & hppa arch.
> I am still on the way to compile it correctly.

Ok. There are two options for this:

a) get a cross-compiler for the respective architectures. 
   https://www.kernel.org/pub/tools/crosstool/ has prebuilt binaries
   for most, otherwise use the scripts from
   http://git.infradead.org/users/segher/buildall.git to easily
   build your own.

b) temporarily change Kconfig to not list a dependency on those architectures
   and build it for x86 or arm (whichever is easier) in both 32-bit and
   64-bit. Most of the time that works, but occasionally get you get
   dependencies on arch headers that are nontrivial to resolve.


        Arnd
_______________________________________________
Y2038 mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/y2038

Reply via email to