From 8a080f40d83e12be3af8a5cbfb1f6a2f65bc9981 Mon Sep 17 00:00:00 2001 From: "Thomas Bushnell, BSG" Date: Sat, 21 Sep 1996 20:05:50 +0000 Subject: *** empty log message *** Sat Sep 21 14:59:22 1996 Thomas Bushnell, n/BSG * shlib-versions (*-*-gnu*): Increment libc to 0.2 for upcoming binary distribution. * sysdeps/mach/hurd/Makefile (rtld-installed-name): Provide definition to override dangerous one in Makeconfig. * hurd/Makefile (install-headers-nosubdir): Install . ($(includedir)/rpc/netdb.h): New rule. [ This is XXX until sunrpc can be built; is essential. ] Fri Sep 20 16:06:06 1996 Thomas Bushnell, n/BSG * sysdeps/mach/hurd/i386/init-first.c (_dl_start): Add definition, to guarantee link errors if this is included in ld.so. --- ChangeLog | 18 ++++++++++++++++++ hurd/Makefile | 9 +++++++++ hurd/hurdinit.c | 3 ++- shlib-versions | 4 ++-- sysdeps/mach/hurd/Makefile | 5 +++++ sysdeps/mach/hurd/i386/init-first.c | 14 +++++++++++++- 6 files changed, 49 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index ed3c0c95ee..d20ad85c72 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,21 @@ +Sat Sep 21 14:59:22 1996 Thomas Bushnell, n/BSG + + * shlib-versions (*-*-gnu*): Increment libc to 0.2 for upcoming + binary distribution. + + * sysdeps/mach/hurd/Makefile (rtld-installed-name): Provide + definition to override dangerous one in Makeconfig. + + * hurd/Makefile (install-headers-nosubdir): Install . + ($(includedir)/rpc/netdb.h): New rule. + [ This is XXX until sunrpc can be built; is + essential. ] + +Fri Sep 20 16:06:06 1996 Thomas Bushnell, n/BSG + + * sysdeps/mach/hurd/i386/init-first.c (_dl_start): Add definition, + to guarantee link errors if this is included in ld.so. + Thu Sep 19 23:36:19 1996 Thomas Bushnell, n/BSG * hurd/hurdinit.c (__libc_argv): Provide common decl. diff --git a/hurd/Makefile b/hurd/Makefile index 873e695297..363aeeaa98 100644 --- a/hurd/Makefile +++ b/hurd/Makefile @@ -68,6 +68,15 @@ distribute += hurdmalloc.h include ../mach/Machrules include ../Rules +# XXX sunrpc doesn't build yet for Hurd, but one of its headers is +# crucial nontheless. So sysdeps/mach/hurd/Makefile elides sunrpc +# from $(subdirs), and this rule arranges for the header in question +# to get installed. +install-headers-nosubdir: $(includedir)/rpc/netdb.h +$(includedir)/rpc/netdb.h: $(top_srcdir)/sunrpc/rpc/netdb.h + $(do-install) + + # intr-rpc.defs defines the INTR_INTERFACE macro to make the generated RPC # stubs import and #define __mach_msg to # _hurd_intr_rpc_mach_msg. diff --git a/hurd/hurdinit.c b/hurd/hurdinit.c index df10b5d955..bc2334e69f 100644 --- a/hurd/hurdinit.c +++ b/hurd/hurdinit.c @@ -31,6 +31,8 @@ struct hurd_port *_hurd_ports; unsigned int _hurd_nports; mode_t _hurd_umask; sigset_t _hurdsig_traced; +char **__libc_argv; + error_t _hurd_ports_use (int which, error_t (*operate) (mach_port_t)) @@ -165,7 +167,6 @@ _hurd_setproc (process_t procserver) { error_t err; mach_port_t oldmsg; - extern char **__libc_argv; /* Give the proc server our message port. */ if (err = __proc_setmsgport (procserver, _hurd_msgport, &oldmsg)) diff --git a/shlib-versions b/shlib-versions index 4699b1f7d1..d592ab8ad8 100644 --- a/shlib-versions +++ b/shlib-versions @@ -24,8 +24,8 @@ alpha-*-linux* libc=6 # libhurduser.so.0.0 corresponds to hurd/*.defs as of 7 May 1996. *-*-gnu* libhurduser=0.0 -# libc.so.0.0 is for the Hurd alpha release 0.0. -*-*-gnu* libc=0.0 +# libc.so.0.2 is for the Hurd alpha release 0.2. +*-*-gnu* libc=0.2 # The -ldl interface (see ) is the same on all platforms. *-*-* libdl=2 diff --git a/sysdeps/mach/hurd/Makefile b/sysdeps/mach/hurd/Makefile index c33cb7d5fe..fa2f66ac5f 100644 --- a/sysdeps/mach/hurd/Makefile +++ b/sysdeps/mach/hurd/Makefile @@ -18,7 +18,12 @@ ifdef in-Makerules +# This should be in a more global place, because the problem it solves +# is universal, but this is good enough for here. +rtld-installed-name := ld.so$(libc.so-version) + subdirs := $(filter-out sunrpc,$(subdirs)) # XXX skip broken dirs +# See hurd/Makefile for commands that install some crucial sunrpc headers. # Look for header files in hurd/ under the top-level library source directory. # Look for generated header files where they get created. diff --git a/sysdeps/mach/hurd/i386/init-first.c b/sysdeps/mach/hurd/i386/init-first.c index 5203b4c146..331362370b 100644 --- a/sysdeps/mach/hurd/i386/init-first.c +++ b/sysdeps/mach/hurd/i386/init-first.c @@ -1,5 +1,5 @@ /* Initialization code run first thing by the ELF startup code. For i386/Hurd. -Copyright (C) 1995 Free Software Foundation, Inc. +Copyright (C) 1995, 1996 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 @@ -248,3 +248,15 @@ __libc_init_first (int argc __attribute__ ((unused)), ...) _hurd_startup ((void **) &argc, &doinit); #endif } + + +/* This function is defined here so that if this file ever gets into + ld.so we will get a link error. Having this file silently included + in ld.so causes disaster, because the _init definition above will + cause ld.so to gain an init function, which is not a cool thing. */ + +void +_dl_start () +{ + abort (); +} -- cgit v1.2.3