Re: [PATCH 01/25] asm-generic: Change time_t and clock_t to 64 bit

James Hogan
2014-05-13T09:50:44Z

Hi,

On 13/05/14 10:32, Ley Foon Tan wrote:
> On Tue, May 13, 2014 at 5:15 PM, James Hogan <james.hogan@imgtec.com> wrote:
>> On 13 May 2014 10:02, Ley Foon Tan <lftan@altera.com> wrote:
>>> /*
>>> + * Use 64 bit time_t and clock_t as default. 32 bit users can provide an override to
>>> + * define these as "long" if needed.
>>> + */
>>> +#ifndef __kernel_time_t
>>> +typedef long long __kernel_time_t;
>>> +#endif
>>> +
>>> +#ifndef __kernel_clock_t
>>> +typedef long long __kernel_clock_t;
>>> +#endif
>>
>> I think having this as the first patch in the series will break
>> bisection for existing 32-bit arches. This needs to be done in such a
>> way that at no intermediate commit are __kernel_time_t or
>> __kernel_clock_t the wrong size for existing arches, e.g. by having a
>> first patch which makes the typedefs conditional but leaves them as
>> __kernel_long_t, and a final patch that changes the default after all
>> the arches have got their overrides in place.
>
> Your suggestion is something as below?

Yeh, although I like Thomas' idea better, then each existing 32-bit arch
can just select the Kconfig symbol to get the smaller type.

IIRC Kconfig won't even complain if you select a symbol which doesn't
exist yet.

Cheers
James

>
> First patch:
> #ifndef __kernel_time_t
> typedef __kernel_long_t __kernel_time_t;
> #endif
>
> Last patch:
> #ifndef __kernel_time_t
> typedef long long __kernel_time_t;
> #endif
>
> Ley Foon
>