update from main arhive 970119

This commit is contained in:
Ulrich Drepper 1997-01-20 02:49:42 +00:00
parent df5a92fd38
commit b5ce64efa4
20 changed files with 159 additions and 310 deletions

View File

@ -1,23 +1,22 @@
# Copyright (C) 1994 Free Software Foundation, Inc.
# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
# On-Line Applications Research Corporation.
#
# Copyright (C) 1994, 1997 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
#
# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
# On-Line Applications Research Corporation.
#
# 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.
# 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.
subdir := bare
@ -33,11 +32,11 @@ include ../Rules
#
# For bare targets, the $(config-vendor) is the name of the board.
# We will place the board dependent code ONLY in a library which
# is board dependent. This way many target boards can share a
# is board dependent. This way many target boards can share a
# single libc.a. To resolve all symbols and successfully link
# a program, the application must link against libc.a and libMY_TARGET.a.
# For example, the target specific library for the Motorola MVME135
# board will be named libmvme135.a. To link a program for the
# For example, the target specific library for the Motorola MVME135
# board will be named libmvme135.a. To link a program for the
# MVME135, one must link against -lc and -lmvme135.
#

View File

@ -1,4 +1,5 @@
# Copyright (C) 1993, 1994, 1995, 1996 Free Software Foundation, Inc.
# Copyright (C) 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Brendan Kehoe (brendan@zen.org).
# The GNU C Library is free software; you can redistribute it and/or
@ -12,9 +13,9 @@
# 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.
# 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.
ifeq ($(subdir),gmon)
sysdep_routines += _mcount

View File

@ -1,20 +1,20 @@
/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
This file is part of the GNU C Library.
/* Copyright (C) 1991, 1992, 1997 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 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.
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. */
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. */
#ifndef _68881_SWITCH_H
@ -47,7 +47,7 @@ struct switch_caller
/* Function to determine whether or not a 68881 is available,
and modify its caller (which must be a `struct switch_caller', above,
in data space) to use the appropriate version. */
extern void EXFUN(__68881_switch, (int __dummy));
extern void __68881_switch __P ((int __dummy));
/* Define FUNCTION as a `struct switch_caller' which will call

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991, 1992 Free Software Foundation, Inc.
# Copyright (C) 1991, 1992, 1997 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
@ -12,9 +12,9 @@
# 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.
# 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.
ifeq ($(subdir),math)
@ -38,8 +38,7 @@ sysdep_routines := $(sysdep_routines) switch
# 68881 and soft versions.
$(addprefix $(objpfx), \
$(filter-out $(wildcard $(+68881-sources)),$(+68881-sources))):
(echo '#include <ansidecl.h>' ;\
echo '#include <68881-sw.h>' ;\
(echo '#include <68881-sw.h>' ;\
echo '#define $* __$*_68881' ;\
echo '#include <$(+68881-dir)/$@>' ;\
echo '#undef $*' ;\

View File

@ -1,22 +1,21 @@
/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
This file is part of the GNU C Library.
/* Copyright (C) 1991, 1992, 1997 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 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.
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. */
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 <ansidecl.h>
#include <signal.h>
#include <68881-sw.h>
@ -33,7 +32,8 @@ static int have_fpu = -1;
/* Signal handler for the trap that happens if we don't have a 68881. */
static void
DEFUN(trap, (sig), int sig)
trap (sig)
int sig;
{
have_fpu = 0;
}
@ -44,10 +44,11 @@ DEFUN(trap, (sig), int sig)
to be a static jump to either the 68881 version or the soft version.
It then returns into the function it has chosen to do the work. */
void
DEFUN(__68881_switch, (dummy), int dummy)
__68881_switch (dummy)
int dummy;
{
PTR *return_address_location = &((PTR *) &dummy)[-1];
struct switch_caller *CONST caller
void **return_address_location = &((void **) &dummy)[-1];
struct switch_caller *const caller
= (struct switch_caller *) (((short int *) *return_address_location) - 1);
if (have_fpu < 0)

View File

@ -1,4 +1,5 @@
# Copyright (C) 1994 Free Software Foundation, Inc.
# Copyright (C) 1994, 1997 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
# On-Line Applications Research Corporation.
@ -13,9 +14,9 @@
# 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.
# 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.
ifeq (bare,$(subdir))
install-others += $(libdir)/force_cpu386.ld

View File

@ -1,4 +1,5 @@
# Copyright (C) 1993 Free Software Foundation, Inc.
# Copyright (C) 1993, 1997 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
# On-Line Applications Research Corporation.
@ -13,11 +14,11 @@
# 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.
# 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.
# The nindy960 support has only been tested on the following boards:
#
#
# + Cyclone CVME961 VMEbus single board computer.

View File

@ -1,4 +1,5 @@
# Copyright (C) 1993 Free Software Foundation, Inc.
# Copyright (C) 1993, 1997 Free Software Foundation, Inc.
# This file is part of the GNU C Library.
# Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
# On-Line Applications Research Corporation.
@ -13,9 +14,9 @@
# 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.
# 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.
ifeq (bare,$(subdir))
install-lib += mvme136.ld

View File

@ -1,4 +1,4 @@
# Copyright (C) 1993 Free Software Foundation, Inc.
# Copyright (C) 1993, 1997 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
@ -12,9 +12,9 @@
# 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.
# 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.
ifeq ($(subdir),signal)
sysdep_routines := $(sysdep_routines) sigtramp __handler

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Richard Henderson <rth@tamu.edu>, 1996.
@ -24,15 +24,11 @@
#define _ERRNO_H 1
#include <errnos.h>
/* int clone(int (*fn)(), void *child_stack, int flags, int nargs, ...) */
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */
.text
ENTRY(__clone)
lda sp,-16(sp)
.frame sp,16,$26,0
/* Save rest of argument registers for varargs-type work. */
stq a4,0(sp)
stq a5,8(sp)
.frame sp,0,ra,0
#ifdef PROF
.set noat
lda AT, _mcount
@ -42,24 +38,13 @@ ENTRY(__clone)
.prologue 1
/* Sanity check arguments. */
sextl a3,a3
ldiq v0,EINVAL
beq a0,$error /* no NULL function pointers */
beq a1,$error /* no NULL stack pointers */
blt a3,$error /* no negative argument counts */
/* Allocate space on the new stack and copy args over */
mov a3,t0 /* save nargs for thread_start */
s8addq a3,sp,t1
1: ldq t2,-8(t1)
subq t1,8,t1
stq t2,-8(a1)
subq a3,1,a3
subq a1,8,a1
bne a3,1b
/* Do the system call */
mov a0,pv /* get fn ptr out of the way */
mov a3,a4 /* get fn arg out of the way */
mov a2,a0
ldiq v0,__NR_clone
call_pal PAL_callsys
@ -68,23 +53,19 @@ ENTRY(__clone)
beq v0,thread_start
/* Successful return from the parent */
lda sp,16(sp)
ret
/* Something bad happened -- no child created */
$error:
br gp,1f
1: ldgp gp,0(gp)
lda sp,16(sp)
jmp zero,__syscall_error
END(__clone)
/* Load up the arguments to the function. Put this block of code in
its own function so that we can terminate the stack trace with our
debug info.
At this point we have $t0=nargs, $pv=fn, $sp=&arg[0]. */
debug info. */
.ent thread_start
thread_start:
@ -92,28 +73,8 @@ thread_start:
mov zero,fp
.prologue 0
/* Calculate address of jump into argument loading code */
cmple t0,6,t2 /* no more than 6 args in registers */
cmoveq t2,6,t0
br v0,1f /* find address of arg0 */
1: lda v0,$arg0-1b(v0)
s4addq t0,zero,t1
subq v0,t1,v0
jmp (v0)
/* Load the integer register arguments */
ldq a5,40(sp)
ldq a4,32(sp)
ldq a3,24(sp)
ldq a2,16(sp)
ldq a1,8(sp)
ldq a0,0(sp)
$arg0:
/* Adjust stack to remove the arguments we just loaded */
s8addq t0,sp,sp
/* Call the user's function */
mov a4,a0
jsr ra,(pv)
ldgp gp,0(ra)
@ -121,6 +82,9 @@ $arg0:
mov v0,a0
jsr ra,_exit
/* Die horribly. */
halt
.end thread_start
weak_alias(__clone, clone)

View File

@ -1,123 +0,0 @@
/* Structure types for pre-termios terminal ioctls. Linux version.
Copyright (C) 1996, 1997 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. */
#ifndef _IOCTL_TYPES_H
#define _IOCTL_TYPES_H 1
/* Get definition of constants for use with `ioctl'. */
#include <asm/ioctl.h>
#define FIOCLEX _IO('f', 1)
#define FIONCLEX _IO('f', 2)
#define FIOASYNC _IOW('f', 125, int)
#define FIONBIO _IOW('f', 126, int)
#define FIONREAD _IOR('f', 127, int)
#define TIOCINQ FIONREAD
#define TIOCGETP _IOR('t', 8, struct sgttyb)
#define TIOCSETP _IOW('t', 9, struct sgttyb)
#define TIOCSETN _IOW('t', 10, struct sgttyb) /* TIOCSETP wo flush */
#define TIOCSETC _IOW('t', 17, struct tchars)
#define TIOCGETC _IOR('t', 18, struct tchars)
#define TCGETS _IOR('t', 19, struct termios)
#define TCSETS _IOW('t', 20, struct termios)
#define TCSETSW _IOW('t', 21, struct termios)
#define TCSETSF _IOW('t', 22, struct termios)
#define TCGETA _IOR('t', 23, struct termio)
#define TCSETA _IOW('t', 24, struct termio)
#define TCSETAW _IOW('t', 25, struct termio)
#define TCSETAF _IOW('t', 28, struct termio)
#define TCSBRK _IO('t', 29)
#define TCXONC _IO('t', 30)
#define TCFLSH _IO('t', 31)
#define TIOCSWINSZ _IOW('t', 103, struct winsize)
#define TIOCGWINSZ _IOR('t', 104, struct winsize)
#define TIOCSTART _IO('t', 110) /* start output, like ^Q */
#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */
#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */
#define TIOCGLTC _IOR('t', 116, struct ltchars)
#define TIOCSLTC _IOW('t', 117, struct ltchars)
#define TIOCSPGRP _IOW('t', 118, int)
#define TIOCGPGRP _IOR('t', 119, int)
#define TIOCEXCL 0x540C
#define TIOCNXCL 0x540D
#define TIOCSCTTY 0x540E
#define TIOCSTI 0x5412
#define TIOCMGET 0x5415
#define TIOCMBIS 0x5416
#define TIOCMBIC 0x5417
#define TIOCMSET 0x5418
# define TIOCM_LE 0x001
# define TIOCM_DTR 0x002
# define TIOCM_RTS 0x004
# define TIOCM_ST 0x008
# define TIOCM_SR 0x010
# define TIOCM_CTS 0x020
# define TIOCM_CAR 0x040
# define TIOCM_RNG 0x080
# define TIOCM_DSR 0x100
# define TIOCM_CD TIOCM_CAR
# define TIOCM_RI TIOCM_RNG
#define TIOCGSOFTCAR 0x5419
#define TIOCSSOFTCAR 0x541A
#define TIOCLINUX 0x541C
#define TIOCCONS 0x541D
#define TIOCGSERIAL 0x541E
#define TIOCSSERIAL 0x541F
#define TIOCPKT 0x5420
# define TIOCPKT_DATA 0
# define TIOCPKT_FLUSHREAD 1
# define TIOCPKT_FLUSHWRITE 2
# define TIOCPKT_STOP 4
# define TIOCPKT_START 8
# define TIOCPKT_NOSTOP 16
# define TIOCPKT_DOSTOP 32
#define TIOCNOTTY 0x5422
#define TIOCSETD 0x5423
#define TIOCGETD 0x5424
#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
#define TIOCTTYGSTRUCT 0x5426 /* For debugging only */
#define TIOCSERCONFIG 0x5453
#define TIOCSERGWILD 0x5454
#define TIOCSERSWILD 0x5455
#define TIOCGLCKTRMIOS 0x5456
#define TIOCSLCKTRMIOS 0x5457
#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
#define TIOCSERGETLSR 0x5459 /* Get line status register */
/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
#define TIOCSERGETMULTI 0x545A /* Get multiport config */
#define TIOCSERSETMULTI 0x545B /* Set multiport config */
#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
#define TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
#endif /* ioctl-types.h */

View File

@ -1,48 +1,59 @@
/* Copyright (C) 1993, 1995 Free Software Foundation, Inc.
/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David Mosberger (davidm@azstarnet.com).
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 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.
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. */
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 <sysdep.h>
#include <signal.h>
/* When there is kernel support for more than 64 signals, we'll have to
switch to a new system call convention here. */
extern unsigned long __osf_sigprocmask (int how, unsigned long newmask);
int
__sigprocmask (int how, const sigset_t *set, sigset_t *oset)
{
sigset_t setval;
unsigned long int setval;
long result;
if (set) {
setval = *set;
} else {
sigemptyset(&setval);
how = SIG_BLOCK; /* ensure blocked mask doesn't get changed */
}
result = __osf_sigprocmask(how, setval);
if (result == -1) {
/* if there are ever more than 63 signals, we need to recode this
if (set)
{
setval = set->__val[0];
}
else
{
setval = 0;
how = SIG_BLOCK; /* ensure blocked mask doesn't get changed */
}
result = __osf_sigprocmask (how, setval);
if (result == -1)
/* If there are ever more than 63 signals, we need to recode this
in assembler since we wouldn't be able to distinguish a mask of
all 1s from -1, but for now, we're doing just fine... */
return result;
}
if (oset) {
*oset = result;
}
if (oset)
{
oset->__val[0] = result;
result = _SIGSET_NWORDS;
while (--result > 0)
oset->__val[result] = 0;
}
return 0;
}

View File

@ -1,4 +1,4 @@
/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by David Mosberger <davidm@cs.arizona.edu>, 1995.
@ -18,7 +18,7 @@
Boston, MA 02111-1307, USA. */
/* sigsuspend is a special syscall since it needs to dereference the
sigset. */
sigset. This will have to change when we have more than 64 signals. */
#include <sysdep.h>

View File

@ -26,6 +26,8 @@ llseek EXTRA lseek 3 llseek
# these are actually common with the x86:
fstatfs - fstatfs 2 __fstatfs fstatfs
statfs - statfs 2 __statfs statfs
sys_ustat ustat ustat 2 __syscall_ustat
sys_mknod xmknod mknod 3 __syscall_mknod
# override select.S in parent directory:
select - select 5 __select select

View File

@ -29,7 +29,7 @@ struct termios
tcflag_t c_cflag; /* control mode flags */
tcflag_t c_lflag; /* local mode flags */
cc_t c_cc[NCCS]; /* control characters */
cc_t c_line; /* line discipline (== c_cc[19]) */
cc_t c_line; /* line discipline (== c_cc[33]) */
speed_t c_ispeed; /* input speed */
speed_t c_ospeed; /* output speed */
};

View File

@ -20,6 +20,7 @@
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/sysmacros.h>
extern int __syscall_mknod (const char *, unsigned int, unsigned int);

View File

@ -1,20 +1,20 @@
/* Copyright (C) 1996 Free Software Foundation, Inc.
/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
Contributed by Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
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 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.
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. */
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. */
/* clone is even more special than fork as it mucks with stacks
and invokes a function in the right context after its all over. */
@ -23,7 +23,7 @@ Cambridge, MA 02139, USA. */
#define _ERRNO_H 1
#include <errnos.h>
/* int clone (int (*fn) (), void *child_stack, int flags, int nargs, ...) */
/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
.text
ENTRY (__clone)
@ -36,18 +36,9 @@ ENTRY (__clone)
movel 8(%sp), %a1 /* no NULL stack pointers */
tstl %a1
jeq syscall_error
movel 16(%sp), %d1 /* no negative argument counts */
jmi syscall_error
/* Allocate space on the new stack and copy args over */
movel %d1, %d0
negl %d0
lea (%a1,%d0.l*4), %a1
jeq 2f
1: movel 16(%sp,%d1.l*4), -4(%a1,%d1.l*4)
subql #1, %d1
jne 1b
2:
/* Allocate space and copy the argument onto the new stack. */
movel 16(%sp), -(%a1)
/* Do the system call */
exg %d2, %a1 /* save %d2 and get stack pointer */

View File

@ -1,4 +1,4 @@
# Copyright (C) 1993 Free Software Foundation, Inc.
# Copyright (C) 1993, 1997 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
@ -12,12 +12,12 @@
# 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.
# 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.
ifeq ($(subdir),misc)
sysdep_routines := $(sysdep_routines) __fltused
endif

View File

@ -1,4 +1,4 @@
# Copyright (C) 1992, 1993, 1995, 1996 Free Software Foundation, Inc.
# Copyright (C) 1992, 1993, 1995, 1996, 1997 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
@ -12,9 +12,9 @@
# 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.
# 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.
ifeq ($(subdir),posix)

View File

@ -1,4 +1,4 @@
# Copyright (C) 1991, 1994 Free Software Foundation, Inc.
# Copyright (C) 1991, 1994, 1997 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
@ -12,9 +12,9 @@
# 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.
# 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.
ifeq ($(subdir),math)
ifndef math-twiddled