• 0 Posts
  • 541 Comments
Joined 1 year ago
cake
Cake day: June 23rd, 2023

help-circle

  • Your argument is to have 2 subtly incompatible abis and one day binaries magically break.

    You’re right it breaks c stdlib, but that’s literally the point, libc is broken by design, this is the fix.

    No program with time32_t will ever work after 2038, so any compiled that way are broken from compilation.

    You’re right that the length isn’t specified though, the issue is changing types for triplets silently has unfortunate side effects.

    If you really want to be clever, mangle the symbols for the functions that handle time so they encode time64 as appropriate, but doing it silently is begging for trouble.



  • This seems overblown, we’ve faced these things before.

    The straightforward path is adding new calls and structs and leaving the old code in place, then having tests that return -1 for time32_t and seeing what breaks.

    It’s not pretty, but this is life in the new epoch, gentoo doesn’t have it harder than anyone else except when they’re trying to rebuild while the transition is happening.

    I know nobody wants 2 apis, 1 deprecated, but this is an ancient design decision we have to live with, this is how we live with them.




  • Absolutely.

    They partly were, they’re just not given nearly the same attention and are often terribly outdated and less engineered.

    Also they aren’t tested as thoroughly, there was a call for hardware by the FreeBSD team not that long ago that I can’t find, they simply don’t have the same kind of resources.

    Most FreeBSD dev is focused on server hardware like for Netflix and its ilk, I don’t know many other people who use it as a daily driver.