aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog41
-rw-r--r--include/libc-symbols.h7
-rw-r--r--io/ftw.c3
-rw-r--r--libio/iofopncook.c2
-rw-r--r--libio/oldfileops.c17
-rw-r--r--libio/oldiofclose.c3
-rw-r--r--libio/oldiofdopen.c4
-rw-r--r--libio/oldiofgetpos.c3
-rw-r--r--libio/oldiofgetpos64.c3
-rw-r--r--libio/oldiofopen.c4
-rw-r--r--libio/oldiofsetpos.c3
-rw-r--r--libio/oldiofsetpos64.c3
-rw-r--r--libio/oldiopopen.c3
-rw-r--r--libio/oldpclose.c3
-rw-r--r--libio/oldtmpfile.c3
-rw-r--r--nptl/forward.c30
-rw-r--r--nss/getXXbyYY_r.c1
-rw-r--r--nss/getXXent_r.c3
-rw-r--r--stdlib/canonicalize.c1
-rw-r--r--stdlib/old_atexit.c2
-rw-r--r--sysdeps/generic/glob.c5
-rw-r--r--sysdeps/posix/posix_fallocate64.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/alphasort64.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/chown.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/glob64.c1
-rw-r--r--sysdeps/unix/sysv/linux/i386/msgctl.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/oldgetrlimit64.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/posix_fadvise64.S5
-rw-r--r--sysdeps/unix/sysv/linux/i386/readdir64.c4
-rw-r--r--sysdeps/unix/sysv/linux/i386/readdir64_r.c4
-rw-r--r--sysdeps/unix/sysv/linux/i386/scandir64.c4
-rw-r--r--sysdeps/unix/sysv/linux/i386/semctl.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/shmctl.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/linux/i386/versionsort64.c5
35 files changed, 145 insertions, 45 deletions
diff --git a/ChangeLog b/ChangeLog
index c3b139cb7e..26f8bf89b8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,44 @@
+2004-03-10 Ulrich Drepper <drepper@redhat.com>
+
+ * 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.
+
2004-03-09 Ulrich Drepper <drepper@redhat.com>
* stdlib/qsort.c (_quicksort): Initialize first stack element [BZ #16].
diff --git a/include/libc-symbols.h b/include/libc-symbols.h
index 93b5f9d454..4d87b2d4dc 100644
--- a/include/libc-symbols.h
+++ b/include/libc-symbols.h
@@ -759,4 +759,11 @@ for linking")
/* Get some dirty hacks. */
#include <symbol-hacks.h>
+/* Move compatibility symbols out of the way by placing them all in a
+ special section. */
+#define attribute_compat_text_section \
+ __attribute__ ((section (".text.compat")))
+#define attribute_compat_data_section \
+ __attribute__ ((section (".data.compat")))
+
#endif /* libc-symbols.h */
diff --git a/io/ftw.c b/io/ftw.c
index 20cf694e24..7610851047 100644
--- a/io/ftw.c
+++ b/io/ftw.c
@@ -1,5 +1,5 @@
/* File tree walker functions.
- Copyright (C) 1996-2001, 2002, 2003 Free Software Foundation, Inc.
+ Copyright (C) 1996-2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
@@ -784,6 +784,7 @@ versioned_symbol (libc, NFTW_NEW_NAME, NFTW_NAME, GLIBC_2_3_3);
int NFTW_OLD_NAME (const char *, NFTW_FUNC_T, int, int);
int
+attribute_compat_text_section
NFTW_OLD_NAME (path, func, descriptors, flags)
const char *path;
NFTW_FUNC_T func;
diff --git a/libio/iofopncook.c b/libio/iofopncook.c
index eb5df886f9..321eb67b8d 100644
--- a/libio/iofopncook.c
+++ b/libio/iofopncook.c
@@ -195,6 +195,7 @@ _IO_FILE * _IO_old_fopencookie (void *cookie, const char *mode,
_IO_cookie_io_functions_t io_functions);
static _IO_off64_t
+attribute_compat_text_section
_IO_old_cookie_seek (fp, offset, dir)
_IO_FILE *fp;
_IO_off64_t offset;
@@ -237,6 +238,7 @@ static const struct _IO_jump_t _IO_old_cookie_jumps = {
};
_IO_FILE *
+attribute_compat_text_section
_IO_old_fopencookie (cookie, mode, io_functions)
void *cookie;
const char *mode;
diff --git a/libio/oldfileops.c b/libio/oldfileops.c
index a397a322d3..20413978a0 100644
--- a/libio/oldfileops.c
+++ b/libio/oldfileops.c
@@ -115,6 +115,7 @@ extern int errno;
void
+attribute_compat_text_section
_IO_old_file_init (fp)
struct _IO_FILE_plus *fp;
{
@@ -141,6 +142,7 @@ _IO_old_file_init (fp)
}
int
+attribute_compat_text_section
_IO_old_file_close_it (fp)
_IO_FILE *fp;
{
@@ -168,6 +170,7 @@ _IO_old_file_close_it (fp)
}
void
+attribute_compat_text_section
_IO_old_file_finish (fp, dummy)
_IO_FILE *fp;
int dummy;
@@ -182,6 +185,7 @@ _IO_old_file_finish (fp, dummy)
}
_IO_FILE *
+attribute_compat_text_section
_IO_old_file_fopen (fp, filename, mode)
_IO_FILE *fp;
const char *filename;
@@ -231,6 +235,7 @@ _IO_old_file_fopen (fp, filename, mode)
}
_IO_FILE *
+attribute_compat_text_section
_IO_old_file_attach (fp, fd)
_IO_FILE *fp;
int fd;
@@ -250,6 +255,7 @@ _IO_old_file_attach (fp, fd)
}
_IO_FILE *
+attribute_compat_text_section
_IO_old_file_setbuf (fp, p, len)
_IO_FILE *fp;
char *p;
@@ -271,6 +277,7 @@ static int old_do_write __P ((_IO_FILE *, const char *, _IO_size_t));
Then mark FP as having empty buffers. */
int
+attribute_compat_text_section
_IO_old_do_write (fp, data, to_do)
_IO_FILE *fp;
const char *data;
@@ -280,8 +287,8 @@ _IO_old_do_write (fp, data, to_do)
? 0 : EOF;
}
-static
-int
+static int
+attribute_compat_text_section
old_do_write (fp, data, to_do)
_IO_FILE *fp;
const char *data;
@@ -315,6 +322,7 @@ old_do_write (fp, data, to_do)
}
int
+attribute_compat_text_section
_IO_old_file_underflow (fp)
_IO_FILE *fp;
{
@@ -379,6 +387,7 @@ _IO_old_file_underflow (fp)
}
int
+attribute_compat_text_section
_IO_old_file_overflow (f, ch)
_IO_FILE *f;
int ch;
@@ -430,6 +439,7 @@ _IO_old_file_overflow (f, ch)
}
int
+attribute_compat_text_section
_IO_old_file_sync (fp)
_IO_FILE *fp;
{
@@ -464,6 +474,7 @@ _IO_old_file_sync (fp)
}
_IO_off64_t
+attribute_compat_text_section
_IO_old_file_seekoff (fp, offset, dir, mode)
_IO_FILE *fp;
_IO_off64_t offset;
@@ -650,6 +661,7 @@ resync:
}
_IO_ssize_t
+attribute_compat_text_section
_IO_old_file_write (f, data, n)
_IO_FILE *f;
const void *data;
@@ -674,6 +686,7 @@ _IO_old_file_write (f, data, n)
}
_IO_size_t
+attribute_compat_text_section
_IO_old_file_xsputn (f, data, n)
_IO_FILE *f;
const void *data;
diff --git a/libio/oldiofclose.c b/libio/oldiofclose.c
index 3762279bdc..8dd321b054 100644
--- a/libio/oldiofclose.c
+++ b/libio/oldiofclose.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997-2001, 2002 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1997-2002, 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
@@ -35,6 +35,7 @@
#endif
int
+attribute_compat_text_section
_IO_old_fclose (fp)
_IO_FILE *fp;
{
diff --git a/libio/oldiofdopen.c b/libio/oldiofdopen.c
index b256000c2c..c616b387fa 100644
--- a/libio/oldiofdopen.c
+++ b/libio/oldiofdopen.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1993,94,97,99,2000,2002,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1993,94,97,99,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
@@ -40,6 +41,7 @@
#endif
_IO_FILE *
+attribute_compat_text_section
_IO_old_fdopen (fd, mode)
int fd;
const char *mode;
diff --git a/libio/oldiofgetpos.c b/libio/oldiofgetpos.c
index b00a5203e5..fbac21bdd4 100644
--- a/libio/oldiofgetpos.c
+++ b/libio/oldiofgetpos.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003
+/* Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -33,6 +33,7 @@
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
int
+attribute_compat_text_section
_IO_old_fgetpos (fp, posp)
_IO_FILE *fp;
_IO_fpos_t *posp;
diff --git a/libio/oldiofgetpos64.c b/libio/oldiofgetpos64.c
index b3a4e0e83b..996ad2075b 100644
--- a/libio/oldiofgetpos64.c
+++ b/libio/oldiofgetpos64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003
+/* Copyright (C) 1993, 1995, 1996, 1997, 1998, 1999, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -33,6 +33,7 @@
#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)
int
+attribute_compat_text_section
_IO_old_fgetpos64 (fp, posp)
_IO_FILE *fp;
_IO_fpos64_t *posp;
diff --git a/libio/oldiofopen.c b/libio/oldiofopen.c
index 0370c762f6..c761580a78 100644
--- a/libio/oldiofopen.c
+++ b/libio/oldiofopen.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1993,1997,1999,2000,2002,2003 Free Software Foundation, Inc.
+/* Copyright (C) 1993,1997,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
@@ -36,6 +37,7 @@
_IO_FILE *
+attribute_compat_text_section
_IO_old_fopen (filename, mode)
const char *filename;
const char *mode;
diff --git a/libio/oldiofsetpos.c b/libio/oldiofsetpos.c
index 23ef565d20..131bd1adb9 100644
--- a/libio/oldiofsetpos.c
+++ b/libio/oldiofsetpos.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997, 1998, 1999, 2000, 2002, 2003
+/* Copyright (C) 1993, 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -32,6 +32,7 @@
#include <shlib-compat.h>
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_2)
int
+attribute_compat_text_section
_IO_old_fsetpos (fp, posp)
_IO_FILE *fp;
const _IO_fpos_t *posp;
diff --git a/libio/oldiofsetpos64.c b/libio/oldiofsetpos64.c
index 34758599a3..963bc02b6a 100644
--- a/libio/oldiofsetpos64.c
+++ b/libio/oldiofsetpos64.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997, 1998, 1999, 2000, 2002, 2003
+/* Copyright (C) 1993, 1995, 1997, 1998, 1999, 2000, 2002, 2003, 2004
Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -33,6 +33,7 @@
#if SHLIB_COMPAT (libc, GLIBC_2_1, GLIBC_2_2)
int
+attribute_compat_text_section
_IO_old_fsetpos64 (fp, posp)
_IO_FILE *fp;
const _IO_fpos64_t *posp;
diff --git a/libio/oldiopopen.c b/libio/oldiopopen.c
index a7530c82db..a06769dbb4 100644
--- a/libio/oldiopopen.c
+++ b/libio/oldiopopen.c
@@ -120,6 +120,7 @@ unlock (void *not_used)
#endif
_IO_FILE *
+attribute_compat_text_section
_IO_old_proc_open (fp, command, mode)
_IO_FILE *fp;
const char *command;
@@ -202,6 +203,7 @@ _IO_old_proc_open (fp, command, mode)
}
_IO_FILE *
+attribute_compat_text_section
_IO_old_popen (command, mode)
const char *command;
const char *mode;
@@ -236,6 +238,7 @@ _IO_old_popen (command, mode)
}
int
+attribute_compat_text_section
_IO_old_proc_close (fp)
_IO_FILE *fp;
{
diff --git a/libio/oldpclose.c b/libio/oldpclose.c
index ecc58bb4c6..cf297b3def 100644
--- a/libio/oldpclose.c
+++ b/libio/oldpclose.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998,2000 Free Software Foundation, Inc.
+/* Copyright (C) 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
@@ -34,6 +34,7 @@
#include <errno.h>
int
+attribute_compat_text_section
__old_pclose (fp)
FILE *fp;
{
diff --git a/libio/oldtmpfile.c b/libio/oldtmpfile.c
index a277914d26..8631d48c0b 100644
--- a/libio/oldtmpfile.c
+++ b/libio/oldtmpfile.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1996-2000, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1993,1996-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
@@ -29,6 +29,7 @@
If we couldn't generate a unique filename or the file couldn't
be opened, NULL is returned. */
FILE *
+attribute_compat_text_section
__old_tmpfile (void)
{
char buf[FILENAME_MAX];
diff --git a/nptl/forward.c b/nptl/forward.c
index 407fd092d9..06740d9266 100644
--- a/nptl/forward.c
+++ b/nptl/forward.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 2002, 2003 Free Software Foundation, Inc.
+/* Copyright (C) 2002, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -88,7 +88,8 @@ FORWARD (pthread_condattr_destroy, (pthread_condattr_t *attr), (attr), 0)
FORWARD (pthread_condattr_init, (pthread_condattr_t *attr), (attr), 0)
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
-FORWARD (__pthread_cond_broadcast_2_0, (pthread_cond_2_0_t *cond), (cond), 0)
+FORWARD2 (__pthread_cond_broadcast_2_0, int attribute_compat_text_section,
+ (pthread_cond_2_0_t *cond), (cond), 0)
compat_symbol (libc, __pthread_cond_broadcast_2_0, pthread_cond_broadcast,
GLIBC_2_0);
#endif
@@ -97,7 +98,8 @@ versioned_symbol (libc, __pthread_cond_broadcast, pthread_cond_broadcast,
GLIBC_2_3_2);
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
-FORWARD (__pthread_cond_destroy_2_0, (pthread_cond_2_0_t *cond), (cond), 0)
+FORWARD2 (__pthread_cond_destroy_2_0, int attribute_compat_text_section,
+ (pthread_cond_2_0_t *cond), (cond), 0)
compat_symbol (libc, __pthread_cond_destroy_2_0, pthread_cond_destroy,
GLIBC_2_0);
#endif
@@ -106,9 +108,9 @@ versioned_symbol (libc, __pthread_cond_destroy, pthread_cond_destroy,
GLIBC_2_3_2);
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
-FORWARD (__pthread_cond_init_2_0,
- (pthread_cond_2_0_t *cond, const pthread_condattr_t *cond_attr),
- (cond, cond_attr), 0)
+FORWARD2 (__pthread_cond_init_2_0, int attribute_compat_text_section,
+ (pthread_cond_2_0_t *cond, const pthread_condattr_t *cond_attr),
+ (cond, cond_attr), 0)
compat_symbol (libc, __pthread_cond_init_2_0, pthread_cond_init, GLIBC_2_0);
#endif
FORWARD (__pthread_cond_init,
@@ -117,7 +119,8 @@ FORWARD (__pthread_cond_init,
versioned_symbol (libc, __pthread_cond_init, pthread_cond_init, GLIBC_2_3_2);
#if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_3_2)
-FORWARD (__pthread_cond_signal_2_0, (pthread_cond_2_0_t *cond), (cond), 0)
+FORWARD2 (__pthread_cond_signal_2_0, int attribute_compat_text_section,
+ (pthread_cond_2_0_t *cond), (cond), 0)
compat_symbol (libc, __pthread_cond_signal_2_0, pthread_cond_signal,
GLIBC_2_0