Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Jun 2017 15:58:56 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Justin Hibbits <jhibbits@freebsd.org>
Cc:        ppc@freebsd.org
Subject:   Re: 64-bit time_t on 32-bit powerpc
Message-ID:  <B5D57905-7DCB-450A-B414-D27D9D979EDD@dsl-only.net>
In-Reply-To: <CAHSQbTDbQaK2k_q0OkpoCEwQF1v-XRrA8kg%2BPzYyhBY=UTQExQ@mail.gmail.com>
References:  <CAHSQbTC9UgCnpbpMj5dukY%2BGMwOpDy5FQACHGmb8EmU%2BdyQOuw@mail.gmail.com> <CAHSQbTDbQaK2k_q0OkpoCEwQF1v-XRrA8kg%2BPzYyhBY=UTQExQ@mail.gmail.com>

index | next in thread | previous in thread | raw e-mail


On 2017-Jun-5, at 1:54 PM, Justin Hibbits <jhibbits@freebsd.org> wrote:

> On Fri, Jun 2, 2017 at 11:45 PM, Justin Hibbits <jhibbits@freebsd.org> wrote:
>> Calling all powerpc(32) users,
>> 
>> Attached is a patch which changes the size of time_t from 32-bit to 64-bit
>> on powerpc.  ARM and MIPS already use 64-bit time_t, the only other holdout
>> is i386, which cannot be changed.  I want to get this in soon so there's
>> plenty of soak time before 12 is branched.  It works well enough for my
>> cases, but I want others to poke, prod, and try to break it.  Especially try
>> your favorite ports builds, and make sure things still a) build, and b) work
>> as expected.
>> 
>> Almost forgot, too... With powerpc64 users, the compat32 has been updated as
>> well, obviously.  So, some testing of that is needed, too.
>> 
>> - Justin
> 
> I was just informed I forgot a very crucial part of the patch -- the
> update to UPDATING:
> 
> 20170612:
>        The FreeBSD/powerpc platform now uses a 64-bit type for time_t.  This is
>        a very major incompatible change, so users of FreeBSD/powerpc must be
>        careful when performing source upgrades.  It is best to run 'make
>        installworld' from an alternate root system, either a live CD/memory
>        stick, or a temporary root partition.  Additionally, all ports must be
>        recompiled.
> 
> In short: Do _not_ try to reboot to the new kernel with existing
> userland.  Boot to an alternate userland and install from there.

What timing as far as live-update contexts go. . .

ino64 requires a new kernel boot with an old world still
in use: world must not have been updated first.

So it appears one should not try to jump from pre-ino64
to post-powerpc-64-bit-time_t in one step via a
live-system update sequence.

> Also, shortly after I sent out the patch, I realized I hadn't tested
> with TARGET_ARCH=powerpc64, which broke.  I'll send out an updated
> patch later tonight.


===
Mark Millard
markmi at dsl-only.net



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?B5D57905-7DCB-450A-B414-D27D9D979EDD>