| Age | Commit message (Collapse) | Author | 
|---|
|  | To obtain correct `st_atim`, `st_mtim` and `st_ctim` fields
we need to use statx() syscall and then convert the data from the kernel
to the regular stat structure.
Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com> | 
|  | Fixes those two warnings:
In file included from <command-line>:
libc/sysdeps/linux/common/openat64.c:18:33: warning: 'openat64' alias between functions of incompatible types 'int(int,  const char *, int,  ...)' and 'int(int,  const char *, int,  mode_t)' {aka 'int(int,  const char *, int,  unsigned int)'} [-Wattribute-alias=]
   18 | strong_alias_untyped(__openat64,openat64)
      |                                 ^~~~~~~~
./include/libc-symbols.h:177:31: note: in definition of macro '_strong_alias_untyped'
  177 |   extern __typeof (aliasname) aliasname __attribute__ ((alias (#name))) __attribute_copy__ (name);
      |                               ^~~~~~~~~
libc/sysdeps/linux/common/openat64.c:18:1: note: in expansion of macro 'strong_alias_untyped'
   18 | strong_alias_untyped(__openat64,openat64)
      | ^~~~~~~~~~~~~~~~~~~~
libc/sysdeps/linux/common/openat64.c:14:12: note: aliased declaration here
   14 | static int __openat64(int fd, const char *file, int oflag, mode_t mode)
      |            ^~~~~~~~~~
and
  CC libc/sysdeps/linux/common/stat.os
libc/sysdeps/linux/common/stat.c: In function 'stat':
libc/sysdeps/linux/common/stat.c:28:40: warning: passing argument 3 of 'fstatat64' from incompatible pointer type [-Wincompatible-pointer-types]
   28 |  return fstatat64(AT_FDCWD, file_name, buf, 0);
      |                                        ^~~
      |                                        |
      |                                        struct stat *
In file included from libc/sysdeps/linux/common/stat.c:11:
./include/sys/stat.h:258:35: note: expected 'struct stat64 * restrict' but argument is of type 'struct stat *'
  258 |         struct stat64 *__restrict __buf, int __flag)
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
Signed-off-by: Yann Sionneau <ysionneau@kalray.eu> | 
|  | Similar to glibc commit
https://sourceware.org/git/?p=glibc.git;a=commit;h=6bbfc5c09fc5b5e3d4a0cddbbd4e2e457767dae7
we need to handle Linux kernel change, which removed stat64 family from default syscall set.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Waldemar Brodkorb <wbrodkorb@conet.de> | 
|  | Otherwise it breaks mips64 n64.
Should be used for aarch64/tilegx only. | 
|  |  | 
|  | Ported over from GNU C Library and runtime tested in Qemu. | 
|  |  | 
|  | Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> | 
|  | This is needed for stat'ing loop devices > 255
since otherwise kernel returns EOVERFLOW becasue
it needs st_rdev/st_dev to be larger than 16bits but
in kernel it uses __old_kernel_stat for stat
syscall which has st_rdev/st_dev as unsigned short
Add a testcase
Signed-off-by: Khem Raj <raj.khem@gmail.com> | 
|  |  | 
|  | Appears to build fine (several .configs tried) | 
|  |  | 
|  |  | 
|  |  | 
|  | applications stop using _syscall#() and use syscall() instead.  Cleanup
internal handling of syscall includes to use the correct header file. | 
|  |  | 
|  | see what libpthread will do ... | 
|  |  | 
|  |  | 
|  | missing headers, other jump relocs removed | 
|  | sys/stat.h rather than bits/stat.h | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  |  | 
|  | -Erik |