[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ✘64-bit time_t on glibc 2.34 and up

From: Gary E. Miller
Subject: Re: ✘64-bit time_t on glibc 2.34 and up
Date: Sun, 15 Jan 2023 13:21:24 -0800

Yo Greg!

On Sun, 15 Jan 2023 09:42:06 -0500
Greg Troxel <> wrote:

> > You can always build bad .o.  But good practice is to build all .o
> > in a program or binary with the same setting.  Otherwise a huge
> > number of ways to fail.  That is why all gpsd c files start with:
> >
> > #include "../include/gpsd_config.h"  // must be before all includes
> >  
> I was asking about an installed library built one way, and a program
> built another.  It seems like they will have DT_NEEDED on two
> different libc versions, which will end up somewhere between erroring
> at start and UB.

Um, lost me.  The new _TIME_SIZE_BITS means only one libc is needed.
You keep thinking it needs two.

> How are you going to manage building gpsd to match the time_t size
> choice made in dbus and libusb?

Don't need to. dbus can use whatever time_t it wants, different from the
one gpsd uses, as long as time_t is not passed as a binary between the

gpsd does not pass binary time_t to either one.  Unless you can point
out somewhere I miised a bianry call?

gpsd passes dbus time as a double:

         DBUS_TYPE_DOUBLE, &dtime,

gpsd only uses libusb for the Garmin 18usb which only speaks native usd.
But the protocol is Garmin Binary.  No time_t anywhere.

> How is anyone else going to manage
> this in the world of individual compilation unit choice?

Linux has been doing this a long time.  Not my first choice, but
rare that glibc or Linus takes what I say seriously.  If you are sure
they are wrong, I'd love to watch you convince them the error of their
ways.  I'll get popcorn.

> The only
> paths I can see are
>   a distribution choosing a setting for all programs

Like all the BSDs.  Except, they don't always.

>   setting up two hierarchies of lib/bin for building each way

And yet, the folks at glibc disagree, at least as far as time_t.

For other things, yes, my Gentoo has many separate /usr/lib depending on
all sorts of things.  All installed at the same time, and it just works.
Close to a dozen on one of my hosts.  Could be much more.

So it can be done, is very frequently done, but is irrelevant to the
gpsd issue at hand.

Gary E. Miller Rellim 109 NW Wilmington Ave., Suite E, Bend, OR 97703  Tel:+1 541 382 8588

            Veritas liberabit vos. -- Quid est veritas?
    "If you can't measure it, you can't improve it." - Lord Kelvin

Attachment: pgpMgTg1505TE.pgp
Description: OpenPGP digital signature

reply via email to

[Prev in Thread] Current Thread [Next in Thread]