Provide backwards binary compatibility for the Hurd.
* hurd/geteuids.c [PIC && DO_VERSIONING]: Make __getuids a weak
alias for geteuids.
* hurd/Versions [GLIBC_2.0]: Add __getuids,
__hurd_file_name_lookup and _hurd_umask.
[GLIBC_2.1]: Add _hurd_proc_init.
* hurd/Makefile [versioning] (routines): Add compat-20.
(shared-only-routines): Likewise.
* hurd/hurdinit.c (_hurd_new_proc_init): Renamed from
_hurd_proc_init. Use it as the default _hurd_proc_init version
for GLIBC_2.1.
* hurd/compat-20.c: New file.
* mach/Versions [GLIBC_2.0]: Add __vm_allocate.
-1998-12-03 Mark Kettenis <kettenis@phys.uva.nl>
-
- * hurd/Versions [GLIBC_2.1]: Add _hurd_proc_init.
-
- * hurd/Versions: Move geteuids and seteuids from GLIBC_2.0 to
- GLIBC_2.1.
+1998-12-04 Mark Kettenis <kettenis@phys.uva.nl>
+
+ Provide backwards binary compatibility for the Hurd.
+ * hurd/geteuids.c [PIC && DO_VERSIONING]: Make __getuids a weak
+ alias for geteuids.
+ * hurd/Versions [GLIBC_2.0]: Add __getuids,
+ __hurd_file_name_lookup and _hurd_umask.
+ [GLIBC_2.1]: Add _hurd_proc_init.
+ * hurd/Makefile [versioning] (routines): Add compat-20.
+ (shared-only-routines): Likewise.
+ * hurd/hurdinit.c (_hurd_new_proc_init): Renamed from
+ _hurd_proc_init. Use it as the default _hurd_proc_init version
+ for GLIBC_2.1.
+ * hurd/compat-20.c: New file.
+ * mach/Versions [GLIBC_2.0]: Add __vm_allocate.
1998-12-02 Ulrich Drepper <drepper@cygnus.com>
# XXX this is a temporary hack; see hurdmalloc.h
routines += hurdmalloc
distribute += hurdmalloc.h
+
+# Binary compatibility for libc.so.0.2[GLIBC_2.0].
+ifeq ($(versioning),yes)
+routines += compat-20
+endif
+
+shared-only-routines = compat-20
\f
include ../mach/Machrules
include ../Rules
libc {
GLIBC_2.0 {
+ # These few symbols are here only for binary compatibility
+ # with the pre-versioning libc.so.0.2 ABI. Their replacements
+ # are in the GLIBC_2.1 version set. When the soname changes,
+ # these can be removed.
+ __getuids;
+ __hurd_file_name_lookup;
+ _hurd_proc_init; _hurd_umask;
+
# necessary for the Hurd brk implementation
_end;
_hurd_port_get;
_hurd_port_locked_get;
_hurd_ports_use;
- _hurd_proc_init;
_hurd_thread_sigstate;
# functions in normal name space
vpprintf;
}
GLIBC_2.1 {
+ # "quasi-internal" functions
+ _hurd_proc_init;
+
# g*
geteuids;
--- /dev/null
+/* Old-versioned functions for binary compatibility with glibc-2.0.
+ Copyright (C) 1998 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 Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ 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
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <hurd.h>
+
+/* This file provides definitions for binary compatibility with
+ the GLIBC_2.0 version set for the libc.so.0.2 soname.
+
+ These definitions can be removed when the soname changes. */
+
+void
+_hurd_proc_init_compat_20 (char **argv)
+{
+ _hurd_proc_init (argv, NULL, 0);
+}
+symbol_version (_hurd_proc_init_compat_20, _hurd_proc_init, GLIBC_2.0);
return nuids;
}
+
+/* XXX Remove this alias when we bump the libc soname. */
+
+#if defined PIC && DO_VERSIONING
+weak_alias (geteuids, __getuids)
+#endif
Call _hurdsig_init to set up signal processing. */
void
-_hurd_proc_init (char **argv,
- const int *intarray, size_t intarraysize)
+_hurd_new_proc_init (char **argv,
+ const int *intarray, size_t intarraysize)
{
mach_port_t oldmsg;
struct hurd_userlink ulink;
our parent (presumably a debugger) that the exec has completed. */
__msg_sig_post (_hurd_msgport, SIGTRAP, 0, __mach_task_self ());
}
+
+/* XXX Remove this versioning stuff and rename __new_hurd_proc_init
+ above back to _hurd_proc_init when we bump the libc soname. */
+
+#if defined PIC && DO_VERSIONING
+default_symbol_version (_hurd_new_proc_init, _hurd_proc_init, GLIBC_2.1);
+#else
+# ifdef weak_alias
+weak_alias (_hurd_new_proc_init, _hurd_proc_init)
+# endif
+#endif
\f
/* Called when we get a message telling us to change our proc server port. */
libc {
GLIBC_2.0 {
+ # This symbol is here only for binary compatibility with the
+ # pre-versioning libc.so.0.2 ABI. When the soname changes,
+ # it can be removed.
+ __vm_allocate;
+
# variables used in Mach-specific macros
__mach_task_self_;
__vm_page_size;