*** empty log message ***

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.
	
Thu Sep  5 08:58:47 1996  Richard Henderson  <rth@tamu.edu>

	* sysdeps/alpha/elf/start.S: Make _start global again.
This commit is contained in:
Thomas Bushnell, BSG 1996-09-11 02:48:08 +00:00
parent da74e90200
commit 158ff48e34
14 changed files with 30 additions and 360 deletions

View File

@ -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

View File

@ -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

View File

@ -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; }

View File

@ -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 ")"
}

View File

@ -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.

View File

@ -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));
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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"
}

View File

@ -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"
}