lstat
=====

POSIX specification:
 https://pubs.opengroup.org/onlinepubs/9699919799/functions/lstat.html

Gnulib module: lstat

Portability problems fixed by Gnulib:

  * On platforms where off_t is a 32-bit type, lstat may not correctly report the size of files or block devices larger than 2 GB. (Cf. AC_SYS_LARGEFILE.)

  * On Linux/x86 and Linux/x86_64, applications compiled in 32-bit mode cannot access files that happen to have a 64-bit inode number.  This can occur with file systems such as XFS (typically on large disks) and NFS. (Cf. AC_SYS_LARGEFILE.)

  * For symlinks, when the argument ends in a slash, some platforms don't dereference the argument: Solaris 9.

  * On some platforms, lstat("file/",buf) succeeds instead of failing with ENOTDIR. macOS 11.1, Solaris 9.

  * On Solaris 11.4, when this function yields a timestamp with a nonpositive tv_sec value, tv_nsec might be in the range -1000000000..-1, representing a negative nanoseconds offset from tv_sec.

  * On Windows platforms (excluding Cygwin), symlinks are not supported, so lstat does not exist.

Portability problems not fixed by Gnulib:

  * See sys/stat.h, for general portability problems with struct stat.