On Wed, Sep 28, 2022, at 9:07 AM, Dominique MARTINET wrote: > Arnd Bergmann wrote on Wed, Sep 28, 2022 at 08:21:00AM +0200: > > Ugh, this is going to be a massive headache... > Other distributions I've worked with (e.g. nixos) have a wrapper for gcc > and clang that just enforce the flags they want the distro to be built > with -- I don't think debian has anything like that, would that be > easier to work with? My line of thinking is that there will only be a > single place to fix instead of configure/cmake/meson and all hand-made > build scripts that exist around here.
Passing the flags to the C compiler is not the issue here, this can be done in the gcc and clang packages directly by defining the right set of macros (with the minor annoyance that glibc itself expects to be built without those flags, but that again can obviously be solved). > Alternatively this would be delaying things even further to get a new > glibc version, but have a glibc build option that just makes this the > default and rebuild that debian repo with it? > afaik that's what musl has done in commit 38143339646a ("switch all > existing 32-bit archs to 64-bit time_t"): > https://git.musl-libc.org/cgit/musl/commit/?id=38143339646a4ccce8afe298c34467767c899f51 That is what I had proposed years ago when the glibc developers started their work, but this was rejected as they do not wan to change the default behavior for a given architecture, or make the ABI conditional based on a compile-time flag during compilation of the libc. Again, this is just an implementation detail for getting things running, the hard question that I want to postpone is what to do about having both types of armhf debian packages (time32 and time64) coexist on a single file system and instead focus on the actual bootstrapping to find all the packages that break just because of the time_t change. Arnd