From 4a381a81fee9ee4569d0cee0807cef7e998fc59a Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Wed, 10 Mar 2004 09:29:17 +0000 Subject: Update. 2004-03-10 Ulrich Drepper * include/libc-symbols.h: Define attribute_compat_text_section and attribute_compat_data_section. * io/ftw.c: Mark compat code with attribute_compat_text_section. * libio/iofopncook.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/oldiofdopen.c: Likewise. * libio/oldiofgetpos.c: Likewise. * libio/oldiofgetpos64.c: Likewise. * libio/oldiofopen.c: Likewise. * libio/oldiofsetpos.c: Likewise. * libio/oldiofsetpos64.c: Likewise. * libio/oldiopopen.c: Likewise. * libio/oldpclose.c: Likewise. * libio/oldtmpfile.c: Likewise. * nptl/forward.c: Likewise. * nss/getXXbyYY_r.c: Likewise. * nss/getXXent_r.c: Likewise. * posix/tst-vfork1.c: Likewise. * stdlib/canonicalize.c: Likewise. * stdlib/old_atexit.c: Likewise. * sysdeps/generic/glob.c: Likewise. * sysdeps/posix/posix_fallocate64.c: Likewise. * sysdeps/unix/sysv/linux/i386/alphasort64.c: Likewise. * sysdeps/unix/sysv/linux/i386/chown.c: Likewise. * sysdeps/unix/sysv/linux/i386/glob64.c: Likewise. * sysdeps/unix/sysv/linux/i386/msgctl.c: Likewise. * sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c: Likewise. * sysdeps/unix/sysv/linux/i386/posix_fadvise64.S: Likewise. * sysdeps/unix/sysv/linux/i386/readdir64.c: Likewise. * sysdeps/unix/sysv/linux/i386/readdir64_r.c: Likewise. * sysdeps/unix/sysv/linux/i386/scandir64.c: Likewise. * sysdeps/unix/sysv/linux/i386/semctl.c: Likewise. * sysdeps/unix/sysv/linux/i386/shmctl.c: Likewise. * sysdeps/unix/sysv/linux/i386/versionsort64.c: Likewise. * sysdeps/unix/sysv/linux/i386/syscalls.list: vm86@@GLIBC_2.3.4 should be the default symbol. Having none misses the point. --- sysdeps/generic/glob.c | 5 ++++- sysdeps/posix/posix_fallocate64.c | 3 ++- sysdeps/unix/sysv/linux/i386/alphasort64.c | 3 ++- sysdeps/unix/sysv/linux/i386/chown.c | 3 ++- sysdeps/unix/sysv/linux/i386/glob64.c | 1 + sysdeps/unix/sysv/linux/i386/msgctl.c | 3 ++- sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c | 3 ++- sysdeps/unix/sysv/linux/i386/posix_fadvise64.S | 5 ++++- sysdeps/unix/sysv/linux/i386/readdir64.c | 4 ++-- sysdeps/unix/sysv/linux/i386/readdir64_r.c | 4 ++-- sysdeps/unix/sysv/linux/i386/scandir64.c | 4 ++-- sysdeps/unix/sysv/linux/i386/semctl.c | 3 ++- sysdeps/unix/sysv/linux/i386/shmctl.c | 3 ++- sysdeps/unix/sysv/linux/i386/syscalls.list | 2 +- sysdeps/unix/sysv/linux/i386/versionsort64.c | 5 +++-- 15 files changed, 33 insertions(+), 18 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/glob.c b/sysdeps/generic/glob.c index 11d2754..2a7ca55 100644 --- a/sysdeps/generic/glob.c +++ b/sysdeps/generic/glob.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991-2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1991-2002, 2003, 2004 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 @@ -390,6 +390,9 @@ next_brace_sub (cp, flags) If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned. Otherwise, `glob' returns zero. */ int +#ifdef GLOB_ATTRIBUTE +GLOB_ATTRIBUTE +#endif glob (pattern, flags, errfunc, pglob) const char *pattern; int flags; diff --git a/sysdeps/posix/posix_fallocate64.c b/sysdeps/posix/posix_fallocate64.c index e5fb18d..0eba416 100644 --- a/sysdeps/posix/posix_fallocate64.c +++ b/sysdeps/posix/posix_fallocate64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2003 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2003, 2004 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 @@ -76,6 +76,7 @@ __posix_fallocate64_l64 (int fd, __off64_t offset, __off64_t len) #if __WORDSIZE == 32 && SHLIB_COMPAT(libc, GLIBC_2_2, GLIBC_2_3_3) int +attribute_compat_text_section __posix_fallocate64_l32 (int fd, off64_t offset, size_t len) { return __posix_fallocate64_l64 (fd, offset, len); diff --git a/sysdeps/unix/sysv/linux/i386/alphasort64.c b/sysdeps/unix/sysv/linux/i386/alphasort64.c index a52d018..221aedc 100644 --- a/sysdeps/unix/sysv/linux/i386/alphasort64.c +++ b/sysdeps/unix/sysv/linux/i386/alphasort64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1997, 1998, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1997, 1998, 2000, 2004 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 @@ -38,6 +38,7 @@ int __old_alphasort64 (const void *a, const void *b); int +attribute_compat_text_section __old_alphasort64 (const void *a, const void *b) { return strcoll ((*(const struct __old_dirent64 **) a)->d_name, diff --git a/sysdeps/unix/sysv/linux/i386/chown.c b/sysdeps/unix/sysv/linux/i386/chown.c index a838181..31a6e0f 100644 --- a/sysdeps/unix/sysv/linux/i386/chown.c +++ b/sysdeps/unix/sysv/linux/i386/chown.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999, 2000, 2002, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1998,1999,2000,2002,2003,2004 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 @@ -136,6 +136,7 @@ __chown_is_lchown (const char *file, uid_t owner, gid_t group) #elif SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_1) /* Compiling for compatibiity. */ int +attribute_compat_text_section __chown_is_lchown (const char *file, uid_t owner, gid_t group) { return __lchown (file, owner, group); diff --git a/sysdeps/unix/sysv/linux/i386/glob64.c b/sysdeps/unix/sysv/linux/i386/glob64.c index 3d2eb4b..b83f82b 100644 --- a/sysdeps/unix/sysv/linux/i386/glob64.c +++ b/sysdeps/unix/sysv/linux/i386/glob64.c @@ -43,6 +43,7 @@ int __old_glob64 (__const char *__pattern, int __flags, #define glob(pattern, flags, errfunc, pglob) \ __old_glob64 (pattern, flags, errfunc, pglob) #define glob_in_dir __old_glob_in_dir +#define GLOB_ATTRIBUTE attribute_compat_text_section #define GLOB_ONLY_P 1 diff --git a/sysdeps/unix/sysv/linux/i386/msgctl.c b/sysdeps/unix/sysv/linux/i386/msgctl.c index 3e95d85..108da8a 100644 --- a/sysdeps/unix/sysv/linux/i386/msgctl.c +++ b/sysdeps/unix/sysv/linux/i386/msgctl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1997, 1998, 2000, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , August 1995. @@ -63,6 +63,7 @@ extern int __libc_missing_32bit_uids; #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) int +attribute_compat_text_section __old_msgctl (int msqid, int cmd, struct __old_msqid_ds *buf) { return INLINE_SYSCALL (ipc, 5, IPCOP_msgctl, diff --git a/sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c b/sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c index 2fd2ace..3947e59 100644 --- a/sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c +++ b/sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 1995-1999, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1991, 1995-1999, 2000, 2004 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 @@ -33,6 +33,7 @@ extern int __old_getrlimit64 (enum __rlimit_resource resource, /* Put the soft and hard limits for RESOURCE in *RLIMITS. Returns 0 if successful, -1 if not (and sets errno). */ int +attribute_compat_text_section __old_getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits) { struct rlimit rlimits32; diff --git a/sysdeps/unix/sysv/linux/i386/posix_fadvise64.S b/sysdeps/unix/sysv/linux/i386/posix_fadvise64.S index b577f22..99a3ea5 100644 --- a/sysdeps/unix/sysv/linux/i386/posix_fadvise64.S +++ b/sysdeps/unix/sysv/linux/i386/posix_fadvise64.S @@ -116,7 +116,10 @@ L(overflow): END (BP_SYM (__posix_fadvise64_l64)) #ifdef __NR_fadvise64 -PSEUDO_ERRVAL (__posix_fadvise64_l32, fadvise64, 5) + .section .text.compat, "ax" +ENTRY (__posix_fadvise64_l32) + DO_CALL (fadvise64, 5) + negl %eax ret PSEUDO_END_ERRVAL (__posix_fadvise64_l32) #else diff --git a/sysdeps/unix/sysv/linux/i386/readdir64.c b/sysdeps/unix/sysv/linux/i386/readdir64.c index a0d858b..8d39088 100644 --- a/sysdeps/unix/sysv/linux/i386/readdir64.c +++ b/sysdeps/unix/sysv/linux/i386/readdir64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2004 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 @@ -34,7 +34,7 @@ versioned_symbol (libc, __readdir64, readdir64, GLIBC_2_2); #include -#define __READDIR __old_readdir64 +#define __READDIR attribute_compat_text_section __old_readdir64 #define __GETDENTS __old_getdents64 #define DIRENT_TYPE struct __old_dirent64 diff --git a/sysdeps/unix/sysv/linux/i386/readdir64_r.c b/sysdeps/unix/sysv/linux/i386/readdir64_r.c index a6f9d44..c6da57b 100644 --- a/sysdeps/unix/sysv/linux/i386/readdir64_r.c +++ b/sysdeps/unix/sysv/linux/i386/readdir64_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2004 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 @@ -34,7 +34,7 @@ versioned_symbol (libc, __readdir64_r, readdir64_r, GLIBC_2_2); #include -#define __READDIR_R __old_readdir64_r +#define __READDIR_R attribute_compat_text_section __old_readdir64_r #define __GETDENTS __old_getdents64 #define DIRENT_TYPE struct __old_dirent64 diff --git a/sysdeps/unix/sysv/linux/i386/scandir64.c b/sysdeps/unix/sysv/linux/i386/scandir64.c index 285909f..690be81 100644 --- a/sysdeps/unix/sysv/linux/i386/scandir64.c +++ b/sysdeps/unix/sysv/linux/i386/scandir64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000 Free Software Foundation, Inc. +/* Copyright (C) 2000, 2004 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 @@ -36,7 +36,7 @@ versioned_symbol (libc, __scandir64, scandir64, GLIBC_2_2); #include -#define SCANDIR __old_scandir64 +#define SCANDIR attribute_compat_text_section __old_scandir64 #define READDIR __old_readdir64 #define DIRENT_TYPE struct __old_dirent64 diff --git a/sysdeps/unix/sysv/linux/i386/semctl.c b/sysdeps/unix/sysv/linux/i386/semctl.c index 84edf05..14bfac6 100644 --- a/sysdeps/unix/sysv/linux/i386/semctl.c +++ b/sysdeps/unix/sysv/linux/i386/semctl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1997, 1998, 2000, 2003 Free Software Foundation, Inc. +/* Copyright (C) 1995,1997,1998,2000,2003,2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , August 1995. @@ -71,6 +71,7 @@ int __new_semctl (int semid, int semnum, int cmd, ...); #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) int +attribute_compat_text_section __old_semctl (int semid, int semnum, int cmd, ...) { union semun arg; diff --git a/sysdeps/unix/sysv/linux/i386/shmctl.c b/sysdeps/unix/sysv/linux/i386/shmctl.c index 8fa6ff0..394d3c0 100644 --- a/sysdeps/unix/sysv/linux/i386/shmctl.c +++ b/sysdeps/unix/sysv/linux/i386/shmctl.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1995, 1997, 1998, 2000, 2004 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper , August 1995. @@ -70,6 +70,7 @@ int __new_shmctl (int, int, struct shmid_ds *); #if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2) int +attribute_compat_text_section __old_shmctl (int shmid, int cmd, struct __old_shmid_ds *buf) { return INLINE_SYSCALL (ipc, 5, IPCOP_shmctl, diff --git a/sysdeps/unix/sysv/linux/i386/syscalls.list b/sysdeps/unix/sysv/linux/i386/syscalls.list index ddd81be..2143974 100644 --- a/sysdeps/unix/sysv/linux/i386/syscalls.list +++ b/sysdeps/unix/sysv/linux/i386/syscalls.list @@ -2,7 +2,7 @@ modify_ldt EXTRA modify_ldt i:ipi __modify_ldt modify_ldt vm86old EXTRA vm86old i:p __vm86old vm86@GLIBC_2.0 -vm86 - vm86 i:ip __vm86 vm86@GLIBC_2.3.4 +vm86 - vm86 i:ip __vm86 vm86@@GLIBC_2.3.4 oldgetrlimit EXTRA getrlimit i:ip __old_getrlimit getrlimit@GLIBC_2.0 oldsetrlimit EXTRA setrlimit i:ip __old_setrlimit setrlimit@GLIBC_2.0 time - time Ei:p time diff --git a/sysdeps/unix/sysv/linux/i386/versionsort64.c b/sysdeps/unix/sysv/linux/i386/versionsort64.c index 7243021..3efce69 100644 --- a/sysdeps/unix/sysv/linux/i386/versionsort64.c +++ b/sysdeps/unix/sysv/linux/i386/versionsort64.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1992, 1997, 1998, 2000 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1997, 1998, 2000, 2004 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 @@ -38,11 +38,12 @@ int __old_versionsort64 (const void *a, const void *b); int +attribute_compat_text_section __old_versionsort64 (const void *a, const void *b) { return __strverscmp ((*(const struct __old_dirent64 **) a)->d_name, (*(const struct __old_dirent64 **) b)->d_name); } - + compat_symbol (libc, __old_versionsort64, versionsort64, GLIBC_2_1); #endif -- cgit v1.1