From owner-freebsd-ppc@freebsd.org Tue Jun 6 02:50:07 2017 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9BD3ABD334C for ; Tue, 6 Jun 2017 02:50:07 +0000 (UTC) (envelope-from chmeeedalf@gmail.com) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 75E8C79517 for ; Tue, 6 Jun 2017 02:50:07 +0000 (UTC) (envelope-from chmeeedalf@gmail.com) Received: by mailman.ysv.freebsd.org (Postfix) id 754C5BD3342; Tue, 6 Jun 2017 02:50:07 +0000 (UTC) Delivered-To: ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 74F83BD3341 for ; Tue, 6 Jun 2017 02:50:07 +0000 (UTC) (envelope-from chmeeedalf@gmail.com) Received: from mail-qt0-x22c.google.com (mail-qt0-x22c.google.com [IPv6:2607:f8b0:400d:c0d::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 30BE279516 for ; Tue, 6 Jun 2017 02:50:07 +0000 (UTC) (envelope-from chmeeedalf@gmail.com) Received: by mail-qt0-x22c.google.com with SMTP id u19so55483207qta.3 for ; Mon, 05 Jun 2017 19:50:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=L84xCmHIVAd56FiPauv1Ddp0jw2XTRPgbZ6UyJEWi/0=; b=R0boi5DyBCTSiynp8XSK3CFi2DwM4+9hpD6JytB6ay8RHTKrPF1CGey1M6FcJ9ki4d AUaW/Xp8h28qMBQ+Z9k2R0/6zrGVZO6kaNn69tMzXweo4A5AhfYflNkNQ7uLDAFfndrt Wy2lfX1feOMtwIQNgmAp8ARpLOiGNady9vot5UM2lFywGNmle6RSy+BcZYKII8WvkpV5 Knx/WoULxSs3Jdqg7wbIgaIrQ8k86TKGoLsQ8PE48QjEP+otJKFajsrF1c64UEmPwWUT GfUO5wydwEQUyk5D2MEGPNpsKJdYdukgOGBsEND0kbra3OFkM3+sv82e4EpA1Bg+xQsY Pg4A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=L84xCmHIVAd56FiPauv1Ddp0jw2XTRPgbZ6UyJEWi/0=; b=IkfQVNaXE4JGGe+l676lDSXQkr0VlUweUqP3VR1wlCjY0xI58ldekJqB5XM1Md18IF qllN8bAmFgaKGFsgjLMgU7yhXSSvwWuhXcVoEgZQRjuJAfnNDxuLqQGlKJ6PzyxqB5sG o1MFWJVFH8eGdq8NEYy7g2h6dQ5VWsG1i/tQsV8+LwsKuMmi2dMaG9YTbrb/rhD3Er74 BP4l3cOvg86jwcz0L/oleZHEEsngpz7bexTBAImB6jq6aW2MKfIhcA9R/WarQo0fXy/6 3gS3ersmbCTdv211ksnM1FZ6TucHW7EmCaKZoou2KcLvjHFhfWuSzS/0gRHJwOwVicDV cJMg== X-Gm-Message-State: AKS2vOymiqlTIKOSMS/YTrs+JFktcU/Y0+D29cLGkVAoj1IXtux4SV+U nSjZIGLsg+ERldQ06rVdE0HoMDEOvA== X-Received: by 10.55.115.69 with SMTP id o66mr26030823qkc.120.1496717405854; Mon, 05 Jun 2017 19:50:05 -0700 (PDT) MIME-Version: 1.0 Sender: chmeeedalf@gmail.com Received: by 10.12.168.154 with HTTP; Mon, 5 Jun 2017 19:50:05 -0700 (PDT) In-Reply-To: References: From: Justin Hibbits Date: Mon, 5 Jun 2017 21:50:05 -0500 X-Google-Sender-Auth: X5bkooIug1k_95mfk963qD38Mtw Message-ID: Subject: Re: 64-bit time_t on 32-bit powerpc To: Mark Millard Cc: "ppc@freebsd.org" Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 06 Jun 2017 02:50:07 -0000 On Monday, June 5, 2017, Mark Millard wrote: > > On 2017-Jun-5, at 1:54 PM, Justin Hibbits > wrote: > > > On Fri, Jun 2, 2017 at 11:45 PM, Justin Hibbits > 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. > Correct. You cannot migrate to 64-bit time_t with a live system update anyway, it's an ABI/KBI/syscall change, so you have to perform a two-stage upgrade with this. You can migrate along with the ino64 change, but you have to use an alternate root regardless of any other changes made. > > > 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. > As promised, you can find the updated patch at https://people.freebsd.org/~jhibbits/time_t_32.diff - Justin