aboutsummaryrefslogtreecommitdiff
path: root/elf/cache.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2021-12-29 10:20:46 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2022-01-12 10:30:10 -0300
commit0b8e83eb1455f3c0332eeb1f96fbc262fbd054e0 (patch)
tree118b87b249be509983be0295e9022c15823d4e65 /elf/cache.c
parent86bf0feb0e3ec8e37872f72499d6ae33406561d7 (diff)
downloadglibc-0b8e83eb1455f3c0332eeb1f96fbc262fbd054e0.zip
glibc-0b8e83eb1455f3c0332eeb1f96fbc262fbd054e0.tar.gz
glibc-0b8e83eb1455f3c0332eeb1f96fbc262fbd054e0.tar.bz2
elf: Fix 64 time_t support for installed statically binaries
The usage of internal static symbol for statically linked binaries does not work correctly for objects built with -D_TIME_BITS=64, since the internal definition does not provide the expected aliases. This patch makes it to use the default stat functions instead (which uses the default 64 time_t alias and types). Checked on i686-linux-gnu.
Diffstat (limited to 'elf/cache.c')
-rw-r--r--elf/cache.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/elf/cache.c b/elf/cache.c
index 15a5b74..dbf4c83 100644
--- a/elf/cache.c
+++ b/elf/cache.c
@@ -318,8 +318,8 @@ print_cache (const char *cache_name)
if (fd < 0)
error (EXIT_FAILURE, errno, _("Can't open cache file %s\n"), cache_name);
- struct stat64 st;
- if (__fstat64 (fd, &st) < 0
+ struct stat st;
+ if (fstat (fd, &st) < 0
/* No need to map the file if it is empty. */
|| st.st_size == 0)
{
@@ -932,7 +932,7 @@ init_aux_cache (void)
}
int
-search_aux_cache (struct stat64 *stat_buf, int *flags,
+search_aux_cache (struct stat *stat_buf, int *flags,
unsigned int *osversion, unsigned int *isa_level,
char **soname)
{
@@ -994,7 +994,7 @@ insert_to_aux_cache (struct aux_cache_entry_id *id, int flags,
}
void
-add_to_aux_cache (struct stat64 *stat_buf, int flags,
+add_to_aux_cache (struct stat *stat_buf, int flags,
unsigned int osversion, unsigned int isa_level,
const char *soname)
{
@@ -1017,8 +1017,8 @@ load_aux_cache (const char *aux_cache_name)
return;
}
- struct stat64 st;
- if (__fstat64 (fd, &st) < 0 || st.st_size < sizeof (struct aux_cache_file))
+ struct stat st;
+ if (fstat (fd, &st) < 0 || st.st_size < sizeof (struct aux_cache_file))
{
close (fd);
init_aux_cache ();
@@ -1134,8 +1134,8 @@ save_aux_cache (const char *aux_cache_name)
char *dir = strdupa (aux_cache_name);
dir = dirname (dir);
- struct stat64 st;
- if (stat64 (dir, &st) < 0)
+ struct stat st;
+ if (stat (dir, &st) < 0)
{
if (mkdir (dir, 0700) < 0)
goto out_fail;