mirror of
https://github.com/ziglang/zig.git
synced 2025-02-05 04:12:40 +00:00
glibc patch: get correct files compiled into libc_nonshared.a
The scope of libc_nonshared.a was greatly changed in glibc 2.33 and 2.34, but only the change from 2.34 was reflected so far. Glibc 2.33 finally switched to versioned symbols for stat functions, meaning that libc_nonshared.a no longer contains them since 2.33. Relevant files were therefore reverted to 2.32 versions and renamed accordingly. This commit also removes errno.c, which was probably added to libc_nonshared.a based on a wrong assumption that glibc/include/errno.h requires glibc/csu/errno.c. In reality errno.h should refer to __libc_errno (not to be confused with the public __errno_location), which should be imported from libc.so. The inclusion of errno.c resulted in wrong compile options as well; this commit fixes them as well.
This commit is contained in:
parent
fd8b50ca5c
commit
5293bdfe63
55
lib/libc/glibc/io/fstat-2.32.c
vendored
Normal file
55
lib/libc/glibc/io/fstat-2.32.c
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
#undef fstat
|
||||
#undef __fstat
|
||||
int
|
||||
attribute_hidden
|
||||
__fstat (int fd, struct stat *buf)
|
||||
{
|
||||
return __fxstat (_STAT_VER, fd, buf);
|
||||
}
|
||||
|
||||
weak_hidden_alias (__fstat, fstat)
|
52
lib/libc/glibc/io/fstat64-2.32.c
vendored
Normal file
52
lib/libc/glibc/io/fstat64-2.32.c
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
#undef fstat64
|
||||
int
|
||||
attribute_hidden
|
||||
fstat64 (int fd, struct stat64 *buf)
|
||||
{
|
||||
return __fxstat64 (_STAT_VER, fd, buf);
|
||||
}
|
52
lib/libc/glibc/io/fstatat-2.32.c
vendored
Normal file
52
lib/libc/glibc/io/fstatat-2.32.c
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
#undef fstatat
|
||||
int
|
||||
attribute_hidden
|
||||
fstatat (int fd, const char *file, struct stat *buf, int flag)
|
||||
{
|
||||
return __fxstatat (_STAT_VER, fd, file, buf, flag);
|
||||
}
|
52
lib/libc/glibc/io/fstatat64-2.32.c
vendored
Normal file
52
lib/libc/glibc/io/fstatat64-2.32.c
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
#undef fstatat64
|
||||
int
|
||||
attribute_hidden
|
||||
fstatat64 (int fd, const char *file, struct stat64 *buf, int flag)
|
||||
{
|
||||
return __fxstatat64 (_STAT_VER, fd, file, buf, flag);
|
||||
}
|
55
lib/libc/glibc/io/lstat-2.32.c
vendored
Normal file
55
lib/libc/glibc/io/lstat-2.32.c
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
#undef lstat
|
||||
#undef __lstat
|
||||
int
|
||||
attribute_hidden
|
||||
__lstat (const char *file, struct stat *buf)
|
||||
{
|
||||
return __lxstat (_STAT_VER, file, buf);
|
||||
}
|
||||
|
||||
weak_hidden_alias (__lstat, lstat)
|
52
lib/libc/glibc/io/lstat64-2.32.c
vendored
Normal file
52
lib/libc/glibc/io/lstat64-2.32.c
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
#undef lstat64
|
||||
int
|
||||
attribute_hidden
|
||||
lstat64 (const char *file, struct stat64 *buf)
|
||||
{
|
||||
return __lxstat64 (_STAT_VER, file, buf);
|
||||
}
|
55
lib/libc/glibc/io/mknod-2.32.c
vendored
Normal file
55
lib/libc/glibc/io/mknod-2.32.c
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
int
|
||||
attribute_hidden
|
||||
__mknod (const char *path, mode_t mode, dev_t dev)
|
||||
{
|
||||
return __xmknod (_MKNOD_VER, path, mode, &dev);
|
||||
}
|
||||
|
||||
weak_hidden_alias (__mknod, mknod)
|
53
lib/libc/glibc/io/mknodat-2.32.c
vendored
Normal file
53
lib/libc/glibc/io/mknodat-2.32.c
vendored
Normal file
@ -0,0 +1,53 @@
|
||||
/* Copyright (C) 1995-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
int
|
||||
attribute_hidden
|
||||
mknodat (int fd, const char *path, mode_t mode, dev_t dev)
|
||||
{
|
||||
return __xmknodat (_MKNOD_VER, fd, path, mode, &dev);
|
||||
}
|
54
lib/libc/glibc/io/stat-2.32.c
vendored
Normal file
54
lib/libc/glibc/io/stat-2.32.c
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
#undef stat
|
||||
int
|
||||
attribute_hidden
|
||||
__stat (const char *file, struct stat *buf)
|
||||
{
|
||||
return __xstat (_STAT_VER, file, buf);
|
||||
}
|
||||
|
||||
weak_hidden_alias (__stat, stat)
|
52
lib/libc/glibc/io/stat64-2.32.c
vendored
Normal file
52
lib/libc/glibc/io/stat64-2.32.c
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
/* Copyright (C) 1996-2020 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
modify it under the terms of the GNU Lesser General Public
|
||||
License as published by the Free Software Foundation; either
|
||||
version 2.1 of the License, or (at your option) any later version.
|
||||
|
||||
In addition to the permissions in the GNU Lesser General Public
|
||||
License, the Free Software Foundation gives you unlimited
|
||||
permission to link the compiled version of this file with other
|
||||
programs, and to distribute those programs without any restriction
|
||||
coming from the use of this file. (The GNU Lesser General Public
|
||||
License restrictions do apply in other respects; for example, they
|
||||
cover modification of the file, and distribution when not linked
|
||||
into another program.)
|
||||
|
||||
Note that people who make modified versions of this file are not
|
||||
obligated to grant this special exception for their modified
|
||||
versions; it is their choice whether to do so. The GNU Lesser
|
||||
General Public License gives permission to release a modified
|
||||
version without this exception; this exception also makes it
|
||||
possible to release a modified version which carries forward this
|
||||
exception.
|
||||
|
||||
The GNU C Library is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
Lesser General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with the GNU C Library; if not, see
|
||||
<https://www.gnu.org/licenses/>. */
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
/* This definition is only used if inlining fails for this function; see
|
||||
the last page of <sys/stat.h>. The real work is done by the `x'
|
||||
function which is passed a version number argument. We arrange in the
|
||||
makefile that when not inlined this function is always statically
|
||||
linked; that way a dynamically-linked executable always encodes the
|
||||
version number corresponding to the data structures it uses, so the `x'
|
||||
functions in the shared library can adapt without needing to recompile
|
||||
all callers. */
|
||||
|
||||
#undef stat64
|
||||
int
|
||||
attribute_hidden
|
||||
stat64 (const char *file, struct stat64 *buf)
|
||||
{
|
||||
return __xstat64 (_STAT_VER, file, buf);
|
||||
}
|
Loading…
Reference in New Issue
Block a user