Skip to content
  • Florian Bezdeka's avatar
    y2038: lib/cobalt: Implement necessary wrappers for y2038 support · c2b88344
    Florian Bezdeka authored and Jan Kiszka's avatar Jan Kiszka committed
    COBALT_IMPL_TIME64():
      This macro is based on COBALT_IMPL() and will add the necessary
      __wrap_ function as weak symbol to the cobalt implementation
      (starting with __cobalt_) when y2038 support has been requested.
      This allows the usage of the __RT() macro in combination with
      y2038/time64 wrappers.
    
    COBALT_DECL_TIME64():
      This macro is based on COBALT_DECL() and allows the usage of __STD()
      in combination with y2038/time64 wrappers.
    
    Both macros will fall back to their basements if y2038 support was
    not requested.
    
    Examples, assuming code is located in application code:
      select():       will be redirected by glibc to __select64() when
                      y2038 support is requested. We additionally wrap the
                      __select64() function so __wrap___select64() will be
                      called - which is a weak symbol aliased to
                      __cobalt_select(). That allows users to overwrite
                      __wrap___sel...
    c2b88344