• sudoku
      link
      fedilink
      arrow-up
      4
      ·
      17 hours ago

      I believe they use 64 bit time even on 32 bit systems

      • 0x0
        link
        fedilink
        arrow-up
        3
        ·
        11 hours ago

        My 32-bit VM:

        type     : size (bytes)
        int      : 4
        long     : 4
        long long: 8
        double   : 8
        time_t   : 4
        float    : 4
        l double : 12
        int8_t   : 1	INT8_MAX  : 127
        int16_t  : 2	INT16_MAX : 32767
        int32t   : 4	INT32_MAX : 2147483647
        int64_t  : 8	INT64_MAX : 9223372036854775807
        uint8_t  : 1	UINT8_MAX : 255
        uint16_t : 2	UINT16_MAX: 65535
        uint32t  : 4	UINT32_MAX: 4294967295
        uint64_t : 8	UINT64_MAX: 18446744073709551615
        

        It does support 64-bit sizes, weirdly enough time_t is not one of them.

        • lengau@midwest.social
          link
          fedilink
          arrow-up
          2
          ·
          9 hours ago

          time_t will remain 32-bit to avoid breaking ABI compatibility. However, Linux on 32-bit platforms has a full set of syscalls that return time64_t values. I don’t know about other distros, but since 24.04 Ubuntu has had everything in its repositories using those calls.