aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog27
-rw-r--r--hurd/Makefile2
-rw-r--r--hurd/hurdintr.awk25
-rw-r--r--hurd/intr-rpc.awk45
-rw-r--r--mach/Makefile2
-rw-r--r--sysdeps/generic/dl-cache.c (renamed from elf/dl-cache.c)0
-rw-r--r--sysdeps/mach/hurd/alpha/longjmp-ctx.c38
-rw-r--r--sysdeps/mach/hurd/dl-cache.c (renamed from hurd/invoke-trans.c)23
-rw-r--r--sysdeps/mach/hurd/i386/init-fault.c41
-rw-r--r--sysdeps/mach/hurd/i386/longjmp-ctx.c35
-rw-r--r--sysdeps/mach/hurd/mips/init-fault.c41
-rw-r--r--sysdeps/mach/hurd/mips/longjmp-ctx.c41
-rw-r--r--sysdeps/stub/init-fault.c38
-rw-r--r--sysdeps/stub/longjmp-ctx.c32
14 files changed, 30 insertions, 360 deletions
diff --git a/ChangeLog b/ChangeLog
index f915615..d6c07a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -7,6 +7,25 @@ Tue Sep 10 20:43:45 1996 Ulrich Drepper <drepper@cygnus.com>
* db/makedb.c: Include <locale.h>. Reported by Fila Kolodny.
+Tue Sep 10 14:42:39 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
+
+ * elf/dl-cache.c: Rename to ...
+ * sysdeps/generic/dl-cache.c: ... here.
+ * sysdeps/mach/hurd/dl-cache.c: New file.
+
+ * mach/Makefile (distribute): Add `errsystems.awk'.
+ * hurd/Makefile (distribute): Add `Notes' and `intr-msg.h'.
+ * hurd/hurdintr.awk: Delete file. (Not used in ages.)
+ * hurd/intr-rpc.awk: Likewise.
+ * hurd/invoke-trans.c: Likewise.
+ * sysdeps/mach/hurd/i386/longjmp-ctx.c: Likewise.
+ * sysdeps/mach/hurd/alpha/longjmp-ctx.c: Likewise.
+ * sysdeps/mach/hurd/mips/longjmp-ctx.c: Likewise.
+ * sysdeps/mach/hurd/i386/init-fault.c: Likewise.
+ * sysdeps/mach/hurd/mips/init-fault.c: Likewise.
+ * sysdeps/stub/init-fault.c: Likewise.
+ * sysdeps/stub/longjmp-ctx.c: Likewise.
+
Tue Sep 10 13:49:08 1996 Ulrich Drepper <drepper@cygnus.com>
* inet/herrno.c: Initialize `h_errno' so that we can provide
@@ -428,10 +447,6 @@ Thu Sep 5 21:08:44 1996 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/schedbits.h: New file. Include
clone prototypes and associated flags.
-Thu Sep 5 08:58:47 1996 Richard Henderson <rth@tamu.edu>
-
- * sysdeps/alpha/elf/start.S: Make _start global again.
-
Thu Sep 5 13:18:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* sysdeps/mach/hurd/i386/init-first.c (__libc_argc, __libc_argv):
@@ -467,6 +482,10 @@ Thu Sep 5 13:18:25 1996 Thomas Bushnell, n/BSG <thomas@gnu.ai.mit.edu>
* malloc/malloc-walk.c: Likewise.
* malloc/memalign.c: Likewise.
+Thu Sep 5 08:58:47 1996 Richard Henderson <rth@tamu.edu>
+
+ * sysdeps/alpha/elf/start.S: Make _start global again.
+
Thu Sep 5 03:20:42 1996 Ulrich Drepper <drepper@cygnus.com>
Change configuration and Makefiles to allow add-ons to have a
diff --git a/hurd/Makefile b/hurd/Makefile
index 1484ad5..2f2e36d 100644
--- a/hurd/Makefile
+++ b/hurd/Makefile
@@ -59,7 +59,7 @@ dtable = dtable port2fd new-fd alloc-fd intern-fd \
getdport openport \
fd-close fd-read fd-write hurdioctl ctty-input ctty-output
distribute = hurdstartup.h hurdfault.h hurdhost.h \
- faultexc.defs intr-rpc.defs intr-rpc.h
+ faultexc.defs intr-rpc.defs intr-rpc.h intr-msg.h Notes
# XXX this is a temporary hack; see hurdmalloc.h
routines += hurdmalloc
diff --git a/hurd/hurdintr.awk b/hurd/hurdintr.awk
deleted file mode 100644
index d039409..0000000
--- a/hurd/hurdintr.awk
+++ /dev/null
@@ -1,25 +0,0 @@
-BEGIN { intr=0; wantcall=0; calls=""; }
-
-$1 == "/*" && $2 == "INTR" && $3 == "*/" { intr=1; }
-
-NF == 1 && $1 == "routine" { wantcall=1; next; }
-
-intr != 0 && wantcall == 0 && NF >= 2 && $1 == "routine" \
- {
- if (substr($2, length($2)-2, 1) == "(")
- calls = calls " " substr($2, 0, length($2)-1);
- else calls = calls " " $2;
- intr=0;
- }
-
-wantcall != 0 && NF >= 1 \
- {
- if (substr($1, length($1)-2, 1) == "(")
- calls = calls " " substr($1, 0, length($1)-1);
- else calls = calls " " $1;
- intr=0;
- }
-
-{ wantcall=0; }
-
-END { print varname " :=" calls; }
diff --git a/hurd/intr-rpc.awk b/hurd/intr-rpc.awk
deleted file mode 100644
index 9dbcd6f..0000000
--- a/hurd/intr-rpc.awk
+++ /dev/null
@@ -1,45 +0,0 @@
-# Icky intimate knowledge of MiG output.
-
-BEGIN \
- {
- nprotolines=0; proto=0;
- args=""; echo=1; isintr=0;
- intrcall = "__hurd_intr_rpc_" call;
- print "#include <hurd/signal.h>";
- }
-
-$NF == intrcall { isintr=1; }
-
-NF == 1 && $1 == ")" { proto=0; }
-proto \
- {
- protolines[nprotolines++] = $0;
- arg = $NF;
- if (substr(arg, 1, 1) == "*")
- arg = substr(arg, 2, length(arg)-1);
- args = args arg;
- }
-NF == 1 && $1 == "(" { proto=1; }
-
-NF == 3 && $1 == "InP->Head.msgh_request_port" \
- { portarg = substr($3, 1, length($3)-1); }
-
-{ print $0; }
-
-END \
- {
- if (isintr)
- {
- print "\n\n/* User-callable interrupt-handling stub. */";
- print "kern_return_t __" call;
- print "(";
- for (i = 0; i < nprotolines; ++i)
- print protolines[i];
- print ")";
- print "{";
- print " return HURD_EINTR_RPC (" portarg ", " \
- intrcall "(" args "));";
- print "}";
- }
- print "weak_alias (__" call ", " call ")"
- }
diff --git a/mach/Makefile b/mach/Makefile
index 6d9e6b2..f7f0c09 100644
--- a/mach/Makefile
+++ b/mach/Makefile
@@ -56,7 +56,7 @@ tests := hello
# `err_*.sub'. Leaving the wildcard allows Make-dist to find all matching
# files in all sysdep directories.
distribute += Machrules syscalls.awk shortcut.awk \
- errorlib.h err_*.sub
+ errorlib.h err_*.sub errsystems.awk
# Clear any environment value.
diff --git a/elf/dl-cache.c b/sysdeps/generic/dl-cache.c
index 6cd454c..6cd454c 100644
--- a/elf/dl-cache.c
+++ b/sysdeps/generic/dl-cache.c
diff --git a/sysdeps/mach/hurd/alpha/longjmp-ctx.c b/sysdeps/mach/hurd/alpha/longjmp-ctx.c
deleted file mode 100644
index dfc16fd..0000000
--- a/sysdeps/mach/hurd/alpha/longjmp-ctx.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Perform a `longjmp' on a `struct sigcontext'. Alpha version.
-Copyright (C) 1994 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., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-#include <setjmp.h>
-#include <hurd/signal.h>
-#include <string.h>
-
-void
-_hurd_longjmp_sigcontext (struct sigcontext *scp, jmp_buf env, int retval)
-{
- memset (scp, 0, sizeof (*scp));
- scp->sc_regs[9] = env[0].__9;
- scp->sc_regs[11] = env[0].__11;
- scp->sc_regs[12] = env[0].__12;
- scp->sc_regs[13] = env[0].__13;
- scp->sc_regs[14] = env[0].__14;
- scp->sc_regs[15] = (long int) env[0].__fp;
- scp->sc_regs[30] = (long int) env[0].__sp;
- scp->sc_pc = (long int) env[0].__pc;
-
- memcpy (&scp->sc_fpregs[2], &env[0].__f2, sizeof (double));
-}
diff --git a/hurd/invoke-trans.c b/sysdeps/mach/hurd/dl-cache.c
index e11bff5..7d919cd 100644
--- a/hurd/invoke-trans.c
+++ b/sysdeps/mach/hurd/dl-cache.c
@@ -1,4 +1,5 @@
-/* Copyright (C) 1994 Free Software Foundation, Inc.
+/* Stubby version of dl-cache; the Hurd doesn't support this "feature".
+Copyright (C) 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
@@ -16,22 +17,8 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
-#include <hurd.h>
-#include <hurd/fs.h>
-
-error_t
-__hurd_invoke_translator (file_t file, int flags, file_t *newport)
+const char *
+_dl_load_cache_lookup (const char *name)
{
- error_t err;
- enum retry_type doretry;
- char retryname[1024]; /* XXX string_t LOSES! */
-
- err = __file_invoke_translator (file, flags, &doretry, retryname, newport);
-
- if (! err)
- err = __USEPORT (CRDIR, __hurd_file_name_lookup_retry (port,
- doretry, retryname,
- flags, 0, newport));
-
- return err;
+ return 0;
}
diff --git a/sysdeps/mach/hurd/i386/init-fault.c b/sysdeps/mach/hurd/i386/init-fault.c
deleted file mode 100644
index ff22814..0000000
--- a/sysdeps/mach/hurd/i386/init-fault.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Set up a thread_state for proc_handle_exceptions. i386 version.
-Copyright (C) 1994 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., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-#include <hurd/signal.h>
-#include <mach/thread_status.h>
-#include <string.h>
-#include <setjmp.h>
-
-extern jmp_buf _hurd_sigthread_fault_env;
-
-static char fault_stack[32];
-static volatile void
-faulted (void)
-{
- __longjmp (_hurd_sigthread_fault_env, 1);
-}
-
-void
-_hurd_initialize_fault_recovery_state (void *state)
-{
- struct i386_thread_state *ts = state;
- memset (ts, 0, sizeof (*ts));
- ts->uesp = (int) &fault_stack[sizeof (fault_stack)];
- ts->eip = (int) &faulted;
-}
diff --git a/sysdeps/mach/hurd/i386/longjmp-ctx.c b/sysdeps/mach/hurd/i386/longjmp-ctx.c
deleted file mode 100644
index acfbee6..0000000
--- a/sysdeps/mach/hurd/i386/longjmp-ctx.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Perform a `longjmp' on a `struct sigcontext'. i386 version.
-Copyright (C) 1994 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., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-#include <setjmp.h>
-#include <hurd/signal.h>
-#include <string.h>
-
-void
-_hurd_longjmp_sigcontext (struct sigcontext *scp, jmp_buf env, int retval)
-{
- memset (scp, 0, sizeof (*scp));
- scp->sc_ebx = env[0].__bx;
- scp->sc_esi = env[0].__si;
- scp->sc_edi = env[0].__di;
- scp->sc_ebp = (int) env[0].__bp;
- scp->sc_uesp = (int) env[0].__sp;
- scp->sc_eip = (int) env[0].__pc;
- scp->sc_eax = retval == 0 ? 1 : retval;
-}
diff --git a/sysdeps/mach/hurd/mips/init-fault.c b/sysdeps/mach/hurd/mips/init-fault.c
deleted file mode 100644
index e6f8acf..0000000
--- a/sysdeps/mach/hurd/mips/init-fault.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Set up a thread_state for proc_handle_exceptions. MIPS version.
-Copyright (C) 1994 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., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-#include <hurd/signal.h>
-#include <mach/thread_status.h>
-#include <string.h>
-#include <setjmp.h>
-
-extern jmp_buf _hurd_sigthread_fault_env;
-
-static char fault_stack[32];
-static volatile void
-faulted (void)
-{
- __longjmp (_hurd_sigthread_fault_env, 1);
-}
-
-void
-_hurd_initialize_fault_recovery_state (void *state)
-{
- struct mips_thread_state *ts = state;
- memset (ts, 0, sizeof (*ts));
- ts->r29 = (int) &fault_stack[sizeof (fault_stack)];
- ts->pc = (int) &faulted;
-}
diff --git a/sysdeps/mach/hurd/mips/longjmp-ctx.c b/sysdeps/mach/hurd/mips/longjmp-ctx.c
deleted file mode 100644
index 0c78f6b..0000000
--- a/sysdeps/mach/hurd/mips/longjmp-ctx.c
+++ /dev/null
@@ -1,41 +0,0 @@
-/* Perform a `longjmp' on a `struct sigcontext'. MIPS version.
-Copyright (C) 1994 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., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-#include <setjmp.h>
-#include <hurd/signal.h>
-#include <string.h>
-
-void
-_hurd_longjmp_sigcontext (struct sigcontext *scp, jmp_buf env, int retval)
-{
- scp->sc_gpr[16] = env[0].__regs[0];
- scp->sc_gpr[17] = env[0].__regs[1];
- scp->sc_gpr[18] = env[0].__regs[2];
- scp->sc_gpr[19] = env[0].__regs[3];
- scp->sc_gpr[20] = env[0].__regs[4];
- scp->sc_gpr[21] = env[0].__regs[5];
- scp->sc_gpr[22] = env[0].__regs[6];
- scp->sc_gpr[23] = env[0].__regs[7];
-
- scp->sc_gpr[28] = (int) env[0].__gp;
- scp->sc_fp = (int) env[0].__fp;
- scp->sc_sp = (int) env[0].__sp;
- scp->sc_pc = (int) env[0].__pc;
- scp->sc_gpr[2] = retval ?: 1;
-}
diff --git a/sysdeps/stub/init-fault.c b/sysdeps/stub/init-fault.c
deleted file mode 100644
index 1ba4680..0000000
--- a/sysdeps/stub/init-fault.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* Set up a thread_state for proc_handle_exceptions. Stub version.
-Copyright (C) 1994 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., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-#include <hurd.h>
-#include <mach/thread_status.h>
-
-static char fault_stack[32];
-static volatile void
-faulted (void)
-{
- __longjmp (_hurd_sigthread_fault_env, 1);
-}
-
-void
-_hurd_initialize_fault_recovery_state (void *state)
-{
- struct hurd_thread_state *ts = state;
- memset (ts, 0, sizeof (*ts));
- /* Point the SP in TS at the fault stack,
- and set the PC to run `faulted' (above). */
- #error "Need to write sysdeps/mach/hurd/MACHINE/init_fault.c"
-}
diff --git a/sysdeps/stub/longjmp-ctx.c b/sysdeps/stub/longjmp-ctx.c
deleted file mode 100644
index 11ed609..0000000
--- a/sysdeps/stub/longjmp-ctx.c
+++ /dev/null
@@ -1,32 +0,0 @@
-/* Perform a `longjmp' on a `struct sigcontext'. Stub version.
-Copyright (C) 1994 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., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-#include <setjmp.h>
-#include <signal.h>
-#include <string.h>
-
-void
-_hurd_longjmp_sigcontext (struct sigcontext *scp, jmp_buf env, int retval)
-{
- memset (scp, 0, sizeof (*scp));
- /* Set all the registers in *SCP to the values described by ENV and RETVAL.
- After this, calling `__sigreturn (SCP)' in that thread should be just
- like calling `longjmp (ENV, RETVAL)'. */
- #error "Need to write sysdeps/mach/hurd/MACHINE/longjmp-ctx.c"
-}