On 2022-09-29 09:47 +0200, Arnd Bergmann wrote:
> On Thu, Sep 29, 2022, at 2:14 AM, Wookey wrote:
> 
> I think the problem with using dpkg-buildflags is that it breaks
> any user building their own applications against Debian provided
> libraries, unless they remember to set the flag manually.

Yes, but I'm talking about how to do a test rebuild. We set the
dpkg-buildflags config to always use -D_TIME_BITS=64 in the build
chroot, and build stuff.

For the actual new arch we woud set this as a gcc default for the
architecture as it's a significant part of the ABI. (and someone would
have to run gcc with -D_TIME_BITS=32 to explicitly build something for
the old abi (or use the <armhf-triplet> gcc).

> The flag is -D_TIME_BITS=64, and this can be set unconditionally
> everywhere if that helps. Note that this implies -D_FILE_OFFSET_BITS=64,
> i.e. you can't have 64-bit time_t without 64-bit off_t/ino_t/...
> 
> As far as I understand, there are still a few libraries in Debian
> that are built with 32-bit off_t in order to not break the traditional
> ABI,

> So with time64, there will be an ABI change both for the few
> libraries that are currently using 32-bit off_t in addition to
> those that use time_t/timeval/timespec
> 
> This is also going to be hard for non-C languages with C bindings
> (python, rust, ...) that have structure types hardcoded.

Hmm. Yes that could be interesting.

Are you aware of anyone else having written up efforts around this
(e.g. if the arch people have changed it already they presumably found
a load of the things one might trip over).

Wookey
-- 
Principal hats:  Debian, Wookware, ARM
http://wookware.org/

Attachment: signature.asc
Description: PGP signature

Reply via email to