Am Fri, 28 Feb 2025 15:06:33 +0100 schrieb Alejandro Colomar <alx@xxxxxxxxxx>: > It seems your suspicion was right. Someone decided to borrow some time, > according to the commit message that changed that code in glibc: > We should document the change. If anyone wants to send a patch, I'll > review it. I won't write it myself, because I'm not an expert in > compatibility code between 32 and 64 bits, so I prefer if someone more > expert makes sure the documentation is correct. Florian? Seems to be the best qualified. As a user, a question for me is if the specific macros deciding for the 32 bit field should be in the man page or not, as they seem to be an implementation detail that one cannot rely on. I guess I need to do a check like sizeof(time_t) > sizeof(tv_sec)? And then just assume unsigned type? It is a hack, I understand. So any use will be hacky. > If you show some code, we can have a look at it. :) Not much to show. It is semi-abandoned code in simpleinit-msb that called time() directly on tv_sec. I switched that to gettimeofday() and kept the same level of error handling … which is none. My function detects if the assignment to tv_sec changed the time_t value and returns an error, but the caller code is inside void functions and doesn't have an error handling path. The effect will be broken lastlog entries in a few decades. The unsigned int extension moves that a bit further back. Alrighty then, Thomas -- Dr. Thomas Orgis HPC @ Universität Hamburg