mirror of
https://sourceware.org/git/glibc.git
synced 2025-01-03 00:10:10 +00:00
update from main arhive 970119
This commit is contained in:
parent
df5a92fd38
commit
b5ce64efa4
@ -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.
|
||||
#
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 $*' ;\
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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.
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
@ -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 */
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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 */
|
||||
};
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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 */
|
||||
|
@ -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
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user