From: Joseph Myers Date: Tue, 29 Nov 2011 16:10:31 +0000 (+0000) Subject: Remove bitrotten / unmaintained CPU and OS ports. X-Git-Tag: upstream/2.30~10627^2~338 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=01abd38ff2963bdeabdf10ba5e99428648931db6;p=external%2Fglibc.git Remove bitrotten / unmaintained CPU and OS ports. --- diff --git a/ChangeLog b/ChangeLog index e42182f..0558e9b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-11-29 Joseph Myers + + * bare, sysdeps/am29k, sysdeps/i860, sysdeps/i960, sysdeps/m88k, + sysdeps/mach, sysdeps/rs6000, sysdeps/standalone, sysdeps/tahoe, + sysdeps/unix/bsd, sysdeps/unix/sysv/hpux, sysdeps/unix/sysv/i386, + sysdeps/unix/sysv/irix4, sysdeps/unix/sysv/isc2.2, + sysdeps/unix/sysv/minix, sysdeps/unix/sysv/sco3.2, + sysdeps/unix/sysv/sco3.2.4, sysdeps/unix/sysv/sysv4, sysdeps/vax, + sysdeps/z8000: Remove. + 2010-04-14 Joseph Myers * libc-abis: Remove. diff --git a/ChangeLog.aix b/ChangeLog.aix index 3e3e4df..f47ad58 100644 --- a/ChangeLog.aix +++ b/ChangeLog.aix @@ -1,3 +1,7 @@ +2011-11-29 Joseph Myers + + * sysdeps/unix/sysv/aix: Remove. + 2007-07-10 Daniel Jacobowitz * sysdeps/unix/sysv/aix/bits/fcntl.h: Comment fix. diff --git a/bare/Makefile b/bare/Makefile deleted file mode 100644 index ddfa6ac..0000000 --- a/bare/Makefile +++ /dev/null @@ -1,55 +0,0 @@ -# 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 Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 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 -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -subdir := bare - -bare-routines := brdinit console strtsupp -routines = $(bare-routines) -elided-routines = $(bare-routines) -extra-objs = $(bare-routines:%=%.o) - -install-lib = lib$(config-vendor).a - -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 -# 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 -# MVME135, one must link against -lc and -lmvme135. -# - -lib: $(objpfx)lib$(config-vendor).a - -$(objpfx)lib$(config-vendor).a: $(bare-routines:%=$(objpfx)%.o) -# This library is small enough that it's simplest to recreate the archive -# from scratch each time. - rm -f $@ -ifdef objdir - cd $(objpfx); $(AR) cq$(verbose) $(@:$(objpfx)%=%) $(^:$(objpfx)%=%) -else - $(AR) cq$(verbose) $@ $^ -endif - $(RANLIB) $@ diff --git a/bare/brdinit.c b/bare/brdinit.c deleted file mode 100644 index af96bcd..0000000 --- a/bare/brdinit.c +++ /dev/null @@ -1,32 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* This file is only required when a "bare" board is configured. */ - -/* _Board_Initialize - -This routine normally performs board specific initialization. */ - -void -_Board_Initialize () -{ -} diff --git a/bare/console.c b/bare/console.c deleted file mode 100644 index 326ebed..0000000 --- a/bare/console.c +++ /dev/null @@ -1,42 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* This file is only required when a "bare" board is configured. */ - -/* These routines provide console IO routines for your embedded target. */ - -int -_Console_Putc (ch) - char ch; -{ - /* eat the character */ - - return 0; -} - -int -_Console_Getc (poll) - int poll; -{ - /* boring user, never types anything */ - return -1; -} diff --git a/bare/strtsupp.c b/bare/strtsupp.c deleted file mode 100644 index c66495b..0000000 --- a/bare/strtsupp.c +++ /dev/null @@ -1,28 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* This file is only required when a "bare" board is configured. */ - -/* Start Support Routines - -The start code for some CPUs (e.g. i386) require target dependent -support. For more info, consult the start file for your CPU. */ diff --git a/sysdeps/am29k/ffs.c b/sysdeps/am29k/ffs.c deleted file mode 100644 index 9abd2c6..0000000 --- a/sysdeps/am29k/ffs.c +++ /dev/null @@ -1,43 +0,0 @@ -/* ffs -- find first set bit in a word, counted from least significant end. - For Amd 290x0. - Copyright (C) 1991, 1992, 1997, 2004, 2005 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Torbjorn Granlund (tege@sics.se). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#undef ffs - -#ifdef __GNUC__ - -int -__ffs (x) - int x; -{ - int cnt; - - asm ("clz %0,%1" : "=r" (cnt) : "r" (x & -x)); - - return 32 - cnt; -} -weak_alias (__ffs, ffs) -libc_hidden_builtin_def (ffs) - -#else -#include -#endif diff --git a/sysdeps/i860/memcopy.h b/sysdeps/i860/memcopy.h deleted file mode 100644 index 3bb9ba5..0000000 --- a/sysdeps/i860/memcopy.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1991, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#if 0 -#undef MERGE -/* In order to make this work properly, an 's' constraint need to be added - to tm-i860.h, to mean the SC register. */ -#define MERGE(w0, sh_1, w1, sh_2) \ - ({ \ - unsigned int __merge; \ - asm("shrd %2,%1,%0" : \ - "=r" (__merge) : \ - "r" (w0), "r" (w1), "s" (sh_1)); \ - __merge; \ - }) -#endif diff --git a/sysdeps/i960/Implies b/sysdeps/i960/Implies deleted file mode 100644 index 1d56974..0000000 --- a/sysdeps/i960/Implies +++ /dev/null @@ -1,3 +0,0 @@ -# i960 family uses IEEE 754 floating point. -ieee754/flt-32 -ieee754/dbl-64 diff --git a/sysdeps/i960/add_n.s b/sysdeps/i960/add_n.s deleted file mode 100644 index 6031f6d..0000000 --- a/sysdeps/i960/add_n.s +++ /dev/null @@ -1,21 +0,0 @@ -.text - .align 4 - .globl ___mpn_add_n -___mpn_add_n: - mov 0,g6 # clear carry-save register - cmpo 1,0 # clear cy - -Loop: subo 1,g3,g3 # update loop counter - ld (g1),g5 # load from s1_ptr - addo 4,g1,g1 # s1_ptr++ - ld (g2),g4 # load from s2_ptr - addo 4,g2,g2 # s2_ptr++ - cmpo g6,1 # restore cy from g6, relies on cy being 0 - addc g4,g5,g4 # main add - subc 0,0,g6 # save cy in g6 - st g4,(g0) # store result to res_ptr - addo 4,g0,g0 # res_ptr++ - cmpobne 0,g3,Loop # when branch is taken, clears C bit - - mov g6,g0 - ret diff --git a/sysdeps/i960/addmul_1.s b/sysdeps/i960/addmul_1.s deleted file mode 100644 index 1a3de95..0000000 --- a/sysdeps/i960/addmul_1.s +++ /dev/null @@ -1,26 +0,0 @@ -.text - .align 4 - .globl ___mpn_mul_1 -___mpn_mul_1: - subo g2,0,g2 - shlo 2,g2,g4 - subo g4,g1,g1 - subo g4,g0,g13 - mov 0,g0 - - cmpo 1,0 # clear C bit on AC.cc - -Loop: ld (g1)[g2*4],g5 - emul g3,g5,g6 - ld (g13)[g2*4],g5 - - addc g0,g6,g6 # relies on that C bit is clear - addc 0,g7,g7 - addc g5,g6,g6 # relies on that C bit is clear - st g6,(g13)[g2*4] - addc 0,g7,g0 - - addo g2,1,g2 - cmpobne 0,g2,Loop # when branch is taken, clears C bit - - ret diff --git a/sysdeps/i960/ffs.c b/sysdeps/i960/ffs.c deleted file mode 100644 index 090d114..0000000 --- a/sysdeps/i960/ffs.c +++ /dev/null @@ -1,46 +0,0 @@ -/* ffs -- find first set bit in a word, counted from least significant end. - For i960 Core architecture - This file is part of the GNU C Library. - Copyright (C) 1994, 1997, 2004, 2005 Free Software Foundation, Inc. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#undef ffs - -#if defined (__GNUC__) && defined (__i960__) - -int -__ffs (x) - int x; -{ - int cnt; - - asm ("scanbit %1,%0" : "=d" (cnt) : "rm" (x & -x)); - - return cnt; -} -weak_alias (__ffs, ffs) -libc_hidden_builtin_def (ffs) - -#else - -#include - -#endif diff --git a/sysdeps/i960/mul_1.s b/sysdeps/i960/mul_1.s deleted file mode 100644 index e75ea42..0000000 --- a/sysdeps/i960/mul_1.s +++ /dev/null @@ -1,23 +0,0 @@ -.text - .align 4 - .globl ___mpn_mul_1 -___mpn_mul_1: - subo g2,0,g2 - shlo 2,g2,g4 - subo g4,g1,g1 - subo g4,g0,g13 - mov 0,g0 - - cmpo 1,0 # clear C bit on AC.cc - -Loop: ld (g1)[g2*4],g5 - emul g3,g5,g6 - - addc g0,g6,g6 # relies on that C bit is clear - st g6,(g13)[g2*4] - addc 0,g7,g0 - - addo g2,1,g2 - cmpobne 0,g2,Loop # when branch is taken, clears C bit - - ret diff --git a/sysdeps/i960/sub_n.s b/sysdeps/i960/sub_n.s deleted file mode 100644 index 13ebbfa..0000000 --- a/sysdeps/i960/sub_n.s +++ /dev/null @@ -1,21 +0,0 @@ -.text - .align 4 - .globl ___mpn_sub_n -___mpn_sub_n: - mov 1,g6 # set carry-save register - cmpo 1,0 # clear cy - -Loop: subo 1,g3,g3 # update loop counter - ld (g1),g5 # load from s1_ptr - addo 4,g1,g1 # s1_ptr++ - ld (g2),g4 # load from s2_ptr - addo 4,g2,g2 # s2_ptr++ - cmpo g6,1 # restore cy from g6, relies on cy being 0 - subc g4,g5,g4 # main subtract - subc 0,0,g6 # save cy in g6 - st g4,(g0) # store result to res_ptr - addo 4,g0,g0 # res_ptr++ - cmpobne 0,g3,Loop # when branch is taken, cy will be 0 - - mov g6,g0 - ret diff --git a/sysdeps/m88k/add_n.s b/sysdeps/m88k/add_n.s deleted file mode 100644 index a10730d..0000000 --- a/sysdeps/m88k/add_n.s +++ /dev/null @@ -1,104 +0,0 @@ -; mc88100 __mpn_add -- Add two limb vectors of the same length > 0 and store -; sum in a third limb vector. - -; Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP 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. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is about 4.6 clocks/limb + 18 clocks/limb-vector on an 88100, -; but on the 88110, it seems to run much slower, 6.6 clocks/limb. - - text - align 16 - global ___mpn_add_n -___mpn_add_n: - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,3 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,3<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,32 - st r8,r2,28 - addu r4,r4,32 - ld r6,r3,0 - addu r2,r2,32 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; add 0 + 8r limbs (adj loop cnt) -Lbase: ld r8,r3,4 - addu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; add 7 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; add 6 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; add 5 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; add 4 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; add 3 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; add 2 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - bcnd.n ne0,r10,Loop ; add 1 + 8r limbs - addu.cio r8,r8,r9 - - st r8,r2,28 ; store most significant limb - - jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb diff --git a/sysdeps/m88k/ffs.c b/sysdeps/m88k/ffs.c deleted file mode 100644 index 9381f54..0000000 --- a/sysdeps/m88k/ffs.c +++ /dev/null @@ -1,45 +0,0 @@ -/* ffs -- find first set bit in a word, counted from least significant end. - For Motorola 88000. - This file is part of the GNU C Library. - Copyright (C) 1991, 1992, 1997, 2004, 2005 Free Software Foundation, Inc. - Contributed by Torbjorn Granlund (tege@sics.se). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#undef ffs - -#ifdef __GNUC__ - -int -__ffs (x) - int x; -{ - int cnt; - - if (x == 0) - return 0; - - asm ("ff1 %0,%1" : "=r" (cnt) : "r" (x & -x)); - return cnt + 1; -} -weak_alias (__ffs, ffs) -libc_hidden_builtin_def (ffs) - -#else -#include -#endif diff --git a/sysdeps/m88k/m88100/add_n.S b/sysdeps/m88k/m88100/add_n.S deleted file mode 100644 index 2107eb5..0000000 --- a/sysdeps/m88k/m88100/add_n.S +++ /dev/null @@ -1,133 +0,0 @@ -; mc88100 __mpn_add -- Add two limb vectors of the same length > 0 and store -; sum in a third limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2, or (at your option) -; any later version. - -; The GNU MP 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 General Public License for more details. - -; You should have received a copy of the GNU General Public License -; along with the GNU MP Library; see the file COPYING. If not, write to -; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is approximately 4.3 clocks/limb + 18 clocks/limb-vector. - -#include "sysdep.h" - -ENTRY (__mpn_add_n) - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,4 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,4<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,64 - st r8,r2,60 - addu r4,r4,64 - ld r6,r3,0 - addu r2,r2,64 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; add 0 + 16r limbs (adjust loop counter) -Lbase: ld r8,r3,4 - addu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; add 15 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; add 14 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; add 13 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; add 12 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; add 11 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; add 10 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - ld r6,r3,32 ; add 9 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,32 - st r8,r2,28 - ld r8,r3,36 ; add 8 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,36 - st r6,r2,32 - ld r6,r3,40 ; add 7 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,40 - st r8,r2,36 - ld r8,r3,44 ; add 6 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,44 - st r6,r2,40 - ld r6,r3,48 ; add 5 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,48 - st r8,r2,44 - ld r8,r3,52 ; add 4 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,52 - st r6,r2,48 - ld r6,r3,56 ; add 3 + 16r limbs - addu.cio r8,r8,r9 - ld r7,r4,56 - st r8,r2,52 - ld r8,r3,60 ; add 2 + 16r limbs - addu.cio r6,r6,r7 - ld r9,r4,60 - st r6,r2,56 - bcnd.n ne0,r10,Loop ; add 1 + 16r limbs - addu.cio r8,r8,r9 - - st r8,r2,60 ; store most significant limb - - jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb diff --git a/sysdeps/m88k/m88100/add_n.s b/sysdeps/m88k/m88100/add_n.s deleted file mode 100644 index 0741ec9..0000000 --- a/sysdeps/m88k/m88100/add_n.s +++ /dev/null @@ -1,103 +0,0 @@ -; mc88100 __mpn_add -- Add two limb vectors of the same length > 0 and store -; sum in a third limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is about 4.6 clocks/limb + 18 clocks/limb-vector on an 88100, -; but on the 88110, it seems to run much slower, 6.6 clocks/limb. - - text - align 16 - global ___mpn_add_n -___mpn_add_n: - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,3 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,3<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,32 - st r8,r2,28 - addu r4,r4,32 - ld r6,r3,0 - addu r2,r2,32 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; add 0 + 8r limbs (adj loop cnt) -Lbase: ld r8,r3,4 - addu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; add 7 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; add 6 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; add 5 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; add 4 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; add 3 + 8r limbs - addu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; add 2 + 8r limbs - addu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - bcnd.n ne0,r10,Loop ; add 1 + 8r limbs - addu.cio r8,r8,r9 - - st r8,r2,28 ; store most significant limb - - jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb diff --git a/sysdeps/m88k/m88100/mul_1.S b/sysdeps/m88k/m88100/mul_1.S deleted file mode 100644 index 503897b..0000000 --- a/sysdeps/m88k/m88100/mul_1.S +++ /dev/null @@ -1,127 +0,0 @@ -; mc88100 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2, or (at your option) -; any later version. - -; The GNU MP 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 General Public License for more details. - -; You should have received a copy of the GNU General Public License -; along with the GNU MP Library; see the file COPYING. If not, write to -; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - -; Common overhead is about 11 cycles/invocation. - -; The speed for S2_LIMB >= 0x10000 is approximately 21 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention.) - -; The speed for S2_LIMB < 0x10000 is approximately 16 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention and 1 cycle due to latency.) - -; To enhance speed: -; 1. Unroll main loop 4-8 times. -; 2. Schedule code to avoid WB contention. It might be tempting to move the -; ld instruction in the loops down to save 2 cycles (less WB contention), -; but that looses because the ultimate value will be read from outside -; the allocated space. But if we handle the ultimate multiplication in -; the tail, we can do this. -; 3. Make the multiplication with less instructions. I think the code for -; (S2_LIMB >= 0x10000) is not minimal. -; With these techniques the (S2_LIMB >= 0x10000) case would run in 17 or -; less cycles/limb; the (S2_LIMB < 0x10000) case would run in 11 -; cycles/limb. (Assuming infinite unrolling.) - -#include "sysdep.h" - -ENTRY (__mpn_mul_1) - - ; Make S1_PTR and RES_PTR point at the end of their blocks - ; and negate SIZE. - lda r3,r3[r4] - lda r6,r2[r4] ; RES_PTR in r6 since r2 is retval - subu r4,r0,r4 - - addu.co r2,r0,r0 ; r2 = cy = 0 - ld r9,r3[r4] - mask r7,r5,0xffff ; r7 = lo(S2_LIMB) - extu r8,r5,16 ; r8 = hi(S2_LIMB) - bcnd.n eq0,r8,Lsmall ; jump if (hi(S2_LIMB) == 0) - subu r6,r6,4 - -; General code for any value of S2_LIMB. - - ; Make a stack frame and save r25 and r26 - subu r31,r31,16 - st.d r25,r31,8 - - ; Enter the loop in the middle - br.n L1 - addu r4,r4,1 - -Loop: - ld r9,r3[r4] - st r26,r6[r4] -; bcnd ne0,r0,0 ; bubble - addu r4,r4,1 -L1: mul r26,r9,r5 ; low word of product mul_1 WB ld - mask r12,r9,0xffff ; r12 = lo(s1_limb) mask_1 - mul r11,r12,r7 ; r11 = prod_0 mul_2 WB mask_1 - mul r10,r12,r8 ; r10 = prod_1a mul_3 - extu r13,r9,16 ; r13 = hi(s1_limb) extu_1 WB mul_1 - mul r12,r13,r7 ; r12 = prod_1b mul_4 WB extu_1 - mul r25,r13,r8 ; r25 = prod_2 mul_5 WB mul_2 - extu r11,r11,16 ; r11 = hi(prod_0) extu_2 WB mul_3 - addu r10,r10,r11 ; addu_1 WB extu_2 -; bcnd ne0,r0,0 ; bubble WB addu_1 - addu.co r10,r10,r12 ; WB mul_4 - mask.u r10,r10,0xffff ; move the 16 most significant bits... - addu.ci r10,r10,r0 ; ...to the low half of the word... - rot r10,r10,16 ; ...and put carry in pos 16. - addu.co r26,r26,r2 ; add old carry limb - bcnd.n ne0,r4,Loop - addu.ci r2,r25,r10 ; compute new carry limb - - st r26,r6[r4] - ld.d r25,r31,8 - jmp.n r1 - addu r31,r31,16 - -; Fast code for S2_LIMB < 0x10000 -Lsmall: - ; Enter the loop in the middle - br.n SL1 - addu r4,r4,1 - -SLoop: - ld r9,r3[r4] ; - st r8,r6[r4] ; - addu r4,r4,1 ; -SL1: mul r8,r9,r5 ; low word of product - mask r12,r9,0xffff ; r12 = lo(s1_limb) - extu r13,r9,16 ; r13 = hi(s1_limb) - mul r11,r12,r7 ; r11 = prod_0 - mul r12,r13,r7 ; r12 = prod_1b - addu.cio r8,r8,r2 ; add old carry limb - extu r10,r11,16 ; r11 = hi(prod_0) - addu r10,r10,r12 ; - bcnd.n ne0,r4,SLoop - extu r2,r10,16 ; r2 = new carry limb - - jmp.n r1 - st r8,r6[r4] diff --git a/sysdeps/m88k/m88100/mul_1.s b/sysdeps/m88k/m88100/mul_1.s deleted file mode 100644 index 7724277..0000000 --- a/sysdeps/m88k/m88100/mul_1.s +++ /dev/null @@ -1,128 +0,0 @@ -; mc88100 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - -; Common overhead is about 11 cycles/invocation. - -; The speed for S2_LIMB >= 0x10000 is approximately 21 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention.) - -; The speed for S2_LIMB < 0x10000 is approximately 16 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention and 1 cycle due to latency.) - -; To enhance speed: -; 1. Unroll main loop 4-8 times. -; 2. Schedule code to avoid WB contention. It might be tempting to move the -; ld instruction in the loops down to save 2 cycles (less WB contention), -; but that looses because the ultimate value will be read from outside -; the allocated space. But if we handle the ultimate multiplication in -; the tail, we can do this. -; 3. Make the multiplication with less instructions. I think the code for -; (S2_LIMB >= 0x10000) is not minimal. -; With these techniques the (S2_LIMB >= 0x10000) case would run in 17 or -; less cycles/limb; the (S2_LIMB < 0x10000) case would run in 11 -; cycles/limb. (Assuming infinite unrolling.) - - text - align 16 - global ___mpn_mul_1 -___mpn_mul_1: - - ; Make S1_PTR and RES_PTR point at the end of their blocks - ; and negate SIZE. - lda r3,r3[r4] - lda r6,r2[r4] ; RES_PTR in r6 since r2 is retval - subu r4,r0,r4 - - addu.co r2,r0,r0 ; r2 = cy = 0 - ld r9,r3[r4] - mask r7,r5,0xffff ; r7 = lo(S2_LIMB) - extu r8,r5,16 ; r8 = hi(S2_LIMB) - bcnd.n eq0,r8,Lsmall ; jump if (hi(S2_LIMB) == 0) - subu r6,r6,4 - -; General code for any value of S2_LIMB. - - ; Make a stack frame and save r25 and r26 - subu r31,r31,16 - st.d r25,r31,8 - - ; Enter the loop in the middle - br.n L1 - addu r4,r4,1 - -Loop: - ld r9,r3[r4] - st r26,r6[r4] -; bcnd ne0,r0,0 ; bubble - addu r4,r4,1 -L1: mul r26,r9,r5 ; low word of product mul_1 WB ld - mask r12,r9,0xffff ; r12 = lo(s1_limb) mask_1 - mul r11,r12,r7 ; r11 = prod_0 mul_2 WB mask_1 - mul r10,r12,r8 ; r10 = prod_1a mul_3 - extu r13,r9,16 ; r13 = hi(s1_limb) extu_1 WB mul_1 - mul r12,r13,r7 ; r12 = prod_1b mul_4 WB extu_1 - mul r25,r13,r8 ; r25 = prod_2 mul_5 WB mul_2 - extu r11,r11,16 ; r11 = hi(prod_0) extu_2 WB mul_3 - addu r10,r10,r11 ; addu_1 WB extu_2 -; bcnd ne0,r0,0 ; bubble WB addu_1 - addu.co r10,r10,r12 ; WB mul_4 - mask.u r10,r10,0xffff ; move the 16 most significant bits... - addu.ci r10,r10,r0 ; ...to the low half of the word... - rot r10,r10,16 ; ...and put carry in pos 16. - addu.co r26,r26,r2 ; add old carry limb - bcnd.n ne0,r4,Loop - addu.ci r2,r25,r10 ; compute new carry limb - - st r26,r6[r4] - ld.d r25,r31,8 - jmp.n r1 - addu r31,r31,16 - -; Fast code for S2_LIMB < 0x10000 -Lsmall: - ; Enter the loop in the middle - br.n SL1 - addu r4,r4,1 - -SLoop: - ld r9,r3[r4] ; - st r8,r6[r4] ; - addu r4,r4,1 ; -SL1: mul r8,r9,r5 ; low word of product - mask r12,r9,0xffff ; r12 = lo(s1_limb) - extu r13,r9,16 ; r13 = hi(s1_limb) - mul r11,r12,r7 ; r11 = prod_0 - mul r12,r13,r7 ; r12 = prod_1b - addu.cio r8,r8,r2 ; add old carry limb - extu r10,r11,16 ; r11 = hi(prod_0) - addu r10,r10,r12 ; - bcnd.n ne0,r4,SLoop - extu r2,r10,16 ; r2 = new carry limb - - jmp.n r1 - st r8,r6[r4] diff --git a/sysdeps/m88k/m88100/sub_n.S b/sysdeps/m88k/m88100/sub_n.S deleted file mode 100644 index 927ece4..0000000 --- a/sysdeps/m88k/m88100/sub_n.S +++ /dev/null @@ -1,134 +0,0 @@ -; mc88100 __mpn_sub -- Subtract two limb vectors of the same length > 0 and -; store difference in a third limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2, or (at your option) -; any later version. - -; The GNU MP 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 General Public License for more details. - -; You should have received a copy of the GNU General Public License -; along with the GNU MP Library; see the file COPYING. If not, write to -; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is approximately 4.3 clocks/limb + 18 clocks/limb-vector. - -#include "sysdep.h" - -ENTRY (__mpn_sub_n) - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,4 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,4<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,64 - st r8,r2,60 - addu r4,r4,64 - ld r6,r3,0 - addu r2,r2,64 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; subtract 0 + 16r limbs (adjust loop counter) -Lbase: ld r8,r3,4 - subu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; subtract 15 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; subtract 14 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; subtract 13 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; subtract 12 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; subtract 11 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; subtract 10 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - ld r6,r3,32 ; subtract 9 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,32 - st r8,r2,28 - ld r8,r3,36 ; subtract 8 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,36 - st r6,r2,32 - ld r6,r3,40 ; subtract 7 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,40 - st r8,r2,36 - ld r8,r3,44 ; subtract 6 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,44 - st r6,r2,40 - ld r6,r3,48 ; subtract 5 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,48 - st r8,r2,44 - ld r8,r3,52 ; subtract 4 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,52 - st r6,r2,48 - ld r6,r3,56 ; subtract 3 + 16r limbs - subu.cio r8,r8,r9 - ld r7,r4,56 - st r8,r2,52 - ld r8,r3,60 ; subtract 2 + 16r limbs - subu.cio r6,r6,r7 - ld r9,r4,60 - st r6,r2,56 - bcnd.n ne0,r10,Loop ; subtract 1 + 16r limbs - subu.cio r8,r8,r9 - - st r8,r2,60 ; store most significant limb - - addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 diff --git a/sysdeps/m88k/m88100/sub_n.s b/sysdeps/m88k/m88100/sub_n.s deleted file mode 100644 index a132c21..0000000 --- a/sysdeps/m88k/m88100/sub_n.s +++ /dev/null @@ -1,104 +0,0 @@ -; mc88100 __mpn_sub -- Subtract two limb vectors of the same length > 0 and -; store difference in a third limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP Library; see the file COPYING.LIB. If not, write to -; the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is about 4.6 clocks/limb + 18 clocks/limb-vector on an 88100, -; but on the 88110, it seems to run much slower, 6.6 clocks/limb. - - text - align 16 - global ___mpn_sub_n -___mpn_sub_n: - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,3 - ld r7,r4,0 ; read first limb from s2_ptr - - subu.co r5,r0,r5 ; (clear carry as side effect) - mak r5,r5,3<4> - bcnd eq0,r5,Lzero - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,32 - st r8,r2,28 - addu r4,r4,32 - ld r6,r3,0 - addu r2,r2,32 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; subtract 0 + 8r limbs (adj loop cnt) -Lbase: ld r8,r3,4 - subu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; subtract 7 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; subtract 6 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; subtract 5 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; subtract 4 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; subtract 3 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; subtract 2 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - bcnd.n ne0,r10,Loop ; subtract 1 + 8r limbs - subu.cio r8,r8,r9 - - st r8,r2,28 ; store most significant limb - - addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 diff --git a/sysdeps/m88k/m88110/add_n.S b/sysdeps/m88k/m88110/add_n.S deleted file mode 100644 index 3c90674..0000000 --- a/sysdeps/m88k/m88110/add_n.S +++ /dev/null @@ -1,200 +0,0 @@ -; mc88110 __mpn_add_n -- Add two limb vectors of the same length > 0 and store -; sum in a third limb vector. - -; Copyright (C) 1995, 1996 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP 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. - - -; INPUT PARAMETERS -#define res_ptr r2 -#define s1_ptr r3 -#define s2_ptr r4 -#define size r5 - -#include "sysdep.h" - - text - align 16 - global C_SYMBOL_NAME(__mpn_add_n) -C_SYMBOL_NAME(__mpn_add_n): - addu.co r0,r0,r0 ; clear cy flag - xor r12,s2_ptr,res_ptr - bb1 2,r12,L1 -; ** V1a ** -L0: bb0 2,res_ptr,L_v1 ; branch if res_ptr is aligned? -/* Add least significant limb separately to align res_ptr and s2_ptr */ - ld r10,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - ld r8,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - subu size,size,1 - addu.co r6,r10,r8 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 -L_v1: cmp r12,size,2 - bb1 lt,r12,Lend2 - - ld r10,s1_ptr,0 - ld r12,s1_ptr,4 - ld.d r8,s2_ptr,0 - subu size,size,10 - bcnd lt0,size,Lfin1 -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop1: subu size,size,8 - addu.cio r6,r10,r8 - ld r10,s1_ptr,8 - addu.cio r7,r12,r9 - ld r12,s1_ptr,12 - ld.d r8,s2_ptr,8 - st.d r6,res_ptr,0 - addu.cio r6,r10,r8 - ld r10,s1_ptr,16 - addu.cio r7,r12,r9 - ld r12,s1_ptr,20 - ld.d r8,s2_ptr,16 - st.d r6,res_ptr,8 - addu.cio r6,r10,r8 - ld r10,s1_ptr,24 - addu.cio r7,r12,r9 - ld r12,s1_ptr,28 - ld.d r8,s2_ptr,24 - st.d r6,res_ptr,16 - addu.cio r6,r10,r8 - ld r10,s1_ptr,32 - addu.cio r7,r12,r9 - ld r12,s1_ptr,36 - addu s1_ptr,s1_ptr,32 - ld.d r8,s2_ptr,32 - addu s2_ptr,s2_ptr,32 - st.d r6,res_ptr,24 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop1 - -Lfin1: addu size,size,8-2 - bcnd lt0,size,Lend1 -/* Add blocks of 2 limbs until less than 2 limbs remain */ -Loope1: addu.cio r6,r10,r8 - ld r10,s1_ptr,8 - addu.cio r7,r12,r9 - ld r12,s1_ptr,12 - ld.d r8,s2_ptr,8 - st.d r6,res_ptr,0 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope1 -Lend1: addu.cio r6,r10,r8 - addu.cio r7,r12,r9 - st.d r6,res_ptr,0 - - bb0 0,size,Lret1 -/* Add last limb */ - ld r10,s1_ptr,8 - ld r8,s2_ptr,8 - addu.cio r6,r10,r8 - st r6,res_ptr,8 - -Lret1: jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb - -L1: xor r12,s1_ptr,res_ptr - bb1 2,r12,L2 -; ** V1b ** - or r12,r0,s2_ptr - or s2_ptr,r0,s1_ptr - or s1_ptr,r0,r12 - br L0 - -; ** V2 ** -/* If we come here, the alignment of s1_ptr and res_ptr as well as the - alignment of s2_ptr and res_ptr differ. Since there are only two ways - things can be aligned (that we care about) we now know that the alignment - of s1_ptr and s2_ptr are the same. */ - -L2: cmp r12,size,1 - bb1 eq,r12,Ljone - bb0 2,s1_ptr,L_v2 ; branch if s1_ptr is aligned -/* Add least significant limb separately to align res_ptr and s2_ptr */ - ld r10,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - ld r8,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - subu size,size,1 - addu.co r6,r10,r8 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 - -L_v2: subu size,size,8 - bcnd lt0,size,Lfin2 -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop2: subu size,size,8 - ld.d r8,s1_ptr,0 - ld.d r6,s2_ptr,0 - addu.cio r8,r8,r6 - st r8,res_ptr,0 - addu.cio r9,r9,r7 - st r9,res_ptr,4 - ld.d r8,s1_ptr,8 - ld.d r6,s2_ptr,8 - addu.cio r8,r8,r6 - st r8,res_ptr,8 - addu.cio r9,r9,r7 - st r9,res_ptr,12 - ld.d r8,s1_ptr,16 - ld.d r6,s2_ptr,16 - addu.cio r8,r8,r6 - st r8,res_ptr,16 - addu.cio r9,r9,r7 - st r9,res_ptr,20 - ld.d r8,s1_ptr,24 - ld.d r6,s2_ptr,24 - addu.cio r8,r8,r6 - st r8,res_ptr,24 - addu.cio r9,r9,r7 - st r9,res_ptr,28 - addu s1_ptr,s1_ptr,32 - addu s2_ptr,s2_ptr,32 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop2 - -Lfin2: addu size,size,8-2 - bcnd lt0,size,Lend2 -Loope2: ld.d r8,s1_ptr,0 - ld.d r6,s2_ptr,0 - addu.cio r8,r8,r6 - st r8,res_ptr,0 - addu.cio r9,r9,r7 - st r9,res_ptr,4 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope2 -Lend2: bb0 0,size,Lret2 -/* Add last limb */ -Ljone: ld r10,s1_ptr,0 - ld r8,s2_ptr,0 - addu.cio r6,r10,r8 - st r6,res_ptr,0 - -Lret2: jmp.n r1 - addu.ci r2,r0,r0 ; return carry-out from most sign. limb diff --git a/sysdeps/m88k/m88110/addmul_1.s b/sysdeps/m88k/m88110/addmul_1.s deleted file mode 100644 index a9845ef..0000000 --- a/sysdeps/m88k/m88110/addmul_1.s +++ /dev/null @@ -1,61 +0,0 @@ -; mc88110 __mpn_addmul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1996 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP 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. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - - text - align 16 - global ___mpn_addmul_1 -___mpn_addmul_1: - lda r3,r3[r4] - lda r8,r2[r4] ; RES_PTR in r8 since r2 is retval - subu r4,r0,r4 - addu.co r2,r0,r0 ; r2 = cy = 0 - - ld r6,r3[r4] - addu r4,r4,1 - subu r8,r8,4 - bcnd.n eq0,r4,Lend - mulu.d r10,r6,r5 - -Loop: ld r7,r8[r4] - ld r6,r3[r4] - addu.cio r9,r11,r2 - addu.ci r2,r10,r0 - addu.co r9,r9,r7 - st r9,r8[r4] - addu r4,r4,1 - mulu.d r10,r6,r5 - bcnd ne0,r4,Loop - -Lend: ld r7,r8,0 - addu.cio r9,r11,r2 - addu.ci r2,r10,r0 - addu.co r9,r9,r7 - st r9,r8,0 - jmp.n r1 - addu.ci r2,r2,r0 diff --git a/sysdeps/m88k/m88110/mul_1.S b/sysdeps/m88k/m88110/mul_1.S deleted file mode 100644 index 7a07623..0000000 --- a/sysdeps/m88k/m88110/mul_1.S +++ /dev/null @@ -1,80 +0,0 @@ -; mc88110 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU General Public License as published by -; the Free Software Foundation; either version 2, or (at your option) -; any later version. - -; The GNU MP 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 General Public License for more details. - -; You should have received a copy of the GNU General Public License -; along with the GNU MP Library; see the file COPYING. If not, write to -; the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - -#include "sysdep.h" - -ENTRY (__mpn_mul_1) - ld r6,r3,0 - sub r4,r0,r4 - sub r3,r3,r4 ; r3 is offset s1_ptr - sub r2,r2,r4 - sub r8,r2,8 ; r8 is offset res_ptr - mulu.d r10,r6,r5 - - addu r4,r4,1 - bcnd eq0,r4,Lend - addu.co r2,r0,0 ; clear cy_limb - -Loop: ld r6,r3[r4] - addu.cio r9,r11,r2 - or r2,r10,r0 ; could be avoided if unrolled - addu r4,r4,1 - mulu.d r10,r6,r5 - bcnd ne0,r4,Loop - st r9,r8[r4] - -Lend: addu.cio r9,r11,r2 - st r9,r8,4 - jmp.n r1 - addu.ci r2,r10,r0 - -; This is the Right Way to do this on '110. 4 cycles / 64-bit limb. -; ld.d r10, -; mulu.d -; addu.cio -; addu.cio -; st.d -; mulu.d ,r11,r5 -; ld.d r12, -; mulu.d ,r10,r5 -; addu.cio -; addu.cio -; st.d -; mulu.d -; ld.d r10, -; mulu.d -; addu.cio -; addu.cio -; st.d -; mulu.d -; ld.d r10, -; mulu.d -; addu.cio -; addu.cio -; st.d -; mulu.d diff --git a/sysdeps/m88k/m88110/mul_1.s b/sysdeps/m88k/m88110/mul_1.s deleted file mode 100644 index 103869d..0000000 --- a/sysdeps/m88k/m88110/mul_1.s +++ /dev/null @@ -1,59 +0,0 @@ -; mc88110 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP 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. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - - text - align 16 - global ___mpn_mul_1 -___mpn_mul_1: - ; Make S1_PTR and RES_PTR point at the end of their blocks - ; and negate SIZE. - lda r3,r3[r4] - lda r8,r2[r4] ; RES_PTR in r8 since r2 is retval - subu r4,r0,r4 - - addu.co r2,r0,r0 ; r2 = cy = 0 - - ld r6,r3[r4] - addu r4,r4,1 - mulu.d r10,r6,r5 - bcnd.n eq0,r4,Lend - subu r8,r8,8 - -Loop: ld r6,r3[r4] - addu.cio r9,r11,r2 - or r2,r10,r0 ; could be avoided if unrolled - addu r4,r4,1 - mulu.d r10,r6,r5 - bcnd.n ne0,r4,Loop - st r9,r8[r4] - -Lend: addu.cio r9,r11,r2 - st r9,r8,4 - jmp.n r1 - addu.ci r2,r10,r0 diff --git a/sysdeps/m88k/m88110/sub_n.S b/sysdeps/m88k/m88110/sub_n.S deleted file mode 100644 index a937882..0000000 --- a/sysdeps/m88k/m88110/sub_n.S +++ /dev/null @@ -1,276 +0,0 @@ -; mc88110 __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and -; store difference in a third limb vector. - -; Copyright (C) 1995, 1996 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP 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. - - -; INPUT PARAMETERS -#define res_ptr r2 -#define s1_ptr r3 -#define s2_ptr r4 -#define size r5 - -#include "sysdep.h" - - text - align 16 - global C_SYMBOL_NAME(__mpn_sub_n) -C_SYMBOL_NAME(__mpn_sub_n): - subu.co r0,r0,r0 ; set cy flag - xor r12,s2_ptr,res_ptr - bb1 2,r12,L1 -; ** V1a ** -L0: bb0 2,res_ptr,L_v1 ; branch if res_ptr is aligned -/* Add least significant limb separately to align res_ptr and s2_ptr */ - ld r10,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - ld r8,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - subu size,size,1 - subu.co r6,r10,r8 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 -L_v1: cmp r12,size,2 - bb1 lt,r12,Lend2 - - ld r10,s1_ptr,0 - ld r12,s1_ptr,4 - ld.d r8,s2_ptr,0 - subu size,size,10 - bcnd lt0,size,Lfin1 -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop1: subu size,size,8 - subu.cio r6,r10,r8 - ld r10,s1_ptr,8 - subu.cio r7,r12,r9 - ld r12,s1_ptr,12 - ld.d r8,s2_ptr,8 - st.d r6,res_ptr,0 - subu.cio r6,r10,r8 - ld r10,s1_ptr,16 - subu.cio r7,r12,r9 - ld r12,s1_ptr,20 - ld.d r8,s2_ptr,16 - st.d r6,res_ptr,8 - subu.cio r6,r10,r8 - ld r10,s1_ptr,24 - subu.cio r7,r12,r9 - ld r12,s1_ptr,28 - ld.d r8,s2_ptr,24 - st.d r6,res_ptr,16 - subu.cio r6,r10,r8 - ld r10,s1_ptr,32 - subu.cio r7,r12,r9 - ld r12,s1_ptr,36 - addu s1_ptr,s1_ptr,32 - ld.d r8,s2_ptr,32 - addu s2_ptr,s2_ptr,32 - st.d r6,res_ptr,24 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop1 - -Lfin1: addu size,size,8-2 - bcnd lt0,size,Lend1 -/* Add blocks of 2 limbs until less than 2 limbs remain */ -Loope1: subu.cio r6,r10,r8 - ld r10,s1_ptr,8 - subu.cio r7,r12,r9 - ld r12,s1_ptr,12 - ld.d r8,s2_ptr,8 - st.d r6,res_ptr,0 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope1 -Lend1: subu.cio r6,r10,r8 - subu.cio r7,r12,r9 - st.d r6,res_ptr,0 - - bb0 0,size,Lret1 -/* Add last limb */ - ld r10,s1_ptr,8 - ld r8,s2_ptr,8 - subu.cio r6,r10,r8 - st r6,res_ptr,8 - -Lret1: addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 - -L1: xor r12,s1_ptr,res_ptr - bb1 2,r12,L2 -; ** V1b ** - bb0 2,res_ptr,L_v1b ; branch if res_ptr is aligned -/* Add least significant limb separately to align res_ptr and s1_ptr */ - ld r10,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - ld r8,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - subu size,size,1 - subu.co r6,r8,r10 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 -L_v1b: cmp r12,size,2 - bb1 lt,r12,Lend2 - - ld r10,s2_ptr,0 - ld r12,s2_ptr,4 - ld.d r8,s1_ptr,0 - subu size,size,10 - bcnd lt0,size,Lfin1b -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop1b: subu size,size,8 - subu.cio r6,r8,r10 - ld r10,s2_ptr,8 - subu.cio r7,r9,r12 - ld r12,s2_ptr,12 - ld.d r8,s1_ptr,8 - st.d r6,res_ptr,0 - subu.cio r6,r8,r10 - ld r10,s2_ptr,16 - subu.cio r7,r9,r12 - ld r12,s2_ptr,20 - ld.d r8,s1_ptr,16 - st.d r6,res_ptr,8 - subu.cio r6,r8,r10 - ld r10,s2_ptr,24 - subu.cio r7,r9,r12 - ld r12,s2_ptr,28 - ld.d r8,s1_ptr,24 - st.d r6,res_ptr,16 - subu.cio r6,r8,r10 - ld r10,s2_ptr,32 - subu.cio r7,r9,r12 - ld r12,s2_ptr,36 - addu s2_ptr,s2_ptr,32 - ld.d r8,s1_ptr,32 - addu s1_ptr,s1_ptr,32 - st.d r6,res_ptr,24 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop1b - -Lfin1b: addu size,size,8-2 - bcnd lt0,size,Lend1b -/* Add blocks of 2 limbs until less than 2 limbs remain */ -Loope1b:subu.cio r6,r8,r10 - ld r10,s2_ptr,8 - subu.cio r7,r9,r12 - ld r12,s2_ptr,12 - ld.d r8,s1_ptr,8 - st.d r6,res_ptr,0 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope1b -Lend1b: subu.cio r6,r8,r10 - subu.cio r7,r9,r12 - st.d r6,res_ptr,0 - - bb0 0,size,Lret1b -/* Add last limb */ - ld r10,s2_ptr,8 - ld r8,s1_ptr,8 - subu.cio r6,r8,r10 - st r6,res_ptr,8 - -Lret1b: addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 - -; ** V2 ** -/* If we come here, the alignment of s1_ptr and res_ptr as well as the - alignment of s2_ptr and res_ptr differ. Since there are only two ways - things can be aligned (that we care about) we now know that the alignment - of s1_ptr and s2_ptr are the same. */ - -L2: cmp r12,size,1 - bb1 eq,r12,Ljone - bb0 2,s1_ptr,L_v2 ; branch if s1_ptr is aligned -/* Add least significant limb separately to align res_ptr and s2_ptr */ - ld r10,s1_ptr,0 - addu s1_ptr,s1_ptr,4 - ld r8,s2_ptr,0 - addu s2_ptr,s2_ptr,4 - subu size,size,1 - subu.co r6,r10,r8 - st r6,res_ptr,0 - addu res_ptr,res_ptr,4 - -L_v2: subu size,size,8 - bcnd lt0,size,Lfin2 -/* Add blocks of 8 limbs until less than 8 limbs remain */ - align 8 -Loop2: subu size,size,8 - ld.d r8,s1_ptr,0 - ld.d r6,s2_ptr,0 - subu.cio r8,r8,r6 - st r8,res_ptr,0 - subu.cio r9,r9,r7 - st r9,res_ptr,4 - ld.d r8,s1_ptr,8 - ld.d r6,s2_ptr,8 - subu.cio r8,r8,r6 - st r8,res_ptr,8 - subu.cio r9,r9,r7 - st r9,res_ptr,12 - ld.d r8,s1_ptr,16 - ld.d r6,s2_ptr,16 - subu.cio r8,r8,r6 - st r8,res_ptr,16 - subu.cio r9,r9,r7 - st r9,res_ptr,20 - ld.d r8,s1_ptr,24 - ld.d r6,s2_ptr,24 - subu.cio r8,r8,r6 - st r8,res_ptr,24 - subu.cio r9,r9,r7 - st r9,res_ptr,28 - addu s1_ptr,s1_ptr,32 - addu s2_ptr,s2_ptr,32 - addu res_ptr,res_ptr,32 - bcnd ge0,size,Loop2 - -Lfin2: addu size,size,8-2 - bcnd lt0,size,Lend2 -Loope2: ld.d r8,s1_ptr,0 - ld.d r6,s2_ptr,0 - subu.cio r8,r8,r6 - st r8,res_ptr,0 - subu.cio r9,r9,r7 - st r9,res_ptr,4 - subu size,size,2 - addu s1_ptr,s1_ptr,8 - addu s2_ptr,s2_ptr,8 - addu res_ptr,res_ptr,8 - bcnd ge0,size,Loope2 -Lend2: bb0 0,size,Lret2 -/* Add last limb */ -Ljone: ld r10,s1_ptr,0 - ld r8,s2_ptr,0 - subu.cio r6,r10,r8 - st r6,res_ptr,0 - -Lret2: addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 diff --git a/sysdeps/m88k/mul_1.s b/sysdeps/m88k/mul_1.s deleted file mode 100644 index 7aa6d64..0000000 --- a/sysdeps/m88k/mul_1.s +++ /dev/null @@ -1,127 +0,0 @@ -; mc88100 __mpn_mul_1 -- Multiply a limb vector with a single limb and -; store the product in a second limb vector. - -; Copyright (C) 1992, 1994, 1995 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP 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. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; size r4 -; s2_limb r5 - -; Common overhead is about 11 cycles/invocation. - -; The speed for S2_LIMB >= 0x10000 is approximately 21 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention.) - -; The speed for S2_LIMB < 0x10000 is approximately 16 cycles/limb. (The -; pipeline stalls 2 cycles due to WB contention and 1 cycle due to latency.) - -; To enhance speed: -; 1. Unroll main loop 4-8 times. -; 2. Schedule code to avoid WB contention. It might be tempting to move the -; ld instruction in the loops down to save 2 cycles (less WB contention), -; but that looses because the ultimate value will be read from outside -; the allocated space. But if we handle the ultimate multiplication in -; the tail, we can do this. -; 3. Make the multiplication with less instructions. I think the code for -; (S2_LIMB >= 0x10000) is not minimal. -; With these techniques the (S2_LIMB >= 0x10000) case would run in 17 or -; less cycles/limb; the (S2_LIMB < 0x10000) case would run in 11 -; cycles/limb. (Assuming infinite unrolling.) - - text - align 16 - global ___mpn_mul_1 -___mpn_mul_1: - - ; Make S1_PTR and RES_PTR point at the end of their blocks - ; and negate SIZE. - lda r3,r3[r4] - lda r6,r2[r4] ; RES_PTR in r6 since r2 is retval - subu r4,r0,r4 - - addu.co r2,r0,r0 ; r2 = cy = 0 - ld r9,r3[r4] - mask r7,r5,0xffff ; r7 = lo(S2_LIMB) - extu r8,r5,16 ; r8 = hi(S2_LIMB) - bcnd.n eq0,r8,Lsmall ; jump if (hi(S2_LIMB) == 0) - subu r6,r6,4 - -; General code for any value of S2_LIMB. - - ; Make a stack frame and save r25 and r26 - subu r31,r31,16 - st.d r25,r31,8 - - ; Enter the loop in the middle - br.n L1 - addu r4,r4,1 - -Loop: ld r9,r3[r4] - st r26,r6[r4] -; bcnd ne0,r0,0 ; bubble - addu r4,r4,1 -L1: mul r26,r9,r5 ; low word of product mul_1 WB ld - mask r12,r9,0xffff ; r12 = lo(s1_limb) mask_1 - mul r11,r12,r7 ; r11 = prod_0 mul_2 WB mask_1 - mul r10,r12,r8 ; r10 = prod_1a mul_3 - extu r13,r9,16 ; r13 = hi(s1_limb) extu_1 WB mul_1 - mul r12,r13,r7 ; r12 = prod_1b mul_4 WB extu_1 - mul r25,r13,r8 ; r25 = prod_2 mul_5 WB mul_2 - extu r11,r11,16 ; r11 = hi(prod_0) extu_2 WB mul_3 - addu r10,r10,r11 ; addu_1 WB extu_2 -; bcnd ne0,r0,0 ; bubble WB addu_1 - addu.co r10,r10,r12 ; WB mul_4 - mask.u r10,r10,0xffff ; move the 16 most significant bits... - addu.ci r10,r10,r0 ; ...to the low half of the word... - rot r10,r10,16 ; ...and put carry in pos 16. - addu.co r26,r26,r2 ; add old carry limb - bcnd.n ne0,r4,Loop - addu.ci r2,r25,r10 ; compute new carry limb - - st r26,r6[r4] - ld.d r25,r31,8 - jmp.n r1 - addu r31,r31,16 - -; Fast code for S2_LIMB < 0x10000 -Lsmall: - ; Enter the loop in the middle - br.n SL1 - addu r4,r4,1 - -SLoop: ld r9,r3[r4] ; - st r8,r6[r4] ; - addu r4,r4,1 ; -SL1: mul r8,r9,r5 ; low word of product - mask r12,r9,0xffff ; r12 = lo(s1_limb) - extu r13,r9,16 ; r13 = hi(s1_limb) - mul r11,r12,r7 ; r11 = prod_0 - mul r12,r13,r7 ; r12 = prod_1b - addu.cio r8,r8,r2 ; add old carry limb - extu r10,r11,16 ; r11 = hi(prod_0) - addu r10,r10,r12 ; - bcnd.n ne0,r4,SLoop - extu r2,r10,16 ; r2 = new carry limb - - jmp.n r1 - st r8,r6[r4] diff --git a/sysdeps/m88k/sub_n.s b/sysdeps/m88k/sub_n.s deleted file mode 100644 index 7616dc4..0000000 --- a/sysdeps/m88k/sub_n.s +++ /dev/null @@ -1,106 +0,0 @@ -; mc88100 __mpn_sub -- Subtract two limb vectors of the same length > 0 and -; store difference in a third limb vector. - -; Copyright (C) 1992, 1994, 1996 Free Software Foundation, Inc. - -; This file is part of the GNU MP Library. - -; The GNU MP Library is free software; you can redistribute it and/or modify -; it under the terms of the GNU Lesser General Public License as published by -; the Free Software Foundation; either version 2.1 of the License, or (at your -; option) any later version. - -; The GNU MP 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 Lesser General Public -; License for more details. - -; You should have received a copy of the GNU Lesser General Public License -; along with the GNU MP 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. - - -; INPUT PARAMETERS -; res_ptr r2 -; s1_ptr r3 -; s2_ptr r4 -; size r5 - -; This code has been optimized to run one instruction per clock, avoiding -; load stalls and writeback contention. As a result, the instruction -; order is not always natural. - -; The speed is about 4.6 clocks/limb + 18 clocks/limb-vector on an 88100, -; but on the 88110, it seems to run much slower, 6.6 clocks/limb. - - text - align 16 - global ___mpn_sub_n -___mpn_sub_n: - ld r6,r3,0 ; read first limb from s1_ptr - extu r10,r5,3 - ld r7,r4,0 ; read first limb from s2_ptr - - subu r5,r0,r5 - mak r5,r5,3<4> - bcnd.n eq0,r5,Lzero - subu.co r0,r0,r0 ; initialize carry - - or r12,r0,lo16(Lbase) - or.u r12,r12,hi16(Lbase) - addu r12,r12,r5 ; r12 is address for entering in loop - - extu r5,r5,2 ; divide by 4 - subu r2,r2,r5 ; adjust res_ptr - subu r3,r3,r5 ; adjust s1_ptr - subu r4,r4,r5 ; adjust s2_ptr - - or r8,r6,r0 - - jmp.n r12 - or r9,r7,r0 - -Loop: addu r3,r3,32 - st r8,r2,28 - addu r4,r4,32 - ld r6,r3,0 - addu r2,r2,32 - ld r7,r4,0 -Lzero: subu r10,r10,1 ; subtract 0 + 8r limbs (adj loop cnt) -Lbase: ld r8,r3,4 - subu.cio r6,r6,r7 - ld r9,r4,4 - st r6,r2,0 - ld r6,r3,8 ; subtract 7 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,8 - st r8,r2,4 - ld r8,r3,12 ; subtract 6 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,12 - st r6,r2,8 - ld r6,r3,16 ; subtract 5 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,16 - st r8,r2,12 - ld r8,r3,20 ; subtract 4 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,20 - st r6,r2,16 - ld r6,r3,24 ; subtract 3 + 8r limbs - subu.cio r8,r8,r9 - ld r7,r4,24 - st r8,r2,20 - ld r8,r3,28 ; subtract 2 + 8r limbs - subu.cio r6,r6,r7 - ld r9,r4,28 - st r6,r2,24 - bcnd.n ne0,r10,Loop ; subtract 1 + 8r limbs - subu.cio r8,r8,r9 - - st r8,r2,28 ; store most significant limb - - addu.ci r2,r0,r0 ; return carry-out from most sign. limb - jmp.n r1 - xor r2,r2,1 diff --git a/sysdeps/mach/alpha/machine-lock.h b/sysdeps/mach/alpha/machine-lock.h deleted file mode 100644 index bd27d2a..0000000 --- a/sysdeps/mach/alpha/machine-lock.h +++ /dev/null @@ -1,80 +0,0 @@ -/* Machine-specific definition for spin locks. Alpha version. - Copyright (C) 1994, 1997, 2007 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _MACHINE_LOCK_H -#define _MACHINE_LOCK_H - -/* The type of a spin lock variable. */ - -typedef __volatile long int __spin_lock_t; - -/* Value to initialize `__spin_lock_t' variables to. */ - -#define __SPIN_LOCK_INITIALIZER 0L - - -#ifndef _EXTERN_INLINE -#define _EXTERN_INLINE __extern_inline -#endif - -/* Unlock LOCK. */ - -_EXTERN_INLINE void -__spin_unlock (__spin_lock_t *__lock) -{ - __asm__ __volatile__ ("mb; stq $31, %0; mb" - : "=m" (__lock)); -} - -/* Try to lock LOCK; return nonzero if we locked it, zero if another has. */ - -_EXTERN_INLINE int -__spin_try_lock (register __spin_lock_t *__lock) -{ - register long int __rtn, __tmp; - - do - { - __asm__ __volatile__ ("mb; ldq_l %0,%1" /* Load lock value into TMP. */ - : "=r" (__tmp) : "m" (*__lock)); - __rtn = 2; /* Load locked value into RTN. */ - if (__tmp) - /* The lock is already taken. */ - return 0; - - /* The lock is not taken; try to get it now. */ - __asm__ __volatile__ ("stq_c %0,%1" - : "=r" (__rtn), "=m" (*__lock) - : "0" (__rtn), "1" (*__lock)); - /* RTN is clear if stq_c was interrupted; loop to try the lock again. */ - } while (! __rtn); - /* RTN is now nonzero; we have the lock. */ - return __rtn; -} - -/* Return nonzero if LOCK is locked. */ - -_EXTERN_INLINE int -__spin_lock_locked (__spin_lock_t *__lock) -{ - return *__lock != 0; -} - - -#endif /* machine-lock.h */ diff --git a/sysdeps/mach/alpha/machine-sp.h b/sysdeps/mach/alpha/machine-sp.h deleted file mode 100644 index e6df63c..0000000 --- a/sysdeps/mach/alpha/machine-sp.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Machine-specific function to return the stack pointer. Alpha version. - Copyright (C) 1994, 1997, 2007 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _MACHINE_SP_H -#define _MACHINE_SP_H - -/* Return the current stack pointer. */ - -#ifndef _EXTERN_INLINE -#define _EXTERN_INLINE __extern_inline -#endif - -_EXTERN_INLINE void * -__thread_stack_pointer (void) -{ - register void *__sp__ __asm__ ("$30"); - return __sp__; -} - -#endif /* machine-sp.h */ diff --git a/sysdeps/mach/alpha/setfpucw.c b/sysdeps/mach/alpha/setfpucw.c deleted file mode 100644 index a2887c8..0000000 --- a/sysdeps/mach/alpha/setfpucw.c +++ /dev/null @@ -1,69 +0,0 @@ -/* Set FP exception mask and rounding mode. Mach/Alpha version. - Copyright (C) 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - - -#define FPCR_DYN_SHIFT 58 /* first dynamic rounding mode bit */ -#define FPCR_DYN_CHOPPED (0x0UL << FPCR_DYN_SHIFT) /* towards 0 */ -#define FPCR_DYN_MINUS (0x1UL << FPCR_DYN_SHIFT) /* towards -INF */ -#define FPCR_DYN_NORMAL (0x2UL << FPCR_DYN_SHIFT) /* towards nearest */ -#define FPCR_DYN_PLUS (0x3UL << FPCR_DYN_SHIFT) /* towards +INF */ -#define FPCR_DYN_MASK (0x3UL << FPCR_DYN_SHIFT) - -static inline unsigned long -rdfpcr (void) -{ - unsigned long fpcr; - asm ("excb; mf_fpcr %0" : "=f"(fpcr)); - return fpcr; -} - -static inline void -wrfpcr (unsigned long fpcr) -{ - asm volatile ("mt_fpcr %0; excb" : : "f"(fpcr)); -} - - -void -__setfpucw (fpu_control_t fpu_control) -{ - unsigned long fpcr; - - if (!fpu_control) - fpu_control = _FPU_DEFAULT; - - /* first, set dynamic rounding mode: */ - - fpcr = rdfpcr(); - fpcr &= ~FPCR_DYN_MASK; - switch (fpu_control & 0xc00) - { - case _FPU_RC_NEAREST: fpcr |= FPCR_DYN_NORMAL; break; - case _FPU_RC_DOWN: fpcr |= FPCR_DYN_MINUS; break; - case _FPU_RC_UP: fpcr |= FPCR_DYN_PLUS; break; - case _FPU_RC_ZERO: fpcr |= FPCR_DYN_CHOPPED; break; - } - wrfpcr(fpcr); - - /* XXX trap bits? */ - - __fpu_control = fpu_control; /* update global copy */ -} diff --git a/sysdeps/mach/alpha/syscall.S b/sysdeps/mach/alpha/syscall.S deleted file mode 100644 index 15fc5b7..0000000 --- a/sysdeps/mach/alpha/syscall.S +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1994,97,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -ENTRY (syscall) - mov a0, v0 /* Load system call number from first arg. */ - mov a1, a0 - mov a2, a1 - mov a3, a2 - mov a4, a3 - mov a5, a4 - /* Load the remaining possible args (up to 11) from the stack. */ - ldq a5,0(sp) - ldq t0,8(sp) - ldq t1,16(sp) - ldq t2,24(sp) - ldq t3,32(sp) - ldq t4,40(sp) - callsys - ret -END (syscall) diff --git a/sysdeps/mach/alpha/sysdep.h b/sysdeps/mach/alpha/sysdep.h deleted file mode 100644 index 84e21c8..0000000 --- a/sysdeps/mach/alpha/sysdep.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright (C) 1994,97,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define MOVE(x,y) mov x, y - -#define LOSE asm volatile ("call_pal 0") /* halt */ - -#define START_MACHDEP \ - asm ("_start: mov $30, $16\n" /* Put initial SP in a0. */ \ - " br $27, 1f\n" /* Load GP from PC. */ \ - "1: ldgp $29, 0($27)\n" \ - " jmp $26, _start0"); /* Jump to _start0; don't return. */ -#define START_ARGS char **sparg -#define SNARF_ARGS(argc, argv, envp) \ - (envp = &(argv = &sparg[1])[(argc = *(int *) sparg) + 1]) - -#define CALL_WITH_SP(fn, sp) \ - ({ register long int __fn = (long int) fn, __sp = (long int) sp; \ - asm volatile ("mov %0,$30; jmp $31, (%1); ldgp $29, 0(%1)" \ - : : "r" (__sp), "r" (__fn)); }) - -#define STACK_GROWTH_DOWN - -#define RETURN_TO(sp, pc, retval) \ - asm volatile ("mov %0,$30; jmp $31, (%1); mov %2,$0" \ - : : "r" (sp), "r" (pc), "r" ((long int) (retval))); - -#define ALIGN 3 -#include - -/* Alpha needs the .ent and .frame magic that the generic version lacks. */ -#undef ENTRY -#define ENTRY(name) \ - .globl name; \ - .align 3; \ - .ent name, 0; \ - name##: \ - .frame sp, 0, ra - -#include -#undef at -#define at 28 -#define AT $28 -#define fp s6 diff --git a/sysdeps/mach/alpha/thread_state.h b/sysdeps/mach/alpha/thread_state.h deleted file mode 100644 index 0c9527b..0000000 --- a/sysdeps/mach/alpha/thread_state.h +++ /dev/null @@ -1,39 +0,0 @@ -/* Mach thread state definitions for machine-independent code. Alpha version. - Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define MACHINE_THREAD_STATE_FLAVOR ALPHA_THREAD_STATE -#define MACHINE_THREAD_STATE_COUNT ALPHA_THREAD_STATE_COUNT - -#define machine_thread_state alpha_thread_state - -#define PC pc -#define SP r30 -#define SYSRETURN r0 - -struct machine_thread_all_state - { - int set; /* Mask of bits (1 << FLAVOR). */ - struct alpha_thread_state basic; - struct alpha_exc_state exc; - struct alpha_float_state fpu; - }; - -#include diff --git a/sysdeps/mach/hppa/machine-lock.h b/sysdeps/mach/hppa/machine-lock.h deleted file mode 100644 index 8c71d40..0000000 --- a/sysdeps/mach/hppa/machine-lock.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Machine-specific definition for spin locks. HPPA version. - Copyright (C) 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _MACHINE_LOCK_H -#define _MACHINE_LOCK_H - -/* The type of a spin lock variable. */ - -typedef __volatile int __spin_lock_t __attribute__ ((__aligned__ (16))); - -/* Value to initialize `__spin_lock_t' variables to. */ - -#define __SPIN_LOCK_INITIALIZER -1 - - -#ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline -#endif - -/* Unlock LOCK. */ - -_EXTERN_INLINE void -__spin_unlock (__spin_lock_t *__lock) -{ - *__lock = -1; -} - -/* Try to lock LOCK; return nonzero if we locked it, zero if another has. */ - -_EXTERN_INLINE int -__spin_try_lock (__spin_lock_t *__lock) -{ - register int __result; - __asm__ __volatile__ ("ldcws %0, %1" : "=m" (*__lock), "=r" (__result)); - return __result != 0; -} - -/* Return nonzero if LOCK is locked. */ - -_EXTERN_INLINE int -__spin_lock_locked (__spin_lock_t *__lock) -{ - return *__lock == 0; -} - - -#endif /* machine-lock.h */ diff --git a/sysdeps/mach/hurd/alpha/bits/sigcontext.h b/sysdeps/mach/hurd/alpha/bits/sigcontext.h deleted file mode 100644 index 4f13a2c..0000000 --- a/sysdeps/mach/hurd/alpha/bits/sigcontext.h +++ /dev/null @@ -1,73 +0,0 @@ -/* Machine-dependent signal context structure for GNU Hurd. Alpha version. - Copyright (C) 1994,97,2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never use directly; include instead." -#endif - -#ifndef sc_alpha_thread_state - -/* Signal handlers are actually called: - void handler (int sig, int code, struct sigcontext *scp); */ - -/* State of this thread when the signal was taken. */ -struct sigcontext - { - /* These first members are machine-independent. */ - - long int sc_onstack; /* Nonzero if running on sigstack. */ - __sigset_t sc_mask; /* Blocked signals to restore. */ - - /* MiG reply port this thread is using. */ - unsigned long int sc_reply_port; - - /* Port this thread is doing an interruptible RPC on. */ - unsigned long int sc_intr_port; - - /* Error code associated with this signal (interpreted as `error_t'). */ - int sc_error; - - /* All following members are machine-dependent. The rest of this - structure is written to be laid out identically to: - { - struct alpha_thread_state basic; - struct alpha_exc_state exc; - struct alpha_float_state fpu; - } - trampoline.c knows this, so it must be changed if this changes. */ - -#define sc_alpha_thread_state sc_regs /* Beginning of correspondence. */ - long int sc_regs[31]; /* General registers $0..$30. */ - long int sc_pc; /* Program counter. */ - - /* struct alpha_exc_state */ -#define sc_alpha_exc_state sc_badvaddr - unsigned long int sc_badvaddr; - unsigned int sc_cause; /* Machine-level trap code. */ -#define SC_CAUSE_SET_SSTEP 1 - int sc_used_fpa; /* Nonzero if FPU was used. */ - - /* struct alpha_float_state - This is only filled in if sc_used_fpa is nonzero. */ -#define sc_alpha_float_state sc_fpregs - double sc_fpregs[31]; /* Floating point registers $f0..$f30. */ - long int sc_fpcsr; /* Floating point control/status register. */ - }; - -#endif /* sc_alpha_thread_state */ diff --git a/sysdeps/mach/hurd/alpha/exc2signal.c b/sysdeps/mach/hurd/alpha/exc2signal.c deleted file mode 100644 index 5f3fbbb..0000000 --- a/sysdeps/mach/hurd/alpha/exc2signal.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Translate Mach exception codes into signal numbers. Alpha version. - Copyright (C) 1994,97,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* Translate the Mach exception codes, as received in an `exception_raise' RPC, - into a signal number and signal subcode. */ - -void -_hurd_exception2signal (struct hurd_signal_detail *detail, int *signo) -{ - detail->error = 0; - - switch (detail->exc) - { - default: - *signo = SIGIOT; - detail->code = detail->exc; - break; - - case EXC_BAD_ACCESS: - if (detail->exc_code == KERN_PROTECTION_FAILURE) - *signo = SIGSEGV; - else - *signo = SIGBUS; - detail->code = detail->exc_subcode; - detail->error = detail->exc_code; - break; - - case EXC_BAD_INSTRUCTION: - *signo = SIGILL; - detail->code = detail->exc_code; - break; - - case EXC_ARITHMETIC: - *signo = SIGFPE; - detail->code = detail->exc_code; - break; - break; - - case EXC_EMULATION: - /* 3.0 doesn't give this one, why, I don't know. */ - *signo = SIGEMT; - detail->code = detail->exc_code; - break; - - case EXC_SOFTWARE: - *signo = SIGEMT; - detail->code = detail->exc_code; - break; - - case EXC_BREAKPOINT: - *signo = SIGTRAP; - detail->code = detail->exc_code; - break; - } -} diff --git a/sysdeps/mach/hurd/alpha/init-first.c b/sysdeps/mach/hurd/alpha/init-first.c deleted file mode 100644 index 6e55225..0000000 --- a/sysdeps/mach/hurd/alpha/init-first.c +++ /dev/null @@ -1,302 +0,0 @@ -/* Initialization code run first thing by the ELF startup code. Alpha/Hurd. - Copyright (C) 1995,96,97,98,99,2000,01,02,03 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include -#include -#include "hurdstartup.h" -#include "hurdmalloc.h" /* XXX */ - -extern void __mach_init (void); -extern void __init_misc (int, char **, char **); -#ifdef USE_NONOPTION_FLAGS -extern void __getopt_clean_environment (char **); -#endif -#ifndef SHARED -extern void _dl_non_dynamic_init (void) internal_function; -#endif -extern void __libc_global_ctors (void); - -unsigned int __hurd_threadvar_max; -unsigned long int __hurd_threadvar_stack_offset; -unsigned long int __hurd_threadvar_stack_mask; - -#ifndef SHARED -int __libc_enable_secure; -#endif -int __libc_multiple_libcs attribute_hidden = 1; - -extern int __libc_argc attribute_hidden; -extern char **__libc_argv attribute_hidden; -extern char **_dl_argv; - -void *(*_cthread_init_routine) (void); /* Returns new SP to use. */ -void (*_cthread_exit_routine) (int status) __attribute__ ((__noreturn__)); - -/* Things that want to be run before _hurd_init or much anything else. - Importantly, these are called before anything tries to use malloc. */ -DEFINE_HOOK (_hurd_preinit_hook, (void)); - - -/* We call this once the Hurd magic is all set up and we are ready to be a - Posixoid program. This does the same things the generic version does. */ -static void -posixland_init (int argc, char **argv, char **envp) -{ - __libc_argc = argc; - __libc_argv = argv; - __environ = envp; - -#ifndef SHARED - _dl_non_dynamic_init (); -#endif - __init_misc (argc, argv, envp); - -#ifdef USE_NONOPTION_FLAGS - /* This is a hack to make the special getopt in GNU libc working. */ - __getopt_clean_environment (envp); -#endif - -#ifdef SHARED - __libc_global_ctors (); -#endif -} - - -static void -init1 (intptr_t *data) -{ - int argc = (intptr_t) *data; - char **argv = (char **) &data[1]; - char **envp = &argv[argc + 1]; - struct hurd_startup_data *d; - - while (*envp) - ++envp; - d = (void *) ++envp; - - /* If we are the bootstrap task started by the kernel, - then after the environment pointers there is no Hurd - data block; the argument strings start there. */ - /* OSF Mach starts the bootstrap task with argc == 0. - XXX This fails if a non-bootstrap task gets started - with argc == 0. */ - if (argc && (void *) d != argv[0]) - { - _hurd_init_dtable = d->dtable; - _hurd_init_dtablesize = d->dtablesize; - - { - /* Check if the stack we are now on is different from - the one described by _hurd_stack_{base,size}. */ - - char dummy; - const vm_address_t newsp = (vm_address_t) &dummy; - - if (d->stack_size != 0 && (newsp < d->stack_base || - newsp - d->stack_base > d->stack_size)) - /* The new stack pointer does not intersect with the - stack the exec server set up for us, so free that stack. */ - __vm_deallocate (__mach_task_self (), d->stack_base, d->stack_size); - } - } - - if ((void *) d != argv[0] && (d->portarray || d->intarray)) - /* Initialize library data structures, start signal processing, etc. */ - _hurd_init (d->flags, argv, - d->portarray, d->portarraysize, - d->intarray, d->intarraysize); - -#ifndef SHARED - __libc_enable_secure = d->flags & EXEC_SECURE; -#endif -} - - -static inline void -init (intptr_t *data) -{ - int argc = *data; - char **argv = (void *) (data + 1); - char **envp = &argv[argc + 1]; - struct hurd_startup_data *d; - unsigned long int threadvars[_HURD_THREADVAR_MAX]; - - /* Provide temporary storage for thread-specific variables on the - startup stack so the cthreads initialization code can use them - for malloc et al, or so we can use malloc below for the real - threadvars array. */ - memset (threadvars, 0, sizeof threadvars); - __hurd_threadvar_stack_offset = (unsigned long int) threadvars; - - /* Since the cthreads initialization code uses malloc, and the - malloc initialization code needs to get at the environment, make - sure we can find it. We'll need to do this again later on since - switching stacks changes the location where the environment is - stored. */ - __environ = envp; - - while (*envp) - ++envp; - d = (void *) ++envp; - - /* The user might have defined a value for this, to get more variables. - Otherwise it will be zero on startup. We must make sure it is set - properly before before cthreads initialization, so cthreads can know - how much space to leave for thread variables. */ - if (__hurd_threadvar_max < _HURD_THREADVAR_MAX) - __hurd_threadvar_max = _HURD_THREADVAR_MAX; - - - /* After possibly switching stacks, call `init1' (above) with the user - code as the return address, and the argument data immediately above - that on the stack. */ - - if (_cthread_init_routine) - { - /* Initialize cthreads, which will allocate us a new stack to run on. */ - void *newsp = (*_cthread_init_routine) (); - struct hurd_startup_data *od; - - void switch_stacks (void); - - /* Copy per-thread variables from that temporary - area onto the new cthread stack. */ - memcpy (__hurd_threadvar_location_from_sp (0, newsp), - threadvars, sizeof threadvars); - - /* Copy the argdata from the old stack to the new one. */ - newsp = memcpy (newsp - ((char *) &d[1] - (char *) data), data, - (char *) d - (char *) data); - -#ifdef SHARED - /* And readjust the dynamic linker's idea of where the argument - vector lives. */ - assert (_dl_argv == argv); - _dl_argv = (void *) ((int *) newsp + 1); -#endif - - /* Set up the Hurd startup data block immediately following - the argument and environment pointers on the new stack. */ - od = (newsp + ((char *) d - (char *) data)); - if ((void *) argv[0] == d) - /* We were started up by the kernel with arguments on the stack. - There is no Hurd startup data, so zero the block. */ - memset (od, 0, sizeof *od); - else - /* Copy the Hurd startup data block to the new stack. */ - *od = *d; - - /* - Force NEWSP into sp and &init1 into pv, then branch to pv (call init1). - */ - asm volatile ("lda $30,0(%0); lda $27,0(%1); jsr $26,($27)" - : : "r" (newsp), "r" (&init1)); - } - else - { - /* We are not using cthreads, so we will have just a single allocated - area for the per-thread variables of the main user thread. */ - unsigned long int *array; - unsigned int i; - - array = malloc (__hurd_threadvar_max * sizeof (unsigned long int)); - if (array == NULL) - __libc_fatal ("Can't allocate single-threaded thread variables."); - - /* Copy per-thread variables from the temporary array into the - newly malloc'd space. */ - memcpy (array, threadvars, sizeof threadvars); - __hurd_threadvar_stack_offset = (unsigned long int) array; - for (i = _HURD_THREADVAR_MAX; i < __hurd_threadvar_max; ++i) - array[i] = 0; - - init1 (data); - } -} - - -/* Do the first essential initializations that must precede all else. */ -static inline void -first_init (void) -{ - /* Initialize data structures so we can do RPCs. */ - __mach_init (); - - RUN_HOOK (_hurd_preinit_hook, ()); -} - -#ifdef SHARED -/* This function is called specially by the dynamic linker to do early - initialization of the shared C library before normal initializers - expecting a Posixoid environment can run. It gets called with the - stack set up just as the user will see it, so it can switch stacks. */ - -void -_dl_init_first (intptr_t argc, ...) -{ - first_init (); - - init (&argc); -} -#endif - - -#ifdef SHARED -/* The regular posixland initialization is what goes into libc's - normal initializer. */ -/* NOTE! The linker notices the magical name `_init' and sets the DT_INIT - pointer in the dynamic section based solely on that. It is convention - for this function to be in the `.init' section, but the symbol name is - the only thing that really matters!! */ -strong_alias (posixland_init, _init); - -void -__libc_init_first (int argc, char **argv, char **envp) -{ - /* Everything was done in the shared library initializer, _init. */ -} -#else -strong_alias (posixland_init, __libc_init_first); - - -void -_hurd_stack_setup (volatile intptr_t argc, ...) -{ - first_init (); - - _hurd_startup ((void **) &argc, &init); -} -#endif - - -/* This function is defined here so that if this file ever gets into - ld.so we will get a link error. Having this file silently included - in ld.so causes disaster, because the _init definition above will - cause ld.so to gain an init function, which is not a cool thing. */ - -void -_dl_start (void) -{ - abort (); -} diff --git a/sysdeps/mach/hurd/alpha/intr-msg.h b/sysdeps/mach/hurd/alpha/intr-msg.h deleted file mode 100644 index 4f17212..0000000 --- a/sysdeps/mach/hurd/alpha/intr-msg.h +++ /dev/null @@ -1,100 +0,0 @@ -/* Machine-dependent details of interruptible RPC messaging. Alpha version. - Copyright (C) 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define INTR_MSG_TRAP(msg, option, send_size, rcv_size, rcv_name, timeout, notify) \ -({ \ - error_t err; \ - asm (".globl _hurd_intr_rpc_msg_do_trap\n" \ - ".globl _hurd_intr_rpc_msg_in_trap\n" \ - " mov %1, $16\n" \ - " mov %2, $17\n" \ - " mov %3, $18\n" \ - " mov %4, $19\n" \ - " mov %5, $20\n" \ - " mov %6, $21\n" \ - " mov %7, $1\n" \ - " lda $0, -25\n" \ - "_hurd_intr_rpc_msg_do_trap: callsys\n" \ - "_hurd_intr_rpc_msg_in_trap: ret\n" \ - : "=r" (err) \ - : "r" (msg), "r" (option), "r" (send_size), "r" (rcv_size), \ - "r" (rcv_name), "r" (timeout), "r" (notify) \ - : "16", "17", "18", "19", "20", "21", "1", "0"); \ - err; \ -}) - -static void inline -INTR_MSG_BACK_OUT (struct alpha_thread_state *state) -{ - return; -} - -#include "hurdfault.h" - -/* This cannot be an inline function because it calls setjmp. */ -#define SYSCALL_EXAMINE(state, callno) \ -({ \ - u_int32_t *p = (void *) ((state)->pc - 4); \ - int result; \ - _hurdsig_catch_memory_fault (p) ? 0 : \ - ({ \ - result = (*p == 0x00000083); \ - _hurdsig_end_catch_fault (); \ - if (result) \ - /* The PC is just after a `callsys' instruction. \ - This is a system call in progress; v0 holds the call number. */ \ - *(callno) = (state)->r0; \ - result; \ - }); \ -}) - -struct mach_msg_trap_args - { - /* This is the order of arguments to mach_msg_trap. */ - mach_msg_header_t *msg; - mach_msg_option_t option; - mach_msg_size_t send_size; - mach_msg_size_t rcv_size; - mach_port_t rcv_name; - mach_msg_timeout_t timeout; - mach_port_t notify; - }; - -/* This cannot be an inline function because it calls setjmp. */ -#define MSG_EXAMINE(state, msgid, rcv_name, send_name, option, timeout) \ -({ \ - mach_msg_header_t *msg = (mach_msg_header_t *) (state)->r16; \ - *(option) = (mach_msg_option_t) (state)->r17; \ - *(rcv_name) = (mach_port_t) (state)->r18; \ - *(timeout) = (mach_msg_timeout_t) (state)->r19; \ - (msg == 0) ? \ - ({ \ - *(send_name) = MACH_PORT_NULL; \ - *(msgid) = 0; \ - 0; \ - }) : \ - (_hurdsig_catch_memory_fault (msg) ? -1 : \ - ({ \ - *(send_name) = msg->msgh_remote_port; \ - *(msgid) = msg->msgh_id; \ - _hurdsig_end_catch_fault (); \ - 0; \ - }) \ - ); \ -}) diff --git a/sysdeps/mach/hurd/alpha/longjmp-ts.c b/sysdeps/mach/hurd/alpha/longjmp-ts.c deleted file mode 100644 index f472dbc..0000000 --- a/sysdeps/mach/hurd/alpha/longjmp-ts.c +++ /dev/null @@ -1,49 +0,0 @@ -/* Perform a `longjmp' on a Mach thread_state. Alpha version. - Copyright (C) 2002, 2006 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - - -/* Set up STATE to do the equivalent of `longjmp (ENV, VAL);'. */ - -void -_hurd_longjmp_thread_state (void *state, jmp_buf env, int val) -{ - struct alpha_thread_state *const ts = state; - - ts->r9 = env[0].__jmpbuf[JB_S0]; - ts->r10 = env[0].__jmpbuf[JB_S1]; - ts->r11 = env[0].__jmpbuf[JB_S2]; - ts->r12 = env[0].__jmpbuf[JB_S3]; - ts->r13 = env[0].__jmpbuf[JB_S4]; - ts->r13 = env[0].__jmpbuf[JB_S5]; - ts->pc = env[0].__jmpbuf[JB_PC]; - ts->r15 = env[0].__jmpbuf[JB_FP]; - ts->r30 = env[0].__jmpbuf[JB_SP]; - ts->r0 = val ?: 1; - - /* XXX - To mimic longjmp we ought to restore some fp registers too. - But those registers are in struct alpha_float_state. - The only use of this is in fork, and it probably won't matter. - */ -} diff --git a/sysdeps/mach/hurd/alpha/sigreturn.c b/sysdeps/mach/hurd/alpha/sigreturn.c deleted file mode 100644 index 182d4cb..0000000 --- a/sysdeps/mach/hurd/alpha/sigreturn.c +++ /dev/null @@ -1,211 +0,0 @@ -/* Return from signal handler in GNU C library for Hurd. Alpha version. - Copyright (C) 1994,95,97,98,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include - -int -__sigreturn (struct sigcontext *scp) -{ - struct hurd_sigstate *ss; - mach_port_t *reply_port; - - if (scp == NULL || (scp->sc_mask & _SIG_CANT_MASK)) - { - errno = EINVAL; - return -1; - } - - ss = _hurd_self_sigstate (); - __spin_lock (&ss->lock); - - /* Restore the set of blocked signals, and the intr_port slot. */ - ss->blocked = scp->sc_mask; - ss->intr_port = scp->sc_intr_port; - - /* Check for pending signals that were blocked by the old set. */ - if (ss->pending & ~ss->blocked) - { - /* There are pending signals that just became unblocked. Wake up the - signal thread to deliver them. But first, squirrel away SCP where - the signal thread will notice it if it runs another handler, and - arrange to have us called over again in the new reality. */ - ss->context = scp; - /* Clear the intr_port slot, since we are not in fact doing - an interruptible RPC right now. If SS->intr_port is not null, - the SCP context is doing an interruptible RPC, but the signal - thread will examine us while we are blocked in the sig_post RPC. */ - ss->intr_port = MACH_PORT_NULL; - __spin_unlock (&ss->lock); - __msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ()); - /* If a pending signal was handled, sig_post never returned. */ - __spin_lock (&ss->lock); - } - - if (scp->sc_onstack) - { - ss->sigaltstack.ss_flags &= ~SS_ONSTACK; /* XXX threadvars */ - /* XXX cannot unlock until off sigstack */ - abort (); - } - else - __spin_unlock (&ss->lock); - - /* Destroy the MiG reply port used by the signal handler, and restore the - reply port in use by the thread when interrupted. */ - reply_port = - (mach_port_t *) __hurd_threadvar_location (_HURD_THREADVAR_MIG_REPLY); - if (*reply_port) - __mach_port_destroy (__mach_task_self (), *reply_port); - *reply_port = scp->sc_reply_port; - - if (scp->sc_used_fpa) - { - /* Restore FPU state. */ - - /* Restore the floating-point control/status register. - We must do this first because the compiler will need - a temporary FP register for the load. */ - asm volatile ("mt_fpcr %0" : : "f" (scp->sc_fpcsr)); - - /* Restore floating-point registers. */ -#define restore_fpr(n) \ - asm volatile ("ldt $f" #n ",%0" : : "m" (scp->sc_fpregs[n])) - restore_fpr (0); - restore_fpr (1); - restore_fpr (2); - restore_fpr (3); - restore_fpr (4); - restore_fpr (5); - restore_fpr (6); - restore_fpr (7); - restore_fpr (8); - restore_fpr (9); - restore_fpr (10); - restore_fpr (11); - restore_fpr (12); - restore_fpr (13); - restore_fpr (14); - restore_fpr (15); - restore_fpr (16); - restore_fpr (17); - restore_fpr (18); - restore_fpr (19); - restore_fpr (20); - restore_fpr (21); - restore_fpr (22); - restore_fpr (23); - restore_fpr (24); - restore_fpr (25); - restore_fpr (26); - restore_fpr (27); - restore_fpr (28); - restore_fpr (29); - restore_fpr (30); - } - - /* Load all the registers from the sigcontext. */ -#define restore_gpr(n) \ - asm volatile ("ldq $" #n ",%0" : : "m" (scpreg->sc_regs[n])) - - { - /* The `rei' PAL pseudo-instruction restores registers $2..$7, the PC - and processor status. So we can use these few registers for our - working variables. Unfortunately, it finds its data on the stack - and merely pops the SP ($30) over the words of state restored, - allowing no other option for the new SP value. So we must push the - registers and PSW it will to restore, onto the user's stack and let - it pop them from there. */ - register const struct sigcontext *const scpreg asm ("$2") = scp; - register integer_t *usp asm ("$3") = (integer_t *) scpreg->sc_regs[30]; - register integer_t usp_align asm ("$4"); - - /* Push an 8-word "trap frame" onto the user stack for `rei': - registers $2..$7, the PC, and the PSW. */ - - register struct rei_frame - { - integer_t regs[5], pc, ps; - } *rei_frame asm ("$5"); - - usp -= 8; - /* `rei' demands that the stack be aligned to a 64 byte (8 word) - boundary; bits 61..56 of the PSW are OR'd back into the SP value - after popping the 8-word trap frame, so we store (sp % 64) - there and this restores the original user SP. */ - usp_align = (integer_t) usp & 63L; - rei_frame = (void *) ((integer_t) usp & ~63L); - - /* Copy the registers and PC from the sigcontext. */ - memcpy (rei_frame->regs, &scpreg->sc_regs[2], sizeof rei_frame->regs); - rei_frame->pc = scpreg->sc_pc; - - /* Compute the new PS value to be restored. `rei' adds the value at - bits 61..56 to the SP to compensate for the alignment above that - cleared the low 6 bits; bits 5..3 are the new mode/privilege level - (must be >= current mode; 3 == user mode); bits 2..0 are "software", - unused by the processor or kernel (XXX should trampoline save these? - How?); in user mode, `rei' demands that all other bits be zero. */ - rei_frame->ps = (usp_align << 56) | (3 << 3); /* XXX low 3 bits??? */ - - /* Restore the other general registers: everything except $2..$7, which - are in the `rei' trap frame we set up above, and $30, which is the - SP which is popped by `rei'. */ - restore_gpr (1); - restore_gpr (8); - restore_gpr (9); - restore_gpr (10); - restore_gpr (11); - restore_gpr (12); - restore_gpr (13); - restore_gpr (14); - restore_gpr (15); - restore_gpr (16); - restore_gpr (17); - restore_gpr (18); - restore_gpr (19); - restore_gpr (20); - restore_gpr (21); - restore_gpr (22); - restore_gpr (23); - restore_gpr (24); - restore_gpr (25); - restore_gpr (26); - restore_gpr (27); - restore_gpr (28); - restore_gpr (29); - - /* Switch the stack pointer to the trap frame set up on - the user stack and do the magical `rei' PAL call. */ - asm volatile ("mov %0, $30\n" - "call_pal %1" - : : "r" (rei_frame), "i" (63)); /* PAL_rti */ - /* Firewall. */ - asm volatile ("halt"); - } - - /* NOTREACHED */ - return -1; -} - -weak_alias (__sigreturn, sigreturn) diff --git a/sysdeps/mach/hurd/alpha/static-start.S b/sysdeps/mach/hurd/alpha/static-start.S deleted file mode 100644 index a31d0d0..0000000 --- a/sysdeps/mach/hurd/alpha/static-start.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Startup code for statically linked Hurd/Alpha binaries. - Copyright (C) 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - - .text - .align 3 - .globl _start - .type _start,@function -_start: - jsr ra, _hurd_stack_setup - -#define _start _start1 -#include diff --git a/sysdeps/mach/hurd/alpha/trampoline.c b/sysdeps/mach/hurd/alpha/trampoline.c deleted file mode 100644 index 2360cbb..0000000 --- a/sysdeps/mach/hurd/alpha/trampoline.c +++ /dev/null @@ -1,249 +0,0 @@ -/* Set thread_state for sighandler, and sigcontext to recover. Alpha version. - Copyright (C) 1994,95,97,98,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include "thread_state.h" -#include "hurdfault.h" -#include - -struct mach_msg_trap_args - { - /* This is the order of arguments to mach_msg_trap. */ - mach_msg_header_t *msg; - mach_msg_option_t option; - mach_msg_size_t send_size; - mach_msg_size_t rcv_size; - mach_port_t rcv_name; - mach_msg_timeout_t timeout; - mach_port_t notify; - }; - - -struct sigcontext * -_hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler, - int signo, struct hurd_signal_detail *detail, - int rpc_wait, struct machine_thread_all_state *state) -{ - __label__ trampoline, rpc_wait_trampoline; - void *sigsp; - struct sigcontext *scp; - - if (ss->context) - { - /* We have a previous sigcontext that sigreturn was about - to restore when another signal arrived. We will just base - our setup on that. */ - if (! _hurdsig_catch_memory_fault (ss->context)) - { - memcpy (&state->basic, &ss->context->sc_alpha_thread_state, - sizeof (state->basic)); - memcpy (&state->exc, &ss->context->sc_alpha_exc_state, - sizeof (state->exc)); - state->set = (1 << ALPHA_THREAD_STATE) | (1 << ALPHA_EXC_STATE); - if (state->exc.used_fpa) - { - memcpy (&state->fpu, &ss->context->sc_alpha_float_state, - sizeof (state->fpu)); - state->set |= (1 << ALPHA_FLOAT_STATE); - } - assert (! rpc_wait); - /* The intr_port slot was cleared before sigreturn sent us the - sig_post that made us notice this pending signal, so - _hurd_internal_post_signal wouldn't do interrupt_operation. - After we return, our caller will set SCP->sc_intr_port (in the - new context) from SS->intr_port and clear SS->intr_port. Now - that we are restoring this old context recorded by sigreturn, - we want to restore its intr_port too; so store it in - SS->intr_port now, so it will end up in SCP->sc_intr_port - later. */ - ss->intr_port = ss->context->sc_intr_port; - } - _hurdsig_end_catch_fault (); - - /* If the sigreturn context was bogus, just ignore it. */ - ss->context = NULL; - } - else if (! machine_get_basic_state (ss->thread, state)) - return NULL; - - if ((ss->actions[signo].sa_flags & SA_ONSTACK) && - !(ss->sigaltstack.ss_flags & (SS_DISABLE|SS_ONSTACK))) - { - sigsp = ss->sigaltstack.ss_sp + ss->sigaltstack.ss_size; - ss->sigaltstack.ss_flags |= SS_ONSTACK; - /* XXX need to set up base of new stack for - per-thread variables, cthreads. */ - } - else - sigsp = (char *) state->basic.SP; - - /* Set up the sigcontext structure on the stack. This is all the stack - needs, since the args are passed in registers (below). */ - sigsp -= sizeof (*scp); - scp = sigsp; - - if (_hurdsig_catch_memory_fault (scp)) - { - /* We got a fault trying to write the stack frame. - We cannot set up the signal handler. - Returning NULL tells our caller, who will nuke us with a SIGILL. */ - return NULL; - } - else - { - /* Set up the sigcontext from the current state of the thread. */ - - scp->sc_onstack = ss->sigaltstack.ss_flags & SS_ONSTACK ? 1 : 0; - - /* struct sigcontext is laid out so that starting at sc_regs - mimics a struct alpha_thread_state. */ - memcpy (&scp->sc_alpha_thread_state, - &state->basic, sizeof (state->basic)); - - /* struct sigcontext is laid out so that starting at sc_badvaddr - mimics a struct mips_exc_state. */ - if (! machine_get_state (ss->thread, state, ALPHA_EXC_STATE, - &state->exc, &scp->sc_alpha_exc_state, - sizeof (state->exc))) - return NULL; - - if (state->exc.used_fpa && - /* struct sigcontext is laid out so that starting at sc_fpregs - mimics a struct alpha_float_state. This state - is only meaningful if the coprocessor was used. */ - ! machine_get_state (ss->thread, state, ALPHA_FLOAT_STATE, - &state->fpu, - &scp->sc_alpha_float_state, - sizeof (state->fpu))) - return NULL; - - _hurdsig_end_catch_fault (); - } - - /* Modify the thread state to call the trampoline code on the new stack. */ - if (rpc_wait) - { - /* The signalee thread was blocked in a mach_msg_trap system call, - still waiting for a reply. We will have it run the special - trampoline code which retries the message receive before running - the signal handler. - - To do this we change the OPTION argument in its registers to - enable only message reception, since the request message has - already been sent. */ - - /* The system call arguments are stored in consecutive registers - starting with a0 ($16). */ - struct mach_msg_trap_args *args = (void *) &state->basic.r16; - - assert (args->option & MACH_RCV_MSG); - /* Disable the message-send, since it has already completed. The - calls we retry need only wait to receive the reply message. */ - args->option &= ~MACH_SEND_MSG; - - /* Limit the time to receive the reply message, in case the server - claimed that `interrupt_operation' succeeded but in fact the RPC - is hung. */ - args->option |= MACH_RCV_TIMEOUT; - args->timeout = _hurd_interrupted_rpc_timeout; - - state->basic.pc = (long int) &&rpc_wait_trampoline; - /* After doing the message receive, the trampoline code will need to - update the v0 ($0) value to be restored by sigreturn. To simplify - the assembly code, we pass the address of its slot in SCP to the - trampoline code in at ($28). */ - state->basic.r28 = (long int) &scp->sc_regs[0]; - /* We must preserve the mach_msg_trap args in a0..a5 and t0 - ($16..$21, $1). Pass the handler args to the trampoline code in - t8..t10 ($22.$24). */ - state->basic.r22 = signo; - state->basic.r23 = detail->code; - state->basic.r24 = (long int) scp; - } - else - { - state->basic.pc = (long int) &&trampoline; - state->basic.r16 = signo; - state->basic.r17 = detail->code; - state->basic.r18 = (long int) scp; - } - - state->basic.r30 = (long int) sigsp; /* $30 is the stack pointer. */ - - /* We pass the handler function to the trampoline code in ra ($26). */ - state->basic.r26 = (long int) handler; - /* In the callee-saved register t12/pv ($27), we store the - address of __sigreturn itself, for the trampoline code to use. */ - state->basic.r27 = (long int) &__sigreturn; - /* In the callee-saved register t11/ai ($25), we save the SCP value to pass - to __sigreturn after the handler returns. */ - state->basic.r25 = (long int) scp; - - return scp; - - /* The trampoline code follows. This is not actually executed as part of - this function, it is just convenient to write it that way. */ - - rpc_wait_trampoline: - /* This is the entry point when we have an RPC reply message to receive - before running the handler. The MACH_MSG_SEND bit has already been - cleared in the OPTION argument in our registers. For our convenience, - at ($28) points to the sc_regs[0] member of the sigcontext (saved v0 - ($0)). */ - asm volatile - (/* Retry the interrupted mach_msg system call. */ - "lda $0, -25($31)\n" /* mach_msg_trap */ - "callsys\n" /* Magic system call instruction. */ - /* When the sigcontext was saved, v0 was MACH_RCV_INTERRUPTED. But - now the message receive has completed and the original caller of - the RPC (i.e. the code running when the signal arrived) needs to - see the final return value of the message receive in v0. So - store the new v0 value into the sc_regs[0] member of the sigcontext - (whose address is in at to make this code simpler). */ - "stq $0, 0($28)\n" - /* Since the argument registers needed to have the mach_msg_trap - arguments, we've stored the arguments to the handler function - in registers t8..t10 ($22..$24). */ - "mov $22, $16\n" - "mov $23, $17\n" - "mov $24, $18\n"); - - trampoline: - /* Entry point for running the handler normally. The arguments to the - handler function are already in the standard registers: - - a0 SIGNO - a1 SIGCODE - a2 SCP - - t12 also contains SCP; this value is callee-saved (and so should not get - clobbered by running the handler). We use this saved value to pass to - __sigreturn, so the handler can clobber the argument registers if it - likes. */ - /* Call the handler function, saving return address in ra ($26). */ - asm volatile ("jsr $26, ($26)"); - /* Reset gp ($29) from the return address (here) in ra ($26). */ - asm volatile ("ldgp $29, 0($26)"); - asm volatile ("mov $25, $16"); /* Move saved SCP to argument register. */ - /* Call __sigreturn (SCP); this cannot return. */ - asm volatile ("jmp $31, ($27)"); - - /* NOTREACHED */ - return NULL; -} diff --git a/sysdeps/mach/hurd/hppa/bits/sigcontext.h b/sysdeps/mach/hurd/hppa/bits/sigcontext.h deleted file mode 100644 index 5db43fc..0000000 --- a/sysdeps/mach/hurd/hppa/bits/sigcontext.h +++ /dev/null @@ -1,94 +0,0 @@ -/* Machine-dependent signal context structure for GNU Hurd. HPPA version. - Copyright (C) 1995,97,2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never use directly; include instead." -#endif - -#ifndef sc_parisc_thread_state - -/* Signal handlers are actually called: - void handler (int sig, int code, struct sigcontext *scp); */ - -/* State of this thread when the signal was taken. */ -struct sigcontext - { - /* These first members are machine-independent. */ - - int sc_onstack; /* Nonzero if running on sigstack. */ - __sigset_t sc_mask; /* Blocked signals to restore. */ - - /* MiG reply port this thread is using. */ - unsigned int sc_reply_port; - - /* Port this thread is doing an interruptible RPC on. */ - unsigned int sc_intr_port; - - /* Error code associated with this signal (interpreted as `error_t'). */ - int sc_error; - - /* All following members are machine-dependent. The rest of this - structure is written to be laid out identically to a `struct - parisc_thread_state'. trampoline.c knows this, so it must be - changed if this changes. */ - -#define sc_parisc_thread_state sc_flags /* Beginning of correspondence. */ - /* "General" registers $1..$31. */ - unsigned int sc_regs[31]; - - /* Control registers. */ - unsigned int sc_cr11; /* sar */ - /* These four registers make up the PC. */ - unsigned int iioq_head; - unsigned int iisq_head; - unsigned int iioq_tail; - unsigned int iisq_tail; - unsigned int sc_cr15; - unsigned int sc_cr19; - unsigned int sc_cr20; - unsigned int sc_cr21; - unsigned int sc_cr22; /* ipsw */ - unsigned int sc_bsd_goto; /* unused */ - unsigned int sc_sr4; - unsigned int sc_sr0; - unsigned int sc_sr1; - unsigned int sc_sr2; - unsigned int sc_sr3; - unsigned int sc_sr5; - unsigned int sc_sr6; - unsigned int sc_sr7; - unsigned int sc_cr0; - unsigned int sc_cr8; - unsigned int sc_cr9; - unsigned int sc_cr10; /* unused */ - unsigned int sc_cr12; - unsigned int sc_cr13; - unsigned int sc_cr24; /* unused */ - unsigned int sc_cr25; /* unused */ - unsigned int sc_cr26; /* unused */ - unsigned sc_mpsfu_high; /* unused */ - unsigned sc_mpsfu_low; /* unused */ - unsigned sc_mpsfu_ovflo; /* unused */ - int sc_pad; - - /* Floating point registers $f0..$f31. */ - double sc_fpregs[32]; - }; - -#endif /* sc_parisc_thread_state */ diff --git a/sysdeps/mach/hurd/hppa/trampoline.c b/sysdeps/mach/hurd/hppa/trampoline.c deleted file mode 100644 index fc811c5..0000000 --- a/sysdeps/mach/hurd/hppa/trampoline.c +++ /dev/null @@ -1,230 +0,0 @@ -/* Set thread_state for sighandler, and sigcontext to recover. HPPA version. - Copyright (C) 1995, 1997, 1998, 2005 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include "hurdfault.h" - - -struct mach_msg_trap_regargs - { - /* These first four arguments are in registers 26..23. */ - mach_msg_size_t rcv_size; /* arg3 */ - mach_msg_size_t send_size; /* arg2 */ - mach_msg_option_t option; /* arg1 */ - mach_msg_header_t *msg; /* arg0 */ - }; - -struct sigcontext * -_hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler, - int signo, long int sigcode, - volatile int rpc_wait, - struct machine_thread_all_state *state) -{ - __label__ trampoline, rpc_wait_trampoline; - void *volatile sigsp; - struct sigcontext *scp; - - if (ss->context) - { - /* We have a previous sigcontext that sigreturn was about - to restore when another signal arrived. We will just base - our setup on that. */ - if (_hurdsig_catch_fault (SIGSEGV)) - assert (_hurdsig_fault_sigcode >= (long int) ss->context && - _hurdsig_fault_sigcode < (long int) (ss->context + 1)); - else - { - memcpy (&state->basic, &ss->context->sc_parisc_thread_state, - sizeof (state->basic)); - state->set = (1 << PARISC_THREAD_STATE); - assert (! rpc_wait); - /* The intr_port slot was cleared before sigreturn sent us the - sig_post that made us notice this pending signal, so - _hurd_internal_post_signal wouldn't do interrupt_operation. - After we return, our caller will set SCP->sc_intr_port (in the - new context) from SS->intr_port and clear SS->intr_port. Now - that we are restoring this old context recorded by sigreturn, - we want to restore its intr_port too; so store it in - SS->intr_port now, so it will end up in SCP->sc_intr_port - later. */ - ss->intr_port = ss->context->sc_intr_port; - } - /* If the sigreturn context was bogus, just ignore it. */ - ss->context = NULL; - } - else if (! machine_get_basic_state (ss->thread, state)) - return NULL; - - if ((ss->actions[signo].sa_flags & SA_ONSTACK) && - !(ss->sigaltstack.ss_flags & (SS_DISABLE|SS_ONSTACK))) - { - sigsp = ss->sigaltstack.ss_sp + ss->sigaltstack.ss_size; - ss->sigaltstack.ss_flags |= SS_ONSTACK; - /* XXX need to set up base of new stack for - per-thread variables, cthreads. */ - } - else - sigsp = (char *) state->basic.uesp; - - /* Push the signal context on the stack. */ - sigsp -= sizeof (*scp); - scp = sigsp; - - if (_hurdsig_catch_fault (SIGSEGV)) - { - assert (_hurdsig_fault_sigcode >= (long int) scp && - _hurdsig_fault_sigcode <= (long int) (scp + 1)); - /* We got a fault trying to write the stack frame. - We cannot set up the signal handler. - Returning NULL tells our caller, who will nuke us with a SIGILL. */ - return NULL; - } - else - { - int ok; - - /* Set up the sigcontext from the current state of the thread. */ - - scp->sc_onstack = ss->sigaltstack.ss_flags & SS_ONSTACK ? 1 : 0; - - /* struct sigcontext is laid out so that starting at sc_regs mimics a - struct parisc_thread_state. */ - memcpy (&scp->sc_parisc_thread_state, - &state->basic, sizeof (state->basic)); - - _hurdsig_end_catch_fault (); - - if (! ok) - return NULL; - } - - /* Modify the thread state to call the trampoline code on the new stack. */ - if (rpc_wait) - { - /* The signalee thread was blocked in a mach_msg_trap system call, - still waiting for a reply. We will have it run the special - trampoline code which retries the message receive before running - the signal handler. - - To do this we change the OPTION argument on its stack to enable only - message reception, since the request message has already been - sent. */ - - struct mach_msg_trap_regargs *args = (void *) &state->basic.r23; - - if (_hurdsig_catch_fault (SIGSEGV)) - { - assert (_hurdsig_fault_sigcode >= (long int) args && - _hurdsig_fault_sigcode < (long int) (args + 1)); - /* Faulted accessing ARGS. Bomb. */ - return NULL; - } - - assert (args->option & MACH_RCV_MSG); - /* Disable the message-send, since it has already completed. The - calls we retry need only wait to receive the reply message. */ - args->option &= ~MACH_SEND_MSG; - - /* Limit the time to receive the reply message, in case the server - claimed that `interrupt_operation' succeeded but in fact the RPC - is hung. */ - args->option |= MACH_RCV_TIMEOUT; - args->timeout = _hurd_interrupted_rpc_timeout; - - _hurdsig_end_catch_fault (); - - MACHINE_THREAD_STATE_SET_PC (&state->basic, &&rpc_wait_trampoline); - /* The reply-receiving trampoline code runs initially on the original - user stack. We pass it the signal stack pointer in %r5. */ - state->basic.r5 = (int) sigsp; - /* After doing the message receive, the trampoline code will need to - update the %r28 value to be restored by sigreturn. To simplify - the assembly code, we pass the address of its slot in SCP to the - trampoline code in %r4. */ - state->basic.r4 = (unsigned int) &scp->sc_regs[27]; - /* Set up the arguments for the handler function in callee-saved - registers that we will move to the argument registers after - mach_msg_trap returns. */ - state->basic.r6 = signo; - state->basic.r7 = sigcode; - state->basic.r8 = (unsigned int) scp; - } - else - { - MACHINE_THREAD_STATE_SET_PC (&state->basic, &&trampoline); - state->basic.r20 = (unsigned int) sigsp; - /* Set up the arguments for the handler function. */ - state->basic.r26 = signo; - state->basic.r25 = sigcode; - state->basic.r24 = (unsigned int) scp; - } - - /* We pass the handler function to the trampoline code in %r9. */ - state->basic.r9 = (unsigned int) handler; - /* For convenience, we pass the address of __sigreturn in %r10. */ - state->basic.r10 = (unsigned int) &__sigreturn; - /* The extra copy of SCP for the __sigreturn arg goes in %r8. */ - state->basic.r10 = (unsigned int) scp; - - return scp; - - /* The trampoline code follows. This is not actually executed as part of - this function, it is just convenient to write it that way. */ - - rpc_wait_trampoline: - /* This is the entry point when we have an RPC reply message to receive - before running the handler. The MACH_MSG_SEND bit has already been - cleared in the OPTION argument on our stack. The interrupted user - stack pointer has not been changed, so the system call can find its - arguments; the signal stack pointer is in %ebx. For our convenience, - %ecx points to the sc_eax member of the sigcontext. */ - asm volatile - (/* Retry the interrupted mach_msg system call. */ - "ldil L%0xC0000000,%r1\nble 4(%sr7,%r1)\n" - "ldi -25, %r22\n" /* mach_msg_trap */ - /* When the sigcontext was saved, %r28 was MACH_RCV_INTERRUPTED. But - now the message receive has completed and the original caller of - the RPC (i.e. the code running when the signal arrived) needs to - see the final return value of the message receive in %r28. So - store the new %r28 value into the sc_regs[27] member of the sigcontext - (whose address is in %r4 to make this code simpler). */ - "stw (%r4), %r28\n" - /* Switch to the signal stack. */ - "copy %r5, %r30\n" - /* Copy the handler arguments to the argument registers. */ - "copy %r6, %r26\n" - "copy %r7, %r25\n" - "copy %r8, %r24\n" - ); - - trampoline: - /* Entry point for running the handler normally. The arguments to the - handler function are already in the argument registers. */ - asm volatile - ("bv (%r9); nop" /* Call the handler function. */ - "bv (%r10)\n" /* Call __sigreturn (SCP); never returns. */ - "copy %r8, %r26" /* Set up arg in delay slot. */ - : : "i" (&__sigreturn)); - - /* NOTREACHED */ - return NULL; -} diff --git a/sysdeps/mach/hurd/mips/bits/sigcontext.h b/sysdeps/mach/hurd/mips/bits/sigcontext.h deleted file mode 100644 index 14c6188..0000000 --- a/sysdeps/mach/hurd/mips/bits/sigcontext.h +++ /dev/null @@ -1,80 +0,0 @@ -/* Machine-dependent signal context structure for GNU Hurd. MIPS version. - Copyright (C) 1994,97,2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never use directly; include instead." -#endif - -#ifndef sc_mips_thread_state - -/* Signal handlers are actually called: - void handler (int sig, int code, struct sigcontext *scp); */ - -/* State of this thread when the signal was taken. */ -struct sigcontext - { - /* These first members are machine-independent. */ - - int sc_onstack; /* Nonzero if running on sigstack. */ - __sigset_t sc_mask; /* Blocked signals to restore. */ - - /* MiG reply port this thread is using. */ - unsigned int sc_reply_port; - - /* Port this thread is doing an interruptible RPC on. */ - unsigned int sc_intr_port; - - /* Error code associated with this signal (interpreted as `error_t'). */ - int sc_error; - - /* All following members are machine-dependent. The rest of this - structure is written to be laid out identically to: - { - struct mips_thread_state ts; - struct mips_exc_state es; - struct mips_float_state fs; - } - trampoline.c knows this, so it must be changed if this changes. */ -#define sc_mips_thread_state sc_gpr /* Beginning of correspondence. */ - int sc_gpr[31]; /* "General" registers; [0] is r1. */ - int sc_mdlo, sc_mdhi; /* Low and high multiplication results. */ - int sc_pc; /* Instruction pointer. */ - - /* struct mips_exc_state */ -#define sc_mips_exc_state sc_cause - unsigned int sc_cause; /* Machine-level trap code. */ -#define SC_CAUSE_SST 0x00000044 - unsigned int sc_badvaddr; - unsigned int sc_coproc_used; /* Which coprocessors the thread has used. */ -#define SC_COPROC_USE_COP0 1 /* (by definition) */ -#define SC_COPROC_USE_COP1 2 /* FPA */ -#define SC_COPROC_USE_FPU SC_COPROC_USE_COP1 -#define SC_COPROC_USE_COP2 4 -#define SC_COPROC_USE_COP3 8 - - /* struct mips_float_state - This is only filled in if the SC_COPROC_USE_FPU bit - is set in sc_coproc_used. */ -#define sc_mips_float_state sc_fpr - int sc_fpr[32]; /* FP registers. */ - int sc_fpcsr; /* FPU status register. */ - int sc_fpeir; /* FP exception instruction register. */ - }; - -#endif /* sc_mips_thread_state */ diff --git a/sysdeps/mach/hurd/mips/dl-machine.c b/sysdeps/mach/hurd/mips/dl-machine.c deleted file mode 100644 index ce2d5db..0000000 --- a/sysdeps/mach/hurd/mips/dl-machine.c +++ /dev/null @@ -1,132 +0,0 @@ -/* Operating system support for run-time dynamic linker. MIPS specific - stuffs on Hurd. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include "../stdio-common/_itoa.h" -#include -#include -#include -#include - -void weak_function -abort (void) -{ - _exit (127); -} - - -#include -#include -#include - -#undef _ -#define _(x) x - -/* Return a string describing the errno code in ERRNUM. */ -char * weak_function -_strerror_internal (int errnum, char *buf, size_t buflen) -{ - int system; - int sub; - int code; - const struct error_system *es; - extern void __mach_error_map_compat (int *); - - __mach_error_map_compat (&errnum); - - system = err_get_system (errnum); - sub = err_get_sub (errnum); - code = err_get_code (errnum); - - if (system > err_max_system || ! __mach_error_systems[system].bad_sub) - { - const char *unk = _("Error in unknown error system: "); - const size_t unklen = strlen (unk); - char *p = buf + buflen; - *--p = '\0'; - p = _itoa (errnum, p, 16, 1); - return memcpy (p - unklen, unk, unklen); - } - - es = &__mach_error_systems[system]; - - if (sub >= es->max_sub) - return (char *) es->bad_sub; - - if (code >= es->subsystem[sub].max_code) - { - const char *unk = _("Unknown error "); - const size_t unklen = strlen (unk); - char *p = buf + buflen; - size_t len = strlen (es->subsystem[sub].subsys_name); - *--p = '\0'; - p = _itoa (errnum, p, 16, 1); - *p-- = ' '; - p = memcpy (p - len, es->subsystem[sub].subsys_name, len); - return memcpy (p - unklen, unk, unklen); - } - - return (char *) _(es->subsystem[sub].codes[code]); -} - -/* Read the whole contents of FILE into new mmap'd space with given - protections. The size of the file is returned in SIZE. */ -void * -_dl_sysdep_read_whole_file (const char *file, size_t *size, int prot) -{ - struct stat stat; - mach_port_t memobj_rd; - void *contents; - error_t err; - - memobj_rd = __open (file, O_RDONLY, 0); - if (memobj_rd) - { - err = __io_stat ((file_t) memobj_rd, &stat); - if (err) - { - __hurd_fail (err); - contents = 0; - } - else - { - /* Map a copy of the file contents. */ - contents = __mmap (0, stat.st_size, prot, MAP_COPY, memobj_rd, 0); - if (contents == (void *)-1) - contents = 0; - else - *size = stat.st_size; - } - - __mach_port_deallocate (__mach_task_self (), memobj_rd); - } - else - contents = 0; - - return contents; -} diff --git a/sysdeps/mach/hurd/mips/exc2signal.c b/sysdeps/mach/hurd/mips/exc2signal.c deleted file mode 100644 index c505ae5..0000000 --- a/sysdeps/mach/hurd/mips/exc2signal.c +++ /dev/null @@ -1,97 +0,0 @@ -/* Translate Mach exception codes into signal numbers. MIPS 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* Translate the Mach exception codes, as received in an `exception_raise' RPC, - into a signal number and signal subcode. */ - -void -_hurd_exception2signal (struct hurd_signal_detail *detail, int *signo) -{ - detail->error = 0; - - switch (detail->exc) - { - default: - *signo = SIGIOT; - detail->code = detail->exc; - break; - - case EXC_BAD_ACCESS: - if (detail->exc_code == KERN_PROTECTION_FAILURE) - *signo = SIGSEGV; - else - *signo = SIGBUS; - detail->code = detail->exc_subcode; - detail->error = detail->exc_code; - break; - - case EXC_BAD_INSTRUCTION: - *signo = SIGILL; - if (detail->exc_code == EXC_MIPS_II) - detail->code = detail->exc_subcode; - else - detail->code = 0; - break; - - case EXC_ARITHMETIC: - switch (detail->exc_code) - { - case EXC_MIPS_OV: /* integer overflow */ - *signo = SIGFPE; - detail->code = detail->exc_subcode; - break; - - default: - *signo = SIGFPE; - detail->code = 0; - break; - - case EXC_MIPS_INT: - /* Subcode is the fp_status word saved by the hardware. - Give an error code corresponding to the first bit set. */ - if (detail->exc_subcode == EXC_MIPS_FLT_UNIMP) - *signo = SIGILL; - else - *signo = SIGFPE; - detail->code = detail->exc_subcode; - break; - } - break; - - case EXC_EMULATION: - /* 3.0 doesn't give this one, why, I don't know. */ - *signo = SIGEMT; - detail->code = 0; - break; - - case EXC_SOFTWARE: - *signo = SIGEMT; - detail->code = 0; - break; - - case EXC_BREAKPOINT: - *signo = SIGTRAP; - detail->code = 0; - break; - } -} diff --git a/sysdeps/mach/hurd/mips/init-fault.c b/sysdeps/mach/hurd/mips/init-fault.c deleted file mode 100644 index 05f48a3..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) 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -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/init-first.c b/sysdeps/mach/hurd/mips/init-first.c deleted file mode 100644 index 2b16cde..0000000 --- a/sysdeps/mach/hurd/mips/init-first.c +++ /dev/null @@ -1,414 +0,0 @@ -/* Initialization code run first thing by the ELF startup code. For Mips/Hurd. - Copyright (C) 1996,1997,1998,2000,01,02,03,10 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include "hurdstartup.h" -#include "set-hooks.h" -#include "hurdmalloc.h" /* XXX */ - -extern void __mach_init (void); -extern void __init_misc (int, char **, char **); -#ifdef USE_NONOPTION_FLAGS -extern void __getopt_clean_environment (char **); -#endif -#ifndef SHARED -extern void _dl_non_dynamic_init (void) internal_function; -#endif -extern void __libc_global_ctors (void); - -unsigned int __hurd_threadvar_max; -unsigned long int __hurd_threadvar_stack_offset; -unsigned long int __hurd_threadvar_stack_mask; - -int __libc_multiple_libcs attribute_hidden = 1; - -int __libc_argc attribute_hidden; -char **__libc_argv attribute_hidden; - -void *(*_cthread_init_routine) (void); /* Returns new SP to use. */ -void (*_cthread_exit_routine) (int status) __attribute__ ((__noreturn__)); - - -/* Things that want to be run before _hurd_init or much anything else. - Importantly, these are called before anything tries to use malloc. */ -DEFINE_HOOK (_hurd_preinit_hook, (void)); - -static void -init1 (int argc, char *arg0, ...) -{ - char **argv = &arg0; - char **envp = &argv[argc + 1]; - struct hurd_startup_data *d; - - __libc_argc = argc; - __libc_argv = argv; - __environ = envp; - while (*envp) - ++envp; - d = (void *) ++envp; - - /* If we are the bootstrap task started by the kernel, - then after the environment pointers there is no Hurd - data block; the argument strings start there. */ - if ((void *) d != argv[0]) - { - _hurd_init_dtable = d->dtable; - _hurd_init_dtablesize = d->dtablesize; - - { - /* Check if the stack we are now on is different from - the one described by _hurd_stack_{base,size}. */ - - char dummy; - const vm_address_t newsp = (vm_address_t) &dummy; - - if (d->stack_size != 0 && (newsp < d->stack_base || - newsp - d->stack_base > d->stack_size)) - /* The new stack pointer does not intersect with the - stack the exec server set up for us, so free that stack. */ - __vm_deallocate (__mach_task_self (), d->stack_base, d->stack_size); - } - } - - if (__hurd_threadvar_stack_mask == 0) - { - /* We are not using cthreads, so we will have just a single allocated - area for the per-thread variables of the main user thread. */ - unsigned long int i; - __hurd_threadvar_stack_offset - = (unsigned long int) malloc (__hurd_threadvar_max * - sizeof (unsigned long int)); - if (__hurd_threadvar_stack_offset == 0) - __libc_fatal ("Can't allocate single-threaded per-thread variables."); - for (i = 0; i < __hurd_threadvar_max; ++i) - ((unsigned long int *) __hurd_threadvar_stack_offset)[i] = 0; - } - - if ((void *) d != argv[0] && (d->portarray || d->intarray)) - /* Initialize library data structures, start signal processing, etc. */ - _hurd_init (d->flags, argv, - d->portarray, d->portarraysize, - d->intarray, d->intarraysize); - -#ifndef SHARED - _dl_non_dynamic_init (); -#endif - __init_misc (argc, argv, __environ); - -#ifdef USE_NONOPTION_FLAGS - /* This is a hack to make the special getopt in GNU libc working. */ - __getopt_clean_environment (envp); -#endif - -#if defined SHARED && !defined NO_CTORS_DTORS_SECTIONS - __libc_global_ctors (); -#endif - - (void) &init1; -} - -static void * -__init (int *data) -{ - int argc = *data; - char **argv = (void *) (data + 1); - char **envp = &argv[argc + 1]; - struct hurd_startup_data *d; - - __environ = envp; - while (*envp) - ++envp; - d = (void *) ++envp; - - /* The user might have defined a value for this, to get more variables. - Otherwise it will be zero on startup. We must make sure it is set - properly before before cthreads initialization, so cthreads can know - how much space to leave for thread variables. */ - if (__hurd_threadvar_max < _HURD_THREADVAR_MAX) - __hurd_threadvar_max = _HURD_THREADVAR_MAX; - - - /* After possibly switching stacks, call `init1' (above) with the user - code as the return address, and the argument data immediately above - that on the stack. */ - - if (_cthread_init_routine) - { - /* Initialize cthreads, which will allocate us a new stack to run on. */ - void *newsp = (*_cthread_init_routine) (); - struct hurd_startup_data *od; - - /* Copy the argdata from the old stack to the new one. */ - newsp = memcpy (newsp - ((char *) &d[1] - (char *) data), data, - (char *) d - (char *) data); - - /* Set up the Hurd startup data block immediately following - the argument and environment pointers on the new stack. */ - od = (newsp + ((char *) d - (char *) data)); - if ((void *) argv[0] == d) - /* We were started up by the kernel with arguments on the stack. - There is no Hurd startup data, so zero the block. */ - memset (od, 0, sizeof *od); - else - /* Copy the Hurd startup data block to the new stack. */ - *od = *d; - - /* Push the user code address on the top of the new stack. It will - be the return address for `init1'; we will jump there with NEWSP - as the stack pointer. */ - return newsp; - } - - /* The argument data is just above the stack frame we will unwind by - returning. */ - return (void *) data; - - (void) &__init; -} - -#ifdef SHARED -/* This function is called to initialize the shared C library. - It is called just before the user _start code from mips/elf/start.S, - with the stack set up as that code gets it. */ - -/* NOTE! The linker notices the magical name `_init' and sets the DT_INIT - pointer in the dynamic section based solely on that. It is convention - for this function to be in the `.init' section, but the symbol name is - the only thing that really matters!! */ -/*void _init (int argc, ...) __attribute__ ((unused, section (".init")));*/ - -#if __mips64 -asm ("\ - .section .init,\"ax\",@progbits\n\ - .align 3\n\ - .globl _init\n\ - .type _init,@function\n\ - .ent _init\n\ -_init:\n\ - .set noreorder\n\ - .cpload $25\n\ - .set reorder\n\ - dsubu $29, 8*8\n\ - .cprestore 6*8\n\ - sd $16, 4*8($29)\n\ - sd $31, 5*8($29)\n\ - jal preinit\n\ - sd $28, 6*8($29)\n\ - move $16, $29 # Save the old stack pointer to s0 ($16)\n\ - daddu $4, $29, 4*8\n\ - jal __init\n\ - # Restore saved registers from the old stack.\n\ - ld $28, 6*8($16)\n\ - ld $31, 5*8($16)\n\ - ld $16, 4*8($16)\n\ - move $29, $2 # set new sp to SP\n\ -call_init1:\n\ - ld $4, 0($29)\n\ - ld $5, 1*8($29)\n\ - ld $6, 2*8($29)\n\ - ld $7, 3*8($29)\n\ - dla $25, init1\n\ - jr $25\n\ - .end _init\n\ - .text\n\ -"); -#else -asm ("\ - .section .init,\"ax\",@progbits\n\ - .align 2\n\ - .globl _init\n\ - .type _init,@function\n\ - .ent _init\n\ -_init:\n\ - .set noreorder\n\ - .cpload $25\n\ - .set reorder\n\ - subu $29, 32\n\ - .cprestore 24\n\ - sw $16, 16($29)\n\ - sw $31, 20($29)\n\ - jal preinit\n\ - sw $28, 24($29)\n\ - move $16, $29 # Save the old stack pointer to s0 ($16)\n\ - addu $4, $29, 32\n\ - jal __init\n\ - # Restore saved registers from the old stack.\n\ - lw $28, 24($16)\n\ - lw $31, 20($16)\n\ - lw $16, 16($16)\n\ - move $29, $2 # set new sp to SP\n\ -call_init1:\n\ - lw $4, 0($29)\n\ - lw $5, 4($29)\n\ - lw $6, 8($29)\n\ - lw $7, 12($29)\n\ - la $25, init1\n\ - jr $25\n\ - .end _init\n\ - .text\n\ -"); -#endif - -static void -preinit (void) -{ - /* Initialize data structures so we can do RPCs. */ - __mach_init (); - - RUN_HOOK (_hurd_preinit_hook, ()); - - (void) &preinit; -} - -void __libc_init_first (int argc, ...) -{ -} -#endif - -#ifndef SHARED -/* An assembler code wrapping c function __init. */ -#ifdef __mips64 -asm ("\ - .text\n\ - .align 3\n\ -init:\n\ - dsubu $29, 8*8\n\ - sd $16, 4*8($29)\n\ - sd $31, 5*8($29)\n\ - move $16, $29\n\ - jal __init\n\ - ld $31, 5*8($16)\n\ - ld $16, 4*8($16)\n\ - move $29, $2 # set new sp to SP\n\ -call_init1:\n\ - ld $4, 0($29)\n\ - ld $5, 1*8($29)\n\ - ld $6, 2*8($29)\n\ - ld $7, 3*8($29)\n\ - dla $25, init1\n\ - jr $25\n\ -"); -#else -asm ("\ - .text\n\ - .align 2\n\ -init:\n\ - subu $29, 32\n\ - sw $16, 16($29)\n\ - sw $31, 20($29)\n\ - move $16, $29\n\ - jal __init\n\ - lw $31, 20($16)\n\ - lw $16, 16($16)\n\ - move $29, $2 # set new sp to SP\n\ -call_init1:\n\ - lw $4, 0($29)\n\ - lw $5, 4($29)\n\ - lw $6, 8($29)\n\ - lw $7, 12($29)\n\ - la $25, init1\n\ - jr $25\n\ -"); -#endif - -/* An assembler code wrapping c function ___libc_init_first. - ___libc_init_first does an RPC call to flush cache to put doinit - function on the stack, so we should call __mach_init first in - this wrap. */ -#ifdef __mips64 -asm ("\ - .text\n\ - .align 3\n\ - .globl __libc_init_first\n\ -__libc_init_first:\n\ - dsubu $29, 8\n\ - sd $31, 0($29)\n\ - jal __mach_init\n\ - ld $4, 0($29)\n\ - ld $5, 1*8($29)\n\ - ld $6, 2*8($29)\n\ - ld $7, 3*8($29)\n\ - j ___libc_init_first\n\ -"); -#else -asm ("\ - .text\n\ - .align 2\n\ - .globl __libc_init_first\n\ -__libc_init_first:\n\ - subu $29, 4\n\ - sw $31, 0($29)\n\ - jal __mach_init\n\ - lw $4, 0($29)\n\ - lw $5, 4($29)\n\ - lw $6, 8($29)\n\ - lw $7, 12($29)\n\ - j ___libc_init_first\n\ -"); -#endif - -static void -___libc_init_first (int return_addr, int argc, ...) -{ - void doinit (int *data) - { -#if 0 - /* This function gets called with the argument data at TOS. */ - void doinit1 (int argc, ...) - { - init (&argc); - } -#endif - extern void init (int *data); - - /* Push the user return address after the argument data, and then - jump to `doinit1' (above), so it is as if __libc_init_first's - caller had called `init' with the argument data already on the - stack. */ - *--data = return_addr; - -#ifdef __mips64 - asm volatile ("ld $31, 0(%0)\n" /* Load the original return address. */ - "daddu $29, %0, 8\n" /* Switch to new outermost stack. */ - "move $4, $29\n" - "jr %1" : : "r" (data), "r" (&init)); -#else - asm volatile ("lw $31, 0(%0)\n" /* Load the original return address. */ - "addu $29, %0, 4\n" /* Switch to new outermost stack. */ - "move $4, $29\n" - "jr %1" : : "r" (data), "r" (&init)); -#endif - /* NOTREACHED */ - } - -#if 0 - /* Initialize data structures so we can do RPCs. */ - __mach_init (); -#endif - - RUN_HOOK (_hurd_preinit_hook, ()); - - _hurd_startup ((void **) &argc, &doinit); - - (void) &___libc_init_first; -} -#endif diff --git a/sysdeps/mach/hurd/mips/intr-msg.h b/sysdeps/mach/hurd/mips/intr-msg.h deleted file mode 100644 index 16c7897..0000000 --- a/sysdeps/mach/hurd/mips/intr-msg.h +++ /dev/null @@ -1,127 +0,0 @@ -/* Machine-dependent details of interruptible RPC messaging. Mips 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - -#ifdef __mips64 -#define INTR_MSG_TRAP(msg, option, send_size, rcv_size, rcv_name, timeout, notify) \ -({ \ - error_t err; \ - mach_port_t __rcv_name = (rcv_name); \ - mach_msg_timeout_t __timeout = (timeout); \ - mach_port_t __notify = (notify); \ - asm (".globl _hurd_intr_rpc_msg_do_trap\n" \ - ".globl _hurd_intr_rpc_msg_in_trap\n" \ - " move $4, %1\n" \ - " move $5, %2\n" \ - " move $6, %3\n" \ - " move $7, %4\n" \ - " move $8, %5\n" \ - " move $9, %6\n" \ - " move $10, %7\n" \ - " dli $2, -25\n" \ - "_hurd_intr_rpc_msg_do_trap: syscall\n" \ - "_hurd_intr_rpc_msg_in_trap: move %0, $2\n" \ - : "=r" (err) \ - : "r" (msg), "r" (option), "r" (send_size), "r" (rcv_size), \ - "r" (__rcv_name), "r" (__timeout), "r" (__notify) \ - : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9", "$10", \ - "$11", "$12", "$13", "$14", "$15", "$24", "$25", "$28"); \ - err; \ -}) -#else -#define INTR_MSG_TRAP(msg, option, send_size, rcv_size, rcv_name, timeout, notify) \ -({ \ - error_t err; \ - mach_port_t __rcv_name = (rcv_name); \ - mach_msg_timeout_t __timeout = (timeout); \ - mach_port_t __notify = (notify); \ - asm (".globl _hurd_intr_rpc_msg_do_trap\n" \ - ".globl _hurd_intr_rpc_msg_in_trap\n" \ - " move $4, %1\n" \ - " move $5, %2\n" \ - " move $6, %3\n" \ - " move $7, %4\n" \ - " move $8, %5\n" \ - " move $9, %6\n" \ - " move $10, %7\n" \ - " li $2, -25\n" \ - "_hurd_intr_rpc_msg_do_trap: syscall\n" \ - "_hurd_intr_rpc_msg_in_trap: move %0, $2\n" \ - : "=r" (err) \ - : "r" (msg), "r" (option), "r" (send_size), "r" (rcv_size), \ - "r" (__rcv_name), "r" (__timeout), "r" (__notify) \ - : "$1", "$2", "$3", "$4", "$5", "$6", "$7", "$8", "$9", "$10", \ - "$11", "$12", "$13", "$14", "$15", "$24", "$25", "$28"); \ - err; \ -}) -#endif - -static inline void -INTR_MSG_BACK_OUT (struct mips_thread_state *state) -{ - return; -} - -#include "hurdfault.h" - -static inline int -SYSCALL_EXAMINE (struct mips_thread_state *state, int *callno) -{ - u_int32_t *p = (void *) (state->pc - 4); - int result; - if (_hurdsig_catch_memory_fault (p)) - return 0; - if (result = (*p == 0x0000000c)) - /* The PC is just after a `syscall' instruction. - This is a system call in progress; v0($2) holds the call number. */ - *callno = state->r2; - _hurdsig_end_catch_fault (); - return result; -} - - -struct mach_msg_trap_args - { - /* This is the order of arguments to mach_msg_trap. */ - mach_msg_header_t *msg; - mach_msg_option_t option; - mach_msg_size_t send_size; - mach_msg_size_t rcv_size; - mach_port_t rcv_name; - mach_msg_timeout_t timeout; - mach_port_t notify; - }; - - -static inline mach_port_t -MSG_EXAMINE (struct mips_thread_state *state, int *msgid) -{ - mach_msg_header_t *msg; - mach_port_t send_port; - - msg = (mach_msg_header_t *) state->r4; - - if (_hurdsig_catch_memory_fault (msg)) - return MACH_PORT_NULL; - send_port = msg->msgh_remote_port; - *msgid = msg->msgh_id; - _hurdsig_end_catch_fault (); - - return send_port; -} diff --git a/sysdeps/mach/hurd/mips/longjmp-ctx.c b/sysdeps/mach/hurd/mips/longjmp-ctx.c deleted file mode 100644 index 66ee7b6..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) 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -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/mach/hurd/mips/longjmp-ts.c b/sysdeps/mach/hurd/mips/longjmp-ts.c deleted file mode 100644 index 4c69e4e..0000000 --- a/sysdeps/mach/hurd/mips/longjmp-ts.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Perform a `longjmp' on a Mach thread_state. MIPS 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - - -/* Set up STATE to do the equivalent of `longjmp (ENV, VAL);'. */ - -void -_hurd_longjmp_thread_state (void *state, jmp_buf env, int val) -{ - struct mips_thread_state *ts = state; - - ts->r16 = env[0].__jmpbuf[0].__regs[0]; - ts->r17 = env[0].__jmpbuf[0].__regs[1]; - ts->r18 = env[0].__jmpbuf[0].__regs[2]; - ts->r19 = env[0].__jmpbuf[0].__regs[3]; - ts->r20 = env[0].__jmpbuf[0].__regs[4]; - ts->r21 = env[0].__jmpbuf[0].__regs[5]; - ts->r22 = env[0].__jmpbuf[0].__regs[6]; - ts->r23 = env[0].__jmpbuf[0].__regs[7]; - ts->r28 = (int) env[0].__jmpbuf[0].__gp; - ts->r29 = (int) env[0].__jmpbuf[0].__sp; - ts->r30 = (int) env[0].__jmpbuf[0].__fp; - ts->pc = (int) env[0].__jmpbuf[0].__pc; - ts->r2 = val ?: 1; -} diff --git a/sysdeps/mach/hurd/mips/sigreturn.c b/sysdeps/mach/hurd/mips/sigreturn.c deleted file mode 100644 index a9f7673..0000000 --- a/sysdeps/mach/hurd/mips/sigreturn.c +++ /dev/null @@ -1,223 +0,0 @@ -/* Copyright (C) 1996, 1997, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include - -int -__sigreturn (struct sigcontext *scp) -{ - struct hurd_sigstate *ss; - struct hurd_userlink *link = (void *) &scp[1]; - mach_port_t *reply_port; - - if (scp == NULL || (scp->sc_mask & _SIG_CANT_MASK)) - { - errno = EINVAL; - return -1; - } - - ss = _hurd_self_sigstate (); - __spin_lock (&ss->lock); - - /* Remove the link on the `active resources' chain added by - _hurd_setup_sighandler. Its purpose was to make sure - that we got called; now we have, it is done. */ - _hurd_userlink_unlink (link); - - /* Restore the set of blocked signals, and the intr_port slot. */ - ss->blocked = scp->sc_mask; - ss->intr_port = scp->sc_intr_port; - - /* Check for pending signals that were blocked by the old set. */ - if (ss->pending & ~ss->blocked) - { - /* There are pending signals that just became unblocked. Wake up the - signal thread to deliver them. But first, squirrel away SCP where - the signal thread will notice it if it runs another handler, and - arrange to have us called over again in the new reality. */ - ss->context = scp; - __spin_unlock (&ss->lock); - __msg_sig_post (_hurd_msgport, 0, 0, __mach_task_self ()); - /* If a pending signal was handled, sig_post never returned. */ - __spin_lock (&ss->lock); - ss->context = NULL; - } - - if (scp->sc_onstack) - { - ss->sigaltstack.ss_flags &= ~SS_ONSTACK; /* XXX threadvars */ - /* XXX cannot unlock until off sigstack */ - abort (); - } - else - __spin_unlock (&ss->lock); - - /* Destroy the MiG reply port used by the signal handler, and restore the - reply port in use by the thread when interrupted. */ - reply_port = - (mach_port_t *) __hurd_threadvar_location (_HURD_THREADVAR_MIG_REPLY); - if (*reply_port) - { - mach_port_t port = *reply_port; - - /* Assigning MACH_PORT_DEAD here tells libc's mig_get_reply_port not to - get another reply port, but avoids mig_dealloc_reply_port trying to - deallocate it after the receive fails (which it will, because the - reply port will be bogus, whether we do this or not). */ - *reply_port = MACH_PORT_DEAD; - - __mach_port_destroy (__mach_task_self (), port); - } - *reply_port = scp->sc_reply_port; - - if (scp->sc_coproc_used & SC_COPROC_USE_FPU) - { - /* Restore FPU state. */ -#define restore_fpr(n) \ - asm volatile ("l.d $f" #n ",%0" : : "m" (scp->sc_fpr[n])) - - /* Restore floating-point registers. */ -#ifdef __mips64 - restore_fpr (0); - restore_fpr (1); - restore_fpr (2); - restore_fpr (3); - restore_fpr (4); - restore_fpr (5); - restore_fpr (6); - restore_fpr (7); - restore_fpr (8); - restore_fpr (9); - restore_fpr (10); - restore_fpr (11); - restore_fpr (12); - restore_fpr (13); - restore_fpr (14); - restore_fpr (15); - restore_fpr (16); - restore_fpr (17); - restore_fpr (18); - restore_fpr (19); - restore_fpr (20); - restore_fpr (21); - restore_fpr (22); - restore_fpr (23); - restore_fpr (24); - restore_fpr (25); - restore_fpr (26); - restore_fpr (27); - restore_fpr (28); - restore_fpr (29); - restore_fpr (30); - restore_fpr (31); -#else - restore_fpr (0); - restore_fpr (2); - restore_fpr (4); - restore_fpr (6); - restore_fpr (8); - restore_fpr (10); - restore_fpr (12); - restore_fpr (14); - restore_fpr (16); - restore_fpr (18); - restore_fpr (20); - restore_fpr (22); - restore_fpr (24); - restore_fpr (26); - restore_fpr (28); - restore_fpr (30); -#endif - - /* Restore the floating-point control/status register ($f31). */ - asm volatile ("ctc1 %0,$f31" : : "r" (scp->sc_fpcsr)); - } - - /* Load all the registers from the sigcontext. */ -#ifdef __mips64 -#define restore_gpr(n) \ - asm volatile ("ld $" #n ",%0" : : "m" (scpreg->sc_gpr[n - 1])) -#else -#define restore_gpr(n) \ - asm volatile ("lw $" #n ",%0" : : "m" (scpreg->sc_gpr[n - 1])) -#endif - - { - register const struct sigcontext *const scpreg asm ("$1") = scp; - register int *at asm ("$1"); - - /* First restore the multiplication result registers. The compiler - will use some temporary registers, so we do this before restoring - the general registers. */ - asm volatile ("mtlo %0" : : "r" (scpreg->sc_mdlo)); - asm volatile ("mthi %0" : : "r" (scpreg->sc_mdhi)); - - /* In the word after the saved PC, store the saved $1 value. */ - (&scpreg->sc_pc)[1] = scpreg->sc_gpr[0]; - - asm volatile (".set noreorder; .set noat;"); - - /* Restore the normal registers. */ - restore_gpr (2); - restore_gpr (3); - restore_gpr (4); - restore_gpr (5); - restore_gpr (6); - restore_gpr (7); - restore_gpr (8); - restore_gpr (9); - restore_gpr (10); - restore_gpr (11); - restore_gpr (12); - restore_gpr (13); - restore_gpr (14); - restore_gpr (15); - restore_gpr (16); - restore_gpr (17); - restore_gpr (18); - restore_gpr (19); - restore_gpr (20); - restore_gpr (21); - restore_gpr (22); - restore_gpr (23); - restore_gpr (24); - restore_gpr (25); - /* Registers 26-27 are kernel-only. */ - restore_gpr (28); - restore_gpr (29); /* Stack pointer. */ - restore_gpr (30); /* Frame pointer. */ - restore_gpr (31); /* Return address. */ - - at = &scpreg->sc_pc; - /* This is an emulated instruction that will find at the address in $1 - two words: the PC value to restore, and the $1 value to restore. */ - asm volatile (".word %0" : : "i" (op_sigreturn)); - asm volatile (".set reorder; .set at;"); - /* NOTREACHED */ - return at; /* To prevent optimization. */ - } - - /* NOTREACHED */ - return -1; -} - -weak_alias (__sigreturn, sigreturn) diff --git a/sysdeps/mach/hurd/mips/trampoline.c b/sysdeps/mach/hurd/mips/trampoline.c deleted file mode 100644 index 34e363b..0000000 --- a/sysdeps/mach/hurd/mips/trampoline.c +++ /dev/null @@ -1,292 +0,0 @@ -/* Set thread_state for sighandler, and sigcontext to recover. MIPS version. - Copyright (C) 1996, 1997, 1998, 2005 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include "hurdfault.h" -#include - - -struct sigcontext * -_hurd_setup_sighandler (struct hurd_sigstate *ss, __sighandler_t handler, - int signo, struct hurd_signal_detail *detail, - volatile int rpc_wait, - struct machine_thread_all_state *state) -{ - __label__ trampoline, rpc_wait_trampoline, firewall; - void *volatile sigsp; - struct sigcontext *scp; - struct - { - int signo; - long int sigcode; - struct sigcontext *scp; /* Points to ctx, below. */ - void *sigreturn_addr; - void *sigreturn_returns_here; - struct sigcontext *return_scp; /* Same; arg to sigreturn. */ - struct sigcontext ctx; - struct hurd_userlink link; - } *stackframe; - - if (ss->context) - { - /* We have a previous sigcontext that sigreturn was about - to restore when another signal arrived. We will just base - our setup on that. */ - if (! _hurdsig_catch_memory_fault (ss->context)) - { - memcpy (&state->basic, &ss->context->sc_mips_thread_state, - sizeof (state->basic)); - memcpy (&state->exc, &ss->context->sc_mips_exc_state, - sizeof (state->exc)); - state->set = (1 << MIPS_THREAD_STATE) | (1 << MIPS_EXC_STATE); - if (state->exc.coproc_state & SC_COPROC_USE_FPU) - { - memcpy (&state->fpu, &ss->context->sc_mips_float_state, - sizeof (state->fpu)); - state->set |= (1 << MIPS_FLOAT_STATE); - } - } - } - - if (! machine_get_basic_state (ss->thread, state)) - return NULL; - - /* Save the original SP in the gratuitous s0 ($16) slot. - We may need to reset the SP (the `r29' slot) to avoid clobbering an - interrupted RPC frame. */ - state->basic.r16 = state->basic.r29; - - if ((ss->actions[signo].sa_flags & SA_ONSTACK) && - !(ss->sigaltstack.ss_flags & (SS_DISABLE|SS_ONSTACK))) - { - sigsp = ss->sigaltstack.ss_sp + ss->sigaltstack.ss_size; - ss->sigaltstack.ss_flags |= SS_ONSTACK; - /* XXX need to set up base of new stack for - per-thread variables, cthreads. */ - } - else - sigsp = (char *) state->basic.r29; - - /* Push the arguments to call `trampoline' on the stack. */ - sigsp -= sizeof (*stackframe); - stackframe = sigsp; - - if (_hurdsig_catch_memory_fault (stackframe)) - { - /* We got a fault trying to write the stack frame. - We cannot set up the signal handler. - Returning NULL tells our caller, who will nuke us with a SIGILL. */ - return NULL; - } - else - { - int ok; - - extern void _hurdsig_longjmp_from_handler (void *, jmp_buf, int); - - /* Add a link to the thread's active-resources list. We mark this as - the only user of the "resource", so the cleanup function will be - called by any longjmp which is unwinding past the signal frame. - The cleanup function (in sigunwind.c) will make sure that all the - appropriate cleanups done by sigreturn are taken care of. */ - stackframe->link.cleanup = &_hurdsig_longjmp_from_handler; - stackframe->link.cleanup_data = &stackframe->ctx; - stackframe->link.resource.next = NULL; - stackframe->link.resource.prevp = NULL; - stackframe->link.thread.next = ss->active_resources; - stackframe->link.thread.prevp = &ss->active_resources; - if (stackframe->link.thread.next) - stackframe->link.thread.next->thread.prevp - = &stackframe->link.thread.next; - ss->active_resources = &stackframe->link; - - /* Set up the arguments for the signal handler. */ - stackframe->signo = signo; - stackframe->sigcode = detail->code; - stackframe->scp = stackframe->return_scp = scp = &stackframe->ctx; - stackframe->sigreturn_addr = &__sigreturn; - stackframe->sigreturn_returns_here = &&firewall; /* Crash on return. */ - - /* Set up the sigcontext from the current state of the thread. */ - - scp->sc_onstack = ss->sigaltstack.ss_flags & SS_ONSTACK ? 1 : 0; - - /* struct sigcontext is laid out so that starting at sc_gpr - mimics a struct mips_thread_state. */ - memcpy (&scp->sc_mips_thread_state, - &state->basic, sizeof (state->basic)); - - /* struct sigcontext is laid out so that starting at sc_cause - mimics a struct mips_exc_state. */ - ok = machine_get_state (ss->thread, state, MIPS_EXC_STATE, - &state->exc, &scp->sc_cause, - sizeof (state->exc)); - - if (ok && (scp->sc_coproc_used & SC_COPROC_USE_FPU)) - /* struct sigcontext is laid out so that starting at sc_fpr - mimics a struct mips_float_state. This state - is only meaningful if the coprocessor was used. */ - ok = machine_get_state (ss->thread, state, MIPS_FLOAT_STATE, - &state->fpu, &scp->sc_mips_float_state, - sizeof (state->fpu)); - - _hurdsig_end_catch_fault (); - - if (! ok) - return NULL; - } - - /* Modify the thread state to call the trampoline code on the new stack. */ - if (rpc_wait) - { - /* The signalee thread was blocked in a mach_msg_trap system call, - still waiting for a reply. We will have it run the special - trampoline code which retries the message receive before running - the signal handler. - - To do this we change the OPTION argument in its registers to - enable only message reception, since the request message has - already been sent. */ - - /* The system call arguments are stored in consecutive registers - starting with a0 ($4). */ - struct mach_msg_trap_args *args = (void *) &state->basic.r4; - - if (_hurdsig_catch_memory_fault (args)) - { - /* Faulted accessing ARGS. Bomb. */ - return NULL; - } - - assert (args->option & MACH_RCV_MSG); - /* Disable the message-send, since it has already completed. The - calls we retry need only wait to receive the reply message. */ - args->option &= ~MACH_SEND_MSG; - - /* Limit the time to receive the reply message, in case the server - claimed that `interrupt_operation' succeeded but in fact the RPC - is hung. */ - args->option |= MACH_RCV_TIMEOUT; - args->timeout = _hurd_interrupted_rpc_timeout; - - _hurdsig_end_catch_fault (); - - state->basic.pc = (int) &&rpc_wait_trampoline; - /* The reply-receiving trampoline code runs initially on the original - user stack. We pass it the signal stack pointer in s4 ($20). */ - state->basic.r29 = state->basic.r16; /* Restore mach_msg syscall SP. */ - state->basic.r20 = (int) sigsp; - /* After doing the message receive, the trampoline code will need to - update the v0 ($2) value to be restored by sigreturn. To simplify - the assembly code, we pass the address of its slot in SCP to the - trampoline code in s5 ($21). */ - state->basic.r21 = (int) &scp->sc_gpr[1]; - /* We must preserve the mach_msg_trap args in a0..t2 ($4..$10). - Pass the handler args to the trampoline code in s1..s3 ($17..$19). */ - state->basic.r17 = signo; - state->basic.r18 = detail->code; - state->basic.r19 = (int) scp; - } - else - { - state->basic.pc = (int) &&trampoline; - state->basic.r29 = (int) sigsp; - state->basic.r4 = signo; - state->basic.r5 = detail->code; - state->basic.r6 = (int) scp; - } - - /* We pass the handler function to the trampoline code in s6 ($22). */ - state->basic.r22 = (int) handler; - /* In the callee-saved register s0 ($16), we save the SCP value to pass - to __sigreturn after the handler returns. */ - state->basic.r16 = (int) scp; - - return scp; - - /* The trampoline code follows. This is not actually executed as part of - this function, it is just convenient to write it that way. */ - - rpc_wait_trampoline: - /* This is the entry point when we have an RPC reply message to receive - before running the handler. The MACH_MSG_SEND bit has already been - cleared in the OPTION argument in our registers. For our convenience, - $3 points to the sc_gpr[1] member of the sigcontext (saved v0 ($2)). */ - asm volatile - (".set noat; .set noreorder; .set nomacro\n" - /* Retry the interrupted mach_msg system call. */ -#ifdef __mips64 - "dli $2, -25\n" /* mach_msg_trap */ -#else - "li $2, -25\n" /* mach_msg_trap */ -#endif - "syscall\n" - /* When the sigcontext was saved, v0 was MACH_RCV_INTERRUPTED. But - now the message receive has completed and the original caller of - the RPC (i.e. the code running when the signal arrived) needs to - see the final return value of the message receive in v0. So - store the new v0 value into the sc_gpr[1] member of the sigcontext - (whose address is in s5 to make this code simpler). */ -#ifdef __mips64 - "sd $2, ($21)\n" -#else - "sw $2, ($21)\n" -#endif - /* Since the argument registers needed to have the mach_msg_trap - arguments, we've stored the arguments to the handler function - in registers s1..s3 ($17..$19). */ - "move $4, $17\n" - "move $5, $18\n" - "move $6, $19\n" - /* Switch to the signal stack. */ - "move $29, $20\n"); - - trampoline: - /* Entry point for running the handler normally. The arguments to the - handler function are already in the standard registers: - - a0 SIGNO - a1 SIGCODE - a2 SCP - */ - asm volatile - ("move $25, $22\n" /* Copy s6 to t9 for MIPS ABI. */ - "jal $25; nop\n" /* Call the handler function. */ - /* Call __sigreturn (SCP); this cannot return. */ -#ifdef __mips64 - "dla $1,%0\n" -#else - "la $1,%0\n" -#endif - "j $1\n" - "move $4, $16" /* Set up arg from saved SCP in delay slot. */ - : : "i" (&__sigreturn)); - - /* NOTREACHED */ - asm volatile (".set reorder; .set at; .set macro"); - - firewall: - asm volatile ("hlt: j hlt"); - - return NULL; -} diff --git a/sysdeps/mach/mips/Makefile b/sysdeps/mach/mips/Makefile deleted file mode 100644 index a890ae7..0000000 --- a/sysdeps/mach/mips/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),gnulib) -sysdep_routines += cacheflush -endif diff --git a/sysdeps/mach/mips/cacheflush.c b/sysdeps/mach/mips/cacheflush.c deleted file mode 100644 index 2a283e3..0000000 --- a/sysdeps/mach/mips/cacheflush.c +++ /dev/null @@ -1,44 +0,0 @@ -/* Flush the insn cache after GCC writes a closure on the stack. Mach/MIPS. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -/* Stupid name, but this is what GCC generates (config/mips/mips.h). */ -void -cacheflush (void *addr, unsigned size, int flag) -{ - vm_machine_attribute_val_t val; - - switch (flag) - { - case 0: /* ? */ - val = MATTR_VAL_DCACHE_FLUSH; - case 1: /* This is the only value GCC uses. */ - val = MATTR_VAL_ICACHE_FLUSH; - break; - default: - val = MATTR_VAL_CACHE_FLUSH; - } - - __vm_machine_attribute (__mach_task_self (), - (vm_address_t) addr, size, - MATTR_CACHE, - &val); -} diff --git a/sysdeps/mach/mips/machine-lock.h b/sysdeps/mach/mips/machine-lock.h deleted file mode 100644 index eccc720..0000000 --- a/sysdeps/mach/mips/machine-lock.h +++ /dev/null @@ -1,92 +0,0 @@ -/* Machine-specific definition for spin locks. MIPS 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _MACHINE_LOCK_H -#define _MACHINE_LOCK_H - -/* To get the TAS pseudo-instruction. */ -#include - -/* The type of a spin lock variable. */ - -typedef __volatile int __spin_lock_t; - -/* Value to initialize `__spin_lock_t' variables to. */ - -#define __SPIN_LOCK_INITIALIZER 0 - - -#ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline -#endif - -/* Unlock LOCK. */ - -_EXTERN_INLINE void -__spin_unlock (__spin_lock_t *__lock) -{ - *__lock = 0; -} - -/* Try to lock LOCK; return nonzero if we locked it, zero if another has. */ - -_EXTERN_INLINE int -__spin_try_lock (register __spin_lock_t *__lock) -{ -#if (__mips >= 2) - int __rtn; - - __asm__ __volatile (".set noreorder"); -#if (__mips64) - __asm__ __volatile ("lld %0,0(%1)" : "=r" (__rtn) : "r" (__lock)); -#else - __asm__ __volatile ("ll %0,0(%1)" : "=r" (__rtn) : "r" (__lock)); -#endif - if (__rtn) - return 0; - __asm__ __volatile ("move %0,%1" : "=r" (__rtn) : "r" (__lock)); -#if (__mips64) - __asm__ __volatile ("scd %0,0(%1)" : "=r" (__rtn) : "r" (__lock)); -#else - __asm__ __volatile ("sc %0,0(%1)" : "=r" (__rtn) : "r" (__lock)); -#endif - __asm__ __volatile (".set reorder"); - return __rtn; -#else - register int __rtn __asm__ ("a0"); - - /* Use the Mach microkernel's emulated TAS pseudo-instruction. */ - __asm__ __volatile (".set noreorder"); - __asm__ __volatile (".word %1" : "=r" (__rtn) : "i" (op_tas), "0" (__lock)); - __asm__ __volatile ("nop"); - __asm__ __volatile (".set reorder"); - return __rtn ^ (int) __lock; -#endif -} - -/* Return nonzero if LOCK is locked. */ - -_EXTERN_INLINE int -__spin_lock_locked (__spin_lock_t *__lock) -{ - return *__lock != 0; -} - - -#endif /* machine-lock.h */ diff --git a/sysdeps/mach/mips/machine-sp.h b/sysdeps/mach/mips/machine-sp.h deleted file mode 100644 index 144356a..0000000 --- a/sysdeps/mach/mips/machine-sp.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Machine-specific function to return the stack pointer. MIPS 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _MACHINE_SP_H -#define _MACHINE_SP_H - -/* Return the current stack pointer. */ - -#ifndef _EXTERN_INLINE -#define _EXTERN_INLINE extern __inline -#endif - -_EXTERN_INLINE void * -__thread_stack_pointer (void) -{ - void *__sp__; - __asm__ ("move %0,$29" : "=r" (__sp__)); - return __sp__; -} - -#endif /* machine-sp.h */ - diff --git a/sysdeps/mach/mips/syscall.S b/sysdeps/mach/mips/syscall.S deleted file mode 100644 index f2fc29d..0000000 --- a/sysdeps/mach/mips/syscall.S +++ /dev/null @@ -1,48 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifdef PIC - .option pic2 -#endif -ENTRY (syscall) - move v0, a0 /* Load system call number from first arg. */ - move a0, a1 /* Move the next three args up a register. */ - move a1, a2 - move a2, a3 - /* Load the remaining possible args (up to 11) from the stack. */ -#ifdef __mips64 - ld t0,4*8(sp) - ld t1,5*8(sp) - ld t2,6*8(sp) - ld t3,7*8(sp) - ld t4,8*8(sp) - ld t5,9*8(sp) - ld t6,10*8(sp) -#else - lw t0,4*4(sp) - lw t1,5*4(sp) - lw t2,6*4(sp) - lw t3,7*4(sp) - lw t4,8*4(sp) - lw t5,9*4(sp) - lw t6,10*4(sp) -#endif - syscall /* Do the system call. */ - j ra /* Return to caller. */ diff --git a/sysdeps/mach/mips/sysdep.h b/sysdeps/mach/mips/sysdep.h deleted file mode 100644 index 8136f95..0000000 --- a/sysdeps/mach/mips/sysdep.h +++ /dev/null @@ -1,83 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define LOSE asm volatile ("1: b 1b") - -#define START_MACHDEP asm ("\ - .text\n\ - .globl _start\n\ - .ent _start\n\ -_start:\n\ - # Put initial SP in a0.\n\ - move $4, $29\n\ - # Jump to _start0; don't return.\n\ - j _start0\n\ - .end _start\n\ -"); -#define START_ARGS int *entry_sp -#define SNARF_ARGS(argc, argv, envp) \ - do \ - { \ - register char **p; \ - \ - argc = *entry_sp; \ - argv = (char **) (entry_sp + 1); \ - p = argv; \ - while (*p++ != NULL) \ - ; \ - if (p >= (char **) argv[0]) \ - --p; \ - envp = p; \ - } while (0) - -#define CALL_WITH_SP(fn, sp) \ - ({ register int __fn = fn, __sp = (int) sp; \ - asm volatile ("move $sp,%0; j %1" : : "r" (__sp), "r" (__fn));}) - -#define RETURN_TO(sp, pc, retval) \ - asm volatile ("move $29, %0; move $2, %2; move $25, %1; jr $25" \ - : : "r" (sp), "r" (pc), "r" (retval)) - -#define STACK_GROWTH_DOWN - -#include - -#if defined (__ASSEMBLER__) - -#define ALIGN 2 - -#define MOVE(x,y) move y , x - -#define SYSCALL(name, args) \ - .globl syscall_error; \ - kernel_trap(name,SYS_##name,args); \ - beq $1,$0,1f; \ - j syscall_error; \ -1: - -#define SYSCALL__(name, args) \ - .globl syscall_error; \ - kernel_trap(__##name,SYS_##name,args); \ - beq $1,$0,1f; \ - j syscall_error; \ -1: - -#define ret j ra; nop -#endif - -#include diff --git a/sysdeps/mach/mips/thread_state.h b/sysdeps/mach/mips/thread_state.h deleted file mode 100644 index a0800de..0000000 --- a/sysdeps/mach/mips/thread_state.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Mach thread state definitions for machine-independent code. MIPS version. - Copyright (C) 1996, 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define MACHINE_THREAD_STATE_FLAVOR MIPS_THREAD_STATE -#define MACHINE_THREAD_STATE_COUNT MIPS_THREAD_STATE_COUNT - -#ifdef __PIC__ -#define MACHINE_THREAD_STATE_SET_PC(ts, pc) \ - ((ts)->PC = (ts)->r25 = (unsigned long int) (pc)) -#endif - -#define machine_thread_state mips_thread_state - -#define PC pc -#define SP r29 -#define SYSRETURN r2 - -struct machine_thread_all_state - { - int set; /* Mask of bits (1 << FLAVOR). */ - struct mips_thread_state basic; - struct mips_exc_state exc; - struct mips_float_state fpu; - }; - -#include diff --git a/sysdeps/rs6000/add_n.s b/sysdeps/rs6000/add_n.s deleted file mode 100644 index 216874e..0000000 --- a/sysdeps/rs6000/add_n.s +++ /dev/null @@ -1,81 +0,0 @@ -# IBM POWER __mpn_add_n -- Add two limb vectors of equal, non-zero length. - -# Copyright (C) 1992, 1994, 1995, 1996 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr r3 -# s1_ptr r4 -# s2_ptr r5 -# size r6 - - .toc - .extern __mpn_add_n[DS] - .extern .__mpn_add_n -.csect [PR] - .align 2 - .globl __mpn_add_n - .globl .__mpn_add_n - .csect __mpn_add_n[DS] -__mpn_add_n: - .long .__mpn_add_n, TOC[tc0], 0 - .csect [PR] -.__mpn_add_n: - andil. 10,6,1 # odd or even number of limbs? - l 8,0(4) # load least significant s1 limb - l 0,0(5) # load least significant s2 limb - cal 3,-4(3) # offset res_ptr, it's updated before it's used - sri 10,6,1 # count for unrolled loop - a 7,0,8 # add least significant limbs, set cy - mtctr 10 # copy count into CTR - beq 0,Leven # branch if even # of limbs (# of limbs >= 2) - -# We have an odd # of limbs. Add the first limbs separately. - cmpi 1,10,0 # is count for unrolled loop zero? - bne 1,L1 # branch if not - st 7,4(3) - aze 3,10 # use the fact that r10 is zero... - br # return - -# We added least significant limbs. Now reload the next limbs to enter loop. -L1: lu 8,4(4) # load s1 limb and update s1_ptr - lu 0,4(5) # load s2 limb and update s2_ptr - stu 7,4(3) - ae 7,0,8 # add limbs, set cy -Leven: lu 9,4(4) # load s1 limb and update s1_ptr - lu 10,4(5) # load s2 limb and update s2_ptr - bdz Lend # If done, skip loop - -Loop: lu 8,4(4) # load s1 limb and update s1_ptr - lu 0,4(5) # load s2 limb and update s2_ptr - ae 11,9,10 # add previous limbs with cy, set cy - stu 7,4(3) # - lu 9,4(4) # load s1 limb and update s1_ptr - lu 10,4(5) # load s2 limb and update s2_ptr - ae 7,0,8 # add previous limbs with cy, set cy - stu 11,4(3) # - bdn Loop # decrement CTR and loop back - -Lend: ae 11,9,10 # add limbs with cy, set cy - st 7,4(3) # - st 11,8(3) # - lil 3,0 # load cy into ... - aze 3,3 # ... return value register - br diff --git a/sysdeps/rs6000/addmul_1.s b/sysdeps/rs6000/addmul_1.s deleted file mode 100644 index 7cd743c..0000000 --- a/sysdeps/rs6000/addmul_1.s +++ /dev/null @@ -1,123 +0,0 @@ -# IBM POWER __mpn_addmul_1 -- Multiply a limb vector with a limb and add -# the result to a second limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr r3 -# s1_ptr r4 -# size r5 -# s2_limb r6 - -# The RS/6000 has no unsigned 32x32->64 bit multiplication instruction. To -# obtain that operation, we have to use the 32x32->64 signed multiplication -# instruction, and add the appropriate compensation to the high limb of the -# result. We add the multiplicand if the multiplier has its most significant -# bit set, and we add the multiplier if the multiplicand has its most -# significant bit set. We need to preserve the carry flag between each -# iteration, so we have to compute the compensation carefully (the natural, -# srai+and doesn't work). Since the POWER architecture has a branch unit -# we can branch in zero cycles, so that's how we perform the additions. - - .toc - .csect .__mpn_addmul_1[PR] - .align 2 - .globl __mpn_addmul_1 - .globl .__mpn_addmul_1 - .csect __mpn_addmul_1[DS] -__mpn_addmul_1: - .long .__mpn_addmul_1[PR], TOC[tc0], 0 - .csect .__mpn_addmul_1[PR] -.__mpn_addmul_1: - - cal 3,-4(3) - l 0,0(4) - cmpi 0,6,0 - mtctr 5 - mul 9,0,6 - srai 7,0,31 - and 7,7,6 - mfmq 8 - cax 9,9,7 - l 7,4(3) - a 8,8,7 # add res_limb - blt Lneg -Lpos: bdz Lend - -Lploop: lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 10,0,6 - mfmq 0 - ae 8,0,9 # low limb + old_cy_limb + old cy - l 7,4(3) - aze 10,10 # propagate cy to new cy_limb - a 8,8,7 # add res_limb - bge Lp0 - cax 10,10,6 # adjust high limb for negative limb from s1 -Lp0: bdz Lend0 - lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 9,0,6 - mfmq 0 - ae 8,0,10 - l 7,4(3) - aze 9,9 - a 8,8,7 - bge Lp1 - cax 9,9,6 # adjust high limb for negative limb from s1 -Lp1: bdn Lploop - - b Lend - -Lneg: cax 9,9,0 - bdz Lend -Lnloop: lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 10,0,6 - mfmq 7 - ae 8,7,9 - l 7,4(3) - ae 10,10,0 # propagate cy to new cy_limb - a 8,8,7 # add res_limb - bge Ln0 - cax 10,10,6 # adjust high limb for negative limb from s1 -Ln0: bdz Lend0 - lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 9,0,6 - mfmq 7 - ae 8,7,10 - l 7,4(3) - ae 9,9,0 # propagate cy to new cy_limb - a 8,8,7 # add res_limb - bge Ln1 - cax 9,9,6 # adjust high limb for negative limb from s1 -Ln1: bdn Lnloop - b Lend - -Lend0: cal 9,0(10) -Lend: st 8,4(3) - aze 3,9 - br diff --git a/sysdeps/rs6000/ffs.c b/sysdeps/rs6000/ffs.c deleted file mode 100644 index 619412c..0000000 --- a/sysdeps/rs6000/ffs.c +++ /dev/null @@ -1,42 +0,0 @@ -/* ffs -- find first set bit in a word, counted from least significant end. - For IBM rs6000. - Copyright (C) 1991, 1992, 1997, 2004, 2005 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Torbjorn Granlund (tege@sics.se). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#undef ffs - -#ifdef __GNUC__ - -int -__ffs (x) - int x; -{ - int cnt; - - asm ("cntlz %0,%1" : "=r" (cnt) : "r" (x & -x)); - return 32 - cnt; -} -weak_alias (__ffs, ffs) -libc_hidden_builtin_def (ffs) - -#else -#include -#endif diff --git a/sysdeps/rs6000/lshift.s b/sysdeps/rs6000/lshift.s deleted file mode 100644 index 8ccba74..0000000 --- a/sysdeps/rs6000/lshift.s +++ /dev/null @@ -1,59 +0,0 @@ -# IBM POWER __mpn_lshift -- - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr r3 -# s_ptr r4 -# size r5 -# cnt r6 - - .toc - .extern __mpn_lshift[DS] - .extern .__mpn_lshift -.csect [PR] - .align 2 - .globl __mpn_lshift - .globl .__mpn_lshift - .csect __mpn_lshift[DS] -__mpn_lshift: - .long .__mpn_lshift, TOC[tc0], 0 - .csect [PR] -.__mpn_lshift: - sli 0,5,2 - cax 9,3,0 - cax 4,4,0 - sfi 8,6,32 - mtctr 5 # put limb count in CTR loop register - lu 0,-4(4) # read most significant limb - sre 3,0,8 # compute carry out limb, and init MQ register - bdz Lend2 # if just one limb, skip loop - lu 0,-4(4) # read 2:nd most significant limb - sreq 7,0,8 # compute most significant limb of result - bdz Lend # if just two limb, skip loop -Loop: lu 0,-4(4) # load next lower limb - stu 7,-4(9) # store previous result during read latency - sreq 7,0,8 # compute result limb - bdn Loop # loop back until CTR is zero -Lend: stu 7,-4(9) # store 2:nd least significant limb -Lend2: sle 7,0,6 # compute least significant limb - st 7,-4(9) # store it" \ - br diff --git a/sysdeps/rs6000/memcopy.h b/sysdeps/rs6000/memcopy.h deleted file mode 100644 index 8bdb6e9..0000000 --- a/sysdeps/rs6000/memcopy.h +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (C) 1991, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#undef OP_T_THRES -#define OP_T_THRES 32 - -#undef BYTE_COPY_FWD -#define BYTE_COPY_FWD(dst_bp, src_bp, nbytes) \ - do \ - { \ - size_t __nbytes = nbytes; \ - asm volatile("mtspr 1,%2\n" \ - "lsx 6,0,%1\n" \ - "stsx 6,0,%0" : /* No outputs. */ : \ - "b" (dst_bp), "b" (src_bp), "r" (__nbytes) : \ - "6", "7", "8", "9", "10", "11", "12", "13"); \ - dst_bp += __nbytes; \ - src_bp += __nbytes; \ - } while (0) - -#undef BYTE_COPY_BWD -#define BYTE_COPY_BWD(dst_ep, src_ep, nbytes) \ - do \ - { \ - size_t __nbytes = (nbytes); \ - dst_ep -= __nbytes; \ - src_ep -= __nbytes; \ - asm volatile("mtspr 1,%2\n" \ - "lsx 6,0,%1\n" \ - "stsx 6,0,%0" : /* No outputs. */ : \ - "b" (dst_ep), "b" (src_ep), "r" (__nbytes) : \ - "6", "7", "8", "9", "10", "11", "12", "13"); \ - } while (0) - -#undef WORD_COPY_FWD -#define WORD_COPY_FWD(dst_bp, src_bp, nbytes_left, nbytes) \ - do \ - { \ - size_t __nblocks = (nbytes) / 32; \ - if (__nblocks != 0) \ - asm volatile("mtctr %4\n" \ - "lsi 6,%1,32\n" \ - "ai %1,%1,32\n" \ - "stsi 6,%0,32\n" \ - "ai %0,%0,32\n" \ - "bdn $-16" : \ - "=b" (dst_bp), "=b" (src_bp) : \ - "0" (dst_bp), "1" (src_bp), "r" (__nblocks) : \ - "6", "7", "8", "9", "10", "11", "12", "13"); \ - (nbytes_left) = (nbytes) % 32; \ - } while (0) - -#undef WORD_COPY_BWD -#define WORD_COPY_BWD(dst_ep, src_ep, nbytes_left, nbytes) \ - do \ - { \ - size_t __nblocks = (nbytes) / 32; \ - if (__nblocks != 0) \ - asm volatile("mtctr %4\n" \ - "ai %1,%1,-32\n" \ - "lsi 6,%1,32\n" \ - "ai %0,%0,-32\n" \ - "stsi 6,%0,32\n" \ - "bdn $-16" : \ - "=b" (dst_ep), "=b" (src_ep) : \ - "0" (dst_ep), "1" (src_ep), "r" (__nblocks) : \ - "6", "7", "8", "9", "10", "11", "12", "13"); \ - (nbytes_left) = (nbytes) % 32; \ - } while (0) diff --git a/sysdeps/rs6000/mul_1.s b/sysdeps/rs6000/mul_1.s deleted file mode 100644 index c0feef4..0000000 --- a/sysdeps/rs6000/mul_1.s +++ /dev/null @@ -1,110 +0,0 @@ -# IBM POWER __mpn_mul_1 -- Multiply a limb vector with a limb and store -# the result in a second limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr r3 -# s1_ptr r4 -# size r5 -# s2_limb r6 - -# The RS/6000 has no unsigned 32x32->64 bit multiplication instruction. To -# obtain that operation, we have to use the 32x32->64 signed multiplication -# instruction, and add the appropriate compensation to the high limb of the -# result. We add the multiplicand if the multiplier has its most significant -# bit set, and we add the multiplier if the multiplicand has its most -# significant bit set. We need to preserve the carry flag between each -# iteration, so we have to compute the compensation carefully (the natural, -# srai+and doesn't work). Since the POWER architecture has a branch unit -# we can branch in zero cycles, so that's how we perform the additions. - - .toc - .csect .__mpn_mul_1[PR] - .align 2 - .globl __mpn_mul_1 - .globl .__mpn_mul_1 - .csect __mpn_mul_1[DS] -__mpn_mul_1: - .long .__mpn_mul_1[PR], TOC[tc0], 0 - .csect .__mpn_mul_1[PR] -.__mpn_mul_1: - - cal 3,-4(3) - l 0,0(4) - cmpi 0,6,0 - mtctr 5 - mul 9,0,6 - srai 7,0,31 - and 7,7,6 - mfmq 8 - ai 0,0,0 # reset carry - cax 9,9,7 - blt Lneg -Lpos: bdz Lend -Lploop: lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 10,0,6 - mfmq 0 - ae 8,0,9 - bge Lp0 - cax 10,10,6 # adjust high limb for negative limb from s1 -Lp0: bdz Lend0 - lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 9,0,6 - mfmq 0 - ae 8,0,10 - bge Lp1 - cax 9,9,6 # adjust high limb for negative limb from s1 -Lp1: bdn Lploop - b Lend - -Lneg: cax 9,9,0 - bdz Lend -Lnloop: lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 10,0,6 - cax 10,10,0 # adjust high limb for negative s2_limb - mfmq 0 - ae 8,0,9 - bge Ln0 - cax 10,10,6 # adjust high limb for negative limb from s1 -Ln0: bdz Lend0 - lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 9,0,6 - cax 9,9,0 # adjust high limb for negative s2_limb - mfmq 0 - ae 8,0,10 - bge Ln1 - cax 9,9,6 # adjust high limb for negative limb from s1 -Ln1: bdn Lnloop - b Lend - -Lend0: cal 9,0(10) -Lend: st 8,4(3) - aze 3,9 - br diff --git a/sysdeps/rs6000/rshift.s b/sysdeps/rs6000/rshift.s deleted file mode 100644 index 145218f..0000000 --- a/sysdeps/rs6000/rshift.s +++ /dev/null @@ -1,57 +0,0 @@ -# IBM POWER __mpn_rshift -- - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr r3 -# s_ptr r4 -# size r5 -# cnt r6 - - .toc - .extern __mpn_rshift[DS] - .extern .__mpn_rshift -.csect [PR] - .align 2 - .globl __mpn_rshift - .globl .__mpn_rshift - .csect __mpn_rshift[DS] -__mpn_rshift: - .long .__mpn_rshift, TOC[tc0], 0 - .csect [PR] -.__mpn_rshift: - sfi 8,6,32 - mtctr 5 # put limb count in CTR loop register - l 0,0(4) # read least significant limb - ai 9,3,-4 # adjust res_ptr since it's offset in the stu:s - sle 3,0,8 # compute carry limb, and init MQ register - bdz Lend2 # if just one limb, skip loop - lu 0,4(4) # read 2:nd least significant limb - sleq 7,0,8 # compute least significant limb of result - bdz Lend # if just two limb, skip loop -Loop: lu 0,4(4) # load next higher limb - stu 7,4(9) # store previous result during read latency - sleq 7,0,8 # compute result limb - bdn Loop # loop back until CTR is zero -Lend: stu 7,4(9) # store 2:nd most significant limb -Lend2: sre 7,0,6 # compute most significant limb - st 7,4(9) # store it" \ - br diff --git a/sysdeps/rs6000/sub_n.s b/sysdeps/rs6000/sub_n.s deleted file mode 100644 index d931870..0000000 --- a/sysdeps/rs6000/sub_n.s +++ /dev/null @@ -1,82 +0,0 @@ -# IBM POWER __mpn_sub_n -- Subtract two limb vectors of equal, non-zero length. - -# Copyright (C) 1992, 1994, 1995, 1996 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr r3 -# s1_ptr r4 -# s2_ptr r5 -# size r6 - - .toc - .extern __mpn_sub_n[DS] - .extern .__mpn_sub_n -.csect [PR] - .align 2 - .globl __mpn_sub_n - .globl .__mpn_sub_n - .csect __mpn_sub_n[DS] -__mpn_sub_n: - .long .__mpn_sub_n, TOC[tc0], 0 - .csect [PR] -.__mpn_sub_n: - andil. 10,6,1 # odd or even number of limbs? - l 8,0(4) # load least significant s1 limb - l 0,0(5) # load least significant s2 limb - cal 3,-4(3) # offset res_ptr, it's updated before it's used - sri 10,6,1 # count for unrolled loop - sf 7,0,8 # subtract least significant limbs, set cy - mtctr 10 # copy count into CTR - beq 0,Leven # branch if even # of limbs (# of limbs >= 2) - -# We have an odd # of limbs. Add the first limbs separately. - cmpi 1,10,0 # is count for unrolled loop zero? - bne 1,L1 # branch if not - st 7,4(3) - sfe 3,0,0 # load !cy into ... - sfi 3,3,0 # ... return value register - br # return - -# We added least significant limbs. Now reload the next limbs to enter loop. -L1: lu 8,4(4) # load s1 limb and update s1_ptr - lu 0,4(5) # load s2 limb and update s2_ptr - stu 7,4(3) - sfe 7,0,8 # subtract limbs, set cy -Leven: lu 9,4(4) # load s1 limb and update s1_ptr - lu 10,4(5) # load s2 limb and update s2_ptr - bdz Lend # If done, skip loop - -Loop: lu 8,4(4) # load s1 limb and update s1_ptr - lu 0,4(5) # load s2 limb and update s2_ptr - sfe 11,10,9 # subtract previous limbs with cy, set cy - stu 7,4(3) # - lu 9,4(4) # load s1 limb and update s1_ptr - lu 10,4(5) # load s2 limb and update s2_ptr - sfe 7,0,8 # subtract previous limbs with cy, set cy - stu 11,4(3) # - bdn Loop # decrement CTR and loop back - -Lend: sfe 11,10,9 # subtract limbs with cy, set cy - st 7,4(3) # - st 11,8(3) # - sfe 3,0,0 # load !cy into ... - sfi 3,3,0 # ... return value register - br diff --git a/sysdeps/rs6000/submul_1.s b/sysdeps/rs6000/submul_1.s deleted file mode 100644 index 41095ab..0000000 --- a/sysdeps/rs6000/submul_1.s +++ /dev/null @@ -1,128 +0,0 @@ -# IBM POWER __mpn_submul_1 -- Multiply a limb vector with a limb and subtract -# the result from a second limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr r3 -# s1_ptr r4 -# size r5 -# s2_limb r6 - -# The RS/6000 has no unsigned 32x32->64 bit multiplication instruction. To -# obtain that operation, we have to use the 32x32->64 signed multiplication -# instruction, and add the appropriate compensation to the high limb of the -# result. We add the multiplicand if the multiplier has its most significant -# bit set, and we add the multiplier if the multiplicand has its most -# significant bit set. We need to preserve the carry flag between each -# iteration, so we have to compute the compensation carefully (the natural, -# srai+and doesn't work). Since the POWER architecture has a branch unit -# we can branch in zero cycles, so that's how we perform the additions. - - .toc - .csect .__mpn_submul_1[PR] - .align 2 - .globl __mpn_submul_1 - .globl .__mpn_submul_1 - .csect __mpn_submul_1[DS] -__mpn_submul_1: - .long .__mpn_submul_1[PR], TOC[tc0], 0 - .csect .__mpn_submul_1[PR] -.__mpn_submul_1: - - cal 3,-4(3) - l 0,0(4) - cmpi 0,6,0 - mtctr 5 - mul 9,0,6 - srai 7,0,31 - and 7,7,6 - mfmq 11 - cax 9,9,7 - l 7,4(3) - sf 8,11,7 # add res_limb - a 11,8,11 # invert cy (r11 is junk) - blt Lneg -Lpos: bdz Lend - -Lploop: lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 10,0,6 - mfmq 0 - ae 11,0,9 # low limb + old_cy_limb + old cy - l 7,4(3) - aze 10,10 # propagate cy to new cy_limb - sf 8,11,7 # add res_limb - a 11,8,11 # invert cy (r11 is junk) - bge Lp0 - cax 10,10,6 # adjust high limb for negative limb from s1 -Lp0: bdz Lend0 - lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 9,0,6 - mfmq 0 - ae 11,0,10 - l 7,4(3) - aze 9,9 - sf 8,11,7 - a 11,8,11 # invert cy (r11 is junk) - bge Lp1 - cax 9,9,6 # adjust high limb for negative limb from s1 -Lp1: bdn Lploop - - b Lend - -Lneg: cax 9,9,0 - bdz Lend -Lnloop: lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 10,0,6 - mfmq 7 - ae 11,7,9 - l 7,4(3) - ae 10,10,0 # propagate cy to new cy_limb - sf 8,11,7 # add res_limb - a 11,8,11 # invert cy (r11 is junk) - bge Ln0 - cax 10,10,6 # adjust high limb for negative limb from s1 -Ln0: bdz Lend0 - lu 0,4(4) - stu 8,4(3) - cmpi 0,0,0 - mul 9,0,6 - mfmq 7 - ae 11,7,10 - l 7,4(3) - ae 9,9,0 # propagate cy to new cy_limb - sf 8,11,7 # add res_limb - a 11,8,11 # invert cy (r11 is junk) - bge Ln1 - cax 9,9,6 # adjust high limb for negative limb from s1 -Ln1: bdn Lnloop - b Lend - -Lend0: cal 9,0(10) -Lend: st 8,4(3) - aze 3,9 - br diff --git a/sysdeps/standalone/Subdirs b/sysdeps/standalone/Subdirs deleted file mode 100644 index 4125ae8..0000000 --- a/sysdeps/standalone/Subdirs +++ /dev/null @@ -1,4 +0,0 @@ -# The `bare' subdirectory defines some structure for a target-specific -# library of functions which are actually implemented in -# sysdeps/standalone/CPU/TARGET. -bare diff --git a/sysdeps/standalone/arm/bits/errno.h b/sysdeps/standalone/arm/bits/errno.h deleted file mode 100644 index 8e10754..0000000 --- a/sysdeps/standalone/arm/bits/errno.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (C) 1991,1994,1996,1997,1998,2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants for standalone ARM machines. - These constants are essentially arbitrary. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -# undef __need_Emath -# define __Emath_defined 1 - -# define EDOM 1 -# define ERANGE 2 -#endif - -#ifdef _ERRNO_H -# define ENOSYS 3 -# define EINVAL 4 -# define ESPIPE 5 -# define EBADF 6 -# define ENOMEM 7 -# define EACCES 8 -# define ENFILE 9 -# define EMFILE 10 -# define ENAMETOOLONG 11 /* File name too long */ -# define ELOOP 12 /* Too many symbolic links encountered */ -# define ENOMSG 13 /* No message of desired type */ -# define E2BIG 14 /* Arg list too long */ -# define EINTR 15 -# define EILSEQ 16 -# define ENOEXEC 17 -# define ENOENT 18 -# define EPROTOTYPE 19 -# define ESRCH 20 -# define EPERM 21 -# define ENOTDIR 22 -# define ESTALE 23 -# define EISDIR 24 -# define EOPNOTSUPP 25 /* Operation not supported. */ -# define ENOTTY 26 -# define EAGAIN 27 -# define EIO 28 -# define ENOSPC 29 -# define EEXIST 30 -# define EBUSY 31 -# define EOVERFLOW 32 -#endif - - -/* Function to get address of global `errno' variable. */ -extern int *__errno_location (void) __THROW __attribute__ ((__const__)); diff --git a/sysdeps/standalone/arm/sysdep.c b/sysdeps/standalone/arm/sysdep.c deleted file mode 100644 index 8c17234..0000000 --- a/sysdeps/standalone/arm/sysdep.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* errno has to be defined somewhere, and it might as well be here. */ -int errno = 0; - -/* The same goes for these magic signal functions. This is a standalone - environment so we do nothing. */ -void _sig_dfl(int sig) -{ -} - -void _sig_ign(int sig) -{ -} diff --git a/sysdeps/standalone/bits/errno.h b/sysdeps/standalone/bits/errno.h deleted file mode 100644 index 217c6d5..0000000 --- a/sysdeps/standalone/bits/errno.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright (C) 1991, 1994, 1996, 1997, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -#undef __need_Emath -#define __Emath_defined 1 - -# define EDOM 1 -# define EILSEQ 17 -# define ERANGE 2 -#endif - -#ifdef _ERRNO_H -# define ENOSYS 3 -# define EINVAL 4 -# define ESPIPE 5 -# define EBADF 6 -# define ENOMEM 7 -# define EACCES 8 -# define ENFILE 9 -# define EMFILE 10 -# define ENOMSG 11 -# define ENAMETOOLONG 12 -# define ELOOP 13 -# define E2BIG 15 -# define EINTR 16 -# define ENOEXEC 18 -# define ENOENT 19 -# define EPROTOTYPE 20 -# define ESRCH 21 -# define EPERM 22 -# define EEXIST 23 -# define ENOTDIR 24 -# define ESTALE 25 -# define ENOTTY 26 -# define EISDIR 27 -# define EOPNOTSUPP 28 -# define EAGAIN 29 -# define EIO 30 -# define ENOSPC 31 -# define EBUSY 32 -#endif diff --git a/sysdeps/standalone/brk.c b/sysdeps/standalone/brk.c deleted file mode 100644 index 32e148e..0000000 --- a/sysdeps/standalone/brk.c +++ /dev/null @@ -1,66 +0,0 @@ -/* Copyright (C) 1991, 1994, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Ported to standalone 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -void *__curbrk; -void *__rorig; -void *__rlimit; - -int -__brk (inaddr) - void *inaddr; -{ - - if ( ( (void *)inaddr > (void *)__rlimit ) || - ( (void *)inaddr < (void *)__rorig ) ) - return -1; - - __curbrk = inaddr; - return 0; -} - -/* Initialization Code for Memory Allocation */ - -void *__C_heap_start; -int __C_heap_size; - -#ifdef HAVE_GNU_LD -static -#endif -void -__NONE_set_memvals (argc, argv, envp) - int argc; - char **argv; - char **envp; -{ - - __rorig = - __curbrk = __C_heap_start; - __rlimit = __curbrk + __C_heap_size; - - (void) &__NONE_set_memvals; /* Avoid "defined but not used" warning. */ -} - -#ifdef HAVE_GNU_LD -text_set_element (__libc_subinit, __NONE_set_memvals); -#endif - -weak_alias (__brk, brk) diff --git a/sysdeps/standalone/close.c b/sysdeps/standalone/close.c deleted file mode 100644 index 8c2caf1..0000000 --- a/sysdeps/standalone/close.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -#define _STDIO_H -#include -#include "filedesc.h" - -/* Close the file descriptor FD. */ -int -__close (fd) - int fd; -{ - if ( !__FD_Is_valid( fd ) || !__FD_Table[ fd ].in_use ) - { - __set_errno (EBADF); - return -1; - } - - __FD_Table[ fd ].in_use = 0; - return 0; -} -libc_hidden_def (__close) -weak_alias (__close, close) diff --git a/sysdeps/standalone/dirstream.h b/sysdeps/standalone/dirstream.h deleted file mode 100644 index 6f58294..0000000 --- a/sysdeps/standalone/dirstream.h +++ /dev/null @@ -1,43 +0,0 @@ -/* 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _DIRSTREAM_H - -#define _DIRSTREAM_H 1 - -#define __need_size_t -#include - -/* Directory stream type. - - The miscellaneous Unix `readdir' implementations read directory data - into a buffer and fill in a `struct dirent' copy in the `DIR' object. */ - -struct __dirstream - { - int __fd; /* File descriptor. */ - - char *__data; /* Directory block. */ - size_t __allocation; /* Space allocated for the block. */ - size_t __offset; /* Current offset into the block. */ - size_t __size; /* Total valid data in the block. */ - - struct dirent __entry; /* Returned by `readdir'. */ - }; - -#endif /* dirstream.h */ diff --git a/sysdeps/standalone/filedesc.h b/sysdeps/standalone/filedesc.h deleted file mode 100644 index b7c15b5..0000000 --- a/sysdeps/standalone/filedesc.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 1994, 1997, 1998 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * This is the file descriptor used by the no OS implementation - * of __open, __read, __write, and __close. - */ - -#ifndef __FILEDESC_h -#define __FILEDESC_h - -#define __need_FOPEN_MAX -#include - -#ifndef __DECLARE_FILE_DESCRIPTORS__ -#define FILEDESC_EXTERN extern -#else -#define FILEDESC_EXTERN -#endif - -typedef struct { - int in_use; /* 1 if in use, 0 otherwise */ - int flags; /* Flags from open */ -} __no_os_file_descriptor; - -#define __FD_Is_valid( _fd ) \ - ( (_fd) >= 0 && (_fd) < FOPEN_MAX ) - -FILEDESC_EXTERN __no_os_file_descriptor __FD_Table[ FOPEN_MAX ]; - -#endif diff --git a/sysdeps/standalone/i386/force_cpu386/Makefile b/sysdeps/standalone/i386/force_cpu386/Makefile deleted file mode 100644 index 5cb4f28..0000000 --- a/sysdeps/standalone/i386/force_cpu386/Makefile +++ /dev/null @@ -1,26 +0,0 @@ -# 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 Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 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 -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -ifeq (bare,$(subdir)) -install-others += $(inst_libdir)/force_cpu386.ld -$(inst_libdir)/force_cpu386.ld: $(sysdep_dir)/standalone/i386/target.ld \ - $(+force) - $(do-install) -endif diff --git a/sysdeps/standalone/i386/force_cpu386/_exit.c b/sysdeps/standalone/i386/force_cpu386/_exit.c deleted file mode 100644 index 2da822e..0000000 --- a/sysdeps/standalone/i386/force_cpu386/_exit.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1991, 1997, 1999, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -/* This returns control to FORCEbug. */ - -void Bsp_cleanup (void); - -/* The function `_exit' should take a status argument and simply - terminate program execution, using the low-order 8 bits of the - given integer as status. */ - -__NORETURN void -_exit (status) - int status; -{ - /* status is ignored */ - Bsp_cleanup(); -} -weak_alias (_exit, _Exit) - -#ifdef HAVE_GNU_LD - -#include - -stub_warning(_exit); - -#endif /* GNU stabs. */ diff --git a/sysdeps/standalone/i386/force_cpu386/brdinit.c b/sysdeps/standalone/i386/force_cpu386/brdinit.c deleted file mode 100644 index 8392ce5..0000000 --- a/sysdeps/standalone/i386/force_cpu386/brdinit.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1994, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include "i386.h" - -/* _Board_Initialize() - -This routine initializes the FORCE CPU386 board. */ - -void _Console_Initialize (void); - -void -_Board_Initialize () -{ - /* - * FORCE documentation incorrectly states that the bus request - * level is initialized to 3. It is actually initialized by - * FORCEbug to 0. - */ - - outport_byte (0x00, 0x3f); /* resets VMEbus request level */ - - _Console_Initialize (); -} diff --git a/sysdeps/standalone/i386/force_cpu386/console.c b/sysdeps/standalone/i386/force_cpu386/console.c deleted file mode 100644 index 4c7271b..0000000 --- a/sysdeps/standalone/i386/force_cpu386/console.c +++ /dev/null @@ -1,163 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include "i386.h" - -/* Console IO routines for a FORCE CPU386 board. */ - -/* Force CPU/386 specific IO addressing - * - * The following determines whether Port B or the Console should - * be used for console I/O. Setting ONE (and only ONE) of these to 1 - * enables I/O on that port. - * - * PORT A - DUSCC MC68562 Channel A (*** not supported here ***) - * PORT B - DUSCC MC68562 Channel B - * PORT C - MFP MC68901 Channel (*** FORCEbug console ***) - */ - -#define PORTB 1 /* use port b as console */ -#define PORTC 0 /* use console port as console */ - -#if ( PORTB == 1 ) -#define TX_STATUS 0x1b6 /* DUSCC General Status Register */ -#define RX_STATUS 0x1b6 /* DUSCC General Status Register */ -#define TX_BUFFER 0x1e0 /* DUSCC Transmitter Channel B */ -#define RX_BUFFER 0x1e8 /* DUSCC Receiver Channel B */ -#define Is_tx_ready( _status ) ( (_status) & 0x20 ) -#define Is_rx_ready( _status ) ( (_status) & 0x10 ) -#endif - -#if ( PORTC == 1 ) -#define TX_STATUS 0x12c /* MFP Transmit Status Register */ -#define RX_STATUS 0x12a /* MFP Receive Status Register */ -#define TX_BUFFER 0x12e /* MFP Transmitter Channel */ -#define RX_BUFFER 0x12e /* MFP Receiver Channel */ -#define Is_tx_ready( _status ) ( (_status) & 0x80 ) -#define Is_rx_ready( _status ) ( (_status) & 0x80 ) -#endif - -/* _Console_Initialize - -On the Force board the console require some initialization. */ - -void -_Console_Initialize () -{ - register unsigned8 ignored; - - /* FORCE technical support mentioned that it may be necessary to - read the DUSCC RX_BUFFER port four times to remove all junk. - This code is a little more paranoid. */ - - inport_byte( RX_BUFFER, ignored ); - inport_byte( RX_BUFFER, ignored ); - inport_byte( RX_BUFFER, ignored ); - inport_byte( RX_BUFFER, ignored ); - inport_byte( RX_BUFFER, ignored ); -} - -/* Miscellaneous support for console IO */ - -static inline int _Force386_is_rx_ready () -{ - register unsigned8 status; - - inport_byte( RX_STATUS, status ); - - if ( Is_rx_ready( status ) ) return 1; - else return 0; -} - -static inline int _Force386_is_tx_ready () -{ - register unsigned8 status; - - inport_byte( TX_STATUS, status ); - - if ( Is_tx_ready( status ) ) return 1; - else return 0; -} - - -static inline int _Force386_read_data () -{ - register unsigned8 ch; - -#if ( PORTB == 1 ) - /* Force example code resets the Channel B Receiver here. - * It appears to cause XON's to be lost. - */ - - /* outport_byte( RX_STATUS, 0x10 ); */ -#endif - - inport_byte( RX_BUFFER, ch ); - - return ch; -} - -/* _Console_Putc - -This routine transmits a character. It supports XON/XOFF flow control. */ - -#define XON 0x11 /* control-Q */ -#define XOFF 0x13 /* control-S */ - -int -_Console_Putc (ch) - char ch; -{ - register unsigned8 inch; - - while ( !_Force386_is_tx_ready() ); - - while ( _Force386_is_rx_ready() == 1 ) { /* must be an XOFF */ - inch = _Force386_read_data(); - if ( inch == XOFF ) - do { - while ( _Force386_is_rx_ready() == 0 ); - inch = _Force386_read_data(); - } while ( inch != XON ); - } - - outport_byte( TX_BUFFER, ch ); - return( 0 ); -} - -/* _Console_Getc - -This routine reads a character from the UART and returns it. */ - -int -_Console_Getc (poll) - int poll; -{ - if ( poll ) { - if ( !_Force386_is_rx_ready() ) - return -1; - else - return _Force386_read_data(); - } else { - while ( !_Force386_is_rx_ready() ); - return _Force386_read_data(); - } -} diff --git a/sysdeps/standalone/i386/force_cpu386/strtsupp.S b/sysdeps/standalone/i386/force_cpu386/strtsupp.S deleted file mode 100644 index 5d9ac5c..0000000 --- a/sysdeps/standalone/i386/force_cpu386/strtsupp.S +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file assists the board independent startup code by - * loading the proper segment register values. The values - * loaded are dependent on the FORCEBUG. - * - * NOTE: No stack has been established when this routine - * is invoked. It returns by jumping back to the start code. - * - */ - -/* - * FORCEBUG loads us into a virtual address space which - * really starts at PHYSICAL_ADDRESS_BASE. - * - */ - -.set PHYSICAL_ADDRESS_BASE, 0x00002000 - -/* - * At reset time, FORCEBUG normally has the segment selectors preloaded. - * If a human resets the instruction pointer, this will not have occurred. - * However, no guarantee can be made of the other registers if cs:ip was - * modified to restart the program. Because of this, the BSP reloads all - * segment registers (except cs) with the values they have following - * a reset. - */ - - -.set RESET_SS, 0x40 # initial value of stack segment register -.set RESET_DS, 0x40 # initial value of data segment register -.set RESET_ES, 0x40 # initial value of extra segment register -.set RESET_FS, 0x40 # initial value of "f" segment register -.set RESET_GS, 0x30 # initial value of "g" segment register - - -#define LOAD_SEGMENTS(_value,_segreg) \ - movw $_value##,%ax ; \ - movw %ax,##_segreg - - - .global _load_segments - - .global _establish_stack - -_load_segments: - - LOAD_SEGMENTS( RESET_SS, %ss ) - LOAD_SEGMENTS( RESET_DS, %ds ) - LOAD_SEGMENTS( RESET_ES, %es ) - LOAD_SEGMENTS( RESET_FS, %fs ) - LOAD_SEGMENTS( RESET_GS, %gs ) - - jmp _establish_stack # return to the bsp entry code - - .global _return_to_monitor -_return_to_monitor: - - movb $0,%al - int $0x20 # restart FORCEbug - jmp start # FORCEbug does not reset PC - - .data - - .global _Do_Load_IDT -_Do_Load_IDT: .byte 1 - - .global _Do_Load_GDT -_Do_Load_GDT: .byte 0 diff --git a/sysdeps/standalone/i386/force_cpu386/target.ld b/sysdeps/standalone/i386/force_cpu386/target.ld deleted file mode 100644 index d040cf9..0000000 --- a/sysdeps/standalone/i386/force_cpu386/target.ld +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file contains directives for the GNU linker which are specific -to the FORCE CPU386 board. */ - -MEMORY - { - ram : org = 0x0, l = 1M - } - -/* This value is also when the space is allocated. If you change -this one, change the other one!!! */ - -heap_size = 0x20000; - -SECTIONS -{ - .text 0x0 : - { - _text_start = ABSOLUTE(.) ; - *(.text) - _etext = ALIGN( 0x10 ) ; - } - .data ADDR( .text ) + SIZEOF( .text ): - { - _data_start = . ; - *(.data) - _edata = ALIGN( 0x10 ) ; - } - .bss ADDR( .data ) + SIZEOF( .data ): - { - _bss_start = . ; - *(.bss) - *(COMMON) - heap_memory = .; - . += 0x20000; - _end = . ; - __end = . ; - } -} diff --git a/sysdeps/standalone/i386/i386.h b/sysdeps/standalone/i386/i386.h deleted file mode 100644 index 364e8ab..0000000 --- a/sysdeps/standalone/i386/i386.h +++ /dev/null @@ -1,326 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* i386.h - * - * This file contains macros which are used to access i80386 - * registers which are not addressable by C. This file contains - * functions which are useful to those developing target - * specific support routines. - */ - -#ifndef i386_h__ -#define i386_h__ - -typedef unsigned char unsigned8; -typedef unsigned short unsigned16; -typedef unsigned int unsigned32; - -#define disable_intr( isrlevel ) \ - { (isrlevel) = 0; \ - asm volatile ( "pushf ; \ - pop %0 ; \ - cli " \ - : "=r" ((isrlevel)) : "0" ((isrlevel)) ); \ - } - - -#define enable_intr( isrlevel ) \ - { asm volatile ( "push %0 ; \ - popf " \ - : "=r" ((isrlevel)) : "0" ((isrlevel)) ); \ - } - -#define delay( _microseconds ) \ - { \ - unsigned32 _counter; \ - \ - _counter = (_microseconds); \ - \ - asm volatile ( "0: nop;" \ - " mov %0,%0 ;" \ - " loop 0" : "=c" (_counter) \ - : "0" (_counter) \ - ); \ - \ - } - -/* segment access functions */ - -static inline unsigned16 get_cs() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%cs,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_ds() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%ds,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_es() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%es,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_ss() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%ss,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_fs() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%fs,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -static inline unsigned16 get_gs() -{ - register unsigned16 segment = 0; - - asm volatile ( "movw %%gs,%0" : "=r" (segment) : "0" (segment) ); - - return segment; -} - -/* i80x86 I/O instructions */ - -#define outport_byte( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned8 __value = _value; \ - \ - asm volatile ( "outb %0,%1" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - } - -#define outport_word( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned16 __value = _value; \ - \ - asm volatile ( "outw %0,%1" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - } - -#define outport_long( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned32 __value = _value; \ - \ - asm volatile ( "outl %0,%1" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - } - -#define inport_byte( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned8 __value = 0; \ - \ - asm volatile ( "inb %1,%0" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - _value = __value; \ - } - -#define inport_word( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned16 __value = 0; \ - \ - asm volatile ( "inw %1,%0" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - _value = __value; \ - } - -#define inport_long( _port, _value ) \ - { register unsigned16 __port = _port; \ - register unsigned32 __value = 0; \ - \ - asm volatile ( "inl %1,%0" : "=a" (__value), "=d" (__port) \ - : "0" (__value), "1" (__port) \ - ); \ - _value = __value; \ - } - -/* structures */ - -/* See Chapter 5 - Memory Management in i386 manual */ - -struct GDT_slot { - unsigned16 limit_0_15; - unsigned16 base_0_15; - unsigned8 base_16_23; - unsigned8 type_dt_dpl_p; - unsigned8 limit_16_19_granularity; - unsigned8 base_24_31; -}; - -/* See Chapter 9 - Exceptions and Interrupts in i386 manual - * - * NOTE: This is the IDT entry for interrupt gates ONLY. - */ - -struct IDT_slot { - unsigned16 offset_0_15; - unsigned16 segment_selector; - unsigned8 reserved; - unsigned8 p_dpl; - unsigned16 offset_16_31; -}; - -struct DTR_load_save_format { - unsigned16 limit; - unsigned32 physical_address; -}; - -/* variables */ - -extern struct IDT_slot Interrupt_descriptor_table[ 256 ]; -extern struct GDT_slot Global_descriptor_table[ 8192 ]; - -/* functions */ - -#ifdef CPU_INITIALIZE -#define EXTERN -#else -#undef EXTERN -#define EXTERN extern -#endif - -void *Logical_to_physical( - unsigned16 segment, - void *address -); - -void *Physical_to_logical( - unsigned16 segment, - void *address -); - -/* complicated static inline functions */ - -#define get_GDTR( _gdtr_address ) \ - { \ - void *_gdtr = (_gdtr_address); \ - \ - asm volatile( "sgdt (%0)" : "=r" (_gdtr) : "0" (_gdtr) ); \ - } - -#define get_GDT_slot( _gdtr_base, _segment, _slot_address ) \ - { \ - register unsigned32 _gdt_slot = (_gdtr_base) + (_segment); \ - register volatile void *_slot = (_slot_address); \ - register unsigned32 _temporary = 0; \ - \ - asm volatile( "movl %%gs:(%0),%1 ; \ - movl %1,(%2) ; \ - movl %%gs:4(%0),%1 ; \ - movl %1,4(%2)" \ - : "=r" (_gdt_slot), "=r" (_temporary), "=r" (_slot) \ - : "0" (_gdt_slot), "1" (_temporary), "2" (_slot) \ - ); \ - } - -#define set_GDT_slot( _gdtr_base, _segment, _slot_address ) \ - { \ - register unsigned32 _gdt_slot = (_gdtr_base) + (_segment); \ - register volatile void *_slot = (_slot_address); \ - register unsigned32 _temporary = 0; \ - \ - asm volatile( "movl (%2),%1 ; \ - movl %1,%%gs:(%0) ; \ - movl 4(%2),%1 ; \ - movl %1,%%gs:4(%0) \ - " \ - : "=r" (_gdt_slot), "=r" (_temporary), "=r" (_slot) \ - : "0" (_gdt_slot), "1" (_temporary), "2" (_slot) \ - ); \ - } - -static inline void set_segment( - unsigned16 segment, - unsigned32 base, - unsigned32 limit -) -{ - struct DTR_load_save_format gdtr; - volatile struct GDT_slot Gdt_slot; - volatile struct GDT_slot *gdt_slot = &Gdt_slot; - unsigned16 tmp_segment = 0; - unsigned32 limit_adjusted; - - - /* load physical address of the GDT */ - - get_GDTR( &gdtr ); - - gdt_slot->type_dt_dpl_p = 0x92; /* present, dpl=0, */ - /* application=1, */ - /* type=data read/write */ - gdt_slot->limit_16_19_granularity = 0x40; /* 32 bit segment */ - - limit_adjusted = limit; - if ( limit > 4095 ) { - gdt_slot->limit_16_19_granularity |= 0x80; /* set granularity bit */ - limit_adjusted /= 4096; - } - - gdt_slot->limit_16_19_granularity |= (limit_adjusted >> 16) & 0xff; - gdt_slot->limit_0_15 = limit_adjusted & 0xffff; - - gdt_slot->base_0_15 = base & 0xffff; - gdt_slot->base_16_23 = (base >> 16) & 0xff; - gdt_slot->base_24_31 = (base >> 24); - - set_GDT_slot( gdtr.physical_address, segment, gdt_slot ); - - /* Now, reload all segment registers so the limit takes effect. */ - - asm volatile( "movw %%ds,%0 ; movw %0,%%ds\n" - "movw %%es,%0 ; movw %0,%%es\n" - "movw %%fs,%0 ; movw %0,%%fs\n" - "movw %%gs,%0 ; movw %0,%%gs\n" - "movw %%ss,%0 ; movw %0,%%ss" - : "=r" (tmp_segment) - : "0" (tmp_segment) - ); - -} - -#endif -/* end of include file */ diff --git a/sysdeps/standalone/i386/start.S b/sysdeps/standalone/i386/start.S deleted file mode 100644 index b3fd315..0000000 --- a/sysdeps/standalone/i386/start.S +++ /dev/null @@ -1,338 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* entry.s - * - * This file contains the entry point for the application. - * The name of this entry point is compiler dependent. - * It jumps to the BSP which is responsible for performing - * all initialization. - * - */ - - .data - .global _Do_Load_IDT - .global _Do_Load_GDT - - .text - .global start # GNU default entry point - .global _establish_stack - - .global _bsp_start - .global _load_segments - .global __exit - -start: - nop - cli # DISABLE INTERRUPTS!!! -# -# Load the segment registers -# -# NOTE: Upon return, gs will contain the segment descriptor for -# a segment which maps directly to all of physical memory. -# - jmp _load_segments # load board dependent segments - -# -# Set up the stack -# - -_establish_stack: - - movl $stack_end,%esp # set stack pointer - movl $stack_end,%ebp # set base pointer - -# -# Zero out the BSS segment -# -zero_bss: - cld # make direction flag count up - movl $_end,%ecx # find end of .bss - movl $_bss_start,%edi # edi = beginning of .bss - subl %edi,%ecx # ecx = size of .bss in bytes - shrl $2,%ecx # size of .bss in longs - xorl %eax,%eax # value to clear out memory - repne # while ecx != 0 - stosl # clear a long in the bss - -# -# Set the C heap information for malloc -# - movl $heap_size,___C_heap_size # set ___C_heap_size - movl $heap_memory,___C_heap_start # set ___C_heap_start - -# -# Copy the Global Descriptor Table to our space -# - - sgdt _Original_GDTR # save original GDT - movzwl _Original_GDTR_limit,%ecx # size of GDT in bytes; limit - # is 8192 entries * 8 bytes per - - # make ds:esi point to the original GDT - - movl _Original_GDTR_base,%esi - push %ds # save ds - movw %gs,%ax - movw %ax,%ds - - # make es:edi point to the new (our copy) GDT - movl $_Global_descriptor_table,%edi - - rep - movsb # copy the GDT (ds:esi -> es:edi) - - pop %ds # restore ds - - # Build and load new contents of GDTR - movw _Original_GDTR_limit,%ecx # set new limit - movw %cx,_New_GDTR_limit - - push $_Global_descriptor_table - push %es - call _Logical_to_physical - addl $6,%esp - movl %eax,_New_GDTR_base # set new base - - cmpb $0,_Do_Load_GDT # Should the new GDT be loaded? - je no_gdt_load # NO, then branch - lgdt _New_GDTR # load the new GDT -no_gdt_load: - -# -# Copy the Interrupt Descriptor Table to our space -# - - sidt _Original_IDTR # save original IDT - movzwl _Original_IDTR_limit,%ecx # size of IDT in bytes; limit - # is 256 entries * 8 bytes per - - - # make ds:esi point to the original IDT - movl _Original_IDTR_base,%esi - - push %ds # save ds - movw %gs,%ax - movw %ax,%ds - - # make es:edi point to the new (our copy) IDT - movl $_Interrupt_descriptor_table,%edi - - rep - movsb # copy the IDT (ds:esi -> es:edi) - pop %ds # restore ds - - # Build and load new contents of IDTR - movw _Original_IDTR_limit,%ecx # set new limit - movw %cx,_New_IDTR_limit - - push $_Interrupt_descriptor_table - push %es - call _Logical_to_physical - addl $6,%esp - movl %eax,_New_IDTR_base # set new base - - cmpb $0,_Do_Load_IDT # Should the new IDT be loaded? - je no_idt_load # NO, then branch - lidt _New_IDTR # load the new IDT -no_idt_load: - -# -# Initialize the i387. -# -# Using the NO WAIT form of the instruction insures that if -# it is not present the board will not lock up or get an -# exception. -# - - fninit # MUST USE NO-WAIT FORM - - call __Board_Initialize # initialize the board - - pushl $0 # envp = NULL - pushl $0 # argv = NULL - pushl $0 # argc = NULL - call ___libc_init # initialize the library and - # call main - addl $12,%esp - - pushl $0 # argc = NULL - call __exit # call the Board specific exit - addl $4,%esp - -# -# Clean up -# - - - .global _Bsp_cleanup - - .global _return_to_monitor - -_Bsp_cleanup: - cmpb $0,_Do_Load_IDT # Was the new IDT loaded? - je no_idt_restore # NO, then branch - lidt _Original_IDTR # restore the new IDT -no_idt_restore: - - cmpb $0,_Do_Load_GDT # Was the new GDT loaded? - je no_gdt_restore # NO, then branch - lgdt _Original_GDTR # restore the new GDT -no_gdt_restore: - jmp _return_to_monitor - -# -# void *Logical_to_physical( -# rtems_unsigned16 segment, -# void *address -# ); -# -# Returns thirty-two bit physical address for segment:address. -# - - .global _Logical_to_physical - -.set SEGMENT_ARG, 4 -.set ADDRESS_ARG, 8 - -_Logical_to_physical: - - xorl %eax,%eax # clear eax - movzwl SEGMENT_ARG(%esp),%ecx # ecx = segment value - movl $_Global_descriptor_table,%edx # edx = address of our GDT - addl %ecx,%edx # edx = address of desired entry - movb 7(%edx),%ah # ah = base 31:24 - movb 4(%edx),%al # al = base 23:16 - shll $16,%eax # move ax into correct bits - movw 2(%edx),%ax # ax = base 0:15 - movl ADDRESS_ARG(%esp),%ecx # ecx = address to convert - addl %eax,%ecx # ecx = physical address equivalent - movl %ecx,%eax # eax = ecx - ret - -# -# void *Physical_to_logical( -# rtems_unsigned16 segment, -# void *address -# ); -# -# Returns thirty-two bit physical address for segment:address. -# - - .global _Physical_to_logical - -#.set SEGMENT_ARG, 4 -#.set ADDRESS_ARG, 8 -- use sets from above - -_Physical_to_logical: - - xorl %eax,%eax # clear eax - movzwl SEGMENT_ARG(%esp),%ecx # ecx = segment value - movl $_Global_descriptor_table,%edx # edx = address of our GDT - addl %ecx,%edx # edx = address of desired entry - movb 7(%edx),%ah # ah = base 31:24 - movb 4(%edx),%al # al = base 23:16 - shll $16,%eax # move ax into correct bits - movw 2(%edx),%ax # ax = base 0:15 - movl ADDRESS_ARG(%esp),%ecx # ecx = address to convert - subl %eax,%ecx # ecx = logical address equivalent - movl %ecx,%eax # eax = ecx - ret - - -/* - * Data Declarations. Start with a macro which helps declare space. - */ - - .bss - -#define DECLARE_SPACE(_name,_space,_align) \ - .globl _name ; \ - .align _align ; \ -_name##: .space _space - -#define DECLARE_LABEL(_name) \ - .globl _name ; \ -_name##: - -#define DECLARE_PTR(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U32(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U16(_name) DECLARE_SPACE(_name,2,1) - -/* - * Require environment stuff - */ - -DECLARE_LABEL(_environ) -DECLARE_PTR(environ) - -DECLARE_LABEL(_errno) -DECLARE_U32(errno) - -/* - * Miscellaneous Variables used to restore the CPU state. - * - * Start with a macro to declare the space for the contents of - * a Descriptor Table register. - */ - -#define DECLARE_DTR_SPACE(_name) \ - .global _name ; \ - .align 4 ; \ -_name##: ; \ -_name##_limit: .space 2 ; \ -_name##_base: .space 4 - -DECLARE_SPACE(_Interrupt_descriptor_table,256*8,4) -DECLARE_SPACE(_Global_descriptor_table,8192*8,4) - -DECLARE_DTR_SPACE(_Original_IDTR) -DECLARE_DTR_SPACE(_New_IDTR) -DECLARE_DTR_SPACE(_Original_GDTR) -DECLARE_DTR_SPACE(_New_GDTR) - -DECLARE_SPACE(_Physical_base_of_ds,4,4) -DECLARE_SPACE(_Physical_base_of_cs,4,4) - -/* - * Stack Size and Space - */ - - .set stack_size, 0x20000 - -DECLARE_SPACE(stack_memory,stack_size,4) -DECLARE_LABEL(stack_end) diff --git a/sysdeps/standalone/i960/i960ca.h b/sysdeps/standalone/i960/i960ca.h deleted file mode 100644 index 0dcf5c3..0000000 --- a/sysdeps/standalone/i960/i960ca.h +++ /dev/null @@ -1,206 +0,0 @@ -/* Copyright (C) 1994, 1996, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* i960ca.h - * - * This file contains macros which are used to access i80960CA - * registers which are not addressable by C. The functions - * in this file should be useful to the developer of target - * specific code. - */ - -#ifndef i960ca_h__ -#define i960ca_h__ - -typedef unsigned char unsigned8; -typedef unsigned short unsigned16; -typedef unsigned int unsigned32; - -/* - * Intel i80960CA Processor Control Block - */ - -struct i80960ca_prcb { - unsigned32 *fault_tbl; /* fault table base address */ - struct i80960ca_ctltbl - *control_tbl; /* control table base address */ - unsigned32 initial_ac; /* AC register initial value */ - unsigned32 fault_config; /* fault configuration word */ - void *intr_tbl; /* interrupt table base address */ - void *sys_proc_tbl; /* system procedure table */ - /* base address */ - unsigned32 reserved; /* reserved */ - unsigned32 *intr_stack; /* interrupt stack pointer */ - unsigned32 ins_cache_cfg; /* instruction cache */ - /* configuration word */ - unsigned32 reg_cache_cfg; /* register cache */ - /* configuration word */ -}; - -/* - * Intel i80960CA Control Table - */ - -struct i80960ca_ctltbl { - /* Control Group 0 */ - unsigned32 ipb0; /* IP breakpoint 0 */ - unsigned32 ipb1; /* IP breakpoint 1 */ - unsigned32 dab0; /* data address breakpoint 0 */ - unsigned32 dab1; /* data address breakpoint 1 */ - /* Control Group 1 */ - unsigned32 imap0; /* interrupt map 0 */ - unsigned32 imap1; /* interrupt map 1 */ - unsigned32 imap2; /* interrupt map 2 */ - unsigned32 icon; /* interrupt control */ - /* Control Group 2 */ - unsigned32 mcon0; /* memory region 0 configuration */ - unsigned32 mcon1; /* memory region 1 configuration */ - unsigned32 mcon2; /* memory region 2 configuration */ - unsigned32 mcon3; /* memory region 3 configuration */ - /* Control Group 3 */ - unsigned32 mcon4; /* memory region 4 configuration */ - unsigned32 mcon5; /* memory region 5 configuration */ - unsigned32 mcon6; /* memory region 6 configuration */ - unsigned32 mcon7; /* memory region 7 configuration */ - /* Control Group 4 */ - unsigned32 mcon8; /* memory region 8 configuration */ - unsigned32 mcon9; /* memory region 9 configuration */ - unsigned32 mcon10; /* memory region 10 configuration */ - unsigned32 mcon11; /* memory region 11 configuration */ - /* Control Group 5 */ - unsigned32 mcon12; /* memory region 12 configuration */ - unsigned32 mcon13; /* memory region 13 configuration */ - unsigned32 mcon14; /* memory region 14 configuration */ - unsigned32 mcon15; /* memory region 15 configuration */ - /* Control Group 6 */ - unsigned32 bpcon; /* breakpoint control */ - unsigned32 tc; /* trace control */ - unsigned32 bcon; /* bus configuration control */ - unsigned32 reserved; /* reserved */ -}; - -#define disable_intr( oldlevel ) \ - { (oldlevel) = 0x1f0000; \ - asm volatile ( "modpc 0,%1,%1" \ - : "=d" ((oldlevel)) \ - : "0" ((oldlevel)) ); \ - } - -#define enable_intr( oldlevel ) \ - { unsigned32 _mask = 0x1f0000; \ - asm volatile ( "modpc 0,%0,%1" \ - : "=d" (_mask), "=d" ((oldlevel)) \ - : "0" (_mask), "1" ((oldlevel)) ); \ - } - -#define flash_intr( oldlevel ) \ - { unsigned32 _mask = 0x1f0000; \ - asm volatile ( "modpc 0,%0,%1 ; \ - mov %0,%1 ; \ - modpc 0,%0,%1" \ - : "=d" (_mask), "=d" ((oldlevel)) \ - : "0" (_mask), "1" ((oldlevel)) ); \ - } - -#define atomic_modify( mask, addr, prev ) \ - { register unsigned32 _mask = (mask); \ - register unsigned32 *_addr = (unsigned32 *)(addr); \ - asm volatile( "atmod %0,%1,%1" \ - : "=d" (_addr), "=d" (_mask) \ - : "0" (_addr), "1" (_mask) ); \ - (prev) = _mask; \ - } - -#define delay( microseconds ) \ - { register unsigned32 _delay=(microseconds); \ - register unsigned32 _tmp; \ - asm volatile( "delay0: \ - remo 3,31,%0 ; \ - cmpo 0,%0 ; \ - subo 1,%1,%1 ; \ - cmpobne.t 0,%1,delay0 " \ - : "=d" (_tmp), "=d" (_delay) \ - : "0" (_tmp), "1" (_delay) ); \ - } - -#define enable_tracing() \ - { register unsigned32 _pc = 0x1; \ - asm volatile( "modpc 0,%0,%0" : "=d" (_pc) : "0" (_pc) ); \ - } - -#define unmask_intr( xint ) \ - { register unsigned32 _mask= (1<<(xint)); \ - asm volatile( "or sf1,%0,sf1" : "=d" (_mask) : "0" (_mask) ); \ - } - -#define mask_intr( xint ) \ - { register unsigned32 _mask= (1<<(xint)); \ - asm volatile( "andnot %0,sf1,sf1" : "=d" (_mask) : "0" (_mask) ); \ - } - -#define clear_intr( xint ) \ - { register unsigned32 _xint=(xint); \ - asm volatile( "loop_til_cleared:" \ - " clrbit %0,sf0,sf0 ;" \ - " bbs %0,sf0,loop_til_cleared" \ - : "=d" (_xint) : "0" (_xint) ); \ - } - -#define reload_ctl_group( group ) \ - { register int _cmd = ((group)|0x400) ; \ - asm volatile( "sysctl %0,%0,%0" : "=d" (_cmd) : "0" (_cmd) ); \ - } - -#define cause_intr( intr ) \ - { register int _intr = (intr); \ - asm volatile( "sysctl %0,%0,%0" : "=d" (_intr) : "0" (_intr) ); \ - } - -#define soft_reset( prcb ) \ - { register struct i80960ca_prcb *_prcb = (prcb); \ - register unsigned32 *_next=0; \ - register unsigned32 _cmd = 0x30000; \ - asm volatile( "lda next,%1; \ - sysctl %0,%1,%2; \ - next: mov g0,g0" \ - : "=d" (_cmd), "=d" (_next), "=d" (_prcb) \ - : "0" (_cmd), "1" (_next), "2" (_prcb) ); \ - } - -static inline unsigned32 pend_intrs() -{ register unsigned32 _intr=0; - asm volatile( "mov sf0,%0" : "=d" (_intr) : "0" (_intr) ); - return ( _intr ); -} - -static inline unsigned32 mask_intrs() -{ register unsigned32 _intr=0; - asm volatile( "mov sf1,%0" : "=d" (_intr) : "0" (_intr) ); - return( _intr ); -} - -static inline unsigned32 get_fp() -{ register unsigned32 _fp=0; - asm volatile( "mov fp,%0" : "=d" (_fp) : "0" (_fp) ); - return ( _fp ); -} - -#endif -/* end of include file */ diff --git a/sysdeps/standalone/i960/nindy960/Makefile b/sysdeps/standalone/i960/nindy960/Makefile deleted file mode 100644 index 40ead97..0000000 --- a/sysdeps/standalone/i960/nindy960/Makefile +++ /dev/null @@ -1,24 +0,0 @@ -# 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. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 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 -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; 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. diff --git a/sysdeps/standalone/i960/nindy960/_exit.c b/sysdeps/standalone/i960/nindy960/_exit.c deleted file mode 100644 index 9cd3f85..0000000 --- a/sysdeps/standalone/i960/nindy960/_exit.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1991, 1997, 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -/* The function `_exit' should take a status argument and simply - terminate program execution, using the low-order 8 bits of the - given integer as status. */ - -/* This returns control to Nindy. */ -/* XXX where is __NORETURN ? */ -__NORETURN void -_exit (status) - int status; -{ - /* status is ignored */ - - asm volatile( "mov 0,g0; \ - fmark ; \ - syncf ; \ - .word 0xfeedface ; \ - bx start" : : ); - /* The constant 0xfeedface is a magic word for break which - * is defined by NINDY. The branch extended restarts the - * application if the user types "go". - */ -} -weak_alias (_exit, _Exit) - - -#ifdef HAVE_GNU_LD - -#include - -stub_warning(_exit); - -#endif /* GNU stabs. */ diff --git a/sysdeps/standalone/i960/nindy960/brdinit.c b/sysdeps/standalone/i960/nindy960/brdinit.c deleted file mode 100644 index 9985a99..0000000 --- a/sysdeps/standalone/i960/nindy960/brdinit.c +++ /dev/null @@ -1,64 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include "i960ca.h" - -/* _Board_Initialize() - -This routine initializes the board. - -NOTE: Only tested on a Cyclone CVME961 but should be OK on any i960ca board. */ - -void -_Board_Initialize () -{ - struct i80960ca_prcb *prcb; /* ptr to processor control block */ - struct i80960ca_ctltbl *ctl_tbl; /* ptr to control table */ - - static inline struct i80960ca_prcb *get_prcb() - { register struct i80960ca_prcb *_prcb = 0; - asm volatile( "calls 5; \ - mov g0,%0" \ - : "=d" (_prcb) \ - : "0" (_prcb) ); - return ( _prcb ); - } - - prcb = get_prcb (); - ctl_tbl = prcb->control_tbl; - - /* The following configures the data breakpoint (which must be set - * before this is executed) to break on writes only. - */ - - ctl_tbl->bpcon &= ~0x00cc0000; - reload_ctl_group (6); - - /* bit 31 of the Register Cache Control can be set to - * enable an alternative caching algorithm. It does - * not appear to help our applications. - */ - - /* Configure Number of Register Caches */ - - prcb->reg_cache_cfg = 8; - soft_reset (prcb); -} diff --git a/sysdeps/standalone/i960/nindy960/console.c b/sysdeps/standalone/i960/nindy960/console.c deleted file mode 100644 index b062d92..0000000 --- a/sysdeps/standalone/i960/nindy960/console.c +++ /dev/null @@ -1,76 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include "i960ca.h" - -/* Console IO routines for a NINDY960 board. */ - -/* - * NINDY_IO( ... ) - * - * Interface to NINDY. - */ - -#define NINDY_INPUT 0 -#define NINDY_OUTPUT 1 - -void ___NINDY_IO_WRAPPER( void ) /* never called */ -{ - asm volatile ( " .text" ); - asm volatile ( " .align 4" ); - asm volatile ( " .globl _NINDY_IO" ); - asm volatile ( "_NINDY_IO:" ); - asm volatile ( " calls 0 /* call console routines */" ); - asm volatile ( " ret" ); -} - -/***** !!!! HOW DO I EXFUN NINDY_IO? !!!! *****/ - -/* _Console_Putc - -This routine transmits a character using NINDY. */ - -int -_Console_Putc (ch) - char ch; -{ - NINDY_IO( NINDY_OUTPUT, ch ); - return( 0 ); -} - -/* _Console_Getc - -This routine reads a character from NINDY and returns it. */ - -int -_Console_Getc (poll) - int poll; -{ - char ch; - - if ( poll ) { - /* I don't know how to poll with NINDY */ - return -1; - } else { - NINDY_IO( NINDY_INPUT, &ch ); - return ch; - } -} diff --git a/sysdeps/standalone/i960/start.S b/sysdeps/standalone/i960/start.S deleted file mode 100644 index 579beb7..0000000 --- a/sysdeps/standalone/i960/start.S +++ /dev/null @@ -1,152 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* entry.s - * - * This file contains the entry point for the application. - * The name of this entry point is compiler dependent. - * It jumps to the BSP which is responsible for performing - * all initialization. - * - */ - - .text - .globl start # GNU960 default entry point - -start: - mov 3, r12 - modpc r12, r12, r12 # enable tracing/trace faults - mov g5, g5 # NOP - mov 0, g14 # initialize constant for C - - /* - * zero out uninitialized data area - */ -zerobss: - lda _end, r4 /* find end of .bss */ - lda _bss_start, r5 /* find beginning of .bss */ - ldconst 0, r6 - -loop: st r6, (r5) /* to zero out uninitialized */ - addo 4, r5, r5 /* data area */ - cmpobl r5, r4, loop /* loop until _end reached */ - - - lda heap_memory, r12 /* tell C lib where heap is */ - st r12,___C_heap_start - lda heap_size, r12 /* tell C lib how big heap is */ - st r12,___C_heap_size - lda stack_memory,r12 /* set up stack pointer: */ - mov r12, sp - mov 0, g14 /* initialize constant for C */ - - call init_frames - ret /* return to monitor */ - -init_frames: - ldconst 0x3b001000, g0 - ldconst 0x00009107, g1 - modac g1, g0, g0 /* set AC controls */ - - /* - * Call application mainline. - * Someday, real values of argc and argv will be set up. - * For now, they are set to 0. - */ - - callx __Board_Initialize /* Initialize the board */ - - ldconst 0,g0 - ldconst 0,g1 - ldconst 0,g2 - callx ___libc_init /* initialize the library and */ - /* call main */ - /* - * if we return from main, we have "fallen" off the end - * of the program, therefore status is 0 - * so move 0 to g0 (exit parameter) - */ - - mov 0, g0 - callx __exit - ret - - -/* - * Data Declarations. Start with a macro which helps declare space. - */ - -#define DECLARE_SPACE(_name,_space,_align) \ - .globl _name ; \ - .align _align ; \ -.comm _name##,_space - -#define DECLARE_LABEL(_name) \ - .globl _name ; \ -_name##: - -#define DECLARE_PTR(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U32(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U16(_name) DECLARE_SPACE(_name,2,1) - -/* - * Require environment stuff - */ - -DECLARE_LABEL(_environ) -DECLARE_PTR(environ) - -DECLARE_LABEL(_errno) -DECLARE_U32(errno) - -/* - * Stack Size and Space - */ - - .set stack_size, 0x20000 - -DECLARE_SPACE(stack_memory,stack_size,4) -DECLARE_LABEL(stack_end) - -/* - * Heap Size and Space - */ - - .set heap_size, 0x20000 - -DECLARE_SPACE(heap_memory,heap_size,4) -DECLARE_LABEL(heap_end) diff --git a/sysdeps/standalone/m68k/m68020/m68020.h b/sysdeps/standalone/m68k/m68020/m68020.h deleted file mode 100644 index 8eee007..0000000 --- a/sysdeps/standalone/m68k/m68020/m68020.h +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* m68020.h - * - * This file contains macros which are used to access MC68020 - * registers which are not addressable by C. These are - * useful when developing the board specific support. - */ - -#ifndef m68020_h__ -#define m68020_h__ - -typedef void ( *mc68020_isr )( void ); - -#define disable_intr( level ) \ - { (level) = 0; \ - asm volatile ( "movew %%sr,%0 ; \ - orw #0x0700,%%sr" \ - : "=d" ((level)) : "0" ((level)) ); \ - } - -#define enable_intr( level ) \ - { asm volatile ( "movew %0,%%sr " \ - : "=d" ((level)) : "0" ((level)) ); \ - } - -#define flash_intr( level ) \ - { asm volatile ( "movew %0,%%sr ; \ - orw #0x0700,%%sr" \ - : "=d" ((level)) : "0" ((level)) ); \ - } - -#define get_vbr( vbr ) \ - { (vbr) = 0; \ - asm volatile ( "movec %%vbr,%0 " \ - : "=a" (vbr) : "0" (vbr) ); \ - } - -#define set_vbr( vbr ) \ - { register mc68020_isr *_vbr= (mc68020_isr *)(vbr); \ - asm volatile ( "movec %0,%%vbr " \ - : "=a" (_vbr) : "0" (_vbr) ); \ - } - -#define enable_caching() \ - { register unsigned int _ctl=0x01; \ - asm volatile ( "movec %0,%%cacr" \ - : "=d" (_ctl) : "0" (_ctl) ); \ - } - -#define delay( microseconds ) \ - { register unsigned int _delay=(microseconds); \ - register unsigned int _tmp=123; \ - asm volatile( "0: \ - nbcd %0 ; \ - nbcd %0 ; \ - dbf %1,0 " \ - : "=d" (_tmp), "=d" (_delay) \ - : "0" (_tmp), "1" (_delay) ); \ - } - -#define enable_tracing() -#define cause_intr( X ) -#define clear_intr( X ) - -extern mc68020_isr M68Kvec[]; /* vector table address */ - -#endif -/* end of include file */ diff --git a/sysdeps/standalone/m68k/m68020/mvme135/Implies b/sysdeps/standalone/m68k/m68020/mvme135/Implies deleted file mode 100644 index 7142fe2..0000000 --- a/sysdeps/standalone/m68k/m68020/mvme135/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# Motorola MVME135 and MVME136 are compatible. -standalone/m68k/m68020/mvme136 diff --git a/sysdeps/standalone/m68k/m68020/mvme136/Makefile b/sysdeps/standalone/m68k/m68020/mvme136/Makefile deleted file mode 100644 index 122c1b1..0000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# 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. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 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 -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; 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 -endif diff --git a/sysdeps/standalone/m68k/m68020/mvme136/_exit.c b/sysdeps/standalone/m68k/m68020/mvme136/_exit.c deleted file mode 100644 index e5e078c..0000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/_exit.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1994, 1997, 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include "m68020.h" - -/* Return control to 135Bug */ - -void -__exit_trap () -{ - set_vbr( 0 ); /* restore 135Bug vectors */ - asm volatile( "trap #15" ); /* trap to 135Bug */ - asm volatile( ".short 0x63" ); /* return to 135Bug (.RETURN) */ - asm volatile( "jmp main" ); /* restart program */ -} - -/* The function `_exit' should take a status argument and simply - terminate program execution, using the low-order 8 bits of the - given integer as status. */ - -void -__attribute__ ((noreturn)) -_exit (status) - int status; -{ - /* status is ignored */ - - M68Kvec[ 45 ] = __exit_trap; /* install exit_trap handler */ - asm volatile( "trap #13" ); /* insures SUPV mode */ -} -weak_alias (_exit, _Exit) diff --git a/sysdeps/standalone/m68k/m68020/mvme136/brdinit.c b/sysdeps/standalone/m68k/m68020/mvme136/brdinit.c deleted file mode 100644 index 95b81c1..0000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/brdinit.c +++ /dev/null @@ -1,51 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include "m68020.h" - -/* _Board_Initialize() - -This routine initializes the Motorola MVME135/MVME136. */ - -void -_Board_Initialize () -{ - mc68020_isr *monitors_vector_table; - int index; - - monitors_vector_table = (mc68020_isr *)0; /* 135Bug Vectors are at 0 */ - set_vbr( monitors_vector_table ); - - for ( index=2 ; index<=255 ; index++ ) - M68Kvec[ index ] = monitors_vector_table[ 32 ]; - - M68Kvec[ 2 ] = monitors_vector_table[ 2 ]; /* bus error vector */ - M68Kvec[ 4 ] = monitors_vector_table[ 4 ]; /* breakpoints vector */ - M68Kvec[ 9 ] = monitors_vector_table[ 9 ]; /* trace vector */ - M68Kvec[ 47 ] = monitors_vector_table[ 47 ]; /* system call vector */ - - set_vbr( &M68Kvec ); - - (*(unsigned char *)0xfffb0067) = 0x7f; /* make VME access round-robin */ - - enable_caching (); - -} diff --git a/sysdeps/standalone/m68k/m68020/mvme136/console.c b/sysdeps/standalone/m68k/m68020/mvme136/console.c deleted file mode 100644 index 85dee98..0000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/console.c +++ /dev/null @@ -1,101 +0,0 @@ -/* Copyright (C) 1994, 1996 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include "m68020.h" - -/* Console IO routines for a Motorola MVME135/MVME136 board. - -They currently use the B port. It should be possible to -use the A port by filling in the reset of the chip structure, -adding an ifdef for PORTA/PORTB, and switching the addresses, -and maybe the macros based on the macro. */ - -/* M68681 DUART chip register structures and constants */ - -typedef struct { - volatile unsigned char fill1[ 5 ]; /* channel A regs ( not used ) */ - volatile unsigned char isr; /* interrupt status reg */ - volatile unsigned char fill2[ 2 ]; /* counter regs (not used) */ - volatile unsigned char mr1mr2b; /* MR1B and MR2B regs */ - volatile unsigned char srb; /* status reg channel B */ - volatile unsigned char fill3; /* do not access */ - volatile unsigned char rbb; /* receive buffer channel B */ - volatile unsigned char ivr; /* interrupt vector register */ -} r_m681_info; - -typedef struct { - volatile unsigned char fill1[ 4 ]; /* channel A regs (not used) */ - volatile unsigned char acr; /* auxillary control reg */ - volatile unsigned char imr; /* interrupt mask reg */ - volatile unsigned char fill2[ 2 ]; /* counter regs (not used) */ - volatile unsigned char mr1mr2b; /* MR1B and MR2B regs */ - volatile unsigned char csrb; /* clock select reg */ - volatile unsigned char crb; /* command reg */ - volatile unsigned char tbb; /* transmit buffer channel B */ - volatile unsigned char ivr; /* interrupt vector register */ -} w_m681_info; - -#define RD_M68681 ((r_m681_info *)0xfffb0040) /* ptr to the M68681 */ -#define WR_M68681 ((w_m681_info *)0xfffb0040) /* ptr to the M68681 */ -#define RXRDYB 0x01 /* status reg recv ready mask */ -#define TXRDYB 0x04 /* status reg trans ready mask */ - -/* _Console_Putc - -This routine transmits a character out the M68681. It supports -XON/XOFF flow control. */ - -#define XON 0x11 /* control-Q */ -#define XOFF 0x13 /* control-S */ - -int -_Console_Putc (ch) - char ch; -{ - while ( ! (RD_M68681->srb & TXRDYB) ) ; - while ( RD_M68681->srb & RXRDYB ) /* must be an XOFF */ - if ( RD_M68681->rbb == XOFF ) - do { - while ( ! (RD_M68681->srb & RXRDYB) ) ; - } while ( RD_M68681->rbb != XON ); - - WR_M68681->tbb = ch; - return( 0 ); -} - -/* _Console_Getc - -This routine reads a character from the UART and returns it. */ - -int -_Console_Getc (poll) - int poll; -{ - if ( poll ) { - if ( !(RD_M68681->srb & RXRDYB) ) - return -1; - else - return RD_M68681->rbb; - } else { - while ( !(RD_M68681->srb & RXRDYB) ); - return RD_M68681->rbb; - } -} diff --git a/sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld b/sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld deleted file mode 100644 index 9a352f0..0000000 --- a/sysdeps/standalone/m68k/m68020/mvme136/mvme136.ld +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 1994, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file contains directives for the GNU linker which are specific -to the Motorola MVME136/MVME135 boards. */ - -MEMORY - { - ram : org = 0x3000, l = 1M - } - -/* This value is also when the space is allocated. If you change -this one, change the other one!!! */ - -heap_size = 0x20000; - -SECTIONS -{ - .text 0x3000 : - { - text_start = ABSOLUTE(.) ; - *(.text) - etext = ALIGN( 0x10 ) ; - } - - .data ADDR( .text ) + SIZEOF( .text ): - { - data_start = . ; - *(.data) - edata = ALIGN( 0x10 ) ; - } - - .bss ADDR( .data ) + SIZEOF( .data ): - { - bss_start = . ; - _bss_start = . ; - *(.bss) - *(COMMON) - heap_memory = .; - . += 0x20000; - end = . ; - _end = . ; - } -} diff --git a/sysdeps/standalone/m68k/m68020/start.S b/sysdeps/standalone/m68k/m68020/start.S deleted file mode 100644 index 166605f..0000000 --- a/sysdeps/standalone/m68k/m68020/start.S +++ /dev/null @@ -1,172 +0,0 @@ -/* Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* entry.s - * - * This file contains the entry point for the application. - * The name of this entry point is compiler dependent. - * It jumps to the BSP which is responsible for performing - * all initialization. - */ - - .text - .globl start | Default entry point - .globl _start | Default entry point - .globl M68Kvec | Vector Table - .globl _M68Kvec | Vector Table - -start: -_start: -M68Kvec: | standard location for vectors -_M68Kvec: | standard location for vectors - nop | for linkers with problem - | using location zero as entry - jmp around - .space 4088 | to avoid initial intr stack - | from 135BUG on MVME13? as entry - | and start code at 0x4000 -around: - move.w %sr,initial_sr | save initial values - movec %isp,%a0 - movel %a0,initial_isp - movec %usp,%a0 - movel %a0,initial_usp - movec %msp,%a0 - movel %a0,initial_msp - oriw #0x0700,%sr | INTERRUPTS OFF!!! - - - - | - | zero out uninitialized data area - | -zerobss: - moveal #end,%a0 | find end of .bss - moveal #_bss_start,%a1 | find beginning of .bss - movel #0,%d0 - -loop: movel #0,%a1@+ | to zero out uninitialized - cmpal %a0,%a1 - jlt loop | loop until _end reached - - movel #heap_size,__C_heap_size | set ___C_heap_size - movel #heap_memory,__C_heap_start | set ___C_heap_start - moveal #interrupt_stack_end,%a0 | set interrupt stack pointer - movec %a0,%isp - moveal #stack_end,%a0 | set master stack pointer - movec %a0,%msp - moveal #stack_end,%a6 | set base pointer - movw #0x3000,%sr | SUPV MODE,INTERRUPTS ON!!! - -#ifdef NEED_UNDERSCORES - jsr __Board_Initialize | initialize the board -#else - jsr _Board_Initialize | initialize the board -#endif - - move.l #0,%sp@- | envp = NULL - move.l #0,%sp@- | argv = NULL - move.l #0,%sp@- | argc = NULL -#ifdef NEED_UNDERSCORES - jsr ___libc_init | initialize the library and - | call main -#else - jsr __libc_init | initialize the library and - | call main -#endif - add.l #12,%sp - - move.l #0,%sp@- | argc = NULL - jsr __exit | call the Board specific exit - addq.l #4,%sp - - move.l initial_isp,%a0 | if __exit returns then we can - movec %a0,%isp | restore the initial values - move.l initial_usp,%a0 - movec %a0,%usp - move.l initial_msp,%a0 - movec %a0,%msp - move.w initial_sr,%sr - rts - - - .bss - -/* - * So initial stack registers and status register can be saved. - */ - -#define DECLARE_SPACE(_name,_space,_align) \ - .globl _name ; \ - .align _align ; \ -_name##: .space _space - -#define DECLARE_LABEL(_name) \ - .globl _name ; \ -_name##: - -#define DECLARE_PTR(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U32(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U16(_name) DECLARE_SPACE(_name,2,1) - -DECLARE_U32(initial_isp) -DECLARE_U32(initial_msp) -DECLARE_U32(initial_usp) -DECLARE_U16(initial_sr) - -/* - * Require environment stuff - */ - -DECLARE_LABEL(_environ) -DECLARE_PTR(environ) - -DECLARE_LABEL(__errno) -DECLARE_LABEL(_errno) -DECLARE_U32(errno) - -/* - * Stack Size and Space - */ - - .set stack_size, 0x20000 - -DECLARE_SPACE(stack_memory,stack_size,4) -DECLARE_LABEL(stack_end) - -DECLARE_SPACE(interrupt_stack_memory,0x1000,4) -DECLARE_LABEL(interrupt_stack_end) diff --git a/sysdeps/standalone/open.c b/sysdeps/standalone/open.c deleted file mode 100644 index e0a3432..0000000 --- a/sysdeps/standalone/open.c +++ /dev/null @@ -1,125 +0,0 @@ -/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -#include -#include -#include - -#define __DECLARE_FILE_DESCRIPTORS__ - -#include "filedesc.h" - -/* Open FILE with access OFLAG. If OFLAG includes O_CREAT, - a third argument is the file protection. */ -int -__open (file, oflag) - const char *file; - int oflag; -{ - int mode; - int newfd; - int index; - - if (file == NULL) - { - __set_errno (EINVAL); - return -1; - } - - if (oflag & O_CREAT) - { - va_list arg; - va_start(arg, oflag); - mode = va_arg(arg, int); - va_end(arg); - } - - /* - * Find an open slot. - */ - - newfd = -1; - - for ( index=0 ; index< FOPEN_MAX ; index++ ) - if ( !__FD_Table[ index ].in_use ) { - newfd = index; - break; - } - - if ( newfd == -1 ) { - __set_errno (ENFILE); - return -1; - } - - /* - * Initialize the open slot - */ - - __FD_Table[ newfd ].in_use = 1; - __FD_Table[ newfd ].flags = oflag; - - return newfd; -} -libc_hidden_def (__open) - -/* Initialization Code for Console I/O */ - -#ifdef HAVE_GNU_LD -static -#endif -void -__NONE_init_console_io (argc, argv, envp) - int argc; - char **argv; - char **envp; -{ - int index; - - for ( index=0 ; index< FOPEN_MAX ; index++ ) - __FD_Table[ index ].in_use = 0; - - stdin = fopen( "", "r" ); - - stdout = fopen( "", "w" ); - - stderr = fopen( "", "w" ); - - /* - * Line buffer the standard input and output and use no buffering for - * standard error. - */ - - setvbuf( stdin, NULL, _IOLBF, BUFSIZ ); - setvbuf( stdout, NULL, _IOLBF, BUFSIZ ); - setvbuf( stderr, NULL, _IONBF, BUFSIZ ); - - (void) &__NONE_init_console_io; /* Avoid "defined but not used" warning. */ -} - -#ifdef HAVE_GNU_LD -text_set_element (__libc_subinit, __NONE_init_console_io); -#endif - -weak_alias (__open, open) diff --git a/sysdeps/standalone/read.c b/sysdeps/standalone/read.c deleted file mode 100644 index 0fb9e7a..0000000 --- a/sysdeps/standalone/read.c +++ /dev/null @@ -1,86 +0,0 @@ -/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -#include "filedesc.h" -#include -#include - -/* Read NBYTES into BUF from FD. Return the number read or -1. */ -ssize_t -__libc_read (int fd, void *buf, size_t nbytes) -{ - char *buffer = (char *) buf; - int data; - int poll; - - __set_errno (0); - - if (nbytes == 0) - return 0; - - if ( !__FD_Is_valid( fd ) || !__FD_Table[ fd ].in_use ) - { - __set_errno (EBADF); - return -1; - } - if (buf == NULL) - { - __set_errno (EINVAL); - return -1; - } - - if ( __FD_Table[ fd ].flags & O_WRONLY ) /* is it write only? */ - { - __set_errno (EBADF); - return -1; - } - - /* If this is a non-blocking fd, then we want to poll the console. */ - - poll = ( __FD_Table[ fd ].flags & O_NONBLOCK ) ? 1 : 0; - - /* Read a single character. This is a cheap way to insure that the - upper layers get every character because _Console_Getc can't timeout - or otherwise know when to stop. */ - - - data = _Console_Getc(poll); - - if ( data == -1 ) /* if no data return */ - return -1; - - (void) _Console_Putc(data); /* echo the character */ - - if ( data == '\r' ) { /* translate CR -> CR/LF */ - (void) _Console_Putc('\n'); - data = '\n'; - } - - *buffer = data; - return 1; -} -libc_hidden_def (__libc_read) -weak_alias (__libc_read, __read) -libc_hidden_weak (__read) -weak_alias (__libc_read, read) diff --git a/sysdeps/standalone/standalone.h b/sysdeps/standalone/standalone.h deleted file mode 100644 index 20a0c33..0000000 --- a/sysdeps/standalone/standalone.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1994, 1997, 2004 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _STANDALONE_H -#define _STANDALONE_H - -#include - -extern void _Board_Initialize (void); - -extern int _Console_Putc (char c); -extern int _Console_Getc (int poll); - -#endif diff --git a/sysdeps/standalone/write.c b/sysdeps/standalone/write.c deleted file mode 100644 index 5d38230..0000000 --- a/sysdeps/standalone/write.c +++ /dev/null @@ -1,73 +0,0 @@ -/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. - Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil, - On-Line Applications Research Corporation. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -#include "filedesc.h" -#include -#include - -/* Write NBYTES of BUF to FD. Return the number written, or -1. */ -ssize_t -__libc_write (int fd, const void *buf, size_t nbytes) -{ - int count; - const char *data = buf; - - if (nbytes == 0) - return 0; - if ( !__FD_Is_valid( fd ) || !__FD_Table[ fd ].in_use ) - { - __set_errno (EBADF); - return -1; - } - if (buf == NULL) - { - __set_errno (EINVAL); - return -1; - } - - if ( !(__FD_Table[ fd ].flags & (O_WRONLY|O_RDWR)) ) /* is it writeable? */ - { - __set_errno (EBADF); - return -1; - } - - /* - * All open file descriptors are mapped to the console. - */ - - for ( count=0 ; count != nbytes ; count++ ) { - if ( _Console_Putc(data[ count ]) == -1 ) - return -1; - if ( data[count] == '\n' && _Console_Putc('\r') == -1 ) - return -1; - } - - return count; -} - -libc_hidden_def (__libc_write) -weak_alias (__libc_write, __write) -libc_hidden_weak (__write) -weak_alias (__libc_write, write) diff --git a/sysdeps/tahoe/Implies b/sysdeps/tahoe/Implies deleted file mode 100644 index 5a31637..0000000 --- a/sysdeps/tahoe/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# A Tahoe is mostly just like a Vax. -vax diff --git a/sysdeps/unix/bsd/hp/m68k/brk.S b/sysdeps/unix/bsd/hp/m68k/brk.S deleted file mode 100644 index 037d4d0..0000000 --- a/sysdeps/unix/bsd/hp/m68k/brk.S +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1991, 1993, 1994, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifndef SYS_brk -#define SYS_brk 17 -#endif - -#ifndef HAVE_GNU_LD -#define __end _end -#endif - -.data -.globl ___curbrk -___curbrk: - .long __end - -.text -ENTRY (__brk) - movel #__end, d0 - cmpl sp@(4), d0 - ble 0f - movel d0, sp@(4) -0: DO_CALL (#SYS_brk, 1) - movel sp@(4), ___curbrk - clrl d0 - rts -error: jmp syscall_error - -weak_alias (__brk, brk) diff --git a/sysdeps/unix/bsd/hp/m68k/dl-brk.S b/sysdeps/unix/bsd/hp/m68k/dl-brk.S deleted file mode 100644 index eeb9654..0000000 --- a/sysdeps/unix/bsd/hp/m68k/dl-brk.S +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/hp/m68k/start.c b/sysdeps/unix/bsd/hp/m68k/start.c deleted file mode 100644 index e04ca06..0000000 --- a/sysdeps/unix/bsd/hp/m68k/start.c +++ /dev/null @@ -1,10 +0,0 @@ -/* hp300 4.3 BSD starts at 4, rather than 0, when the start address is 0. - Go figure. */ -asm(".globl __start"); -asm("__start: .long 0"); - -#define _start __start0 - -#define DUMMIES dummy0 - -#include diff --git a/sysdeps/unix/bsd/hp/m68k/sysdep.h b/sysdeps/unix/bsd/hp/m68k/sysdep.h deleted file mode 100644 index 75aee67..0000000 --- a/sysdeps/unix/bsd/hp/m68k/sysdep.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 97 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This code wants to be run through m4. */ - -#include - -#ifdef __ASSEMBLER__ - -#define POUND # - -#ifdef __STDC__ -#define ENTRY(name) \ - .globl _##name; \ - .even; \ - _##name##: -#else -#define ENTRY(name) \ - .globl _/**/name; \ - .even; \ - _/**/name/**/: -#endif - -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error; \ - error: jmp syscall_error; \ - ENTRY (name) \ - DO_CALL (POUND SYS_ify (syscall_name), args) - -#define DO_CALL(syscall, args) \ - movel syscall, d0; \ - trap POUND 0; \ - bcs error - -#define ret rts -#define r0 d0 -#define r1 d1 -#define MOVE(x,y) movel x , y - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/bsd/hp/m68k/vfork.S b/sysdeps/unix/bsd/hp/m68k/vfork.S deleted file mode 100644 index abcc1c3..0000000 --- a/sysdeps/unix/bsd/hp/m68k/vfork.S +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1991, 1994, 1995, 1997, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifndef SYS_vfork -#define SYS_vfork 66 -#endif - -/* Clone the calling process, but without copying the whole address space. - The calling process is suspended until the new process exits or is - replaced by a call to `execve'. Return -1 for errors, 0 to the new process, - and the process ID of the new process to the old process. */ -.globl ___vfork -___vfork: - /* Pop the return PC value into A0. */ - moveal sp@+, a0 - - /* Stuff the syscall number in D0 and trap into the kernel. */ - movel #SYS_vfork, d0 - trap #0 - bcs error /* Branch forward if it failed. */ - - /* It succeeded. See which fork we're in. D1 is now 0 for the - parent and 1 for the child. Decrement it to make it -1 (all - bits set) for the parent, and 0 (no bits set) for the child. - Then AND it with D0, so the parent gets D0&-1==R0, and the child - gets D0&0==0. */ - subl #1, d1 - andl d1, d0 - - /* Jump to the return PC. */ - jmp a0@ - -error: - movel d0, _errno - moveq #-1, d0 - jmp a0@ -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/hp/m68k/wait3.S b/sysdeps/unix/bsd/hp/m68k/wait3.S deleted file mode 100644 index 5b63191..0000000 --- a/sysdeps/unix/bsd/hp/m68k/wait3.S +++ /dev/null @@ -1,39 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -ENTRY(__wait3) - movel sp@(8), d1 - moveal sp@(12), a0 - movel #SYS_wait, d0 - /* Set all condition codes to tell the kernel this is wait3. */ - movew #31, ccr - trap #0 - bcs error - - tstl sp@(4) - beq 1f - moveal sp@(4), a0 - movel d1, a0@ -1: rts - -.globl syscall_error -error: jmp syscall_error - -weak_alias (__wait3, wait3) diff --git a/sysdeps/unix/bsd/m68k/pipe.S b/sysdeps/unix/bsd/m68k/pipe.S deleted file mode 100644 index d7b8ec2..0000000 --- a/sysdeps/unix/bsd/m68k/pipe.S +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1991,1992,1993,1995,1997,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -SYSCALL__ (pipe, 1) -#ifdef __motorola__ - move.l 4(sp), a0 - movem.l d0-d1, (a0) -#else - movel sp@(4), a0 - moveml d0-d1, a0@ -#endif - clrl d0 - rts - -libc_hidden_def (__pipe) -weak_alias (__pipe, pipe) diff --git a/sysdeps/unix/bsd/m68k/start.c b/sysdeps/unix/bsd/m68k/start.c deleted file mode 100644 index 1067853..0000000 --- a/sysdeps/unix/bsd/m68k/start.c +++ /dev/null @@ -1,3 +0,0 @@ -#define DUMMIES ignore0 - -#include diff --git a/sysdeps/unix/bsd/m68k/syscall.S b/sysdeps/unix/bsd/m68k/syscall.S deleted file mode 100644 index eb1a8ec..0000000 --- a/sysdeps/unix/bsd/m68k/syscall.S +++ /dev/null @@ -1,26 +0,0 @@ -/* 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -ENTRY (syscall) - movel sp@+, a0 /* Pop return address into A0. */ - DO_CALL (sp@, 0) /* Do system call. */ - jmp a0@ /* Return to A0. */ -error: movel a0, sp@- /* Error; push return address */ - jmp syscall_error /* and jump to error handler. */ diff --git a/sysdeps/unix/bsd/m68k/sysdep.S b/sysdeps/unix/bsd/m68k/sysdep.S deleted file mode 100644 index 90f35c9..0000000 --- a/sysdeps/unix/bsd/m68k/sysdep.S +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 1991, 1992, 1993, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define _ERRNO_H -#include - -.globl syscall_error -syscall_error: - /* We translate the system's EWOULDBLOCK error into EAGAIN. - The GNU C library always defines EWOULDBLOCK==EAGAIN. - EWOULDBLOCK_sys is the original number. */ -#ifdef __motorola__ -#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN - cmp.l #EWOULDBLOCK_sys, d0 - bne store - moveq.l #EAGAIN, d0 -#endif -store: move.l d0, _errno - moveq.l #-1, d0 -#else -#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN - cmpl #EWOULDBLOCK_sys, d0 - bne store - moveq #EAGAIN, d0 -#endif -store: movel d0, _errno - moveq #-1, d0 -#endif - rts diff --git a/sysdeps/unix/bsd/m68k/wait.S b/sysdeps/unix/bsd/m68k/wait.S deleted file mode 100644 index 9fb4fd9..0000000 --- a/sysdeps/unix/bsd/m68k/wait.S +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1991, 1992, 1993, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -SYSCALL__ (wait, 1) -#ifdef __motorola__ - tst.l 4(sp) - beq 1f - movea.l 4(sp), a0 - move.l d1, (a0) -#else - tstl sp@(4) - beq 1f - moveal sp@(4), a0 - movel d1, a0@ -#endif -1: rts - -weak_alias (__wait, wait) diff --git a/sysdeps/unix/bsd/osf/Implies b/sysdeps/unix/bsd/osf/Implies deleted file mode 100644 index 82719f5..0000000 --- a/sysdeps/unix/bsd/osf/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# OSF/1 has the canonical set of system calls. -unix/mman diff --git a/sysdeps/unix/bsd/osf/Makefile b/sysdeps/unix/bsd/osf/Makefile deleted file mode 100644 index 743788a..0000000 --- a/sysdeps/unix/bsd/osf/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -# Without -non_shared (via the compiler's -static flag), we'll end up -# with some unresolved symbols wrt exceptions. -LDFLAGS := $(LDFLAGS) -static diff --git a/sysdeps/unix/bsd/osf/alpha/bits/stat.h b/sysdeps/unix/bsd/osf/alpha/bits/stat.h deleted file mode 100644 index 20f358f..0000000 --- a/sysdeps/unix/bsd/osf/alpha/bits/stat.h +++ /dev/null @@ -1,79 +0,0 @@ -/* Copyright (C) 1993, 1996, 1997, 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include directly; use instead." -#endif - -#include - -/* Structure describing file characteristics. */ -struct stat - { - int st_dev; /* Device. */ - unsigned int st_ino; /* File serial number. */ - unsigned int st_mode; /* File mode. */ - unsigned short st_nlink; /* Link count. */ - unsigned int st_uid; /* User ID of the file's owner. */ - unsigned int st_gid; /* Group ID of the file's group.*/ - int st_rdev; /* Device number, if device. */ - - long st_size; /* Size of file, in bytes. */ - - int st_atime; /* Time of last access. */ - int st_atime_usec; - int st_mtime; /* Time of last modification. */ - int st_mtime_usec; - int st_ctime; /* Time of last status change. */ - int st_ctime_usec; - - __blksize_t st_blksize; /* Optimal block size for I/O. */ -#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ - - __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ - unsigned int st_flags; - unsigned int st_gen; - }; - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/bsd/osf/alpha/brk.S b/sysdeps/unix/bsd/osf/alpha/brk.S deleted file mode 100644 index 51abaa6..0000000 --- a/sysdeps/unix/bsd/osf/alpha/brk.S +++ /dev/null @@ -1,54 +0,0 @@ -/* Copyright (C) 1993, 1995, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifndef SYS_brk -#define SYS_brk 17 -#endif - -#ifndef HAVE_GNU_LD -#define __end end -#endif - -.data - .extern __end,8 - .globl __curbrk -__curbrk: - .quad __end - -.text -ENTRY(__brk) - /* FIXME We do not check for asking for less than a page yet. */ - ldiq v0, SYS_brk - call_pal PAL_callsys - bne a3, error - - /* Update __curbrk and exit cleanly. */ -/* ldgp gp, 0(t12) */ - stq a0, __curbrk - - mov zero, v0 - ret - /* What a horrible way to die. */ -error: ldgp gp,0(gp) - jmp zero,syscall_error - .end __brk - -weak_alias (__brk, brk) diff --git a/sysdeps/unix/bsd/osf/alpha/dl-brk.S b/sysdeps/unix/bsd/osf/alpha/dl-brk.S deleted file mode 100644 index eeb9654..0000000 --- a/sysdeps/unix/bsd/osf/alpha/dl-brk.S +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/osf/alpha/fork.S b/sysdeps/unix/bsd/osf/alpha/fork.S deleted file mode 100644 index a4ec14b..0000000 --- a/sysdeps/unix/bsd/osf/alpha/fork.S +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997, 2002 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -SYSCALL__ (fork, 0) - cmovne a4, 0, v0 - ret - .end __fork -libc_hidden_def (__fork) - -weak_alias (__fork, fork) diff --git a/sysdeps/unix/bsd/osf/alpha/killpg.S b/sysdeps/unix/bsd/osf/alpha/killpg.S deleted file mode 100644 index 741616b..0000000 --- a/sysdeps/unix/bsd/osf/alpha/killpg.S +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1993, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include -#define SYS_killpg SYS_ult_killpg - -SYSCALL (killpg, 2) - ret - .end killpg diff --git a/sysdeps/unix/bsd/osf/alpha/recv.S b/sysdeps/unix/bsd/osf/alpha/recv.S deleted file mode 100644 index 92a273d..0000000 --- a/sysdeps/unix/bsd/osf/alpha/recv.S +++ /dev/null @@ -1,26 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include -#define SYS_recv SYS_ult_recv - -SYSCALL (recv, 4) - ret - .end recv diff --git a/sysdeps/unix/bsd/osf/alpha/send.S b/sysdeps/unix/bsd/osf/alpha/send.S deleted file mode 100644 index 7d61d46..0000000 --- a/sysdeps/unix/bsd/osf/alpha/send.S +++ /dev/null @@ -1,26 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include -#define SYS_send SYS_ult_send - -SYSCALL (send, 4) - ret - .end send diff --git a/sysdeps/unix/bsd/osf/alpha/sigblock.S b/sysdeps/unix/bsd/osf/alpha/sigblock.S deleted file mode 100644 index 5db55f4..0000000 --- a/sysdeps/unix/bsd/osf/alpha/sigblock.S +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1994, 1995, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include -#define SYS_sigblock SYS_ult_sigblock - -SYSCALL__ (sigblock, 1) - ret - .end __sigblock - -weak_alias (__sigblock, sigblock) diff --git a/sysdeps/unix/bsd/osf/alpha/sigpause.S b/sysdeps/unix/bsd/osf/alpha/sigpause.S deleted file mode 100644 index 7646366..0000000 --- a/sysdeps/unix/bsd/osf/alpha/sigpause.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1993,95,97,2002 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include -#define SYS_sigpause SYS_ult_sigpause - -SYSCALL__ (sigpause, 1) - ret - .end __sigpause -libc_hidden_def (__sigpause) - -weak_alias (__sigpause, sigpause) diff --git a/sysdeps/unix/bsd/osf/alpha/sigsetmask.S b/sysdeps/unix/bsd/osf/alpha/sigsetmask.S deleted file mode 100644 index 93333aa..0000000 --- a/sysdeps/unix/bsd/osf/alpha/sigsetmask.S +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1993, 1995, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include -#define SYS_sigsetmask SYS_ult_sigsetmask - -SYSCALL__ (sigsetmask, 1) - ret - .end __sigsetmask - -weak_alias (__sigsetmask, sigsetmask) diff --git a/sysdeps/unix/bsd/osf/alpha/sigvec.S b/sysdeps/unix/bsd/osf/alpha/sigvec.S deleted file mode 100644 index 45fcc58..0000000 --- a/sysdeps/unix/bsd/osf/alpha/sigvec.S +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1993, 1995, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include -#define SYS_sigvec SYS_ult_sigvec - -SYSCALL__ (sigvec, 3) - ret - .end __sigvec - -weak_alias (__sigvec, sigvec) diff --git a/sysdeps/unix/bsd/osf/alpha/start.S b/sysdeps/unix/bsd/osf/alpha/start.S deleted file mode 100644 index 1fa52a6..0000000 --- a/sysdeps/unix/bsd/osf/alpha/start.S +++ /dev/null @@ -1,83 +0,0 @@ -/* Copyright (C) 1993, 1995, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#if 0 -.sdata -.globl STARTFRM -STARTFRM = 0 -#endif - -.text -ENTRY(__start) - lda sp, -16(sp) - stq zero, 8(sp) - - /* This branch puts the address of the current insn in t0. */ - br t0, 10f -10: - /* We set the GP register by using the address of the ldgp */ - /* (what we just put into t0). */ - ldgp gp, 0(t0) - - /* get argc */ - ldl a0, 16(sp) - - /* get argv */ - lda a1, 24(sp) - - /* move ahead to envp */ - s8addq a0, a1, a2 - addq a2, 0x8, a2 - - /* Store in environ. */ - stq a2, environ - - /* Clear out errno. */ -/* ldgp gp, 0(t12) */ - stl zero, errno - - /* Call main. */ - jsr ra, main - ldgp gp, 0(ra) - - mov v0, a0 - - jsr ra, exit - ldgp gp, 0(ra) - - .end __start diff --git a/sysdeps/unix/bsd/osf/alpha/syscalls.list b/sysdeps/unix/bsd/osf/alpha/syscalls.list deleted file mode 100644 index ac88392..0000000 --- a/sysdeps/unix/bsd/osf/alpha/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -wait4 - wait4 4 __wait4 wait4 diff --git a/sysdeps/unix/bsd/osf/alpha/sysdep.h b/sysdeps/unix/bsd/osf/alpha/sysdep.h deleted file mode 100644 index 84ac541..0000000 --- a/sysdeps/unix/bsd/osf/alpha/sysdep.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1993, 1995, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* OSF/1 does not precede the asm names of C symbols with a `_'. */ -#define NO_UNDERSCORES - -#include - -#ifdef __ASSEMBLER__ - -#include /* get PAL_callsys */ -#include - -#endif diff --git a/sysdeps/unix/bsd/osf/alpha/vhangup.S b/sysdeps/unix/bsd/osf/alpha/vhangup.S deleted file mode 100644 index 3c2b04a..0000000 --- a/sysdeps/unix/bsd/osf/alpha/vhangup.S +++ /dev/null @@ -1,26 +0,0 @@ -/* 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include -#define SYS_vhangup SYS_ult_vhangup - -SYSCALL (vhangup, 1) - ret - .end vhangup diff --git a/sysdeps/unix/bsd/osf/alpha/waitpid.c b/sysdeps/unix/bsd/osf/alpha/waitpid.c deleted file mode 100644 index 8378982..0000000 --- a/sysdeps/unix/bsd/osf/alpha/waitpid.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/osf/bits/mman.h b/sysdeps/unix/bsd/osf/bits/mman.h deleted file mode 100644 index d4672cc..0000000 --- a/sysdeps/unix/bsd/osf/bits/mman.h +++ /dev/null @@ -1,71 +0,0 @@ -/* Flags for BSD-style memory management. OSF/1 version. - Copyright (C) 1994, 1995, 1996, 1997, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_MMAN_H -#define _BITS_MMAN_H 1 - -/* Protections are chosen from these bits, OR'd together. The - implementation does not necessarily support PROT_EXEC or PROT_WRITE - without PROT_READ. The only guarantees are that no writing will be - allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ - -#define PROT_NONE 0x00 /* No access. */ -#define PROT_READ 0x01 /* Pages can be read. */ -#define PROT_WRITE 0x02 /* Pages can be written. */ -#define PROT_EXEC 0x04 /* Pages can be executed. */ - -/* Flags contain mapping type, sharing type and options. */ - -/* Mapping type (must choose one and only one of these). */ -#ifdef __USE_BSD -# define MAP_FILE 0x00 /* Mapped from a file or device. */ -# define MAP_ANON 0x10 /* Allocated from anonymous virtual memory. */ -# define MAP_ANONYMOUS MAP_ANON -# define MAP_TYPE 0xf0 /* Mask for type field. */ -#endif - -/* Sharing types (must choose one and only one of these). */ -#define MAP_SHARED 0x01 /* Share changes. */ -#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */ - -/* Other flags. */ -#define MAP_FIXED 0x0100 /* Map address must be exactly as requested. */ -#ifdef __USE_BSD -# define MAP_VARIABLE 0 /* Absence of MAP_FIXED. */ -# define MAP_HASSEMPHORE 0x0200 /* Region may contain semaphores. */ -# define MAP_INHERIT 0x0400 /* Region is retained after exec. */ -# define MAP_UNALIGNED 0x0800 /* File offset need not be page-aligned. */ -#endif - -/* Advice to `madvise'. */ -#ifdef __USE_BSD -# define MADV_NORMAL 0 /* No further special treatment. */ -# define MADV_RANDOM 1 /* Expect random page references. */ -# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define MADV_WILLNEED 3 /* Will need these pages. */ -# define MADV_DONTNEED 4 /* Don't need these pages. */ -# define MADV_SPACEAVAIL 5 /* Ensure that resources are available. */ -#endif - -/* Flags to `msync'. */ -#define MS_ASYNC 1 /* Asynchronous cache flush. */ -#define MS_SYNC 3 /* Synchronous cache flush. */ -#define MS_INVALIDATE 4 /* Invalidate cached pages. */ - -#endif /* bits/mman.h */ diff --git a/sysdeps/unix/bsd/osf/bits/sigaction.h b/sysdeps/unix/bsd/osf/bits/sigaction.h deleted file mode 100644 index 13f9144..0000000 --- a/sysdeps/unix/bsd/osf/bits/sigaction.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Structure and constant definitions for sigaction et al. OSF/1 version. - Copyright (C) 1993, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ - __sighandler_t sa_handler; - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - }; - -/* Bits in `sa_flags'. */ -#ifdef __USE_BSD -# define SA_ONSTACK 0x1 /* Take signal on signal stack. */ -# define SA_RESTART 0x2 /* Restart syscall on signal return. */ -# define SA_DISABLE 0x4 /* Disable alternate signal stack. */ -#endif -#define SA_NOCLDSTOP 0x4 /* Don't send SIGCHLD when children stop. */ - - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ -#define SIG_SETMASK 3 /* Set the set of blocked signals. */ diff --git a/sysdeps/unix/bsd/osf/syscalls.list b/sysdeps/unix/bsd/osf/syscalls.list deleted file mode 100644 index 731763b..0000000 --- a/sysdeps/unix/bsd/osf/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -msync - msync 3 msync diff --git a/sysdeps/unix/bsd/osf/system.c b/sysdeps/unix/bsd/osf/system.c deleted file mode 100644 index ef42ea2..0000000 --- a/sysdeps/unix/bsd/osf/system.c +++ /dev/null @@ -1,2 +0,0 @@ -/* OSF/1 does have `waitpid'. Avoid unix/system.c, which says we don't. */ -#include diff --git a/sysdeps/unix/bsd/sequent/i386/getgroups.S b/sysdeps/unix/bsd/sequent/i386/getgroups.S deleted file mode 100644 index 55fa728..0000000 --- a/sysdeps/unix/bsd/sequent/i386/getgroups.S +++ /dev/null @@ -1,44 +0,0 @@ -/* Copyright (C) 1994, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -/* Dynix erroneously reports `getgroups (0, 0)' as an error. - We fix up for that case. */ - -#define syscall_error myerror -SYSCALL__ (getgroups, 2) -#undef syscall_error - ret -myerror: - tstl 4(%esp) /* Was the first arg 0? */ - jnz syscall_error /* If not, go to the normal error case. */ - /* When called with (0, 0), we want to return the number of groups - without storing anything. The Dynix system call gives an error - for this case, so we fix up by calling it with a local array we - never use, and just use the return value. */ - subl %esp, $(NGROUPS_MAX * 4) /* Allocate a local array. */ - movl $NGROUPS_MAX, %ecx /* Pass NGROUPS_MAX for first arg. */ - movl %esp, %edx /* Pass local array for second arg. */ - DO_CALL (getgroups, 2) /* Do the system call. */ - addl %esp, $(NGROUPS_MAX * 4) /* Pop the local array. */ - jb syscall_error /* Check for error from the system call. */ - ret /* Return its value. */ - -weak_alias (__getgroups, getgroups) diff --git a/sysdeps/unix/bsd/sequent/i386/sigvec.S b/sysdeps/unix/bsd/sequent/i386/sigvec.S deleted file mode 100644 index 62373e1..0000000 --- a/sysdeps/unix/bsd/sequent/i386/sigvec.S +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 1993, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* The Dynix `sigvec' system call takes an extra argument, - which is the address of the trampoline function. */ - -.text -.align 4 -trampoline: - cld /* Clear direction flag. */ - call %eax /* Call the handler, address in %eax. */ - addl $8, %esp /* Pop signum & code off the stack. */ - /* __sigreturn will restore the context, and never return here. */ - call C_SYMBOL_NAME (__sigreturn) - -.globl syscall_error -ENTRY (__sigvec) - pushl $trampoline /* Push fourth arg: trampoline address. */ - pushl 16(%esp) /* Push third arg: our third arg. */ - pushl 16(%esp) /* Push second arg: our second arg. */ - pushl 16(%esp) /* Push first arg: our first arg. */ - mov %esp, %ecx /* Point the syscall at the arguments. */ - addl $16, %esp /* Pop those four args. */ - DO_CALL (sigvec, 4) /* Do the system call. */ - jb syscall_error /* Check for error. */ - ret - -weak_alias (__sigvec, sigvec) diff --git a/sysdeps/unix/bsd/sequent/i386/syscall.S b/sysdeps/unix/bsd/sequent/i386/syscall.S deleted file mode 100644 index 9ff1898..0000000 --- a/sysdeps/unix/bsd/sequent/i386/syscall.S +++ /dev/null @@ -1,31 +0,0 @@ -/* `syscall' function for Sequent Symmetry running Dynix version 3. - Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -.text -.globl syscall_error -.align 4 -ENTRY (syscall) - leal 8(%esp), %ecx /* Load address of second argument. */ - movl $SYS_HANDLER, %eax /* Use BSD system calls. */ - movw 4(%esp), %ax /* Load system call number into low word. */ - int $T_SVC6 /* Pretend it takes six args. */ - jb syscall_error - ret diff --git a/sysdeps/unix/bsd/sequent/i386/sysdep.h b/sysdeps/unix/bsd/sequent/i386/sysdep.h deleted file mode 100644 index c3d9d91..0000000 --- a/sysdeps/unix/bsd/sequent/i386/sysdep.h +++ /dev/null @@ -1,82 +0,0 @@ -/* System call interface code for Sequent Symmetry running Dynix version 3. - Copyright (C) 1993, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifdef __ASSEMBLER__ - -/* Get the symbols for system call interrupts. */ -#include - -/* Use the BSD versions of system calls, by setting the high 16 bits - of the syscall number (see /usr/include/syscall.h). */ -#define SYS_HANDLER (SYS_bsd << 16) - -/* Dynix uses an interrupt interface to system calls. - "int $T_SVCn" are syscall interfaces for 0-6 arg functions. - (see /usr/include/machine/trap.h). */ - -#undef DO_CALL - -#ifdef __STDC__ -#define DO_CALL(syscall_name, args) \ - movl $(SYS_HANDLER | SYS_##syscall_name), %eax; \ - int $T_SVC##args; -#else -#define DO_CALL(syscall_name, args) \ - movl $(SYS_HANDLER | SYS_/**/syscall_name), %eax; \ - int $T_SVC/**/args; -#endif - -#undef PSEUDO -#define PSEUDO(name, syscall_name, args) \ - .text; \ - .globl syscall_error; \ - .align 4; \ - ENTRY (name) \ - ARGS (args) \ - DO_CALL (syscall_name, args) \ - jb syscall_error - -/* For one and two-argument calls, Dynix takes the arguments in %ecx and - %edx. For 3-6 argument calls, Dynix takes the address of the first - argument in %ecx. */ - -#ifdef __STDC__ -#define ARGS(n) ARGS_##n -#else -#define ARGS(n) ARGS_/**/n -#endif - -#define ARGS_0 -#define ARGS_1 movl 4(%esp), %ecx; -#define ARGS_2 movl 4(%esp), %ecx; movl 8(%esp), %edx; -#define ARGS_3 leal 4(%esp), %ecx; -#define ARGS_4 ARGS_3 -#define ARGS_5 ARGS_3 -#define ARGS_6 ARGS_3 - -/* Dynix reverses %ecx and %edx relative to most i386 Unices. */ - -#undef r1 -#define r1 %ecx /* Secondary return-value register. */ -#undef scratch -#define scratch %edx /* Call-clobbered register for random use. */ - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/bsd/sony/newsos/m68k/Implies b/sysdeps/unix/bsd/sony/newsos/m68k/Implies deleted file mode 100644 index 7b5f3cf..0000000 --- a/sysdeps/unix/bsd/sony/newsos/m68k/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# A news800 is almost exactly like an hp300 -unix/bsd/hp/m68k diff --git a/sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h b/sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h deleted file mode 100644 index db124fa..0000000 --- a/sysdeps/unix/bsd/sony/newsos/m68k/sysdep.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1993, 1994, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifdef __ASSEMBLER__ - -#define POUND # - -#ifdef __STDC__ -#define ENTRY(name) \ - .globl _##name; \ - .even; \ - _##name##: -#else -#define ENTRY(name) \ - .globl _/**/name; \ - .even; \ - _/**/name/**/: -#endif - -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error; \ - error: jmp syscall_error; \ - ENTRY (name) \ - DO_CALL (POUND SYS_ify (syscall_name), args) - -#define DO_CALL(syscall, args) \ - movel syscall, d0; \ - linkw a6, POUND(0); \ - trap POUND(0); \ - unlk a6; \ - bcs error - -#define ret rts -#define r0 d0 -#define r1 d1 -#define MOVE(x,y) movel x , y - -#endif diff --git a/sysdeps/unix/bsd/sony/newsos4/Makefile b/sysdeps/unix/bsd/sony/newsos4/Makefile deleted file mode 100644 index 053da56..0000000 --- a/sysdeps/unix/bsd/sony/newsos4/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),posix) -sysdep_routines := $(sysdep_routines) sys_wait4 -endif diff --git a/sysdeps/unix/bsd/sony/newsos4/syscalls.list b/sysdeps/unix/bsd/sony/newsos4/syscalls.list deleted file mode 100644 index b90087f..0000000 --- a/sysdeps/unix/bsd/sony/newsos4/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -sys_wait4 wait4 wait4 4 __wait4_syscall diff --git a/sysdeps/unix/bsd/sony/newsos4/wait.c b/sysdeps/unix/bsd/sony/newsos4/wait.c deleted file mode 100644 index 79d5458..0000000 --- a/sysdeps/unix/bsd/sony/newsos4/wait.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/sony/newsos4/wait3.c b/sysdeps/unix/bsd/sony/newsos4/wait3.c deleted file mode 100644 index 0b3bdee..0000000 --- a/sysdeps/unix/bsd/sony/newsos4/wait3.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/sony/newsos4/wait4.c b/sysdeps/unix/bsd/sony/newsos4/wait4.c deleted file mode 100644 index 856c99f..0000000 --- a/sysdeps/unix/bsd/sony/newsos4/wait4.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/sun/bits/signum.h b/sysdeps/unix/bsd/sun/bits/signum.h deleted file mode 100644 index c13e7cd..0000000 --- a/sysdeps/unix/bsd/sun/bits/signum.h +++ /dev/null @@ -1,69 +0,0 @@ -/* Signal number definitions. SunOS version. - Copyright (C) 1994, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* This file defines the fake signal functions and signal - number constants for SunOS 3 and 4 Unix systems. */ - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGABRT SIGIOT /* Abort (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGIOT 6 /* IOT trap (4.2 BSD). */ -#define SIGEMT 7 /* EMT trap (4.2 BSD). */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* Bus error (4.2 BSD). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad argument to system call (4.2 BSD). */ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGURG 16 /* Urgent condition on socket (4.2 BSD). */ -#define SIGSTOP 17 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 18 /* Keyboard stop (POSIX). */ -#define SIGCONT 19 /* Continue (POSIX). */ -#define SIGCHLD 20 /* Child status has changed (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGTTIN 21 /* Background read from tty (POSIX). */ -#define SIGTTOU 22 /* Background write to tty (POSIX). */ -#define SIGIO 23 /* I/O now possible (4.2 BSD). */ -#define SIGPOLL SIGIO /* Same as SIGIO? (SVID). */ -#define SIGXCPU 24 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 25 /* File size limit exceeded (4.2 BSD). */ -#define SIGVTALRM 26 /* Virtual alarm clock (4.2 BSD). */ -#define SIGPROF 27 /* Profiling alarm clock (4.2 BSD). */ -#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ -#define SIGLOST 29 /* Resource lost (Sun). */ -#define SIGUSR1 30 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 31 /* User-defined signal 2 (POSIX). */ - -#endif /* included. */ - -#define _NSIG 32 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/bsd/sun/m68k/Makefile b/sysdeps/unix/bsd/sun/m68k/Makefile deleted file mode 100644 index ac4121d..0000000 --- a/sysdeps/unix/bsd/sun/m68k/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),signal) -sysdep_routines := $(sysdep_routines) sigtramp -endif diff --git a/sysdeps/unix/bsd/sun/m68k/bits/sigcontext.h b/sysdeps/unix/bsd/sun/m68k/bits/sigcontext.h deleted file mode 100644 index 99a0506..0000000 --- a/sysdeps/unix/bsd/sun/m68k/bits/sigcontext.h +++ /dev/null @@ -1,30 +0,0 @@ -/* Structure describing state saved while handling a signal. Sun 3 version. - Copyright (C) 1993, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never use directly; include instead." -#endif - -struct sigcontext - { - int sc_onstack; - __sigset_t sc_mask; - - int sc_sp, sc_pc, sc_ps; - }; diff --git a/sysdeps/unix/bsd/sun/m68k/brk.S b/sysdeps/unix/bsd/sun/m68k/brk.S deleted file mode 100644 index 9f821a0..0000000 --- a/sysdeps/unix/bsd/sun/m68k/brk.S +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 1991,1992,1994,1995,1997,2005 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifndef SYS_brk -#define SYS_brk 17 -#endif - -.data -.globl ___curbrk -___curbrk: - .long __end - -.text -ENTRY (__brk) - movel #__end, d0 - cmpl sp@(4), d0 - ble 0f - movel d0, sp@(4) -0: pea SYS_brk - trap #0 - bcs 1f - movel sp@(4), ___curbrk - clrl d0 - rts -1: - jmp syscall_error - -weak_alias (__brk, brk) diff --git a/sysdeps/unix/bsd/sun/m68k/dl-brk.S b/sysdeps/unix/bsd/sun/m68k/dl-brk.S deleted file mode 100644 index eeb9654..0000000 --- a/sysdeps/unix/bsd/sun/m68k/dl-brk.S +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/sun/m68k/sethostid.S b/sysdeps/unix/bsd/sun/m68k/sethostid.S deleted file mode 100644 index 13af476..0000000 --- a/sysdeps/unix/bsd/sun/m68k/sethostid.S +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 1991, 1992, 1997, 2005 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifdef SYS_sethostid - -SYSCALL (sethostid, 1) - ret - -#else - -#include - -.globl _sethostid -.even -_sethostid: - movel #ENOSYS, _errno - moveq #-1, d0 - rts - -.stabs "warning: sethostid is not implemented and will always fail",30,0,0,0 -.stabs "_sethostid",1,0,0,0 - -#endif diff --git a/sysdeps/unix/bsd/sun/m68k/sigtramp.c b/sysdeps/unix/bsd/sun/m68k/sigtramp.c deleted file mode 100644 index 5a3ca3c..0000000 --- a/sysdeps/unix/bsd/sun/m68k/sigtramp.c +++ /dev/null @@ -1,145 +0,0 @@ -/* Copyright (C) 1993, 1996, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef __GNUC__ - #error This file uses GNU C extensions; you must compile with GCC. -#endif - -/* Get the definition of `struct sigcontext'. */ -#define KERNEL -#define sigvec sun_sigvec -#define sigstack sun_sigstack -#define sigcontext sun_sigcontext -#include "/usr/include/sys/signal.h" -#undef sigvec -#undef sigstack -#undef sigcontext -#undef NSIG -#undef SIGABRT -#undef SIGCLD -#undef SV_ONSTACK -#undef SV_RESETHAND -#undef SV_INTERRUPT -#undef SA_ONSTACK -#undef SA_NOCLDSTOP -#undef SIG_ERR -#undef SIG_DFL -#undef SIG_IGN -#undef sigmask -#undef SIG_BLOCK -#undef SIG_UNBLOCK -#undef SIG_SETMASK - -#include -#include -#include - -/* Defined in __sigvec.S. */ -extern int __raw_sigvec (int sig, const struct sigvec *vec, - struct sigvec *ovec); - -/* User-specified signal handlers. */ -#define mytramp 1 -#ifdef mytramp -static __sighandler_t handlers[NSIG]; -#else -#define handlers _sigfunc -extern __sighandler_t _sigfunc[]; -#endif - -#if mytramp - -/* Handler for all signals that are handled by a user-specified function. - Saves and restores the general regs %g2-%g7, the %y register, and - all the FPU regs (including %fsr), around calling the user's handler. */ -static void -trampoline (sig, code, context, addr) - int sig; - int code; - struct sigcontext *context; - void *addr; -{ - int save[4]; - - /* Save the call-clobbered registers. */ - asm volatile ("movem%.l d0-d1/a0-a1, %0" : : "m" (save[0])); - - /* XXX should save/restore FP regs */ - - /* Call the user's handler. */ - (*((void (*) (int sig, int code, struct sigcontext *context, - PTR addr)) handlers[sig])) - (sig, code, context, addr); - - /* Restore the call-clobbered registers. */ - asm volatile ("movem%.l %0, d0-d1/a0-a1" : : "g" (save[0]) : - "d0", "d1", "a0", "a1"); - - __sigreturn (context); -} - -#endif - -int -__sigvec (sig, vec, ovec) - int sig; - const struct sigvec *vec; - struct sigvec *ovec; -{ -#ifndef mytramp - extern void _sigtramp (int); -#define trampoline _sigtramp -#endif - struct sigvec myvec; - int mask; - __sighandler_t ohandler; - - if (sig <= 0 || sig >= NSIG) - { - __set_errno (EINVAL); - return -1; - } - - mask = __sigblock(sigmask(sig)); - - ohandler = handlers[sig]; - - if (vec != NULL && - vec->sv_handler != SIG_IGN && vec->sv_handler != SIG_DFL) - { - handlers[sig] = vec->sv_handler; - myvec = *vec; - myvec.sv_handler = trampoline; - vec = &myvec; - } - - if (__raw_sigvec(sig, vec, ovec) < 0) - { - int save = errno; - (void) __sigsetmask(mask); - errno = save; - return -1; - } - - if (ovec != NULL && ovec->sv_handler == trampoline) - ovec->sv_handler = ohandler; - - (void) __sigsetmask(mask); - - return 0; -} diff --git a/sysdeps/unix/bsd/sun/m68k/syscall.S b/sysdeps/unix/bsd/sun/m68k/syscall.S deleted file mode 100644 index 1d4d5be..0000000 --- a/sysdeps/unix/bsd/sun/m68k/syscall.S +++ /dev/null @@ -1,28 +0,0 @@ -/* 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -ENTRY (syscall) - movel sp@, d0 /* Save return address in D0. */ - movel sp@(4), sp@ /* Put syscall number at top of stack. */ - movel d0, sp@(4) /* Put return address under it. */ - trap #0 /* Do syscall; pops number from stack. */ - jcs error - ret -error: jmp syscall_error diff --git a/sysdeps/unix/bsd/sun/m68k/sysdep.h b/sysdeps/unix/bsd/sun/m68k/sysdep.h deleted file mode 100644 index e51ab0a..0000000 --- a/sysdeps/unix/bsd/sun/m68k/sysdep.h +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (C) 1991, 1992, 1994, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifdef __ASSEMBLER__ - -#define POUND # - -#ifdef __STDC__ -#define ENTRY(name) \ - .globl _##name; \ - .even; \ - _##name##: -#else -#define ENTRY(name) \ - .globl _/**/name; \ - .even; \ - _/**/name/**/: -#endif - -#ifdef __STDC__ -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error; \ - error: jmp syscall_error; \ - ENTRY (name) \ - pea SYS_##syscall_name; \ - trap POUND 0; \ - bcs error -#else -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error; \ - error: jmp syscall_error; \ - ENTRY (name) \ - pea SYS_/**/syscall_name; \ - trap POUND 0; \ - bcs error -#endif - -#define ret rts -#define r0 d0 -#define r1 d1 -#define MOVE(x,y) movel x , y - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/bsd/sun/m68k/vfork.S b/sysdeps/unix/bsd/sun/m68k/vfork.S deleted file mode 100644 index cf9e2e9..0000000 --- a/sysdeps/unix/bsd/sun/m68k/vfork.S +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 97, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifndef SYS_vfork -#define SYS_vfork 66 -#endif - -/* Clone the calling process, but without copying the whole address space. - The calling process is suspended until the new process exits or is - replaced by a call to `execve'. Return -1 for errors, 0 to the new process, - and the process ID of the new process to the old process. */ -.globl ___vfork -___vfork: - /* Pop the return PC value into A0. */ - movel sp@+, a0 - - /* Push the syscall number and trap into the kernel. */ - movel #SYS_vfork, sp@- - trap #0 - bcs error /* Branch forward if it failed. */ - - /* It succeeded. See which fork we're in. D1 is now 0 for the - parent and 1 for the child. Decrement it to make it -1 (all - bits set) for the parent, and 0 (no bits set) for the child. - Then AND it with D0, so the parent gets D0&-1==R0, and the child - gets D0&0==0. */ - subql #1, d1 - andl d1, d0 - - /* Jump to the return PC. */ - jmp a0@ - -error: - movel d0, _errno - moveq #-1, d0 - jmp a0@ -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/sun/sethostid.c b/sysdeps/unix/bsd/sun/sethostid.c deleted file mode 100644 index 6c0d39d..0000000 --- a/sysdeps/unix/bsd/sun/sethostid.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/sun/sigreturn.S b/sysdeps/unix/bsd/sun/sigreturn.S deleted file mode 100644 index a3ea8e3..0000000 --- a/sysdeps/unix/bsd/sun/sigreturn.S +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1993, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifndef SYS_sigreturn -#define SYS_sigreturn 139 -#endif - -SYSCALL__ (sigreturn, 1) - /* Does not return. */ - -weak_alias (__sigreturn, sigreturn) diff --git a/sysdeps/unix/bsd/sun/sparc/Makefile b/sysdeps/unix/bsd/sun/sparc/Makefile deleted file mode 100644 index 59d10db..0000000 --- a/sysdeps/unix/bsd/sun/sparc/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -# Basically `-e start' is magical to the Sun linker. You would think that -# having start.o first would be enough, but you would be wrong. -LDFLAGS := $(LDFLAGS) -Xlinker -e -Xlinker start - -ifeq ($(subdir),signal) -sysdep_routines := $(sysdep_routines) sigtramp -endif diff --git a/sysdeps/unix/bsd/sun/sparc/bits/sigcontext.h b/sysdeps/unix/bsd/sun/sparc/bits/sigcontext.h deleted file mode 100644 index 7c4bca6..0000000 --- a/sysdeps/unix/bsd/sun/sparc/bits/sigcontext.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Structure describing state saved while handling a signal. Sparc version. - Copyright (C) 1992, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never use directly; include instead." -#endif - -struct sigcontext - { - int sc_onstack; - __sigset_t sc_mask; - -#define SPARC_MAXREGWINDOW 31 /* Maximum usable register windows. */ - int sc_sp, sc_pc, sc_npc, sc_psr, sc_g1, sc_o0; - int sc_wbcnt; /* Number of outstanding windows. */ - __ptr_t sc_spbuf[SPARC_MAXREGWINDOW]; /* SP's for each window. */ - int sc_wbuf[SPARC_MAXREGWINDOW][16]; /* Saved register windows. */ - }; diff --git a/sysdeps/unix/bsd/sun/sparc/sethostid.S b/sysdeps/unix/bsd/sun/sparc/sethostid.S deleted file mode 100644 index 100fb1c..0000000 --- a/sysdeps/unix/bsd/sun/sparc/sethostid.S +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1991, 1992, 1997, 2005 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifdef SYS_sethostid - -SYSCALL (sethostid, 1) - ret - -#else - -/* only defines E* #ifdef _ERRNO_H. */ -#define _ERRNO_H -#include - -ENTRY (sethostid) - mov ENOSYS, %o0 - sethi %hi(_errno), %g1 - st %o0, [%g1 + %lo(_errno)] - retl - sub %g0, 1, %o0 - - -.stabs "warning: sethostid is not implemented and will always fail",30,0,0,0 -.stabs "_sethostid",1,0,0,0 - -#endif diff --git a/sysdeps/unix/bsd/sun/sparc/sigtramp.c b/sysdeps/unix/bsd/sun/sparc/sigtramp.c deleted file mode 100644 index e11f7e5..0000000 --- a/sysdeps/unix/bsd/sun/sparc/sigtramp.c +++ /dev/null @@ -1,247 +0,0 @@ -/* Copyright (C) 1991,1992,1994,1996,1997,2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef __GNUC__ - #error This file uses GNU C extensions; you must compile with GCC. -#endif - -/* Get the definition of `struct sigcontext'. */ -#define KERNEL -#define sigvec sun_sigvec -#define sigstack sun_sigstack -#define sigcontext sun_sigcontext -#include "/usr/include/sys/signal.h" -#undef sigvec -#undef sigstack -#undef sigcontext -#undef NSIG -#undef SIGABRT -#undef SIGCLD -#undef SV_ONSTACK -#undef SV_RESETHAND -#undef SV_INTERRUPT -#undef SA_ONSTACK -#undef SA_NOCLDSTOP -#undef SIG_ERR -#undef SIG_DFL -#undef SIG_IGN -#undef sigmask -#undef SIG_BLOCK -#undef SIG_UNBLOCK -#undef SIG_SETMASK - -#include -#include -#include - -/* Defined in __sigvec.S. */ -extern int __raw_sigvec (int sig, CONST struct sigvec *vec, - struct sigvec *ovec); - -/* User-specified signal handlers. */ -#define mytramp 1 -#ifdef mytramp -static __sighandler_t handlers[NSIG]; -#else -#define handlers _sigfunc -extern __sighandler_t _sigfunc[]; -#endif - -#if mytramp - -/* Handler for all signals that are handled by a user-specified function. - Saves and restores the general regs %g2-%g7, the %y register, and - all the FPU regs (including %fsr), around calling the user's handler. */ -static void -trampoline (sig) - int sig; -{ - /* We use `double' and `long long int' so `std' (store doubleword) insns, - which might be faster than single-word stores, will be generated. */ - register double f0 asm("%f0"); - register double f2 asm("%f2"); - register double f4 asm("%f4"); - register double f6 asm("%f6"); - register double f8 asm("%f8"); - register double f10 asm("%f10"); - register double f12 asm("%f12"); - register double f14 asm("%f14"); - register double f16 asm("%f16"); - register double f18 asm("%f18"); - register double f20 asm("%f20"); - register double f22 asm("%f22"); - register double f24 asm("%f24"); - register double f26 asm("%f26"); - register double f28 asm("%f28"); - register double f30 asm("%f30"); - register long long int g2 asm("%g2"); - register long long int g4 asm("%g4"); - register long long int g6 asm("%g6"); - register int *fp asm("%fp"); - - int code; - register struct sigcontext *context asm("%i0"); /* See end of fn. */ - void *addr; - int y; - double fpsave[16]; - int fsr; - int savefpu; - long long int glsave[3]; - - /* SIG isn't really passed as an arg. - The args to the signal handler are at fp[16..19]. */ - sig = fp[16]; - code = fp[17]; - context = (struct sigcontext *) fp[18]; - addr = (PTR) fp[19]; - - /* Save the Y register. */ - asm("rd %%y, %0" : "=r" (y)); - - /* Save the FPU regs if the FPU enable bit is set in the PSR, - and the signal isn't an FP exception. */ - savefpu = (context->sc_psr & 0x1000) && sig != SIGFPE; - if (savefpu) - { - fpsave[0] = f0; - fpsave[1] = f2; - fpsave[2] = f4; - fpsave[3] = f6; - fpsave[4] = f8; - fpsave[5] = f10; - fpsave[6] = f12; - fpsave[7] = f14; - fpsave[8] = f16; - fpsave[9] = f18; - fpsave[10] = f20; - fpsave[11] = f22; - fpsave[12] = f24; - fpsave[13] = f26; - fpsave[14] = f28; - fpsave[15] = f30; - - /* Force it into a stack slot so the asm won't barf. Sigh. */ - (void) &fsr; - asm("st %%fsr, %0" : "=m" (fsr)); - } - - /* Save the global registers (except for %g1, which is a scratch reg). */ - glsave[0] = g2; - glsave[1] = g4; - glsave[2] = g6; - - /* Call the user's handler. */ - (*((void (*) (int sig, int code, struct sigcontext *context, - void *addr)) handlers[sig])) - (sig, code, context, addr); - - /* Restore the Y register. */ - asm("mov %0, %%y" : : "r" (y)); - - if (savefpu) - { - /* Restore the FPU regs. */ - f0 = fpsave[0]; - f2 = fpsave[1]; - f4 = fpsave[2]; - f6 = fpsave[3]; - f8 = fpsave[4]; - f10 = fpsave[5]; - f12 = fpsave[6]; - f14 = fpsave[7]; - f16 = fpsave[8]; - f18 = fpsave[9]; - f20 = fpsave[10]; - f22 = fpsave[11]; - f24 = fpsave[12]; - f26 = fpsave[13]; - f28 = fpsave[14]; - f30 = fpsave[15]; - - asm("ld %0, %%fsr" : : "m" (fsr)); - } - - /* Restore the globals. */ - g2 = glsave[0]; - g4 = glsave[1]; - g6 = glsave[2]; - - /* Unwind a frame, and do a "sigcleanup" system call. - The system call apparently does a return. - I don't know what it's for. Ask Sun. */ - asm("restore %%g0, 139, %%g1\n" - "ta 0\n" - "! this should be i0: %0" /* Useless insn that will never be executed, */ - /* here to make the compiler happy. */ - : /* No outputs. */ : - /* CONTEXT is bound to %i0. We reference it as an input here to make - sure the compiler considers it live at this point, and preserves - the value in that register. The restore makes %i0 become %o0, the - argument to the system call. */ - "r" (context)); -} -#endif - -int -__sigvec (sig, vec, ovec) - int sig; - const struct sigvec *vec; - struct sigvec *ovec; -{ -#ifndef mytramp - extern void _sigtramp (int); -#define trampoline _sigtramp -#endif - struct sigvec myvec; - int mask; - __sighandler_t ohandler; - - if (sig <= 0 || sig >= NSIG) - { - __set_errno (EINVAL); - return -1; - } - - mask = __sigblock (sigmask(sig)); - - ohandler = handlers[sig]; - - if (vec != NULL && - vec->sv_handler != SIG_IGN && vec->sv_handler != SIG_DFL) - { - handlers[sig] = vec->sv_handler; - myvec = *vec; - myvec.sv_handler = trampoline; - vec = &myvec; - } - - if (__raw_sigvec(sig, vec, ovec) < 0) - { - int save = errno; - (void) __sigsetmask(mask); - errno = save; - return -1; - } - - if (ovec != NULL && ovec->sv_handler == trampoline) - ovec->sv_handler = ohandler; - - (void) __sigsetmask (mask); - - return 0; -} diff --git a/sysdeps/unix/bsd/sun/sunos4/Implies b/sysdeps/unix/bsd/sun/sunos4/Implies deleted file mode 100644 index c99e256..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# SunOS 4 has the canonical set of system calls. -unix/mman diff --git a/sysdeps/unix/bsd/sun/sunos4/Makefile b/sysdeps/unix/bsd/sun/sunos4/Makefile deleted file mode 100644 index d17654a..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/Makefile +++ /dev/null @@ -1,7 +0,0 @@ -ifeq ($(subdir),posix) -sysdep_routines := $(sysdep_routines) sys_wait4 -endif - -ifeq ($(subdir),misc) -sysdep_routines := $(sysdep_routines) sys_mmap -endif diff --git a/sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h b/sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h deleted file mode 100644 index a30b352..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/bits/fcntl.h +++ /dev/null @@ -1,142 +0,0 @@ -/* O_*, F_*, FD_* bit values for SunOS 4. - Copyright (C) 1991, 1992, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _FCNTL_H -#error "Never use directly; include instead." -#endif - - -/* File access modes for `open' and `fcntl'. */ -#define O_RDONLY 0 /* Open read-only. */ -#define O_WRONLY 1 /* Open write-only. */ -#define O_RDWR 2 /* Open read/write. */ - - -/* Bits OR'd into the second argument to open. */ -#define O_CREAT 0x0200 /* Create file if it doesn't exist. */ -#define O_EXCL 0x0800 /* Fail if file already exists. */ -#define O_TRUNC 0x0400 /* Truncate file to zero length. */ -#define O_NOCTTY 0x8000 /* Don't assign a controlling terminal. */ -#if defined __USE_BSD || defined __USE_SVID -#define O_ASYNC 0x0040 /* Send SIGIO to owner when data is ready. */ -#define O_FSYNC 0x2000 /* Synchronous writes. */ -#define O_SYNC O_FSYNC -#endif - -/* File status flags for `open' and `fcntl'. */ -#define O_APPEND 0x0008 /* Writes append to the file. */ -#define O_NONBLOCK 0x4000 /* Non-blocking I/O. */ - -/* Sun defines O_NDELAY one way for BSD behavior and another for System V - behavior. In the GNU C library, you get the BSD behavior unless you - define _USG_SOURCE without also defining _BSD_SOURCE or _GNU_SOURCE. */ -#ifdef __USE_BSD -#define O_NDELAY 0x0004 -#endif -#if !defined (O_NDELAY) && defined (__USE_SVID) -#define O_NDELAY 0x1000 -#endif - -#ifdef __USE_BSD -/* Bits in the file status flags returned by F_GETFL. - These are all the O_* flags, plus FREAD and FWRITE, which are - independent bits set by which of O_RDONLY, O_WRONLY, and O_RDWR, was - given to `open'. */ -#define FREAD 1 -#define FWRITE 2 - -/* Traditional Unix names the O_* bits. */ -#define FASYNC O_ASYNC -#define FCREAT O_CREAT -#define FEXCL O_EXCL -#define FTRUNC O_TRUNC -#define FNOCTTY O_NOCTTY -#define FFSYNC O_FSYNC -#define FSYNC O_SYNC -#define FAPPEND O_APPEND -#define FNONBLOCK O_NONBLOCK -#define FNONBIO O_NONBLOCK -#define FNDELAY 0x0004 /* BSD O_NDELAY. */ -#define FNBIO 0x1000 /* System V O_NDELAY. */ -#endif - -/* Mask for file access modes. This is system-dependent in case - some system ever wants to define some other flavor of access. */ -#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#if defined __USE_BSD || defined __USE_UNIX98 -#define F_GETOWN 5 /* Get owner (receiver of SIGIO). */ -#define F_SETOWN 6 /* Set owner (receiver of SIGIO). */ -#endif -#define F_GETLK 7 /* Get record locking info. */ -#define F_SETLK 8 /* Set record locking info (non-blocking). */ -#define F_SETLKW 9 /* Set record locking info (blocking). */ -#ifdef __USE_BSD -#define F_RGETLK 10 /* Get remote record locking info. */ -#define F_RSETLK 11 /* Set remote locking info (non-blocking). */ -#define F_CNVT 12 /* Convert a fhandle to an open fd. */ -#define F_RSETLKW 13 /* Set remote locking info (blocking). */ -#endif - -/* File descriptor flags used with F_GETFD and F_SETFD. */ -#define FD_CLOEXEC 1 /* Close on exec. */ - - -#include - -/* The structure describing an advisory lock. This is the type of the third - argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests. */ -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ - short int l_pid; /* Process holding the lock. */ - short int l_xxx; /* Reserved for future use. */ - }; - -#ifdef __USE_BSD -/* The structure describing a remote advisory lock. This is the type of the - third arg to `fcntl' for the F_RGETLK, F_RSETLK, and F_RSETLKW requests. */ -struct eflock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ - short int l_pid; /* Process holding the lock. */ - short int l_xxx; /* Reserved for future use. */ - long int l_rpid; /* Remote process ID wanting this lock. */ - long int l_rsys; /* Remote system ID wanting this lock. */ - }; - -#endif - - -/* Values for the `l_type' field of a `struct flock'. */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ diff --git a/sysdeps/unix/bsd/sun/sunos4/bits/mman.h b/sysdeps/unix/bsd/sun/sunos4/bits/mman.h deleted file mode 100644 index fdef465..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/bits/mman.h +++ /dev/null @@ -1,68 +0,0 @@ -/* Definitions for BSD-style memory management. SunOS 4 version. - Copyright (C) 1994, 1995, 1996, 1997, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_MMAN_H -#define _BITS_MMAN_H 1 - -/* Protections are chosen from these bits, OR'd together. The - implementation does not necessarily support PROT_EXEC or PROT_WRITE - without PROT_READ. The only guarantees are that no writing will be - allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ - -#define PROT_NONE 0x00 /* No access. */ -#define PROT_READ 0x01 /* Pages can be read. */ -#define PROT_WRITE 0x02 /* Pages can be written. */ -#define PROT_EXEC 0x04 /* Pages can be executed. */ - -/* Sharing types (must choose one and only one of these). */ -#define MAP_SHARED 0x01 /* Share changes. */ -#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */ -#ifdef __USE_BSD -# define MAP_TYPE 0x0f /* Mask for sharing type. */ -#endif - -/* Other flags. */ -#define MAP_FIXED 0x10 /* Map address must be exactly as requested. */ -/* The following three flags are not actually implemented in SunOS 4.1. */ -#ifdef __USE_BSD -# define MAP_RENAME 0x20 /* Rename private pages to file. */ -# define MAP_NORESERVE 0x40 /* Don't reserve needed swap area. */ -# define MAP_INHERIT 0x80 /* Region is retained after exec. */ -#endif - -/* This is an internal flag that is always set in `mmap' system calls. In - older versions of SunOS 4 `mmap' did not return the actual mapping - address, but always returned zero. This flag says to return the - address; the `mmap' C library function always sets it. */ -#define _MAP_NEW 0x80000000 - -/* Advice to `madvise'. */ -#ifdef __USE_BSD -# define MADV_NORMAL 0 /* No further special treatment. */ -# define MADV_RANDOM 1 /* Expect random page references. */ -# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define MADV_WILLNEED 3 /* Will need these pages. */ -# define MADV_DONTNEED 4 /* Don't need these pages. */ -#endif - -/* Flags to `msync'. */ -#define MS_ASYNC 0x1 /* Return immediately, don't fsync. */ -#define MS_INVALIDATE 0x2 /* Invalidate caches. */ - -#endif /* bits/mman.h */ diff --git a/sysdeps/unix/bsd/sun/sunos4/bits/resource.h b/sysdeps/unix/bsd/sun/sunos4/bits/resource.h deleted file mode 100644 index 2f0d2dc..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/bits/resource.h +++ /dev/null @@ -1,174 +0,0 @@ -/* Bit values for resource limits. SunOS 4 version. - Copyright (C) 1994, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_RESOURCE_H -# error "Never use directly; include instead." -#endif - -/* These are the values for 4.4 BSD and GNU. Earlier BSD systems have a - subset of these kinds of resource limit. In systems where `getrlimit' - and `setrlimit' are not system calls, these are the values used by the C - library to emulate them. */ - -#include - -/* Kinds of resource limit. */ -enum __rlimit_resource - { - /* Per-process CPU limit, in seconds. */ - RLIMIT_CPU, -#define RLIMIT_CPU RLIMIT_CPU - /* Largest file that can be created, in bytes. */ - RLIMIT_FSIZE, -#define RLIMIT_FSIZE RLIMIT_FSIZE - /* Maximum size of data segment, in bytes. */ - RLIMIT_DATA, -#define RLIMIT_DATA RLIMIT_DATA - /* Maximum size of stack segment, in bytes. */ - RLIMIT_STACK, -#define RLIMIT_STACK RLIMIT_STACK - /* Largest core file that can be created, in bytes. */ - RLIMIT_CORE, -#define RLIMIT_CORE RLIMIT_CORE - /* Largest resident set size, in bytes. - This affects swapping; processes that are exceeding their - resident set size will be more likely to have physical memory - taken from them. */ - RLIMIT_RSS, -#define RLIMIT_RSS RLIMIT_RSS - /* Number of open files. */ - RLIMIT_NOFILE, - RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ -#define RLIMIT_NOFILE RLIMIT_NOFILE -#define RLIMIT_OFILE RLIMIT_OFILE - - RLIM_NLIMITS - }; - -/* Value to indicate that there is no limit. */ -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY 0x7fffffff -#else -# define RLIM_INFINITY 0x7fffffffffffffffLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0x7fffffffffffffffLL -#endif - - -/* Type to represent quantities in resource limits. */ -#ifndef __USE_FILE_OFFSET64 -typedef __rlim_t rlim_t; -#else -typedef __rlim64_t rlim_t; -#endif - -struct rlimit - { - /* The current (soft) limit. */ - rlim_t rlim_cur; - /* The hard limit. */ - rlim_t rlim_max; - }; - -#ifdef __USE_LARGEFILE64 -typedef __rlim64_t rlim64_t; - -struct rlimit64 - { - /* The current (soft) limit. */ - rlim64_t rlim_cur; - /* The hard limit. */ - rlim64_t rlim_max; - }; -#endif - -/* Whose usage statistics do you want? */ -enum __rusage_who -/* The macro definitions are necessary because some programs want - to test for operating system features with #ifdef RUSAGE_SELF. - In ISO C the reflexive definition is a no-op. */ - { - /* The calling process. */ - RUSAGE_SELF = 0, -#define RUSAGE_SELF RUSAGE_SELF - /* All of its terminated child processes. */ - RUSAGE_CHILDREN = -1 -#define RUSAGE_CHILDREN RUSAGE_CHILDREN - }; - -#define __need_timeval -#include /* For `struct timeval'. */ - -/* Structure which says how much of each resource has been used. */ -struct rusage - { - /* Total amount of user time used. */ - struct timeval ru_utime; - /* Total amount of system time used. */ - struct timeval ru_stime; - /* Maximum resident set size (in kilobytes). */ - long int ru_maxrss; - /* Amount of sharing of text segment memory - with other processes (kilobyte-seconds). */ - long int ru_ixrss; - /* Amount of data segment memory used (kilobyte-seconds). */ - long int ru_idrss; - /* Amount of stack memory used (kilobyte-seconds). */ - long int ru_isrss; - /* Number of soft page faults (i.e. those serviced by reclaiming - a page from the list of pages awaiting reallocation. */ - long int ru_minflt; - /* Number of hard page faults (i.e. those that required I/O). */ - long int ru_majflt; - /* Number of times a process was swapped out of physical memory. */ - long int ru_nswap; - /* Number of input operations via the file system. Note: This - and `ru_oublock' do not include operations with the cache. */ - long int ru_inblock; - /* Number of output operations via the file system. */ - long int ru_oublock; - /* Number of IPC messages sent. */ - long int ru_msgsnd; - /* Number of IPC messages received. */ - long int ru_msgrcv; - /* Number of signals delivered. */ - long int ru_nsignals; - /* Number of voluntary context switches, i.e. because the process - gave up the process before it had to (usually to wait for some - resource to be available). */ - long int ru_nvcsw; - /* Number of involuntary context switches, i.e. a higher priority process - became runnable or the current process used up its time slice. */ - long int ru_nivcsw; - }; - -/* Priority limits. */ -#define PRIO_MIN -20 /* Minimum priority a process can have. */ -#define PRIO_MAX 20 /* Maximum priority a process can have. */ - -/* The type of the WHICH argument to `getpriority' and `setpriority', - indicating what flavor of entity the WHO argument specifies. */ -enum __priority_which - { - PRIO_PROCESS = 0, /* WHO is a process ID. */ - PRIO_PGRP = 1, /* WHO is a process group ID. */ - PRIO_USER = 2 /* WHO is a user ID. */ - }; diff --git a/sysdeps/unix/bsd/sun/sunos4/bits/termios.h b/sysdeps/unix/bsd/sun/sunos4/bits/termios.h deleted file mode 100644 index 97612c8..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/bits/termios.h +++ /dev/null @@ -1,212 +0,0 @@ -/* termios type and macro definitions. SunOS 4 version. - Copyright (C) 1993, 1994, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -/* Type of terminal control flag masks. */ -typedef unsigned long int tcflag_t; - -/* Type of control characters. */ -typedef unsigned char cc_t; - -/* Type of baud rate specifiers. */ -typedef unsigned int speed_t; - -/* Terminal control structure. */ -struct termios -{ - /* Input modes. */ - tcflag_t c_iflag; -#define IGNBRK 0x0001 /* Ignore break condition. */ -#define BRKINT 0x0002 /* Signal interrupt on break. */ -#define IGNPAR 0x0004 /* Ignore characters with parity errors. */ -#define PARMRK 0x0008 /* Mark parity and framing errors. */ -#define INPCK 0x0010 /* Enable input parity check. */ -#define ISTRIP 0x0020 /* Strip 8th bit off characters. */ -#define INLCR 0x0040 /* Map NL to CR on input. */ -#define IGNCR 0x0080 /* Ignore CR. */ -#define ICRNL 0x0100 /* Map CR to NL on input. */ -#ifdef __USE_BSD -# define IUCLC 0x0200 /* Map upper case to lower case on input. */ -#endif -#define IXON 0x0400 /* Enable start/stop output control. */ -#define IXOFF 0x1000 /* Enable start/stop input control. */ -#ifdef __USE_BSD -# define IXANY 0x0800 /* Any character will restart after stop. */ -# define IMAXBEL 0x2000 /* Ring bell when input queue is full. */ -#endif - - /* Output modes. */ - tcflag_t c_oflag; -#define OPOST 0x0001 /* Perform output processing. */ -#ifdef __USE_BSD -# define OLCUC 0x00000002 /* Map lower case to upper case on output. */ -# define ONLCR 0x00000004 /* Map NL to CR-NL on output. */ -# define OCRNL 0x00000008 -# define ONOCR 0x00000010 -# define ONLRET 0x00000020 -# define OFILL 0x00000040 -# define OFDEL 0x00000080 -# define NLDLY 0x00000100 -# define NL0 0 -# define NL1 0x00000100 -# define CRDLY 0x00000600 -# define CR0 0 -# define CR1 0x00000200 -# define CR2 0x00000400 -# define CR3 0x00000600 -# define TABDLY 0x00001800 -# define TAB0 0 -# define TAB1 0x00000800 -# define TAB2 0x00001000 -# define XTABS 0x00001800 -# define TAB3 XTABS -# define BSDLY 0x00002000 -# define BS0 0 -# define BS1 0x00002000 -# define VTDLY 0x00004000 -# define VT0 0 -# define VT1 0x00004000 -# define FFDLY 0x00008000 -# define FF0 0 -# define FF1 0x00008000 -# define PAGEOUT 0x00010000 -# define WRAP 0x00020000 -#endif - - /* Control modes. */ - tcflag_t c_cflag; -#define CSIZE (CS5|CS6|CS7|CS8) /* Number of bits per byte (mask). */ -#define CS5 0 /* 5 bits per byte. */ -#define CS6 0x00000010 /* 6 bits per byte. */ -#define CS7 0x00000020 /* 7 bits per byte. */ -#define CS8 0x00000030 /* 8 bits per byte. */ -#define CSTOPB 0x00000040 /* Two stop bits instead of one. */ -#define CREAD 0x00000080 /* Enable receiver. */ -#define PARENB 0x00000100 /* Parity enable. */ -#define PARODD 0x00000200 /* Odd parity instead of even. */ -#define HUPCL 0x00000400 /* Hang up on last close. */ -#define CLOCAL 0x00000800 /* Ignore modem status lines. */ -#ifdef __USE_BSD -# define LOBLK 0x00001000 -# define CRTSCTS 0x80000000 -# define CIBAUD 0x000f0000 /* Mask for input speed from c_cflag. */ -# define CBAUD 0x0000000f /* Mask for output speed from c_cflag. */ -# define IBSHIFT 16 /* Bits to shift for input speed. */ -#endif - - /* Input and output baud rates. These are encoded in c_cflag. */ -#define B0 0 -#define B50 1 -#define B75 2 -#define B110 3 -#define B134 4 -#define B150 5 -#define B200 6 -#define B300 7 -#define B600 8 -#define B1200 9 -#define B1800 10 -#define B2400 11 -#define B4800 12 -#define B9600 13 -#define B19200 14 -#define B38400 15 -#ifdef __USE_BSD -# define EXTA 14 -# define EXTB 15 -#endif - - /* Local modes. */ - tcflag_t c_lflag; -#ifdef __USE_BSD -# define ECHOKE 0x00000800 /* Visual erase for KILL. */ -#endif -#define ECHOE 0x00000010 /* Visual erase for ERASE. */ -#define ECHOK 0x00000020 /* Echo NL after KILL. */ -#define ECHO 0x00000008 /* Enable echo. */ -#define ECHONL 0x00000040 /* Echo NL even if ECHO is off. */ -#ifdef __USE_BSD -# define ECHOPRT 0x00000400 /* Hardcopy visual erase. */ -# define ECHOCTL 0x00000200 /* Echo control characters as ^X. */ -#endif -#define ISIG 0x00000001 /* Enable signals. */ -#define ICANON 0x00000002 /* Do erase and kill processing. */ -#define IEXTEN 0x00008000 /* Enable DISCARD and LNEXT. */ -#define TOSTOP 0x00000100 /* Send SIGTTOU for background output. */ -#ifdef __USE_BSD -# define PENDIN 0x00004000 /* Retype pending input (state). */ -#endif -#define NOFLSH 0x00000080 /* Disable flush after interrupt. */ - - char c_line; /* Line discipline (?) */ - - /* Control characters. */ -#define VEOF 4 /* End-of-file character [ICANON]. */ -#define VEOL 5 /* End-of-line character [ICANON]. */ -#ifdef __USE_BSD -# define VEOL2 6 /* Second EOL character [ICANON]. */ -# define VSWTCH 7 /* ??? */ -#endif -#define VERASE 2 /* Erase character [ICANON]. */ -#ifdef __USE_BSD -# define VWERASE 14 /* Word-erase character [ICANON]. */ -#endif -#define VKILL 3 /* Kill-line character [ICANON]. */ -#ifdef __USE_BSD -# define VREPRINT 12 /* Reprint-line character [ICANON]. */ -#endif -#define VINTR 0 /* Interrupt character [ISIG]. */ -#define VQUIT 1 /* Quit character [ISIG]. */ -#define VSUSP 10 /* Suspend character [ISIG]. */ -#ifdef __USE_BSD -# define VDSUSP 11 /* Delayed suspend character [ISIG]. */ -#endif -#define VSTART 8 /* Start (X-ON) character [IXON, IXOFF]. */ -#define VSTOP 9 /* Stop (X-OFF) character [IXON, IXOFF]. */ -#ifdef __USE_BSD -# define VLNEXT 15 /* Literal-next character [IEXTEN]. */ -# define VDISCARD 13 /* Discard character [IEXTEN]. */ -#endif -#define VMIN VEOF /* Minimum number of bytes read at once [!ICANON]. */ -#define VTIME VEOL /* Time-out value (tenths of a second) [!ICANON]. */ -#define NCCS 17 - cc_t c_cc[NCCS]; -}; - -#define _IOT_termios /* Hurd ioctl type field. */ \ - _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2) - -/* Values for the OPTIONAL_ACTIONS argument to `tcsetattr'. */ -#define TCSANOW 0 /* Change immediately. */ -#define TCSADRAIN 1 /* Change when pending output is written. */ -#define TCSAFLUSH 2 /* Flush pending input before changing. */ - -/* Values for the QUEUE_SELECTOR argument to `tcflush'. */ -#define TCIFLUSH 0 /* Discard data received but not yet read. */ -#define TCOFLUSH 1 /* Discard data written but not yet sent. */ -#define TCIOFLUSH 2 /* Discard all pending data. */ - -/* Values for the ACTION argument to `tcflow'. */ -#define TCOOFF 0 /* Suspend output. */ -#define TCOON 1 /* Restart suspended output. */ -#define TCIOFF 2 /* Send a STOP character. */ -#define TCION 3 /* Send a START character. */ diff --git a/sysdeps/unix/bsd/sun/sunos4/bits/utsname.h b/sysdeps/unix/bsd/sun/sunos4/bits/utsname.h deleted file mode 100644 index a0246c2..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/bits/utsname.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (C) 1997, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UTSNAME_H -# error "Never include directly; use instead." -#endif - -#define _UTSNAME_LENGTH 9 -#define _UTSNAME_NODENAME_LENGTH 65 diff --git a/sysdeps/unix/bsd/sun/sunos4/mmap.c b/sysdeps/unix/bsd/sun/sunos4/mmap.c deleted file mode 100644 index c513ae2..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/mmap.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1994, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* Map addresses starting near ADDR and extending for LEN bytes. from - OFFSET into the file FD describes according to PROT and FLAGS. If ADDR - is nonzero, it is the desired mapping address. If the MAP_FIXED bit is - set in FLAGS, the mapping will be at ADDR exactly (which must be - page-aligned); otherwise the system chooses a convenient nearby address. - The return value is the actual mapping address chosen or MAP_FAILED - for errors (in which case `errno' is set). A successful `mmap' call - deallocates any previous mapping for the affected region. */ - -extern __ptr_t __mmap_syscall (__ptr_t addr, size_t len, - int prot, int flags, int fd, off_t offset); - - -__ptr_t -__mmap (__ptr_t addr, size_t len, int prot, int flags, int fd, off_t offset) -{ - return __mmap_syscall (addr, len, prot, flags | _MAP_NEW, fd, offset); -} - -weak_alias (__mmap, mmap) diff --git a/sysdeps/unix/bsd/sun/sunos4/speed.c b/sysdeps/unix/bsd/sun/sunos4/speed.c deleted file mode 100644 index 262d70f..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/speed.c +++ /dev/null @@ -1,118 +0,0 @@ -/* `struct termios' speed frobnication functions. SunOS 4 version. - Copyright (C) 1991,1992,1993,1996,1997,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -static const speed_t speeds[] = - { - 0, - 50, - 75, - 110, - 134, - 150, - 200, - 300, - 600, - 1200, - 1800, - 2400, - 4800, - 9600, - 19200, - 38400, - }; - - -/* Return the output baud rate stored in *TERMIOS_P. */ -speed_t -cfgetospeed (termios_p) - const struct termios *termios_p; -{ - return termios_p->c_cflag & CBAUD; -} - -/* Return the input baud rate stored in *TERMIOS_P. */ -speed_t -cfgetispeed (termios_p) - const struct termios *termios_p; -{ - return (termios_p->c_cflag & CIBAUD) >> IBSHIFT; -} - -/* Set the output baud rate stored in *TERMIOS_P to SPEED. */ -int -cfsetospeed (termios_p, speed) - struct termios *termios_p; - speed_t speed; -{ - register unsigned int i; - - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - - /* This allows either B1200 or 1200 to work. XXX - Do we really want to try to support this, given that - fetching the speed must return one or the other? */ - - for (i = 0; i < sizeof (speeds) / sizeof (speeds[0]); ++i) - if (i == speed || speeds[i] == speed) - { - termios_p->c_cflag &= ~CBAUD; - termios_p->c_cflag |= i; - return 0; - } - - __set_errno (EINVAL); - return -1; -} -libc_hidden_def (cfsetospeed) - -/* Set the input baud rate stored in *TERMIOS_P to SPEED. */ -int -cfsetispeed (termios_p, speed) - struct termios *termios_p; - speed_t speed; -{ - register unsigned int i; - - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - - /* See comment in cfsetospeed (above). */ - for (i = 0; i < sizeof (speeds) / sizeof (speeds[0]); ++i) - if (i == speed || speeds[i] == speed) - { - termios_p->c_cflag &= ~CIBAUD; - termios_p->c_cflag |= i << IBSHIFT; - return 0; - } - - __set_errno (EINVAL); - return -1; -} -libc_hidden_def (cfsetispeed) diff --git a/sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h b/sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h deleted file mode 100644 index d18433c..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/sys/ttydefaults.h +++ /dev/null @@ -1,100 +0,0 @@ -/*- - * Copyright (c) 1982, 1986, 1993 - * The Regents of the University of California. All rights reserved. - * (c) UNIX System Laboratories, Inc. - * All or some portions of this file are derived from material licensed - * to the University of California by American Telephone and Telegraph - * Co. or Unix System Laboratories, Inc. and are reproduced herein with - * the permission of UNIX System Laboratories, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)ttydefaults.h 8.4 (Berkeley) 1/21/94 - */ - -/* - * System wide defaults for terminal state. SunOS 4 version. - */ -#ifndef _SYS_TTYDEFAULTS_H_ -#define _SYS_TTYDEFAULTS_H_ - -/* - * Defaults on "first" open. - */ -#define TTYDEF_IFLAG (BRKINT | ISTRIP | ICRNL | IMAXBEL | IXON | IXANY) -#define TTYDEF_OFLAG (OPOST | ONLCR | XTABS) -#define TTYDEF_LFLAG (ECHO | ICANON | ISIG | IEXTEN | ECHOE|ECHOKE|ECHOCTL) -#define TTYDEF_CFLAG (CREAD | CS7 | PARENB | HUPCL) -#define TTYDEF_SPEED (B9600) - -/* - * Control Character Defaults - */ -#define CTRL(x) (x&037) -#define CEOF CTRL('d') -#ifdef _POSIX_VDISABLE -# define CEOL _POSIX_VDISABLE -#else -# define CEOL ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ -#endif -#define CERASE 0177 -#define CINTR CTRL('c') -#ifdef _POSIX_VDISABLE -# define CSTATUS _POSIX_VDISABLE -#else -# define CSTATUS ((unsigned char)'\377') /* XXX avoid _POSIX_VDISABLE */ -#endif -#define CKILL CTRL('u') -#define CMIN 1 -#define CQUIT 034 /* FS, ^\ */ -#define CSUSP CTRL('z') -#define CTIME 0 -#define CDSUSP CTRL('y') -#define CSTART CTRL('q') -#define CSTOP CTRL('s') -#define CLNEXT CTRL('v') -#define CDISCARD CTRL('o') -#define CWERASE CTRL('w') -#define CREPRINT CTRL('r') -#define CEOT CEOF -/* compat */ -#define CBRK CEOL -#define CRPRNT CREPRINT -#define CFLUSH CDISCARD - -/* PROTECTED INCLUSION ENDS HERE */ -#endif /* !_SYS_TTYDEFAULTS_H_ */ - -/* - * #define TTYDEFCHARS to include an array of default control characters. - */ -#ifdef TTYDEFCHARS -cc_t ttydefchars[NCCS] = { - CEOF, CEOL, CEOL, CERASE, CWERASE, CKILL, CREPRINT, - _POSIX_VDISABLE, CINTR, CQUIT, CSUSP, CDSUSP, CSTART, CSTOP, CLNEXT, - CDISCARD, CMIN, CTIME, CSTATUS, _POSIX_VDISABLE -}; -#undef TTYDEFCHARS -#endif diff --git a/sysdeps/unix/bsd/sun/sunos4/syscalls.list b/sysdeps/unix/bsd/sun/sunos4/syscalls.list deleted file mode 100644 index 59992ee..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/syscalls.list +++ /dev/null @@ -1,6 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -msync - msync 3 msync -poll - poll 3 poll -sys_mmap mmap mmap 5 __mmap_syscall -sys_wait4 wait4 wait4 4 __wait4_syscall diff --git a/sysdeps/unix/bsd/sun/sunos4/system.c b/sysdeps/unix/bsd/sun/sunos4/system.c deleted file mode 100644 index 2c8e634..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/system.c +++ /dev/null @@ -1,2 +0,0 @@ -/* SunOS 4 does have `waitpid'. Avoid unix/system.c, which says we don't. */ -#include diff --git a/sysdeps/unix/bsd/sun/sunos4/tcflow.c b/sysdeps/unix/bsd/sun/sunos4/tcflow.c deleted file mode 100644 index 6fcc606..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/tcflow.c +++ /dev/null @@ -1,30 +0,0 @@ -/* 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* Suspend or restart transmission on FD. */ -int -tcflow (fd, action) - int fd; - int action; -{ - return __ioctl (fd, TCXONC, action); -} diff --git a/sysdeps/unix/bsd/sun/sunos4/tcflush.c b/sysdeps/unix/bsd/sun/sunos4/tcflush.c deleted file mode 100644 index 9e78aad..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/tcflush.c +++ /dev/null @@ -1,30 +0,0 @@ -/* 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* Flush pending data on FD. */ -int -tcflush (fd, queue_selector) - int fd; - int queue_selector; -{ - return __ioctl (fd, TCFLSH, queue_selector); -} diff --git a/sysdeps/unix/bsd/sun/sunos4/tcgetattr.c b/sysdeps/unix/bsd/sun/sunos4/tcgetattr.c deleted file mode 100644 index ab74fdd..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/tcgetattr.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1993, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -/* Put the state of FD into *TERMIOS_P. */ -int -__tcgetattr (fd, termios_p) - int fd; - struct termios *termios_p; -{ - return __ioctl (fd, TCGETS, termios_p); -} - -weak_alias (__tcgetattr, tcgetattr) diff --git a/sysdeps/unix/bsd/sun/sunos4/tcsendbrk.c b/sysdeps/unix/bsd/sun/sunos4/tcsendbrk.c deleted file mode 100644 index db5ea8c..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/tcsendbrk.c +++ /dev/null @@ -1,32 +0,0 @@ -/* 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include /* Sun header file. */ - -/* Send zero bits on FD. */ -int -tcsendbreak (fd, duration) - int fd; - int duration; -{ - /* According to SunOS 4.1's termios(4), you can't specify a duration. */ - return __ioctl (fd, TCSBRK, 0); -} diff --git a/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c b/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c deleted file mode 100644 index 934c4c8..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/tcsetattr.c +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1993, 1996, 1997, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* Set the state of FD to *TERMIOS_P. */ -int -tcsetattr (fd, optional_actions, termios_p) - int fd; - int optional_actions; - const struct termios *termios_p; -{ - unsigned long cmd; - - switch (optional_actions) - { - case TCSANOW: - cmd = TCSETS; - break; - case TCSADRAIN: - cmd = TCSETSW; - break; - case TCSAFLUSH: - cmd = TCSETSF; - break; - default: - __set_errno (EINVAL); - return -1; - } - - return __ioctl (fd, cmd, termios_p); -} -libc_hidden_def (tcsetattr) diff --git a/sysdeps/unix/bsd/sun/sunos4/wait.c b/sysdeps/unix/bsd/sun/sunos4/wait.c deleted file mode 100644 index 79d5458..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/wait.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/sun/sunos4/wait3.c b/sysdeps/unix/bsd/sun/sunos4/wait3.c deleted file mode 100644 index 0b3bdee..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/wait3.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/sun/sunos4/wait4.c b/sysdeps/unix/bsd/sun/sunos4/wait4.c deleted file mode 100644 index 097c15e..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/wait4.c +++ /dev/null @@ -1,50 +0,0 @@ -/* This implements wait4 with the 4.4 BSD semantics (also those documented in - SunOS 4.1) on top of SunOS's wait4 system call, which has semantics - different from those documented. Go Sun! - Copyright (C) 1991,1992,1993,1995,1997,2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern pid_t __wait4_syscall (pid_t pid, __WAIT_STATUS_DEFN stat_loc, - int options, struct rusage *usage); - -pid_t -__wait4 (pid, stat_loc, options, usage) - pid_t pid; - __WAIT_STATUS_DEFN stat_loc; - int options; - struct rusage *usage; -{ - switch (pid) - { - case WAIT_ANY: - pid = 0; - break; - - case WAIT_MYPGRP: - pid = - getpgrp (); - break; - } - - return __wait4_syscall (pid, stat_loc, options, usage); -} - -weak_alias (__wait4, wait4) diff --git a/sysdeps/unix/bsd/sun/sunos4/waitpid.c b/sysdeps/unix/bsd/sun/sunos4/waitpid.c deleted file mode 100644 index 8378982..0000000 --- a/sysdeps/unix/bsd/sun/sunos4/waitpid.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/sun/syscalls.list b/sysdeps/unix/bsd/sun/syscalls.list deleted file mode 100644 index 079aa91..0000000 --- a/sysdeps/unix/bsd/sun/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -sigvec - sigvec 3 __raw_sigvec diff --git a/sysdeps/unix/bsd/tahoe/Implies b/sysdeps/unix/bsd/tahoe/Implies deleted file mode 100644 index a7ecf58..0000000 --- a/sysdeps/unix/bsd/tahoe/Implies +++ /dev/null @@ -1 +0,0 @@ -unix/bsd/vax diff --git a/sysdeps/unix/bsd/tahoe/sysdep.h b/sysdeps/unix/bsd/tahoe/sysdep.h deleted file mode 100644 index b875906..0000000 --- a/sysdeps/unix/bsd/tahoe/sysdep.h +++ /dev/null @@ -1,5 +0,0 @@ -/* The Tahoe is just like the Vax, except the - `chmk' instruction is called `kcall'. */ - -#define chmk kcall -#include diff --git a/sysdeps/unix/bsd/ultrix4/Implies b/sysdeps/unix/bsd/ultrix4/Implies deleted file mode 100644 index b0e08ef..0000000 --- a/sysdeps/unix/bsd/ultrix4/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# Ultrix 4 has the canonical set of system calls. -unix/mman diff --git a/sysdeps/unix/bsd/ultrix4/Makefile b/sysdeps/unix/bsd/ultrix4/Makefile deleted file mode 100644 index 26b9034..0000000 --- a/sysdeps/unix/bsd/ultrix4/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),posix) -sysdep_routines := $(sysdep_routines) getsysinfo -endif diff --git a/sysdeps/unix/bsd/ultrix4/bits/fcntl.h b/sysdeps/unix/bsd/ultrix4/bits/fcntl.h deleted file mode 100644 index 6392bc3..0000000 --- a/sysdeps/unix/bsd/ultrix4/bits/fcntl.h +++ /dev/null @@ -1,122 +0,0 @@ -/* O_*, F_*, FD_* bit values for Ultrix 4. - Copyright (C) 1991, 1992, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _FCNTL_H -#error "Never use directly; include instead." -#endif - - -/* File access modes for `open' and `fcntl'. */ -#define O_RDONLY 0 /* Open read-only. */ -#define O_WRONLY 1 /* Open write-only. */ -#define O_RDWR 2 /* Open read/write. */ - - -/* Bits OR'd into the second argument to open. */ -#define O_CREAT 0x0200 /* Create file if it doesn't exist. */ -#define O_EXCL 0x0800 /* Fail if file already exists. */ -#define O_TRUNC 0x0400 /* Truncate file to zero length. */ -#ifdef __USE_MISC -#define O_ASYNC 0x0040 /* Send SIGIO to owner when data is ready. */ -#define O_FSYNC 0x8000 /* Synchronous writes. */ -#define O_SYNC O_FSYNC -#define O_BLKINUSE 0x1000 /* Block if "in use". */ -#define O_BLKANDSET 0x3000 /* Block, test and set "in use" flag. */ -#define O_TERMIO 0x40000 /* "termio style program". */ -#endif -#define O_NOCTTY 0x80000 /* Don't assign a controlling terminal. */ - -/* File status flags for `open' and `fcntl'. */ -#define O_APPEND 0x0008 /* Writes append to the file. */ -#define O_NONBLOCK 0x20000 /* Non-blocking I/O. */ - -#ifdef __USE_BSD -#define O_NDELAY 0x0004 -#endif - -#ifdef __USE_BSD -/* Bits in the file status flags returned by F_GETFL. - These are all the O_* flags, plus FREAD and FWRITE, which are - independent bits set by which of O_RDONLY, O_WRONLY, and O_RDWR, was - given to `open'. */ -#define FREAD 1 -#define FWRITE 2 - -/* Traditional BSD names the O_* bits. */ -#define FASYNC O_ASYNC -#define FCREAT O_CREAT -#define FEXCL O_EXCL -#define FTRUNC O_TRUNC -#define FNOCTTY O_NOCTTY -#define FFSYNC O_FSYNC -#define FSYNC O_SYNC -#define FAPPEND O_APPEND -#define FNONBLOCK O_NONBLOCK -#define FNDELAY O_NDELAY -#define FNBLOCK O_NONBLOCK -#define FTERMIO O_TERMIO -#define FNOCTTY O_NOCTTY -#define FSYNCRON O_FSYNC -#define FBLKINUSE O_BLKINUSE -#define FBLKANDSET O_BLKANDSET -#endif - -/* Mask for file access modes. This is system-dependent in case - some system ever wants to define some other flavor of access. */ -#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#if defined __USE_BSD || defined __USE_UNIX98 -#define F_GETOWN 5 /* Get owner (receiver of SIGIO). */ -#define F_SETOWN 6 /* Set owner (receiver of SIGIO). */ -#endif -#define F_GETLK 7 /* Get record locking info. */ -#define F_SETLK 8 /* Set record locking info (non-blocking). */ -#define F_SETLKW 9 /* Set record locking info (blocking). */ -#ifdef __USE_MISC -#define F_SETSYN 10 /* Set synchronous writing. */ -#define F_CLRSYN 10 /* Clear synchronous writing. */ -#endif - -/* File descriptor flags used with F_GETFD and F_SETFD. */ -#define FD_CLOEXEC 1 /* Close on exec. */ - - -#include - -/* The structure describing an advisory lock. This is the type of the third - argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests. */ -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ - __pid_t l_pid; /* Process holding the lock. */ - }; - -/* Values for the `l_type' field of a `struct flock'. */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ diff --git a/sysdeps/unix/bsd/ultrix4/bits/mman.h b/sysdeps/unix/bsd/ultrix4/bits/mman.h deleted file mode 100644 index 918b535..0000000 --- a/sysdeps/unix/bsd/ultrix4/bits/mman.h +++ /dev/null @@ -1,51 +0,0 @@ -/* Definitions for BSD-style memory management. Ultrix 4 version. - Copyright (C) 1994, 1995, 1996, 1997, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_MMAN_H -#define _BITS_MMAN_H 1 - -/* Protections are chosen from these bits, OR'd together. The - implementation does not necessarily support PROT_EXEC or PROT_WRITE - without PROT_READ. The only guarantees are that no writing will be - allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ - -#define PROT_NONE 0x00 /* No access. */ -#define PROT_READ 0x01 /* Pages can be read. */ -#define PROT_WRITE 0x02 /* Pages can be written. */ -#define PROT_EXEC 0x04 /* Pages can be executed. */ -/* Sharing types (must choose one and only one of these). */ -#define MAP_SHARED 0x01 /* Share changes. */ -#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */ -#ifdef __USE_BSD -# define MAP_TYPE 0x0f /* Mask for sharing type. */ -#endif - -/* Other flags. */ -#define MAP_FIXED 0x10 /* Map address must be exactly as requested. */ - -/* Advice to `madvise'. */ -#ifdef __USE_BSD -# define MADV_NORMAL 0 /* No further special treatment. */ -# define MADV_RANDOM 1 /* Expect random page references. */ -# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define MADV_WILLNEED 3 /* Will need these pages. */ -# define MADV_DONTNEED 4 /* Don't need these pages. */ -#endif - -#endif /* bits/mman.h */ diff --git a/sysdeps/unix/bsd/ultrix4/bits/posix_opt.h b/sysdeps/unix/bsd/ultrix4/bits/posix_opt.h deleted file mode 100644 index aba6852..0000000 --- a/sysdeps/unix/bsd/ultrix4/bits/posix_opt.h +++ /dev/null @@ -1,24 +0,0 @@ -/* Copyright (C) 1992, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ian Lance Taylor (ian@airs.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define _POSIX_JOB_CONTROL 1 -#define _POSIX_SAVED_IDS 1 -#define _POSIX_CHOWN_RESTRICTED 1 -#define _POSIX_NO_TRUNC 1 -#define _POSIX_VDISABLE ((unsigned char) -1) diff --git a/sysdeps/unix/bsd/ultrix4/bits/utsname.h b/sysdeps/unix/bsd/ultrix4/bits/utsname.h deleted file mode 100644 index 5782047..0000000 --- a/sysdeps/unix/bsd/ultrix4/bits/utsname.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 1997, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UTSNAME_H -# error "Never include directly; use instead." -#endif - -#define _UTSNAME_LENGTH 32 diff --git a/sysdeps/unix/bsd/ultrix4/mips/Makefile b/sysdeps/unix/bsd/ultrix4/mips/Makefile deleted file mode 100644 index 74e3b04..0000000 --- a/sysdeps/unix/bsd/ultrix4/mips/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),signal) -sysdep_routines := $(sysdep_routines) __handler -endif diff --git a/sysdeps/unix/bsd/ultrix4/mips/__handler.S b/sysdeps/unix/bsd/ultrix4/mips/__handler.S deleted file mode 100644 index 2b815c4..0000000 --- a/sysdeps/unix/bsd/ultrix4/mips/__handler.S +++ /dev/null @@ -1,115 +0,0 @@ -/* Copyright (C) 1992, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@zen.org). - Also hacked by Ian Lance Taylor (ian@airs.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* This function saves all the registers, calls the - user function, and then executes a sigreturn system call. The - sigreturn call wants the address of a sigcontext structure. This - is all hideously system dependent and, for all intents and - purposes, undocumented. - - When we enter here, a3 holds the user's signal handler. We are - supposed to fill in the context given in a2, and then pass it and - the first two arguments to the user's function. If the user's - function returns, we execute a sigreturn system call. - - The sc_onstack, sc_mask and sc_pc elements of the context are - already set by the kernel. For some reason we don't have to save - the floating point state or the coprocessor state; the kernel may - have saved them for us, or it doesn't use them. */ - -.set noat -ENTRY (__handler) - /* Store zero and the asm temp reg. */ - sw $0, 12(a2) - sw AT, 16(a2) - - /* Put v1 in sc_regs[3]. */ - sw v1, 24(a2) - - /* Save the caller saved registers in sc_regs[8..15]. */ - sw t0, 44(a2) - sw t1, 48(a2) - sw t2, 52(a2) - sw t3, 56(a2) - sw t4, 60(a2) - sw t5, 64(a2) - sw t6, 68(a2) - sw t7, 72(a2) - - /* Save the callee saved registers in sc_regs[16..23]. */ - sw s0, 76(a2) - sw s1, 80(a2) - sw s2, 84(a2) - sw s3, 88(a2) - sw s4, 92(a2) - sw s5, 96(a2) - sw s6, 100(a2) - sw s7, 104(a2) - - /* Save the code generator registers in sc_regs[24] & sc_regs[25]. */ - sw t8, 108(a2) - sw t9, 112(a2) - - /* Save the kernel temp regs in sc_regs[26] & sc_regs[27]. */ - sw k0, 116(a2) - sw k1, 120(a2) - - /* Save the global pointer in sc_regs[28]. */ - sw gp, 124(a2) - - /* ... and also the return address in sc_regs[31]. */ - sw ra, 136(a2) - - /* Note: we don't save the stack pointer in sc_regs[29]; - instead, we use the one that was already there. */ -#if 0 - sw sp, 128(a2) -#endif - - /* Save the floating pointer in sc_regs[30]. */ - sw $fp, 132(a2) - - /* Save the mul/div stuff in sc_mdlo and sc_mdhi. */ - mflo t0 - sw t0, 140(a2) - mfhi t0 - sw t0, 144(a2) - - /* Move the stack up four. This will save the context. */ - addu sp, sp, -32 - sw a2, 16(sp) - - /* Call their handler with the signal, code, and context; note - this will clobber the context. */ - .set noreorder - jal ra, a3 - nop - .set reorder - - /* When we come back, restore the context and pass it right - on into sigreturn(). */ - lw a0, 16(sp) - - /* Do a sigreturn syscall; this doesn't return. */ - la v0, __sigreturn - jal ra, v0 - .end __handler diff --git a/sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h b/sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h deleted file mode 100644 index 3674651..0000000 --- a/sysdeps/unix/bsd/ultrix4/mips/bits/sigcontext.h +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright (C) 1992, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never use directly; include instead." -#endif - -/* Note that ANY change to this instantly implies a change to __handler.S. */ - -struct sigcontext - { - /* Nonzero if running on signal stack. */ - int sc_onstack; - - /* Signal mask to restore. */ - __sigset_t sc_mask; - - /* Program counter when the signal hit. */ - __ptr_t sc_pc; - - /* Registers 0 through 31. */ - int sc_regs[32]; - - /* mul/div low and hi; these aren't part of a jmp_buf, but are part of the - sigcontext and are referenced from the signal trampoline code. */ - int sc_mdlo; - int sc_mdhi; - - /* Flag to see if the FP's been used. */ - int sc_ownedfp; - - /* Floating point registers 0 to 31. */ - int sc_fpregs[32]; - /* Control & status register for FP. */ - int sc_fpc_csr; - - /* Exception instruction register for FP. */ - int sc_fpc_eir; - - /* The coprocessor's cause register. */ - int sc_cause; - - /* CPU bad virtual address. */ - __ptr_t sc_badvaddr; - - /* CPU board bad physical address. */ - __ptr_t sc_badpaddr; - }; diff --git a/sysdeps/unix/bsd/ultrix4/mips/sigvec.c b/sysdeps/unix/bsd/ultrix4/mips/sigvec.c deleted file mode 100644 index 5775c9a..0000000 --- a/sysdeps/unix/bsd/ultrix4/mips/sigvec.c +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1992, 1996, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* The sigvec system call on MIPS Ultrix takes an additional - parameter, which is the address that is actually called when the - signal occurs. - - When a signal occurs, we arrange for the kernel to call __handler. - That will save the frame and stack pointers into the context, and - then jump to this routine. See __handler.S. - - This code is based on sysdeps/unix/bsd/sun4/sigtramp.c, but it's - different because since we get passed the user signal handler we - don't actually need a trampoline. */ - -#include -#include -#include - -/* The user's signal handler is called with three arguments. */ -typedef void (*handler_type) (int sig, int code, struct sigcontext *); - -extern int __raw_sigvec (int sig, CONST struct sigvec *vec, - struct sigvec *ovec, - void (*)(int sig, int code, - struct sigcontext *, - handler_type)); - -extern void __handler (int sig, int code, - struct sigcontext *, - handler_type); - -int -__sigvec (sig, vec, ovec) - int sig; - const struct sigvec *vec; - struct sigvec *ovec; -{ - return __raw_sigvec (sig, vec, ovec, __handler); -} diff --git a/sysdeps/unix/bsd/ultrix4/mips/start.S b/sysdeps/unix/bsd/ultrix4/mips/start.S deleted file mode 100644 index a88268a..0000000 --- a/sysdeps/unix/bsd/ultrix4/mips/start.S +++ /dev/null @@ -1,87 +0,0 @@ -/* Copyright (C) 1993, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -ENTRY(__start) - .set noreorder - - /* The first thing on the stack is argc. */ - lw s0, 0(sp) - nop - - /* Set up the global pointer. */ - la gp, _gp - - /* Then set up argv. */ - addiu s1, sp, 4 - - /* To compute where envp is, first we have to jump ahead four - bytes from what argv was. This will bring us ahead, so we don't - need to compute the NULL at the end of argv later. */ - addiu v1, s1, 4 - - /* Now, compute the space to skip given the number of arguments - we've got. We do this by multiplying argc by 4. */ - sll v0, s0, 2 - - /* Now, add (argv+4) with the space to skip...that's envp. */ - addu s2, v1, v0 - - /* __environ = envp; */ - sw s2, __environ - - addiu sp, sp, -24 - - /* __libc_init (argc, argv, envp); */ - move a0, s0 - move a1, s1 - jal __libc_init - move a2, s2 - - /* errno = 0; */ - sw zero, errno - - /* exit (main (argc, argv, envp)); */ - move a0, s0 - move a1, s1 - jal main - move a2, s2 - - /* Make the value returned by main be the argument to exit. */ - jal exit - move a0, v0 - .end __start diff --git a/sysdeps/unix/bsd/ultrix4/mips/syscalls.list b/sysdeps/unix/bsd/ultrix4/mips/syscalls.list deleted file mode 100644 index f7d0bba..0000000 --- a/sysdeps/unix/bsd/ultrix4/mips/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -raw-sigvec sigvec sigvec 4 __raw_sigvec diff --git a/sysdeps/unix/bsd/ultrix4/mips/sysdep.h b/sysdeps/unix/bsd/ultrix4/mips/sysdep.h deleted file mode 100644 index 09b69ff..0000000 --- a/sysdeps/unix/bsd/ultrix4/mips/sysdep.h +++ /dev/null @@ -1,3 +0,0 @@ -#define NO_UNDERSCORES - -#include diff --git a/sysdeps/unix/bsd/ultrix4/mips/vfork.S b/sysdeps/unix/bsd/ultrix4/mips/vfork.S deleted file mode 100644 index d413e45..0000000 --- a/sysdeps/unix/bsd/ultrix4/mips/vfork.S +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1992, 1995, 1997, 2002 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifndef SYS_vfork -#define SYS_vfork 66 -#endif - -SYSCALL__ (vfork, 0) - beq v1, zero, parent /* Branch if parent. */ - nop - move v0, zero -parent: - ret - nop - .end __vfork -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/ultrix4/syscalls.list b/sysdeps/unix/bsd/ultrix4/syscalls.list deleted file mode 100644 index 68df0a7..0000000 --- a/sysdeps/unix/bsd/ultrix4/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -getsysinfo sysconf getsysinfo 5 __getsysinfo diff --git a/sysdeps/unix/bsd/ultrix4/sysconf.c b/sysdeps/unix/bsd/ultrix4/sysconf.c deleted file mode 100644 index 0982fc8..0000000 --- a/sysdeps/unix/bsd/ultrix4/sysconf.c +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright (C) 1992, 1995, 1996, 1997, 2004 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ian Lance Taylor (ian@airs.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* On Ultrix we can use the getsysinfo call to get the right return - value for _SC_CHILD_MAX. Everything else is from , - which the default sysconf already knows how to handle. */ - -#include -#include - -/* This is an Ultrix header file. */ -#include - -extern int __getsysinfo (unsigned int op, void *buffer, - size_t nbytes, int *start, void *arg); -extern long int __default_sysconf (int name); - -long int -__sysconf (name) - int name; -{ - if (name == _SC_CHILD_MAX) - { - int save = errno; - int start = 0; - int ret; - - /* getsysinfo returns the number of values it put into the - buffer, or 0 if not available, or -1 on error. */ - if (__getsysinfo (GSI_MAX_UPROCS, &ret, sizeof (ret), &start, - (void *) 0) > 0) - { - __set_errno (save); - return ret; - } - - __set_errno (save); - } - - return __default_sysconf (name); -} - -#define __sysconf __default_sysconf - -#include diff --git a/sysdeps/unix/bsd/ultrix4/system.c b/sysdeps/unix/bsd/ultrix4/system.c deleted file mode 100644 index b133fe7..0000000 --- a/sysdeps/unix/bsd/ultrix4/system.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Ultrix 4 does have `waitpid'. Avoid unix/system.c, which says we don't. */ -#include diff --git a/sysdeps/unix/bsd/ultrix4/wait3.S b/sysdeps/unix/bsd/ultrix4/wait3.S deleted file mode 100644 index b20ecfa..0000000 --- a/sysdeps/unix/bsd/ultrix4/wait3.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1992, 1995, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -SYSCALL__ (wait3, 3) - ret - .end __wait3 - -weak_alias (__wait3, wait3) diff --git a/sysdeps/unix/bsd/vax/brk.S b/sysdeps/unix/bsd/vax/brk.S deleted file mode 100644 index 52377bc..0000000 --- a/sysdeps/unix/bsd/vax/brk.S +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1991, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifndef SYS_brk -#define SYS_brk 17 -#endif - -#ifndef HAVE_GNU_LD -#define __end _end -#endif - -.data -.globl ___curbrk -___curbrk: - .long __end - -.text -ENTRY (__brk) - cmpl 4(ap), __end - bgeq 0f - movl __env, 4(ap) -0: chmk $SYS_brk - bcs 1f - movl 4(ap), ___curbrk - clrl r0 - ret -1: - jmp syscall_error - -weak_alias (__brk, brk) diff --git a/sysdeps/unix/bsd/vax/dl-brk.S b/sysdeps/unix/bsd/vax/dl-brk.S deleted file mode 100644 index eeb9654..0000000 --- a/sysdeps/unix/bsd/vax/dl-brk.S +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/bsd/vax/pipe.S b/sysdeps/unix/bsd/vax/pipe.S deleted file mode 100644 index 3ed7842..0000000 --- a/sysdeps/unix/bsd/vax/pipe.S +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1997, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -SYSCALL__ (pipe, 1) - movl 4(ap), r2 - movl r0, (r2)+ - movl r1, (r2) - clrl r0 - ret - -libc_hidden_def (__pipe) -weak_alias (__pipe, pipe) diff --git a/sysdeps/unix/bsd/vax/sysdep.S b/sysdeps/unix/bsd/vax/sysdep.S deleted file mode 100644 index 786aed2..0000000 --- a/sysdeps/unix/bsd/vax/sysdep.S +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1991, 1992, 1993, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define _ERRNO_H -#include - -.globl _errno -.globl syscall_error -syscall_error: -#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN - /* We translate the system's EWOULDBLOCK error into EAGAIN. - The GNU C library always defines EWOULDBLOCK==EAGAIN. - EWOULDBLOCK_sys is the original number. */ - cmpl r0, $EWOULDBLOCK_sys - bne 0f - movl $EAGAIN, r0 -#endif -0: movl r0, _errno - mnegl $1, r0 - ret diff --git a/sysdeps/unix/bsd/vax/sysdep.h b/sysdeps/unix/bsd/vax/sysdep.h deleted file mode 100644 index 563ad26..0000000 --- a/sysdeps/unix/bsd/vax/sysdep.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifdef __ASSEMBLER__ - -#ifdef __STDC__ -#define ENTRY(name) \ - .globl _##name; \ - .even; \ - _##name##: -#else -#define ENTRY(name) \ - .globl _/**/name; \ - .even; \ - _/**/name/**/: -#endif - -#ifdef __STDC__ -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error \ - error: jmp syscall_error; \ - ENTRY (name) \ - chmk $SYS_##syscall_name \ - bcs error -#else -#define PSEUDO(name, syscall_name, args) \ - .even; \ - .globl syscall_error \ - error: jmp syscall_error; \ - ENTRY (name) \ - chmk $SYS_/**/syscall_name \ - bcs error -#endif - -#define MOVE(x,y) movl x , y - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/bsd/vax/vfork.S b/sysdeps/unix/bsd/vax/vfork.S deleted file mode 100644 index 6c7e754..0000000 --- a/sysdeps/unix/bsd/vax/vfork.S +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 1997, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#ifndef SYS_vfork -#define SYS_vfork 66 -#endif - -/* Clone the calling process, but without copying the whole address space. - The calling process is suspended until the new process exits or is - replaced by a call to `execve'. Return -1 for errors, 0 to the new process, - and the process ID of the new process to the old process. */ -.globl ___vfork -___vfork: - .word 0 - /* Save our return address in R2, and return to code below. */ - movl 16(fp), r2 - movab unwind, 16(fp) - ret -unwind: - /* Do the system call. */ - chmk $SYS_vfork - bcs error - - tstl r1 - beq parent - - /* We are the child. Return zero. */ - clrl r0 - - /* Return to the saved address. */ -parent: jmp (r2) - -.globl _errno -error: - movl r0, _errno - mnegl $1, r0 - jmp (r2) -libc_hidden_def (__vfork) - -weak_alias (__vfork, vfork) diff --git a/sysdeps/unix/bsd/vax/wait.S b/sysdeps/unix/bsd/vax/wait.S deleted file mode 100644 index 19396f0..0000000 --- a/sysdeps/unix/bsd/vax/wait.S +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -SYSCALL__ (wait, 1) - movl 4(ap), r2 - beq 1f - movl r1, (r2) -1: ret - -weak_alias (__wait, wait) diff --git a/sysdeps/unix/bsd/vax/wait3.S b/sysdeps/unix/bsd/vax/wait3.S deleted file mode 100644 index e0ceec1..0000000 --- a/sysdeps/unix/bsd/vax/wait3.S +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -ENTRY(___wait3) - movel 8(ap), r1 - movel 12(ap), r0 - /* Set all condition codes to tell the kernel this is wait3. */ - bispsw $15 - chmk $SYS_wait - bcs error - - movl 4(ap), r2 - beq 1f - movl r1, (r2) -1: ret - -.globl syscall_error -error: jmp syscall_error - -weak_alias (__wait3, wait3) diff --git a/sysdeps/unix/sysv/aix/Implies b/sysdeps/unix/sysv/aix/Implies deleted file mode 100644 index 279438d..0000000 --- a/sysdeps/unix/sysv/aix/Implies +++ /dev/null @@ -1,8 +0,0 @@ -# AIX shares most of the syscalls which are also common to BSD and SVR4. -unix/common - -# AIX has all functions of the mmap family which are described in POSIX.4. -unix/mman - -# AIX has network support in the kernel. -unix/inet diff --git a/sysdeps/unix/sysv/aix/Makefile b/sysdeps/unix/sysv/aix/Makefile deleted file mode 100644 index 2da5311..0000000 --- a/sysdeps/unix/sysv/aix/Makefile +++ /dev/null @@ -1,41 +0,0 @@ -# XXX For now always link against the syscalls export file. -# This is a hack until the import/export stuff is worked out. -+postctor += /lib/syscalls.exp - -ifeq ($(subdir),csu) - -sysdep_routines += aix-syscalls - -# -# The foo.c is a workaround for the linker complaining about no input files. -$(objpfx)aix-syscalls.o : /lib/syscalls.exp - echo "static int a;" > foo.c - $(CC) -c foo.c - ld -bM:SRE -bpT:0x00000000 -bpD:0x00000000 -bnoentry -bI:/lib/syscalls.exp -bE:/lib/syscalls.exp foo.o -o $@ - rm foo.c foo.o - - -endif - -ifeq ($(subdir),misc) -sysdep_routines += dl-error dl-support dl-libc dl-open dl-sym \ - dl-close dl-addr uitrunc - -static-only-routines = gprsave0 gprrest0 gprsave1 gprrest1 fprsave fprrest -endif - -ifeq ($(subdir),login) -sysdep_routines += setutxent getutxent endutxent getutxid getutxline \ - pututxline utmpxname - -#sysdep_headers += utmpx.h bits/utmpx.h -#sysdep_headers += bits/utmp.h bits/utmpx.h -endif - -# Don't compile the ctype glue code, since there is no old non-GNU C library. -inhibit-glue = yes - -# XXX Don't know yet why this is needed in the moment. -ifeq ($(subdir),timezone) -CPPFLAGS-zic.c = -Dunix -endif diff --git a/sysdeps/unix/sysv/aix/Versions b/sysdeps/unix/sysv/aix/Versions deleted file mode 100644 index 4c32bbb..0000000 --- a/sysdeps/unix/sysv/aix/Versions +++ /dev/null @@ -1,6 +0,0 @@ -libc { - GLIBC_2.2 { - # u* - umount; - } -} diff --git a/sysdeps/unix/sysv/aix/_exit.c b/sysdeps/unix/sysv/aix/_exit.c deleted file mode 100644 index 510f3ae..0000000 --- a/sysdeps/unix/sysv/aix/_exit.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - - -/* We define only thr alias introduced in ISO C99 because _exit itself - is a system call. */ -void -_Exit (status) - int status; -{ - _exit (status); -} diff --git a/sysdeps/unix/sysv/aix/accept.c b/sysdeps/unix/sysv/aix/accept.c deleted file mode 100644 index 73f1149..0000000 --- a/sysdeps/unix/sysv/aix/accept.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern int naccept (int s, void *uap_name, int *uap_anamelen); - -int -accept (int fd, __SOCKADDR_ARG addr, socklen_t *addr_len) -{ - assert (sizeof (socklen_t) == sizeof (int)); - return naccept (fd, addr.__sockaddr__, addr_len); -} -libc_hidden_def (accept) diff --git a/sysdeps/unix/sysv/aix/access.c b/sysdeps/unix/sysv/aix/access.c deleted file mode 100644 index 97f8e68..0000000 --- a/sysdeps/unix/sysv/aix/access.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ACC_INVOKER 0x01 - -extern int accessx (const char *name, int type, int who); - -int -__access (const char *name, int type) -{ - return accessx (name, type, ACC_INVOKER); -} -strong_alias (__access, access) diff --git a/sysdeps/unix/sysv/aix/bind.c b/sysdeps/unix/sysv/aix/bind.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/bind.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/bits/dirent.h b/sysdeps/unix/sysv/aix/bits/dirent.h deleted file mode 100644 index 48eeb32..0000000 --- a/sysdeps/unix/sysv/aix/bits/dirent.h +++ /dev/null @@ -1,55 +0,0 @@ -/* Directory entry structure `struct dirent'. Old System V version. - Copyright (C) 1996, 1997, 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _DIRENT_H -# error "Never use directly; include instead." -#endif - -struct dirent - { -#ifndef __USE_FILE_OFFSET64 - __off_t d_off; - __ino_t d_ino; -#else - __off64_t d_off; - __ino64_t d_ino; -#endif - unsigned short int d_reclen; - unsigned short int d_namlen; - char d_name[256]; - }; - -#ifdef __USE_LARGEFILE64 -struct dirent64 - { - __off64_t d_off; - __ino64_t d_ino; - unsigned short int d_reclen; - unsigned short int d_namlen; - char d_name[256]; - }; -#endif - -#define d_fileno d_ino /* Backwards compatibility. */ -#define d_offset d_off - -#define _DIRENT_HAVE_D_NAMLEN -#define _DIRENT_HAVE_D_RECLEN -#define _DIRENT_HAVE_D_OFF -#undef _DIRENT_HAVE_D_TYPE diff --git a/sysdeps/unix/sysv/aix/bits/dlfcn.h b/sysdeps/unix/sysv/aix/bits/dlfcn.h deleted file mode 100644 index e184175..0000000 --- a/sysdeps/unix/sysv/aix/bits/dlfcn.h +++ /dev/null @@ -1,47 +0,0 @@ -/* AIX dependent definitions for run-time dynamic loading. - Copyright (C) 1996, 1997, 1998, 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _DLFCN_H -# error "Never use directly; include instead." -#endif - -/* The MODE argument to `dlopen' contains one of the following: */ -#define RTLD_LAZY 0x004 /* Lazy function call binding. */ -#define RTLD_NOW 0x002 /* Immediate function call binding. */ -#define RTLD_BINDING_MASK 0x6 /* Mask of binding time value. */ - -/* If the following bit is set in the MODE argument to `dlopen', - the symbols of the loaded object and its dependencies are made - visible as if the object were linked directly into the program. */ -#define RTLD_GLOBAL 0x10000 - -/* Unix98 demands the following flag which is the inverse to RTLD_GLOBAL. - The implementation does this by default and so we can define the - value to zero. */ -#define RTLD_LOCAL 0x800000 - -#ifdef __USE_GNU -/* These are extensions of the AIX kernel. */ -# define RTLD_NOAUTODEFER 0x020000 -# define RTLD_MEMBER 0x040000 -# define RTLD_UNIX_LATEST 0x100000 -#endif - -/* No support to profile shared libraries available. */ -# define DL_CALL_FCT(fctp, args) fctp args diff --git a/sysdeps/unix/sysv/aix/bits/endian.h b/sysdeps/unix/sysv/aix/bits/endian.h deleted file mode 100644 index 8e9b98e..0000000 --- a/sysdeps/unix/sysv/aix/bits/endian.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _ENDIAN_H -# error "Never use directly; include instead." -#endif - -#define __BYTE_ORDER __BIG_ENDIAN diff --git a/sysdeps/unix/sysv/aix/bits/errno.h b/sysdeps/unix/sysv/aix/bits/errno.h deleted file mode 100644 index 9f22a96..0000000 --- a/sysdeps/unix/sysv/aix/bits/errno.h +++ /dev/null @@ -1,153 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -#undef __need_Emath -#define __Emath_defined 1 - -#endif - -#ifdef _ERRNO_H -# undef EDOM -# undef EILSEQ -# undef ERANGE - -# define EPERM 1 /* Operation not permitted. */ -# define ENOENT 2 /* No such file or directory. */ -# define ESRCH 3 /* No such process. */ -# define EINTR 4 /* interrupted system call. */ -# define EIO 5 /* I/O error. */ -# define ENXIO 6 /* No such device or address. */ -# define E2BIG 7 /* Arg list too long. */ -# define ENOEXEC 8 /* Exec format error. */ -# define EBADF 9 /* Bad file descriptor. */ -# define ECHILD 10 /* No child processes. */ -# define EAGAIN 11 /* Resource temporarily unavailable. */ -# define ENOMEM 12 /* Not enough space. */ -# define EACCES 13 /* Permission denied. */ -# define EFAULT 14 /* Bad address. */ -# define ENOTBLK 15 /* Block device required. */ -# define EBUSY 16 /* Resource busy. */ -# define EEXIST 17 /* File exists. */ -# define EXDEV 18 /* Improper link. */ -# define ENODEV 19 /* No such device. */ -# define ENOTDIR 20 /* Not a directory. */ -# define EISDIR 21 /* Is a directory. */ -# define EINVAL 22 /* Invalid argument. */ -# define ENFILE 23 /* Too many open files in system. */ -# define EMFILE 24 /* Too many open files. */ -# define ENOTTY 25 /* Inappropriate I/O control operation. */ -# define ETXTBSY 26 /* Text file busy. */ -# define EFBIG 27 /* File too large. */ -# define ENOSPC 28 /* No space left on device. */ -# define ESPIPE 29 /* Invalid seek. */ -# define EROFS 30 /* Read only file system. */ -# define EMLINK 31 /* Too many links. */ -# define EPIPE 32 /* Broken pipe. */ -# define EDOM 33 /* Domain error within math function. */ -# define ERANGE 34 /* Result too large. */ -# define ENOMSG 35 /* No message of desired type. */ -# define EIDRM 36 /* Identifier removed. */ -# define ECHRNG 37 /* Channel number out of range. */ -# define EL2NSYNC 38 /* Level 2 not synchronized. */ -# define EL3HLT 39 /* Level 3 halted. */ -# define EL3RST 40 /* Level 3 reset. */ -# define ELNRNG 41 /* Link number out of range. */ -# define EUNATCH 42 /* Protocol driver not attached. */ -# define ENOCSI 43 /* No CSI structure available. */ -# define EL2HLT 44 /* Level 2 halted. */ -# define EDEADLK 45 /* Resource deadlock avoided. */ -# define ENOTREADY 46 /* Device not ready. */ -# define EWRPROTECT 47 /* Write-protected media. */ -# define EFORMAT 48 /* Unformatted media. */ -# define ENOLCK 49 /* No locks available. */ -# define ENOCONNECT 50 /* No connection. */ -# define ESTALE 52 /* No filesystem. */ -# define EDIST 53 /* Old, currently unused AIX errno. */ -# if __USE_XOPEN_EXTENDED -# define EWOULDBLOCK EAGAIN /* Operation would block. */ -# else /* __USE_XOPEN_EXTENDED */ -# define EWOULDBLOCK 54 -# endif /* __USE_XOPEN_EXTENDED */ -# define EINPROGRESS 55 /* Operation now in progress. */ -# define EALREADY 56 /* Operation already in progress. */ -# define ENOTSOCK 57 /* Socket operation on non-socket. */ -# define EDESTADDRREQ 58 /* Destination address required. */ -# define EDESTADDREQ EDESTADDRREQ /* Destination address required. */ -# define EMSGSIZE 59 /* Message too long. */ -# define EPROTOTYPE 60 /* Protocol wrong type for socket. */ -# define ENOPROTOOPT 61 /* Protocol not available. */ -# define EPROTONOSUPPORT 62 /* Protocol not supported. */ -# define ESOCKTNOSUPPORT 63 /* Socket type not supported. */ -# define EOPNOTSUPP 64 /* Operation not supported on socket. */ -# define EPFNOSUPPORT 65 /* Protocol family not supported. */ -# define EAFNOSUPPORT 66 /* Address family not supported by protocol - family. */ -# define EADDRINUSE 67 /* Address already in use. */ -# define EADDRNOTAVAIL 68 /* Can't assign requested address. */ -# define ENETDOWN 69 /* Network is down. */ -# define ENETUNREACH 70 /* Network is unreachable. */ -# define ENETRESET 71 /* Network dropped connection on reset. */ -# define ECONNABORTED 72 /* Software caused connection abort. */ -# define ECONNRESET 73 /* Connection reset by peer. */ -# define ENOBUFS 74 /* No buffer space available. */ -# define EISCONN 75 /* Socket is already connected. */ -# define ENOTCONN 76 /* Socket is not connected. */ -# define ESHUTDOWN 77 /* Can't send after socket shutdown. */ -# define ETIMEDOUT 78 /* Connection timed out. */ -# define ECONNREFUSED 79 /* Connection refused. */ -# define EHOSTDOWN 80 /* Host is down. */ -# define EHOSTUNREACH 81 /* No route to host. */ -# define ERESTART 82 /* Restart the system call. */ -# define EPROCLIM 83 /* Too many processes. */ -# define EUSERS 84 /* Too many users. */ -# define ELOOP 85 /* Too many levels of symbolic links. */ -# define ENAMETOOLONG 86 /* File name too long. */ -# define ENOTEMPTY EEXIST /* Directory not empty. */ -# define EDQUOT 88 /* Disc quota exceeded. */ -# define ECORRUPT 89 /* Invalid file system control data. */ -# define EREMOTE 93 /* Item is not local to host. */ -# define ENOSYS 109 /* Function not implemented POSIX. */ -# define EMEDIA 110 /* Media surface error. */ -# define ESOFT 111 /* I/O completed, but needs relocation. */ -# define ENOATTR 112 /* No attribute found. */ -# define ESAD 113 /* Security authentication denied. */ -# define ENOTRUST 114 /* Not a trusted program. */ -# define ETOOMANYREFS 115 /* Too many references: can't splice. */ -# define EILSEQ 116 /* Invalid wide character. */ -# define ECANCELED 117 /* Asynchronous i/o cancelled. */ -# define ENOSR 118 /* Temp out of streams resources. */ -# define ETIME 119 /* I_STR ioctl timed out. */ -# define EBADMSG 120 /* Wrong message type at stream head. */ -# define EPROTO 121 /* STREAMS protocol error. */ -# define ENODATA 122 /* No message ready at stream head. */ -# define ENOSTR 123 /* Fd is not a stream. */ -# define ECLONEME ERESTART /* This is the way we clone a stream. */ -# define ENOTSUP 124 /* POSIX threads unsupported value. */ -# define EMULTIHOP 125 /* Multihop is not allowed. */ -# define ENOLINK 126 /* The link has been severed. */ -# define EOVERFLOW 127 /* Value too large to be stored in data type.*/ -#endif - -#if !defined _ERRNO_H && defined __need_Emath -# define EDOM 33 /* Math argument out of domain of function. */ -# define EILSEQ 116 /* Illegal byte sequence. */ -# define ERANGE 34 /* Math result not representable. */ -#endif /* !_ERRNO_H && __need_Emath */ diff --git a/sysdeps/unix/sysv/aix/bits/fcntl.h b/sysdeps/unix/sysv/aix/bits/fcntl.h deleted file mode 100644 index d53c0f7..0000000 --- a/sysdeps/unix/sysv/aix/bits/fcntl.h +++ /dev/null @@ -1,137 +0,0 @@ -/* O_*, F_*, FD_* bit values for Linux. - Copyright (C) 1995-1999, 2000, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _FCNTL_H -# error "Never use directly; include instead." -#endif - - -#include - -/* open/fcntl. */ -#define O_ACCMODE 0003 -#define O_RDONLY 00 -#define O_WRONLY 01 -#define O_RDWR 02 -#define O_NONBLOCK 04 -#define O_NDELAY O_NONBLOCK -#define O_APPEND 010 -#define O_SYNC 020 -#define O_FSYNC O_SYNC -#define O_CREAT 0400 /* not fcntl */ -#define O_TRUNC 01000 /* not fcntl */ -#define O_EXCL 02000 /* not fcntl */ -#define O_NOCTTY 04000 /* not fcntl */ -#define O_ASYNC 0400000 - -#ifdef __USE_LARGEFILE64 -# define O_LARGEFILE 0400000000 -#endif - -/* For now Linux has synchronisity options for data and read operations. - We define the symbols here but let them do the same as O_SYNC since - this is a superset. */ -#if defined __USE_POSIX199309 || defined __USE_UNIX98 -# define O_DSYNC 020000000 /* Synchronize data. */ -# define O_RSYNC 010000000 /* Synchronize read operations. */ -#endif - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#ifndef __USE_FILE_OFFSET64 -# define F_GETLK 5 /* Get record locking info. */ -# define F_SETLK 6 /* Set record locking info (non-blocking). */ -# define F_SETLKW 7 /* Set record locking info (blocking). */ -#else -# define F_GETLK 11 /* Get record locking info. */ -# define F_SETLK 12 /* Set record locking info (non-blocking). */ -# define F_SETLKW 13 /* Set record locking info (blocking). */ -#endif - -#ifdef __USE_LARGEFILE64 -# define F_GETLK64 11 /* Get record locking info. */ -# define F_SETLK64 12 /* Set record locking info (non-blocking). */ -# define F_SETLKW64 13 /* Set record locking info (blocking). */ -#endif - -#if defined __USE_BSD || defined __USE_UNIX98 -# define F_SETOWN 8 /* Get owner of socket (receiver of SIGIO). */ -# define F_GETOWN 9 /* Set owner of socket (receiver of SIGIO). */ -#endif - -/* For F_[GET|SET]FD. */ -#define FD_CLOEXEC 1 /* actually anything with low bit set goes */ - -/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ - -#ifdef __USE_BSD -/* Operations for bsd flock(), also used by the kernel implementation */ -# define LOCK_SH 1 /* shared lock */ -# define LOCK_EX 2 /* exclusive lock */ -# define LOCK_NB 4 /* or'd with one of the above to prevent - blocking */ -# define LOCK_UN 8 /* remove lock */ -#endif - -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ -#ifndef __USE_FILE_OFFSET64 - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - unsigned int l_sysid; - __pid_t l_pid; /* Process holding the lock. */ - int l_vfs; -#ifdef __USE_FILE_OFFSET64 - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ -#endif - }; - -#ifdef __USE_LARGEFILE64 -struct flock64 - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - unsigned int l_sysid; - __pid_t l_pid; /* Process holding the lock. */ - int l_vfs; - __off64_t l_start; /* Offset where the lock begins. */ - __off64_t l_len; /* Size of the locked area; zero means until EOF. */ - }; -#endif - -/* Define some more compatibility macros to be backward compatible with - BSD systems which did not managed to hide these kernel macros. */ -#ifdef __USE_BSD -# define FAPPEND O_APPEND -# define FFSYNC O_FSYNC -# define FASYNC O_ASYNC -# define FNONBLOCK O_NONBLOCK -# define FNDELAY O_NDELAY -#endif /* Use BSD. */ diff --git a/sysdeps/unix/sysv/aix/bits/ioctl-types.h b/sysdeps/unix/sysv/aix/bits/ioctl-types.h deleted file mode 100644 index d8fe8c8..0000000 --- a/sysdeps/unix/sysv/aix/bits/ioctl-types.h +++ /dev/null @@ -1,91 +0,0 @@ -/* Structure types for pre-termios terminal ioctls. AIX version. - Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_IOCTL_H -# error "Never use directly; include instead." -#endif - -/* Constants for use with `ioctl'. */ -#define TIOC ('T' << 8) -#define TCGETS (TIOC | 1) -#define TCSETS (TIOC | 2) -#define TCSETSW (TIOC | 3) -#define TCSETSF (TIOC | 4) -#define TCGETA (TIOC | 5) -#define TCSETA (TIOC | 6) -#define TCSETAW (TIOC | 7) -#define TCSETAF (TIOC | 8) -#define TCSBRK (TIOC | 9) -#define TCSBREAK (TIOC | 10) -#define TCXONC (TIOC | 11) -#define TCFLSH (TIOC | 12) -#define TCGLEN (TIOC | 13) -#define TCSLEN (TIOC | 14) -#define TCSAK (TIOC | 15) -#define TCQSAK (TIOC | 16) -#define TCTRUST (TIOC | 17) -#define TCQTRUST (TIOC | 18) -#define TCSMAP (TIOC | 19) -#define TCGMAP (TIOC | 20) -#define TCKEP (TIOC | 21) -#define TCGSAK (TIOC | 22) -#define TCLOOP (TIOC | 23) -#define TCVPD (TIOC | 24) -#define TCREG (TIOC | 25) -#define TCGSTATUS (TIOC | 26) -#define TCSCONTROL (TIOC | 27) -#define TCSCSMAP (TIOC | 28) -#define TCGCSMAP (TIOC | 29) -#define TCMGR TCSAK -#define TCQMGR TCQSAK -#define TIONREAD FIONREAD - - - -struct winsize -{ - unsigned short int ws_row; - unsigned short int ws_col; - unsigned short int ws_xpixel; - unsigned short int ws_ypixel; -}; - -#define NCC 8 -struct termio -{ - unsigned short int c_iflag; /* input mode flags */ - unsigned short int c_oflag; /* output mode flags */ - unsigned short int c_cflag; /* control mode flags */ - unsigned short int c_lflag; /* local mode flags */ - char c_line; /* line discipline */ - unsigned char c_cc[NCC]; /* control characters */ -}; - -/* modem lines */ -#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 diff --git a/sysdeps/unix/sysv/aix/bits/ioctls.h b/sysdeps/unix/sysv/aix/bits/ioctls.h deleted file mode 100644 index 8023c14..0000000 --- a/sysdeps/unix/sysv/aix/bits/ioctls.h +++ /dev/null @@ -1,248 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_IOCTL_H -# error "Never use directly; include instead." -#endif - - -#define IOCPARM_MASK 0x7f /* parameters must be < 128 bytes */ -#define IOC_VOID 0x20000000 /* no parameters */ -#define IOC_OUT 0x40000000 /* copy out parameters */ -#define IOC_IN (0x40000000<<1) /* copy in parameters */ -#define IOC_INOUT (IOC_IN|IOC_OUT) -#define _IO(x,y) (IOC_VOID|(x<<8)|y) -#define _IOR(x,y,t) (IOC_OUT|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y) -#define _IOW(x,y,t) (IOC_IN|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y) -#define _IOWR(x,y,t) (IOC_INOUT|((sizeof(t)&IOCPARM_MASK)<<16)|(x<<8)|y) - -#define TIOCGETD _IOR('t', 0, int) /* get line discipline */ -#define TIOCSETD _IOW('t', 1, int) /* set line discipline */ -#define TIOCHPCL _IO('t', 2) /* hang up on last close */ -#define TIOCMODG _IOR('t', 3, int) /* get modem control state */ -#define TIOCMODS _IOW('t', 4, int) /* set modem control state */ -#define TIOCGETP _IOR('t', 8,struct sgttyb)/* get parameters -- gtty */ -#define TIOCSETP _IOW('t', 9,struct sgttyb)/* set parameters -- stty */ -#define TIOCSETN _IOW('t',10,struct sgttyb)/* as above, but no flushtty */ -#define TIOCEXCL _IO('t', 13) /* set exclusive use of tty */ -#define TIOCNXCL _IO('t', 14) /* reset exclusive use of tty */ -#define TIOCFLUSH _IOW('t', 16, int) /* flush buffers */ -#define TIOCSETC _IOW('t',17,struct tchars)/* set special characters */ -#define TIOCGETC _IOR('t',18,struct tchars)/* get special characters */ -#define TANDEM 0x00000001 /* send stopc on out q full */ -#define CBREAK 0x00000002 /* half-cooked mode */ -#define LCASE 0x00000004 /* simulate lower case */ -#define CRMOD 0x00000010 /* map \r to \r\n on output */ -#define RAW 0x00000020 /* no i/o processing */ -#define ODDP 0x00000040 /* get/send odd parity */ -#define EVENP 0x00000080 /* get/send even parity */ -#define ANYP 0x000000c0 /* get any parity/send none */ -#define CRDELAY 0x00000300 /* \r delay */ -#define TBDELAY 0x00000c00 /* horizontal tab delay */ -#define XTABS 0x00000c00 /* expand tabs on output */ -#define BSDELAY 0x00001000 /* \b delay */ -#define VTDELAY 0x00002000 /* vertical tab delay */ -#define NLDELAY 0x0000c000 /* \n delay */ -#define NL2 0x00008000 /* vt05 */ -#define NL3 0x0000c000 -#define ALLDELAY (NLDELAY|TBDELAY|CRDELAY|VTDELAY|BSDELAY) -#define PRTERA 0x00020000 /* \ ... / erase */ -#define CRTERA 0x00040000 /* " \b " to wipe out char */ -#define TILDE 0x00080000 /* hazeltine tilde kludge */ -#define LITOUT 0x00200000 /* literal output */ -#define CRTBS 0x00400000 /* do backspacing for crt */ -#define MDMBUF 0x00800000 /* dtr pacing */ -#define NOHANG 0x01000000 /* no SIGHUP on carrier drop */ -#define L001000 0x02000000 -#define CRTKIL 0x04000000 /* kill line with " \b " */ -#define PASS8 0x08000000 -#define CTLECH 0x10000000 /* echo control chars as ^X */ -#define DECCTQ 0x40000000 /* only ^Q starts after ^S */ -#define NOFLUSH 0x80000000 /* no output flush on signal */ - - -/* SYS V REL. 4 PTY IOCTLs */ -#define UNLKPT _IO('t',70) /* unlock slave pty */ -#define ISPTM _IO('t',71) /* ret. maj+min of pty master */ -#define ISPTS _IO('t',73) /* return maj+min of slave */ -#define GRTPT _IO('t',74) /* grantpt slave pty*/ -#define RLOGIND _IO('t',75) /* for rlogind protocol in ptydd */ -#define TELNETDP _IO('t',76) /* for telnetd protocol in ptydd */ - -#define TIOCCONS _IOW('t', 98, int) /* become virtual console */ -#define TIOCGSID _IOR('t', 72, int) /* get the tty session id */ - - /* locals, from 127 down */ -#define TIOCLBIS _IOW('t', 127, int) /* bis local mode bits */ -#define TIOCLBIC _IOW('t', 126, int) /* bic local mode bits */ -#define TIOCLSET _IOW('t', 125, int) /* set entire mode word */ -#define TIOCLGET _IOR('t', 124, int) /* get local modes */ -#define LCRTBS (CRTBS>>16) -#define LPRTERA (PRTERA>>16) -#define LCRTERA (CRTERA>>16) -#define LTILDE (TILDE>>16) -#define LMDMBUF (MDMBUF>>16) -#define LLITOUT (LITOUT>>16) -#define LTOSTOP (TOSTOP>>16) -#define LFLUSHO (FLUSHO>>16) -#define LNOHANG (NOHANG>>16) -#define LCRTKIL (CRTKIL>>16) -#define LPASS8 (PASS8>>16) -#define LCTLECH (CTLECH>>16) -#define LPENDIN (PENDIN>>16) -#define LDECCTQ (DECCTQ>>16) -#define LNOFLSH (NOFLUSH>>16) -#define TIOCSBRK _IO('t', 123) /* set break bit */ -#define TIOCCBRK _IO('t', 122) /* clear break bit */ -#define TIOCSDTR _IO('t', 121) /* set data terminal ready */ -#define TIOCCDTR _IO('t', 120) /* clear data terminal ready */ -#define TIOCGPGRP _IOR('t', 119, int) /* get process group */ -#define TIOCSPGRP _IOW('t', 118, int) /* set process gorup */ -#define TIOCSLTC _IOW('t',117,struct ltchars)/* set local special chars */ -#define TIOCGLTC _IOR('t',116,struct ltchars)/* get local special chars */ -#define TIOCOUTQ _IOR('t', 115, int) /* output queue size */ -#define TIOCSTI _IOW('t', 114, char) /* simulate terminal input */ -#define TIOCNOTTY _IO('t', 113) /* void tty association */ -#define TIOCPKT _IOW('t', 112, int) /* pty: set/clear packet mode */ -#define TIOCPKT_DATA 0x00 /* data packet */ -#define TIOCPKT_FLUSHREAD 0x01 /* flush packet */ -#define TIOCPKT_FLUSHWRITE 0x02 /* flush packet */ -#define TIOCPKT_STOP 0x04 /* stop output */ -#define TIOCPKT_START 0x08 /* start output */ -#define TIOCPKT_NOSTOP 0x10 /* no more ^S, ^Q */ -#define TIOCPKT_DOSTOP 0x20 /* now do ^S ^Q */ -#define TIOCSTOP _IO('t', 111) /* stop output, like ^S */ -#define TIOCSTART _IO('t', 110) /* start output, like ^Q */ -#define TIOCMSET _IOW('t', 109, int) /* set all modem bits */ -#define TIOCMBIS _IOW('t', 108, int) /* bis modem bits */ -#define TIOCMBIC _IOW('t', 107, int) /* bic modem bits */ -#define TIOCMGET _IOR('t', 106, int) /* get all modem bits */ -#define TIOCREMOTE _IOW('t', 105, int) /* remote input editing */ -#define TIOCGWINSZ _IOR('t', 104, struct winsize) /* get window size */ -#define TIOCSWINSZ _IOW('t', 103, struct winsize) /* set window size */ -#define TIOCUCNTL _IOW('t', 102, int) /* pty: set/clr usr cntl mode */ -/* SLIP (Serial Line IP) ioctl's */ -#define SLIOCGUNIT _IOR('t', 101, int) /* get slip unit number */ -#define SLIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */ -#define SLIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */ -#define SLIOCSATTACH _IOWR('t', 91, int) /* Attach slip i.f. to tty */ -#define UIOCCMD(n) _IO('u', n) /* usr cntl op "n" */ - -#define OTTYDISC 0 /* old, v7 std tty driver */ -#define NETLDISC 1 /* line discip for berk net */ -#define NTTYDISC 2 /* new tty discipline */ -#define TABLDISC 3 /* tablet discipline */ -#define SLIPDISC 4 /* serial IP discipline */ - -#define FIOCLEX _IO('f', 1) /* set close on exec */ -#define FIONCLEX _IO('f', 2) /* clear close on exec */ -/* another local */ - -#define FIONREAD _IOR('f', 127, int) /* get # bytes to read */ -#define FIONBIO _IOW('f', 126, int) /* set/clear non-blocking i/o */ -#define FIOASYNC _IOW('f', 125, int) /* set/clear async i/o */ - -#define FIOSETOWN _IOW('f', 124, int) /* set owner */ -#define FIOGETOWN _IOR('f', 123, int) /* get owner */ -#define FIOASYNCQX _IOW('f', 122, int) /* set/clear async queueing */ - -/* socket i/o controls */ -#define SIOCSHIWAT _IOW('s', 0, int) /* set high watermark */ -#define SIOCGHIWAT _IOR('s', 1, int) /* get high watermark */ -#define SIOCSLOWAT _IOW('s', 2, int) /* set low watermark */ -#define SIOCGLOWAT _IOR('s', 3, int) /* get low watermark */ -#define SIOCATMARK _IOR('s', 7, int) /* at oob mark? */ -#define SIOCSPGRP _IOW('s', 8, int) /* set process group */ -#define SIOCGPGRP _IOR('s', 9, int) /* get process group */ - -#define SIOCADDRT (int)_IOW('r', 10, struct ortentry) /* add route */ -#define SIOCDELRT (int)_IOW('r', 11, struct ortentry) /* delete route */ - -#define SIOCSIFADDR (int)_IOW('i', 12, struct oifreq) /* set ifnet address */ -#define OSIOCGIFADDR (int)_IOWR('i',13, struct oifreq) /* get ifnet address */ -#define SIOCGIFADDR (int)_IOWR('i',33, struct oifreq) /* get ifnet address */ -#define SIOCSIFDSTADDR (int)_IOW('i', 14, struct oifreq) /* set p-p address */ -#define OSIOCGIFDSTADDR (int)_IOWR('i',15, struct oifreq) /* get p-p address */ -#define SIOCGIFDSTADDR (int)_IOWR('i',34, struct oifreq) /* get p-p address */ -#define SIOCSIFFLAGS (int)_IOW('i', 16, struct oifreq) /* set ifnet flags */ -#define SIOCGIFFLAGS (int)_IOWR('i',17, struct oifreq) /* get ifnet flags */ -#define OSIOCGIFBRDADDR (int)_IOWR('i',18, struct oifreq) /* get broadcast addr */ -#define SIOCGIFBRDADDR (int)_IOWR('i',35, struct oifreq) /* get broadcast addr */ -#define SIOCSIFBRDADDR (int)_IOW('i',19, struct oifreq) /* set broadcast addr */ -#define OSIOCGIFCONF (int)_IOWR('i',20, struct ifconf) /* get ifnet list */ -#define CSIOCGIFCONF (int)_IOWR('i',36, struct ifconf) /* get ifnet list */ -#define SIOCGIFCONF (int)_IOWR('i',69, struct ifconf) /* get ifnet list */ -#define OSIOCGIFNETMASK (int)_IOWR('i',21, struct oifreq) /* get net addr mask */ -#define SIOCGIFNETMASK (int)_IOWR('i',37, struct oifreq) /* get net addr mask */ -#define SIOCSIFNETMASK (int)_IOW('i',22, struct oifreq) /* set net addr mask */ -#define SIOCGIFMETRIC (int)_IOWR('i',23, struct oifreq) /* get IF metric */ -#define SIOCSIFMETRIC (int)_IOW('i',24, struct oifreq) /* set IF metric */ -#define SIOCDIFADDR (int)_IOW('i',25, struct oifreq) /* delete IF addr */ -#define SIOCAIFADDR (int)_IOW('i',26, struct ifaliasreq) /* add/chg IF alias */ -#define SIOCSIFSUBCHAN (int)_IOW('i',27, struct oifreq) /* set subchannel adr.*/ -#define SIOCSIFNETDUMP (int)_IOW('i',28, struct oifreq) /* set netdump fastwrt*/ - -#define SIOCSARP (int)_IOW('i', 30, struct arpreq) /* set arp entry */ -#define OSIOCGARP (int)_IOWR('i',31, struct arpreq) /* get arp entry */ -#define SIOCGARP (int)_IOWR('i',38, struct arpreq) /* get arp entry */ -#define SIOCDARP (int)_IOW('i', 32, struct arpreq) /* delete arp entry */ - -#define SIOCSIFOPTIONS (int)_IOW('i', 41, struct oifreq) /* set ifnet options */ -#define SIOCGIFOPTIONS (int)_IOWR('i',42, struct oifreq) /* get ifnet options */ -#define SIOCADDMULTI (int)_IOW('i', 49, struct ifreq) /* add multicast addr */ -#define SIOCDELMULTI (int)_IOW('i', 50, struct ifreq) /* del multicast addr */ -#define SIOCGETVIFCNT (int)_IOWR('u', 51, struct sioc_vif_req)/* vif pkt cnt */ -#define SIOCGETSGCNT (int)_IOWR('u', 52, struct sioc_sg_req) /* s,g pkt cnt */ - -#define SIOCADDNETID (int)_IOW('i',87, struct oifreq) /* set netids */ -#define SIOCSIFMTU (int)_IOW('i',88, struct oifreq) /* set mtu */ -#define SIOCGIFMTU (int)_IOWR('i',86, struct oifreq) /* get mtu */ - -#define SIOCSNETOPT (int)_IOW('i', 90, struct optreq) /* set network option */ -#define SIOCGNETOPT (int)_IOWR('i', 91, struct optreq) /* get network option */ -#define SIOCDNETOPT (int)_IOWR('i', 92, struct optreq) /* set default */ - -#define SIOCSX25XLATE (int)_IOW('i', 99, struct oifreq) /* set xlate tab */ -#define SIOCGX25XLATE (int)_IOWR('i',100, struct oifreq) /* get xlate tab */ -#define SIOCDX25XLATE (int)_IOW('i', 101, struct oifreq) /* delete xlate tab */ - -#define SIOCIFDETACH (int)_IOW('i', 102, struct ifreq) /* detach an ifnet */ -#define SIOCIFATTACH (int)_IOW('i', 103, struct ifreq) /* attach an ifnet */ - -#define SIOCGNMTUS (int)_IO('i',110) /* get NMTUs */ -#define SIOCGETMTUS (int)_IO('i',111) /* get common_mtus */ -#define SIOCADDMTU (int)_IOW('i',112, int) /* add mtu */ -#define SIOCDELMTU (int)_IOW('i',113, int) /* delete mtu */ - -#define SIOCGIFGIDLIST (int)_IO('i', 104) /* get gidlist */ -#define SIOCSIFGIDLIST (int)_IO('i', 105) /* set gidlist */ - -#define SIOCGSIZIFCONF (int)_IOR('i', 106, int) /* get size for SIOCGIFCONF */ - -#define SIOCIF_ATM_UBR (int)_IOW('i',120,struct ifreq) /* set ubr rate */ -#define SIOCIF_ATM_SNMPARP (int)_IOW('i',121,struct ifreq) /* atm snmp arp */ -#define SIOCIF_ATM_IDLE (int)_IOW('i',122,struct ifreq) /* set idle time */ -#define SIOCIF_ATM_DUMPARP (int)_IOW('i',123,struct ifreq) /* atm dump arp */ -#define SIOCIF_ATM_SVC (int)_IOW('i',124,struct ifreq) /* atmif init */ -#define SIOCIF_ATM_DARP (int)_IOW('i',125,struct ifreq) /* del atmarp */ -#define SIOCIF_ATM_GARP (int)_IOW('i',126,struct ifreq) /* get atmarp */ -#define SIOCIF_ATM_SARP (int)_IOW('i',127,struct ifreq) /* set atmarp */ - -#define SIOCGISNO (int)_IOWR('i',107, struct oifreq) /* get IF network options */ -#define SIOCSISNO (int)_IOW('i', 108, struct oifreq) /* set IF network options */ -#define SIOCGIFBAUDRATE (int)_IOWR('i', 109, struct oifreq) /* get ifnet's if_baudrate */ diff --git a/sysdeps/unix/sysv/aix/bits/poll.h b/sysdeps/unix/sysv/aix/bits/poll.h deleted file mode 100644 index b9f2f71..0000000 --- a/sysdeps/unix/sysv/aix/bits/poll.h +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_POLL_H -# error "Never use directly; include instead." -#endif - -/* Event types that can be polled for. These bits may be set in `events' - to indicate the interesting event types; they will appear in `revents' - to indicate the status of the file descriptor. */ -#define POLLIN 0x0001 /* There is data to read. */ -#define POLLPRI 0x0002 /* There is urgent data to read. */ -#define POLLOUT 0x0004 /* Writing now will not block. */ - -#ifdef __USE_XOPEN -/* These values are defined in XPG4.2. */ -# define POLLRDNORM 0x0010 /* Normal data may be read. */ -# define POLLRDBAND 0x0020 /* Priority data may be read. */ -# define POLLWRNORM POLLOUT /* Writing now will not block. */ -# define POLLWRBAND 0x0040 /* Priority data may be written. */ -#endif - -/* Event types always implicitly polled for. These bits need not be set in - `events', but they will appear in `revents' to indicate the status of - the file descriptor. */ -#define POLLERR 0x4000 /* Error condition. */ -#define POLLHUP 0x2000 /* Hung up. */ -#define POLLNVAL 0x8000 /* Invalid polling request. */ diff --git a/sysdeps/unix/sysv/aix/bits/resource.h b/sysdeps/unix/sysv/aix/bits/resource.h deleted file mode 100644 index cc851e8..0000000 --- a/sysdeps/unix/sysv/aix/bits/resource.h +++ /dev/null @@ -1,191 +0,0 @@ -/* Bit values & structures for resource limits. AIX version. - Copyright (C) 1994, 1996-1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_RESOURCE_H -# error "Never use directly; include instead." -#endif - -#include - -/* Transmute defines to enumerations. The macro re-definitions are - necessary because some programs want to test for operating system - features with #ifdef RUSAGE_SELF. In ISO C the reflexive - definition is a no-op. */ - -/* Kinds of resource limit. */ -enum __rlimit_resource -{ - /* Per-process CPU limit, in seconds. */ - RLIMIT_CPU = 0, -#define RLIMIT_CPU RLIMIT_CPU - - /* Largest file that can be created, in bytes. */ - RLIMIT_FSIZE = 1, -#define RLIMIT_FSIZE RLIMIT_FSIZE - - /* Maximum size of data segment, in bytes. */ - RLIMIT_DATA = 2, -#define RLIMIT_DATA RLIMIT_DATA - - /* Maximum size of stack segment, in bytes. */ - RLIMIT_STACK = 3, -#define RLIMIT_STACK RLIMIT_STACK - - /* Largest core file that can be created, in bytes. */ - RLIMIT_CORE = 4, -#define RLIMIT_CORE RLIMIT_CORE - - /* Largest resident set size, in bytes. - This affects swapping; processes that are exceeding their - resident set size will be more likely to have physical memory - taken from them. */ - RLIMIT_RSS = 5, -#define RLIMIT_RSS RLIMIT_RSS - - /* Address space limit (?) */ - RLIMIT_AS = 6, -#define RLIMIT_AS RLIMIT_AS - - /* Number of open files. */ - RLIMIT_NOFILE = 7, - RLIMIT_OFILE = RLIMIT_NOFILE, /* BSD name for same. */ -#define RLIMIT_NOFILE RLIMIT_NOFILE -#define RLIMIT_OFILE RLIMIT_OFILE - - RLIM_NLIMITS = 10 -#define RLIMIT_NLIMITS RLIMIT_NLIMITS -#define RLIM_NLIMITS RLIM_NLIMITS -}; - -/* Value to indicate that there is no limit. */ -#ifndef __USE_FILE_OFFSET64 -# define RLIM_INFINITY ((long int)(~0UL >> 1)) -#else -# define RLIM_INFINITY 0x7fffffffffffffffLL -#endif - -#ifdef __USE_LARGEFILE64 -# define RLIM64_INFINITY 0x7fffffffffffffffLL -#endif - -#define RLIM_SAVED_MAX (RLIM_INFINITY - 1) -#define RLIM_SAVED_CUR (RLIM_INFINITY - 2) - - -/* Type for resource quantity measurement. */ -#ifndef __USE_FILE_OFFSET64 -typedef __rlim_t rlim_t; -#else -typedef __rlim64_t rlim_t; -#endif -#ifdef __USE_LARGEFILE64 -typedef __rlim64_t rlim64_t; -#endif - -struct rlimit - { - /* The current (soft) limit. */ - rlim_t rlim_cur; - /* The hard limit. */ - rlim_t rlim_max; - }; - -#ifdef __USE_LARGEFILE64 -struct rlimit64 - { - /* The current (soft) limit. */ - rlim64_t rlim_cur; - /* The hard limit. */ - rlim64_t rlim_max; - }; -#endif - -/* Whose usage statistics do you want? */ -enum __rusage_who -{ - /* The calling process. */ - RUSAGE_SELF = 0, -#define RUSAGE_SELF RUSAGE_SELF - - /* All of its terminated child processes. */ - RUSAGE_CHILDREN = -1 -#define RUSAGE_CHILDREN RUSAGE_CHILDREN -}; - -#define __need_timeval -#include /* For `struct timeval'. */ - -/* Structure which says how much of each resource has been used. */ -struct rusage - { - /* Total amount of user time used. */ - struct timeval ru_utime; - /* Total amount of system time used. */ - struct timeval ru_stime; - /* Maximum resident set size (in kilobytes). */ - long int ru_maxrss; - /* Amount of sharing of text segment memory - with other processes (kilobyte-seconds). */ - long int ru_ixrss; - /* Amount of data segment memory used (kilobyte-seconds). */ - long int ru_idrss; - /* Amount of stack memory used (kilobyte-seconds). */ - long int ru_isrss; - /* Number of soft page faults (i.e. those serviced by reclaiming - a page from the list of pages awaiting reallocation. */ - long int ru_minflt; - /* Number of hard page faults (i.e. those that required I/O). */ - long int ru_majflt; - /* Number of times a process was swapped out of physical memory. */ - long int ru_nswap; - /* Number of input operations via the file system. Note: This - and `ru_oublock' do not include operations with the cache. */ - long int ru_inblock; - /* Number of output operations via the file system. */ - long int ru_oublock; - /* Number of IPC messages sent. */ - long int ru_msgsnd; - /* Number of IPC messages received. */ - long int ru_msgrcv; - /* Number of signals delivered. */ - long int ru_nsignals; - /* Number of voluntary context switches, i.e. because the process - gave up the process before it had to (usually to wait for some - resource to be available). */ - long int ru_nvcsw; - /* Number of involuntary context switches, i.e. a higher priority process - became runnable or the current process used up its time slice. */ - long int ru_nivcsw; - }; - -/* Priority limits. */ -#define PRIO_MIN -20 /* Minimum priority a process can have. */ -#define PRIO_MAX 20 /* Maximum priority a process can have. */ - -/* The type of the WHICH argument to `getpriority' and `setpriority', - indicating what flavor of entity the WHO argument specifies. */ -enum __priority_which -{ - PRIO_PROCESS = 0, /* WHO is a process ID. */ -#define PRIO_PROCESS PRIO_PROCESS - PRIO_PGRP = 1, /* WHO is a process group ID. */ -#define PRIO_PGRP PRIO_PGRP - PRIO_USER = 2 /* WHO is a user ID. */ -#define PRIO_USER PRIO_USER -}; diff --git a/sysdeps/unix/sysv/aix/bits/setjmp.h b/sysdeps/unix/sysv/aix/bits/setjmp.h deleted file mode 100644 index c7a736b..0000000 --- a/sysdeps/unix/sysv/aix/bits/setjmp.h +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999, 2005 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Define the machine-dependent type `jmp_buf'. PowerPC version. */ - -#ifndef _SETJMP_H -# error "Never include directly; use instead." -#endif - -/* The previous bits/setjmp.h had __jmp_buf defined as a structure. - We use an array of 'long int' instead, to make writing the - assembler easier. Naturally, user code should not depend on - either representation. */ - -#if defined __USE_MISC || defined _ASM -# define JB_GPR1 0 /* Also known as the stack pointer */ -# define JB_GPR2 1 -# define JB_LR 2 /* The address we will return to */ -# define JB_GPRS 3 /* GPRs 14 through 31 are saved, 18 in total */ -# define JB_CR 21 /* Condition code registers. */ -# define JB_FPRS 22 /* FPRs 14 through 31 are saved, 18*2 words total */ -#endif - -#ifndef _ASM -typedef long int __jmp_buf[64]; -#endif - -/* Test if longjmp to JMPBUF would unwind the frame - containing a local variable at ADDRESS. */ -#define _JMPBUF_UNWINDS(jmpbuf, address, demangle) \ - ((void *) (address) < (void *) demangle ((jmpbuf)[JB_GPR1])) diff --git a/sysdeps/unix/sysv/aix/bits/sigaction.h b/sysdeps/unix/sysv/aix/bits/sigaction.h deleted file mode 100644 index 55414b8..0000000 --- a/sysdeps/unix/sysv/aix/bits/sigaction.h +++ /dev/null @@ -1,72 +0,0 @@ -/* The proper definitions for AIX's sigaction. - Copyright (C) 1993-1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ -#ifdef __USE_POSIX199309 - union - { - /* Used if SA_SIGINFO is not set. */ - __sighandler_t sa_handler; - /* Used if SA_SIGINFO is set. */ - void (*sa_sigaction) (int, siginfo_t *, void *); - } - __sigaction_handler; -# define sa_handler __sigaction_handler.sa_handler -# define sa_sigaction __sigaction_handler.sa_sigaction -#else - __sighandler_t sa_handler; -#endif - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - }; - -/* Bits in `sa_flags'. */ -#define SA_NOCLDSTOP 4 /* Don't send SIGCHLD when children stop. */ -#define SA_NOCLDWAIT 0x400 /* Don't create on death of child. */ -#define SA_SIGINFO 0x100 /* Invoke signal-catching function with - three arguments instead of one. */ -#if defined __USE_UNIX98 || defined __USE_MISC -# define SA_ONSTACK 0x00000001 /* Use signal stack by using `sa_restorer'. */ -# define SA_RESTART 0x00000008 /* Restart syscall on signal return. */ -# define SA_NODEFER 0x00000200 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_RESETHAND 0x00000002 /* Reset to SIG_DFL on entry to handler. */ -#endif -#ifdef __USE_MISC -/* Some aliases for the SA_ constants. */ -# define SA_NOMASK SA_NODEFER -# define SA_ONESHOT SA_RESETHAND -# define SA_STACK SA_ONSTACK -#endif - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 0 /* Block signals. */ -#define SIG_UNBLOCK 1 /* Unblock signals. */ -#define SIG_SETMASK 2 /* Set the set of blocked signals. */ diff --git a/sysdeps/unix/sysv/aix/bits/sigcontext.h b/sysdeps/unix/sysv/aix/bits/sigcontext.h deleted file mode 100644 index 40bec1b..0000000 --- a/sysdeps/unix/sysv/aix/bits/sigcontext.h +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1996, 1997, 1998, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H -# error "Never use directly; include instead." -#endif - -#include - - -struct sigcontext -{ - int sc_onstack; /* Sigstack state to restore. */ - sigset_t sc_mask; /* Signal mask to restore. */ - int sc_uerror; /* u_error to restore. */ - struct mcontext_t sc_jmpbuf; /* Process context to restore. */ -}; diff --git a/sysdeps/unix/sysv/aix/bits/signum.h b/sysdeps/unix/sysv/aix/bits/signum.h deleted file mode 100644 index 67eb949..0000000 --- a/sysdeps/unix/sysv/aix/bits/signum.h +++ /dev/null @@ -1,96 +0,0 @@ -/* Signal number definitions. AIX version. - Copyright (C) 1995-1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ - -#ifdef __USE_UNIX98 -# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ -# define SIG_CATCHE ((__sighandler_t) 3) -#endif - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGABRT 6 /* Abort (ANSI). */ -#define SIGIOT SIGABRT /* Abort (terminal) process. */ -#define SIGEMT 7 /* EMT instruction. */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* BUS error (4.2 BSD). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad system call. */ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGURG 16 /* Urgent condition on socket (4.2 BSD). */ -#define SIGIOINT SIGURG /* Printer to backend error signal. */ -#define SIGSTOP 17 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 18 /* Keyboard stop (POSIX). */ -#define SIGCONT 19 /* Continue (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGCHLD 20 /* Child status has changed (POSIX). */ -#define SIGTTIN 21 /* Background read from tty (POSIX). */ -#define SIGTTOU 22 /* Background write to tty (POSIX). */ -#define SIGIO 23 /* I/O now possible (4.2 BSD). */ -#define SIGAIO SIGIO /* Base LAN I/O. */ -#define SIGPTY SIGIO /* PTY I/O. */ -#define SIGPOLL SIGIO /* ANother I/O event. */ -#define SIGXCPU 24 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 25 /* File size limit exceeded (4.2 BSD). */ -#define SIGMSG 27 /* Input data is in the ring buffer. */ -#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */ -#define SIGPWR 29 /* Power failure restart (System V). */ -#define SIGUSR1 30 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 31 /* User-defined signal 2 (POSIX). */ -#define SIGPROF 32 /* Profiling alarm clock (4.2 BSD). */ -#define SIGDANGER 33 /* System crash imminent. */ -#define SIGVTALRM 34 /* Virtual alarm clock (4.2 BSD). */ -#define SIGMIGRATE 35 /* Migrate process. */ -#define SIGPRE 36 /* Programming exception. */ -#define SIGVIRT 37 /* AIX virtual time alarm. */ -#define SIGARLM1 38 /* Reserved, don't use. */ -#define SIGWAITING 39 /* Reserved, don't use. */ -#define SIGCPUFAIL 59 /* Predictive de-configuration of processors.*/ -#define SIGKAP 60 /* Keep alive poll from native keyboard. */ -#define SIGGRANT SIGKAP /* Monitor mode granted. */ -#define SIGRETRACT 61 /* Monitor mode should be relinguished. */ -#define SIGSOUND 62 /* Sound control has completed. */ -#define SIGSAK 63 /* Secure attentation key. */ - -#define _NSIG 64 /* Biggest signal number + 1 - (including real-time signals). */ - -#define SIGRTMIN (__libc_current_sigrtmin ()) -#define SIGRTMAX (__libc_current_sigrtmax ()) - -/* These are the hard limits of the kernel. These values should not be - used directly at user level. */ -#define __SIGRTMIN 888 -#define __SIGRTMAX 999 - -#endif /* included. */ diff --git a/sysdeps/unix/sysv/aix/bits/sigset.h b/sysdeps/unix/sysv/aix/bits/sigset.h deleted file mode 100644 index 0dc6b40..0000000 --- a/sysdeps/unix/sysv/aix/bits/sigset.h +++ /dev/null @@ -1,125 +0,0 @@ -/* __sig_atomic_t, __sigset_t, and related definitions. AIX version. - Copyright (C) 1991,1992,1994,1996,1997,2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGSET_H_types -# define _SIGSET_H_types 1 - -typedef int __sig_atomic_t; - -/* A `sigset_t' has a bit for each signal. */ - -typedef struct - { - unsigned int __losigs; - unsigned int __hisigs; - } __sigset_t; - -#endif - - -/* We only want to define these functions if was actually - included; otherwise we were included just to define the types. Since we - are namespace-clean, it wouldn't hurt to define extra macros. But - trouble can be caused by functions being defined (e.g., any global - register vars declared later will cause compilation errors). */ - -#if !defined _SIGSET_H_fns && defined _SIGNAL_H -# define _SIGSET_H_fns 1 - -# ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline -# endif - -/* Return a mask that includes the bit for SIG only. */ -# define __sigmask(sig) \ - (((unsigned long int) 1) << (((sig) - 1) % (8 * sizeof (unsigned int)))) - -# if defined __GNUC__ && __GNUC__ >= 2 -# define __sigemptyset(set) \ - (__extension__ ({ sigset_t *__set = (set); \ - __set->__losigs = __set->__hisigs = 0; \ - 0; })) -# define __sigfillset(set) \ - (__extension__ ({ sigset_t *__set = (set); \ - __set->__losigs = __set->__hisigs = ~0u; \ - 0; })) - -# ifdef __USE_GNU -/* The POSIX does not specify for handling the whole signal set in one - command. This is often wanted and so we define three more functions - here. */ -# define __sigisemptyset(set) \ - (__extension__ ({ const sigset_t *__set = (set); \ - (__set->__losigs | __set->__hisigs) == 0; })) -# define __sigandset(dest, left, right) \ - (__extension__ ({ sigset_t *__dest = (dest); \ - const sigset_t *__left = (left); \ - const sigset_t *__right = (right); \ - __dest->__losigs = __left->__losigs & __right->__losigs; \ - __dest->__hisigs = __left->__hisigs & __right->__hisigs; \ - 0; })) -# define __sigorset(dest, left, right) \ - (__extension__ ({ sigset_t *__dest = (dest); \ - const sigset_t *__left = (left); \ - const sigset_t *__right = (right); \ - __dest->__losigs = __left->__losigs | __right->__losigs; \ - __dest->__hisigs = __left->__hisigs | __right->__hisigs; \ - 0; })) -# endif -# endif - -/* These functions needn't check for a bogus signal number -- error - checking is done in the non __ versions. */ - -extern int __sigismember (__const __sigset_t *, int); -extern int __sigaddset (__sigset_t *, int); -extern int __sigdelset (__sigset_t *, int); - -# ifdef __USE_EXTERN_INLINES -_EXTERN_INLINE int -__sigismember (__const __sigset_t *__set, int __sig) -{ - unsigned int __mask = __sigmask (__sig); - - return ((__sig < 33 ? __set->__losigs : __set->__hisigs) & __mask ) ? 1 : 0; -} - -_EXTERN_INLINE int -__sigaddset (__sigset_t *__set, int __sig) -{ - unsigned int __mask = __sigmask (__sig); - - (__sig < 33 ? __set->__losigs : __set->__hisigs) |= __mask; - - return 0; -} - -_EXTERN_INLINE int -__sigdelset (__sigset_t *__set, int __sig) -{ - unsigned int __mask = __sigmask (__sig); - - (__sig < 33 ? __set->__losigs : __set->__hisigs) &= ~__mask; - - return 0; -} -# endif - - -#endif /* ! _SIGSET_H_fns. */ diff --git a/sysdeps/unix/sysv/aix/bits/sigstack.h b/sysdeps/unix/sysv/aix/bits/sigstack.h deleted file mode 100644 index cefd33c..0000000 --- a/sysdeps/unix/sysv/aix/bits/sigstack.h +++ /dev/null @@ -1,46 +0,0 @@ -/* sigstack, sigaltstack definitions. - Copyright (C) 1998, 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include this file directly. Use instead" -#endif - - -/* Structure describing a signal stack (obsolete). */ -struct sigstack - { - void *ss_sp; /* Signal stack pointer. */ - int ss_onstack; /* Nonzero if executing on this stack. */ - }; - - -/* Possible values for `ss_flags.'. */ -enum -{ - SS_ONSTACK = 1, -#define SS_ONSTACK SS_ONSTACK - SS_DISABLE -#define SS_DISABLE SS_DISABLE -}; - -/* Minimum stack size for a signal handler. */ -#define MINSIGSTKSZ 1024 - -/* System default stack size. */ -#define SIGSTKSZ 4096 diff --git a/sysdeps/unix/sysv/aix/bits/socket.h b/sysdeps/unix/sysv/aix/bits/socket.h deleted file mode 100644 index 1fdadfe..0000000 --- a/sysdeps/unix/sysv/aix/bits/socket.h +++ /dev/null @@ -1,293 +0,0 @@ -/* System-specific socket constants and types. AIX version. - Copyright (C) 1991,92,1994-1999,2000,2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef __BITS_SOCKET_H -#define __BITS_SOCKET_H - -#if !defined _SYS_SOCKET_H && !defined _NETINET_IN_H -# error "Never include directly; use instead." -#endif - -#define __need_size_t -#define __need_NULL -#include - -#include -#include - -/* Type for length arguments in socket calls. */ -#ifndef __socklen_t_defined -typedef __socklen_t socklen_t; -# define __socklen_t_defined -#endif - -/* Types of sockets. */ -enum __socket_type -{ - SOCK_STREAM = 1, /* Sequenced, reliable, connection-based - byte streams. */ -#define SOCK_STREAM SOCK_STREAM - SOCK_DGRAM = 2, /* Connectionless, unreliable datagrams - of fixed maximum length. */ -#define SOCK_DGRAM SOCK_DGRAM - SOCK_RAW = 3, /* Raw protocol interface. */ -#define SOCK_RAW SOCK_RAW - SOCK_RDM = 4, /* Reliably-delivered messages. */ -#define SOCK_RDM SOCK_RDM - SOCK_SEQPACKET = 5, /* Sequenced, reliable, connection-based, - datagrams of fixed maximum length. */ -#define SOCK_SEQPACKET SOCK_SEQPACKET - SOCK_CONN_DGRAM = 6 /* Conneciton datagram. */ -#define SOCK_CONN_DGRAM SOCK_CONN_DGRAM -}; - -/* Protocol families. */ -#define PF_UNSPEC 0 /* Unspecified. */ -#define PF_LOCAL 1 /* Local to host (pipes and file-domain). */ -#define PF_UNIX PF_LOCAL /* Old BSD name for PF_LOCAL. */ -#define PF_FILE PF_LOCAL /* Another non-standard name for PF_LOCAL. */ -#define PF_INET 2 /* IP protocol family. */ -#define PF_IMPLINK 3 /* ARPAnet IMP addresses. */ -#define PF_PUP 4 /* PUP protocols (e.g., BSP). */ -#define PF_CHAOS 5 /* MIT CHAOS protocols. */ -#define PF_NS 6 /* XEROX NS protocols. */ -#define PF_ISO 7 /* ISO protocols. */ -#define PF_OSI PF_ISO -#define PF_ECMA 8 /* European Computer Manufacturers. */ -#define PF_DATAKIT 9 /* Datakit protocols. */ -#define PF_CCITT 10 /* CCITT protocols, X.25 etc. */ -#define PF_SNA 11 /* IBM SNA. */ -#define PF_DECnet 12 /* DECnet. */ -#define PF_DLI 13 /* DEC Direct data link interface. */ -#define PF_LAT 14 /* LAT. */ -#define PF_HYLINK 15 /* NSC Hyperchannel. */ -#define PF_APPLETALK 16 /* Apple Talk. */ -#define PF_NETLINK 17 /* Internet Routing Protocol. */ -#define PF_ROUTE PF_NETLINK /* Alias to emulate 4.4BSD. */ -#define PF_LINK 18 /* Link layer interface. */ -#define PF_XTP 19 /* eXpress Transfer Protocol (no AF). */ -#define PF_INTF 20 /* Debugging use only. */ -#define PF_RIF 21 /* Raw interface. */ -#define PF_NETWARE 22 -#define PF_NDD 23 -#define PF_INET6 24 /* IPv6. */ -#define PF_MAX 30 /* For now.. */ - -/* Address families. */ -#define AF_UNSPEC PF_UNSPEC -#define AF_LOCAL PF_LOCAL -#define AF_UNIX PF_UNIX -#define AF_FILE PF_FILE -#define AF_INET PF_INET -#define AF_IMPLINK PF_IMPLINK -#define AF_PUP PF_PUP -#define AF_CHAOS PF_CHAOS -#define AF_NS PF_NS -#define AF_ISO PF_ISO -#define AF_OSI PF_OSI -#define AF_ECMA PF_ECMA -#define AF_DATAKIT PF_DATAKIT -#define AF_CCITT PF_CCITT -#define AF_SNA PF_SNA -#define AF_DECnet PF_DECnet -#define AF_DLI PF_DLI -#define AF_LAT PF_LAT -#define AF_HYLINK PF_HYLINK -#define AF_APPLETALK PF_APPLETALK -#define AF_NETLINK PF_NETLINK -#define AF_ROUTE PF_ROUTE -#define AF_LINK PF_LINK -#define AF_INTF PF_INTF -#define AF_RIF PF_RIF -#define AF_NETWARE PF_NETWARE -#define AF_NDD PF_NDD -#define AF_INET6 PF_INET6 -#define AF_MAX PF_MAX - -/* Socket level values. Others are defined in the appropriate headers. - - XXX These definitions also should go into the appropriate headers as - far as they are available. */ -#define SOL_SOCKET 0xffff - -/* Maximum queue length specifiable by listen. */ -#define SOMAXCONN 1024 - -/* Get the definition of the macro to define the common sockaddr members. */ -#include - -/* Structure describing a generic socket address. */ -struct sockaddr - { - __SOCKADDR_COMMON (sa_); /* Common data: address family and length. */ - char sa_data[14]; /* Address data. */ - }; - - -/* Structure large enough to hold any socket address (with the historical - exception of AF_UNIX). We reserve 128 bytes. */ -#if ULONG_MAX > 0xffffffff -# define __ss_aligntype __uint64_t -#else -# define __ss_aligntype __uint32_t -#endif -#define _SS_SIZE 128 -#define _SS_PADSIZE (_SS_SIZE - (2 * sizeof (__ss_aligntype))) - -struct sockaddr_storage - { - __SOCKADDR_COMMON (ss_); /* Address family, etc. */ - __ss_aligntype __ss_align; /* Force desired alignment. */ - char __ss_padding[_SS_PADSIZE]; - }; - - -/* Bits in the FLAGS argument to `send', `recv', et al. */ -enum - { - MSG_OOB = 0x01, /* Process out-of-band data. */ -#define MSG_OOB MSG_OOB - MSG_PEEK = 0x02, /* Peek at incoming messages. */ -#define MSG_PEEK MSG_PEEK - MSG_DONTROUTE = 0x04, /* Don't use local routing. */ -#define MSG_DONTROUTE MSG_DONTROUTE - MSG_EOR = 0x08, /* End of record. */ -#define MSG_EOR MSG_EOR - MSG_TRUNC = 0x10, -#define MSG_TRUNC MSG_TRUNC - MSG_CTRUNC = 0x20, /* Control data lost before delivery. */ -#define MSG_CTRUNC MSG_CTRUNC - MSG_WAITALL = 0x40, /* Wait for a full request. */ -#define MSG_WAITALL MSG_WAITALL - MSG_MPEG2 = 0x80, /* Message contain MPEG2 data. */ -#define MSG_MPEG2 MSG_MPEG2 - }; - - -/* Structure describing messages sent by - `sendmsg' and received by `recvmsg'. */ -struct msghdr - { - void *msg_name; /* Address to send to/receive from. */ - socklen_t msg_namelen; /* Length of address data. */ - - struct iovec *msg_iov; /* Vector of data to send/receive into. */ - int msg_iovlen; /* Number of elements in the vector. */ - - void *msg_control; /* Ancillary data (eg BSD filedesc passing). */ - socklen_t msg_controllen; /* Ancillary data buffer length. */ - - int msg_flags; /* Flags on received message. */ - }; - -/* Structure used for storage of ancillary data object information. */ -struct cmsghdr - { - socklen_t cmsg_len; /* Length of data in cmsg_data plus length - of cmsghdr structure. */ - int cmsg_level; /* Originating protocol. */ - int cmsg_type; /* Protocol specific type. */ -#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L - __extension__ unsigned char __cmsg_data __flexarr; /* Ancillary data. */ -#endif - }; - -/* Ancillary data object manipulation macros. */ -#if (!defined __STRICT_ANSI__ && __GNUC__ >= 2) || __STDC_VERSION__ >= 199901L -# define CMSG_DATA(cmsg) ((cmsg)->__cmsg_data) -#else -# define CMSG_DATA(cmsg) ((unsigned char *) ((struct cmsghdr *) (cmsg) + 1)) -#endif -#define CMSG_NXTHDR(mhdr, cmsg) __cmsg_nxthdr (mhdr, cmsg) -#define CMSG_FIRSTHDR(mhdr) \ - ((size_t) (mhdr)->msg_controllen >= sizeof (struct cmsghdr) \ - ? (struct cmsghdr *) (mhdr)->msg_control : (struct cmsghdr *) NULL) -#define CMSG_ALIGN(len) (((len) + sizeof (size_t) - 1) \ - & ~(sizeof (size_t) - 1)) -#define CMSG_SPACE(len) (CMSG_ALIGN (len) \ - + CMSG_ALIGN (sizeof (struct cmsghdr))) -#define CMSG_LEN(len) (CMSG_ALIGN (sizeof (struct cmsghdr)) + (len)) - -extern struct cmsghdr *__cmsg_nxthdr (struct msghdr *__mhdr, - struct cmsghdr *__cmsg) __THROW; -#ifdef __USE_EXTERN_INLINES -# ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline -# endif -_EXTERN_INLINE struct cmsghdr * -__cmsg_nxthdr (struct msghdr *__mhdr, struct cmsghdr *__cmsg) __THROW -{ - if ((size_t) __cmsg->cmsg_len < sizeof (struct cmsghdr)) - /* The kernel header does this so there may be a reason. */ - return 0; - - __cmsg = (struct cmsghdr *) ((unsigned char *) __cmsg - + CMSG_ALIGN (__cmsg->cmsg_len)); - if ((unsigned char *) (__cmsg + 1) >= ((unsigned char *) __mhdr->msg_control - + __mhdr->msg_controllen) - || ((unsigned char *) __cmsg + CMSG_ALIGN (__cmsg->cmsg_len) - > ((unsigned char *) __mhdr->msg_control + __mhdr->msg_controllen))) - /* No more entries. */ - return 0; - return __cmsg; -} -#endif /* Use `extern inline'. */ - -/* Socket level message types. This must match the definitions in - . */ -enum - { - SCM_RIGHTS = 0x01 /* Transfer file descriptors. */ -#define SCM_RIGHTS SCM_RIGHTS - }; - -/* Options flags per socket. */ -#define SO_DEBUG 0x0001 /* Turn on debugging info recording. */ -#define SO_ACCEPTCONN 0x0002 /* Socket has had listen(). */ -#define SO_REUSEADDR 0x0004 /* Allow local address reuse. */ -#define SO_KEEPALIVE 0x0008 /* Keep connections alive. */ -#define SO_DONTROUTE 0x0010 /* Just use interface addresses. */ -#define SO_BROADCAST 0x0020 /* Permit sending of broadcast msgs. */ -#define SO_USELOOPBACK 0x0040 /* Bypass hardware when possible. */ -#define SO_LINGER 0x0080 /* Linger on close if data present. */ -#define SO_OOBINLINE 0x0100 /* Leave received OOB data in line. */ -#define SO_REUSEPORT 0x0200 /* Allow local address & port reuse. */ -#define SO_USE_IFBUFS 0x0400 /* Interface will supply buffers. */ -#define SO_CKSUMRECV 0x0800 /* Defer checksum until receive. */ -#define SO_NOREUSEADDR 0x1000 /* Prevent local address reuse. */ -#define SO_SNDBUF 0x1001 /* Send buffer size. */ -#define SO_RCVBUF 0x1002 /* Receive buffer size. */ -#define SO_SNDLOWAT 0x1003 /* Send low-water mark. */ -#define SO_RCVLOWAT 0x1004 /* Receive low-water mark. */ -#define SO_SNDTIMEO 0x1005 /* Send timeout. */ -#define SO_RCVTIMEO 0x1006 /* Receive timeout. */ -#define SO_ERROR 0x1007 /* Get error status and clear. */ -#define SO_TYPE 0x1008 /* Get socket type. */ -#define SO_KERNACCEPT 0x2000 /* Derive a in-kernel only socket. */ -#define SO_AUDIT 0x8000 /* Turn on socket auditing. */ - - -/* Structure used to manipulate the SO_LINGER option. */ -struct linger - { - int l_onoff; /* Nonzero to linger on close. */ - int l_linger; /* Time to linger. */ - }; - -#endif /* bits/socket.h */ diff --git a/sysdeps/unix/sysv/aix/bits/stat.h b/sysdeps/unix/sysv/aix/bits/stat.h deleted file mode 100644 index adcb1d1..0000000 --- a/sysdeps/unix/sysv/aix/bits/stat.h +++ /dev/null @@ -1,119 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include directly; use instead." -#endif - -struct stat - { - __dev_t st_dev; /* Device. */ - __ino_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - unsigned short int st_flag; /* Flag word. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ -#ifndef __USE_FILE_OFFSET64 - __off_t st_size; /* Size of file, in bytes. */ -#else - int st_ssize; /* Size of file, in bytes. */ -#endif - __time_t st_atime; /* Time of last access. */ - unsigned long int __unused1; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int __unused2; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int __unused3; - __blksize_t st_blksize; /* Optimal block size for I/O. */ - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ - int st_vfstype; /* Type of the filesystem. */ - unsigned int st_vfs; /* Vfs number. */ - unsigned int st_type; /* Vnode type. */ - unsigned int st_gen; /* Inode generation number. */ - -#define _STATBUF_RESERVED_SPACE 9 - unsigned int st_reserved[_STATBUF_RESERVED_SPACE]; - -#ifdef __USE_FILE_OFFSET64 - unsigned int st_padto_ll; - __off64_t st_size; /* 64 bit file size in bytes. */ -#endif - }; - -#ifdef __USE_LARGEFILE64 -struct stat64 - { - __dev_t st_dev; /* Device. */ - __ino_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - unsigned short int st_flag; /* Flag word. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - int st_ssize; /* Size of file, in bytes. */ - __time_t st_atime; /* Time of last access. */ - unsigned long int __unused1; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int __unused2; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int __unused3; - __blksize_t st_blksize; /* Optimal block size for I/O. */ - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ - int st_vfstype; /* Type of the filesystem. */ - unsigned int st_vfs; /* Vfs number. */ - unsigned int st_type; /* Vnode type. */ - unsigned int st_gen; /* Inode generation number. */ - unsigned int st_reserved[_STATBUF_RESERVED_SPACE]; - unsigned int st_padto_ll; - __off64_t st_size; /* 64 bit file size in bytes. */ - }; -#endif - -/* Tell code we have these members. */ -#define _STATBUF_ST_BLKSIZE -#define _STATBUF_ST_RDEV - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/aix/bits/statfs.h b/sysdeps/unix/sysv/aix/bits/statfs.h deleted file mode 100644 index 0a1c0a5..0000000 --- a/sysdeps/unix/sysv/aix/bits/statfs.h +++ /dev/null @@ -1,77 +0,0 @@ -/* Copyright (C) 1997, 1998, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STATFS_H -# error "Never include directly; use instead." -#endif - -#include /* for __fsid_t and __fsblkcnt_t*/ - -struct statfs - { - int f_version; - int f_type; - int f_bsize; - /* The following five elements have type `int' since AIX's fsfilcnt_t - and fsblkcnt_t types do not fit. */ - int f_blocks; - int f_bfree; - int f_bavail; - int f_files; - int f_ffree; - __fsid_t f_fsid; - int f_vfstype; - int f_fsize; - int f_vfsnumber; - int f_vfsoff; - int f_vfslen; - int f_vfsvers; - char f_fname[32]; - char f_fpack[32]; - int f_name_max; - }; - -#ifdef __USE_LARGEFILE64 -/* XXX There seems to be no 64-bit versio of this structure. */ -struct statfs64 - { - int f_version; - int f_type; - int f_bsize; - /* The following five elements have type `int' since AIX's fsfilcnt_t - and fsblkcnt_t types do not fit. */ - int f_blocks; - int f_bfree; - int f_bavail; - int f_files; - int f_ffree; - __fsid_t f_fsid; - int f_vfstype; - int f_fsize; - int f_vfsnumber; - int f_vfsoff; - int f_vfslen; - int f_vfsvers; - char f_fname[32]; - char f_fpack[32]; - int f_name_max; - }; -#endif - -/* Tell code we have these members. */ -#define _STATFS_F_NAME_MAX diff --git a/sysdeps/unix/sysv/aix/bits/termios.h b/sysdeps/unix/sysv/aix/bits/termios.h deleted file mode 100644 index b178d9c..0000000 --- a/sysdeps/unix/sysv/aix/bits/termios.h +++ /dev/null @@ -1,189 +0,0 @@ -/* termios type and macro definitions. AIX version. - Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _TERMIOS_H -# error "Never include directly; use instead." -#endif - -typedef unsigned char cc_t; -typedef unsigned int speed_t; -typedef unsigned int tcflag_t; - -#define NCCS 16 -struct termios - { - tcflag_t c_iflag; /* input mode flags */ - tcflag_t c_oflag; /* output mode flags */ - tcflag_t c_cflag; /* control mode flags */ - tcflag_t c_lflag; /* local mode flags */ - cc_t c_cc[NCCS]; /* control characters */ - }; - -/* c_cc characters */ -#define VINTR 0 -#define VQUIT 1 -#define VERASE 2 -#define VKILL 3 -#define VEOF 4 -#define VEOL 5 -#define VSTART 7 -#define VSTOP 8 -#define VSUSP 9 -#define VMIN 4 -#define VTIME 5 -#define VEOL2 6 -#define VDSUSP 10 -#define VREPRINT 11 -#define VDISCARD 12 -#define VWERSE 13 -#define VWERASE VWERSE -#define VLNEXT 14 -#define VSTRT VSTART - -/* c_iflag bits */ -#define IGNBRK 0000001 -#define BRKINT 0000002 -#define IGNPAR 0000004 -#define PARMRK 0000010 -#define INPCK 0000020 -#define ISTRIP 0000040 -#define INLCR 0000100 -#define IGNCR 0000200 -#define ICRNL 0000400 -#define IXON 0001000 -#define IXOFF 0002000 -#define IUCLC 0004000 -#define IXANY 0010000 -#define IMAXBEL 0200000 - -/* c_oflag bits */ -#define OPOST 0000001 -#define OLCUC 0000002 -#define ONLCR 0000004 -#define OCRNL 0000010 -#define ONOCR 0000020 -#define ONLRET 0000040 -#define OFILL 0000100 -#define OFDEL 0000200 -#if defined __USE_MISC || defined __USE_XOPEN -# define CRDLY 0001400 -# define CR0 0000000 -# define CR1 0000400 -# define CR2 0001000 -# define CR3 0001400 -# define TABDLY 0006000 -# define TAB0 0000000 -# define TAB1 0002000 -# define TAB2 0004000 -# define TAB3 0006000 -# define BSDLY 0010000 -# define BS0 0000000 -# define BS1 0010000 -# define FFDLY 0020000 -# define FF0 0000000 -# define FF1 0020000 -# define NLDLY 0040000 -# define NL0 0000000 -# define NL1 0040000 -#endif - -#define VTDLY 0100000 -#define VT0 0000000 -#define VT1 0100000 - -/* c_cflag bit meaning */ -#ifdef __USE_MISC -# define CBAUD 0000017 -#endif -#define B0 0000000 /* hang up */ -#define B50 0000001 -#define B75 0000002 -#define B110 0000003 -#define B134 0000004 -#define B150 0000005 -#define B200 0000006 -#define B300 0000007 -#define B600 0000010 -#define B1200 0000011 -#define B1800 0000012 -#define B2400 0000013 -#define B4800 0000014 -#define B9600 0000015 -#define B19200 0000016 -#define B38400 0000017 -#ifdef __USE_MISC -# define EXTA B19200 -# define EXTB B38400 -#endif -#define CSIZE 0000060 -#define CS5 0000000 -#define CS6 0000020 -#define CS7 0000040 -#define CS8 0000060 -#define CSTOPB 0000100 -#define CREAD 0000200 -#define PARENB 0000400 -#define PARODD 0001000 -#define HUPCL 0002000 -#define CLOCAL 0004000 -#ifdef __USE_MISC -# define CIBAUD 000003600000 /* input baud rate (not used) */ -# define CRTSCTS 020000000000 /* flow control */ -#endif - -/* c_lflag bits */ -#define ISIG 0000001 -#define ICANON 0000002 -#if defined __USE_MISC || defined __USE_XOPEN -# define XCASE 0000004 -#endif -#define ECHO 0000010 -#define ECHOE 0000020 -#define ECHOK 0000040 -#define ECHONL 0000100 -#define NOFLSH 0000200 -#define TOSTOP 0200000 -#ifdef __USE_MISC -# define ECHOCTL 0400000 -# define ECHOPRT 01000000 -# define ECHOKE 02000000 -# define FLUSHO 004000000 -# define PENDIN 04000000000 -#endif -#define IEXTEN 010000000 - -/* tcflow() and TCXONC use these */ -#define TCOOFF 0 -#define TCOON 1 -#define TCIOFF 2 -#define TCION 3 - -/* tcflush() and TCFLSH use these */ -#define TCIFLUSH 0 -#define TCOFLUSH 1 -#define TCIOFLUSH 2 - -/* tcsetattr uses these */ -#define TCSANOW 0 -#define TCSADRAIN 1 -#define TCSAFLUSH 2 - - -#define _IOT_termios /* Hurd ioctl type field. */ \ - _IOT (_IOTS (cflag_t), 4, _IOTS (cc_t), NCCS, _IOTS (speed_t), 2) diff --git a/sysdeps/unix/sysv/aix/bits/types.h b/sysdeps/unix/sysv/aix/bits/types.h deleted file mode 100644 index 12c3be7..0000000 --- a/sysdeps/unix/sysv/aix/bits/types.h +++ /dev/null @@ -1,136 +0,0 @@ -/* Copyright (C) 1991,92,1994-1999,2000,2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * Never include this file directly; use instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include - -#define __need_NULL -#define __need_size_t -#include - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short __u_short; -typedef unsigned int __u_int; -typedef unsigned long __u_long; -#ifdef __GNUC__ -__extension__ typedef unsigned long long int __u_quad_t; -__extension__ typedef long long int __quad_t; -#else -typedef struct - { - long int __val[2]; - } __quad_t; -typedef struct - { - __u_long __val[2]; - } __u_quad_t; -#endif -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#ifdef __GNUC__ -__extension__ typedef signed long long int __int64_t; -__extension__ typedef unsigned long long int __uint64_t; -#endif -typedef __quad_t *__qaddr_t; - -typedef __u_long __dev_t; /* Type of device numbers. */ -typedef __u_int __uid_t; /* Type of user identifications. */ -typedef __u_int __gid_t; /* Type of group identifications. */ -typedef __u_long __ino_t; /* Type of file serial numbers. */ -typedef __u_int __mode_t; /* Type of file attribute bitmasks. */ -typedef short int __nlink_t; /* Type of file link counts. */ -typedef long int __off_t; /* Type of file sizes and offsets. */ -typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ -typedef int __pid_t; /* Type of process identifications. */ -typedef long int __ssize_t; /* Type of a byte count, or error. */ -typedef __u_long __rlim_t; /* Type of resource counts. */ -typedef __u_quad_t __rlim64_t; /* Type of resource counts (LFS). */ -typedef unsigned int __id_t; /* General type for ID. */ - -typedef struct - { - unsigned long int __val[2]; - } __fsid_t; /* Type of file system IDs. */ - -/* Everythin' else. */ -typedef long int __daddr_t; /* The type of a disk address. */ -typedef char *__caddr_t; -typedef long int __time_t; -typedef unsigned int __useconds_t; -typedef int __suseconds_t; -typedef long int __swblk_t; /* Type of a swap block maybe? */ - -typedef int __clock_t; - -/* Clock ID used in clock and timer functions. */ -typedef int __clockid_t; - -/* Timer ID returned by `timer_create'. */ -typedef int __timer_t; - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -typedef long int __key_t; - -/* Type to represent block size. */ -typedef int __blksize_t; - -/* Types from the Large File Support interface. */ - -/* Type to count number os disk blocks. */ -typedef int __blkcnt_t; -typedef __quad_t __blkcnt64_t; - -/* Type to count file system blocks. */ -typedef __u_long __fsblkcnt_t; -typedef __u_quad_t __fsblkcnt64_t; - -/* Type to count file system inodes. */ -typedef __u_long __fsfilcnt_t; -typedef __u_quad_t __fsfilcnt64_t; - -/* Type of file serial numbers. */ -typedef __u_quad_t __ino64_t; - -/* Type of file sizes and offsets. */ -typedef __loff_t __off64_t; - -/* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -typedef signed long __intptr_t; - -/* Duplicate info from sys/socket.h. */ -typedef unsigned int __socklen_t; - -#endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/aix/bits/uio.h b/sysdeps/unix/sysv/aix/bits/uio.h deleted file mode 100644 index 6078153..0000000 --- a/sysdeps/unix/sysv/aix/bits/uio.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1996, 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UIO_H -# error "Never include directly; use instead." -#endif - - -#include - - -/* Size of object which can be written atomically. - - This macro has different values in different kernel versions. The - latest versions of ther kernel use 1024 and this is good choice. Since - the C library implementation of readv/writev is able to emulate the - functionality even if the currently running kernel does not support - this large value the readv/writev call will not fail because of this. */ -#define UIO_MAXIOV 16 - - -/* Structure for scatter/gather I/O. */ -struct iovec - { - void *iov_base; /* Pointer to data. */ - size_t iov_len; /* Length of data. */ - }; diff --git a/sysdeps/unix/sysv/aix/bits/utmp.h b/sysdeps/unix/sysv/aix/bits/utmp.h deleted file mode 100644 index b78a2af..0000000 --- a/sysdeps/unix/sysv/aix/bits/utmp.h +++ /dev/null @@ -1,73 +0,0 @@ -/* The `struct utmp' type, describing entries in the utmp file. AIX. - Copyright (C) 1996, 1997, 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UTMP_H -# error "Never include directly; use instead." -#endif - -#include -#include -#include - - -#define UT_LINESIZE 12 -#define UT_NAMESIZE 8 -#define UT_HOSTSIZE 16 - - -struct utmp - { -#define ut_name ut_user - char ut_user[UT_NAMESIZE]; - char ut_id[14]; - char ut_line[UT_LINESIZE]; - short int ut_type; - short int ut_pid; - struct exit_status - { - short int e_termination; - short int e_exit; - } ut_exit; - __time_t ut_time; - char ut_host[UT_HOSTSIZE]; - }; - - -/* Values for the `ut_type' field of a `struct utmp'. */ -#define EMPTY 0 /* No valid user accounting information. */ - -#define RUN_LVL 1 /* The system's runlevel. */ -#define BOOT_TIME 2 /* Time of system boot. */ -#define OLD_TIME 3 /* Time when system clock changed. */ -#define NEW_TIME 4 /* Time after system clock changed. */ - -#define INIT_PROCESS 5 /* Process spawned by the init process. */ -#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ -#define USER_PROCESS 7 /* Normal process. */ -#define DEAD_PROCESS 8 /* Terminated process. */ - -#define ACCOUNTING 9 - - -/* Tell the user that we have a modern system with UT_HOST, UT_TYPE, and - UT_ID fields. */ -#define _HAVE_UT_TYPE 1 -#define _HAVE_UT_PID 1 -#define _HAVE_UT_ID 1 -#define _HAVE_UT_HOST 1 diff --git a/sysdeps/unix/sysv/aix/bits/utmpx.h b/sysdeps/unix/sysv/aix/bits/utmpx.h deleted file mode 100644 index 438b5f3..0000000 --- a/sysdeps/unix/sysv/aix/bits/utmpx.h +++ /dev/null @@ -1,75 +0,0 @@ -/* Structures and defenitions for the user accounting database. AIX. - Copyright (C) 1997, 1998, 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UTMPX_H -# error "Never include directly; use instead." -#endif - -#include -#include - - -#ifdef __USE_GNU -# include -# define _PATH_UTMPX _PATH_UTMP -# define _PATH_WTMPX _PATH_WTMP -#endif - - -#define __UT_LINESIZE 12 -#define __UT_NAMESIZE 8 -#define __UT_HOSTSIZE 16 - - -/* The structure describing an entry in the user accounting database. */ -struct utmpx -{ - char ut_user[__UT_NAMESIZE]; /* Username. */ - char ut_id[14]; /* Inittab ID. */ - char ut_line[__UT_LINESIZE]; /* Devicename. */ - short int ut_type; /* Type of login. */ - __pid_t ut_pid; /* Process ID of login process. */ - struct timeval ut_tv; /* Time entry was made. */ - char ut_host[__UT_HOSTSIZE]; /* Hostname for remote login. */ -}; - - -/* Values for the `ut_type' field of a `struct utmpx'. */ -#define EMPTY 0 /* No valid user accounting information. */ - -#define RUN_LVL 1 /* The system's runlevel. */ -#define BOOT_TIME 2 /* Time of system boot. */ -#define NEW_TIME 3 /* Time after system clock changed. */ -#define OLD_TIME 4 /* Time when system clock changed. */ - -#define INIT_PROCESS 5 /* Process spawned by the init process. */ -#define LOGIN_PROCESS 6 /* Session leader of a logged in user. */ -#define USER_PROCESS 7 /* Normal process. */ -#define DEAD_PROCESS 8 /* Terminated process. */ - -#ifdef __USE_GNU -# define ACCOUNTING 9 /* System accounting. */ -#endif - -#define _HAVE_UT_TYPE 1 -#define _HAVE_UT_PID 1 -#define _HAVE_UT_ID 1 -#define _HAVE_UT_TV 1 -#define _HAVE_UT_HOST 1 - diff --git a/sysdeps/unix/sysv/aix/bits/utsname.h b/sysdeps/unix/sysv/aix/bits/utsname.h deleted file mode 100644 index d238f5e..0000000 --- a/sysdeps/unix/sysv/aix/bits/utsname.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 1997, 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UTSNAME_H -# error "Never include directly; use instead." -#endif - -#define _UTSNAME_LENGTH 32 diff --git a/sysdeps/unix/sysv/aix/brk.c b/sysdeps/unix/sysv/aix/brk.c deleted file mode 100644 index 66707fe..0000000 --- a/sysdeps/unix/sysv/aix/brk.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__brk (void *addr) -{ - return brk (addr); -} diff --git a/sysdeps/unix/sysv/aix/chdir.c b/sysdeps/unix/sysv/aix/chdir.c deleted file mode 100644 index 153084e..0000000 --- a/sysdeps/unix/sysv/aix/chdir.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__chdir (const char *path) -{ - return chdir (path); -} diff --git a/sysdeps/unix/sysv/aix/chmod.c b/sysdeps/unix/sysv/aix/chmod.c deleted file mode 100644 index 628d09c..0000000 --- a/sysdeps/unix/sysv/aix/chmod.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__chmod (const char *path, mode_t mode) -{ - return chmod (path, mode); -} diff --git a/sysdeps/unix/sysv/aix/chown.c b/sysdeps/unix/sysv/aix/chown.c deleted file mode 100644 index 2b6e82e..0000000 --- a/sysdeps/unix/sysv/aix/chown.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__chown (const char *file, uid_t owner, gid_t group) -{ - return chown (file, owner, group); -} -libc_hidden_def (__chown) diff --git a/sysdeps/unix/sysv/aix/chroot.c b/sysdeps/unix/sysv/aix/chroot.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/chroot.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/close.c b/sysdeps/unix/sysv/aix/close.c deleted file mode 100644 index 7be5956..0000000 --- a/sysdeps/unix/sysv/aix/close.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__close (int fd) -{ - return close (fd); -} -libc_hidden_def (__close) diff --git a/sysdeps/unix/sysv/aix/configure b/sysdeps/unix/sysv/aix/configure deleted file mode 100644 index 2c07b41..0000000 --- a/sysdeps/unix/sysv/aix/configure +++ /dev/null @@ -1,6 +0,0 @@ -# This file is generated from configure.in by Autoconf. DO NOT EDIT! - # Local configure fragment for sysdeps/unix/sysv/aix. - -# Don't bother trying to generate any glue code to be compatible with the -# existing system library, because we are the only system library. -inhibit_glue=yes diff --git a/sysdeps/unix/sysv/aix/configure.in b/sysdeps/unix/sysv/aix/configure.in deleted file mode 100644 index bb783fc..0000000 --- a/sysdeps/unix/sysv/aix/configure.in +++ /dev/null @@ -1,6 +0,0 @@ -GLIBC_PROVIDES dnl See aclocal.m4 in the top level source directory. -# Local configure fragment for sysdeps/unix/sysv/aix. - -# Don't bother trying to generate any glue code to be compatible with the -# existing system library, because we are the only system library. -inhibit_glue=yes diff --git a/sysdeps/unix/sysv/aix/connect.c b/sysdeps/unix/sysv/aix/connect.c deleted file mode 100644 index 2f58be1..0000000 --- a/sysdeps/unix/sysv/aix/connect.c +++ /dev/null @@ -1,11 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include - -#undef __connect - -int -__connect (int fd, __CONST_SOCKADDR_ARG addr, socklen_t len) -{ - return connect (fd, addr, len); -} -INTDEF(__connect) diff --git a/sysdeps/unix/sysv/aix/creat.c b/sysdeps/unix/sysv/aix/creat.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/creat.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/dl-addr.c b/sysdeps/unix/sysv/aix/dl-addr.c deleted file mode 100644 index b8dbddf..0000000 --- a/sysdeps/unix/sysv/aix/dl-addr.c +++ /dev/null @@ -1,30 +0,0 @@ -/* - Copyright (C) 1996, 1997, 1998, 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -int -internal_function -_dl_addr (const void *address, Dl_info *info) -{ - return 0; -} - diff --git a/sysdeps/unix/sysv/aix/dl-close.c b/sysdeps/unix/sysv/aix/dl-close.c deleted file mode 100644 index edd4585..0000000 --- a/sysdeps/unix/sysv/aix/dl-close.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include - -extern int _dl_numso; -extern DL_SODATA *_dl_sotable; - -void -_dl_close (void *handle) -{ - if ((int) handle < 0 || (int) handle >= _dl_numso || _dl_sotable == NULL) - { - errno = EINVAL; - return; - } - - if (_dl_sotable[(int) handle].handle != 0) - __unload (_dl_sotable[(int) handle].handle); - - _dl_sotable[(int) handle].index = 0; - _dl_sotable[(int) handle].dataorg = 0; - _dl_sotable[(int) handle].handle = 0; - _dl_sotable[(int) handle].type = 0; -} - diff --git a/sysdeps/unix/sysv/aix/dl-error.c b/sysdeps/unix/sysv/aix/dl-error.c deleted file mode 100644 index 9c6335b..0000000 --- a/sysdeps/unix/sysv/aix/dl-error.c +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright (C) 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - -#include diff --git a/sysdeps/unix/sysv/aix/dl-libc.c b/sysdeps/unix/sysv/aix/dl-libc.c deleted file mode 100644 index 69c627c..0000000 --- a/sysdeps/unix/sysv/aix/dl-libc.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Handle loading and unloading shared objects for internal libc purposes. - Copyright (C) 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -void * -__libc_dlopen (const char *name) -{ - return _dl_open (name, RTLD_LAZY, NULL); -} - -void * -__libc_dlsym (void *map, const char *name) -{ - return _dl_sym (map, name, NULL); -} - -int -__libc_dlclose (void *map) -{ - _dl_close (map); - return 0; -} diff --git a/sysdeps/unix/sysv/aix/dl-open.c b/sysdeps/unix/sysv/aix/dl-open.c deleted file mode 100644 index 070471d..0000000 --- a/sysdeps/unix/sysv/aix/dl-open.c +++ /dev/null @@ -1,133 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include -#include - -#define NUM_SHARED_OBJECTS 32 - -int _dl_numso = NUM_SHARED_OBJECTS; -DL_SODATA *_dl_sotable = NULL; - -void * -_dl_open (const char *file, int mode, const void *caller) -{ - DL_SODATA *new_so; - void *handle; - int entry; - int bsize = _dl_numso * sizeof (DL_INFO); - DL_INFO *dl_info = malloc (bsize); - - if (dl_info == NULL) - return NULL; - - /* 1st time thru initial shared object data table. */ - if (_dl_sotable == NULL) - { - _dl_sotable = (DL_SODATA *) calloc (_dl_numso, sizeof (DL_SODATA)); - if (_dl_sotable == NULL) - return NULL; - - __loadx (DL_POSTLOADQ, dl_info, bsize, NULL); - while (!(dl_info[0].dlinfo_xflags & DL_INFO_OK) - || dl_info[0].dlinfo_arraylen == 0) - { - bsize *= 2; - dl_info = realloc (dl_info, bsize); - if (dl_info == NULL) - return NULL; - - __loadx (DL_POSTLOADQ, dl_info, bsize, NULL); - } - } - - /* Validate mode bits. */ - if (!(mode & RTLD_NOW) && !(mode & RTLD_LAZY)) - { - free (dl_info); - errno = EINVAL; - return NULL; - } - - /* Load the module. */ - handle = (void *) __loadx (DL_LOAD | DL_LOAD_RTL | DL_LOAD_LDX1, - dl_info, bsize, file, NULL); - if (handle == NULL) - { - free (dl_info); - errno = EINVAL; - return NULL; - } - - /* Was dl_info buffer to small to get info. */ - while (!(dl_info[0].dlinfo_xflags & DL_INFO_OK) - || dl_info[0].dlinfo_arraylen == 0) - { - bsize *= 2; - dl_info = realloc (dl_info, bsize); - if (dl_info == NULL) - { - (void) __unload ((void *) handle); - errno = ENOMEM; - return NULL; - } - __loadx (DL_POSTLOADQ | DL_LOAD_RTL, dl_info, bsize, handle); - } - - /* Get an empty entry in the shared object table. */ - for (entry = 0; entry < _dl_numso; ++entry) - if (_dl_sotable[entry].type == 0) - break; - - /* See if the table needs to be increased. */ - if (entry == _dl_numso) - { - new_so = (DL_SODATA *) realloc (_dl_sotable, - _dl_numso * 2 * sizeof (DL_SODATA)); - if (new_so == NULL) - return NULL; - - memset (new_so + _dl_numso, '\0', _dl_numso * sizeof (DL_SODATA)); - _dl_numso *= 2; - _dl_sotable = new_so; - } - - /* See if this is syscall (look for /unix in file). */ - if (strcmp ("/unix", file) == 0) - { - _dl_sotable[entry].index = dl_info[1].dlinfo_index; - _dl_sotable[entry].dataorg = dl_info[1].dlinfo_dataorg; - _dl_sotable[entry].handle = handle; - _dl_sotable[entry].type = DL_UNIX_SYSCALL; - } - else - { - _dl_sotable[entry].index = dl_info[1].dlinfo_index; - _dl_sotable[entry].dataorg = dl_info[1].dlinfo_dataorg; - _dl_sotable[entry].handle = handle; - _dl_sotable[entry].type = DL_GETSYM; - } - - free (dl_info); - return (void *) entry; -} diff --git a/sysdeps/unix/sysv/aix/dl-support.c b/sysdeps/unix/sysv/aix/dl-support.c deleted file mode 100644 index 6172c85..0000000 --- a/sysdeps/unix/sysv/aix/dl-support.c +++ /dev/null @@ -1,20 +0,0 @@ -/* Copyright (C) 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - -#include diff --git a/sysdeps/unix/sysv/aix/dl-sym.c b/sysdeps/unix/sysv/aix/dl-sym.c deleted file mode 100644 index 3f48b12..0000000 --- a/sysdeps/unix/sysv/aix/dl-sym.c +++ /dev/null @@ -1,58 +0,0 @@ -/* Copyright (C) 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include - -extern int _dl_numso; -extern DL_SODATA *_dl_sotable; - -void * -_dl_sym (void *handle, const char *symbol, void *who) -{ - void *rt_function; - - if ((int) handle < 0 || (int) handle >= _dl_numso || _dl_sotable == NULL) - { - errno = EINVAL; - return NULL; - } - - switch (_dl_sotable[(int) handle].type) - { - case DL_UNIX_SYSCALL: - rt_function = (void *) __loadx (DL_UNIX_SYSCALL, (void *) symbol); - break; - - case DL_GETSYM: - rt_function = (void *) __loadx (DL_GETSYM, (void *) symbol, - _dl_sotable[(int) handle].index, - _dl_sotable[(int) handle].dataorg); - break; - - default: - errno = EINVAL; - return NULL; - } - - return rt_function; -} diff --git a/sysdeps/unix/sysv/aix/dlldr.h b/sysdeps/unix/sysv/aix/dlldr.h deleted file mode 100644 index e0f3740..0000000 --- a/sysdeps/unix/sysv/aix/dlldr.h +++ /dev/null @@ -1,111 +0,0 @@ -/* Copyright (C) 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - -/* - - int __loadx(flag, module, arg1, arg2, arg3) - - The __loadx() is a call to ld_loadutil() kernel function, which - does the real work. Note ld_loadutil() is not exported an cannot be - called directly from user space. - - void *ld_loadutil() call is a utility function used for loader extensions - supporting run-time linking and dl*() functions. - - void * - will return the modules entry point if it succeds of NULL - on failure. - - int flag - the flag field performas a dual role: the top 8 bits specify - the work for __loadx() to perform, the bottom 8 bits are - used to pass flags to the work routines, all other bits are - reserved. - -*/ - -#define DL_LOAD 0x1000000 /* __loadx(flag,buf, buf_len, filename, libr_path) */ -#define DL_POSTLOADQ 0x2000000 /* __loadx(flag,buf, buf_len, module_handle) */ -#define DL_EXECQ 0x3000000 /* __loadx(flag,buf, buf_len) */ -#define DL_EXITQ 0x4000000 /* __loadx(flag,buf, buf_len) */ -#define DL_PREUNLOADQ 0x5000000 /* __loadx(flag,buf, buf_len, module_handle) */ -#define DL_INIT 0x6000000 /* __loadx(flag,NULL) */ -#define DL_GETSYM 0x7000000 /* __loadx(flag,symbol, index, modules_data_origin) */ -#define DL_SETDEPEND 0x8000000 /* __loadx(flag,import_data_org, import_index, */ - /* export_data_org, export_index) */ -#define DL_DELDEPEND 0x9000000 /* __loadx(flag,import_data_org, import_index, */ - /* export_data_org, export_index) */ -#define DL_GLOBALSYM 0xA000000 /* __loadx(flag,symbol_name, ptr_to_rec_index, */ - /* ptr_to_rec_data_org) */ -#define DL_UNIX_SYSCALL 0xB000000 /* __loadx(flag,syscall_symbol_name) */ - -#define DL_FUNCTION_MASK 0xFF000000 -#define DL_SRCHDEPENDS 0x00100000 -#define DL_SRCHMODULE 0x00080000 -#define DL_SRCHLOADLIST 0x00040000 -#define DL_LOAD_LDX1 0x00040000 -#define DL_LOAD_RTL 0x00020000 -#define DL_HASHSTRING 0x00020000 -#define DL_INFO_OK 0x00010000 -#define DL_LOAD_DLINFO 0x00010000 -#define DL_UNLOADED 0x00020000 - -typedef union _dl_info -{ - struct { - uint _xflags; /* flag bits in the array */ - uint _size; /* size of this structure */ - uint _arraylen; /* number of following elements */ - } _dl_stat; - struct { - caddr_t _textorg; /* start of loaded program image */ - caddr_t _dataorg; /* start of data instance */ - uint _datasize; /* size of data instance */ - ushort _index; /* index of this le in la_dynlist */ - ushort _mflags; /* info about module from load() */ - } _dl_array; -} DL_INFO; - -#define dlinfo_xflags _dl_stat._xflags -#define dlinfo_arraylen _dl_stat._arraylen -#define dlinfo_size _dl_stat._size - -#define dlinfo_textorg _dl_array._textorg -#define dlinfo_datasize _dl_array._datasize -#define dlinfo_dataorg _dl_array._dataorg -#define dlinfo_index _dl_array._index -#define dlinfo_flags _dl_array._mflags - -#define DL_HAS_RTINIT 0x1 /* indicates the module __rtinit symbols */ -#define DL_IS_NEW 0x2 /* indicates that the module is newly loaded */ - -struct _xArgs -{ - char *libpath; - DL_INFO *info; - uint infosize; -}; - -/* Shared Object DATA used for dl-open,dl-sym & dl-close support */ -typedef struct -{ - void *handle; /* handle for __loadx */ - uint type; /* type of __loadx flag */ - ushort index; /* dlinfo_index */ - caddr_t dataorg; /* dlinfo_dataorg */ -} DL_SODATA; - diff --git a/sysdeps/unix/sysv/aix/environ.c b/sysdeps/unix/sysv/aix/environ.c deleted file mode 100644 index 01e7ba8..0000000 --- a/sysdeps/unix/sysv/aix/environ.c +++ /dev/null @@ -1 +0,0 @@ -/* We don't need to define environ, the kernel does it. */ diff --git a/sysdeps/unix/sysv/aix/euidaccess.c b/sysdeps/unix/sysv/aix/euidaccess.c deleted file mode 100644 index c666af5..0000000 --- a/sysdeps/unix/sysv/aix/euidaccess.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define ACC_SELF 0 - -int -euidaccess (const char *name, int type) -{ - return accessx (name, type, ACC_SELF); -} diff --git a/sysdeps/unix/sysv/aix/execve.c b/sysdeps/unix/sysv/aix/execve.c deleted file mode 100644 index f8cc07d..0000000 --- a/sysdeps/unix/sysv/aix/execve.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__execve (const char *path, char *const argv[], char *const envp[]) -{ - return execve (path, argv, envp); -} diff --git a/sysdeps/unix/sysv/aix/fchdir.c b/sysdeps/unix/sysv/aix/fchdir.c deleted file mode 100644 index 9fe7e8b..0000000 --- a/sysdeps/unix/sysv/aix/fchdir.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__fchdir (fd) - int fd; -{ - return fchdir (fd); -} diff --git a/sysdeps/unix/sysv/aix/fchmod.c b/sysdeps/unix/sysv/aix/fchmod.c deleted file mode 100644 index d4f0ac9..0000000 --- a/sysdeps/unix/sysv/aix/fchmod.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__fchmod (int fd, mode_t mode) -{ - return fchmod (fd, mode); -} diff --git a/sysdeps/unix/sysv/aix/fchown.c b/sysdeps/unix/sysv/aix/fchown.c deleted file mode 100644 index 64252c0..0000000 --- a/sysdeps/unix/sysv/aix/fchown.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__fchown (int fds, uid_t owner, gid_t group) -{ - return fchown (fds, owner, group); -} diff --git a/sysdeps/unix/sysv/aix/fcntl.c b/sysdeps/unix/sysv/aix/fcntl.c deleted file mode 100644 index 7f16cbe..0000000 --- a/sysdeps/unix/sysv/aix/fcntl.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern int kfcntl (int fdes, int cmd, unsigned long int arg); - -int -__fcntl (int fdes, int cmd, ...) -{ - va_list va; - int res; - unsigned long int arg; - - va_start (va, cmd); - arg = va_arg (va, unsigned long int); - - res = kfcntl (fdes, cmd, arg); - - va_end (va); - - return res; -} -libc_hidden_def (__fcntl) -strong_alias (__fcntl, fcntl) -strong_alias (__fcntl, __libc_fcntl) -libc_hidden_def (__libc_fcntl) diff --git a/sysdeps/unix/sysv/aix/fdatasync.c b/sysdeps/unix/sysv/aix/fdatasync.c deleted file mode 100644 index 851f2e5..0000000 --- a/sysdeps/unix/sysv/aix/fdatasync.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define _FDATASYNC 0x00400000 -#define FDATASYNC _FDATASYNC - -extern int kfsync_range (int fd, int how, long long int off, - long long int len); - -int -fdatasync (int fd) -{ - return kfsync_range (fd, FDATASYNC, 0, 0); -} diff --git a/sysdeps/unix/sysv/aix/fork.c b/sysdeps/unix/sysv/aix/fork.c deleted file mode 100644 index 478d4af..0000000 --- a/sysdeps/unix/sysv/aix/fork.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#undef __fork - -pid_t -__fork (void) -{ - return kfork (); -} -libc_hidden_def (__fork) -strong_alias (__fork, fork) diff --git a/sysdeps/unix/sysv/aix/fstatfs.c b/sysdeps/unix/sysv/aix/fstatfs.c deleted file mode 100644 index 3f531f2..0000000 --- a/sysdeps/unix/sysv/aix/fstatfs.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int fstatfs (int fd, struct statfs *buf); - -int -__fstatfs (int fd, struct statfs *buf) -{ - return fstatfs (fd, buf); -} diff --git a/sysdeps/unix/sysv/aix/fsync.c b/sysdeps/unix/sysv/aix/fsync.c deleted file mode 100644 index 58734b6..0000000 --- a/sysdeps/unix/sysv/aix/fsync.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define _FSYNC 0x00000010 -#define FFILESYNC _FSYNC - -extern int kfsync_range (int fd, int how, long long int off, - long long int len); - -int -fsync (int fd) -{ - return kfsync_range (fd, FFILESYNC, 0, 0); -} diff --git a/sysdeps/unix/sysv/aix/ftruncate.c b/sysdeps/unix/sysv/aix/ftruncate.c deleted file mode 100644 index 758f2a4..0000000 --- a/sysdeps/unix/sysv/aix/ftruncate.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int kftruncate (int fd, long long int length); - -int -__ftruncate (int fd, off_t length) -{ - return kftruncate (fd, length); -} -strong_alias (__ftruncate, ftruncate) diff --git a/sysdeps/unix/sysv/aix/ftruncate64.c b/sysdeps/unix/sysv/aix/ftruncate64.c deleted file mode 100644 index 5e7e4be4..0000000 --- a/sysdeps/unix/sysv/aix/ftruncate64.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int kftruncate (int fd, long long int length); - -int -__ftruncate64 (int fd, off64_t length) -{ - return kftruncate (fd, length); -} -weak_alias (__ftruncate64, ftruncate64) diff --git a/sysdeps/unix/sysv/aix/fxstat.c b/sysdeps/unix/sysv/aix/fxstat.c deleted file mode 100644 index 1ba56f6..0000000 --- a/sysdeps/unix/sysv/aix/fxstat.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -#define STX_NORMAL 0x00 - -extern int fstatx (int fd, struct stat *st, int len, int cmd); - -int -__fxstat (int ver, int fd, struct stat *st) -{ - assert (ver == 0); - return fstatx (fd, st, sizeof (*st), STX_NORMAL); -} -hidden_def (__fxstat) diff --git a/sysdeps/unix/sysv/aix/fxstat64.c b/sysdeps/unix/sysv/aix/fxstat64.c deleted file mode 100644 index 5f75e07..0000000 --- a/sysdeps/unix/sysv/aix/fxstat64.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -#define STX_NORMAL 0x00 -#define STX_64 0x08 - -extern int fstatx (int fd, struct stat64 *st, int len, int cmd); - -int -__fxstat64 (int ver, int fd, struct stat64 *st) -{ - assert (ver == 0); - return fstatx (fd, st, sizeof (*st), STX_NORMAL | STX_64); -} -hidden_def (__fxstat64) diff --git a/sysdeps/unix/sysv/aix/getdents.c b/sysdeps/unix/sysv/aix/getdents.c deleted file mode 100644 index ca896c3..0000000 --- a/sysdeps/unix/sysv/aix/getdents.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern int getdirent (int fd, char *buf, size_t count); - -ssize_t -__getdents (int fd, char *buf, size_t count) -{ - return getdirent (fd, buf, count); -} diff --git a/sysdeps/unix/sysv/aix/getegid.c b/sysdeps/unix/sysv/aix/getegid.c deleted file mode 100644 index c246925..0000000 --- a/sysdeps/unix/sysv/aix/getegid.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_EFFECTIVE 0x01 - - -gid_t -__getegid (void) -{ - return getgidx (ID_EFFECTIVE); -} -strong_alias (__getegid, getegid) diff --git a/sysdeps/unix/sysv/aix/geteuid.c b/sysdeps/unix/sysv/aix/geteuid.c deleted file mode 100644 index b072213..0000000 --- a/sysdeps/unix/sysv/aix/geteuid.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_EFFECTIVE 0x01 - - -uid_t -__geteuid (void) -{ - return getuidx (ID_EFFECTIVE); -} -strong_alias (__geteuid, geteuid) diff --git a/sysdeps/unix/sysv/aix/getgid.c b/sysdeps/unix/sysv/aix/getgid.c deleted file mode 100644 index 8b102b1..0000000 --- a/sysdeps/unix/sysv/aix/getgid.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_REAL 2 - -extern gid_t getgidx (int which); - -gid_t -__getgid (void) -{ - return getgidx (ID_REAL); -} -strong_alias (__getgid, getgid) diff --git a/sysdeps/unix/sysv/aix/getgroups.c b/sysdeps/unix/sysv/aix/getgroups.c deleted file mode 100644 index f7c813b..0000000 --- a/sysdeps/unix/sysv/aix/getgroups.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__getgroups (int size, gid_t list[]) -{ - return getgroups (size, list); -} diff --git a/sysdeps/unix/sysv/aix/gethostname.c b/sysdeps/unix/sysv/aix/gethostname.c deleted file mode 100644 index a423840..0000000 --- a/sysdeps/unix/sysv/aix/gethostname.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__gethostname (name, len) - char *name; - size_t len; -{ - return gethostname (name, len); -} diff --git a/sysdeps/unix/sysv/aix/getpeername.c b/sysdeps/unix/sysv/aix/getpeername.c deleted file mode 100644 index bec9bac..0000000 --- a/sysdeps/unix/sysv/aix/getpeername.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2000, 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int ngetpeername (int s, void *uap_asa, int *uap_alen); - -int -getpeername (int fd, __SOCKADDR_ARG addr, socklen_t *len) -{ - return ngetpeername (fd, addr.__sockaddr__, len); -} -weak_alias (getpeername,__getpeername) diff --git a/sysdeps/unix/sysv/aix/getpgid.c b/sysdeps/unix/sysv/aix/getpgid.c deleted file mode 100644 index a6e75f3..0000000 --- a/sysdeps/unix/sysv/aix/getpgid.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int kgetpgidx (pid_t pid); - -int -__getgpid (pid_t pid) -{ - return kgetpgidx (pid); -} -libc_hidden_def (__getgpid) -strong_alias (__getpgid, getpgid) diff --git a/sysdeps/unix/sysv/aix/getpgrp.c b/sysdeps/unix/sysv/aix/getpgrp.c deleted file mode 100644 index ce37738..0000000 --- a/sysdeps/unix/sysv/aix/getpgrp.c +++ /dev/null @@ -1 +0,0 @@ -/* This function is available as a system call. */ diff --git a/sysdeps/unix/sysv/aix/getpid.c b/sysdeps/unix/sysv/aix/getpid.c deleted file mode 100644 index 8a74e22..0000000 --- a/sysdeps/unix/sysv/aix/getpid.c +++ /dev/null @@ -1,9 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include - -int -__getpid (void) -{ - return getpid (); -} -libc_hidden_def (__getpid) diff --git a/sysdeps/unix/sysv/aix/getppid.c b/sysdeps/unix/sysv/aix/getppid.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/getppid.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/getpriority.c b/sysdeps/unix/sysv/aix/getpriority.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/getpriority.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/getrlimit.c b/sysdeps/unix/sysv/aix/getrlimit.c deleted file mode 100644 index 0699cec..0000000 --- a/sysdeps/unix/sysv/aix/getrlimit.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__getrlimit (enum __rlimit_resource resource, struct rlimit *rlimits) -{ - return getrlimit (resource, rlimits); -} diff --git a/sysdeps/unix/sysv/aix/getrlimit64.c b/sysdeps/unix/sysv/aix/getrlimit64.c deleted file mode 100644 index dd33ca9..0000000 --- a/sysdeps/unix/sysv/aix/getrlimit64.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__getrlimit64 (enum __rlimit_resource resource, struct rlimit64 *rlimits) -{ - return getrlimit64 (resource, rlimits); -} diff --git a/sysdeps/unix/sysv/aix/getrusage.c b/sysdeps/unix/sysv/aix/getrusage.c deleted file mode 100644 index b578b75..0000000 --- a/sysdeps/unix/sysv/aix/getrusage.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__getrusage (who, usage) - enum __rusage_who who; - struct rusage *usage; -{ - return getrusage (who, usage); -} diff --git a/sysdeps/unix/sysv/aix/getsid.c b/sysdeps/unix/sysv/aix/getsid.c deleted file mode 100644 index 6994eb8..0000000 --- a/sysdeps/unix/sysv/aix/getsid.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int kgetsid (pid_t pid); - -int -getsid (pid_t pid) -{ - return kgetsid (pid); -} diff --git a/sysdeps/unix/sysv/aix/getsockname.c b/sysdeps/unix/sysv/aix/getsockname.c deleted file mode 100644 index ac1bf34..0000000 --- a/sysdeps/unix/sysv/aix/getsockname.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int ngetsockname (int s, void *uap_asa, int *uap_alen); - -int -__getsockname (int fd, __SOCKADDR_ARG addr, socklen_t *len) -{ - return ngetsockname (fd, addr.__sockaddr__, len); -} - -weak_alias (__getsockname, getsockname) diff --git a/sysdeps/unix/sysv/aix/gettimeofday.c b/sysdeps/unix/sysv/aix/gettimeofday.c deleted file mode 100644 index 34a92eb..0000000 --- a/sysdeps/unix/sysv/aix/gettimeofday.c +++ /dev/null @@ -1,98 +0,0 @@ -/* Copyright (C) 1991,92,94,95,96,97,2001,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -#ifndef HAVE_GNU_LD -# define __daylight daylight -# define __timezone timezone -# define __tzname tzname -#endif - -#undef __gettimeofday - -extern int rtc_upper (void); -extern int rtc_lower (void); - -/* Assembler Routines to access the timer registers */ -asm("\n\ -.rtc_upper: mfspr 3,4 # copy RTCU to return register\n\ - blr\n\ -\n\ -.rtc_lower: mfspr 3,5 # copy RTCL to return register\n\ - blr\n\ -"); - -/* Get the current time of day and timezone information, - putting it into *TV and *TZ. If TZ is NULL, *TZ is not filled. - Returns 0 on success, -1 on errors. */ -int -__gettimeofday (tv, tz) - struct timeval *tv; - struct timezone *tz; -{ - int ts, tl, tu; - - if (tv == NULL) - { - __set_errno (EINVAL); - return -1; - } - - ts = rtc_upper (); /* Seconds. */ - tl = rtc_lower (); /* Nanoseconds. */ - tu = rtc_upper (); /* Check for a carry from. */ - if (ts != tu) /* The lower reg to the upper. */ - tl = rtc_lower (); /* Recover from the race condition. */ - - tv->tv_sec = (long int) (tu + (double) tl / 1000000000); - tv->tv_usec = (long int) ((double) tl / 1000); - - if (tz != NULL) - { - const time_t timer = tv->tv_sec; - struct tm tm; - const struct tm *tmp; - - const long int save_timezone = __timezone; - const long int save_daylight = __daylight; - char *save_tzname[2]; - save_tzname[0] = __tzname[0]; - save_tzname[1] = __tzname[1]; - - tmp = localtime_r (&timer, &tm); - - tz->tz_minuteswest = __timezone / 60; - tz->tz_dsttime = __daylight; - - __timezone = save_timezone; - __daylight = save_daylight; - __tzname[0] = save_tzname[0]; - __tzname[1] = save_tzname[1]; - - if (tmp == NULL) - return -1; - } - - return 0; -} - -INTDEF(__gettimeofday) -weak_alias (__gettimeofday, gettimeofday) diff --git a/sysdeps/unix/sysv/aix/getuid.c b/sysdeps/unix/sysv/aix/getuid.c deleted file mode 100644 index e042666..0000000 --- a/sysdeps/unix/sysv/aix/getuid.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_REAL 2 - -extern uid_t getuidx (int which); - -uid_t -__getuid (void) -{ - return getuidx (ID_REAL); -} -strong_alias (__getuid, getuid) diff --git a/sysdeps/unix/sysv/aix/gnu/lib-names.h b/sysdeps/unix/sysv/aix/gnu/lib-names.h deleted file mode 100644 index d41f822..0000000 --- a/sysdeps/unix/sysv/aix/gnu/lib-names.h +++ /dev/null @@ -1,31 +0,0 @@ -#ifndef __GNU_LIB_NAMES_H -#define __GNU_LIB_NAMES_H 1 - -#define LIBBROKENLOCALE_SO "libBrokenLocale.a" -#define LIBCRYPT_SO "libcrypt.a" -#define LIBC_SO "libc.a" -#define LIBDB1_SO "libdb1.a" -#define LIBDB_SO "libdb.a" -#define LIBDL_SO "libdl.a" -#define LIBM_SO "libm.a" -#define LIBNOVERSION_SO "libNoVersion.a" -#define LIBNSL_SO "libnsl.a" -#define LIBNSS1_COMPAT_SO "libnss1_compat.a" -#define LIBNSS1_DB_SO "libnss1_db.a" -#define LIBNSS1_DNS_SO "libnss1_dns.a" -#define LIBNSS1_FILES_SO "libnss1_files.a" -#define LIBNSS1_NIS_SO "libnss1_nis.a" -#define LIBNSS_COMPAT_SO "libnss_compat.a" -#define LIBNSS_DB_SO "libnss_db.a" -#define LIBNSS_DNS_SO "libnss_dns.a" -#define LIBNSS_FILES_SO "libnss_files.a" -#define LIBNSS_HESIOD_SO "libnss_hesiod.a" -#define LIBNSS_LDAP_SO "libnss_ldap.a" -#define LIBNSS_NISPLUS_SO "libnss_nisplus.a" -#define LIBNSS_NIS_SO "libnss_nis.a" -#define LIBPTHREAD_SO "libpthread.a" -#define LIBRESOLV_SO "libresolv.a" -#define LIBRT_SO "librt.a" -#define LIBUTIL_SO "libutil.a" - -#endif /* gnu/lib-names.h */ diff --git a/sysdeps/unix/sysv/aix/init-first.c b/sysdeps/unix/sysv/aix/init-first.c deleted file mode 100644 index 24ef109..0000000 --- a/sysdeps/unix/sysv/aix/init-first.c +++ /dev/null @@ -1,103 +0,0 @@ -/* Initialization code run first thing by the XCOFF startup code. AIX version. - Copyright (C) 2001, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#ifndef SHARED -# include -# include "dl-osinfo.h" -#endif - -extern void __libc_init (int, char **, char **); - -/* The function is called from assembly stubs the compiler can't see. */ -static void init (int, char **, char **) __attribute__ ((unused)); - -/* Set nonzero if we have to be prepared for more then one libc being - used in the process. Safe assumption if initializer never runs. */ -int __libc_multiple_libcs attribute_hidden = 1; - -/* Remember the command line argument and enviroment contents for - later calls of initializers for dynamic libraries. */ -int __libc_argc attribute_hidden; -char **__libc_argv attribute_hidden; - - -static void -init (int argc, char **argv, char **envp) -{ -#ifdef USE_NONOPTION_FLAGS - extern void __getopt_clean_environment (char **); -#endif - /* The next variable is only here to work around a bug in gcc <= 2.7.2.2. - If the address would be taken inside the expression the optimizer - would try to be too smart and throws it away. Grrr. */ - - /* XXX disable dl for now - __libc_multiple_libcs = &_dl_starting_up && !_dl_starting_up; */ - - /* Save the command-line arguments. */ - __libc_argc = argc; - __libc_argv = argv; - __environ = envp; - -#ifndef SHARED - __libc_init_secure (); -#endif - - __libc_init (argc, argv, envp); - -#ifdef USE_NONOPTION_FLAGS - /* This is a hack to make the special getopt in GNU libc working. */ - __getopt_clean_environment (envp); -#endif - -#ifdef SHARED - __libc_global_ctors (); -#endif -} - -#ifdef SHARED - -strong_alias (init, _init); - -extern void __libc_init_first (void); - -void -__libc_init_first (void) -{ -} - -#else -extern void __libc_init_first (int argc, char **argv, char **envp); - -void -__libc_init_first (int argc, char **argv, char **envp) -{ - init (argc, argv, envp); -} -#endif diff --git a/sysdeps/unix/sysv/aix/ioctl.c b/sysdeps/unix/sysv/aix/ioctl.c deleted file mode 100644 index f47b699..0000000 --- a/sysdeps/unix/sysv/aix/ioctl.c +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern int kioctl (int fdes, int cmd, unsigned long int arg, - unsigned long int ext); - -int -__ioctl (int fdes, unsigned long int cmd, ...) -{ - va_list va; - int res; - unsigned long int arg; - unsigned long int ext; - - va_start (va, cmd); - arg = va_arg (va, unsigned long int); - ext = va_arg (va, unsigned long int); - - res = kioctl (fdes, cmd, arg, ext); - - va_end (va); - - return res; -} -strong_alias (__ioctl, ioctl) diff --git a/sysdeps/unix/sysv/aix/kernel_proto.h b/sysdeps/unix/sysv/aix/kernel_proto.h deleted file mode 100644 index e9ad06d..0000000 --- a/sysdeps/unix/sysv/aix/kernel_proto.h +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file contains prototypes for the "functions" exported by /unix - on AIX. */ -#include - - -extern ssize_t kwrite (int, const void *, size_t); diff --git a/sysdeps/unix/sysv/aix/kill.c b/sysdeps/unix/sysv/aix/kill.c deleted file mode 100644 index 8538e29..0000000 --- a/sysdeps/unix/sysv/aix/kill.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__kill (pid_t pid, int sig) -{ - return kill (pid, sig); -} diff --git a/sysdeps/unix/sysv/aix/lchown.c b/sysdeps/unix/sysv/aix/lchown.c deleted file mode 100644 index 44e3b74..0000000 --- a/sysdeps/unix/sysv/aix/lchown.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__lchown (const char *file, uid_t owner, gid_t group) -{ - return lchown (file, owner, group); -} diff --git a/sysdeps/unix/sysv/aix/libc-start.c b/sysdeps/unix/sysv/aix/libc-start.c deleted file mode 100644 index 813e28d..0000000 --- a/sysdeps/unix/sysv/aix/libc-start.c +++ /dev/null @@ -1,290 +0,0 @@ -/* Initialization code run first thing by the XCOFF startup code. AIX version. - Copyright (C) 2001, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* hack to use uchar's */ -typedef unsigned char uchar; -#include -#include -#include -#include - -extern void __libc_init_first (int argc, char **argv, char **envp); - -/* XXX disable for now -extern int __libc_multiple_libcs; */ - -/* XXX normally defined in generic/dl-sydep.c, hack it into existance -extern void *__libc_stack_end; */ -void *__libc_stack_end; - - struct __libc_start_data_rec { - void *stack; - void *toc; - int argc; - char **argv; - char **envp; - char *data; - char *text; - unsigned mcount; - unsigned special; - int (*main)(int, char **, char **); - void (*init)(void); - void (*fini)(void); - void (*rtld_fini)(void); - }; - -extern struct __libc_start_data_rec __libc_start_data; -extern int errno; - -/* The first piece of initialized data. */ -int __data_start = 0; - -#ifndef HAVE_ELF -/* Since gcc/crtstuff.c won't define it unless the ELF format is used - we will need to define it here. */ -void *__dso_handle = NULL; -#endif - -/* AIX kernel function */ -extern int __loadx (int flag, void *module, void *arg1, void *arg2, - void *arg3); -/* Needed by setenv */ -char **__environ; - -/* - * Find __rtinit symbol - * - * __RTINIT *find_rtinit() - * - * __RTINIT *rti - pointer to __rtinit data structure - */ - -static __RTINIT * -find_rtinit (void) -{ - struct xcoffhdr *xcoff_hdr; - SCNHDR *sec_hdr; - SCNHDR *ldr_sec_hdr; - SCNHDR *data_sec_hdr; - LDSYM *ldsym_hdr; - __RTINIT *rtl; - - xcoff_hdr = (struct xcoffhdr *) __libc_start_data.text; - sec_hdr = (SCNHDR *) ((caddr_t) &xcoff_hdr->aouthdr - + xcoff_hdr->filehdr.f_opthdr); - ldr_sec_hdr = (SCNHDR *) (sec_hdr + (xcoff_hdr->aouthdr.o_snloader - 1)); - ldsym_hdr = (LDSYM *) ((caddr_t) xcoff_hdr + ldr_sec_hdr->s_scnptr - + LDHDRSZ); - - if (__libc_start_data.mcount <= 0) - { - if (!ldr_sec_hdr->s_scnptr) - return NULL; - - if (memcmp (ldsym_hdr, RTINIT_NAME, sizeof(RTINIT_NAME) - 1) != 0) - return NULL; - } - - data_sec_hdr = (SCNHDR *) (sec_hdr + (xcoff_hdr->aouthdr.o_sndata - 1)); - rtl = (__RTINIT *) (ldsym_hdr->l_value - + (__libc_start_data.data - data_sec_hdr->s_vaddr)); - return rtl; -} - -/* The mod_init1 calls every initialization function - for a given module. - - void mod_init1(handler, rti) - - void *handler - if NULL init funtions for modules loaded at exec time - are being executed. Otherwise, the handler points to the - module loaded. - - __RTINIT *rti - pointer to __rtinit data structure (with rti->init_offset - not equal to zero) - */ - -static void -mod_init1 (void *handler,__RTINIT *rtl) -{ - __RTINIT_DESCRIPTOR *descriptor; - - descriptor = (__RTINIT_DESCRIPTOR *) ((caddr_t) &rtl->rtl - + rtl->init_offset); - while (descriptor->f != NULL) - { - if (!(descriptor->flags & _RT_CALLED)) - { - descriptor->flags |= _RT_CALLED; - /* Execute init/fini. */ - descriptor->f (handler, rtl, descriptor); - } - descriptor = (__RTINIT_DESCRIPTOR *) ((caddr_t) descriptor - + rtl->__rtinit_descriptor_size); - } -} - -/* The modinit() function performs run-time linking, if enabled, and calling - the init() function for all loaded modules. - - int modinit() - */ - -#define DL_BUFFER_SIZE 1000 - -static int -modinit (void) -{ - int *handler = NULL; - __RTINIT *rtinit_info = NULL; - int flag; - DL_INFO dl_buffer[DL_BUFFER_SIZE]; - DL_INFO *dl_info = dl_buffer; - int i; - - /* Find __rtinit symbols */ - rtinit_info = find_rtinit (); - - flag = DL_EXECQ; - if (rtinit_info && rtinit_info->rtl) - flag |= DL_LOAD_RTL; - - /* Get a list of modules that have __rtinit. */ - if (__loadx (flag, dl_info, (void *) sizeof (dl_buffer), NULL, NULL)) - exit (0x90); - - if (( dl_info[0].dlinfo_xflags & DL_INFO_OK)) - { - rtinit_info = find_rtinit (); - if ((rtinit_info != NULL) & (rtinit_info->rtl != NULL)) - { - if ((*rtinit_info->rtl) (dl_info, 0)) - exit (0x90); - } - } - - /* Initialization each module loaded that has __rtinit. */ - if (dl_info[0].dlinfo_xflags & DL_INFO_OK) - { - for (i = 1; i < dl_info[0].dlinfo_arraylen + 1; ++i) - if (dl_info[i].dlinfo_flags & DL_HAS_RTINIT) - { - rtinit_info = find_rtinit (); - if (rtinit_info) - mod_init1 (handler, rtinit_info); - } - } - - return 0; -} - - -void -__libc_start_init (void) -{ - /* Do run-time linking, if enabled and call the init() - for all loaded modules. */ - if (__libc_start_data.mcount != __libc_start_data.special) - modinit (); -} - -/* For now these are just stubs. */ -void -__libc_start_fini (void) -{ -} - -void -__libc_start_rtld_fini (void) -{ -} - -void -__libc_start_main (void) -{ -#ifndef SHARED - - /* The next variable is only here to work around a bug in gcc <= 2.7.2.2. - If the address would be taken inside the expression the optimizer - would try to be too smart and throws it away. Grrr. */ - - /* XXX disable for now - int *dummy_addr = &_dl_starting_up; - - __libc_multiple_libcs = dummy_addr && !_dl_starting_up; */ -#endif - - /* Store the lowest stack address. */ - __libc_stack_end = __libc_start_data.stack; - - /* Used by setenv */ - __environ = __libc_start_data.envp; - -#ifndef SHARED - /* Clear errno. */ - errno = 0; - - /* Some security at this point. Prevent starting a SUID binary where - the standard file descriptors are not opened. We have to do this - only for statically linked applications since otherwise the dynamic - loader did the work already. */ - if (__builtin_expect (__libc_enable_secure, 0)) - __libc_check_standard_fds (); - -#endif - - /* Register the destructor of the dynamic linker if there is any. */ - if (__builtin_expect (__libc_start_data.rtld_fini != NULL, 1)) - __cxa_atexit ((void (*) (void *)) __libc_start_data.rtld_fini, NULL, NULL); - - /* Call the initializer of the libc. This is only needed here if we - are compiling for the static library in which case we haven't - run the constructors in `_dl_start_user'. */ -#ifndef SHARED - __libc_init_first (__libc_start_data.argc, __libc_start_data.argv, - __libc_start_data.envp); -#endif - - /* Register the destructor of the program, if any. */ - if (__libc_start_data.fini) - __cxa_atexit ((void (*) (void *)) __libc_start_data.fini, NULL, NULL); - - /* Call the initializer of the program, if any. */ -#ifdef SHARED - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) - _dl_debug_printf ("\ninitialize program: %s\n\n", - __libc_start_data.argv[0]); -#endif - if (__libc_start_data.init) - (*__libc_start_data.init) (); - -#ifdef SHARED - if (__builtin_expect (GL(dl_debug_mask) & DL_DEBUG_IMPCALLS, 0)) - _dl_debug_printf ("\ntransferring control: %s\n\n", - __libc_start_data.argv[0]); -#endif - - exit ((*__libc_start_data.main) (__libc_start_data.argc, - __libc_start_data.argv, - __libc_start_data.envp)); -} diff --git a/sysdeps/unix/sysv/aix/link.c b/sysdeps/unix/sysv/aix/link.c deleted file mode 100644 index 2cacbeb..0000000 --- a/sysdeps/unix/sysv/aix/link.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__link (from, to) - const char *from; - const char *to; -{ - return link (from, to); -} diff --git a/sysdeps/unix/sysv/aix/lockf.c b/sysdeps/unix/sysv/aix/lockf.c deleted file mode 100644 index 4a8c14f..0000000 --- a/sysdeps/unix/sysv/aix/lockf.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int klockf (int fd, int function, long long int size); - -int -lockf (int fd, int cmd, off_t len) -{ - return klockf (fd, cmd, len); -} diff --git a/sysdeps/unix/sysv/aix/lockf64.c b/sysdeps/unix/sysv/aix/lockf64.c deleted file mode 100644 index 529c2b4..0000000 --- a/sysdeps/unix/sysv/aix/lockf64.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int klockf (int fd, int function, long long int size); - -int -lockf64 (int fd, int cmd, off64_t len) -{ - return klockf (fd, cmd, len); -} diff --git a/sysdeps/unix/sysv/aix/lseek.c b/sysdeps/unix/sysv/aix/lseek.c deleted file mode 100644 index d4cbdbe..0000000 --- a/sysdeps/unix/sysv/aix/lseek.c +++ /dev/null @@ -1,10 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include - -off_t -__lseek (int fd, off_t offset, int whence) -{ - return lseek (fd, offset, whence); -} -strong_alias (__lseek, __libc_lseek) -libc_hidden_def (__lseek) diff --git a/sysdeps/unix/sysv/aix/lseek64.c b/sysdeps/unix/sysv/aix/lseek64.c deleted file mode 100644 index 5892663..0000000 --- a/sysdeps/unix/sysv/aix/lseek64.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int klseek (int fd, long long int offset, int sbase, - long long int *new_offp); - -off64_t -__libc_lseek64 (int fd, off64_t offset, int whence) -{ - long long int res; - - if (klseek (fd, offset, whence, &res) < 0) - res = -1ll; - - return res; -} -strong_alias (__libc_lseek64, __lseek64) -strong_alias (__libc_lseek64, lseek64) diff --git a/sysdeps/unix/sysv/aix/lxstat.c b/sysdeps/unix/sysv/aix/lxstat.c deleted file mode 100644 index 879e80c..0000000 --- a/sysdeps/unix/sysv/aix/lxstat.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -#define STX_LINK 0x01 - -extern int statx (const char *pathname, struct stat *st, int len, int cmd); - -int -__lxstat (int ver, const char *pathname, struct stat *st) -{ - assert (ver == 0); - return statx (pathname, st, sizeof (*st), STX_LINK); -} -hidden_def (__lxstat) diff --git a/sysdeps/unix/sysv/aix/lxstat64.c b/sysdeps/unix/sysv/aix/lxstat64.c deleted file mode 100644 index 73324fe..0000000 --- a/sysdeps/unix/sysv/aix/lxstat64.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -#define STX_LINK 0x01 -#define STX_64 0x08 - -extern int statx (const char *pathname, struct stat64 *st, int len, int cmd); - -int -__lxstat64 (int ver, const char *pathname, struct stat64 *st) -{ - assert (ver == 0); - return statx (pathname, st, sizeof (*st), STX_LINK | STX_64); -} -hidden_def (__lxstat64) diff --git a/sysdeps/unix/sysv/aix/madvise.c b/sysdeps/unix/sysv/aix/madvise.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/madvise.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/mkdir.c b/sysdeps/unix/sysv/aix/mkdir.c deleted file mode 100644 index 4a4e5ce..0000000 --- a/sysdeps/unix/sysv/aix/mkdir.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__mkdir (const char *name, mode_t mode) -{ - return mkdir (name, mode); -} diff --git a/sysdeps/unix/sysv/aix/mknod.c b/sysdeps/unix/sysv/aix/mknod.c deleted file mode 100644 index 8ed3d6b..0000000 --- a/sysdeps/unix/sysv/aix/mknod.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__mknod (path, mode, device) - const char *path; - mode_t mode; - dev_t device; -{ - return mknod (path, mode, device); -} diff --git a/sysdeps/unix/sysv/aix/mmap.c b/sysdeps/unix/sysv/aix/mmap.c deleted file mode 100644 index cd967d3..0000000 --- a/sysdeps/unix/sysv/aix/mmap.c +++ /dev/null @@ -1,9 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include -#include - -void * -__mmap (void *addr, size_t len, int prot, int flags, int fd, off_t offset) -{ - return mmap (addr, len, prot, flags, fd, offset); -} diff --git a/sysdeps/unix/sysv/aix/mmap64.c b/sysdeps/unix/sysv/aix/mmap64.c deleted file mode 100644 index ae70ef4..0000000 --- a/sysdeps/unix/sysv/aix/mmap64.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern int kmmap (void *addr, size_t len, int prot, int flags, int fd, - long long int offset); - -void * -__mmap64 (void *addr, size_t len, int prot, int flags, int fd, off64_t offset) -{ - return kmmap (addr, len, prot, flags, fd, offset); -} -strong_alias (__mmap64, mmap64) diff --git a/sysdeps/unix/sysv/aix/mprotect.c b/sysdeps/unix/sysv/aix/mprotect.c deleted file mode 100644 index 8bf95ab..0000000 --- a/sysdeps/unix/sysv/aix/mprotect.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__mprotect (void *addr, size_t len, int prot) -{ - return mprotect (addr, len, prot); -} diff --git a/sysdeps/unix/sysv/aix/msgctl.c b/sysdeps/unix/sysv/aix/msgctl.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/msgctl.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/msgget.c b/sysdeps/unix/sysv/aix/msgget.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/msgget.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/msgrcv.c b/sysdeps/unix/sysv/aix/msgrcv.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/msgrcv.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/msgsnd.c b/sysdeps/unix/sysv/aix/msgsnd.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/msgsnd.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/msync.c b/sysdeps/unix/sysv/aix/msync.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/msync.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/munmap.c b/sysdeps/unix/sysv/aix/munmap.c deleted file mode 100644 index 7f583be..0000000 --- a/sysdeps/unix/sysv/aix/munmap.c +++ /dev/null @@ -1,8 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include - -int -__munmap (void *addr, size_t len) -{ - return munmap (addr, len); -} diff --git a/sysdeps/unix/sysv/aix/nanosleep.c b/sysdeps/unix/sysv/aix/nanosleep.c deleted file mode 100644 index 842275f..0000000 --- a/sysdeps/unix/sysv/aix/nanosleep.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -struct timestruc_t -{ - time_t tv_sec; /* seconds. */ - suseconds_t tv_nsec; /* and nanoseconds. */ -}; - - -extern int _nsleep (struct timestruc_t *rqtp, struct timestruc_t *rmtp); - -int -__libc_nanosleep (const struct timespec *req, struct timespec *rem) -{ - assert (sizeof (struct timestruc_t) == sizeof (*req)); - return _nsleep ((struct timestruc_t *) req, (struct timestruc_t *) rem); -} -strong_alias (__libc_nanosleep, __nanosleep) -libc_hidden_def (__nanosleep) -strong_alias (__libc_nanosleep, nanosleep) diff --git a/sysdeps/unix/sysv/aix/net/if.h b/sysdeps/unix/sysv/aix/net/if.h deleted file mode 100644 index 20256d3..0000000 --- a/sysdeps/unix/sysv/aix/net/if.h +++ /dev/null @@ -1,196 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _NET_IF_H - -#define _NET_IF_H 1 -#include - -#include -#include - -/* Standard interface flags. */ -enum - { - IFF_UP = 0x1, /* Interface is up. */ -#define IFF_UP IFF_UP - IFF_BROADCAST = 0x2, /* Broadcast address valid. */ -#define IFF_BROADCAST IFF_BROADCAST - IFF_DEBUG = 0x4, /* Turn on debugging. */ -#define IFF_DEBUG IFF_DEBUG - IFF_LOOPBACK = 0x8, /* Is a loopback net. */ -#define IFF_LOOPBACK IFF_LOOPBACK - IFF_POINTOPOINT = 0x10, /* Interface is point-to-point link. */ -#define IFF_POINTOPOINT IFF_POINTOPOINT - IFF_NOTRAILERS = 0x20, /* Avoid use of trailers. */ -#define IFF_NOTRAILERS IFF_NOTRAILERS - IFF_RUNNING = 0x40, /* Resources allocated. */ -#define IFF_RUNNING IFF_RUNNING - IFF_NOARP = 0x80, /* No address resolution protocol. */ -#define IFF_NOARP IFF_NOARP - IFF_PROMISC = 0x100, /* Receive all packets. */ -#define IFF_PROMISC IFF_PROMISC - - /* Not supported */ - IFF_ALLMULTI = 0x200, /* Receive all multicast packets. */ -#define IFF_ALLMULTI IFF_ALLMULTI - - IFF_OACTIVE = 0x400, /* Transmission in progress. */ -#define IFF_OACTIVE IFF_OACTIVE - IFF_SIMPLEX = 0x800, /* Cannot hear own transmissions. */ -#define IFF_SIMPLEX IFF_SIMPLEX - IFF_DO_HW_LOOPBACK = 0x10000, /* Force loopback through hardware. */ -#define IFF_DO_HW_LOOPBACK IFF_DO_HW_LOOPBACK - IFF_ALLCAST = 0x20000, /* Global broadcast. */ -#define IFF_ALLCAST IFF_ALLCAST - IFF_BRIDGE = 0x40000, /* Receive all bridge packets. */ -#define IFF_BRIDGE IFF_BRIDGE - IFF_NOECHO = IFF_SIMPLEX, /* Reeives echo packets. */ -#define IFF_NOECHO IFF_NOECHO - }; - -/* The ifaddr structure contains information about one address of an - interface. They are maintained by the different address families, - are allocated and attached when an address is set, and are linked - together so all addresses for an interface can be located. */ - -struct ifaddr - { - struct sockaddr ifa_addr; /* Address of interface. */ - union - { - struct sockaddr ifu_broadaddr; - struct sockaddr ifu_dstaddr; - } ifa_ifu; - struct sockaddr *ifa_netmask; /* Used to determine subnet. */ - struct iface *ifa_ifp; /* Back-pointer to interface. */ - struct ifaddr *ifa_next; /* Next address for interface. */ - void (*ifa_rtrequest) (void); - struct rtentry *ifa_rt; - unsigned short int ifa_flags; - short int ifa_refcnt; - }; - -#define ifa_broadaddr ifa_ifu.ifu_broadaddr /* broadcast address */ -#define ifa_dstaddr ifa_ifu.ifu_dstaddr /* other end of link */ - -/* Interface request structure used for socket ioctl's. All interface - ioctl's must have parameter definitions which begin with ifr_name. - The remainder may be interface specific. */ - -struct ifreq - { -#define IFHWADDRLEN 6 -#define IFNAMSIZ 16 - union - { - char ifrn_name[IFNAMSIZ]; /* Interface name, e.g. "en0". */ - } ifr_ifrn; - - union - { - struct sockaddr ifru_addr; - struct sockaddr ifru_dstaddr; - struct sockaddr ifru_broadaddr; - struct sockaddr ifru_netmask; - struct sockaddr ifru_hwaddr; - short int ifru_flags; - int ifru_ivalue; - unsigned int ifru_mtu; - char ifru_slave[IFNAMSIZ]; /* Just fits the size */ - __caddr_t ifru_data; - unsigned short int ifru_site6; - } ifr_ifru; - }; - -/* Old AIX 3.1 version. */ -struct oifreq -{ - char ifr_name[IFNAMSIZ]; /* if name, e.g. "en0" */ - union - { - struct sockaddr ifru_addr; - struct sockaddr ifru_dstaddr; - struct sockaddr ifru_broadaddr; - int ifru_flags; - int ifru_metric; - caddr_t ifru_data; - unsigned int ifru_mtu; - } ifr_ifru; - unsigned char reserved[8]; -}; - - -#define ifr_name ifr_ifrn.ifrn_name /* interface name */ -#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */ -#define ifr_addr ifr_ifru.ifru_addr /* address */ -#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */ -#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */ -#define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */ -#define ifr_flags ifr_ifru.ifru_flags /* flags */ -#define ifr_metric ifr_ifru.ifru_ivalue /* metric */ -#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */ -#define ifr_slave ifr_ifru.ifru_slave /* slave device */ -#define ifr_data ifr_ifru.ifru_data /* for use by interface */ -#define ifr_ifindex ifr_ifru.ifru_ivalue /* interface index */ -#define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */ -#define ifr_baudrate ifr_ifru.ifru_ivalue /* link bandwidth */ -#define ifr_qlen ifr_ifru.ifru_ivalue /* queue length */ -#define ifr_site6 ifr_ifru.ifru_site6 /* IPv6 site index */ - - -/* Structure used in SIOCGIFCONF request. Used to retrieve interface - configuration for machine (useful for programs which must know all - networks accessible). */ - -struct ifconf - { - int ifc_len; /* Size of buffer. */ - union - { - __caddr_t ifcu_buf; - struct ifreq *ifcu_req; - } ifc_ifcu; - }; -#define ifc_buf ifc_ifcu.ifcu_buf /* Buffer address. */ -#define ifc_req ifc_ifcu.ifcu_req /* Array of structures. */ - -__BEGIN_DECLS - -/* Convert an interface name to an index, and vice versa. */ - -extern unsigned int if_nametoindex (__const char *__ifname) __THROW; -extern char *if_indextoname (unsigned int __ifindex, char *__ifname) __THROW; - -/* Return a list of all interfaces and their indices. */ - -struct if_nameindex - { - unsigned int if_index; /* 1, 2, ... */ - char *if_name; /* null terminated name: "eth0", ... */ - }; - -extern struct if_nameindex *if_nameindex (void) __THROW; - -/* Free the data returned from if_nameindex. */ - -extern void if_freenameindex (struct if_nameindex *__ptr) __THROW; - -__END_DECLS - -#endif /* net/if.h */ diff --git a/sysdeps/unix/sysv/aix/open.c b/sysdeps/unix/sysv/aix/open.c deleted file mode 100644 index 2b42f8e..0000000 --- a/sysdeps/unix/sysv/aix/open.c +++ /dev/null @@ -1,40 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -int -__open (const char *file, int oflag, ...) -{ - int mode = 0; - - if (oflag & O_CREAT) - { - va_list arg; - va_start (arg, oflag); - mode = va_arg (arg, int); - va_end (arg); - } - - return open (file, oflag, mode); -} -libc_hidden_def (__open) -strong_alias (__open, __libc_open) -libc_hidden_def (__libc_open) diff --git a/sysdeps/unix/sysv/aix/pipe.c b/sysdeps/unix/sysv/aix/pipe.c deleted file mode 100644 index 4a3ba1c..0000000 --- a/sysdeps/unix/sysv/aix/pipe.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__pipe (pipedes) - int pipedes[2]; -{ - return pipe (pipedes); -} -libc_hidden_def (__pipe) diff --git a/sysdeps/unix/sysv/aix/poll.c b/sysdeps/unix/sysv/aix/poll.c deleted file mode 100644 index 5ce5409..0000000 --- a/sysdeps/unix/sysv/aix/poll.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__poll (fds, nfds, timeout) - struct pollfd *fds; - nfds_t nfds; - int timeout; -{ - return poll (fds, nfds, timeout); -} -libc_hidden_def (__poll) diff --git a/sysdeps/unix/sysv/aix/posix_madvise.c b/sysdeps/unix/sysv/aix/posix_madvise.c deleted file mode 100644 index 7ab4bed..0000000 --- a/sysdeps/unix/sysv/aix/posix_madvise.c +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include - -int -posix_madvise (void *addr, size_t len, int advise) -{ - return madvise (addr, len, advise) ? errno : 0; -} diff --git a/sysdeps/unix/sysv/aix/powerpc/memset.c b/sysdeps/unix/sysv/aix/powerpc/memset.c deleted file mode 100644 index 352db13..0000000 --- a/sysdeps/unix/sysv/aix/powerpc/memset.c +++ /dev/null @@ -1,21 +0,0 @@ -/* Copyright (C) 2001, 2005 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - -/* Until the cache line issues are resolved use the generic implementation. */ -#include diff --git a/sysdeps/unix/sysv/aix/powerpc/register-dump.h b/sysdeps/unix/sysv/aix/powerpc/register-dump.h deleted file mode 100644 index f0d8b99..0000000 --- a/sysdeps/unix/sysv/aix/powerpc/register-dump.h +++ /dev/null @@ -1,281 +0,0 @@ -/* Dump registers. - Copyright (C) 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* We will print the register dump in this format: - -Register dump: -fp0-3: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp4-7: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp8-11: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp12-15: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp16-19: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp20-23: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp24-27: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 -fp28-31: 0000000000000000 0000000000000000 0000000000000000 0000000000000000 - -r00-07 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 -r08-15 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 -r16-23 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 -r24-31 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 - - trap 00000000 iar 00000000 msr 00000000 cr 00000000 - lr 00000000 ctr 00000000 xer 00000000 mq 00000000 - tid 00000000 fpscr 00000000 - -*/ - - -static void -hexvalue (unsigned long int value, char *buf, size_t len) -{ - char *cp = _itoa_word (value, buf + len, 16, 0); - while (cp > buf) - *--cp = '0'; -} - - -static void -register_dump (int fd, struct sigcontext *ctx) -{ - char regs[108][8]; - struct iovec iov[38]; - struct __mstsafe *reg_state; - int i; - int ii; - size_t nr = 0; - -#define ADD_STRING(str) \ - iov[nr].iov_base = (char *) str; \ - iov[nr].iov_len = strlen (str); \ - ++nr -#define ADD_MEM(str, len) \ - iov[nr].iov_base = str; \ - iov[nr].iov_len = len; \ - ++nr - - reg_state = (struct __mstsafe *)&ctx->sc_jmpbuf.__jmp_context; - - hexvalue (reg_state->__excp_type, regs[0], 8); - hexvalue (reg_state->__iar, regs[1], 8); - hexvalue (reg_state->__msr, regs[2], 8); - hexvalue (reg_state->__cr, regs[3], 8); - hexvalue (reg_state->__lr, regs[4], 8); - hexvalue (reg_state->__ctr, regs[5], 8); - hexvalue (reg_state->__xer, regs[6], 8); - hexvalue (reg_state->__mq, regs[7], 8); - hexvalue (reg_state->__tid, regs[8], 8); - hexvalue (reg_state->__fpscr, regs[9], 8); - - ii=10; - for (i = 0; i <= 96; i++,ii++) - hexvalue (reg_state->__gpr[i], regs[ii], 8); - - /* Generate the output. */ - ADD_STRING ("Register dump:\n\nfp0-3: "); - ADD_MEM (regs[42], 8); - ADD_MEM (regs[43], 8); - ADD_STRING (" "); - ADD_MEM (regs[44], 8); - ADD_MEM (regs[45], 8); - ADD_STRING (" "); - ADD_MEM (regs[46], 8); - ADD_MEM (regs[47], 8); - ADD_STRING (" "); - ADD_MEM (regs[48], 8); - ADD_MEM (regs[49], 8); - ADD_STRING ("\nfp4-7: "); - ADD_MEM (regs[50], 8); - ADD_MEM (regs[51], 8); - ADD_STRING (" "); - ADD_MEM (regs[52], 8); - ADD_MEM (regs[53], 8); - ADD_STRING (" "); - ADD_MEM (regs[54], 8); - ADD_MEM (regs[55], 8); - ADD_STRING (" "); - ADD_MEM (regs[56], 8); - ADD_MEM (regs[57], 8); - ADD_STRING ("\nfp8-11: "); - ADD_MEM (regs[58], 8); - ADD_MEM (regs[59], 8); - ADD_STRING (" "); - ADD_MEM (regs[60], 8); - ADD_MEM (regs[61], 8); - ADD_STRING (" "); - ADD_MEM (regs[62], 8); - ADD_MEM (regs[63], 8); - ADD_STRING (" "); - ADD_MEM (regs[64], 8); - ADD_MEM (regs[65], 8); - ADD_STRING ("\nfp12-15: "); - ADD_MEM (regs[66], 8); - ADD_MEM (regs[67], 8); - ADD_STRING (" "); - ADD_MEM (regs[68], 8); - ADD_MEM (regs[69], 8); - ADD_STRING (" "); - ADD_MEM (regs[70], 8); - ADD_MEM (regs[71], 8); - ADD_STRING (" "); - ADD_MEM (regs[72], 8); - ADD_MEM (regs[73], 8); - ADD_STRING ("\nfp16-19: "); - ADD_MEM (regs[74], 8); - ADD_MEM (regs[75], 8); - ADD_STRING (" "); - ADD_MEM (regs[76], 8); - ADD_MEM (regs[78], 8); - ADD_STRING (" "); - ADD_MEM (regs[79], 8); - ADD_MEM (regs[80], 8); - ADD_STRING (" "); - ADD_MEM (regs[81], 8); - ADD_MEM (regs[82], 8); - ADD_STRING ("\nfp20-23: "); - ADD_MEM (regs[83], 8); - ADD_MEM (regs[84], 8); - ADD_STRING (" "); - ADD_MEM (regs[85], 8); - ADD_MEM (regs[86], 8); - ADD_STRING (" "); - ADD_MEM (regs[87], 8); - ADD_MEM (regs[88], 8); - ADD_STRING (" "); - ADD_MEM (regs[89], 8); - ADD_MEM (regs[90], 8); - ADD_STRING ("\nfp24-27: "); - ADD_MEM (regs[91], 8); - ADD_MEM (regs[92], 8); - ADD_STRING (" "); - ADD_MEM (regs[93], 8); - ADD_MEM (regs[94], 8); - ADD_STRING (" "); - ADD_MEM (regs[95], 8); - ADD_MEM (regs[96], 8); - ADD_STRING (" "); - ADD_MEM (regs[97], 8); - ADD_MEM (regs[98], 8); - ADD_STRING ("\nfp28-31: "); - ADD_MEM (regs[99], 8); - ADD_MEM (regs[100], 8); - ADD_STRING (" "); - ADD_MEM (regs[101], 8); - ADD_MEM (regs[102], 8); - ADD_STRING (" "); - ADD_MEM (regs[103], 8); - ADD_MEM (regs[104], 8); - ADD_STRING (" "); - ADD_MEM (regs[105], 8); - ADD_MEM (regs[106], 8); - ADD_STRING ("\n\nr00-07 "); - ADD_MEM (regs[10], 8); - ADD_STRING (" "); - ADD_MEM (regs[11], 8); - ADD_STRING (" "); - ADD_MEM (regs[12], 8); - ADD_STRING (" "); - ADD_MEM (regs[13], 8); - ADD_STRING (" "); - ADD_MEM (regs[14], 8); - ADD_STRING (" "); - ADD_MEM (regs[15], 8); - ADD_STRING (" "); - ADD_MEM (regs[16], 8); - ADD_STRING (" "); - ADD_MEM (regs[17], 8); - ADD_STRING ("\nr08-15 "); - ADD_MEM (regs[18], 8); - ADD_STRING (" "); - ADD_MEM (regs[19], 8); - ADD_STRING (" "); - ADD_MEM (regs[20], 8); - ADD_STRING (" "); - ADD_MEM (regs[21], 8); - ADD_STRING (" "); - ADD_MEM (regs[22], 8); - ADD_STRING (" "); - ADD_MEM (regs[23], 8); - ADD_STRING (" "); - ADD_MEM (regs[24], 8); - ADD_STRING (" "); - ADD_MEM (regs[25], 8); - ADD_STRING ("\nr16-23 "); - ADD_MEM (regs[26], 8); - ADD_STRING (" "); - ADD_MEM (regs[27], 8); - ADD_STRING (" "); - ADD_MEM (regs[28], 8); - ADD_STRING (" "); - ADD_MEM (regs[29], 8); - ADD_STRING (" "); - ADD_MEM (regs[30], 8); - ADD_STRING (" "); - ADD_MEM (regs[31], 8); - ADD_STRING (" "); - ADD_MEM (regs[32], 8); - ADD_STRING (" "); - ADD_MEM (regs[33], 8); - ADD_STRING ("\nr24-31 "); - ADD_MEM (regs[34], 8); - ADD_STRING (" "); - ADD_MEM (regs[35], 8); - ADD_STRING (" "); - ADD_MEM (regs[36], 8); - ADD_STRING (" "); - ADD_MEM (regs[37], 8); - ADD_STRING (" "); - ADD_MEM (regs[38], 8); - ADD_STRING (" "); - ADD_MEM (regs[39], 8); - ADD_STRING (" "); - ADD_MEM (regs[40], 8); - ADD_STRING (" "); - ADD_MEM (regs[41], 8); - ADD_STRING ("\n\n trap "); - ADD_MEM (regs[0], 8); - ADD_STRING (" iar "); - ADD_MEM (regs[1], 8); - ADD_STRING (" msr "); - ADD_MEM (regs[2], 8); - ADD_STRING (" cr "); - ADD_MEM (regs[3], 8); - ADD_STRING ("\n lr "); - ADD_MEM (regs[4], 8); - ADD_STRING (" ctr "); - ADD_MEM (regs[5], 8); - ADD_STRING (" xer "); - ADD_MEM (regs[6], 8); - ADD_STRING (" mq "); - ADD_MEM (regs[7], 8); - ADD_STRING ("\n tid "); - ADD_MEM (regs[8], 8); - ADD_STRING (" fpscr "); - ADD_MEM (regs[9], 8); - ADD_STRING ("\n"); - - /* Write the stuff out. */ - writev (fd, iov, nr); -} - -#define REGISTER_DUMP register_dump (fd, ctx) - diff --git a/sysdeps/unix/sysv/aix/powerpc/s_lrint.c b/sysdeps/unix/sysv/aix/powerpc/s_lrint.c deleted file mode 100644 index 1a8b590..0000000 --- a/sysdeps/unix/sysv/aix/powerpc/s_lrint.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Round floating-point to integer. AIX/PowerPC version. - Copyright (C) 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* This code will also work for a 'float' argument. */ -asm ("\ - .globl .__lrintf - .globl .lrintf - .weak .lrintf - .set .__lrintf,.__lrint - .set .lrintf,.__lrint -"); diff --git a/sysdeps/unix/sysv/aix/pread.c b/sysdeps/unix/sysv/aix/pread.c deleted file mode 100644 index 8d8bfd7..0000000 --- a/sysdeps/unix/sysv/aix/pread.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int kpread (int fd, void *buf, size_t len, long long int off); - -ssize_t -__pread (int fd, void *buf, size_t len, off_t off) -{ - return kpread (fd, buf, len, off); -} -weak_alias (__pread, pread) diff --git a/sysdeps/unix/sysv/aix/pread64.c b/sysdeps/unix/sysv/aix/pread64.c deleted file mode 100644 index 0d4df22..0000000 --- a/sysdeps/unix/sysv/aix/pread64.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int kpread (int fd, void *buf, size_t len, long long int off); - -ssize_t -__pread64 (int fd, void *buf, size_t len, off64_t off) -{ - return kpread (fd, buf, len, off); -} -weak_alias (__pread64, pread64) diff --git a/sysdeps/unix/sysv/aix/profil-counter.h b/sysdeps/unix/sysv/aix/profil-counter.h deleted file mode 100644 index 2492a63..0000000 --- a/sysdeps/unix/sysv/aix/profil-counter.h +++ /dev/null @@ -1,27 +0,0 @@ -/* Machine-dependent SIGPROF signal handler. AIX version. - Copyright (C) 1996, 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* In many Unix systems signal handlers are called like this - and the interrupted PC is easily findable in the `struct sigcontext'. */ - -static void -profil_counter (int signr, int code, struct sigcontext *scp) -{ - profil_count ((void *) scp->sc_jmpbuf.__jmp_context.__gpr[0]); -} diff --git a/sysdeps/unix/sysv/aix/read.c b/sysdeps/unix/sysv/aix/read.c deleted file mode 100644 index ca0edb3..0000000 --- a/sysdeps/unix/sysv/aix/read.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int kread (int fd, void *buf, size_t len); - -ssize_t -__libc_read (int fd, void *buf, size_t len) -{ - return kread (fd, buf, len); -} -libc_hidden_def (__libc_read) -strong_alias (__libc_read, __read) -libc_hidden_def (__read) -strong_alias (__libc_read, read) diff --git a/sysdeps/unix/sysv/aix/readlink.c b/sysdeps/unix/sysv/aix/readlink.c deleted file mode 100644 index 2770358..0000000 --- a/sysdeps/unix/sysv/aix/readlink.c +++ /dev/null @@ -1,8 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include - -int -__readlink (const char *path, char *buf, size_t len) -{ - return readlink (path, buf, len); -} diff --git a/sysdeps/unix/sysv/aix/readv.c b/sysdeps/unix/sysv/aix/readv.c deleted file mode 100644 index eddca0f..0000000 --- a/sysdeps/unix/sysv/aix/readv.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 1991, 1995-1998, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern ssize_t kreadv (int fd, const struct iovec *iovp, size_t iovcnt, - long int ext); - -/* Read data from file descriptor FD, and put the result in the - buffers described by VECTOR, which is a vector of COUNT `struct iovec's. - The buffers are filled in the order specified. - Operates just like `read' (see ) except that data are - put in VECTOR instead of a contiguous buffer. */ -ssize_t -__libc_readv (fd, vector, count) - int fd; - const struct iovec *vector; - int count; -{ - return kreadv (fd, vector, count, 0); -} -strong_alias (__libc_readv, __readv) -weak_alias (__libc_readv, readv) diff --git a/sysdeps/unix/sysv/aix/recv.c b/sysdeps/unix/sysv/aix/recv.c deleted file mode 100644 index b8ae73e..0000000 --- a/sysdeps/unix/sysv/aix/recv.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 2000, 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern ssize_t recv (int fd, void *buf, size_t n, int flags); - - -ssize_t -__recv (int fd, void *buf, size_t n, int flags) -{ - return recv (fd, buf, n, flags); -} diff --git a/sysdeps/unix/sysv/aix/recvfrom.c b/sysdeps/unix/sysv/aix/recvfrom.c deleted file mode 100644 index 08ff111..0000000 --- a/sysdeps/unix/sysv/aix/recvfrom.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern ssize_t nrecvfrom (int s, void *uap_buf, size_t len, int flags, - void *uap_from, socklen_t *uap_fromlenaddr); - -ssize_t -__recvfrom (int fd, void *buf, size_t n, int flags, __SOCKADDR_ARG addr, - socklen_t *addr_len) -{ - return nrecvfrom (fd, buf, n, flags, addr.__sockaddr__, addr_len); -} - -weak_alias (__recvfrom, recvfrom) diff --git a/sysdeps/unix/sysv/aix/recvmsg.c b/sysdeps/unix/sysv/aix/recvmsg.c deleted file mode 100644 index 201c267..0000000 --- a/sysdeps/unix/sysv/aix/recvmsg.c +++ /dev/null @@ -1,29 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern ssize_t nrecvmsg (int s, struct msghdr *uap_msg, int flags); - -ssize_t -__recvmsg (int fd, struct msghdr *message, int flags) -{ - return nrecvmsg (fd, message, flags); -} - -weak_alias (__recvmsg, recvmsg) diff --git a/sysdeps/unix/sysv/aix/rename.c b/sysdeps/unix/sysv/aix/rename.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/rename.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/revoke.c b/sysdeps/unix/sysv/aix/revoke.c deleted file mode 100644 index 8f6a484..0000000 --- a/sysdeps/unix/sysv/aix/revoke.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Revoke the access of all descriptors currently open on a file. AIX version. - Copyright (C) 1995, 1996, 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int frevoke (int fdes); - -int -revoke (file) - const char *file; -{ - int fd; - int res; - - fd = open (file, O_RDONLY); - if (fd < 0) - return -1; - - res = frevoke (fd); - (void) close (fd); - - return res; -} diff --git a/sysdeps/unix/sysv/aix/rmdir.c b/sysdeps/unix/sysv/aix/rmdir.c deleted file mode 100644 index 91c6006..0000000 --- a/sysdeps/unix/sysv/aix/rmdir.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__rmdir (const char *name) -{ - return rmdir (name); -} diff --git a/sysdeps/unix/sysv/aix/sbrk.c b/sysdeps/unix/sysv/aix/sbrk.c deleted file mode 100644 index 0a590ee..0000000 --- a/sysdeps/unix/sysv/aix/sbrk.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -void * -__sbrk (intptr_t delta) -{ - return sbrk (delta); -} -libc_hidden_def (__sbrk) diff --git a/sysdeps/unix/sysv/aix/sched_yield.c b/sysdeps/unix/sysv/aix/sched_yield.c deleted file mode 100644 index b5fbc07..0000000 --- a/sysdeps/unix/sysv/aix/sched_yield.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1996, 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern void yield (void); - - -/* Yield the processor. */ -int -__sched_yield (void) -{ - yield (); - return 0; -} -strong_alias (__sched_yield, sched_yield) diff --git a/sysdeps/unix/sysv/aix/select.c b/sysdeps/unix/sysv/aix/select.c deleted file mode 100644 index 9bf5bae..0000000 --- a/sysdeps/unix/sysv/aix/select.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__select (nfds, readfds, writefds, exceptfds, timeout) - int nfds; - fd_set *readfds; - fd_set *writefds; - fd_set *exceptfds; - struct timeval *timeout; -{ - return select (nfds, readfds, writefds, exceptfds, timeout); -} -libc_hidden_def (__select) diff --git a/sysdeps/unix/sysv/aix/semctl.c b/sysdeps/unix/sysv/aix/semctl.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/semctl.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/semget.c b/sysdeps/unix/sysv/aix/semget.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/semget.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/semop.c b/sysdeps/unix/sysv/aix/semop.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/semop.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sendmsg.c b/sysdeps/unix/sysv/aix/sendmsg.c deleted file mode 100644 index 5b1baf6..0000000 --- a/sysdeps/unix/sysv/aix/sendmsg.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int nsendmsg (int s, const void *uap_msg, int flags); - -ssize_t -__sendmsg (int fd, const struct msghdr *message, int flags) -{ - return nsendmsg (fd, message, flags); -} - -weak_alias (__sendmsg, sendmsg) - diff --git a/sysdeps/unix/sysv/aix/sendto.c b/sysdeps/unix/sysv/aix/sendto.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/sendto.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setegid.c b/sysdeps/unix/sysv/aix/setegid.c deleted file mode 100644 index 75123ce..0000000 --- a/sysdeps/unix/sysv/aix/setegid.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_EFFECTIVE 0x01 - - -extern int setgidx (int mask, gid_t gid); - -int -__setegid (gid_t gid) -{ - return setgidx (ID_EFFECTIVE, gid); -} -strong_alias (__setegid, setegid) -libc_hidden_def (setegid) diff --git a/sysdeps/unix/sysv/aix/seteuid.c b/sysdeps/unix/sysv/aix/seteuid.c deleted file mode 100644 index 6ea7e7b..0000000 --- a/sysdeps/unix/sysv/aix/seteuid.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_EFFECTIVE 0x01 - - -extern int setuidx (int mask, uid_t uid); - -int -__seteuid (uid_t uid) -{ - return setuidx (ID_EFFECTIVE, uid); -} -strong_alias (__seteuid, seteuid) -libc_hidden_def (seteuid) diff --git a/sysdeps/unix/sysv/aix/setgid.c b/sysdeps/unix/sysv/aix/setgid.c deleted file mode 100644 index 5b80381..0000000 --- a/sysdeps/unix/sysv/aix/setgid.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_REAL 0x02 - - -extern int setgidx (int mask, gid_t gid); - -int -__setgid (gid_t gid) -{ - return setgidx (ID_REAL, gid); -} -strong_alias (__setgid, setgid) diff --git a/sysdeps/unix/sysv/aix/setgroups.c b/sysdeps/unix/sysv/aix/setgroups.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/setgroups.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setitimer.c b/sysdeps/unix/sysv/aix/setitimer.c deleted file mode 100644 index d7e741a..0000000 --- a/sysdeps/unix/sysv/aix/setitimer.c +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 1991, 1994, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include - -extern int __libc_nanosleep (const struct timespec *requested_time, - struct timespec *remaining); -int -__setitimer (which, new, old) - enum __itimer_which which; - const struct itimerval *new; - struct itimerval *old; -{ - if (new == NULL) - { - __set_errno (EINVAL); - return -1; - } - - switch (which) - { - default: - __set_errno (EINVAL); - return -1; - - case ITIMER_VIRTUAL: - case ITIMER_PROF: - __set_errno (ENOSYS); - return -1; - - case ITIMER_REAL: - break; - } - - switch (__fork()) - { - case -1: exit(-1); - case 0: - { - struct timespec ts ={.tv_sec = (long int)new->it_value.tv_sec, .tv_nsec = 0}; - __libc_nanosleep(&ts,&ts); - __kill(getppid(), SIGALRM); - exit(0); - } - default: - } - return 0; -} -weak_alias (__setitimer, setitimer) diff --git a/sysdeps/unix/sysv/aix/setpgid.c b/sysdeps/unix/sysv/aix/setpgid.c deleted file mode 100644 index b076f28..0000000 --- a/sysdeps/unix/sysv/aix/setpgid.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__setpgid (pid, pgid) - int pid; - int pgid; -{ - return setpgid (pid, pgid); -} -libc_hidden_def (__setpgid) diff --git a/sysdeps/unix/sysv/aix/setpgrp.c b/sysdeps/unix/sysv/aix/setpgrp.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/setpgrp.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setpriority.c b/sysdeps/unix/sysv/aix/setpriority.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/setpriority.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setregid.c b/sysdeps/unix/sysv/aix/setregid.c deleted file mode 100644 index 3581230..0000000 --- a/sysdeps/unix/sysv/aix/setregid.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_EFFECTIVE 0x01 -#define ID_REAL 0x02 - - -extern int setgidx (int mask, gid_t gid); - -int -__setregid (gid_t rgid, gid_t egid) -{ - int res; - - if (rgid == egid) - return setgidx (ID_EFFECTIVE | ID_REAL, egid); - - res = setgidx (ID_REAL, rgid); - if (res == 0) - res = setgidx (ID_EFFECTIVE, egid); - - return res; -} -strong_alias (__setregid, setregid) diff --git a/sysdeps/unix/sysv/aix/setreuid.c b/sysdeps/unix/sysv/aix/setreuid.c deleted file mode 100644 index 430d2fe..0000000 --- a/sysdeps/unix/sysv/aix/setreuid.c +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_EFFECTIVE 0x01 -#define ID_REAL 0x02 - - -extern int setuidx (int mask, uid_t uid); - -int -__setreuid (uid_t ruid, uid_t euid) -{ - int res; - - if (ruid == euid) - return setuidx (ID_EFFECTIVE | ID_REAL, euid); - - res = setuidx (ID_REAL, ruid); - if (res == 0) - res = setuidx (ID_EFFECTIVE, euid); - - return res; -} -strong_alias (__setreuid, setreuid) diff --git a/sysdeps/unix/sysv/aix/setrlimit.c b/sysdeps/unix/sysv/aix/setrlimit.c deleted file mode 100644 index 818819d..0000000 --- a/sysdeps/unix/sysv/aix/setrlimit.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__setrlimit (enum __rlimit_resource resource, const struct rlimit *rlimits) -{ - return setrlimit (resource, rlimits); -} diff --git a/sysdeps/unix/sysv/aix/setrlimit64.c b/sysdeps/unix/sysv/aix/setrlimit64.c deleted file mode 100644 index f305c6f..0000000 --- a/sysdeps/unix/sysv/aix/setrlimit64.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__setrlimit64 (enum __rlimit_resource resource, const struct rlimit64 *rlimits) -{ - return setrlimit64 (resource, rlimits); -} diff --git a/sysdeps/unix/sysv/aix/setsid.c b/sysdeps/unix/sysv/aix/setsid.c deleted file mode 100644 index c017c12..0000000 --- a/sysdeps/unix/sysv/aix/setsid.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__setsid () -{ - return setsid (); -} diff --git a/sysdeps/unix/sysv/aix/setsockopt.c b/sysdeps/unix/sysv/aix/setsockopt.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/setsockopt.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/setuid.c b/sysdeps/unix/sysv/aix/setuid.c deleted file mode 100644 index 1772fc7..0000000 --- a/sysdeps/unix/sysv/aix/setuid.c +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#define ID_REAL 0x02 - - -extern int setuidx (int mask, uid_t uid); - -int -__setuid (uid_t uid) -{ - return setuidx (ID_REAL, uid); -} -strong_alias (__setuid, setuid) diff --git a/sysdeps/unix/sysv/aix/shmat.c b/sysdeps/unix/sysv/aix/shmat.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/shmat.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/shmctl.c b/sysdeps/unix/sysv/aix/shmctl.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/shmctl.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/shmdt.c b/sysdeps/unix/sysv/aix/shmdt.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/shmdt.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/shmget.c b/sysdeps/unix/sysv/aix/shmget.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/shmget.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sigaction.c b/sysdeps/unix/sysv/aix/sigaction.c deleted file mode 100644 index 6b48a50..0000000 --- a/sysdeps/unix/sysv/aix/sigaction.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1991,1995,1996,1997,2000,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern int _sigaction (int sig, const struct sigaction *act, - struct sigaction *oact); - -/* If ACT is not NULL, change the action for SIG to *ACT. - If OACT is not NULL, put the old action for SIG in *OACT. */ -int -__sigaction (sig, act, oact) - int sig; - const struct sigaction *act; - struct sigaction *oact; -{ - return _sigaction (sig, act, oact); -} -libc_hidden_def (__sigaction) -strong_alias (__sigaction, sigaction) diff --git a/sysdeps/unix/sysv/aix/sigaltstack.c b/sysdeps/unix/sysv/aix/sigaltstack.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/sigaltstack.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sigpending.c b/sysdeps/unix/sysv/aix/sigpending.c deleted file mode 100644 index 729b75a..0000000 --- a/sysdeps/unix/sysv/aix/sigpending.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1991, 1995, 1996, 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int _sigpending (sigset_t *set); - - -/* Store in SET all signals that are blocked and pending. */ -int -sigpending (set) - sigset_t *set; -{ - return _sigpending (set); -} diff --git a/sysdeps/unix/sysv/aix/sigprocmask.c b/sysdeps/unix/sysv/aix/sigprocmask.c deleted file mode 100644 index 1046903..0000000 --- a/sysdeps/unix/sysv/aix/sigprocmask.c +++ /dev/null @@ -1,8 +0,0 @@ -/* This is a system call. We only have to provide the wrapper. */ -#include - -int -__sigprocmask (int how, const sigset_t *set, sigset_t *oset) -{ - return sigprocmask (how, set, oset); -} diff --git a/sysdeps/unix/sysv/aix/sigset-cvt-mask.h b/sysdeps/unix/sysv/aix/sigset-cvt-mask.h deleted file mode 100644 index cc05fb7..0000000 --- a/sysdeps/unix/sysv/aix/sigset-cvt-mask.h +++ /dev/null @@ -1,33 +0,0 @@ -/* Convert between lowlevel sigmask and libc representation of sigset_t. - AIX version. - Copyright (C) 1998,2000,02 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -static inline int __attribute__ ((unused)) -sigset_set_old_mask (sigset_t *set, int mask) -{ - set->__losigs = (unsigned int) mask; - set->__hisigs = 0; - return 0; -} - -static inline int __attribute__ ((unused)) -sigset_get_old_mask (const sigset_t *set) -{ - return (unsigned int) set->__losigs; -} diff --git a/sysdeps/unix/sysv/aix/sigstack.c b/sysdeps/unix/sysv/aix/sigstack.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/sigstack.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sigsuspend.c b/sysdeps/unix/sysv/aix/sigsuspend.c deleted file mode 100644 index c9120d6..0000000 --- a/sysdeps/unix/sysv/aix/sigsuspend.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1991, 1995-1998, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int _sigsuspend (const sigset_t *sigmask); - - -/* Change the set of blocked signals to SET, - wait until a signal arrives, and restore the set of blocked signals. */ -int -__sigsuspend (set) - const sigset_t *set; -{ - return _sigsuspend (set); -} -libc_hidden_def (__sigsuspend) -weak_alias (__sigsuspend, sigsuspend) diff --git a/sysdeps/unix/sysv/aix/sleep.c b/sysdeps/unix/sysv/aix/sleep.c deleted file mode 100644 index aa8d76d..0000000 --- a/sysdeps/unix/sysv/aix/sleep.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1991, 1992, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __libc_nanosleep (const struct timespec *requested_time, - struct timespec *remaining); - -unsigned int -__sleep (seconds) - unsigned int seconds; -{ - struct timespec ts ={.tv_sec = (long int)seconds, .tv_nsec = 0}; - __libc_nanosleep(&ts,&ts); - return 0; -} -weak_alias (__sleep, sleep) diff --git a/sysdeps/unix/sysv/aix/socket.c b/sysdeps/unix/sysv/aix/socket.c deleted file mode 100644 index 236b1b1..0000000 --- a/sysdeps/unix/sysv/aix/socket.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__socket (int domain, int type, int protocol) -{ - return socket (domain, type, protocol); -} diff --git a/sysdeps/unix/sysv/aix/socketpair.c b/sysdeps/unix/sysv/aix/socketpair.c deleted file mode 100644 index 8adeac9..0000000 --- a/sysdeps/unix/sysv/aix/socketpair.c +++ /dev/null @@ -1,25 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__socketpair (int domain, int type, int protocol, int fds[2]) -{ - return socketpair (domain, type, protocol, fds); -} diff --git a/sysdeps/unix/sysv/aix/speed.c b/sysdeps/unix/sysv/aix/speed.c deleted file mode 100644 index 3a453a7..0000000 --- a/sysdeps/unix/sysv/aix/speed.c +++ /dev/null @@ -1,75 +0,0 @@ -/* `struct termios' speed frobnication functions. AIX version. - Copyright (C) 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* Return the output baud rate stored in *TERMIOS_P. */ -speed_t -cfgetospeed (termios_p) - const struct termios *termios_p; -{ - return termios_p->c_cflag & 0x0000000f; -} - -/* Return the input baud rate stored in *TERMIOS_P. */ -speed_t -cfgetispeed (termios_p) - const struct termios *termios_p; -{ - return (termios_p->c_cflag & 0x000f0000) >> 16; -} - -/* Set the output baud rate stored in *TERMIOS_P to SPEED. */ -int -cfsetospeed (termios_p, speed) - struct termios *termios_p; - speed_t speed; -{ - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - - termios_p->c_cflag &= ~0x0000000f; - termios_p->c_cflag |= speed & 0x0000000f; - return 0; -} -libc_hidden_def (cfsetospeed) - - -/* Set the input baud rate stored in *TERMIOS_P to SPEED. */ -int -cfsetispeed (termios_p, speed) - struct termios *termios_p; - speed_t speed; -{ - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - - termios_p->c_cflag &= ~0x000f0000; - termios_p->c_cflag |= (speed << 16) & ~0x000f0000; - return 0; -} -libc_hidden_def (cfsetispeed) diff --git a/sysdeps/unix/sysv/aix/start-libc.c b/sysdeps/unix/sysv/aix/start-libc.c deleted file mode 100644 index 0cbe79d..0000000 --- a/sysdeps/unix/sysv/aix/start-libc.c +++ /dev/null @@ -1,265 +0,0 @@ -/* Initialization code run first thing by the XCOFF startup code. AIX version. - Copyright (C) 2001, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -/* hack to use uchar's */ -typedef unsigned char uchar; -#include -#include -#include -#include - -extern void __libc_init_first (int argc, char **argv, char **envp); - -/* XXX disable for now -extern int __libc_multiple_libcs; */ - -/* XXX normally defined in generic/dl-sydep.c, hack it into existance -extern void *__libc_stack_end; */ -void *__libc_stack_end; - -struct __libc_start_data_rec -{ - void *stack; - void *toc; - int argc; - char **argv; - char **envp; - char *data; - char *text; - unsigned int mcount; - unsigned int special; - int (*main) (int, char **, char **); - void (*init) (void); - void (*fini) (void); - void (*rtld_fini) (void); -}; - -extern struct __libc_start_data_rec __libc_start_data; -extern int errno; - -/* The first piece of initialized data. */ -int __data_start = 0; - -#ifndef HAVE_ELF -/* Since gcc/crtstuff.c won't define it unless the ELF format is used - we will need to define it here. */ -void *__dso_handle = NULL; -#endif - -/* AIX kernel function */ -extern int __loadx (int flag, void *module, void *arg1, void *arg2, - void *arg3); -/* Needed by setenv */ -char **__environ; - -/* - Find __rtinit symbol - - __RTINIT *find_rtinit() - - __RTINIT *rti - pointer to __rtinit data structure - */ - -static __RTINIT * -find_rtinit (void) -{ - struct xcoffhdr *xcoff_hdr; - SCNHDR *sec_hdr; - SCNHDR *ldr_sec_hdr; - SCNHDR *data_sec_hdr; - LDSYM *ldsym_hdr; - __RTINIT *rtl; - - xcoff_hdr = (struct xcoffhdr *) __libc_start_data.text; - sec_hdr = (SCNHDR *) ((caddr_t) &xcoff_hdr->aouthdr - + xcoff_hdr->filehdr.f_opthdr); - ldr_sec_hdr = (SCNHDR *) (sec_hdr + (xcoff_hdr->aouthdr.o_snloader - 1)); - ldsym_hdr = (LDSYM *) ((caddr_t)xcoff_hdr + ldr_sec_hdr->s_scnptr - + LDHDRSZ); - - if ( __libc_start_data.mcount <= 0) - { - if (!ldr_sec_hdr->s_scnptr) - return (__RTINIT *) 0; - - if (memcmp (ldsym_hdr, RTINIT_NAME, sizeof (RTINIT_NAME) - 1)) - return (__RTINIT *) 0; - } - - data_sec_hdr = (SCNHDR *) (sec_hdr + (xcoff_hdr->aouthdr.o_sndata - 1)); - rtl = (__RTINIT *) (ldsym_hdr->l_value - + (__libc_start_data.data - data_sec_hdr->s_vaddr)); - return rtl; -} - -/* - The mod_init1 calls every initialization function for a given module. - - void mod_init1(handler, rti) - - void *handler - if NULL init funtions for modules loaded at exec time - are being executed. Otherwise, the handler points to the - module loaded. - - __RTINIT *rti - pointer to __rtinit data structure (with rti->init_offset - not equal to zero) - */ - -static void -mod_init1 (void *handler,__RTINIT *rtl) -{ - __RTINIT_DESCRIPTOR *descriptor; - - descriptor = (__RTINIT_DESCRIPTOR *) ((caddr_t) &rtl->rtl - + rtl->init_offset); - while (descriptor->f != NULL) - { - if (!(descriptor->flags & _RT_CALLED)) - { - descriptor->flags |= _RT_CALLED; - (descriptor->f) (handler, rtl, descriptor); /* execute init/fini */ - } - descriptor = (__RTINIT_DESCRIPTOR *) ((caddr_t) descriptor - + rtl->__rtinit_descriptor_size); - } -} - -/* The modinit() function performs run-time linking, if enabled, and calling - the init() function for all loaded modules. */ - -#define DL_BUFFER_SIZE 1000 - -static int -modinit (void) -{ - int *handler = 0; - __RTINIT *rtinit_info = 0; - int flag; - DL_INFO dl_buffer[DL_BUFFER_SIZE]; - DL_INFO *dl_info = dl_buffer; - int i; - - /* Find __rtinit symbols */ - rtinit_info = find_rtinit (); - - flag = DL_EXECQ; - if (rtinit_info && rtinit_info->rtl) - flag |= DL_LOAD_RTL; - - /* Get a list of modules that have __rtinit */ - if (__loadx (flag, dl_info, (void *) sizeof (dl_buffer), NULL, NULL)) - exit (0x90); - - if (dl_info[0].dlinfo_xflags & DL_INFO_OK) - { - rtinit_info = find_rtinit (); - if ((rtinit_info != NULL) & (rtinit_info->rtl != NULL)) - { - if ((*rtinit_info->rtl) (dl_info, 0)) - exit (0x90); - } - } - - /* Initialization each module loaded that has __rtinit. */ - if (dl_info[0].dlinfo_xflags & DL_INFO_OK) - { - for (i = 1; i < dl_info[0].dlinfo_arraylen + 1; ++i) - if (dl_info[i].dlinfo_flags & DL_HAS_RTINIT) - { - rtinit_info = find_rtini t(); - if (rtinit_info) - mod_init1 (handler, rtinit_info); - } - } - - return 0; -} - - -void -__libc_start_init (void) -{ - /* Do run-time linking, if enabled and call the init() - for all loaded modules. */ - if (__libc_start_data.mcount != __libc_start_data.special) - modinit (); -} - -/* For now these are just stubs. */ -void -__libc_start_fini (void) -{ -} - -void -__libc_start_rtld_fini (void) -{ -} - - -int -__libc_start_main (void) -{ - /* Store the lowest stack address. */ - __libc_stack_end = __libc_start_data.stack; - - /* Used by setenv */ - __environ = __libc_start_data.envp; - -#ifndef SHARED - /* Clear errno. */ - errno = 0; - - /* Some security at this point. Prevent starting a SUID binary where - the standard file descriptors are not opened. We have to do this - only for statically linked applications since otherwise the dynamic - loader did the work already. */ - if (__builtin_expect (__libc_enable_secure, 0)) - __libc_check_standard_fds (); - -#endif - - /* Register the destructor of the dynamic linker if there is any. */ - if (__builtin_expect (__libc_start_data.rtld_fini != NULL, 1)) - __cxa_atexit ((void (*) (void *)) __libc_start_data.rtld_fini, NULL, NULL); - - /* Call the initializer of the libc. This is only needed here if we - are compiling for the static library in which case we haven't - run the constructors in `_dl_start_user'. */ -#ifndef SHARED - __libc_init_first (__libc_start_data.argc, __libc_start_data.argv, - __libc_start_data.envp); -#endif - - /* Register the destructor of the program, if any. */ - if (__libc_start_data.fini) - __cxa_atexit ((void (*) (void *)) __libc_start_data.fini, NULL, NULL); - - /* Call the initializer of the program, if any. */ - if (__libc_start_data.init) - (*__libc_start_data.init) (); - - exit ((*__libc_start_data.main) (__libc_start_data.argc, - __libc_start_data.argv, - __libc_start_data.envp)); -} diff --git a/sysdeps/unix/sysv/aix/start.s b/sysdeps/unix/sysv/aix/start.s deleted file mode 100644 index 79d8ef4..0000000 --- a/sysdeps/unix/sysv/aix/start.s +++ /dev/null @@ -1,126 +0,0 @@ -/* Copyright (C) 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - - .file "start.s" - .toc -T.lsd: .tc __libc_start_data[tc], __libc_start_data[rw] -T.main: .tc main[tc], main[rw] -T.init: .tc __libc_start_init[tc], __libc_start_init[rw] -T.fini: .tc __libc_start_fini[tc], __libc_start_init[rw] -T.rtld_fini : .tc __libc_start_rtld_fini[tc], __libc_start_rtld_fini[rw] - - .globl __start - .globl .__start - .globl __libc_start_data - - .extern .__libc_start_main - .extern .main - .extern main - .extern __libc_start_init - .extern __libc_start_fini - .extern __libc_start_rtld_fini - -/* Text */ - - .csect __start[ds] -__start: - .long .__start, TOC[tc0], 0 - - .csect .text[pr] -.__start: - -/* No prologue needed, __start does not have to follow the ABI. - - Input from kernel/loader - r1 : stack - r2 : TOC - r3 : argc - r4 : argv - r5 : envp - r28 : data origin - r29 : text origin - r30 : module count - r31 : default processing flag - - If r31 == r30, no special processing is needed, ie r28, r29 & r30 - are not used - - Save input in __libc_start_data */ - l 16, T.lsd(2) - st 1, 0(16) /* stack */ - st 2, 4(16) /* toc */ - st 3, 8(16) /* argc */ - st 4, 12(16) /* argv */ - st 5, 16(16) /* envp */ - st 28, 20(16) /* data origin */ - st 29, 24(16) /* text origin */ - st 30, 28(16) /* module count */ - st 31, 32(16) /* special */ - -/* Call __libc_start_main() */ - - bl .__libc_start_main - nop - -/* No epilog needed, __start does not have to follow the ABI */ - -/* Trace back */ -TB.__start: - .long 0x0 - .long 0xc2040 - .long 0x0 - .long TB.__start - .__start - .short 7 - .byte "__start" - .byte 0,0,0 - -/* Data - __libc_start_data - Space to keep libc initialization information */ - - .csect __libc_start_data[rw] -__libc_start_data: -/* For kernel/loader input args */ - .space 36 - -/* Externs */ - .long main -init: - .long __libc_start_init -fini: - .long __libc_start_fini -rtld_fini: - .long __libc_start_rtld_fini - .space 0x1000 + (4 + rtld_fini - __libc_start_data) diff --git a/sysdeps/unix/sysv/aix/statfs.c b/sysdeps/unix/sysv/aix/statfs.c deleted file mode 100644 index 1ead597..0000000 --- a/sysdeps/unix/sysv/aix/statfs.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int statfs (const char *file, struct statfs *buf); - -int -__statfs (const char *file, struct statfs *buf) -{ - return statfs (file, buf); -} -libc_hidden_def (__statfs) diff --git a/sysdeps/unix/sysv/aix/symlink.c b/sysdeps/unix/sysv/aix/symlink.c deleted file mode 100644 index cb24965..0000000 --- a/sysdeps/unix/sysv/aix/symlink.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__symlink (from, to) - const char *from; - const char *to; -{ - return symlink (from, to); -} diff --git a/sysdeps/unix/sysv/aix/sync.c b/sysdeps/unix/sysv/aix/sync.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/sync.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/sys/param.h b/sysdeps/unix/sysv/aix/sys/param.h deleted file mode 100644 index 7448f1a..0000000 --- a/sysdeps/unix/sysv/aix/sys/param.h +++ /dev/null @@ -1,48 +0,0 @@ -/* Copyright (C) 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_PARAM_H -#define _SYS_PARAM_H 1 - -/* This file should contain various parameter macros appropriate for the - machine and operating system. There is no standard set of macros; this - file is just for compatibility with programs written for Unix that - expect it to define things. On Unix systems that do not have their own - sysdep version of this file, it is generated at build time by examining - the installed headers on the system. */ - -#include - -#define MAXSYMLINKS 1 -#define MAXPATHLEN 256 - -/* The pagesize is 4096. */ -#define EXEC_PAGESIZE 4096 - -/* maximum number of supplemental groups. */ -#define NGROUPS 32 - -/* Macros for min/max. */ -#define MIN(a,b) (((a)<(b))?(a):(b)) -#define MAX(a,b) (((a)>(b))?(a):(b)) - - -/* Maximum length of hostname. */ -#define MAXHOSTNAMELEN 256 - -#endif /* sys/param.h */ diff --git a/sysdeps/unix/sysv/aix/sys/ucontext.h b/sysdeps/unix/sysv/aix/sys/ucontext.h deleted file mode 100644 index ddb3f01..0000000 --- a/sysdeps/unix/sysv/aix/sys/ucontext.h +++ /dev/null @@ -1,113 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include -#include -#include - - -/* Alternate, preferred interface. */ -typedef struct sigaltstack - { - void *ss_sp; - size_t ss_size; - int ss_flags; - int __pad[4]; - } stack_t; - - -/* Forward declaration of AIX type. */ -typedef struct label_t label_t; - - - -typedef unsigned int kvmhandle_t; -typedef struct - { - unsigned long int __alloc; - kvmhandle_t __srval[16]; - } adspace_t; - - - -#define _NGPRS 32 -#define _NFPRS 32 - -struct __mstsafe -{ - struct __mstsave *__prev; /* Previous save area. */ - label_t *__kjmpbuf; /* Pointer to saved context. */ - char *__stackfix; /* Stack fix pointer. */ - char __intpri; /* Interrupt priority. */ - char __backt; /* Back-track flag. */ - char __rsvd[2]; /* Reserved. */ - __pid_t __curid; /* Copy of curid. */ - - int __excp_type; /* Exception type for debugger. */ - unsigned long int __iar; /* Instruction address register. */ - unsigned long int __msr; /* Machine state register. */ - unsigned long int __cr; /* Condition register. */ - unsigned long int __lr; /* Link register. */ - unsigned long int __ctr; /* Count register. */ - unsigned long int __xer; /* Fixed point exception. */ - unsigned long int __mq; /* Multiply/quotient register. */ - unsigned long int __tid; /* TID register. */ - unsigned long int __fpscr; /* Floating point status reg. */ - char __fpeu; /* Floating point ever used. */ - char __fpinfo; /* Floating point status flags. */ - char __pad[2]; /* Pad to dword boundary. */ - /* 1 implies state is in mstext */ - unsigned long int __except[5]; /* exception structure. */ - char __pad1[4]; /* Old bus field. */ - unsigned long int __o_iar; /* Old iar (for longjmp excpt). */ - unsigned long int __o_toc; /* Old toc (for longjmp excpt). */ - unsigned long int __o_arg1; /* Old arg1 (for longjmp excpt). */ - unsigned long int __excbranch; /* If not NULL, address to branch - to on exception. Used by - assembler routines for low - cost exception handling. */ - unsigned long int __fpscrx; /* Software extension to fpscr. */ - unsigned long int __o_vaddr; /* Saved vaddr for vmexception. */ - unsigned long int __cachealign[7]; /* Reserved. */ - adspace_t __as; /* Segment registers. */ - unsigned long int __gpr[_NGPRS]; /* General purpose registers. */ - double __fpr[_NFPRS]; /* Floating point registers. */ - }; - -typedef struct mcontext_t - { - struct __mstsafe __jmp_context; - } mcontext_t; - - -typedef struct ucontext_t - { - int __sc_onstack; /* Sigstack state to restore. */ - __sigset_t uc_sigmask; /* The set of signals that are blocked when - this context is active. */ - int __sc_uerror; /* u_error to restore. */ - mcontext_t uc_mcontext; /* Machine-specific image of saved context. */ - struct ucontext_t *uc_link; /* context resumed after this one returns */ - stack_t uc_stack; /* stack used by context */ - int __pad[4]; - } ucontext_t; - -#endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/aix/syscall.c b/sysdeps/unix/sysv/aix/syscall.c deleted file mode 100644 index 6f204ff..0000000 --- a/sysdeps/unix/sysv/aix/syscall.c +++ /dev/null @@ -1,2 +0,0 @@ -/* XXX We will have to see whether it is possible to implement this - function at all. */ diff --git a/sysdeps/unix/sysv/aix/sysdep.h b/sysdeps/unix/sysv/aix/sysdep.h deleted file mode 100644 index dcf37f2..0000000 --- a/sysdeps/unix/sysv/aix/sysdep.h +++ /dev/null @@ -1,88 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - - -/* This seems to always be the case on PPC. */ -#define ALIGNARG(log2) log2 - -/* How to define local lables. */ -#define L(name) L..##name - -/* Label in text section. */ -#define C_TEXT(name) .##name - -/* Function descriptor. */ -#define FUNCDESC(real, code) \ - .toc; \ - .csect real##[DS], 3; \ - .globl real; \ -real: \ - .long code, TOC[tc0], 0; - -/* Code to generate function entry code. */ -#define ENTRY(name) \ - FUNCDESC (name, C_TEXT (name)) \ - .csect .text[PR], 2; \ - .globl C_TEXT (name); \ -C_TEXT (name): - -/* XXX For now we don't define any code. */ -#define CALL_MCOUNT - -#define EALIGN_W_0 /* No words to insert. */ -#define EALIGN_W_1 nop -#define EALIGN_W_2 nop;nop -#define EALIGN_W_3 nop;nop;nop -#define EALIGN_W_4 EALIGN_W_3;nop -#define EALIGN_W_5 EALIGN_W_4;nop -#define EALIGN_W_6 EALIGN_W_5;nop -#define EALIGN_W_7 EALIGN_W_6;nop - -/* EALIGN is like ENTRY, but does alignment to 'words'*4 bytes - past a 2^align boundary. */ -#ifdef PROF -#define EALIGN(name, alignt, words) \ - FUNCDESC (name, C_TEXT (name)) \ - .csect .text[PR], 2; \ - .align ALIGNARG(2); \ - .globl C_TEXT (name); \ -C_TEXT (name): \ - CALL_MCOUNT \ - b L(align_0); \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ -L(align_0): -#else /* PROF */ -#define EALIGN(name, alignt, words) \ - FUNCDESC (name, C_TEXT (name)) \ - .csect .text[PR], 2; \ - .align ALIGNARG(alignt); \ - EALIGN_W_##words; \ - .globl C_TEXT (name); \ -C_TEXT (name): -#endif - -/* No special end code for now. We will eventually add to usual prolog - with function length etc. */ -#define END(name) - - -/* Jumping to another function. We are jumping to the TOC entry. */ -#define JUMPTARGET(name) C_TEXT (name) diff --git a/sysdeps/unix/sysv/aix/sysv_termio.h b/sysdeps/unix/sysv/aix/sysv_termio.h deleted file mode 100644 index f314c0e..0000000 --- a/sysdeps/unix/sysv/aix/sysv_termio.h +++ /dev/null @@ -1,155 +0,0 @@ -/* Copyright (C) 1992, 1997, 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* In various parts of this file we define the System V values for - things as _SYSV_. Those are the values that System V - uses for termio, and also (SVR4) termios. Not necessarily the - same as the GNU termios that the library user sees. */ - -/* Number of elements of c_cc. termio only. */ -#define _SYSV_NCC 8 - -#define _SYSV_VINTR 0 -#define _SYSV_VQUIT 1 -#define _SYSV_VERASE 2 -#define _SYSV_VKILL 3 -#define _SYSV_VEOF 4 -/* This field means VEOF if ICANON, VMIN if not. */ -#define _SYSV_VMIN 4 -#define _SYSV_VEOL 5 -/* This field means VEOL if ICANON, VTIME if not. */ -#define _SYSV_VTIME 5 -#define _SYSV_VEOL2 6 - -/* Flags in c_iflag. */ -#define _SYSV_IGNBRK 1 -#define _SYSV_BRKINT 2 -#define _SYSV_IGNPAR 4 -#define _SYSV_PARMRK 8 -#define _SYSV_INPCK 0x10 -#define _SYSV_ISTRIP 0x20 -#define _SYSV_INLCR 0x40 -#define _SYSV_IGNCR 0x80 -#define _SYSV_ICRNL 0x100 -#define _SYSV_IUCLC 0x200 -#define _SYSV_IXON 0x400 -#define _SYSV_IXANY 0x800 -#define _SYSV_IXOFF 0x1000 -#define _SYSV_IMAXBEL 0x2000 - -/* Flags in c_cflag. */ -#define _SYSV_CBAUD 0xf -#define _SYSV_CIBAUD 0xf0000 /* termios only. */ -#define _SYSV_IBSHIFT 16 -/* Values for CBAUD and CIBAUD. */ -#define _SYSV_B0 0 -#define _SYSV_B50 1 -#define _SYSV_B75 2 -#define _SYSV_B110 3 -#define _SYSV_B134 4 -#define _SYSV_B150 5 -#define _SYSV_B200 6 -#define _SYSV_B300 7 -#define _SYSV_B600 8 -#define _SYSV_B1200 9 -#define _SYSV_B1800 10 -#define _SYSV_B2400 11 -#define _SYSV_B4800 12 -#define _SYSV_B9600 13 -#define _SYSV_B19200 14 -#define _SYSV_B38400 15 - -#define _SYSV_CS5 0 -#define _SYSV_CS6 0x10 -#define _SYSV_CS7 0x20 -#define _SYSV_CS8 0x30 -#define _SYSV_CSIZE 0x30 -#define _SYSV_CSTOPB 0x40 -#define _SYSV_CREAD 0x80 -#define _SYSV_PARENB 0x100 -#define _SYSV_PARODD 0x200 -#define _SYSV_HUPCL 0x400 -#define _SYSV_CLOCAL 0x800 - -/* Flags in c_lflag. */ -#define _SYSV_ISIG 1 -#define _SYSV_ICANON 2 -#define _SYSV_ECHO 8 -#define _SYSV_ECHOE 0x10 -#define _SYSV_ECHOK 0x20 -#define _SYSV_ECHONL 0x40 -#define _SYSV_NOFLSH 0x80 -#define _SYSV_TOSTOP 0x100 -#define _SYSV_ECHOCTL 0x200 -#define _SYSV_ECHOPRT 0x400 -#define _SYSV_ECHOKE 0x800 -#define _SYSV_FLUSHO 0x2000 -#define _SYSV_PENDIN 0x4000 -#define _SYSV_IEXTEN 0x8000 - -/* Flags in c_oflag. */ -#define _SYSV_OPOST 1 -#define _SYSV_OLCUC 2 -#define _SYSV_ONLCR 4 -#define _SYSV_NLDLY 0x100 -#define _SYSV_NL0 0 -#define _SYSV_NL1 0x100 -#define _SYSV_CRDLY 0x600 -#define _SYSV_CR0 0 -#define _SYSV_CR1 0x200 -#define _SYSV_CR2 0x400 -#define _SYSV_CR3 0x600 -#define _SYSV_TABDLY 0x1800 -#define _SYSV_TAB0 0 -#define _SYSV_TAB1 0x0800 -#define _SYSV_TAB2 0x1000 -/* TAB3 is an obsolete name for XTABS. But we provide it since some - programs expect it to exist. */ -#define _SYSV_TAB3 0x1800 -#define _SYSV_XTABS 0x1800 -#define _SYSV_BSDLY 0x2000 -#define _SYSV_BS0 0 -#define _SYSV_BS1 0x2000 -#define _SYSV_VTDLY 0x4000 -#define _SYSV_VT0 0 -#define _SYSV_VT1 0x4000 -#define _SYSV_FFDLY 0x8000 -#define _SYSV_FF0 0 -#define _SYSV_FF1 0x8000 - -/* ioctl's. */ - -#define _TCGETA 0x5405 -#define _TCSETA 0x5406 -#define _TCSETAW 0x5407 -#define _TCSETAF 0x5408 -#define _TCSBRK 0x5409 -#define _TCXONC 0x540B -#define _TCFLSH 0x540C -#define _TIOCGPGRP 0x7414 -#define _TIOCSPGRP 0x7415 - -struct __sysv_termio - { - unsigned short c_iflag; - unsigned short c_oflag; - unsigned short c_cflag; - unsigned short c_lflag; - char c_line; - unsigned char c_cc[_SYSV_NCC]; - }; diff --git a/sysdeps/unix/sysv/aix/tcgetattr.c b/sysdeps/unix/sysv/aix/tcgetattr.c deleted file mode 100644 index 01ffd55..0000000 --- a/sysdeps/unix/sysv/aix/tcgetattr.c +++ /dev/null @@ -1,152 +0,0 @@ -/* Copyright (C) 1992, 1995, 1996, 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include - -/* Put the state of FD into *TERMIOS_P. */ -int -__tcgetattr (fd, termios_p) - int fd; - struct termios *termios_p; -{ - struct __sysv_termio buf; - - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - - if (__ioctl (fd, _TCGETA, &buf) < 0) - return -1; - - termios_p->c_cflag &= ~0x000f0000; - termios_p->c_cflag |= (termios_p->c_cflag & 0xf) << 16; - - termios_p->c_iflag = 0; - if (buf.c_iflag & _SYSV_IGNBRK) - termios_p->c_iflag |= IGNBRK; - if (buf.c_iflag & _SYSV_BRKINT) - termios_p->c_iflag |= BRKINT; - if (buf.c_iflag & _SYSV_IGNPAR) - termios_p->c_iflag |= IGNPAR; - if (buf.c_iflag & _SYSV_PARMRK) - termios_p->c_iflag |= PARMRK; - if (buf.c_iflag & _SYSV_INPCK) - termios_p->c_iflag |= INPCK; - if (buf.c_iflag & _SYSV_ISTRIP) - termios_p->c_iflag |= ISTRIP; - if (buf.c_iflag & _SYSV_INLCR) - termios_p->c_iflag |= INLCR; - if (buf.c_iflag & _SYSV_IGNCR) - termios_p->c_iflag |= IGNCR; - if (buf.c_iflag & _SYSV_ICRNL) - termios_p->c_iflag |= ICRNL; - if (buf.c_iflag & _SYSV_IXON) - termios_p->c_iflag |= IXON; - if (buf.c_iflag & _SYSV_IXOFF) - termios_p->c_iflag |= IXOFF; - if (buf.c_iflag & _SYSV_IXANY) - termios_p->c_iflag |= IXANY; - if (buf.c_iflag & _SYSV_IMAXBEL) - termios_p->c_iflag |= IMAXBEL; - - termios_p->c_oflag = 0; - if (buf.c_oflag & OPOST) - termios_p->c_oflag |= OPOST; - if (buf.c_oflag & ONLCR) - termios_p->c_oflag |= ONLCR; - termios_p->c_cflag = 0; - switch (buf.c_cflag & _SYSV_CSIZE) - { - case _SYSV_CS5: - termios_p->c_cflag |= CS5; - break; - case _SYSV_CS6: - termios_p->c_cflag |= CS6; - break; - case _SYSV_CS7: - termios_p->c_cflag |= CS7; - break; - case _SYSV_CS8: - termios_p->c_cflag |= CS8; - break; - } - if (buf.c_cflag & _SYSV_CSTOPB) - termios_p->c_cflag |= CSTOPB; - if (buf.c_cflag & _SYSV_CREAD) - termios_p->c_cflag |= CREAD; - if (buf.c_cflag & _SYSV_PARENB) - termios_p->c_cflag |= PARENB; - if (buf.c_cflag & _SYSV_PARODD) - termios_p->c_cflag |= PARODD; - if (buf.c_cflag & _SYSV_HUPCL) - termios_p->c_cflag |= HUPCL; - if (buf.c_cflag & _SYSV_CLOCAL) - termios_p->c_cflag |= CLOCAL; - termios_p->c_lflag = 0; - if (buf.c_lflag & _SYSV_ISIG) - termios_p->c_lflag |= ISIG; - if (buf.c_lflag & _SYSV_ICANON) - termios_p->c_lflag |= ICANON; - if (buf.c_lflag & _SYSV_ECHO) - termios_p->c_lflag |= ECHO; - if (buf.c_lflag & _SYSV_ECHOE) - termios_p->c_lflag |= ECHOE; - if (buf.c_lflag & _SYSV_ECHOK) - termios_p->c_lflag |= ECHOK; - if (buf.c_lflag & _SYSV_ECHONL) - termios_p->c_lflag |= ECHONL; - if (buf.c_lflag & _SYSV_NOFLSH) - termios_p->c_lflag |= NOFLSH; - if (buf.c_lflag & _SYSV_TOSTOP) - termios_p->c_lflag |= TOSTOP; - if (buf.c_lflag & _SYSV_ECHOKE) - termios_p->c_lflag |= ECHOKE; - if (buf.c_lflag & _SYSV_ECHOPRT) - termios_p->c_lflag |= ECHOPRT; - if (buf.c_lflag & _SYSV_ECHOCTL) - termios_p->c_lflag |= ECHOCTL; - if (buf.c_lflag & _SYSV_FLUSHO) - termios_p->c_lflag |= FLUSHO; - if (buf.c_lflag & _SYSV_PENDIN) - termios_p->c_lflag |= PENDIN; - if (buf.c_lflag & _SYSV_IEXTEN) - termios_p->c_lflag |= IEXTEN; - - termios_p->c_cc[VEOF] = buf.c_cc[_SYSV_VEOF]; - termios_p->c_cc[VEOL] = buf.c_cc[_SYSV_VEOL]; - termios_p->c_cc[VEOL2] = buf.c_cc[_SYSV_VEOL2]; - termios_p->c_cc[VERASE] = buf.c_cc[_SYSV_VERASE]; - termios_p->c_cc[VKILL] = buf.c_cc[_SYSV_VKILL]; - termios_p->c_cc[VINTR] = buf.c_cc[_SYSV_VINTR]; - termios_p->c_cc[VQUIT] = buf.c_cc[_SYSV_VQUIT]; - termios_p->c_cc[VSTART] = '\021'; /* XON (^Q). */ - termios_p->c_cc[VSTOP] = '\023'; /* XOFF (^S). */ - termios_p->c_cc[VSUSP] = '\0'; /* System V release 3 lacks job control. */ - termios_p->c_cc[VMIN] = buf.c_cc[_SYSV_VMIN]; - termios_p->c_cc[VTIME] = buf.c_cc[_SYSV_VTIME]; - - return 0; -} - -weak_alias (__tcgetattr, tcgetattr) diff --git a/sysdeps/unix/sysv/aix/tcsetattr.c b/sysdeps/unix/sysv/aix/tcsetattr.c deleted file mode 100644 index 8e78da1..0000000 --- a/sysdeps/unix/sysv/aix/tcsetattr.c +++ /dev/null @@ -1,198 +0,0 @@ -/* Copyright (C) 1992,1995,1996,1997,2000,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -#include - - -const speed_t __unix_speeds[] = - { - 0, - 50, - 75, - 110, - 134, - 150, - 200, - 300, - 600, - 1200, - 1800, - 2400, - 4800, - 9600, - 19200, - 38400, - }; - - -/* Set the state of FD to *TERMIOS_P. */ -int -tcsetattr (fd, optional_actions, termios_p) - int fd; - int optional_actions; - const struct termios *termios_p; -{ - struct __sysv_termio buf; - int ioctl_function; - - if (termios_p == NULL) - { - __set_errno (EINVAL); - return -1; - } - switch (optional_actions) - { - case TCSANOW: - ioctl_function = _TCSETA; - break; - case TCSADRAIN: - ioctl_function = _TCSETAW; - break; - case TCSAFLUSH: - ioctl_function = _TCSETAF; - break; - default: - __set_errno (EINVAL); - return -1; - } - - if ((termios_p->c_cflag & 0x000f0000) >> 16 != (termios_p->c_cflag & 0xf)) - { - __set_errno (EINVAL); - return -1; - } - - buf.c_iflag = 0; - if (termios_p->c_iflag & IGNBRK) - buf.c_iflag |= _SYSV_IGNBRK; - if (termios_p->c_iflag & BRKINT) - buf.c_iflag |= _SYSV_BRKINT; - if (termios_p->c_iflag & IGNPAR) - buf.c_iflag |= _SYSV_IGNPAR; - if (termios_p->c_iflag & PARMRK) - buf.c_iflag |= _SYSV_PARMRK; - if (termios_p->c_iflag & INPCK) - buf.c_iflag |= _SYSV_INPCK; - if (termios_p->c_iflag & ISTRIP) - buf.c_iflag |= _SYSV_ISTRIP; - if (termios_p->c_iflag & INLCR) - buf.c_iflag |= _SYSV_INLCR; - if (termios_p->c_iflag & IGNCR) - buf.c_iflag |= _SYSV_IGNCR; - if (termios_p->c_iflag & ICRNL) - buf.c_iflag |= _SYSV_ICRNL; - if (termios_p->c_iflag & IXON) - buf.c_iflag |= _SYSV_IXON; - if (termios_p->c_iflag & IXOFF) - buf.c_iflag |= _SYSV_IXOFF; - if (termios_p->c_iflag & IXANY) - buf.c_iflag |= _SYSV_IXANY; - if (termios_p->c_iflag & IMAXBEL) - buf.c_iflag |= _SYSV_IMAXBEL; - - buf.c_oflag = 0; - if (termios_p->c_oflag & OPOST) - buf.c_oflag |= _SYSV_OPOST; - if (termios_p->c_oflag & ONLCR) - buf.c_oflag |= _SYSV_ONLCR; - - /* So far, buf.c_cflag contains the speed in CBAUD. */ - if (termios_p->c_cflag & CSTOPB) - buf.c_cflag |= _SYSV_CSTOPB; - if (termios_p->c_cflag & CREAD) - buf.c_cflag |= _SYSV_CREAD; - if (termios_p->c_cflag & PARENB) - buf.c_cflag |= _SYSV_PARENB; - if (termios_p->c_cflag & PARODD) - buf.c_cflag |= _SYSV_PARODD; - if (termios_p->c_cflag & HUPCL) - buf.c_cflag |= _SYSV_HUPCL; - if (termios_p->c_cflag & CLOCAL) - buf.c_cflag |= _SYSV_CLOCAL; - switch (termios_p->c_cflag & CSIZE) - { - case CS5: - buf.c_cflag |= _SYSV_CS5; - break; - case CS6: - buf.c_cflag |= _SYSV_CS6; - break; - case CS7: - buf.c_cflag |= _SYSV_CS7; - break; - case CS8: - buf.c_cflag |= _SYSV_CS8; - break; - } - - buf.c_lflag = 0; - if (termios_p->c_lflag & ISIG) - buf.c_lflag |= _SYSV_ISIG; - if (termios_p->c_lflag & ICANON) - buf.c_lflag |= _SYSV_ICANON; - if (termios_p->c_lflag & ECHO) - buf.c_lflag |= _SYSV_ECHO; - if (termios_p->c_lflag & ECHOE) - buf.c_lflag |= _SYSV_ECHOE; - if (termios_p->c_lflag & ECHOK) - buf.c_lflag |= _SYSV_ECHOK; - if (termios_p->c_lflag & ECHONL) - buf.c_lflag |= _SYSV_ECHONL; - if (termios_p->c_lflag & NOFLSH) - buf.c_lflag |= _SYSV_NOFLSH; - if (termios_p->c_lflag & TOSTOP) - buf.c_lflag |= _SYSV_TOSTOP; - if (termios_p->c_lflag & ECHOCTL) - buf.c_lflag |= _SYSV_ECHOCTL; - if (termios_p->c_lflag & ECHOPRT) - buf.c_lflag |= _SYSV_ECHOPRT; - if (termios_p->c_lflag & ECHOKE) - buf.c_lflag |= _SYSV_ECHOKE; - if (termios_p->c_lflag & FLUSHO) - buf.c_lflag |= _SYSV_FLUSHO; - if (termios_p->c_lflag & PENDIN) - buf.c_lflag |= _SYSV_PENDIN; - if (termios_p->c_lflag & IEXTEN) - buf.c_lflag |= _SYSV_IEXTEN; - - buf.c_cc[_SYSV_VINTR] = termios_p->c_cc[VINTR]; - buf.c_cc[_SYSV_VQUIT] = termios_p->c_cc[VQUIT]; - buf.c_cc[_SYSV_VERASE] = termios_p->c_cc[VERASE]; - buf.c_cc[_SYSV_VKILL] = termios_p->c_cc[VKILL]; - if (buf.c_lflag & _SYSV_ICANON) - { - buf.c_cc[_SYSV_VEOF] = termios_p->c_cc[VEOF]; - buf.c_cc[_SYSV_VEOL] = termios_p->c_cc[VEOL]; - } - else - { - buf.c_cc[_SYSV_VMIN] = termios_p->c_cc[VMIN]; - buf.c_cc[_SYSV_VTIME] = termios_p->c_cc[VTIME]; - } - buf.c_cc[_SYSV_VEOL2] = termios_p->c_cc[VEOL2]; - - if (__ioctl (fd, ioctl_function, &buf) < 0) - return -1; - return 0; -} -libc_hidden_def (tcsetattr) diff --git a/sysdeps/unix/sysv/aix/times.c b/sysdeps/unix/sysv/aix/times.c deleted file mode 100644 index 8ebc40b..0000000 --- a/sysdeps/unix/sysv/aix/times.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* Store the CPU time used by this process and all its - dead children (and their dead children) in BUFFER. - Return the elapsed real time, or (clock_t) -1 for errors. - All times are in CLK_TCKths of a second. */ -clock_t -__times (buffer) - struct tms *buffer; -{ - return times (buffer); -} diff --git a/sysdeps/unix/sysv/aix/truncate.c b/sysdeps/unix/sysv/aix/truncate.c deleted file mode 100644 index 247aebb..0000000 --- a/sysdeps/unix/sysv/aix/truncate.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int ktruncate (const char *name, long long int length); - -int -__truncate (const char *name, off_t length) -{ - return ktruncate (name, length); -} -strong_alias (__truncate, truncate) diff --git a/sysdeps/unix/sysv/aix/truncate64.c b/sysdeps/unix/sysv/aix/truncate64.c deleted file mode 100644 index 3a219c0..0000000 --- a/sysdeps/unix/sysv/aix/truncate64.c +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern int ktruncate (const char *name, long long int length); - -int -__truncate64 (const char *name, off64_t length) -{ - return ktruncate (name, length); -} -strong_alias (__truncate64, truncate64) diff --git a/sysdeps/unix/sysv/aix/uitrunc.c b/sysdeps/unix/sysv/aix/uitrunc.c deleted file mode 100644 index 54cdc3a..0000000 --- a/sysdeps/unix/sysv/aix/uitrunc.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* The uitrunc function returns the nearest unsigned integer - to the x parameter in the direction of 0. This actions is - equivalent to truncation off the fraction bits of the x - parameter and then converting x to an unsigned integer. */ -unsigned int -__uitrunc (double x) -{ - double xrf; - unsigned int xr; - xr = (unsigned int) x; - xrf = (double) xr; - if (x >= 0.0) - if (x - xrf >= 0.5 && x - xrf < 1.0 && x + 1 > 0) - return x + 1; - else - return x; - else - if (xrf - x >= 0.5 && xrf - x < 1.0 && x - 1 < 0) - return x - 1; - else - return x; -} diff --git a/sysdeps/unix/sysv/aix/ulimit.c b/sysdeps/unix/sysv/aix/ulimit.c deleted file mode 100644 index 44fef64..0000000 --- a/sysdeps/unix/sysv/aix/ulimit.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -long int -__ulimit (int cmd, ...) -{ - va_list va; - long int arg; - long int res; - - va_start (va, cmd); - arg = va_arg (va, long int); - - res = ulimit (cmd, arg); - - va_end (va); - - return res; -} diff --git a/sysdeps/unix/sysv/aix/umask.c b/sysdeps/unix/sysv/aix/umask.c deleted file mode 100644 index e8c45e4..0000000 --- a/sysdeps/unix/sysv/aix/umask.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -mode_t -__umask (mask) - mode_t mask; -{ - return umask (mask); -} diff --git a/sysdeps/unix/sysv/aix/uname.c b/sysdeps/unix/sysv/aix/uname.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/uname.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/unlink.c b/sysdeps/unix/sysv/aix/unlink.c deleted file mode 100644 index 6fe9b59..0000000 --- a/sysdeps/unix/sysv/aix/unlink.c +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__unlink (name) - const char *name; -{ - return unlink (name); -} diff --git a/sysdeps/unix/sysv/aix/usleep.c b/sysdeps/unix/sysv/aix/usleep.c deleted file mode 100644 index a1d55eb..0000000 --- a/sysdeps/unix/sysv/aix/usleep.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1991, 1992, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __libc_nanosleep (const struct timespec *requested_time, - struct timespec *remaining); - -/* Sleep USECONDS microseconds, or until a previously set timer goes off. */ -int -usleep (useconds) - useconds_t useconds; -{ - struct timespec ts ={.tv_sec = 0, .tv_nsec = (long int)useconds * 1000}; - __libc_nanosleep(&ts,&ts); - return 0; -} diff --git a/sysdeps/unix/sysv/aix/ustat.c b/sysdeps/unix/sysv/aix/ustat.c deleted file mode 100644 index 6036fbb..0000000 --- a/sysdeps/unix/sysv/aix/ustat.c +++ /dev/null @@ -1 +0,0 @@ -/* This is a system call. */ diff --git a/sysdeps/unix/sysv/aix/utimes.c b/sysdeps/unix/sysv/aix/utimes.c deleted file mode 100644 index 9bef02a..0000000 --- a/sysdeps/unix/sysv/aix/utimes.c +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -int -__utimes (file, tvp) - const char *file; - const struct timeval tvp[2]; -{ - return utimes (file, tvp); -} diff --git a/sysdeps/unix/sysv/aix/utmpx.h b/sysdeps/unix/sysv/aix/utmpx.h deleted file mode 100644 index 1647bfe..0000000 --- a/sysdeps/unix/sysv/aix/utmpx.h +++ /dev/null @@ -1,89 +0,0 @@ -/* Copyright (C) 1997, 1998, 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UTMPX_H -#define _UTMPX_H 1 - -#include -#include - -/* Required according to Unix98. */ -#ifndef __pid_t_defined -typedef __pid_t pid_t; -# define __pid_t_defined -#endif - -/* Get system dependent values and data structures. */ -#include - -#ifdef __USE_GNU -/* Compatibility names for the strings of the canonical file names. */ -# define UTMPX_FILE _PATH_UTMPX -# define UTMPX_FILENAME _PATH_UTMPX -# define WTMPX_FILE _PATH_WTMPX -# define WTMPX_FILENAME _PATH_WTMPX -#endif - -/* For the getutmp{,x} functions we need the `struct utmp'. */ -#ifdef __USE_GNU -struct utmp; -#endif - - -__BEGIN_DECLS - -/* Open user accounting database. */ -extern void setutxent (void) __THROW; - -/* Close user accounting database. */ -extern void endutxent (void) __THROW; - -/* Get the next entry from the user accounting database. */ -extern struct utmpx *getutxent (void) __THROW; - -/* Get the user accounting database entry corresponding to ID. */ -extern struct utmpx *getutxid (__const struct utmpx *__id) __THROW; - -/* Get the user accounting database entry corresponding to LINE. */ -extern struct utmpx *getutxline (__const struct utmpx *__line) __THROW; - -/* Write the entry UTMPX into the user accounting database. */ -extern struct utmpx *pututxline (__const struct utmpx *__utmpx) __THROW; - - -#ifdef __USE_GNU -/* Change name of the utmpx file to be examined. */ -extern int utmpxname (__const char *__file) __THROW; - -/* Append entry UTMP to the wtmpx-like file WTMPX_FILE. */ -extern void updwtmpx (__const char *__wtmpx_file, - __const struct utmpx *__utmpx) __THROW; - - -/* Copy the information in UTMPX to UTMP. */ -extern void getutmp (__const struct utmpx *__utmpx, - struct utmp *__utmp) __THROW; - -/* Copy the information in UTMP to UTMPX. */ -extern void getutmpx (__const struct utmp *__utmp, - struct utmpx *__utmpx) __THROW; -#endif - -__END_DECLS - -#endif /* utmpx.h */ diff --git a/sysdeps/unix/sysv/aix/wait3.c b/sysdeps/unix/sysv/aix/wait3.c deleted file mode 100644 index b0f7faa..0000000 --- a/sysdeps/unix/sysv/aix/wait3.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1992, 93, 1995-1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -extern pid_t kwaitpid (int *stat_loc, pid_t pid, int options, - struct rusage *ru_loc, siginfo_t *infop); - -/* Wait for a child to exit. When one does, put its status in *STAT_LOC and - return its process ID. For errors return (pid_t) -1. If USAGE is not nil, - store information about the child's resource usage (as a `struct rusage') - there. If the WUNTRACED bit is set in OPTIONS, return status for stopped - children; otherwise don't. */ -pid_t -__wait3 (__WAIT_STATUS stat_loc, int options, struct rusage *usage) -{ - if (usage != NULL) - { - __set_errno (ENOSYS); - return (pid_t) -1; - } - return kwaitpid (stat_loc.__iptr, WAIT_ANY, options, usage, NULL); -} -strong_alias (__wait3, wait3) diff --git a/sysdeps/unix/sysv/aix/wait4.c b/sysdeps/unix/sysv/aix/wait4.c deleted file mode 100644 index dd08f42..0000000 --- a/sysdeps/unix/sysv/aix/wait4.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995-1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -extern pid_t kwaitpid (int *stat_loc, pid_t pid, int options, - struct rusage *ru_loc, siginfo_t *infop); - -pid_t -__wait4 (__pid_t pid, __WAIT_STATUS stat_loc, int options, - struct rusage *usage) -{ - return kwaitpid (stat_loc.__iptr, pid, options, usage, NULL); -} -strong_alias (__wait4, wait4) diff --git a/sysdeps/unix/sysv/aix/waitid.c b/sysdeps/unix/sysv/aix/waitid.c deleted file mode 100644 index 1d637df..0000000 --- a/sysdeps/unix/sysv/aix/waitid.c +++ /dev/null @@ -1,83 +0,0 @@ -/* Pseudo implementation of waitid. - Copyright (C) 1997, 1998, 2000, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Zack Weinberg , 1997. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#define __need_NULL -#include -#include -#include - -#include - -extern pid_t kwaitpid (int *stat_loc, pid_t pid, int options, - struct rusage *ru_loc, siginfo_t *infop); - -int -__waitid (idtype, id, infop, options) - idtype_t idtype; - id_t id; - siginfo_t *infop; - int options; -{ - pid_t pid, child; - int status; - - switch (idtype) - { - case P_PID: - if(id <= 0) - goto invalid; - pid = (pid_t) id; - break; - case P_PGID: - if (id < 0 || id == 1) - goto invalid; - pid = (pid_t) -id; - break; - case P_ALL: - pid = -1; - break; - default: - invalid: - __set_errno (EINVAL); - return -1; - } - - /* Technically we're supposed to return EFAULT if infop is bogus, - but that would involve mucking with signals, which is - too much hassle. User will have to deal with SIGSEGV/SIGBUS. - We just check for a null pointer. */ - - if (infop == NULL) - { - __set_errno (EFAULT); - return -1; - } - - child = kwaitpid (&status, pid, options, NULL, infop); - - if (child == -1) - /* `waitpid' set `errno' for us. */ - return -1; - - return 0; -} -weak_alias (__waitid, waitid) diff --git a/sysdeps/unix/sysv/aix/waitpid.c b/sysdeps/unix/sysv/aix/waitpid.c deleted file mode 100644 index 19bcbab..0000000 --- a/sysdeps/unix/sysv/aix/waitpid.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1991,95,96,97,2000,02 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -extern pid_t kwaitpid (int *stat_loc, pid_t pid, int options, - struct rusage *ru_loc, siginfo_t *infop); - - -/* Wait for a child matching PID to die. - If PID is greater than 0, match any process whose process ID is PID. - If PID is (pid_t) -1, match any process. - If PID is (pid_t) 0, match any process with the - same process group as the current process. - If PID is less than -1, match any process whose - process group is the absolute value of PID. - If the WNOHANG bit is set in OPTIONS, and that child - is not already dead, return (pid_t) 0. If successful, - return PID and store the dead child's status in STAT_LOC. - Return (pid_t) -1 for errors. If the WUNTRACED bit is set in OPTIONS, - return status for stopped children; otherwise don't. */ -pid_t -__libc_waitpid (pid_t pid, int *stat_loc, int options) -{ - if ((options & ~(WNOHANG|WUNTRACED)) != 0) - { - __set_errno (EINVAL); - return (pid_t) -1; - } - - return kwaitpid (stat_loc, pid, options, NULL, NULL); -} -weak_alias (__libc_waitpid, __waitpid) -libc_hidden_weak (__waitpid) -weak_alias (__libc_waitpid, waitpid) diff --git a/sysdeps/unix/sysv/aix/write.c b/sysdeps/unix/sysv/aix/write.c deleted file mode 100644 index 0cc5d33..0000000 --- a/sysdeps/unix/sysv/aix/write.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper , 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -#include "kernel_proto.h" - -ssize_t -__write (fd, ptr, n) - int fd; - const void *ptr; - size_t n; -{ - return kwrite (fd, ptr, n); -} -libc_hidden_def (__write) -/* AIX has no weak aliases (yet) but let's hope for better times. */ -weak_alias (__write, write) -strong_alias (__write, __libc_write) -libc_hidden_def (__libc_write) diff --git a/sysdeps/unix/sysv/aix/writev.c b/sysdeps/unix/sysv/aix/writev.c deleted file mode 100644 index d0e5741..0000000 --- a/sysdeps/unix/sysv/aix/writev.c +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 1991, 1995-1998, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -extern ssize_t kwritev (int fd, const struct iovec *iovp, size_t iovcnt, - long int ext); - -/* Read data from file descriptor FD, and put the result in the - buffers described by VECTOR, which is a vector of COUNT `struct iovec's. - The buffers are filled in the order specified. - Operates just like `read' (see ) except that data are - put in VECTOR instead of a contiguous buffer. */ -ssize_t -__libc_writev (fd, vector, count) - int fd; - const struct iovec *vector; - int count; -{ - return kwritev (fd, vector, count, 0); -} -strong_alias (__libc_writev, __writev) -weak_alias (__libc_writev, writev) diff --git a/sysdeps/unix/sysv/aix/xstat.c b/sysdeps/unix/sysv/aix/xstat.c deleted file mode 100644 index c76ad07..0000000 --- a/sysdeps/unix/sysv/aix/xstat.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -#define STX_NORMAL 0x00 - -extern int statx (const char *pathname, struct stat *st, int len, int cmd); - -int -__xstat (int ver, const char *pathname, struct stat *st) -{ - assert (ver == 0); - return statx (pathname, st, sizeof (*st), STX_NORMAL); -} -hidden_def (__xstat) diff --git a/sysdeps/unix/sysv/aix/xstat64.c b/sysdeps/unix/sysv/aix/xstat64.c deleted file mode 100644 index cb1bea1..0000000 --- a/sysdeps/unix/sysv/aix/xstat64.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1999, 2000, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -#define STX_NORMAL 0x00 -#define STX_64 0x08 - - -extern int statx (const char *pathname, struct stat64 *st, int len, int cmd); - -int -__xstat64 (int ver, const char *pathname, struct stat64 *st) -{ - assert (ver == 0); - return statx (pathname, st, sizeof (*st), STX_NORMAL | STX_64); -} -hidden_def (__xstat64) diff --git a/sysdeps/unix/sysv/hpux/bits/errno.h b/sysdeps/unix/sysv/hpux/bits/errno.h deleted file mode 100644 index c9903c6..0000000 --- a/sysdeps/unix/sysv/hpux/bits/errno.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1991, 1994, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -#undef __need_Emath -#define __Emath_defined 1 - -#endif - -#ifdef _ERRNO_H -#define EBADF 9 -#define ENOMEM 12 -#define EINVAL 22 -#define ERANGE 34 -#define ENOMSG 35 -#define ENOSYS 251 -#endif diff --git a/sysdeps/unix/sysv/hpux/bits/setjmp.h b/sysdeps/unix/sysv/hpux/bits/setjmp.h deleted file mode 100644 index 216d7bd..0000000 --- a/sysdeps/unix/sysv/hpux/bits/setjmp.h +++ /dev/null @@ -1,16 +0,0 @@ -/* Define the machine-dependent type `jmp_buf'. Stub version. */ - -#ifndef _SETJMP_H -# error "Never include directly; use instead." -#endif - -/* XXX This should go into different files!!! */ - -#ifdef __hp9000s300 -typedef int __jmp_buf[100]; -#endif /* __hp9000s300 */ - -#ifdef __hp9000s800 -typedef double __jmp_buf[25]; -#endif /* __hp9000s800 */ - diff --git a/sysdeps/unix/sysv/hpux/bits/stat.h b/sysdeps/unix/sysv/hpux/bits/stat.h deleted file mode 100644 index 845b297..0000000 --- a/sysdeps/unix/sysv/hpux/bits/stat.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright (C) 1992, 95, 96, 97, 98, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include directly; use instead." -#endif - -/* Versions of the `struct stat' data structure. */ -#define _STAT_VER_SVR4 1 -#define _STAT_VER _STAT_VER_SVR4 /* The one defined below. */ - -/* Versions of the `xmknod' interface. */ -#define _MKNOD_VER_SVR4 1 -#define _MKNOD_VER _MKNOD_VER_SVR4 /* The bits defined below. */ - - -struct stat - { - __dev_t st_dev; /* Device. */ - unsigned short int __pad1; -#ifndef __USE_FILE_OFFSET64 - __ino_t st_ino; /* File serial number. */ -#else - __ino64_t st_ino; /* File serial number. */ -#endif - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; -#ifndef __USE_FILE_OFFSET64 - __off_t st_size; /* Size of file, in bytes. */ -#else - __off64_t st_size; /* Size of file, in bytes. */ -#endif - unsigned long int st_blksize; /* Optimal block size for I/O. */ - -#ifndef __USE_FILE_OFFSET64 - __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */ -#else - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ -#endif - __time_t st_atime; /* Time of last access. */ - unsigned long int __unused1; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int __unused2; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int __unused3; - unsigned long int __unused4; - unsigned long int __unused5; - }; - -#ifdef __USE_LARGEFILE64 -struct stat64 - { - __dev_t st_dev; /* Device. */ - unsigned short int __pad1; - - __ino64_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - unsigned short int __pad2; - __off64_t st_size; /* Size of file, in bytes. */ - unsigned long int st_blksize; /* Optimal block size for I/O. */ - - __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */ - __time_t st_atime; /* Time of last access. */ - unsigned long int __unused1; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int __unused2; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int __unused3; - unsigned long int __unused4; - unsigned long int __unused5; - }; -#endif - -/* Tell code we have these members. */ -#define _STATBUF_ST_BLKSIZE -#define _STATBUF_ST_RDEV - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/hpux/bits/types.h b/sysdeps/unix/sysv/hpux/bits/types.h deleted file mode 100644 index e231841..0000000 --- a/sysdeps/unix/sysv/hpux/bits/types.h +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright (C) 1991,1992,1994-1998,2000,2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * Never include this file directly; use instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include - -#define __need_size_t -#include - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short __u_short; -typedef unsigned int __u_int; -typedef unsigned long __u_long; -#ifdef __GNUC__ -__extension__ typedef unsigned long long int __u_quad_t; -__extension__ typedef long long int __quad_t; -#else -typedef struct - { - long int __val[2]; - } __quad_t; -typedef struct - { - __u_long __val[2]; - } __u_quad_t; -#endif -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#ifdef __GNUC__ -__extension__ typedef signed long long int __int64_t; -__extension__ typedef unsigned long long int __uint64_t; -#endif -typedef __quad_t *__qaddr_t; - -typedef long int __dev_t; /* Type of device numbers. */ -typedef long int __uid_t; /* Type of user identifications. */ -typedef long int __gid_t; /* Type of group identifications. */ -typedef __u_long __ino_t; /* Type of file serial numbers. */ -typedef __u_short __mode_t; /* Type of file attribute bitmasks. */ -typedef short __nlink_t; /* Type of file link counts. */ -typedef long int __off_t; /* Type of file sizes and offsets. */ -typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ -typedef long int __pid_t; /* Type of process identifications. */ -typedef long int __ssize_t; /* Type of a byte count, or error. */ -typedef __u_long __rlim_t; /* Type of resource counts. */ -typedef __quad_t __rlim64_t; /* Type of resource counts (LFS). */ -typedef long int __id_t; /* General type for ID. */ - -typedef struct - { - long int __val[2]; - } __fsid_t; /* Type of file system IDs. */ - -/* Everythin' else. */ -typedef long int __daddr_t; /* The type of a disk address. */ -typedef char *__caddr_t; -typedef long int __time_t; -typedef long int __swblk_t; /* Type of a swap block maybe? */ - -typedef __u_long __clock_t; - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 2048 - - -typedef long int __key_t; - -/* Used in `struct shmid_ds'. */ -typedef unsigned short int __ipc_pid_t; - - -/* Types from the Large File Support interface. */ - -/* Type to count number os disk blocks. */ -typedef __u_long __blkcnt_t; -typedef __u_quad_t __blkcnt64_t; - -/* Type to count file system blocks. */ -typedef long int __fsblkcnt_t; -typedef __quad_t __fsblkcnt64_t; - -/* Type to count file system inodes. */ -typedef __u_long __fsfilcnt_t; -typedef __u_quad_t __fsfilcnt64_t; - -/* Type of file serial numbers. */ -typedef __u_long __ino64_t; - -/* Type of file sizes and offsets. */ -typedef __loff_t __off64_t; - -/* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -typedef int __intptr_t; - -/* Duplicate info from sys/socket.h. */ -typedef unsigned int __socklen_t; - -#endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/hpux/sysdep.h b/sysdeps/unix/sysv/hpux/sysdep.h deleted file mode 100644 index 89a3377..0000000 --- a/sysdeps/unix/sysv/hpux/sysdep.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1999 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper, , August 1999. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* No underscores necessary. */ -#define NO_UNDERSCORES - -#include - -/* HPUX uses the usual syscall naming. */ -#define SYS_ify(name) SYS_##name diff --git a/sysdeps/unix/sysv/i386/signal.S b/sysdeps/unix/sysv/i386/signal.S deleted file mode 100644 index af51bc5..0000000 --- a/sysdeps/unix/sysv/i386/signal.S +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright (C) 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* This is just a standard system call, except we need to load %edx - with the address of the `__sigreturn' function. */ - - .globl syscall_error - .globl C_SYMBOL_NAME(__sigreturn) -ENTRY (signal) - lea SYS_signal, %eax - lea C_SYMBOL_NAME(__sigreturn), %edx - .byte 0x9a, 0, 0, 0, 0, 7, 0 /* lcall $7, $0 -- GAS bug. */ - jb syscall_error - ret diff --git a/sysdeps/unix/sysv/i386/sigreturn.S b/sysdeps/unix/sysv/i386/sigreturn.S deleted file mode 100644 index edf4418..0000000 --- a/sysdeps/unix/sysv/i386/sigreturn.S +++ /dev/null @@ -1,27 +0,0 @@ -/* Copyright (C) 1994, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -.text -ENTRY (__sigreturn) - addl $4, %esp /* Pop the return PC. */ - lcall $0xf, $0 /* Do the magic sigreturn trap. */ - /* NOTREACHED */ - -weak_alias (__sigreturn, sigreturn) diff --git a/sysdeps/unix/sysv/irix4/Implies b/sysdeps/unix/sysv/irix4/Implies deleted file mode 100644 index 35e1edd..0000000 --- a/sysdeps/unix/sysv/irix4/Implies +++ /dev/null @@ -1,4 +0,0 @@ -# Irix 4 has the set of things which are also common to BSD and SVR4. -unix/common -# Irix 4 has the canonical set of system calls. -unix/mman diff --git a/sysdeps/unix/sysv/irix4/Makefile b/sysdeps/unix/sysv/irix4/Makefile deleted file mode 100644 index d07981e..0000000 --- a/sysdeps/unix/sysv/irix4/Makefile +++ /dev/null @@ -1,25 +0,0 @@ -# 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 -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 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 -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; 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 -endif - -ifeq ($(subdir),misc) -sysdep_routines := $(sysdep_routines) syssgi sysmp -endif diff --git a/sysdeps/unix/sysv/irix4/__handler.S b/sysdeps/unix/sysv/irix4/__handler.S deleted file mode 100644 index f02121a..0000000 --- a/sysdeps/unix/sysv/irix4/__handler.S +++ /dev/null @@ -1,117 +0,0 @@ -/* Copyright (C) 1992, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@cs.widener.edu). - Also hacked by Ian Lance Taylor (ian@airs.com). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* This function saves all the registers, calls the - user function, and then executes a sigreturn system call. The - sigreturn call wants the address of a sigcontext structure. This - is all hideously system dependent and, for all intents and - purposes, undocumented. - - When we enter here, a3 holds the user's signal handler. We are - supposed to fill in the context given in a2, and then pass it and - the first two arguments to the user's function. If the user's - function returns, we execute a sigreturn system call. - - The sc_onstack, sc_mask and sc_pc elements of the context are - already set by the kernel. For some reason we don't have to save - the floating point state or the coprocessor state; the kernel may - have saved them for us, or it doesn't use them. */ - -.set noat -ENTRY (__handler) -#if 0 - /* Store zero and the asm temp reg. */ - sw $0, 12(a2) - sw AT, 16(a2) - - /* Put v1 in sc_regs[3]. */ - sw v1, 24(a2) - - /* Save the caller saved registers in sc_regs[8..15]. */ - sw t0, 44(a2) - sw t1, 48(a2) - sw t2, 52(a2) - sw t3, 56(a2) - sw t4, 60(a2) - sw t5, 64(a2) - sw t6, 68(a2) - sw t7, 72(a2) - - /* Save the callee saved registers in sc_regs[16..23]. */ - sw s0, 76(a2) - sw s1, 80(a2) - sw s2, 84(a2) - sw s3, 88(a2) - sw s4, 92(a2) - sw s5, 96(a2) - sw s6, 100(a2) - sw s7, 104(a2) - - /* Save the code generator registers in sc_regs[24] & sc_regs[25]. */ - sw t8, 108(a2) - sw t9, 112(a2) - - /* Save the kernel temp regs in sc_regs[26] & sc_regs[27]. */ - sw k0, 116(a2) - sw k1, 120(a2) - - /* Save the global pointer in sc_regs[28]. */ - sw gp, 124(a2) - - /* ... and also the return address in sc_regs[31]. */ - sw ra, 136(a2) - - /* Note: we don't save the stack pointer in sc_regs[29]; - instead, we use the one that was already there. */ -#if 0 - sw sp, 128(a2) -#endif - - /* Save the floating pointer in sc_regs[30]. */ - sw fp, 132(a2) - - /* Save the mul/div stuff in sc_mdlo and sc_mdhi. */ - mflo t0 - sw t0, 140(a2) - mfhi t0 - sw t0, 144(a2) - -#endif - /* Move the stack up six. This will save the context. */ - addu sp, sp, -24 - sw a2, 16(sp) - - /* Call their handler with the signal, code, and context; note - this will clobber the context. */ - .set noreorder - jal ra, a3 - nop - .set reorder - - /* When we come back, restore the context and pass it right - on into sigreturn(). */ - lw a0, 16(sp) - - /* Do a sigreturn syscall; this doesn't return. */ - li v0, SYS_sigreturn - syscall - nop diff --git a/sysdeps/unix/sysv/irix4/bits/confname.h b/sysdeps/unix/sysv/irix4/bits/confname.h deleted file mode 100644 index ed33469..0000000 --- a/sysdeps/unix/sysv/irix4/bits/confname.h +++ /dev/null @@ -1,84 +0,0 @@ -/* `sysconf', `pathconf', and `confstr' NAME values. Irix 4 version. - Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UNISTD_H -# error "Never use directly; include instead." -#endif - -/* Values for the NAME argument to `pathconf' and `fpathconf'. */ -enum - { - _PC_LINK_MAX = 1, - _PC_MAX_CANON, - _PC_MAX_INPUT, - _PC_NAME_MAX, - _PC_PATH_MAX, - _PC_PIPE_BUF, - _PC_CHOWN_RESTRICTED, - _PC_NO_TRUNC, - _PC_VDISABLE - }; - -/* Values for the argument to `sysconf'. */ -enum - { - _SC_ARG_MAX = 1, - _SC_CHILD_MAX, - _SC_CLK_TCK, - _SC_NGROUPS_MAX, - _SC_OPEN_MAX, - _SC_JOB_CONTROL, - _SC_SAVED_IDS, - _SC_VERSION, - - /* Above are done by the Irix system call. - The rest are done by the C library (or are not really implemented). */ - - _SC_STREAM_MAX, - _SC_TZNAME_MAX, - _SC_PAGESIZE, - - /* Values for the argument to `sysconf' - corresponding to _POSIX2_* symbols. */ - _SC_BC_BASE_MAX, - _SC_BC_DIM_MAX, - _SC_BC_SCALE_MAX, - _SC_BC_STRING_MAX, - _SC_COLL_WEIGHTS_MAX, - _SC_EQUIV_CLASS_MAX, - _SC_EXPR_NEST_MAX, - _SC_LINE_MAX, - _SC_RE_DUP_MAX, - - _SC_2_VERSION, - _SC_2_C_BIND, - _SC_2_C_DEV, - _SC_2_FORT_DEV, - _SC_2_FORT_RUN, - _SC_2_SW_DEV, - _SC_2_LOCALEDEF - }; - -#ifdef __USE_POSIX2 -/* Values for the NAME argument to `confstr'. */ -enum - { - _CS_PATH /* The default search path. */ - }; -#endif diff --git a/sysdeps/unix/sysv/irix4/bits/fcntl.h b/sysdeps/unix/sysv/irix4/bits/fcntl.h deleted file mode 100644 index 5eb7c76..0000000 --- a/sysdeps/unix/sysv/irix4/bits/fcntl.h +++ /dev/null @@ -1,109 +0,0 @@ -/* O_*, F_*, FD_* bit values for SGI Irix 4. - Copyright (C) 1994, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _FCNTL_H -#error "Never use directly; include instead." -#endif - - -/* File access modes for `open' and `fcntl'. */ -#define O_RDONLY 0 /* Open read-only. */ -#define O_WRONLY 1 /* Open write-only. */ -#define O_RDWR 2 /* Open read/write. */ - - -/* Bits OR'd into the second argument to open. */ -#define O_CREAT 00400 /* Create file if it doesn't exist. */ -#define O_EXCL 02000 /* Fail if file already exists. */ -#define O_TRUNC 01000 /* Truncate file to zero length. */ -#ifdef __USE_MISC -#define O_SYNC 00020 /* Synchronous writes. */ -#define O_FSYNC O_SYNC -#define O_ASYNC 00100 /* Send SIGIO to owner when data is ready. */ -#endif - -/* File status flags for `open' and `fcntl'. */ -#define O_APPEND 000010 /* Writes append to the file. */ -#ifdef __USE_BSD -#define O_NDELAY 000004 /* Non-blocking I/O. */ -#endif -#define O_NONBLOCK 000200 /* POSIX.1 non-blocking I/O. */ - -/* Mask for file access modes. This is system-dependent in case - some system ever wants to define some other flavor of access. */ -#define O_ACCMODE (O_RDONLY|O_WRONLY|O_RDWR) - -/* Values for the second argument to `fcntl'. */ -#define F_DUPFD 0 /* Duplicate file descriptor. */ -#define F_GETFD 1 /* Get file descriptor flags. */ -#define F_SETFD 2 /* Set file descriptor flags. */ -#define F_GETFL 3 /* Get file status flags. */ -#define F_SETFL 4 /* Set file status flags. */ -#define F_GETLK 5 /* Get record locking info. */ -#define F_SETLK 6 /* Set record locking info. */ -#define F_SETLKW 7 /* Set record locking info, wait. */ -#ifdef __USE_MISC -#define F_CHKFL 8 /* Check legality of file flag changes. */ -#define F_ALLOCSP 10 -#define F_FREESP 11 -#define F_SETBSDLK 12 /* Set Berkeley record lock. */ -#define F_SETBSDLKW 13 /* Set Berkeley record lock and wait. */ -#define F_RGETLK 20 /* Get info on a remote lock. */ -#define F_RSETLK 21 /* Set or unlock a remote lock. */ -#define F_RSETLKW 22 /* Set or unlock a remote lock and wait. */ -#endif -#if defined __USE_BSD || defined __USE_UNIX98 -#define F_GETOWN 10 /* Get owner; only works on sockets. */ -#define F_SETOWN 11 /* Set owner; only works on sockets. */ -#endif - - -/* File descriptor flags used with F_GETFD and F_SETFD. */ -#define FD_CLOEXEC 1 /* Close on exec. */ - - -#include - -/* The structure describing an advisory lock. This is the type of the third - argument to `fcntl' for the F_GETLK, F_SETLK, and F_SETLKW requests. */ -struct flock - { - short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */ - short int l_whence; /* Where `l_start' is relative to (like `lseek'). */ - __off_t l_start; /* Offset where the lock begins. */ - __off_t l_len; /* Size of the locked area; zero means until EOF. */ - short int l_sysid; /* System ID where locking process resides. */ - short int l_pid; /* Process holding the lock. */ - }; - -/* Values for the `l_type' field of a `struct flock'. */ -#define F_RDLCK 1 /* Read lock. */ -#define F_WRLCK 2 /* Write lock. */ -#define F_UNLCK 3 /* Remove lock. */ - - -/* Define some more compatibility macros to be backward compatible with - BSD systems which did not managed to hide these kernel macros. */ -#ifdef __USE_BSD -#define FAPPEND O_APPEND -#define FFSYNC O_FSYNC -#define FASYNC O_ASYNC -#define FNONBLOCK O_NONBLOCK -#define FNDELAY O_NDELAY -#endif /* Use BSD. */ diff --git a/sysdeps/unix/sysv/irix4/bits/mman.h b/sysdeps/unix/sysv/irix4/bits/mman.h deleted file mode 100644 index 1549ff0..0000000 --- a/sysdeps/unix/sysv/irix4/bits/mman.h +++ /dev/null @@ -1,64 +0,0 @@ -/* Definitions for BSD-style memory management. Irix 4 version. - Copyright (C) 1994, 1995, 1996, 1997, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_MMAN_H -#define _BITS_MMAN_H 1 - -/* Protections are chosen from these bits, OR'd together. The - implementation does not necessarily support PROT_EXEC or PROT_WRITE - without PROT_READ. The only guarantees are that no writing will be - allowed without PROT_WRITE and no access will be allowed for PROT_NONE. */ - -#define PROT_NONE 0x00 /* No access. */ -#define PROT_READ 0x04 /* Pages can be read. */ -#define PROT_WRITE 0x02 /* Pages can be written. */ -#define PROT_EXEC 0x01 /* Pages can be executed. */ -#ifdef __USE_MISC -# define PROT_EXECUTE PROT_EXEC -#endif - -/* Sharing types (must choose one and only one of these). */ -#define MAP_SHARED 0x01 /* Share changes. */ -#define MAP_PRIVATE 0x02 /* Changes private; copy pages on write. */ -#ifdef __USE_BSD -# define MAP_TYPE 0x0f /* Mask for sharing type. */ -#endif - -/* Other flags. */ -#define MAP_FIXED 0x10 /* Map address must be exactly as requested. */ -#ifdef __USE_MISC -# define MAP_RENAME 0x20 /* Rename private pages to file. */ -# define MAP_AUTOGROW 0x40 /* Grow file as pages are written. */ -# define MAP_LOCAL 0x80 /* Copy the mapped region on fork. */ -#endif - -/* Advice to `madvise'. */ -#ifdef __USE_BSD -# define MADV_NORMAL 0 /* No further special treatment. */ -# define MADV_RANDOM 1 /* Expect random page references. */ -# define MADV_SEQUENTIAL 2 /* Expect sequential page references. */ -# define MADV_WILLNEED 3 /* Will need these pages. */ -# define MADV_DONTNEED 4 /* Don't need these pages. */ -#endif - -/* Flags to `msync'. */ -#define MS_ASYNC 0x1 /* Return immediately, don't fsync. */ -#define MS_INVALIDATE 0x2 /* Invalidate caches. */ - -#endif /* bits/mman.h */ diff --git a/sysdeps/unix/sysv/irix4/bits/signum.h b/sysdeps/unix/sysv/irix4/bits/signum.h deleted file mode 100644 index c96ab9d..0000000 --- a/sysdeps/unix/sysv/irix4/bits/signum.h +++ /dev/null @@ -1,69 +0,0 @@ -/* Signal number definitions. Irix4 version. - Copyright (C) 1994, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* This file defines the fake signal functions and signal - number constants for SGI Irix 4. */ - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) -#define SIG_DFL ((__sighandler_t) 0) -#define SIG_IGN ((__sighandler_t) 1) - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGABRT SIGIOT /* Abort (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGIOT 6 /* IOT trap. */ -#define SIGEMT 7 /* EMT trap. */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* Bus error. */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad argument to system call*/ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ -#define SIGCHLD 18 /* Child status has changed (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGPWR 19 /* Power going down. */ -#define SIGSTOP 20 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 21 /* Keyboard stop (POSIX). */ -#define SIGPOLL 22 /* Same as SIGIO? (SVID). */ -#define SIGIO 23 /* I/O now possible. */ -#define SIGURG 24 /* Urgent condition on socket.*/ -#define SIGWINCH 25 /* Window size change. */ -#define SIGVTALRM 26 /* Virtual alarm clock. */ -#define SIGPROF 27 /* Profiling alarm clock. */ -#define SIGCONT 28 /* Continue (POSIX). */ -#define SIGTTIN 29 /* Background read from tty (POSIX). */ -#define SIGTTOU 30 /* Background write to tty (POSIX). */ -#define SIGXCPU 31 /* CPU limit exceeded. */ -#define SIGXFSZ 32 /* File size limit exceeded. */ - -#endif /* included. */ - -#define _NSIG 33 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/sysv/irix4/bits/stat.h b/sysdeps/unix/sysv/irix4/bits/stat.h deleted file mode 100644 index 33f575d..0000000 --- a/sysdeps/unix/sysv/irix4/bits/stat.h +++ /dev/null @@ -1,65 +0,0 @@ -/* Copyright (C) 1992, 1996, 1997, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include directly; use instead." -#endif - -struct stat - { - unsigned long st_ino; - short int st_dev; - unsigned short int st_mode; - short int st_nlink; - unsigned short int st_uid; - unsigned short int st_gid; - short int st_rdev; - long int st_size; - long int st_atime; - long int st_mtime; - long int st_ctime; - }; - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/irix4/dup2.c b/sysdeps/unix/sysv/irix4/dup2.c deleted file mode 100644 index 86720b1..0000000 --- a/sysdeps/unix/sysv/irix4/dup2.c +++ /dev/null @@ -1,3 +0,0 @@ -#include - -weak_alias (__dup2, dup2) diff --git a/sysdeps/unix/sysv/irix4/fpathconf.c b/sysdeps/unix/sysv/irix4/fpathconf.c deleted file mode 100644 index 236eb1a..0000000 --- a/sysdeps/unix/sysv/irix4/fpathconf.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -extern int __syssgi (int, ...); - -/* Get file-specific information about descriptor FD. */ -long int -__fpathconf (fd, name) - int fd; - int name; -{ - return __syssgi (SGI_PATHCONF, FPATHCONF, fd, name); -} - -weak_alias (__fpathconf, fpathconf) diff --git a/sysdeps/unix/sysv/irix4/getgroups.c b/sysdeps/unix/sysv/irix4/getgroups.c deleted file mode 100644 index 4c859ea..0000000 --- a/sysdeps/unix/sysv/irix4/getgroups.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __syssgi (int, ...); - -/* Set the group set for the current user to GROUPS (N of them). */ -int -__getgroups (n, groups) - size_t n; - gid_t *groups; -{ - return __syssgi (SGI_GETGROUPS, n, groups); -} - -weak_alias (__getgroups, getgroups) diff --git a/sysdeps/unix/sysv/irix4/getpriority.c b/sysdeps/unix/sysv/irix4/getpriority.c deleted file mode 100644 index 807ac2f..0000000 --- a/sysdeps/unix/sysv/irix4/getpriority.c +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1994,96,97,2000,02, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __sysmp (int, ...); - -/* Return the highest priority of any process specified by WHICH and WHO - (see ); if WHO is zero, the current process, process group, - or user (as specified by WHO) is used. A lower priority number means higher - priority. Priorities range from PRIO_MIN to PRIO_MAX. */ -int -getpriority (which, who) - enum __priority_which which; - id_t who; -{ - switch (which) - { - case PRIO_PROCESS: - return __sysmp (MP_SCHED, MPTS_GTNICE_PROC, who); - case PRIO_PGRP: - return __sysmp (MP_SCHED, MPTS_GTNICE_PGRP, who); - case PRIO_USER: - return __sysmp (MP_SCHED, MPTS_GTNICE_USER, who); - } - - __set_errno (EINVAL); - return -1; -} -libc_hidden_def (getpriority) diff --git a/sysdeps/unix/sysv/irix4/getrusage.c b/sysdeps/unix/sysv/irix4/getrusage.c deleted file mode 100644 index 3cabbdf..0000000 --- a/sysdeps/unix/sysv/irix4/getrusage.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __syssgi (int, ...); - -/* Return resource usage information on process indicated by WHO - and put it in *USAGE. Returns 0 for success, -1 for failure. */ -int -__getrusage (who, usage) - enum __rusage_who who; - struct rusage *usage; -{ - return __syssgi (SGI_RUSAGE, who, usage); -} - -weak_alias (__getrusage, getrusage) diff --git a/sysdeps/unix/sysv/irix4/gettimeofday.c b/sysdeps/unix/sysv/irix4/gettimeofday.c deleted file mode 100644 index d7055be..0000000 --- a/sysdeps/unix/sysv/irix4/gettimeofday.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/irix4/pathconf.c b/sysdeps/unix/sysv/irix4/pathconf.c deleted file mode 100644 index 51da0c5..0000000 --- a/sysdeps/unix/sysv/irix4/pathconf.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -extern int __syssgi (int, ...); - -/* Get file-specific information about PATH. */ -long int -__pathconf (path, name) - const char *path; - int name; -{ - return __syssgi (SGI_PATHCONF, PATHCONF, path, name); -} - -weak_alias (__pathconf, pathconf) diff --git a/sysdeps/unix/sysv/irix4/readv.c b/sysdeps/unix/sysv/irix4/readv.c deleted file mode 100644 index baa976d..0000000 --- a/sysdeps/unix/sysv/irix4/readv.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/irix4/reboot.c b/sysdeps/unix/sysv/irix4/reboot.c deleted file mode 100644 index 7c9dbba..0000000 --- a/sysdeps/unix/sysv/irix4/reboot.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/irix4/setgroups.c b/sysdeps/unix/sysv/irix4/setgroups.c deleted file mode 100644 index cca816b..0000000 --- a/sysdeps/unix/sysv/irix4/setgroups.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1994,97,2002, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __syssgi (int, ...); - -/* Set the group set for the current user to GROUPS (N of them). */ -int -setgroups (n, groups) - size_t n; - const gid_t *groups; -{ - return __syssgi (SGI_SETGROUPS, n, groups); -} -libc_hidden_def (setgroups) diff --git a/sysdeps/unix/sysv/irix4/setpriority.c b/sysdeps/unix/sysv/irix4/setpriority.c deleted file mode 100644 index 9935318..0000000 --- a/sysdeps/unix/sysv/irix4/setpriority.c +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1994,96,97,2000,02 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -int -setpriority (which, who, prio) - enum __priority_which which; - id_t who; - int prio; -{ - switch (which) - { - case PRIO_PROCESS: - return __sysmp (MP_SCHED, MPTS_RENICE_PROC, who, prio); - case PRIO_PGRP: - return __sysmp (MP_SCHED, MPTS_RENICE_PGRP, who, prio); - case PRIO_USER: - return __sysmp (MP_SCHED, MPTS_RENICE_USER, who, prio); - } - - __set_errno (EINVAL); - return -1; -} -libc_hidden_def (setpriority) diff --git a/sysdeps/unix/sysv/irix4/sigreturn.S b/sysdeps/unix/sysv/irix4/sigreturn.S deleted file mode 100644 index 296db1d..0000000 --- a/sysdeps/unix/sysv/irix4/sigreturn.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@cs.widener.edu). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -ENTRY(__sigreturn) - li v0, SYS_sigreturn - syscall - -weak_alias (__sigreturn, sigreturn) diff --git a/sysdeps/unix/sysv/irix4/sigtramp.c b/sysdeps/unix/sysv/irix4/sigtramp.c deleted file mode 100644 index f8de75a..0000000 --- a/sysdeps/unix/sysv/irix4/sigtramp.c +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1992, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* The sigvec system call on MIPS Ultrix takes an additional - parameter, which is the address that is actually called when the - signal occurs. - - When a signal occurs, we arrange for the kernel to call __handler. - That will save the frame and stack pointers into the context, and - then jump to this routine. See __handler.S. - - This code is based on sysdeps/unix/bsd/sun4/sigtramp.c, but it's - different because since we get passed the user signal handler we - don't actually need a trampoline. */ - -#include -#include -#include - -/* The user's signal handler is called with three arguments. */ -typedef void (*handler_type) (int sig, int code, struct sigcontext *); - -/* Defined in signal.S. */ -extern __sighandler_t __raw_signal (int sig, __sighandler_t func, - void (*)(int sig, int code, - struct sigcontext *, - handler_type)); - -extern void __handler (int sig, int code, struct sigcontext *, - handler_type); - -__sighandler_t -signal (sig, func) - int sig; - __sighandler_t func; -{ - return __raw_signal (sig, func, __handler); -} diff --git a/sysdeps/unix/sysv/irix4/start.c b/sysdeps/unix/sysv/irix4/start.c deleted file mode 100644 index fdda880..0000000 --- a/sysdeps/unix/sysv/irix4/start.c +++ /dev/null @@ -1,75 +0,0 @@ -/* Copyright (C) 1991,1992,1995,1996,1997,2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -#ifndef __GNUC__ - #error This file uses GNU C extensions; you must compile with GCC. -#endif - -/* The first piece of initialized data. */ -int __data_start = 0; - -extern void __libc_init (int argc, char **argv, char **envp); -extern int main (int argc, char **argv, char **envp); - -/* Use the stack pointer to access the arguments. This assumes that - we can guess how big the frame will be. */ -register long int sp asm("sp"); -#ifdef __OPTIMIZE__ -#define STACKSIZE 8 -#else -#define STACKSIZE 10 -#endif - -void -__start () -{ - int argc; - char **argv, **envp; - - /* Set up the global pointer. */ - asm volatile ("la $28,_gp"); - argc = ((int *) sp)[STACKSIZE]; - argv = (char **) &((int *) sp)[STACKSIZE + 1]; - envp = &argv[argc + 1]; - __environ = envp; - - __libc_init (argc, argv, envp); - errno = 0; - exit (main (argc, argv, envp)); -} diff --git a/sysdeps/unix/sysv/irix4/swapon.c b/sysdeps/unix/sysv/irix4/swapon.c deleted file mode 100644 index 43c5222..0000000 --- a/sysdeps/unix/sysv/irix4/swapon.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/irix4/syscalls.list b/sysdeps/unix/sysv/irix4/syscalls.list deleted file mode 100644 index a57529e..0000000 --- a/sysdeps/unix/sysv/irix4/syscalls.list +++ /dev/null @@ -1,8 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -getpgid - bsdgetpgrp 1 __getpgid getpgid -msync - msync 3 msync -setpgid - bsdsetpgrp 2 __setpgid setpgid -signal - signal 3 __raw_signal -sysmp - sysmp 4 __sysmp -syssgi - syssgi 2 __syssgi diff --git a/sysdeps/unix/sysv/irix4/sysconf.c b/sysdeps/unix/sysv/irix4/sysconf.c deleted file mode 100644 index ef7606e..0000000 --- a/sysdeps/unix/sysv/irix4/sysconf.c +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2002, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern int __syssgi ((int, ...); - -/* Get the value of the system variable NAME. */ -long int -__sysconf (name) - int name; -{ - if (name == _SC_TZNAME_MAX) - return __tzname_max (); - - return __syssgi (SGI_SYSCONF, name); -} - -weak_alias (__sysconf, sysconf) -libc_hidden_def (__sysconf) diff --git a/sysdeps/unix/sysv/irix4/uname.S b/sysdeps/unix/sysv/irix4/uname.S deleted file mode 100644 index 0b6536f..0000000 --- a/sysdeps/unix/sysv/irix4/uname.S +++ /dev/null @@ -1,26 +0,0 @@ -/* Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -ENTRY(uname) - li a2, 0 - li a3, 0 -SYSCALL__ (utssys, 1) - j ra - move v0, zero diff --git a/sysdeps/unix/sysv/irix4/wait.S b/sysdeps/unix/sysv/irix4/wait.S deleted file mode 100644 index 90cd594..0000000 --- a/sysdeps/unix/sysv/irix4/wait.S +++ /dev/null @@ -1,43 +0,0 @@ -/* Copyright (C) 1992, 1995, 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Brendan Kehoe (brendan@cs.widener.edu). - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -.set noreorder - -ENTRY(__wait) - /* Prep it for wait */ - move a1, zero - move a2, zero - - li v0, SYS_wait - syscall - beq a3, zero, noerror - nop - j syscall_error - nop -noerror: - beq a0, zero, noarg - nop - sw v1, 0(a0) - nop -noarg: - ret - -weak_alias (__wait, wait) diff --git a/sysdeps/unix/sysv/irix4/waitpid.c b/sysdeps/unix/sysv/irix4/waitpid.c deleted file mode 100644 index 8378982..0000000 --- a/sysdeps/unix/sysv/irix4/waitpid.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/irix4/writev.c b/sysdeps/unix/sysv/irix4/writev.c deleted file mode 100644 index 0dc6a76..0000000 --- a/sysdeps/unix/sysv/irix4/writev.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/isc2.2/syscalls.list b/sysdeps/unix/sysv/isc2.2/syscalls.list deleted file mode 100644 index 0ea253e..0000000 --- a/sysdeps/unix/sysv/isc2.2/syscalls.list +++ /dev/null @@ -1,2 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - diff --git a/sysdeps/unix/sysv/minix/bits/sigaction.h b/sysdeps/unix/sysv/minix/bits/sigaction.h deleted file mode 100644 index 4b04b7b..0000000 --- a/sysdeps/unix/sysv/minix/bits/sigaction.h +++ /dev/null @@ -1,53 +0,0 @@ -/* Copyright (C) 1992, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ - __sighandler_t sa_handler; - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - }; - -/* Bits in `sa_flags'. */ -#ifdef __USE_MISC -# define SA_ONSTACK 0x1 /* Take signal on signal stack. */ -# define SA_RESETHAND 0x2 /* Reset signal handler when signal caught. */ -# define SA_NODEFER 0x4 /* Don't block signal while catching it. */ -# define SA_RESTART 0x8 /* Restart syscall on signal return. */ -# define SA_SIGINFO 0x10 /* Extended signal handling. */ -# define SA_NOCLDWAIT 0x20 /* Don't create zombies. */ -# define SA_COMPAT 0x80 /* Internal flag for old signal catchers. */ -# define SA_DISABLE 0x100 /* Disable alternate signal stack. */ -#endif -#define SA_NOCLDSTOP 0x40 /* Don't send SIGCHLD when children stop. */ - - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 0 /* Block signals. */ -#define SIG_UNBLOCK 1 /* Unblock signals. */ -#define SIG_SETMASK 2 /* Set the set of blocked signals. */ diff --git a/sysdeps/unix/sysv/sco3.2.4/Makefile b/sysdeps/unix/sysv/sco3.2.4/Makefile deleted file mode 100644 index a199ba9..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -ifeq (posix,$(subdir)) -sysdep_routines := $(sysdep_routines) pgrpsys sco_getgrp -endif - -ifeq (csu,$(subdir)) - -# SCO uses crt1.o, and expects that single initializer file to also start -# the .init and .fini sections as crti.o normally does. -start-installed-name = crt1.o -start-installed-name-rule = yes - -# Link together start.o and crti.o into the expected crt1.o. -# Now crt1.o as initializer and crtn.o as finalizer will work. -$(objpfx)crt1.o: $(objpfx)start.o $(objpfx)crti.o - $(CC) -nostdlib -nostartfiles -Wl,-r -o $@ $^ - -endif diff --git a/sysdeps/unix/sysv/sco3.2.4/__setpgid.c b/sysdeps/unix/sysv/sco3.2.4/__setpgid.c deleted file mode 100644 index d51fa60..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/__setpgid.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1994, 1997, 2002, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __pgrpsys (int type, ...); - -/* Get the process group ID of process PID. */ -int -__setpgid (pid, pgid) - pid_t pid; - pid_t pgid; -{ - return __pgrpsys (2, pid, pgid); -} -libc_hidden_def (__setpgid) diff --git a/sysdeps/unix/sysv/sco3.2.4/bits/confname.h b/sysdeps/unix/sysv/sco3.2.4/bits/confname.h deleted file mode 100644 index 42e6ed0..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/bits/confname.h +++ /dev/null @@ -1,54 +0,0 @@ -/* `sysconf', `pathconf', and `confstr' NAME values. Generic version. - 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _UNISTD_H -# error "Never use directly; include instead." -#endif - -/* Values for the NAME argument to `pathconf' and `fpathconf'. */ -#define _PC_LINK_MAX 0 -#define _PC_MAX_CANON 1 -#define _PC_MAX_INPUT 2 -#define _PC_NAME_MAX 3 -#define _PC_PATH_MAX 4 -#define _PC_PIPE_BUF 5 -#define _PC_CHOWN_RESTRICTED 6 -#define _PC_NO_TRUNC 7 -#define _PC_VDISABLE 8 - -/* Values for the argument to `sysconf'. */ -#define _SC_ARG_MAX 0 -#define _SC_CHILD_MAX 1 -#define _SC_CLK_TCK 2 -#define _SC_NGROUPS_MAX 3 -#define _SC_OPEN_MAX 4 -#define _SC_JOB_CONTROL 5 -#define _SC_SAVED_IDS 6 -#define _SC_VERSION 7 -#define _SC_PASS_MAX 8 -#define _SC_XOPEN_VERSION 9 -#define _SC_TZNAME_MAX 666 /* Not handled by SCO's system call. */ - -#ifdef __USE_POSIX2 -/* Values for the NAME argument to `confstr'. */ -enum - { - _CS_PATH /* The default search path. */ - }; -#endif diff --git a/sysdeps/unix/sysv/sco3.2.4/bits/sigaction.h b/sysdeps/unix/sysv/sco3.2.4/bits/sigaction.h deleted file mode 100644 index f087388..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/bits/sigaction.h +++ /dev/null @@ -1,43 +0,0 @@ -/* The proper definitions for SCO's sigaction. - Copyright (C) 1993, 1994, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Signal handler. */ - __sighandler_t sa_handler; - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Special flags. */ - int sa_flags; - }; - -/* Bits in `sa_flags'. */ -#define SA_NOCLDSTOP 0x01 /* Don't send SIGCHLD when children stop. */ - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_SETMASK 0 /* Set the set of blocked signals. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ diff --git a/sysdeps/unix/sysv/sco3.2.4/getgroups.c b/sysdeps/unix/sysv/sco3.2.4/getgroups.c deleted file mode 100644 index 2aac40b..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/getgroups.c +++ /dev/null @@ -1,45 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -extern int __sco_getgroups (int size, unsigned short int *list); - -int -__getgroups (size, list) - int size; gid_t *list; -{ - int i; - unsigned short int *shortlist; - - if (size <= 0) - return __sco_getgroups (size, NULL); - - shortlist = __alloca (size * sizeof (*shortlist)); - - size = __sco_getgroups (size, shortlist); - for (i = 0; i < size; ++i) - list[i] = shortlist[i]; - - return size; -} - -weak_alias (__getgroups, getgroups) diff --git a/sysdeps/unix/sysv/sco3.2.4/getpgid.c b/sysdeps/unix/sysv/sco3.2.4/getpgid.c deleted file mode 100644 index 3b47d9d..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/getpgid.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/sco3.2.4/setpgid.c b/sysdeps/unix/sysv/sco3.2.4/setpgid.c deleted file mode 100644 index cc9c4cd..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/setpgid.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/sco3.2.4/setsid.c b/sysdeps/unix/sysv/sco3.2.4/setsid.c deleted file mode 100644 index 6337652..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/setsid.c +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/sco3.2.4/sigaction.S b/sysdeps/unix/sysv/sco3.2.4/sigaction.S deleted file mode 100644 index ae50c17..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/sigaction.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1993, 1994, 1995, 1997, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -.globl C_SYMBOL_NAME(__sigreturn) - -ENTRY (__sigaction) - movl $C_SYMBOL_NAME(__sigreturn), %ecx - DO_CALL (sigaction, 3) - jb syscall_error - ret - -libc_hidden_def (__sigaction) -weak_alias (__sigaction, sigaction) diff --git a/sysdeps/unix/sysv/sco3.2.4/sys/syscall.h b/sysdeps/unix/sysv/sco3.2.4/sys/syscall.h deleted file mode 100644 index 05bbb89..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/sys/syscall.h +++ /dev/null @@ -1,125 +0,0 @@ -/* Copyright (C) 1994, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* From Scott Bartram. */ - -#ifndef _SYSCALL_H -#define _SYSCALL_H - -#define SYS_access 33 -#define SYS_acct 51 -#define SYS_advfs 70 -#define SYS_alarm 27 -#define SYS_break 17 -#define SYS_brk 17 -#define SYS_chdir 12 -#define SYS_chmod 15 -#define SYS_chown 16 -#define SYS_chroot 61 -#define SYS_chsize 0x0a28 -#define SYS_close 6 -#define SYS_creat 8 -#define SYS_dup 41 -#define SYS_exec 11 -#define SYS_exece 59 -#define SYS_exit 1 -#define SYS_fcntl 62 -#define SYS_fork 2 -#define SYS_fpathconf 0x2f28 -#define SYS_fstat 28 -#define SYS_fstatfs 38 -#define SYS_ftime 0x0b28 -#define SYS_getdents 81 -#define SYS_getgid 47 -#define SYS_getgroups 0x2b28 -#define SYS_getitimer 0x3728 -#define SYS_getmsg 85 -#define SYS_getpid 20 -#define SYS_getuid 24 -#define SYS_gtty 32 -#define SYS_ioctl 54 -#define SYS_kill 37 -#define SYS_link 9 -#define SYS_lock 45 -#define SYS_lseek 19 -#define SYS_lstat 91 -#define SYS_mkdir 80 -#define SYS_mknod 14 -#define SYS_mount 21 -#define SYS_msgsys 49 -#define SYS_nap 0x0c28 -#define SYS_nice 34 -#define SYS_open 5 -#define SYS_pathconf 0x2e28 -#define SYS_pause 29 -#define SYS_pgrpsys 39 -#define SYS_pipe 42 -#define SYS_plock 45 -#define SYS_poll 87 -#define SYS_prof 44 -#define SYS_ptrace 26 -#define SYS_putmsg 86 -#define SYS_rdebug 76 -#define SYS_read 3 -#define SYS_readlink 92 -#define SYS_rename 0x3028 -#define SYS_rfstart 74 -#define SYS_rfstop 77 -#define SYS_rfsys 78 -#define SYS_rmdir 79 -#define SYS_rmount 72 -#define SYS_rumount 73 -#define SYS_seek 19 -#define SYS_select 0x2428 -#define SYS_semsys 53 -#define SYS_setgid 46 -#define SYS_setgroups 0x2c28 -#define SYS_setitimer 0x3828 -#define SYS_setpgrp 39 -#define SYS_setuid 23 -#define SYS_shmsys 52 -#define SYS_sigaction 0x2728 -#define SYS_signal 48 -#define SYS_sigpending 0x2928 -#define SYS_sigprocmask 0x2828 -#define SYS_sigsuspend 0x2a28 -#define SYS_stat 18 -#define SYS_statfs 35 -#define SYS_stime 25 -#define SYS_stty 31 -#define SYS_symlink 90 -#define SYS_sync 36 -#define SYS_sys3b 50 -#define SYS_sysacct 51 -#define SYS_sysconf 0x2d28 -#define SYS_sysfs 84 -#define SYS_sysi86 50 -#define SYS_time 13 -#define SYS_times 43 -#define SYS_uadmin 55 -#define SYS_ulimit 63 -#define SYS_umask 60 -#define SYS_umount 22 -#define SYS_unadvfs 71 -#define SYS_unlink 10 -#define SYS_utime 30 -#define SYS_utssys 57 -#define SYS_wait 7 -#define SYS_write 4 - -#endif diff --git a/sysdeps/unix/sysv/sco3.2.4/syscalls.list b/sysdeps/unix/sysv/sco3.2.4/syscalls.list deleted file mode 100644 index bda6c16..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/syscalls.list +++ /dev/null @@ -1,8 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -pathconf - pathconf 2 __pathconf pathconf -pgrpsys - pgrpsys 3 __pgrpsys -sco_getgrp getgroups getgroups 2 __sco_getgroups -sigpending - sigpending 1 sigpending -sigprocmask - sigprocmask 3 __sigprocmask sigprocmask -sigsuspend - sigsuspend 1 sigsuspend diff --git a/sysdeps/unix/sysv/sco3.2.4/sysconf.S b/sysdeps/unix/sysv/sco3.2.4/sysconf.S deleted file mode 100644 index 9780bd4..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/sysconf.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1993, 1994, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -.globl __tzname_max -ENTRY (__sysconf) - cmpl $_SC_TZNAME_MAX, 4(%esp) /* Is the arg _SC_TZNAME_MAX? */ - je tzname - DO_CALL (sysconf, 1) /* No; use the SCO system call. */ - ret -tzname: jmp C_SYMBOL_NAME(__tzname_max) /* Yes; bounce to __tzname_max (). */ - -weak_alias (__sysconf, sysconf) diff --git a/sysdeps/unix/sysv/sco3.2.4/system.c b/sysdeps/unix/sysv/sco3.2.4/system.c deleted file mode 100644 index 06dc066..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/system.c +++ /dev/null @@ -1,10 +0,0 @@ -/* SCO has a bug where `waitpid' will never return if SIGCHLD is blocked. - They have acknowledged that this is a bug but I have not seen nor heard - of any forthcoming fix. */ - -#define WAITPID_CANNOT_BLOCK_SIGCHLD - -/* SCO 3.2v4 does have `waitpid'. - Avoid unix/system.c, which says we don't. */ - -#include diff --git a/sysdeps/unix/sysv/sco3.2.4/uname.S b/sysdeps/unix/sysv/sco3.2.4/uname.S deleted file mode 100644 index bc61089..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/uname.S +++ /dev/null @@ -1,41 +0,0 @@ -/* Copyright (C) 1993, 1994, 1997 Free Software Foundation, Inc. - Contributed by Scott Bartram. - 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* - before lcall, stack contents should be: - - 4(%esp) -> name - 8(%esp) -> unspecified - 12(%esp) -> 0 - */ - -ENTRY (uname) - pushl $0x0 /* Push the discriminator flag. */ - pushl $0x0 /* Push dummy placeholder. */ - pushl 12(%esp,1) /* Push NAME (ptr to struct utsname) */ - subl $0x4, %esp /* Adjust stack pointer. */ - DO_CALL (utssys, 3) - jb error /* Test for error. */ - addl $0x10, %esp /* Adjust the stack pointer. */ - xorl %eax, %eax /* Clear return value. */ - ret -error: addl $0x10, %esp /* Adjust the stack pointer. */ - jmp syscall_error diff --git a/sysdeps/unix/sysv/sco3.2.4/waitpid.S b/sysdeps/unix/sysv/sco3.2.4/waitpid.S deleted file mode 100644 index ccbc812..0000000 --- a/sysdeps/unix/sysv/sco3.2.4/waitpid.S +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1993,94,95,97,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -ENTRY (__waitpid) - /* The `waitpid' system call is distinguished from plain - `wait' by setting lots of bits in the processor flags. */ - pushfl /* Push the flags word. */ - popl %eax /* Pop it into the accumulator. */ - orl $0x8c4, %eax /* Set lots of bits. */ - pushl %eax /* Push the new flags word. */ - popfl /* Pop it into the flags. */ - DO_CALL (wait, 2) - movl 8(%esp), scratch /* Put status pointer in scratch register. */ - testl scratch, scratch /* Is it non-nil? */ - je null - movl r1, (scratch) /* Yes; store the status there. */ -null: ret - -libc_hidden_def (__waitpid) -weak_alias (__waitpid, waitpid) diff --git a/sysdeps/unix/sysv/sco3.2/Makefile b/sysdeps/unix/sysv/sco3.2/Makefile deleted file mode 100644 index c4d9da7..0000000 --- a/sysdeps/unix/sysv/sco3.2/Makefile +++ /dev/null @@ -1,23 +0,0 @@ -# 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 -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 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 -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; 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 diff --git a/sysdeps/unix/sysv/sco3.2/__fltused.c b/sysdeps/unix/sysv/sco3.2/__fltused.c deleted file mode 100644 index 5d1d67f..0000000 --- a/sysdeps/unix/sysv/sco3.2/__fltused.c +++ /dev/null @@ -1,3 +0,0 @@ -/* Code compiled by the SCO compiler apparently likes this to be defined. */ - -int __fltused = 1; diff --git a/sysdeps/unix/sysv/sco3.2/bits/local_lim.h b/sysdeps/unix/sysv/sco3.2/bits/local_lim.h deleted file mode 100644 index b4141d0..0000000 --- a/sysdeps/unix/sysv/sco3.2/bits/local_lim.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1993, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _BITS_LOCAL_LIM_H -#define _BITS_LOCAL_LIM_H 1 - -#define NGROUPS_MAX 8 /* Maximum number of supplementary groups. */ -#define ARG_MAX 5120 -#define CHILD_MAX 25 -#define OPEN_MAX 60 -#define LINK_MAX 1000 -#define MAX_CANON 256 - -/* For SVR3, this is 14. For SVR4, it is 255, at least on ufs - file systems, even though the System V limits.h incorrectly - defines it as 14. Giving it a value which is too large - is harmless (it is a maximum). */ -#define NAME_MAX 255 - -#define PATH_MAX 1024 - -#endif /* bits/local_lim.h */ diff --git a/sysdeps/unix/sysv/sysv4/Implies b/sysdeps/unix/sysv/sysv4/Implies deleted file mode 100644 index 953822e..0000000 --- a/sysdeps/unix/sysv/sysv4/Implies +++ /dev/null @@ -1,3 +0,0 @@ -# The directory unix/common contains things which are common to both BSD -# and SVR4. -unix/common diff --git a/sysdeps/unix/sysv/sysv4/Makefile b/sysdeps/unix/sysv/sysv4/Makefile deleted file mode 100644 index 6f7155c..0000000 --- a/sysdeps/unix/sysv/sysv4/Makefile +++ /dev/null @@ -1,29 +0,0 @@ -# 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 -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 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 -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; if not, write to the Free -# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA -# 02111-1307 USA. - -ifeq ($(subdir),posix) - -sysdep_routines := $(sysdep_routines) sysconfig pgrpsys __waitid - -endif - -ifeq ($(subdir),misc) - -sysdep_routines := $(sysdep_routines) sysinfo - -endif diff --git a/sysdeps/unix/sysv/sysv4/__getpgid.c b/sysdeps/unix/sysv/sysv4/__getpgid.c deleted file mode 100644 index 74ca3e0..0000000 --- a/sysdeps/unix/sysv/sysv4/__getpgid.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1993, 1997, 2002, 2004 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __pgrpsys (int type, ...); - -/* Get the process group ID of process PID. */ -int -__getpgid (pid) - pid_t pid; -{ - return __pgrpsys (4, pid); -} -libc_hidden_def (__getpgid) diff --git a/sysdeps/unix/sysv/sysv4/__setpgid.c b/sysdeps/unix/sysv/sysv4/__setpgid.c deleted file mode 100644 index 36ad5cc..0000000 --- a/sysdeps/unix/sysv/sysv4/__setpgid.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1993, 1997, 2002, 2004 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __pgrpsys (int type, ...); - -/* Get the process group ID of process PID. */ -int -__setpgid (pid, pgid) - pid_t pid; - pid_t pgid; -{ - return __pgrpsys (5, pid, pgid); -} -libc_hidden_def (__setpgid) diff --git a/sysdeps/unix/sysv/sysv4/bits/sigaction.h b/sysdeps/unix/sysv/sysv4/bits/sigaction.h deleted file mode 100644 index faf07e5..0000000 --- a/sysdeps/unix/sysv/sysv4/bits/sigaction.h +++ /dev/null @@ -1,55 +0,0 @@ -/* The proper definitions for SVR4's sigaction. - Copyright (C) 1993, 1994, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include directly; use instead." -#endif - -/* Structure describing the action to be taken when a signal arrives. */ -struct sigaction - { - /* Special flags. */ - int sa_flags; - - /* Signal handler. */ - __sighandler_t sa_handler; - - /* Additional set of signals to be blocked. */ - __sigset_t sa_mask; - - /* Padding. */ - int sa_resv[2]; - }; - -/* Bits in `sa_flags'. */ -#ifdef __USE_MISC -# define SA_ONSTACK 0x1 /* Take signal on signal stack. */ -# define SA_RESETHAND 0x2 /* Reset to SIG_DFL on entry to handler. */ -# define SA_RESTART 0x4 /* Restart syscall on signal return. */ -# define SA_SIGINFO 0x8 /* Provide additional info to the handler. */ -# define SA_NODEFER 0x10 /* Don't automatically block the signal when - its handler is being executed. */ -# define SA_NOCLDWAIT 0x10000 /* Don't save zombie processes. */ -#endif -#define SA_NOCLDSTOP 0x20000 /* Don't send SIGCHLD when children stop. */ - -/* Values for the HOW argument to `sigprocmask'. */ -#define SIG_BLOCK 1 /* Block signals. */ -#define SIG_UNBLOCK 2 /* Unblock signals. */ -#define SIG_SETMASK 3 /* Set the set of blocked signals. */ diff --git a/sysdeps/unix/sysv/sysv4/bits/signum.h b/sysdeps/unix/sysv/sysv4/bits/signum.h deleted file mode 100644 index 07f900a..0000000 --- a/sysdeps/unix/sysv/sysv4/bits/signum.h +++ /dev/null @@ -1,66 +0,0 @@ -/* Signal number definitions. SVR4 version. - Copyright (C) 1994, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGABRT SIGIOT /* Abort (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGIOT 6 /* IOT trap (4.2 BSD). */ -#define SIGEMT 7 /* EMT trap (4.2 BSD). */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* Bus error (4.2 BSD). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad argument to system call (4.2 BSD)*/ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ -#define SIGCHLD 18 /* Child status has changed (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGPWR 19 /* Power failure restart (System V). */ -#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ -#define SIGURG 21 /* Urgent condition on socket (4.2 BSD).*/ -#define SIGPOLL 22 /* Pollable event occurred (System V). */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGSTOP 23 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 24 /* Keyboard stop (POSIX). */ -#define SIGCONT 25 /* Continue (POSIX). */ -#define SIGTTIN 26 /* Background read from tty (POSIX). */ -#define SIGTTOU 27 /* Background write to tty (POSIX). */ -#define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */ -#define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */ -#define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */ - -#endif /* included. */ - -#define _NSIG 32 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/sysv/sysv4/bits/sigset.h b/sysdeps/unix/sysv/sysv4/bits/sigset.h deleted file mode 100644 index 9093c72..0000000 --- a/sysdeps/unix/sysv/sysv4/bits/sigset.h +++ /dev/null @@ -1,98 +0,0 @@ -/* __sig_atomic_t, __sigset_t, and related definitions. SVR4 version. - Copyright (C) 1994-1996, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGSET_H_types -#define _SIGSET_H_types 1 - -typedef int __sig_atomic_t; - -/* A `sigset_t' has a bit for each signal. */ -typedef struct - { - unsigned long int __sigbits[4]; - } __sigset_t; - -#endif /* ! _SIGSET_H_types */ - -/* We only want to define these functions if was actually - included; otherwise we were included just to define the types. Since we - are namespace-clean, it wouldn't hurt to define extra macros. But - trouble can be caused by functions being defined (e.g., any global - register vars declared later will cause compilation errors). */ - -#if !defined (_SIGSET_H_fns) && defined (_SIGNAL_H) -#define _SIGSET_H_fns 1 - -/* Return a mask that includes SIG only. */ -#define __sigmask(sig) (1 << ((sig) - 1)) - - -/* It's easier to assume 8-bit bytes than to get CHAR_BIT. */ -#define __NSSBITS (sizeof (unsigned long int) * 8) -#define __SSELT(s) ((s) / __NSSBITS) -#define __SSMASK(s) (1 << ((s) % __NSSBITS)) - -#ifdef __USE_EXTERN_INLINES -# ifndef _EXTERN_INLINE -# define _EXTERN_INLINE extern __inline -# endif - -_EXTERN_INLINE int -__sigemptyset (__sigset_t *__set) -{ - __set->__sigbits[0] = __set->__sigbits[1] = - __set->__sigbits[2] = __set->__sigbits[3] = 0L; - return 0; -} - -_EXTERN_INLINE int -__sigfillset (__sigset_t *__set) -{ - /* SVR4 has a system call for `sigfillset' (!), and it only sets the bits - for signals [1,31]. Setting bits for unimplemented signals seems - harmless (and we will find out if it really is). */ - __set->__sigbits[0] = __set->__sigbits[1] = - __set->__sigbits[2] = __set->__sigbits[3] = ~0L; - return 0; -} - -_EXTERN_INLINE int -__sigaddset (__sigset_t *__set, int __sig) -{ - __set->__sigbits[__SSELT (__sig)] |= __SSMASK (__sig); - return 0; -} - -_EXTERN_INLINE int -__sigdelset (__sigset_t *__set, int __sig) -{ - __set->__sigbits[__SSELT (__sig)] &= ~__SSMASK (__sig); - return 0; -} - -_EXTERN_INLINE int -__sigismember (__const __sigset_t *__set, int __sig) -{ - if (__set->__sigbits[__SSELT (__sig)] & __SSMASK (__sig)) - return 1; - return 0; -} -#endif /* use extern inlines. */ - -#endif /* ! _SIGSET_H_fns */ diff --git a/sysdeps/unix/sysv/sysv4/bits/utsname.h b/sysdeps/unix/sysv/sysv4/bits/utsname.h deleted file mode 100644 index 891ae68..0000000 --- a/sysdeps/unix/sysv/sysv4/bits/utsname.h +++ /dev/null @@ -1,23 +0,0 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UTSNAME_H -# error "Never include directly; use instead." -#endif - -#define _UTSNAME_LENGTH 257 diff --git a/sysdeps/unix/sysv/sysv4/bits/waitflags.h b/sysdeps/unix/sysv/sysv4/bits/waitflags.h deleted file mode 100644 index 40bc823..0000000 --- a/sysdeps/unix/sysv/sysv4/bits/waitflags.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Definitions of flag bits for `waitpid' et al. - Copyright (C) 1993, 1996, 1997, 2000 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#if !defined _SYS_WAIT_H && !defined _STDLIB_H -# error "Never include directly; use instead." -#endif - - -/* Bits in the third argument to `waitpid'. */ -#define WNOHANG 64 /* Don't block waiting. */ -#define WUNTRACED 4 /* Report status of stopped children. */ - -#ifdef __USE_SVID -# define WEXITED 1 /* Look for children that have exited. */ -# define WTRAPPED 2 /* Look for processes that stopped - while tracing. */ -#endif diff --git a/sysdeps/unix/sysv/sysv4/dup2.c b/sysdeps/unix/sysv/sysv4/dup2.c deleted file mode 100644 index 7d36e0e..0000000 --- a/sysdeps/unix/sysv/sysv4/dup2.c +++ /dev/null @@ -1,2 +0,0 @@ -/* SVR4 uses the POSIX dup2. */ -#include diff --git a/sysdeps/unix/sysv/sysv4/ftruncate.c b/sysdeps/unix/sysv/sysv4/ftruncate.c deleted file mode 100644 index 47e040e..0000000 --- a/sysdeps/unix/sysv/sysv4/ftruncate.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ftruncate for SVR4 using the fcntl F_FREESP command. - Copyright (C) 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -/* Truncate the file FD refers to to LENGTH bytes. */ -int -ftruncate (fd, length) - int fd; - off_t length; -{ - struct flock fl; - - memset (&fl, 0, sizeof fl); - fl.l_type = F_WRLCK; - fl.l_start = length; - return fcntl (fd, F_FREESP, &fl); -} diff --git a/sysdeps/unix/sysv/sysv4/gethostname.c b/sysdeps/unix/sysv/sysv4/gethostname.c deleted file mode 100644 index 4a058b5..0000000 --- a/sysdeps/unix/sysv/sysv4/gethostname.c +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 1994, 1995, 1997, 2000, 2001 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -extern int __sysinfo (int command, char *buf, long int count); - -int -__gethostname (name, namelen) - char *name; - size_t namelen; -{ - return __sysinfo (SI_HOSTNAME, name, namelen); -} - -weak_alias (__gethostname, gethostname) diff --git a/sysdeps/unix/sysv/sysv4/getpagesize.c b/sysdeps/unix/sysv/sysv4/getpagesize.c deleted file mode 100644 index 6119640..0000000 --- a/sysdeps/unix/sysv/sysv4/getpagesize.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Solaris uses sysconf ala POSIX.1. */ -#include diff --git a/sysdeps/unix/sysv/sysv4/getpgid.c b/sysdeps/unix/sysv/sysv4/getpgid.c deleted file mode 100644 index 95f9641..0000000 --- a/sysdeps/unix/sysv/sysv4/getpgid.c +++ /dev/null @@ -1,32 +0,0 @@ -/* Copyright (C) 1993,1995,1997,1999,2002,2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern pid_t __pgrpsys (int type, ...); - -/* Get the process group ID of process PID. */ -pid_t -__getpgid (pid) - pid_t pid; -{ - return __pgrpsys (4, pid); -} -libc_hidden_def (__getpgid) -weak_alias (__getpgid, getpgid) diff --git a/sysdeps/unix/sysv/sysv4/i386/Makefile b/sysdeps/unix/sysv/sysv4/i386/Makefile deleted file mode 100644 index 56f0a37..0000000 --- a/sysdeps/unix/sysv/sysv4/i386/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -ifeq ($(subdir),signal) -sysdep_routines := $(sysdep_routines) sys-sig -endif diff --git a/sysdeps/unix/sysv/sysv4/i386/bits/stat.h b/sysdeps/unix/sysv/sysv4/i386/bits/stat.h deleted file mode 100644 index c1016a9..0000000 --- a/sysdeps/unix/sysv/sysv4/i386/bits/stat.h +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright (C) 1993, 1996, 1997, 1999, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include directly; use instead." -#endif - -#include - -/* Versions of the `struct stat' data structure and - the bits of the `xmknod' interface. */ -#define _STAT_VER 2 -#define _MKNOD_VER 2 - -/* Structure describing file characteristics. */ -struct stat - { - unsigned long itn st_dev; /* Device. */ - long int st_filler1[3]; - unsigned long int st_ino; /* File serial number. */ - unsigned long int st_mode; /* File mode. */ - unsigned long int st_nlink; /* Link count. */ - long int st_uid; /* User ID of the file's owner. */ - long int st_gid; /* Group ID of the file's group.*/ - unsigned long int st_rdev; /* Device number, if device. */ - long int st_filler2[2]; - - long int st_size; /* Size of file, in bytes. */ - /* SVR4 added this extra long to allow for expansion of off_t. */ - long int st_filler3; - - long int st_atime; /* Time of last access. */ - unsigned long int st_atime_usec; - long int st_mtime; /* Time of last modification. */ - unsigned long int st_mtime_usec; - long int st_ctime; /* Time of last status change. */ - unsigned long int st_ctime_usec; - - __blksize_t st_blksize; /* Optimal block size for I/O. */ -#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ - - __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ - char st_fstype[16]; /* The type of this filesystem. */ - int st_aclcnt; - unsigned long int st_level; - unsigned long int st_flags; - unsigned long int st_cmwlevel; - long int st_filler4[4]; - }; - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/sysv4/i386/sys-sig.S b/sysdeps/unix/sysv/sysv4/i386/sys-sig.S deleted file mode 100644 index 6e2d1ab..0000000 --- a/sysdeps/unix/sysv/sysv4/i386/sys-sig.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -.globl C_SYMBOL_NAME(__sigreturn) - -ENTRY (__sigaction_syscall) - movl $C_SYMBOL_NAME(__sigreturn), %edx - DO_CALL (sigaction, 3) - jb syscall_error - ret - -PSEUDO (__context_syscall, context, 2) - ret diff --git a/sysdeps/unix/sysv/sysv4/i386/syscalls.list b/sysdeps/unix/sysv/sysv4/i386/syscalls.list deleted file mode 100644 index 560cd83..0000000 --- a/sysdeps/unix/sysv/sysv4/i386/syscalls.list +++ /dev/null @@ -1,6 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -xstat - xstat 3 __xstat _xstat -fxstat - fxstat 3 __fxstat _fxstat -lxstat - lxstat 3 __lxstat _lxstat -xmknod - xmknod 4 __xmknod _xmknod diff --git a/sysdeps/unix/sysv/sysv4/i386/sysdep.h b/sysdeps/unix/sysv/sysv4/i386/sysdep.h deleted file mode 100644 index daecdb6..0000000 --- a/sysdeps/unix/sysv/sysv4/i386/sysdep.h +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* In SVR4 some system calls can fail with the error ERESTART, - and this means the call should be retried. */ - -#ifndef _ERRNO_H -#define _ERRNO_H -#endif -#include - -#undef PSEUDO -#define PSEUDO(name, syscall_name, args) \ - .globl syscall_error; \ - ENTRY (name) \ - DO_CALL (syscall_name, args); \ - jae noerror; \ - cmpb $ERESTART, %al; \ - je C_SYMBOL_NAME (name); \ - jmp syscall_error; \ - noerror: diff --git a/sysdeps/unix/sysv/sysv4/i386/vfork.S b/sysdeps/unix/sysv/sysv4/i386/vfork.S deleted file mode 100644 index bbe99fb..0000000 --- a/sysdeps/unix/sysv/sysv4/i386/vfork.S +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/sysdeps/unix/sysv/sysv4/sethostname.c b/sysdeps/unix/sysv/sysv4/sethostname.c deleted file mode 100644 index d74b0f4..0000000 --- a/sysdeps/unix/sysv/sysv4/sethostname.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1994, 1997, 2004 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include - -extern int __sysinfo (int command, const char *buf, long count); - -int -sethostname (name, namelen) - const char *name; - size_t namelen; -{ - return __sysinfo (SI_SET_HOSTNAME, name, namelen); -} diff --git a/sysdeps/unix/sysv/sysv4/setpgid.c b/sysdeps/unix/sysv/sysv4/setpgid.c deleted file mode 100644 index 80f4ad6..0000000 --- a/sysdeps/unix/sysv/sysv4/setpgid.c +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright (C) 1993,1995-1997,1999,2002,2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern int __pgrpsys (pid_t type, ...); - -/* Set the process group ID of the process matching PID to PGID. - If PID is zero, the current process's process group ID is set. - If PGID is zero, the process ID of the process is used. */ -int -__setpgid (pid, pgid) - pid_t pid, pgid; -{ - return __pgrpsys (5, pid, pgid); -} -libc_hidden_def (__setpgid) -weak_alias (__setpgid, setpgid) diff --git a/sysdeps/unix/sysv/sysv4/setsid.c b/sysdeps/unix/sysv/sysv4/setsid.c deleted file mode 100644 index faa2c42..0000000 --- a/sysdeps/unix/sysv/sysv4/setsid.c +++ /dev/null @@ -1,33 +0,0 @@ -/* Copyright (C) 1993, 1995, 1997, 1999, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - -extern pid_t __pgrpsys (int type, ...); - -/* Create a new session with the calling process as its leader. - The process group IDs of the session and the calling process - are set to the process ID of the calling process, which is returned. */ -pid_t -__setsid () -{ - return __pgrpsys (3); -} - -weak_alias (__setsid, setsid) diff --git a/sysdeps/unix/sysv/sysv4/sigaction.c b/sysdeps/unix/sysv/sysv4/sigaction.c deleted file mode 100644 index d5926b3..0000000 --- a/sysdeps/unix/sysv/sysv4/sigaction.c +++ /dev/null @@ -1,80 +0,0 @@ -/* Copyright (C) 1994,1995,1996,1997,2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -static __sighandler_t user_handlers[NSIG]; - -extern int __context_syscall (int, struct sigcontext *); -extern int __sigaction_syscall (int, - const struct sigaction *, struct sigaction *); - -static void -trampoline (int sig, int code, struct sigcontext *context) -{ - (*(void (*) (int, int, struct sigcontext *)) user_handlers[sig]) - (sig, code, context); - __context_syscall (1, context); -} - -/* If ACT is not NULL, change the action for SIG to *ACT. - If OACT is not NULL, put the old action for SIG in *OACT. */ -int -__sigaction (sig, act, oact) - int sig; - const struct sigaction *act; - struct sigaction *oact; -{ - struct sigaction myact; - __sighandler_t ohandler; - - if (sig <= 0 || sig >= NSIG) - { - __set_errno (EINVAL); - return -1; - } - - ohandler = user_handlers[sig]; - - if (act != NULL) - { - user_handlers[sig] = act->sa_handler; - if (act->sa_handler != SIG_DFL && act->sa_handler != SIG_IGN) - { - myact = *act; - act = &myact; - act->sa_handler = (__sighandler_t) trampoline; - } - } - - if (__sigaction_syscall (sig, act, oact) < 0) - { - /* The syscall got an error. Restore the old handler and return -1. */ - user_handlers[sig] = ohandler; - return -1; - } - - if (oact != NULL && oact->sa_handler == (__sighandler_t) trampoline) - oact->sa_handler = ohandler; - - return 0; -} -libc_hidden_def (__sigaction) -weak_alias (__sigaction, sigaction) diff --git a/sysdeps/unix/sysv/sysv4/siginfo.h b/sysdeps/unix/sysv/sysv4/siginfo.h deleted file mode 100644 index 2bb9257..0000000 --- a/sysdeps/unix/sysv/sysv4/siginfo.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Definitions of the siginfo structure. - Copyright (C) 1993, 1994, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGINFO_H -#define _SIGINFO_H 1 - -#ifdef __USE_SVID -/* SVR4 puts a ton of other stuff in this structure. For now, we'll just - define the two things we really need out of it, and hope for the best. */ - -/* These define the different states a child can have on exit. - We need these to build the status return for things like waitpid. */ -#define EXITED 1 -#define KILLED 2 -#define CORED 3 -#define TRAPPED 4 -#define STOPPED 5 -#define CONTINUED 6 - -typedef struct __siginfo - { - int filler1; - - /* Code indicating child's status */ - int __code; - - int filler2; - - /* The PID of the child. */ - long __pid; - - int filler3; - - /* The child's status. */ - int __status; - - int filler4[26]; - - } __siginfo_t; - -#endif /* __USE_SVID */ -#endif /* siginfo.h */ diff --git a/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h b/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h deleted file mode 100644 index 5b7ea25..0000000 --- a/sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h +++ /dev/null @@ -1,37 +0,0 @@ -/* Convert between lowlevel sigmask and libc representation of sigset_t. - SysVr4 version. - Copyright (C) 1998, 2002 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Joe Keane . - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -static inline int __attribute__ ((unused)) -sigset_set_old_mask (sigset_t *set, int mask) -{ - set->__sigbits[0] = (unsigned int) mask; - set->__sigbits[1] = 0ul; - set->__sigbits[2] = 0ul; - set->__sigbits[3] = 0ul; - - return 0; -} - -static inline int __attribute__ ((unused)) -sigset_get_old_mask (const sigset_t *set) -{ - return (unsigned int) set->__sigbits[0]; -} diff --git a/sysdeps/unix/sysv/sysv4/solaris2/Makefile b/sysdeps/unix/sysv/sysv4/solaris2/Makefile deleted file mode 100644 index 3ad90f7..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# The linker supplied with Solaris looks in the current directory -# before searching others. Compiling the various programs that come -# along the way (e.g., glue-ctype) will fail because it'll try to link -# with the libc.a being *constructed* in $(objdir). As a work-around, -# we add this to each native-compile. -ALL_BUILD_CFLAGS += -L/lib diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h deleted file mode 100644 index fa0250e..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/dirent.h +++ /dev/null @@ -1,50 +0,0 @@ -/* Copyright (C) 1996, 1997, 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _DIRENT_H -# error "Never use directly; include instead." -#endif - -struct dirent - { -#ifndef __USE_FILE_OFFSET64 - __ino_t d_ino; - __off_t d_off; -#else - __ino64_t d_ino; - __off64_t d_off; -#endif - unsigned short int d_reclen; - char d_name[256]; /* We must not include limits.h! */ - }; - -#ifdef __USE_LARGEFILE64 -struct dirent64 - { - __ino64_t d_ino; - __off64_t d_off; - unsigned short int d_reclen; - char d_name[256]; /* We must not include limits.h! */ - }; -#endif - -#define d_fileno d_ino /* Backwards compatibility. */ - -#undef _DIRENT_HAVE_D_NAMLEN -#define _DIRENT_HAVE_D_RECLEN -#define _DIRENT_HAVE_D_OFF diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h deleted file mode 100644 index 6c0de92..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/errno.h +++ /dev/null @@ -1,168 +0,0 @@ -/* Copyright (C) 1991, 1994, 1996, 1997, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This file defines the `errno' constants. */ - -#if !defined __Emath_defined && (defined _ERRNO_H || defined __need_Emath) -#undef __need_Emath -#define __Emath_defined 1 - -# define EDOM 33 /* Math argument out of domain of function. */ -# define EILSEQ 88 /* Illegal byte sequence. */ -# define ERANGE 34 /* Math result not representable. */ -#endif - -#ifdef _ERRNO_H -/* All error codes the system knows about. */ - -# define EPERM 1 /* Not super-user. */ -# define ENOENT 2 /* No such file or directory. */ -# define ESRCH 3 /* No such process. */ -# define EINTR 4 /* Interrupted system call. */ -# define EIO 5 /* I/O error. */ -# define ENXIO 6 /* No such device or address. */ -# define E2BIG 7 /* Arg list too long. */ -# define ENOEXEC 8 /* Exec format error. */ -# define EBADF 9 /* Bad file number. */ -# define ECHILD 10 /* No children. */ -# define EAGAIN 11 /* Resource temporarily unavailable. */ -# define EWOULDBLOCK EAGAIN -# define ENOMEM 12 /* Not enough core. */ -# define EACCES 13 /* Permission denied. */ -# define EFAULT 14 /* Bad address. */ -# define ENOTBLK 15 /* Block device required. */ -# define EBUSY 16 /* Mount device busy. */ -# define EEXIST 17 /* File exists. */ -# define EXDEV 18 /* Cross-device link. */ -# define ENODEV 19 /* No such device. */ -# define ENOTDIR 20 /* Not a directory. */ -# define EISDIR 21 /* Is a directory. */ -# define EINVAL 22 /* Invalid argument. */ -# define ENFILE 23 /* File table overflow. */ -# define EMFILE 24 /* Too many open files. */ -# define ENOTTY 25 /* Inappropriate ioctl for device. */ -# define ETXTBSY 26 /* Text file busy. */ -# define EFBIG 27 /* File too large. */ -# define ENOSPC 28 /* No space left on device. */ -# define ESPIPE 29 /* Illegal seek. */ -# define EROFS 30 /* Read only file system. */ -# define EMLINK 31 /* Too many links. */ -# define EPIPE 32 /* Broken pipe. */ -# define ENOMSG 35 /* No message of desired type. */ -# define EIDRM 36 /* Identifier removed. */ -# define ECHRNG 37 /* Channel number out of range. */ -# define EL2NSYNC 38 /* Level 2 not synchronized. */ -# define EL3HLT 39 /* Level 3 halted. */ -# define EL3RST 40 /* Level 3 reset. */ -# define ELNRNG 41 /* Link number out of range. */ -# define EUNATCH 42 /* Protocol driver not attached. */ -# define ENOCSI 43 /* No CSI structure available. */ -# define EL2HLT 44 /* Level 2 halted. */ -# define EDEADLK 45 /* Deadlock condition. */ -# define ENOLCK 46 /* No record locks available. */ -# define ECANCELED 47 /* Operation canceled. */ -# define ENOTSUP 48 /* Operation not supported. */ - -/* Filesystem Quotas. */ -# define EDQUOT 49 /* Disc quota exceeded. */ - -/* Convergent Error Returns. */ -# define EBADE 50 /* Invalid exchange. */ -# define EBADR 51 /* Invalid request descriptor. */ -# define EXFULL 52 /* Exchange full. */ -# define ENOANO 53 /* No anode. */ -# define EBADRQC 54 /* Invalid request code. */ -# define EBADSLT 55 /* Invalid slot. */ -# define EDEADLOCK 56 /* File locking deadlock error. */ - -# define EBFONT 57 /* Bad font file fmt. */ - -/* STREAM problems. */ -# define ENOSTR 60 /* Device not a stream. */ -# define ENODATA 61 /* No data (for no delay io). */ -# define ETIME 62 /* Timer expired. */ -# define ENOSR 63 /* Out of streams resources. */ - -# define ENONET 64 /* Machine is not on the network. */ -# define ENOPKG 65 /* Package not installed. */ -# define EREMOTE 66 /* The object is remote. */ -# define ENOLINK 67 /* The link has been severed. */ -# define EADV 68 /* Advertise error. */ -# define ESRMNT 69 /* Srmount error. */ - -# define ECOMM 70 /* Communication error on send. */ -# define EPROTO 71 /* Protocol error. */ -# define EMULTIHOP 74 /* Multihop attempted. */ -# define EBADMSG 77 /* Trying to read unreadable message. */ -# define ENAMETOOLONG 78 /* Path name is too long. */ -# define EOVERFLOW 79 /* Value too large to be stored in data type.*/ -# define ENOTUNIQ 80 /* Given log. name not unique. */ -# define EBADFD 81 /* F.d. invalid for this operation. */ -# define EREMCHG 82 /* Remote address changed. */ - -/* Shared library problems. */ -# define ELIBACC 83 /* Can't access a needed shared lib. */ -# define ELIBBAD 84 /* Accessing a corrupted shared lib. */ -# define ELIBSCN 85 /* .lib section in a.out corrupted. */ -# define ELIBMAX 86 /* Attempting to link in too many libs. */ -# define ELIBEXEC 87 /* Attempting to exec a shared library. */ -# define ENOSYS 89 /* Unsupported file system operation. */ -# define ELOOP 90 /* Symbolic link loop. */ -# define ERESTART 91 /* Restartable system call. */ -# define ESTRPIPE 92 /* If pipe/FIFO, don't sleep in stream head. */ -# define ENOTEMPTY 93 /* Directory not empty. */ -# define EUSERS 94 /* Too many users (for UFS). */ - -/* BSD Networking Software: argument errors. */ -# define ENOTSOCK 95 /* Socket operation on non-socket. */ -# define EDESTADDRREQ 96 /* Destination address required. */ -# define EMSGSIZE 97 /* Message too long. */ -# define EPROTOTYPE 98 /* Protocol wrong type for socket. */ -# define ENOPROTOOPT 99 /* Protocol not available. */ -# define EPROTONOSUPPORT 120 /* Protocol not supported. */ -# define ESOCKTNOSUPPORT 121 /* Socket type not supported. */ -# define EOPNOTSUPP 122 /* Operation not supported on socket. */ -# define EPFNOSUPPORT 123 /* Protocol family not supported. */ -# define EAFNOSUPPORT 124 /* Address family not supported by - protocol family. */ -# define EADDRINUSE 125 /* Address already in use. */ -# define EADDRNOTAVAIL 126 /* Can't assign requested address. */ -/* BSD Networking Software: operational errors. */ -# define ENETDOWN 127 /* Network is down. */ -# define ENETUNREACH 128 /* Network is unreachable. */ -# define ENETRESET 129 /* Network dropped connection because - of reset. */ -# define ECONNABORTED 130 /* Software caused connection abort. */ -# define ECONNRESET 131 /* Connection reset by peer. */ -# define ENOBUFS 132 /* No buffer space available. */ -# define EISCONN 133 /* Socket is already connected. */ -# define ENOTCONN 134 /* Socket is not connected. */ -/* XENIX has 135 - 142. */ -# define ESHUTDOWN 143 /* Can't send after socket shutdown. */ -# define ETOOMANYREFS 144 /* Too many references: can't splice. */ -# define ETIMEDOUT 145 /* Connection timed out. */ -# define ECONNREFUSED 146 /* Connection refused. */ -# define EHOSTDOWN 147 /* Host is down. */ -# define EHOSTUNREACH 148 /* No route to host. */ -# define EALREADY 149 /* operation already in progress. */ -# define EINPROGRESS 150 /* operation now in progress. */ - -/* SUN Network File System. */ -# define ESTALE 151 /* Stale NFS file handle. */ - -#endif diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h deleted file mode 100644 index a265953..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/signum.h +++ /dev/null @@ -1,76 +0,0 @@ -/* Signal number definitions. Solaris 2 version. - Copyright (C) 1994, 1996, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifdef _SIGNAL_H - -/* Fake signal functions. */ -#define SIG_ERR ((__sighandler_t) -1) /* Error return. */ -#define SIG_DFL ((__sighandler_t) 0) /* Default action. */ -#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */ -#ifdef __USE_UNIX98 -# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */ -#endif - - -/* Signals. */ -#define SIGHUP 1 /* Hangup (POSIX). */ -#define SIGINT 2 /* Interrupt (ANSI). */ -#define SIGQUIT 3 /* Quit (POSIX). */ -#define SIGILL 4 /* Illegal instruction (ANSI). */ -#define SIGABRT SIGIOT /* Abort (ANSI). */ -#define SIGTRAP 5 /* Trace trap (POSIX). */ -#define SIGIOT 6 /* IOT trap (4.2 BSD). */ -#define SIGEMT 7 /* EMT trap (4.2 BSD). */ -#define SIGFPE 8 /* Floating-point exception (ANSI). */ -#define SIGKILL 9 /* Kill, unblockable (POSIX). */ -#define SIGBUS 10 /* Bus error (4.2 BSD). */ -#define SIGSEGV 11 /* Segmentation violation (ANSI). */ -#define SIGSYS 12 /* Bad argument to system call (4.2 BSD)*/ -#define SIGPIPE 13 /* Broken pipe (POSIX). */ -#define SIGALRM 14 /* Alarm clock (POSIX). */ -#define SIGTERM 15 /* Termination (ANSI). */ -#define SIGUSR1 16 /* User-defined signal 1 (POSIX). */ -#define SIGUSR2 17 /* User-defined signal 2 (POSIX). */ -#define SIGCHLD 18 /* Child status has changed (POSIX). */ -#define SIGCLD SIGCHLD /* Same as SIGCHLD (System V). */ -#define SIGPWR 19 /* Power failure restart (System V). */ -#define SIGWINCH 20 /* Window size change (4.3 BSD, Sun). */ -#define SIGURG 21 /* Urgent condition on socket (4.2 BSD).*/ -#define SIGPOLL 22 /* Pollable event occurred (System V). */ -#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */ -#define SIGSTOP 23 /* Stop, unblockable (POSIX). */ -#define SIGTSTP 24 /* Keyboard stop (POSIX). */ -#define SIGCONT 25 /* Continue (POSIX). */ -#define SIGTTIN 26 /* Background read from tty (POSIX). */ -#define SIGTTOU 27 /* Background write to tty (POSIX). */ -#define SIGVTALRM 28 /* Virtual alarm clock (4.2 BSD). */ -#define SIGPROF 29 /* Profiling alarm clock (4.2 BSD). */ -#define SIGXCPU 30 /* CPU limit exceeded (4.2 BSD). */ -#define SIGXFSZ 31 /* File size limit exceeded (4.2 BSD). */ -/* The following signals are new in Solaris 2. */ -#define SIGWAITING 32 /* Process's lwps are blocked. */ -#define SIGLWP 33 /* Special signal used by thread library. */ -#define SIGFREEZE 34 /* Special signal used by CPR. */ -#define SIGTHAW 35 /* Special signal used by CPR. */ -#define _SIGRTMIN 36 /* First (highest-priority) realtime signal. */ -#define _SIGRTMAX 43 /* Last (lowest-priority) realtime signal. */ - -#endif /* included. */ - -#define _NSIG 44 /* Biggest signal number + 1. */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h deleted file mode 100644 index 753caac..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/sigstack.h +++ /dev/null @@ -1,55 +0,0 @@ -/* sigstack, sigaltstack definitions. - Copyright (C) 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never include this file directly. Use instead" -#endif - - -/* Structure describing a signal stack (obsolete). */ -struct sigstack - { - __ptr_t ss_sp; /* Signal stack pointer. */ - int ss_onstack; /* Nonzero if executing on this stack. */ - }; - - -/* Possible values for `ss_flags.'. */ -enum -{ - SS_ONSTACK = 1, -#define SS_ONSTACK SS_ONSTACK - SS_DISABLE -#define SS_DISABLE SS_DISABLE -}; - -/* Minimum stack size for a signal handler. */ -#define MINSIGSTKSZ 2048 - -/* System default stack size. */ -#define SIGSTKSZ 8192 - - -/* Alternate, preferred interface. */ -typedef struct sigaltstack - { - __ptr_t ss_sp; - int ss_flags; - size_t ss_size; - } stack_t; diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h deleted file mode 100644 index 22c1c1f..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/stat.h +++ /dev/null @@ -1,119 +0,0 @@ -/* Copyright (C) 1993, 96, 97, 98, 99, 2000 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_STAT_H -# error "Never include directly; use instead." -#endif - -#include - -/* Length of array allocated for file system type name. */ -#define _ST_FSTYPSZ 16 - - -/* Structure describing file characteristics. */ -struct stat - { - __dev_t st_dev; - long int st_filler1[3]; - __ino_t st_ino; /* File serial number. */ - __mode_t st_mode; /* File mode. */ - __nlink_t st_nlink; /* Link count. */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device. */ - long int st_filler2[2]; - - __off_t st_size; /* Size of file, in bytes. */ - /* SVR4 added this extra long to allow for expansion of off_t. */ - long int st_filler3; - - __time_t st_atime; /* Time of last access. */ - unsigned long int st_atime_usec; - __time_t st_mtime; /* Time of last modification. */ - unsigned long int st_mtime_usec; - __time_t st_ctime; /* Time of last status change. */ - unsigned long int st_ctime_usec; - - __blksize_t st_blksize; /* Optimal block size for I/O. */ -#define _STATBUF_ST_BLKSIZE /* Tell code we have this member. */ - - __blkcnt_t st_blocks; /* Number of 512-byte blocks allocated. */ - char st_fstype[_ST_FSTYPSZ]; - long int st_filler4[8]; - }; - -#ifdef __USE_LARGEFILE64 -/* struct stat64 has the shape as stat */ -struct stat64 - { - __dev_t st_dev; /* Device */ - long int st_filler1[2]; - __ino64_t st_ino; /* File serial number */ - __mode_t st_mode; /* File mode */ - __nlink_t st_nlink; /* Link count */ - __uid_t st_uid; /* User ID of the file's owner. */ - __gid_t st_gid; /* Group ID of the file's group.*/ - __dev_t st_rdev; /* Device number, if device */ - long int st_filler2; - - __off64_t st_size; /* Size of file, in bytes. */ - - __time_t st_atime; /* Time of last access */ - unsigned long int st_atime_usec; - __time_t st_mtime; /* Time of last modification */ - unsigned long int st_mtime_usec; - __time_t st_ctime; /* Time of last status change */ - unsigned long int st_ctime_usec; - - __blksize_t st_blksize; - __blkcnt64_t st_blocks; - char st_fstype[_ST_FSTYPSZ]; - long int st_filler3[8]; -}; -#endif - - -/* Encoding of the file mode. */ - -#define __S_IFMT 0170000 /* These bits determine file type. */ - -/* File types. */ -#define __S_IFDIR 0040000 /* Directory. */ -#define __S_IFCHR 0020000 /* Character device. */ -#define __S_IFBLK 0060000 /* Block device. */ -#define __S_IFREG 0100000 /* Regular file. */ -#define __S_IFIFO 0010000 /* FIFO. */ - -/* These don't actually exist on System V, but having them doesn't hurt. */ -#define __S_IFLNK 0120000 /* Symbolic link. */ -#define __S_IFSOCK 0140000 /* Socket. */ - -/* POSIX.1b objects. */ -#define __S_TYPEISMQ(buf) (0) -#define __S_TYPEISSEM(buf) (0) -#define __S_TYPEISSHM(buf) (0) - -/* Protection bits. */ - -#define __S_ISUID 04000 /* Set user ID on execution. */ -#define __S_ISGID 02000 /* Set group ID on execution. */ -#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */ -#define __S_IREAD 0400 /* Read by owner. */ -#define __S_IWRITE 0200 /* Write by owner. */ -#define __S_IEXEC 0100 /* Execute by owner. */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h b/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h deleted file mode 100644 index a9ce216..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/bits/types.h +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright (C) 1991,92,1994-1999,2000,2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* - * Never include this file directly; use instead. - */ - -#ifndef _BITS_TYPES_H -#define _BITS_TYPES_H 1 - -#include - -#define __need_size_t -#include - -/* Convenience types. */ -typedef unsigned char __u_char; -typedef unsigned short __u_short; -typedef unsigned int __u_int; -typedef unsigned long __u_long; -#ifdef __GNUC__ -typedef unsigned long long int __u_quad_t; -typedef long long int __quad_t; -#else -typedef struct -{ - long __val[2]; -} __quad_t; -typedef struct -{ - __u_long __val[2]; -} __u_quad_t; -#endif -typedef signed char __int8_t; -typedef unsigned char __uint8_t; -typedef signed short int __int16_t; -typedef unsigned short int __uint16_t; -typedef signed int __int32_t; -typedef unsigned int __uint32_t; -#ifdef __GNUC__ -typedef signed long long int __int64_t; -typedef unsigned long long int __uint64_t; -#endif -typedef __quad_t *__qaddr_t; -typedef unsigned long int __dev_t; /* Type of device numbers. */ -typedef long int __uid_t; /* Type of user identifications. */ -typedef long int __gid_t; /* Type of group identifications. */ -typedef unsigned long int __ino_t; /* Type of file serial numbers. */ -typedef unsigned long int __mode_t; /* Type of file attribute bitmasks. */ -typedef unsigned long int __nlink_t; /* Type of file link counts. */ -typedef long int __off_t; /* Type of file sizes and offsets. */ -typedef __quad_t __loff_t; /* Type of file sizes and offsets. */ -typedef long int __pid_t; /* Type of process identifications. */ -typedef int __ssize_t; /* Type of a byte count, or error. */ -typedef __u_quad_t __fsid_t; /* Type of file system IDs. */ -typedef long int __clock_t; /* Type of CPU usage counts. */ -typedef long int __rlim_t; /* Type for resource measurement. */ -typedef __quad_t __rlim64_t; /* Type for resource measurement (LFS). */ -typedef __quad_t __ino64_t; /* Type for file serial numbers. */ -typedef __loff_t __off64_t; /* Type of file izes and offsets. */ -typedef unsigned int __id_t; /* General type for IDs. */ - -/* Everythin' else. */ -typedef long int __daddr_t; /* The type of a disk address. */ -typedef char *__caddr_t; -typedef long int __time_t; -typedef unsigned int __useconds_t; -typedef int __suseconds_t; -typedef long int __swblk_t; /* Type of a swap block maybe? */ -typedef int __key_t; /* Type of an IPC key */ - -/* fd_set for select. */ - -/* Number of descriptors that can fit in an `fd_set'. */ -#define __FD_SETSIZE 1024 - - -/* Type to represent block size. */ -typedef long int __blksize_t; - -/* Types from the Large File Support interface. */ - -/* Type to count number os disk blocks. */ -typedef long int __blkcnt_t; -typedef __quad_t __blkcnt64_t; - -/* Type to count file system blocks. */ -typedef unsigned int __fsblkcnt_t; -typedef __u_quad_t __fsblkcnt64_t; - -/* Type to count file system inodes. */ -typedef unsigned long int __fsfilcnt_t; -typedef __u_quad_t __fsfilcnt64_t; - -/* Used in XTI. */ -typedef int __t_scalar_t; -typedef unsigned int __t_uscalar_t; - -/* Duplicates info from stdint.h but this is used in unistd.h. */ -typedef long int __intptr_t; - -/* Duplicate info from sys/socket.h. */ -typedef unsigned int __socklen_t; - -#endif /* bits/types.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/fsync.S b/sysdeps/unix/sysv/sysv4/solaris2/fsync.S deleted file mode 100644 index 493926a..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/fsync.S +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1994, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* Solaris uses fdsync for the normal fsync. */ -ENTRY(fsync) - mov 16, %i1 - mov SYS_ify(fdsync), %g1 - ta 8 - bcs syscall_error - nop - mov %g0, %o0 - ret diff --git a/sysdeps/unix/sysv/sysv4/solaris2/getdents.c b/sysdeps/unix/sysv/sysv4/solaris2/getdents.c deleted file mode 100644 index ab782ff..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/getdents.c +++ /dev/null @@ -1,114 +0,0 @@ -/* Copyright (C) 1993,95,96,97,98, 2004 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include -#include - -#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) - - -extern int __getdents (int fd, char *buf, size_t nbytes); - -/* For Solaris we need a special version of this file since the - definition of `struct dirent' is not the same for the kernel and - the libc. There is one additional field which might be introduced - in the kernel structure in the future. - - He is the system definition of `struct dirent' as of 2.6: */ - -struct kernel_dirent - { - ino_t d_ino; - off_t d_off; - unsigned short int d_reclen; - char d_name[256]; - }; - -#ifdef GETDENTS64 -#define __getdirentries __getdirentries64 -#define dirent dirent64 -#endif - -/* The problem here is that we cannot simply read the next NBYTES - bytes. We need to take the additional field into account. We use - some heuristic. Assuming the directory contains names with 14 - characters on average we can compute an estimate number of entries - which fit in the buffer. Taking this number allows us to specify a - correct number of bytes to read. If we should be wrong, we can reset - the file descriptor. */ -ssize_t -__getdirentries (int fd, char *buf, size_t nbytes, off_t *basep) -{ - off_t base = __lseek (fd, (off_t) 0, SEEK_CUR); - off_t last_offset = base; - size_t red_nbytes; - struct kernel_dirent *skdp, *kdp; - struct dirent *dp; - int retval; - const size_t size_diff = (offsetof (struct dirent, d_name) - - offsetof (struct kernel_dirent, d_name)); - - red_nbytes = nbytes - ((nbytes / (offsetof (struct dirent, d_name) + 14)) - * size_diff); - - dp = (struct dirent *) buf; - skdp = kdp = __alloca (red_nbytes); - - retval = __getdents (fd, (char *) kdp, red_nbytes); - - while ((char *) kdp < (char *) skdp + retval) - { - const size_t alignment = __alignof__ (struct dirent); - /* Since kdp->d_reclen is already aligned for the kernel structure - this may compute a value that is bigger than necessary. */ - size_t new_reclen = ((kdp->d_reclen + size_diff + alignment - 1) - & ~(alignment - 1)); - if ((char *) dp + new_reclen > buf + nbytes) - { - /* Our heuristic failed. We read too many entries. Reset - the stream. */ - __lseek (fd, last_offset, SEEK_SET); - break; - } - - last_offset = kdp->d_off; - dp->d_ino = kdp->d_ino; - dp->d_off = kdp->d_off; - dp->d_reclen = new_reclen; - dp->d_type = DT_UNKNOWN; - memcpy (dp->d_name, kdp->d_name, - kdp->d_reclen - offsetof (struct kernel_dirent, d_name)); - - dp = (struct dirent *) ((char *) dp + new_reclen); - kdp = (struct kernel_dirent *) (((char *) kdp) + kdp->d_reclen); - } - - if (basep) - *basep = base; - - return (char *) dp - buf; -} - -#ifndef GETDENTS64 -weak_alias (__getdirentries, getdirentries) -#endif diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sigpending.c b/sysdeps/unix/sysv/sysv4/solaris2/sigpending.c deleted file mode 100644 index 2723d79..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sigpending.c +++ /dev/null @@ -1,37 +0,0 @@ -/* Copyright (C) 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include - -extern int __syscall_sigpending (int subcode, sigset_t *set); - - -/* Store in SET all signals that are blocked and pending. */ -int -sigpending (sigset_t *set) -{ - if (set == NULL) - { - __set_errno (EINVAL); - return -1; - } - - return __syscall_sigpending (1, set); -} diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sigstack.c b/sysdeps/unix/sysv/sysv4/solaris2/sigstack.c deleted file mode 100644 index 5aa73c8..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sigstack.c +++ /dev/null @@ -1,3 +0,0 @@ -/* We can reuse the Linux implementation with some tricks. */ -#define __NR_sigaltstack 1 -#include diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c b/sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c deleted file mode 100644 index f246640..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sigwaitinfo.c +++ /dev/null @@ -1,2 +0,0 @@ -/* We can reuse the Linux implementation. */ -#include diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile b/sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile deleted file mode 100644 index 1c17ea1..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/Makefile +++ /dev/null @@ -1,11 +0,0 @@ -# This flag is necessary because GCC now tries to call _Q_{mul, etc...} -# instead of doing the stuff the hard way. For now, printf_fp.o, __vfscanf.o, -# and difftime.o don't work because of this. The long-term fix is to actually -# implement what they're doing, but for the short-term, we must do this. -sysdep-CFLAGS := $(sysdep-CFLAGS) -mhard-quad-float - -ifeq ($(subdir),crypt) - -crypt := crypt.solar - -endif diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/bits/sigcontext.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/bits/sigcontext.h deleted file mode 100644 index 7c4bca6..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/bits/sigcontext.h +++ /dev/null @@ -1,34 +0,0 @@ -/* Structure describing state saved while handling a signal. Sparc version. - Copyright (C) 1992, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SIGNAL_H -# error "Never use directly; include instead." -#endif - -struct sigcontext - { - int sc_onstack; - __sigset_t sc_mask; - -#define SPARC_MAXREGWINDOW 31 /* Maximum usable register windows. */ - int sc_sp, sc_pc, sc_npc, sc_psr, sc_g1, sc_o0; - int sc_wbcnt; /* Number of outstanding windows. */ - __ptr_t sc_spbuf[SPARC_MAXREGWINDOW]; /* SP's for each window. */ - int sc_wbuf[SPARC_MAXREGWINDOW][16]; /* Saved register windows. */ - }; diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c b/sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c deleted file mode 100644 index 3c75e3f..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/errlist.c +++ /dev/null @@ -1,185 +0,0 @@ -/* Copyright (C) 1999 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include - - -/* This is a list of all known `errno' codes. */ - - -const int _sys_nerr = 152; - -const char *const _sys_errlist[] = -{ - N_("Error 0"), - N_("Not owner"), - N_("No such file or directory"), - N_("No such process"), - N_("Interrupted system call"), - N_("I/O error"), - N_("No such device or address"), - N_("Arg list too long"), - N_("Exec format error"), - N_("Bad file number"), - N_("No child processes"), - N_("Resource temporarily unavailable"), - N_("Not enough space"), - N_("Permission denied"), - N_("Bad address"), - N_("Block device required"), - N_("Device busy"), - N_("File exists"), - N_("Cross-device link"), - N_("No such device"), - N_("Not a directory"), - N_("Is a directory"), - N_("Invalid argument"), - N_("File table overflow"), - N_("Too many open files"), - N_("Inappropriate ioctl for device"), - N_("Text file busy"), - N_("File too large"), - N_("No space left on device"), - N_("Illegal seek"), - N_("Read-only file system"), - N_("Too many links"), - N_("Broken pipe"), - N_("Argument out of domain"), - N_("Result too large"), - N_("No message of desired type"), - N_("Identifier removed"), - N_("Channel number out of range"), - N_("Level 2 not synchronized"), - N_("Level 3 halted"), - N_("Level 3 reset"), - N_("Link number out of range"), - N_("Protocol driver not attached"), - N_("No CSI structure available"), - N_("Level 2 halted"), - N_("Deadlock situation detected/avoided"), - N_("No record locks available"), - N_("Operation canceled"), - N_("Operation not supported"), - N_("Disc quota exceeded"), - N_("Bad exchange descriptor"), - N_("Bad request descriptor"), - N_("Message tables full"), - N_("Anode table overflow"), - N_("Bad request code"), - N_("Invalid slot"), - N_("File locking deadlock"), - N_("Bad font file format"), - N_("Error 58"), - N_("Error 59"), - N_("Not a stream device"), - N_("No data available"), - N_("Timer expired"), - N_("Out of stream resources"), - N_("Machine is not on the network"), - N_("Package not installed"), - N_("Object is remote"), - N_("Link has been severed"), - N_("Advertise error"), - N_("Srmount error"), - N_("Communication error on send"), - N_("Protocol error"), - N_("Error 72"), - N_("Error 73"), - N_("Multihop attempted"), - N_("Error 75"), - N_("Error 76"), - N_("Not a data message"), - N_("File name too long"), - N_("Value too large for defined data type"), - N_("Name not unique on network"), - N_("File descriptor in bad state"), - N_("Remote address changed"), - N_("Can not access a needed shared library"), - N_("Accessing a corrupted shared library"), - N_(".lib section in a.out corrupted"), - N_("Attempting to link in more shared libraries than system limit"), - N_("Can not exec a shared library directly"), - N_("Illegal byte sequence"), - N_("Operation not applicable"), - N_("Number of symbolic links encountered during path name traversal exceeds MAXSYMLINKS"), - N_("Error 91"), - N_("Error 92"), - N_("Directory not empty"), - N_("Too many users"), - N_("Socket operation on non-socket"), - N_("Destination address required"), - N_("Message too long"), - N_("Protocol wrong type for socket"), - N_("Option not supported by protocol"), - N_("Error 100"), - N_("Error 101"), - N_("Error 102"), - N_("Error 103"), - N_("Error 104"), - N_("Error 105"), - N_("Error 106"), - N_("Error 107"), - N_("Error 108"), - N_("Error 109"), - N_("Error 110"), - N_("Error 111"), - N_("Error 112"), - N_("Error 113"), - N_("Error 114"), - N_("Error 115"), - N_("Error 116"), - N_("Error 117"), - N_("Error 118"), - N_("Error 119"), - N_("Protocol not supported"), - N_("Socket type not supported"), - N_("Operation not supported on transport endpoint"), - N_("Protocol family not supported"), - N_("Address family not supported by protocol family"), - N_("Address already in use"), - N_("Cannot assign requested address"), - N_("Network is down"), - N_("Network is unreachable"), - N_("Network dropped connection because of reset"), - N_("Software caused connection abort"), - N_("Connection reset by peer"), - N_("No buffer space available"), - N_("Transport endpoint is already connected"), - N_("Transport endpoint is not connected"), - N_("Structure needs cleaning"), - N_("Error 136"), - N_("Not a name file"), - N_("Not available"), - N_("Is a name file"), - N_("Remote I/O error"), - N_("Reserved for future use"), - N_("Error 142"), - N_("Cannot send after socket shutdown"), - N_("Too many references: cannot splice"), - N_("Connection timed out"), - N_("Connection refused"), - N_("Host is down"), - N_("No route to host"), - N_("Operation already in progress"), - N_("Operation now in progress"), - N_("Stale NFS file handle") -}; - -weak_alias (_sys_errlist, sys_errlist) -weak_alias (_sys_nerr, sys_nerr) diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S deleted file mode 100644 index b9f2996..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sparc32/syscall.S +++ /dev/null @@ -1,2 +0,0 @@ -/* Bets are that the Linux code works... */ -#include diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/start.c b/sysdeps/unix/sysv/sysv4/solaris2/sparc/start.c deleted file mode 100644 index afdfaaa..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/start.c +++ /dev/null @@ -1,4 +0,0 @@ -#define NO_SHLIB -/* Solaris needs start named `_start', not `start'. */ -#define NO_EXPLICIT_START -#include diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h deleted file mode 100644 index 39d2645..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/trap.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright (C) 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_TRAP_H -#define _SYS_TRAP_H 1 - -/* Solaris2 software traps. */ - -#define ST_OSYSCALL 0x00 -#define ST_BREAKPOINT 0x01 -#define ST_DIV0 0x02 -#define ST_FLUSH_WINDOWS 0x03 -#define ST_CLEAN_WINDOWS 0x04 -#define ST_RANGE_CHECK 0x05 -#define ST_FIX_ALIGN 0x06 -#define ST_INT_OVERFLOW 0x07 -#define ST_SYSCALL 0x08 - -/* Traps 0x10 through 0x1f are allotted to the user. */ - -#endif /* sys/trap.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h deleted file mode 100644 index 6e9f690..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sys/ucontext.h +++ /dev/null @@ -1,42 +0,0 @@ -/* Copyright (C) 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_UCONTEXT_H -#define _SYS_UCONTEXT_H 1 - -#include -#include -#include - -typedef struct -{ - long int mc_filler[78]; -} mcontext_t; - -struct ucontext -{ - unsigned long int uc_flags; - struct ucontext *uc_link; - sigset_t uc_sigmask; - stack_t uc_stack; - mcontext_t uc_mcontext; - long int uc_filler[23]; -}; -typedef struct ucontext ucontext_t; - -#endif /* sys/ucontext.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/syscalls.list b/sysdeps/unix/sysv/sysv4/solaris2/sparc/syscalls.list deleted file mode 100644 index d96fbba..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/syscalls.list +++ /dev/null @@ -1,3 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -sys-sig - context 2 __context_syscall diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S deleted file mode 100644 index 2ac767c..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.S +++ /dev/null @@ -1,47 +0,0 @@ -/* Copyright (C) 1993, 1994, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#define _ERRNO_H -#include - -ENTRY(syscall_error) - /* If it was a syscall that got interrupted, but can - be restarted, drop EINTR in. */ - cmp %o0, ERESTART - be,a notint - mov EINTR, %o0 - -notint: -#if defined (EWOULDBLOCK_sys) && EWOULDBLOCK_sys != EAGAIN - /* We translate the system's EWOULDBLOCK error into EAGAIN. - The GNU C library always defines EWOULDBLOCK==EAGAIN. - EWOULDBLOCK_sys is the original number. */ - cmp %o0, EWOULDBLOCK_sys - be,a notblock - mov EAGAIN, %o0 -#endif - -notblock:/* Store it in errno... */ - sethi %hi(C_SYMBOL_NAME(errno)), %g1 - st %o0, [%g1 + %lo(C_SYMBOL_NAME(errno))] - - /* And just kick back a -1. */ - retl - mov -1, %o0 diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h b/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h deleted file mode 100644 index 9a0db6a..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sparc/sysdep.h +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright (C) 1993,1994,1995,1997,1998,2002 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* Solaris 2 does not precede the asm names of C symbols with a `_'. */ -#ifndef NO_UNDERSCORES -#define NO_UNDERSCORES -#endif - -#include - -#ifdef __ASSEMBLER__ - -/* As of gcc-2.6.0, it complains about pound signs in front of things - that aren't arguments to the macro. So we use this to pull it off - instead. */ -#define cat(a,b) a##b -#define poundfnc cat(#,function) - -#define ENTRY(name) \ - .section ".text"; \ - .align 4; \ - .global C_SYMBOL_NAME(name); \ - .type C_SYMBOL_NAME(name), poundfnc; \ - C_LABEL(name) - -#define PSEUDO(name, syscall_name, args) \ - ENTRY (name) \ - mov SYS_ify(syscall_name), %g1; \ - ta 8; \ - bcs C_SYMBOL_NAME(syscall_error); \ - nop - -#define ret retl; nop -#define r0 %o0 -#define r1 %o1 -#define MOVE(x,y) mov x, y - -#define LOC(name) .L##name - -#endif /* __ASSEMBLER__ */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sys/param.h b/sysdeps/unix/sysv/sysv4/solaris2/sys/param.h deleted file mode 100644 index bbd7b06..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sys/param.h +++ /dev/null @@ -1,59 +0,0 @@ -/* Copyright (C) 1995, 1996, 1997, 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYS_PARAM_H -#define _SYS_PARAM_H 1 - -#include - -/* BSD names for some values. */ - -#define NBBY CHAR_BIT -#ifndef NGROUPS -# define NGROUPS NGROUPS_MAX -#endif -#define MAXSYMLINKS 5 -#define CANBSIZ MAX_CANON -#define NCARGS ARG_MAX -#define MAXPATHLEN PATH_MAX -#define NOFILE OPEN_MAX - - -#include - -/* Bit map related macros. */ -#define setbit(a,i) ((a)[(i)/NBBY] |= 1<<((i)%NBBY)) -#define clrbit(a,i) ((a)[(i)/NBBY] &= ~(1<<((i)%NBBY))) -#define isset(a,i) ((a)[(i)/NBBY] & (1<<((i)%NBBY))) -#define isclr(a,i) (((a)[(i)/NBBY] & (1<<((i)%NBBY))) == 0) - -/* Macros for counting and rounding. */ -#ifndef howmany -# define howmany(x, y) (((x)+((y)-1))/(y)) -#endif -#define roundup(x, y) ((((x)+((y)-1))/(y))*(y)) -#define powerof2(x) ((((x)-1)&(x))==0) - -/* Macros for min/max. */ -#define MIN(a,b) (((a)<(b))?(a):(b)) -#define MAX(a,b) (((a)>(b))?(a):(b)) - -/* Unit of `st_blocks'. */ -#define DEV_BSIZE 512 - -#endif /* sys/param.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h b/sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h deleted file mode 100644 index 15c43a3..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/sys/syscall.h +++ /dev/null @@ -1,245 +0,0 @@ -/* Copyright (C) 1998 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _SYSCALL_H -#define _SYSCALL_H 1 - -/* Solaris 2 syscall numbers */ - -#define SYS_syscall 0 -#define SYS_exit 1 -#define SYS_fork 2 -#define SYS_read 3 -#define SYS_write 4 -#define SYS_open 5 -#define SYS_close 6 -#define SYS_wait 7 -#define SYS_creat 8 -#define SYS_link 9 -#define SYS_unlink 10 -#define SYS_exec 11 -#define SYS_chdir 12 -#define SYS_time 13 -#define SYS_mknod 14 -#define SYS_chmod 15 -#define SYS_chown 16 -#define SYS_brk 17 -#define SYS_stat 18 -#define SYS_lseek 19 -#define SYS_getpid 20 -#define SYS_mount 21 -#define SYS_umount 22 -#define SYS_setuid 23 -#define SYS_getuid 24 -#define SYS_stime 25 -#define SYS_ptrace 26 -#define SYS_alarm 27 -#define SYS_fstat 28 -#define SYS_pause 29 -#define SYS_utime 30 -#define SYS_stty 31 -#define SYS_gtty 32 -#define SYS_access 33 -#define SYS_nice 34 -#define SYS_statfs 35 -#define SYS_sync 36 -#define SYS_kill 37 -#define SYS_fstatfs 38 -#define SYS_pgrpsys 39 -#define SYS_xenix 40 -#define SYS_dup 41 -#define SYS_pipe 42 -#define SYS_times 43 -#define SYS_profil 44 -#define SYS_plock 45 -#define SYS_setgid 46 -#define SYS_getgid 47 -#define SYS_signal 48 -#define SYS_msgsys 49 -#define SYS_syssun 50 -#define SYS_sysi86 50 -#define SYS_sysppc 50 -#define SYS_acct 51 -#define SYS_shmsys 52 -#define SYS_semsys 53 -#define SYS_ioctl 54 -#define SYS_uadmin 55 -#define SYS_utssys 57 -#define SYS_fdsync 58 -#define SYS_execve 59 -#define SYS_umask 60 -#define SYS_chroot 61 -#define SYS_fcntl 62 -#define SYS_ulimit 63 -#define SYS_rmdir 79 -#define SYS_mkdir 80 -#define SYS_getdents 81 -#define SYS_sysfs 84 -#define SYS_getmsg 85 -#define SYS_putmsg 86 -#define SYS_poll 87 -#define SYS_lstat 88 -#define SYS_symlink 89 -#define SYS_readlink 90 -#define SYS_setgroups 91 -#define SYS_getgroups 92 -#define SYS_fchmod 93 -#define SYS_fchown 94 -#define SYS_sigprocmask 95 -#define SYS_sigsuspend 96 -#define SYS_sigaltstack 97 -#define SYS_sigaction 98 -#define SYS_sigpending 99 -#define SYS_context 100 -#define SYS_evsys 101 -#define SYS_evtrapret 102 -#define SYS_statvfs 103 -#define SYS_fstatvfs 104 -#define SYS_nfssys 106 -#define SYS_waitsys 107 -#define SYS_sigsendsys 108 -#define SYS_hrtsys 109 -#define SYS_acancel 110 -#define SYS_async 111 -#define SYS_priocntlsys 112 -#define SYS_pathconf 113 -#define SYS_mincore 114 -#define SYS_mmap 115 -#define SYS_mprotect 116 -#define SYS_munmap 117 -#define SYS_fpathconf 118 -#define SYS_vfork 119 -#define SYS_fchdir 120 -#define SYS_readv 121 -#define SYS_writev 122 -#define SYS_xstat 123 -#define SYS_lxstat 124 -#define SYS_fxstat 125 -#define SYS_xmknod 126 -#define SYS_clocal 127 -#define SYS_setrlimit 128 -#define SYS_getrlimit 129 -#define SYS_lchown 130 -#define SYS_memcntl 131 -#define SYS_getpmsg 132 -#define SYS_putpmsg 133 -#define SYS_rename 134 -#define SYS_uname 135 -#define SYS_setegid 136 -#define SYS_sysconfig 137 -#define SYS_adjtime 138 -#define SYS_systeminfo 139 -#define SYS_seteuid 141 -#define SYS_vtrace 142 -#define SYS_fork1 143 -#define SYS_sigtimedwait 144 -#define SYS_lwp_info 145 -#define SYS_yield 146 -#define SYS_lwp_sema_wait 147 -#define SYS_lwp_sema_post 148 -#define SYS_lwp_sema_trywait 149 -#define SYS_modctl 152 -#define SYS_fchroot 153 -#define SYS_utimes 154 -#define SYS_vhangup 155 -#define SYS_gettimeofday 156 -#define SYS_getitimer 157 -#define SYS_setitimer 158 -#define SYS_lwp_create 159 -#define SYS_lwp_exit 160 -#define SYS_lwp_suspend 161 -#define SYS_lwp_continue 162 -#define SYS_lwp_kill 163 -#define SYS_lwp_self 164 -#define SYS_lwp_setprivate 165 -#define SYS_lwp_getprivate 166 -#define SYS_lwp_wait 167 -#define SYS_lwp_mutex_unlock 168 -#define SYS_lwp_mutex_lock 169 -#define SYS_lwp_cond_wait 170 -#define SYS_lwp_cond_signal 171 -#define SYS_lwp_cond_broadcast 172 -#define SYS_pread 173 -#define SYS_pwrite 174 -#define SYS_llseek 175 -#define SYS_inst_sync 176 -#define SYS_kaio 178 -#define SYS_tsolsys 184 -#define SYS_acl 185 -#define SYS_auditsys 186 -#define SYS_processor_bind 187 -#define SYS_processor_info 188 -#define SYS_p_online 189 -#define SYS_sigqueue 190 -#define SYS_clock_gettime 191 -#define SYS_clock_settime 192 -#define SYS_clock_getres 193 -#define SYS_timer_create 194 -#define SYS_timer_delete 195 -#define SYS_timer_settime 196 -#define SYS_timer_gettime 197 -#define SYS_timer_getoverrun 198 -#define SYS_nanosleep 199 -#define SYS_facl 200 -#define SYS_door 201 -#define SYS_setreuid 202 -#define SYS_setregid 203 -#define SYS_install_utrap 204 -#define SYS_signotify 205 -#define SYS_schedctl 206 -#define SYS_pset 207 -#define SYS_resolvepath 209 -#define SYS_signotifywait 210 -#define SYS_lwp_sigredirect 211 -#define SYS_lwp_alarm 212 -#define SYS_getdents64 213 -#define SYS_mmap64 214 -#define SYS_stat64 215 -#define SYS_lstat64 216 -#define SYS_fstat64 217 -#define SYS_statvfs64 218 -#define SYS_fstatvfs64 219 -#define SYS_setrlimit64 220 -#define SYS_getrlimit64 221 -#define SYS_pread64 222 -#define SYS_pwrite64 223 -#define SYS_creat64 224 -#define SYS_open64 225 -#define SYS_rpcsys 226 -#define SYS_so_socket 230 -#define SYS_so_socketpair 231 -#define SYS_bind 232 -#define SYS_listen 233 -#define SYS_accept 234 -#define SYS_connect 235 -#define SYS_shutdown 236 -#define SYS_recv 237 -#define SYS_recvfrom 238 -#define SYS_recvmsg 239 -#define SYS_send 240 -#define SYS_sendmsg 241 -#define SYS_sendto 242 -#define SYS_getpeername 243 -#define SYS_getsockname 244 -#define SYS_getsockopt 245 -#define SYS_setsockopt 246 -#define SYS_sockconfig 247 -#define SYS_ntp_gettime 248 -#define SYS_ntp_adjtime 249 - -#endif /* sys/syscall.h */ diff --git a/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list b/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list deleted file mode 100644 index 092d869..0000000 --- a/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list +++ /dev/null @@ -1,7 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -sigaction - sigaction 3 __sigaction sigaction -sigaltstack - sigaltstack 2 sigaltstack -sigpending - sigpending 2 __syscall_sigpending -sigqueue - sigqueue 3 __sigqueue sigqueue -sigtimedwait - sigtimedwait 3 __sigtimedwait sigtime diff --git a/sysdeps/unix/sysv/sysv4/syscalls.list b/sysdeps/unix/sysv/sysv4/syscalls.list deleted file mode 100644 index 7b75d55..0000000 --- a/sysdeps/unix/sysv/sysv4/syscalls.list +++ /dev/null @@ -1,7 +0,0 @@ -# File name Caller Syscall name # args Strong name Weak names - -pgrpsys - pgrpsys 3 __pgrpsys -sigprocmask - sigprocmask 3 __sigprocmask sigprocmask -sysconfig - sysconfig 1 __sysconfig -sysinfo - systeminfo 3 __sysinfo -__waitid waitpid waitsys 3 __waitid diff --git a/sysdeps/unix/sysv/sysv4/sysconf.c b/sysdeps/unix/sysv/sysv4/sysconf.c deleted file mode 100644 index bfe7823..0000000 --- a/sysdeps/unix/sysv/sysv4/sysconf.c +++ /dev/null @@ -1,366 +0,0 @@ -/* Copyright (C) 1993,1995,1996,1997,2002,2004 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include -#include - -extern int __sysconfig (int); - -/* Get the value of the system variable NAME. */ -long int -__sysconf (name) - int name; -{ - switch (name) - { - default: - __set_errno (EINVAL); - return -1; - - case _SC_ARG_MAX: -#ifdef ARG_MAX - return ARG_MAX; -#else - return -1; -#endif - - case _SC_CHILD_MAX: -#ifdef CHILD_MAX - return CHILD_MAX; -#else - return -1; -#endif - - case _SC_CLK_TCK: - return __sysconfig (_CONFIG_CLK_TCK); - - case _SC_NGROUPS_MAX: -#ifdef NGROUPS_MAX - return NGROUPS_MAX; -#else - return -1; -#endif - - /* Both of these are looking for _CONFIG_OPEN_FILES. */ - case _SC_OPEN_MAX: - case _SC_STREAM_MAX: - return __sysconfig (_CONFIG_OPEN_FILES); - - case _SC_TZNAME_MAX: - return __tzname_max (); - - case _SC_JOB_CONTROL: -#ifdef _POSIX_JOB_CONTROL - return 1; -#else - return -1; -#endif - - case _SC_SAVED_IDS: -#ifdef _POSIX_SAVED_IDS - return 1; -#else - return -1; -#endif - - case _SC_REALTIME_SIGNALS: -#ifdef _POSIX_REALTIME_SIGNALS - return 1; -#else - return -1; -#endif - - case _SC_PRIORITY_SCHEDULING: -#ifdef _POSIX_PRIORITY_SCHEDULING - return 1; -#else - return -1; -#endif - - case _SC_TIMERS: -#ifdef _POSIX_TIMERS - return 1; -#else - return -1; -#endif - - case _SC_ASYNCHRONOUS_IO: -#ifdef _POSIX_ASYNCHRONOUS_IO - return 1; -#else - return -1; -#endif - - case _SC_PRIORITIZED_IO: -#ifdef _POSIX_PRIORITIZED_IO - return 1; -#else - return -1; -#endif - - case _SC_SYNCHRONIZED_IO: -#ifdef _POSIX_SYNCHRONIZED_IO - return 1; -#else - return -1; -#endif - - case _SC_FSYNC: -#ifdef _POSIX_FSYNC - return 1; -#else - return -1; -#endif - - case _SC_MAPPED_FILES: -#ifdef _POSIX_MAPPED_FILES - return 1; -#else - return -1; -#endif - - case _SC_MEMLOCK: -#ifdef _POSIX_MEMLOCK - return 1; -#else - return -1; -#endif - - case _SC_MEMLOCK_RANGE: -#ifdef _POSIX_MEMLOCK_RANGE - return 1; -#else - return -1; -#endif - - case _SC_MEMORY_PROTECTION: -#ifdef _POSIX_MEMORY_PROTECTION - return 1; -#else - return -1; -#endif - - case _SC_MESSAGE_PASSING: -#ifdef _POSIX_MESSAGE_PASSING - return 1; -#else - return -1; -#endif - - case _SC_SEMAPHORES: -#ifdef _POSIX_SEMAPHORES - return 1; -#else - return -1; -#endif - - case _SC_SHARED_MEMORY_OBJECTS: -#ifdef _POSIX_SHARED_MEMORY_OBJECTS - return 1; -#else - return -1; -#endif - - case _SC_VERSION: - return _POSIX_VERSION; - - case _SC_PAGESIZE: - return __sysconfig (_CONFIG_PAGESIZE); - - case _SC_AIO_LISTIO_MAX: -#ifdef AIO_LISTIO_MAX - return AIO_LISTIO_MAX; -#else - return -1; -#endif - - case _SC_AIO_MAX: -#ifdef AIO_MAX - return AIO_MAX; -#else - return -1; -#endif - - case _SC_AIO_PRIO_DELTA_MAX: -#ifdef AIO_PRIO_DELTA_MAX - return AIO_PRIO_DELTA_MAX; -#else - return -1; -#endif - - case _SC_DELAYTIMER_MAX: -#ifdef DELAYTIMER_MAX - return DELAYTIMER_MAX; -#else - return -1; -#endif - - case _SC_MQ_OPEN_MAX: -#ifdef MQ_OPEN_MAX - return MQ_OPEN_MAX; -#else - return -1; -#endif - - case _SC_MQ_PRIO_MAX: -#ifdef MQ_PRIO_MAX - return MQ_PRIO_MAX; -#else - return -1; -#endif - - case _SC_RTSIG_MAX: -#ifdef RTSIG_MAX - return RTSIG_MAX; -#else - return -1; -#endif - - case _SC_SEM_NSEMS_MAX: -#ifdef SEM_NSEMS_MAX - return SEM_NSEMS_MAX; -#else - return -1; -#endif - - case _SC_SEM_VALUE_MAX: -#ifdef SEM_VALUE_MAX - return SEM_VALUE_MAX; -#else - return -1; -#endif - - case _SC_SIGQUEUE_MAX: -#ifdef SIGQUEUE_MAX - return SIGQUEUE_MAX; -#else - return -1; -#endif - - case _SC_TIMER_MAX: -#ifdef TIMER_MAX - return TIMER_MAX; -#else - return -1; -#endif - - case _SC_BC_BASE_MAX: -#ifdef BC_BASE_MAX - return BC_BASE_MAX; -#else - return -1; -#endif - - case _SC_BC_DIM_MAX: -#ifdef BC_DIM_MAX - return BC_DIM_MAX; -#else - return -1; -#endif - - case _SC_BC_SCALE_MAX: -#ifdef BC_SCALE_MAX - return BC_SCALE_MAX; -#else - return -1; -#endif - - case _SC_BC_STRING_MAX: -#ifdef BC_STRING_MAX - return BC_STRING_MAX; -#else - return -1; -#endif - - case _SC_EQUIV_CLASS_MAX: -#ifdef EQUIV_CLASS_MAX - return EQUIV_CLASS_MAX; -#else - return -1; -#endif - - case _SC_EXPR_NEST_MAX: -#ifdef EXPR_NEST_MAX - return EXPR_NEST_MAX; -#else - return -1; -#endif - - case _SC_LINE_MAX: -#ifdef LINE_MAX - return LINE_MAX; -#else - return -1; -#endif - - case _SC_RE_DUP_MAX: -#ifdef RE_DUP_MAX - return RE_DUP_MAX; -#else - return -1; -#endif - - case _SC_CHARCLASS_NAME_MAX: -#ifdef CHARCLASS_NAME_MAX - return CHARCLASS_NAME_MAX; -#else - return -1; -#endif - - case _SC_2_VERSION: - /* This is actually supposed to return the version - of the 1003.2 utilities on the system {POSIX2_VERSION}. */ - return _POSIX2_C_VERSION; - - case _SC_2_C_BIND: -#ifdef _POSIX2_C_BIND - return _POSIX2_C_BIND; -#else - return -1; -#endif - - case _SC_2_C_DEV: -#ifdef _POSIX2_C_DEV - return _POSIX2_C_DEV; -#else - return -1; -#endif - - case _SC_2_FORT_DEV: -#ifdef _POSIX2_FORT_DEV - return _POSIX2_FORT_DEV; -#else - return -1; -#endif - - case _SC_2_SW_DEV: -#ifdef _POSIX2_SW_DEV - return _POSIX2_SW_DEV; -#else - return -1; -#endif - } -} - -weak_alias (__sysconf, sysconf) -libc_hidden_def (__sysconf) diff --git a/sysdeps/unix/sysv/sysv4/sysconfig.h b/sysdeps/unix/sysv/sysv4/sysconfig.h deleted file mode 100644 index b51a364..0000000 --- a/sysdeps/unix/sysv/sysv4/sysconfig.h +++ /dev/null @@ -1,28 +0,0 @@ -/* `__sysconfig' NAME values. - Copyright (C) 1993, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef __SYSCONFIG_H -#define __SYSCONFIG_H - -#define _CONFIG_OPEN_FILES 4 /* process limit on open files */ -#define _CONFIG_PAGESIZE 6 /* MMU page size */ -#define _CONFIG_CLK_TCK 7 /* all times are in CLK_TCKths of a second */ - -#endif diff --git a/sysdeps/unix/sysv/sysv4/system.c b/sysdeps/unix/sysv/sysv4/system.c deleted file mode 100644 index fbfe43f..0000000 --- a/sysdeps/unix/sysv/sysv4/system.c +++ /dev/null @@ -1,2 +0,0 @@ -/* SVR4 does have `waitpid'. Avoid unix/system.c, which says we don't. */ -#include diff --git a/sysdeps/unix/sysv/sysv4/waitpid.c b/sysdeps/unix/sysv/sysv4/waitpid.c deleted file mode 100644 index 23f9ceb..0000000 --- a/sysdeps/unix/sysv/sysv4/waitpid.c +++ /dev/null @@ -1,120 +0,0 @@ -/* Copyright (C) 1993,94,95,96,97,2002,2004 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include -#include -#include -#include -#include "siginfo.h" - -typedef enum __idtype - { - /* Look for processes based upon a given PID. */ - P_PID, - - /* Look for processes based upon a given process-group ID. */ - P_PGID = 2, - - /* Look for any process. */ - P_ALL = 7, - } __idtype_t; - -extern __pid_t __getpgid (__pid_t pid); -extern int __waitid (__idtype_t idtype, __pid_t id, - __siginfo_t *infop, int options); - -/* Wait for a child matching PID to die. - If PID is greater than 0, match any process whose process ID is PID. - If PID is (pid_t) -1, match any process. - If PID is (pid_t) 0, match any process with the - same process group as the current process. - If PID is less than -1, match any process whose - process group is the absolute value of PID. - If the WNOHANG bit is set in OPTIONS, and that child - is not already dead, return (pid_t) 0. If successful, - return PID and store the dead child's status in STAT_LOC. - Return (pid_t) -1 for errors. If the WUNTRACED bit is set in OPTIONS, - return status for stopped children; otherwise don't. */ - -__pid_t -__libc_waitpid (__pid_t pid, int *stat_loc, int options) -{ - __idtype_t idtype; - __pid_t tmp_pid = pid; - __siginfo_t infop; - - if (pid <= WAIT_MYPGRP) - { - if (pid == WAIT_ANY) - { - /* Request the status for any child. */ - idtype = P_ALL; - } - else if (pid == WAIT_MYPGRP) - { - /* Request the status for any child process that has - a pgid that's equal to that of our parent. */ - tmp_pid = __getpgid (0); - idtype = P_PGID; - } - else /* PID < -1 */ - { - /* Request the status for any child whose pgid is equal - to the absolute value of PID. */ - tmp_pid = pid & ~0; /* XXX not pseudo-insn */ - idtype = P_PGID; - } - } - else - { - /* Request the status for the child whose pid is PID. */ - idtype = P_PID; - } - - if (__waitid (idtype, tmp_pid, &infop, options | WEXITED | WTRAPPED) < 0) - return -1; - - switch (infop.__code) - { - case EXITED: - *stat_loc = W_EXITCODE (infop.__status, 0); - break; - case STOPPED: - case TRAPPED: - *stat_loc = W_STOPCODE (infop.__status); - break; - case KILLED: - /* Don't know what to do with continue, since it isn't documented. - Putting it here seemed the right place though. */ - case CONTINUED: - *stat_loc = infop.__status; - /* FALLTHROUGH */ - case CORED: - *stat_loc |= WCOREFLAG; - break; - } - - /* Return the PID out of the INFOP structure instead of the one we were - called with, to account for cases of being called with -1 to signify - any PID. */ - return infop.__pid; -} -weak_alias (__libc_waitpid, __waitpid) -weak_alias (__libc_waitpid, waitpid) -libc_hidden_weak (__waitpid) diff --git a/sysdeps/vax/DEFS.h b/sysdeps/vax/DEFS.h deleted file mode 100644 index 50f8b7e..0000000 --- a/sysdeps/vax/DEFS.h +++ /dev/null @@ -1,57 +0,0 @@ -/* - * Copyright (c) 1982, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)DEFS.h 8.1 (Berkeley) 6/4/93 - */ - -#define R0 0x001 -#define R1 0x002 -#define R2 0x004 -#define R3 0x008 -#define R4 0x010 -#define R5 0x020 -#define R6 0x040 -#define R7 0x080 -#define R8 0x100 -#define R9 0x200 -#define R10 0x400 -#define R11 0x800 - -#ifdef PROF -#define ENTRY(x, regs) \ - .globl _/**/x; .align 2; _/**/x: .word regs; \ - .data; 1:; .long 0; .text; moval 1b,r0; jsb mcount -#define ASENTRY(x, regs) \ - .globl x; .align 2; x: .word regs; \ - .data; 1:; .long 0; .text; moval 1b,r0; jsb mcount -#else -#define ENTRY(x, regs) \ - .globl _/**/x; .align 2; _/**/x: .word regs -#define ASENTRY(x, regs) \ - .globl x; .align 2; x: .word regs -#endif diff --git a/sysdeps/vax/Makefile b/sysdeps/vax/Makefile deleted file mode 100644 index 909fc29..0000000 --- a/sysdeps/vax/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# 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 -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 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 -# Lesser General Public License for more details. - -# You should have received a copy of the GNU Lesser General Public -# License along with the GNU C Library; 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 - -elided-routines := $(elided-routines) acos asin cos sin ceil rint hypot \ - __copysign __scalb __drem __logb __finite -sysdep_routines := $(sysdep_routines) asincos sincos argred \ - support exp__E log__L - -math-twiddled := t -endif - -bsdmath_dirs := $(bsdmath_dirs) vax - -endif diff --git a/sysdeps/vax/__longjmp.c b/sysdeps/vax/__longjmp.c deleted file mode 100644 index 8ffb8cd..0000000 --- a/sysdeps/vax/__longjmp.c +++ /dev/null @@ -1,129 +0,0 @@ -/* Copyright (C) 1991, 1992, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - Derived from @(#)_setjmp.s 5.7 (Berkeley) 6/27/88, - Copyright (C) 1980 Regents of the University of California. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 4. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE.*/ - -#include - -#ifndef __GNUC__ - #error This file uses GNU C extensions; you must compile with GCC. -#endif - - -#define REI 02 /* Vax `rei' opcode. */ - -/* Jump to the position specified by ENV, causing the - setjmp call there to return VAL, or 1 if VAL is 0. */ -__NORETURN -void -__longjmp (env, val) - const __jmp_buf env; - int val; -{ - register long int *fp asm("fp"); - long int *regsave; - unsigned long int flags; - - if (env.__fp == NULL) - __libc_fatal("longjmp: Invalid ENV argument.\n"); - - if (val == 0) - val = 1; - - asm volatile("loop:"); - - flags = *(long int *) (6 + (char *) fp); - regsave = (long int *) (20 + (char *) fp); - if (flags & 1) - /* R0 was saved by the caller. - Store VAL where it will be restored from. */ - *regsave++ = val; - if (flags & 2) - /* R1 was saved by the caller. - Store ENV where it will be restored from. */ - *regsave = env; - - /* Was the FP saved in the last call the same one in ENV? */ - asm volatile("cmpl %0, 12(fp);" - /* Yes, return to it. */ - "beql done;" - /* The FP in ENV is less than the one saved in the last call. - This means we have already returned from the function that - called `setjmp' with ENV! */ - "blssu latejump;" : /* No outputs. */ : "g" (env.__fp)); - - /* We are more than one level below the state in ENV. - Return to where we will pop another stack frame. */ - asm volatile("movl $loop, 16(fp);" - "ret"); - - asm volatile("done:"); - { - char return_insn asm("*16(fp)"); - if (return_insn == REI) - /* We're returning with an `rei' instruction. - Do a return with PSL-PC pop. */ - asm volatile("movab 0f, 16(fp)"); - else - /* Do a standard return. */ - asm volatile("movab 1f, 16(fp)"); - - /* Return. */ - asm volatile("ret"); - } - - asm volatile("0:" /* `rei' return. */ - /* Compensate for PSL-PC push. */ - "addl2 %0, sp;" - "1:" /* Standard return. */ - /* Return to saved PC. */ - "jmp %1" : /* No outputs. */ : - "g" (8), "g" (env.__pc)); - - /* Jump here when the FP saved in ENV points - to a function that has already returned. */ - asm volatile("latejump:"); - __libc_fatal("longjmp: Attempt to jump to a function that has returned.\n"); -} diff --git a/sysdeps/vax/add_n.s b/sysdeps/vax/add_n.s deleted file mode 100644 index 265a8c7..0000000 --- a/sysdeps/vax/add_n.s +++ /dev/null @@ -1,48 +0,0 @@ -# VAX __mpn_add_n -- Add two limb vectors of the same length > 0 and store -# sum in a third limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# s2_ptr (sp + 12) -# size (sp + 16) - -.text - .align 1 -.globl ___mpn_add_n -___mpn_add_n: - .word 0x0 - movl 16(ap),r0 - movl 12(ap),r1 - movl 8(ap),r2 - movl 4(ap),r3 - subl2 r4,r4 - -Loop: - movl (r2)+,r4 - adwc (r1)+,r4 - movl r4,(r3)+ - jsobgtr r0,Loop - - adwc r0,r0 - ret diff --git a/sysdeps/vax/addmul_1.s b/sysdeps/vax/addmul_1.s deleted file mode 100644 index c6d657d..0000000 --- a/sysdeps/vax/addmul_1.s +++ /dev/null @@ -1,126 +0,0 @@ -# VAX __mpn_addmul_1 -- Multiply a limb vector with a limb and add -# the result to a second limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# size (sp + 12) -# s2_limb (sp + 16) - -.text - .align 1 -.globl ___mpn_addmul_1 -___mpn_addmul_1: - .word 0xfc0 - movl 12(ap),r4 - movl 8(ap),r8 - movl 4(ap),r9 - movl 16(ap),r6 - jlss s2_big - - clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L1 - clrl r11 - -# Loop for S2_LIMB < 0x80000000 -Loop1: movl (r8)+,r1 - jlss L1n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc $0,r3 - addl2 r2,(r9)+ - adwc $0,r3 -L1: movl (r8)+,r1 - jlss L1n1 -L1p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc $0,r11 - addl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop1 - movl r11,r0 - ret - -L1n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - addl2 r2,(r9)+ - adwc $0,r3 - movl (r8)+,r1 - jgeq L1p1 -L1n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - addl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop1 - movl r11,r0 - ret - - -s2_big: clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L2 - clrl r11 - -# Loop for S2_LIMB >= 0x80000000 -Loop2: movl (r8)+,r1 - jlss L2n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r1,r3 - addl2 r2,(r9)+ - adwc $0,r3 -L2: movl (r8)+,r1 - jlss L2n1 -L2p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r1,r11 - addl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop2 - movl r11,r0 - ret - -L2n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - addl2 r2,(r9)+ - adwc r1,r3 - movl (r8)+,r1 - jgeq L2p1 -L2n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - addl2 r10,(r9)+ - adwc r1,r11 - - jsobgtr r7,Loop2 - movl r11,r0 - ret diff --git a/sysdeps/vax/bcopy.s b/sysdeps/vax/bcopy.s deleted file mode 100644 index 186ad36..0000000 --- a/sysdeps/vax/bcopy.s +++ /dev/null @@ -1,74 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)bcopy.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* bcopy(from, to, size) */ - -#include "DEFS.h" - -ENTRY(bcopy, R6) - movl 4(ap),r1 - movl 8(ap),r3 - movl 12(ap),r6 - cmpl r1,r3 - bgtr 2f # normal forward case - blss 3f # overlapping, must do backwards - ret # equal, nothing to do -1: - subl2 r0,r6 - movc3 r0,(r1),(r3) -2: - movzwl $65535,r0 - cmpl r6,r0 - jgtr 1b - movc3 r6,(r1),(r3) - ret -3: - addl2 r6,r1 - addl2 r6,r3 - movzwl $65535,r0 - jbr 5f -4: - subl2 r0,r6 - subl2 r0,r1 - subl2 r0,r3 - movc3 r0,(r1),(r3) - movzwl $65535,r0 - subl2 r0,r1 - subl2 r0,r3 -5: - cmpl r6,r0 - jgtr 4b - subl2 r6,r1 - subl2 r6,r3 - movc3 r6,(r1),(r3) - ret diff --git a/sysdeps/vax/bits/huge_val.h b/sysdeps/vax/bits/huge_val.h deleted file mode 100644 index 63395b1..0000000 --- a/sysdeps/vax/bits/huge_val.h +++ /dev/null @@ -1,26 +0,0 @@ -/* `HUGE_VAL' constant for Vaxen. - Used by and functions for overflow. - Copyright (C) 1992, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef _MATH_H -# error "Never use directly; include instead." -#endif - - -#define HUGE_VAL 1.70141182460469227e38 diff --git a/sysdeps/vax/bits/setjmp.h b/sysdeps/vax/bits/setjmp.h deleted file mode 100644 index 10ca170..0000000 --- a/sysdeps/vax/bits/setjmp.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Define the machine-dependent type `jmp_buf'. Vax version. */ - -#ifndef _SETJMP_H -# error "Never include directly; use instead." -#endif - -typedef struct - { - PTR __fp; - PTR __pc; - } __jmp_buf[1]; diff --git a/sysdeps/vax/bsd-_setjmp.S b/sysdeps/vax/bsd-_setjmp.S deleted file mode 100644 index 756e96b..0000000 --- a/sysdeps/vax/bsd-_setjmp.S +++ /dev/null @@ -1,33 +0,0 @@ -/* BSD `_setjmp' entry point to `sigsetjmp (..., 0)'. Vax version. - Copyright (C) 1994, 1997, 2002 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This just does a tail-call to `__sigsetjmp (ARG, 0)'. - We cannot do it in C because it must be a tail-call, so frame-unwinding - in setjmp doesn't clobber the state restored by longjmp. */ - -#include - -ENTRY (_setjmp) - popl r0 /* Pop return PC. */ - popl r1 /* Pop jmp_buf argument. */ - pushl $0 /* Push second argument of zero. */ - pushl r1 /* Push back first argument. */ - pushl r0 /* Push back return PC. */ - jmp C_SYMBOL_NAME (__sigsetjmp) -libc_hidden_def (_setjmp) diff --git a/sysdeps/vax/bsd-setjmp.S b/sysdeps/vax/bsd-setjmp.S deleted file mode 100644 index 792fcf7..0000000 --- a/sysdeps/vax/bsd-setjmp.S +++ /dev/null @@ -1,32 +0,0 @@ -/* BSD `setjmp' entry point to `sigsetjmp (..., 1)'. Vax version. - Copyright (C) 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* This just does a tail-call to `__sigsetjmp (ARG, 1)'. - We cannot do it in C because it must be a tail-call, so frame-unwinding - in setjmp doesn't clobber the state restored by longjmp. */ - -#include - -ENTRY (setjmp) - popl r0 /* Pop return PC. */ - popl r1 /* Pop jmp_buf argument. */ - pushl $1 /* Push second argument of one. */ - pushl r1 /* Push back first argument. */ - pushl r0 /* Push back return PC. */ - jmp C_SYMBOL_NAME (__sigsetjmp) diff --git a/sysdeps/vax/bzero.s b/sysdeps/vax/bzero.s deleted file mode 100644 index be61a97..0000000 --- a/sysdeps/vax/bzero.s +++ /dev/null @@ -1,50 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)bzero.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* bzero(base, length) */ - -#include "DEFS.h" - -ENTRY(__bzero, 0) - movl 4(ap),r3 - jbr 2f -1: - subl2 r0,8(ap) - movc5 $0,(r3),$0,r0,(r3) -2: - movzwl $65535,r0 - cmpl 8(ap),r0 - jgtr 1b - movc5 $0,(r3),$0,8(ap),(r3) - ret -weak_alias (__bzero, bzero) diff --git a/sysdeps/vax/ffs.s b/sysdeps/vax/ffs.s deleted file mode 100644 index 6272cfd..0000000 --- a/sysdeps/vax/ffs.s +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)ffs.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* bit = ffs(value) */ - -#include "DEFS.h" - -ENTRY(__ffs, 0) - ffs $0,$32,4(ap),r0 - bneq 1f - mnegl $1,r0 -1: - incl r0 - ret -weak_alias (__ffs, ffs) diff --git a/sysdeps/vax/fl.h b/sysdeps/vax/fl.h deleted file mode 100644 index 79cbeb2..0000000 --- a/sysdeps/vax/fl.h +++ /dev/null @@ -1,68 +0,0 @@ -/* Copyright (C) 1991, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#ifndef __need_HUGE_VAL - -/* Floating-point constants for Vaxen. */ - -#define FLT_RADIX 2 - -#define FLT_ROUNDS _FLT_ROUNDS_TONEAREST - -#define FLT_MANT_DIG 23 -#define DBL_MANT_DIG 55 -#define LDBL_MANT_DIG 55 - -#define FLT_DIG 6 -#define DBL_DIG 16 -#define LDBL_DIG 16 - -#define FLT_MIN_EXP (-128) -#define DBL_MIN_EXP (-128) -#define LDBL_MIN_EXP (-128) - -#define FLT_MIN_10_EXP (-38) -#define DBL_MIN_10_EXP (-38) -#define LDBL_MIN_10_EXP (-38) - -#define FLT_MAX_EXP 127 -#define DBL_MAX_EXP 127 -#define LDBL_MAX_EXP 127 - -#define FLT_MAX_10_EXP 38 -#define DBL_MAX_10_EXP 38 -#define LDBL_MAX_10_EXP 38 - -#define FLT_MAX 1.7014116e38 -#define DBL_MAX 1.70141182460469227e38 -#define LDBL_MAX DBL_MAX - -#define FLT_EPSILON 2.384186e-7 -#define DBL_EPSILON 5.55111512312578270e-17 -#define LDBL_EPSILON DBL_EPSILON - -#define FLT_MIN 0.2938736e-38 -#define DBL_MIN 0.29387358770557187e-38 -#define LDBL_MIN DBL_MIN - -#else /* Need HUGE_VAL. */ - -/* Used by and functions for overflow. */ -#define HUGE_VAL 1.70141182460469227e38 - -#endif /* Don't need HUGE_VAL. */ diff --git a/sysdeps/vax/gccframe.h b/sysdeps/vax/gccframe.h deleted file mode 100644 index 323d511..0000000 --- a/sysdeps/vax/gccframe.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Definition of object in frame unwind info. vax version. - Copyright (C) 2001 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#define DWARF_FRAME_REGISTERS 16 - -#include diff --git a/sysdeps/vax/gmp-mparam.h b/sysdeps/vax/gmp-mparam.h deleted file mode 100644 index 1ebfa19..0000000 --- a/sysdeps/vax/gmp-mparam.h +++ /dev/null @@ -1,29 +0,0 @@ -/* gmp-mparam.h -- Compiler/machine parameter header file. - -Copyright (C) 1991, 1993, 1994, 1995 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or (at your -option) any later version. - -The GNU MP 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 Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP 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. */ - -#define BITS_PER_MP_LIMB 32 -#define BYTES_PER_MP_LIMB 4 -#define BITS_PER_LONGINT 32 -#define BITS_PER_INT 32 -#define BITS_PER_SHORTINT 16 -#define BITS_PER_CHAR 8 - -#define IEEE_DOUBLE_BIG_ENDIAN 0 diff --git a/sysdeps/vax/htonl.s b/sysdeps/vax/htonl.s deleted file mode 100644 index f3e2195..0000000 --- a/sysdeps/vax/htonl.s +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)htonl.s 5.5 (Berkeley) 6/27/88" -#endif /* LIBC_SCCS and not lint */ - -/* netorder = htonl(hostorder) */ - -#include "DEFS.h" - -ENTRY(htonl, 0) - rotl $-8,4(ap),r0 - insv r0,$16,$8,r0 - movb 7(ap),r0 - ret -weak_alias (htonl, ntohl) diff --git a/sysdeps/vax/htons.s b/sysdeps/vax/htons.s deleted file mode 100644 index 5f9ea73..0000000 --- a/sysdeps/vax/htons.s +++ /dev/null @@ -1,43 +0,0 @@ -/* - * Copyright (C) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)htons.s 5.5 (Berkeley) 6/27/88" -#endif /* LIBC_SCCS and not lint */ - -/* hostorder = htons(netorder) */ - -#include "DEFS.h" - -ENTRY(htons, 0) - rotl $8,4(ap),r0 - movb 5(ap),r0 - movzwl r0,r0 - ret -weak_alias (htons, ntohs) diff --git a/sysdeps/vax/memccpy.c b/sysdeps/vax/memccpy.c deleted file mode 100644 index 9a459ff..0000000 --- a/sysdeps/vax/memccpy.c +++ /dev/null @@ -1,46 +0,0 @@ -/* Copyright (C) 1991, 1992, 1995, 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 Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -#include - -/* Copy no more than N bytes of SRC to DEST, stopping when C is found. - Return the position in DEST one byte past where C was copied, - or NULL if C was not found in the first N bytes of SRC. */ -void * -__memccpy (dest, src, c, n) - void *dest; - const void *src; - int c; - size_t nbytes; -{ - /* Except when N > 65535, this is what a hand-coded version would - do anyway. */ - - void *found = memchr (src, c, n); - - if (found == NULL) - { - (void) memcpy (dest, src, n); - return NULL; - } - - (void) memcpy (dest, src, (char *) found + 1 - (char *) src); - return (PTR) ((char *) dest + ((char *) found + 1 - (char *) src)); -} - -weak_alias (__memccpy, memccpy) diff --git a/sysdeps/vax/memchr.s b/sysdeps/vax/memchr.s deleted file mode 100644 index 5c54ba8..0000000 --- a/sysdeps/vax/memchr.s +++ /dev/null @@ -1,74 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)memchr.s 5.1 (Berkeley) 5/29/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find the first occurrence of c in the memory at cp (length n). - * Return pointer to match or null pointer. - * - * This code optimises the usual case (0 < n < 65535). - * - * void * - * memchr(cp, c, n) - * char *cp, c; - * size_t n; - */ - -#include "DEFS.h" - -ENTRY(__memchr, 0) - movq 4(ap),r1 # r1 = cp; r2 = c - movl 12(ap),r0 # r0 = n - movzwl $65535,r4 # handy constant -0: - cmpl r0,r4 # check for annoying locc limit - bgtru 3f - - /* n <= 65535 */ - locc r2,r0,(r1) # search n bytes for c - beql 2f # done if not found (r0 already 0) -1: /* found character c at (r1) */ - movl r1,r0 -2: - ret - -3: /* n > 65535 */ - locc r2,r4,(r1) # search 65535 bytes for c - beql 1b # done if found - decw r0 # from 0 to 65535 - subl2 r0,r4 # adjust n - brb 0b # and loop - -weak_alias (__memchr, memchr) -#if !__BOUNDED_POINTERS__ -weak_alias (__memchr, __ubp_memchr) -#endif diff --git a/sysdeps/vax/memcmp.s b/sysdeps/vax/memcmp.s deleted file mode 100644 index e32fe24..0000000 --- a/sysdeps/vax/memcmp.s +++ /dev/null @@ -1,59 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)memcmp.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* int memcmp(s1, s2, n) */ - -#include "DEFS.h" - -ENTRY(memcmp, 0) - movl 4(ap),r1 /* r1 = s1 */ - movq 8(ap),r3 /* r3 = s2; r4 = n */ - movzwl $65535,r5 -0: - cmpl r4,r5 - jgtru 3f /* handle stupid cmpc3 limitation */ - cmpc3 r4,(r1),(r3) /* compare */ - beql 2f /* done if same (r0 = 0) */ -1: - movzbl (r1),r0 - movzbl (r3),r2 - subl2 r2,r0 /* return *s1 - *s2; s1,s2 unsigned chars */ -2: - ret -3: - subl2 r5,r4 /* do 64K; adjust count */ - cmpc3 r5,(r1),(r3) - jeql 0b /* loop if same */ - jbr 1b - -weak_alias (memcmp, bcmp) diff --git a/sysdeps/vax/memmove.s b/sysdeps/vax/memmove.s deleted file mode 100644 index 7385441..0000000 --- a/sysdeps/vax/memmove.s +++ /dev/null @@ -1,89 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)memmove.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * void *memmove(dst, src, size) - * returns dst - * - * This optimises the usual case (count < 65536) at the expense - * of some extra memory references and branches when count >= 65536. - */ - -#include "DEFS.h" - -ENTRY(memmove, 0) - movzwl $65535,r0 /* r0 = 64K (needed below) */ - movq 8(ap),r1 /* r1 = src, r2 = length */ - movl 4(ap),r3 /* r3 = dst */ - cmpl r1,r3 - bgtru 1f /* normal forward case */ - beql 2f /* equal, nothing to do */ - addl2 r2,r1 /* overlaps iff srcdst */ - cmpl r1,r3 - bgtru 4f /* overlapping, must move backwards */ - subl2 r2,r1 - -1: /* move forward */ - cmpl r2,r0 - bgtru 3f /* stupid movc3 limitation */ - movc3 r2,(r1),(r3) /* move it all */ -2: - movl 4(ap),r0 /* return original dst */ - ret -3: - subl2 r0,12(ap) /* adjust length by 64K */ - movc3 r0,(r1),(r3) /* move 64K */ - movl 12(ap),r2 - decw r0 /* from 0 to 65535 */ - brb 1b /* retry */ - -4: /* move backward */ - addl2 r2,r3 -5: - cmpl r2,r0 - bgtru 6f /* stupid movc3 limitation */ - subl2 r2,r1 - subl2 r2,r3 - movc3 r2,(r1),(r3) /* move it all */ - movl 4(ap),r0 /* return original dst */ - ret -6: - subl2 r0,12(ap) /* adjust length by 64K */ - subl2 r0,r1 - subl2 r0,r3 - movc3 r0,(r1),(r3) /* move 64K */ - movl 12(ap),r2 - decw r0 - subl2 r0,r1 - subl2 r0,r3 - brb 5b diff --git a/sysdeps/vax/memset.s b/sysdeps/vax/memset.s deleted file mode 100644 index dda1486..0000000 --- a/sysdeps/vax/memset.s +++ /dev/null @@ -1,51 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)memset.s 5.2 (Berkeley) 5/12/91" -#endif /* LIBC_SCCS and not lint */ - -/* void *memset(base, c, length) */ - -#include "DEFS.h" - -ENTRY(memset, 0) - movl 4(ap),r3 -1: - movzwl $65535,r0 - movq 8(ap),r1 - cmpl r2,r0 - jgtru 2f - movc5 $0,(r3),r1,r2,(r3) - movl r1,r0 - ret -2: - subl2 r0,12(ap) - movc5 $0,(r3),r1,r0,(r3) - jbr 1b diff --git a/sysdeps/vax/mul_1.s b/sysdeps/vax/mul_1.s deleted file mode 100644 index 295638b..0000000 --- a/sysdeps/vax/mul_1.s +++ /dev/null @@ -1,123 +0,0 @@ -# VAX __mpn_mul_1 -- Multiply a limb vector with a limb and store -# the result in a second limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# size (sp + 12) -# s2_limb (sp + 16) - -.text - .align 1 -.globl ___mpn_mul_1 -___mpn_mul_1: - .word 0xfc0 - movl 12(ap),r4 - movl 8(ap),r8 - movl 4(ap),r9 - movl 16(ap),r6 - jlss s2_big - -# One might want to combine the addl2 and the store below, but that -# is actually just slower according to my timing tests. (VAX 3600) - - clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L1 - clrl r11 - -# Loop for S2_LIMB < 0x80000000 -Loop1: movl (r8)+,r1 - jlss L1n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc $0,r3 - movl r2,(r9)+ -L1: movl (r8)+,r1 - jlss L1n1 -L1p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc $0,r11 - movl r10,(r9)+ - - jsobgtr r7,Loop1 - movl r11,r0 - ret - -L1n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - movl r2,(r9)+ - movl (r8)+,r1 - jgeq L1p1 -L1n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - movl r10,(r9)+ - - jsobgtr r7,Loop1 - movl r11,r0 - ret - - -s2_big: clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L2 - clrl r11 - -# Loop for S2_LIMB >= 0x80000000 -Loop2: movl (r8)+,r1 - jlss L2n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r1,r3 - movl r2,(r9)+ -L2: movl (r8)+,r1 - jlss L2n1 -L2p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r1,r11 - movl r10,(r9)+ - - jsobgtr r7,Loop2 - movl r11,r0 - ret - -L2n0: emul r1,r6,$0,r2 - addl2 r1,r3 - addl2 r11,r2 - adwc r6,r3 - movl r2,(r9)+ - movl (r8)+,r1 - jgeq L2p1 -L2n1: emul r1,r6,$0,r10 - addl2 r1,r11 - addl2 r3,r10 - adwc r6,r11 - movl r10,(r9)+ - - jsobgtr r7,Loop2 - movl r11,r0 - ret diff --git a/sysdeps/vax/setjmp.c b/sysdeps/vax/setjmp.c deleted file mode 100644 index 0e38f39..0000000 --- a/sysdeps/vax/setjmp.c +++ /dev/null @@ -1,62 +0,0 @@ -/* Copyright (C) 1991, 1992, 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 - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. - - Derived from @(#)_setjmp.s 5.7 (Berkeley) 6/27/88, - Copyright (C) 1980 Regents of the University of California. - All rights reserved. - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - 1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - 2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - 4. Neither the name of the University nor the names of its contributors - may be used to endorse or promote products derived from this software - without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - SUCH DAMAGE. -*/ - -#include - - -/* Save the current program position in ENV and return 0. */ -int -__sigsetjmp (jmp_buf env, int savemask) -{ - /* Save our caller's FP and PC. */ - asm ("movl 12(fp), %0" : "=g" (env[0].__jmpbuf[0].__fp)); - asm ("movl 16(fp), %0" : "=g" (env[0].__jmpbuf[0].__pc)); - - /* Save the signal mask if requested. */ - return __sigjmp_save (env, savemask); -} diff --git a/sysdeps/vax/strcat.s b/sysdeps/vax/strcat.s deleted file mode 100644 index bfe64e6..0000000 --- a/sysdeps/vax/strcat.s +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strcat.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Concatenate string s2 to the end of s1 - * and return the base of s1. - * - * char * - * strcat(s1, s2) - * char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strcat, R6|R7) - movq 4(ap), r6 # r6 = s1; r7 = s2 - movl r6,r1 -0: - locc $0,$65535,(r1) # look for '\0' - beql 0b - movl r1,r3 # save end of s1 -1: - locc $0,$65535,(r7) # find length of s2 - bneq 2f - movc3 $65535,(r7),(r3)# copy full block - movl r1,r7 - jbr 1b -2: - subl2 r7,r1 # calculate length - incl r1 - movc3 r1,(r7),(r3) # copy remainder - movl r6,r0 - ret diff --git a/sysdeps/vax/strchr.s b/sysdeps/vax/strchr.s deleted file mode 100644 index d56cb4b..0000000 --- a/sysdeps/vax/strchr.s +++ /dev/null @@ -1,103 +0,0 @@ -/* - * Copyright (c) 1988 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strchr.s 5.4 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find the first occurrence of c in the string cp. - * Return pointer to match or null pointer. - * - * char * - * strchr(cp, c) - * char *cp, c; - */ -#include "DEFS.h" - - .lcomm tbl,256 - -ENTRY(strchr, 0) - movzwl $65535,r4 /* handy constant */ - movq 4(ap),r1 /* r1 = cp; r2 = c */ - movzbl r2,r2 - beql Lzero /* special case for c == '\0' */ - -/* - * Fancy scanc version. Alas, it is not reentrant. - */ - movab tbl,r3 /* r3 = base of table */ - bbss $0,(r3),Lreent /* ensure not reentering */ - movab (r3)[r2],r5 - incb (r5) /* mark both '\0' and c */ -0: - scanc r4,(r1),(r3),$1 /* look for c or '\0' */ - beql 0b /* still looking */ - movl r1,r0 /* return whatever we found */ - tstb (r0) - bneq 1f # unless it was '\0': - clrl r0 # then return NULL -1: - clrb (r5) /* clean up table */ - clrb (r3) - ret - -/* - * Special case for \0. - */ -Lzero: - locc r2,r4,(r1) /* just find end of string */ - beql Lzero /* still looking */ - movl r1,r0 /* found it */ - ret - -/* - * Slower reentrant version is two two-step searches. The first - * phase runs until we know where the string ends; it locates the - * first occurrence of c within a 65535-byte block. If we find - * the end of the string first, we switch to the second phase, - * were we look only up to the known end of string. - */ -Lreent: -0: /* first phase */ - movl r1,r3 - locc $0,r4,(r3) /* look for '\0' */ - bneq 1f - locc r2,r4,(r3) /* look for c */ - beql 0b /* not found: reset pointer and loop */ - movl r1,r0 /* found: return it */ - ret -1: /* second phase */ - subl3 r3,r1,r0 /* length of short block */ - locc r2,r0,(r3) /* look for c */ - beql 2f /* not found: return NULL */ - movl r1,r0 -2: ret - -weak_alias (strchr, index) diff --git a/sysdeps/vax/strcmp.s b/sysdeps/vax/strcmp.s deleted file mode 100644 index 479e14f..0000000 --- a/sysdeps/vax/strcmp.s +++ /dev/null @@ -1,81 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strcmp.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Compare string s1 lexicographically to string s2. - * Return: - * 0 s1 == s2 - * > 0 s1 > s2 - * < 0 s2 < s2 - * - * strcmp(s1, s2) - * char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strcmp, 0) - movl 4(ap),r1 # r1 = s1 - movl 8(ap),r3 # r3 = s2 - subb3 (r3),(r1),r0 # quick check for first char different - beql 1f # have to keep checking - cvtbl r0,r0 - ret -1: - clrl r5 # calculate min bytes to next page boundary - subb3 r1,$255,r5 # r5 = (bytes - 1) to end of page for s1 - subb3 r3,$255,r0 # r0 = (bytes - 1) to end of page for s2 - cmpb r0,r5 # r5 = min(r0, r5); - bgtru 2f - movb r0,r5 -2: - incl r5 # r5 = min bytes to next page boundary - cmpc3 r5,(r1),(r3) # compare strings - bneq 3f - subl2 r5,r1 # check if found null yet - locc $0,r5,(r1) - beql 1b # not yet done, continue checking - subl2 r0,r3 - mnegb (r3),r0 # r0 = '\0' - *s2 - cvtbl r0,r0 - ret -3: - subl2 r0,r5 # check for null in matching string - subl2 r5,r1 - locc $0,r5,(r1) - bneq 4f - subb3 (r3),(r1),r0 # r0 = *s1 - *s2 - cvtbl r0,r0 - ret -4: - clrl r0 # both the same to null - ret diff --git a/sysdeps/vax/strcpy.s b/sysdeps/vax/strcpy.s deleted file mode 100644 index 1eb00ba..0000000 --- a/sysdeps/vax/strcpy.s +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strcpy.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Copy string s2 over top of s1. - * Return base of s1. - * - * char * - * strcpy(s1, s2) - * char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strcpy, R6) - movl 4(ap), r3 # r3 = s1 - movl 8(ap), r6 # r6 = s2 -1: - locc $0,$65535,(r6) # find length of s2 - bneq 2f - movc3 $65535,(r6),(r3)# copy full block - movl r1,r6 - jbr 1b -2: - subl2 r6,r1 # calculate length - incl r1 - movc3 r1,(r6),(r3) # copy remainder - movl 4(ap),r0 # return base of s1 - ret diff --git a/sysdeps/vax/strcspn.s b/sysdeps/vax/strcspn.s deleted file mode 100644 index 155b783..0000000 --- a/sysdeps/vax/strcspn.s +++ /dev/null @@ -1,62 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strcspn.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Span the complement of string s2 (skip characters that are not in s2). - * Return the number of characters in s1 that were skipped. - * - * size_t - * strcspn(s1, s2) - * const char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strcspn, 0) - subl2 $32,sp /* make 256 bit table */ - movc5 $0,(sp),$0,$32,(sp) - movq 4(ap),r1 /* r1 = s1, r2 = s2 */ - - /* turn on bit for each character in s2, including '\0' */ -1: - movzbl (r2)+,r0 - bbss r0,(sp),1b - bneq 1b - movl r1,r0 /* r0 = s (current pos in s1) */ - - /* look for a character that is in s2 */ -2: - movzbl (r0)+,r2 /* c = *s++ */ - bbc r2,(sp),2b /* loop until c is in table */ - decl r0 /* s-- */ - subl2 r1,r0 /* r0 = s - s1 = count */ - ret diff --git a/sysdeps/vax/strlen.s b/sysdeps/vax/strlen.s deleted file mode 100644 index 9479fbb..0000000 --- a/sysdeps/vax/strlen.s +++ /dev/null @@ -1,48 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strlen.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Return the length of cp (not counting '\0'). - * - * strlen(cp) - * char *cp; - */ -#include "DEFS.h" - -ENTRY(strlen, 0) - movl 4(ap),r1 -1: - locc $0,$65535,(r1) # look for '\0' - beql 1b - subl3 4(ap),r1,r0 # len = cp - base - ret diff --git a/sysdeps/vax/strncat.s b/sysdeps/vax/strncat.s deleted file mode 100644 index 2387d1b..0000000 --- a/sysdeps/vax/strncat.s +++ /dev/null @@ -1,79 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strncat.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Concatenate string s2 on the end of s1 - * and return the base of s1. The parameter - * n is the maximum length of string s2 to - * concatenate. - * - * char * - * strncat(s1, s2, n) - * char *s1, *s2; - * int n; - */ -#include "DEFS.h" - -ENTRY(strncat, R6) - movl 12(ap),r6 # r6 = n - bleq done # n <= 0 - movl 4(ap),r3 # r3 = s1 - movl r3,r1 -0: - locc $0,$65535,(r1) - beql 0b - movl r1,r3 # r3 = index(s1, '\0'); - movl 8(ap),r1 # r1 = s2 -1: - movzwl $65535,r2 # r2 = bytes in first chunk - cmpl r6,r2 # r2 = min(bytes in chunk, n); - jgeq 2f - movl r6,r2 -2: - subl2 r2,r6 # update n - locc $0,r2,(r1) # '\0' found? - jneq 3f - subl2 r2,r1 # back up pointer updated by locc - movc3 r2,(r1),(r3) # copy in next piece - tstl r6 # run out of space? - jneq 1b - clrb (r3) # force '\0' termination - jbr done -3: - subl2 r0,r2 # r2 = number of bytes to move - subl2 r2,r1 # back up pointer updated by locc - incl r2 # copy '\0' as well - movc3 r2,(r1),(r3) # copy in last piece -done: - movl 4(ap),r0 # return s1 - ret diff --git a/sysdeps/vax/strncmp.s b/sysdeps/vax/strncmp.s deleted file mode 100644 index 8d8f5d4..0000000 --- a/sysdeps/vax/strncmp.s +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strncmp.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Compare at most n characters of string - * s1 lexicographically to string s2. - * Return: - * 0 s1 == s2 - * > 0 s1 > s2 - * < 0 s2 < s2 - * - * strncmp(s1, s2, n) - * char *s1, *s2; - * int n; - */ -#include "DEFS.h" - -ENTRY(strncmp, 0) - movl 4(ap),r1 # r1 = s1 - movq 8(ap),r3 # r3 = s2; r4 = n -1: - clrl r5 # calculate min bytes to next page boundary - subb3 r1,$255,r5 # r5 = (bytes - 1) to end of page for s1 - subb3 r3,$255,r0 # r0 = (bytes - 1) to end of page for s2 - cmpb r0,r5 # r5 = min(r0, r5); - bgtru 2f - movb r0,r5 -2: - incl r5 # r5 = min bytes to next page boundary - cmpl r4,r5 # r5 = min(n, r5); - bgeq 3f - movl r4,r5 -3: - cmpc3 r5,(r1),(r3) # compare strings - bneq 4f - subl2 r5,r4 # check for end of comparison - beql 5f - subl2 r5,r1 # check if found null yet - locc $0,r5,(r1) - beql 1b # not yet done, continue checking - subl2 r0,r3 - mnegb (r3),r0 # r0 = '\0' - *s2 - cvtbl r0,r0 - ret -4: - subl2 r0,r5 # check for null in matching string - subl2 r5,r1 - locc $0,r5,(r1) - bneq 5f - subb3 (r3),(r1),r0 # r0 = *s1 - *s2 - cvtbl r0,r0 - ret -5: - clrl r0 # both the same to null - ret diff --git a/sysdeps/vax/strncpy.s b/sysdeps/vax/strncpy.s deleted file mode 100644 index ade70e9..0000000 --- a/sysdeps/vax/strncpy.s +++ /dev/null @@ -1,80 +0,0 @@ -/* - * Copyright (c) 1983 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strncpy.s 5.6 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Copy string s2 over top of string s1. - * Truncate or null-pad to n bytes. - * - * char * - * strncpy(s1, s2, n) - * char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strncpy, R6) - movl 12(ap),r6 # r6 = n - bleq done # n <= 0 - movl 4(ap),r3 # r3 = s1 - movl 8(ap),r1 # r1 = s2 -1: - movzwl $65535,r2 # r2 = bytes in first chunk - cmpl r6,r2 # r2 = min(bytes in chunk, n); - jgeq 2f - movl r6,r2 -2: - subl2 r2,r6 # update n - locc $0,r2,(r1) # '\0' found? - jneq 3f - subl2 r2,r1 # back up pointer updated by locc - movc3 r2,(r1),(r3) # copy in next piece - tstl r6 # run out of space? - jneq 1b - jbr done -3: # copy up to '\0' logic - addl2 r0,r6 # r6 = number of null-pad bytes - subl2 r0,r2 # r2 = number of bytes to move - subl2 r2,r1 # back up pointer updated by locc - movc3 r2,(r1),(r3) # copy in last piece -4: # null-pad logic - movzwl $65535,r2 # r2 = bytes in first chunk - cmpl r6,r2 # r2 = min(bytes in chunk, n); - jgeq 5f - movl r6,r2 -5: - subl2 r2,r6 # update n - movc5 $0,(r3),$0,r2,(r3)# pad with '\0's - tstl r6 # finished padding? - jneq 4b -done: - movl 4(ap),r0 # return s1 - ret diff --git a/sysdeps/vax/strpbrk.s b/sysdeps/vax/strpbrk.s deleted file mode 100644 index 4a0e541..0000000 --- a/sysdeps/vax/strpbrk.s +++ /dev/null @@ -1,64 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strpbrk.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find in s1 the first occurrence of any character from s2. - * If there are none, return NULL. - * - * char * - * strpbrk(s1, s2) - * const char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strpbrk, 0) - subl2 $32,sp /* make 256 bit table */ - movc5 $0,(sp),$0,$32,(sp) - movq 4(ap),r0 /* r0 = s1, r1 = s2 */ - - /* turn on bit for each character in s2, including '\0' */ -1: - movzbl (r1)+,r2 - bbss r2,(sp),1b - bneq 1b - - /* look for a character that is in s2 */ -2: - movzbl (r0)+,r2 /* c = *s++ */ - bbc r2,(sp),2b /* loop until c is in table */ - beql 3f /* if c==0, go return NULL */ - decl r0 /* s-- */ - ret -3: - clrl r0 - ret diff --git a/sysdeps/vax/strrchr.s b/sysdeps/vax/strrchr.s deleted file mode 100644 index b0e482c..0000000 --- a/sysdeps/vax/strrchr.s +++ /dev/null @@ -1,112 +0,0 @@ -/* - * Copyright (c) 1988 Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strrchr.s 5.4 (Berkeley) 6/1/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find the last occurrence of c in the string cp. - * Return pointer to match or null pointer. - * - * char * - * strrchr(cp, c) - * char *cp, c; - */ -#include "DEFS.h" - - .lcomm tbl,256 - -ENTRY(strrchr, 0) - movzwl $65535,r4 /* handy 65535 */ - movq 4(ap),r1 /* r1 = cp; r2 = c */ - movzbl r2,r2 - beql Lzero /* special case for c == '\0' */ - - clrl r5 /* r5 = pointer to last match */ - -/* - * Fancy scanc version. Alas, it is not reentrant. - */ - movab tbl,r3 /* r3 = address of table */ - bbss $0,(r3),Lreent /* ensure not reentering */ - movab (r3)[r2],r4 - incb (r4) /* mark both '\0' and c */ -0: - scanc $65535,(r1),(r3),$1 /* look for c or '\0' */ - beql 0b /* keep looking */ - tstb (r1) - beql 1f /* done if '\0' */ - movab (r1)+,r5 /* save most recently found, and skip over it */ - jbr 0b /* keep looking */ -1: - movl r5,r0 /* return last found (if any) */ - clrb (r4) /* clean up table */ - clrb (r3) - ret - -/* - * Special case for \0. - */ -Lzero: - locc $0,r4,(r1) /* just find end of string */ - beql Lzero /* still looking */ - movl r1,r0 /* found it */ - ret - -/* - * Slower reentrant version is two two-step searches. The first - * phase runs until we know where the string ends; it locates any - * occurrences of c within a 65535-byte block. Once we have found - * the end of the string, we find any further occurrences before - * that location. - */ -Lreent: -0: /* first phase */ - movl r1,r3 - locc $0,r4,(r3) /* look for '\0' */ - bneq 1f - locc r2,r4,(r3) /* continue phase 1 search for c */ - beql 0b - movab (r1)+,r5 /* found c: save and increment pointer */ - brb 0b /* and continue */ - -1: /* second phase */ - subl3 r3,r1,r0 /* length of short block */ - movl r3,r1 -2: - locc r2,r0,(r1) /* look for c */ - beql 3f /* skip if not found */ - movab (r1)+,r5 /* save pointer as before */ - sobgtr r0,2b /* adjust count and loop */ -3: - movl r5,r0 /* return stashed pointer */ - ret - -weak_alias (strrchr, rindex) diff --git a/sysdeps/vax/strsep.s b/sysdeps/vax/strsep.s deleted file mode 100644 index dcf2a7c..0000000 --- a/sysdeps/vax/strsep.s +++ /dev/null @@ -1,81 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strsep.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Get next word from string *stringp, where words are - * strings separated by characters from delim. - * - * Writes NULs into the string at *stringp to end tokens. - * On return, *stringp points past the last NUL written (if there might - * be further tokens), or is NULL (if there are definitely no more tokens). - * - * If *stringp is NULL, strtoken returns NULL. - * - * char * - * strtoken(stringp, delim) - * register char **stringp; - * register char const *delim; - */ -#include "DEFS.h" - -ENTRY(strsep, 0) - tstl *4(ap) /* if (*stringp == NULL) */ - bneq 0f - clrl r0 # return (NULL); - ret - -0: - subl2 $32,sp /* make room for 256 bit table */ - movc5 $0,(sp),$0,$32,(sp) - movq 4(ap),r1 /* r1 = stringp, r2 = delim */ - - /* turn on bit for each character in s2, including '\0' */ -1: - movzbl (r2)+,r0 - bbss r0,(sp),1b - bneq 1b - - movl (r1),r3 /* r3 = s = *stringp */ - movl r3,r0 /* save return value */ - - /* scan for delimiters */ -2: - movzbl (r3)+,r2 /* c = *s++ */ - bbc r2,(sp),2b /* loop until c is in table */ - beql 3f - clrb -1(r3) /* if c!='\0', s[-1] = 0 */ - movl r3,(r1) /* and *stringp = s */ - ret -3: - clrl (r1) /* else *stringp = NULL */ - ret diff --git a/sysdeps/vax/strspn.s b/sysdeps/vax/strspn.s deleted file mode 100644 index ca94482..0000000 --- a/sysdeps/vax/strspn.s +++ /dev/null @@ -1,66 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strspn.s 5.1 (Berkeley) 5/15/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Span the string s2 (skip characters that are in s2). - * Return the number of characters in s1 that were skipped. - * - * size_t - * strspn(s1, s2) - * const char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strspn, 0) - subl2 $32,sp /* make 256 bit table */ - movc5 $0,(sp),$0,$32,(sp) - movq 4(ap),r1 /* r1 = s1, r2 = s2 */ - - /* turn on bit for each character in s2, including '\0' */ -1: - movzbl (r2)+,r0 - bbss r0,(sp),1b - bneq 1b - - /* now clear bit for '\0' */ - /* (this is easier than avoiding setting it in the first place) */ - bicb2 $1,(sp) /* stop at '\0' */ - movl r1,r0 /* r0 = s (current pos in s1) */ - - /* look for a character that is not in s2 */ -2: - movzbl (r0)+,r2 /* c = *s++ */ - bbs r2,(sp),2b /* loop while c is in table */ - decl r0 /* s-- */ - subl2 r1,r0 /* r0 = s - s1 = count */ - ret diff --git a/sysdeps/vax/strstr.s b/sysdeps/vax/strstr.s deleted file mode 100644 index 0283a57..0000000 --- a/sysdeps/vax/strstr.s +++ /dev/null @@ -1,109 +0,0 @@ -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#if defined(LIBC_SCCS) && !defined(lint) - .asciz "@(#)strstr.s 5.2 (Berkeley) 8/21/90" -#endif /* LIBC_SCCS and not lint */ - -/* - * Find the first occurrence of s2 as a substring in s1. - * If s2 is empty, return s1. - * - * char *strstr(s1, s2) - * const char *s1, *s2; - */ -#include "DEFS.h" - -ENTRY(strstr, 0) - movq 4(ap),r3 /* r3 = s1, r4 = s2 */ - movzwl $65535,r2 /* r2 = locc/matchc limit */ - locc $0,r2,(r4) /* find '\0' in s2 */ - beql 4f - subl3 r4,r1,r5 /* r5 = strlen(s2) */ - beql 1f /* if r5 == 0, return s1 */ - - /* - * s2 is short enough to apply matchc. - * If s1 is long, we have to do it in stages. - */ -0: locc $0,r2,(r3) /* find '\0' in s1 */ - beql 3f - - /* - * Both strings are `short'; we can use matchc directly. - */ - subl3 r3,r1,r1 /* r1 = strlen(s1) */ - matchc r5,(r4),r1,(r3) /* find substring */ - bneq 2f - - /* - * r3 points r5 bytes past match. Return the match. - */ -1: subl3 r5,r3,r0 /* return (byte_past_match - strlen(s2)) */ - ret - - /* - * There is no matching substring. - */ -2: clrl r0 /* return NULL */ - ret - - /* - * s1 is too long (> 65535 bytes) to apply matchc directly, - * but s2 is short enough. Apply s2 to s1, then (if not - * found yet) advancing s1 by (65536-strlen(s2)) bytes and - * loop. - */ -3: matchc r5,(r4),r2,(r3) /* search */ - beql 1b /* if found, go return it */ - decw r2 /* from 0 to 65535 */ - incl r3 /* already advanced 65535, now 65536 */ - subl2 r5,r3 /* ... minus strlen(s2) */ - brb 0b - - /* - * s2 is too long (> 65535 bytes) to bother with matchc. - */ -4: locc $0,r2,(r1) /* continue working on strlen(s2) */ - beql 4b - subl3 r1,r4,r5 /* r5 = strlen(s2) */ - movb (r4)+,r2 /* r2 = *s2++ */ - decl r5 /* fix up length */ -5: movb (r3)+,r0 /* r0 = *s1++ */ - beql 2b /* if '\0', return NULL */ - cmpb r0,r2 - bneq 5b /* loop until first char found */ - pushr R5|R4|R3|R2 /* save c, s1, s2, n */ - pushr R5|R4|R3 /* strncmp(s1, s2, n) */ - calls $3,_strncmp - popr R2|R3|R4|R5 /* restore */ - tstl r0 - bneq 5b /* loop until strncmp says rest same too */ - subl3 $1,r3,r0 /* return previous s1 */ - ret diff --git a/sysdeps/vax/sub_n.s b/sysdeps/vax/sub_n.s deleted file mode 100644 index 14ba343..0000000 --- a/sysdeps/vax/sub_n.s +++ /dev/null @@ -1,48 +0,0 @@ -# VAX __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and store -# difference in a third limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# s2_ptr (sp + 12) -# size (sp + 16) - -.text - .align 1 -.globl ___mpn_sub_n -___mpn_sub_n: - .word 0x0 - movl 16(ap),r0 - movl 12(ap),r1 - movl 8(ap),r2 - movl 4(ap),r3 - subl2 r4,r4 - -Loop: - movl (r2)+,r4 - sbwc (r1)+,r4 - movl r4,(r3)+ - jsobgtr r0,Loop - - adwc r0,r0 - ret diff --git a/sysdeps/vax/submul_1.s b/sysdeps/vax/submul_1.s deleted file mode 100644 index 5ff8d01..0000000 --- a/sysdeps/vax/submul_1.s +++ /dev/null @@ -1,126 +0,0 @@ -# VAX __mpn_submul_1 -- Multiply a limb vector with a limb and subtract -# the result from a second limb vector. - -# Copyright (C) 1992, 1994 Free Software Foundation, Inc. - -# This file is part of the GNU MP Library. - -# The GNU MP Library is free software; you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License as published by -# the Free Software Foundation; either version 2.1 of the License, or (at your -# option) any later version. - -# The GNU MP 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 Lesser General Public -# License for more details. - -# You should have received a copy of the GNU Lesser General Public License -# along with the GNU MP 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. - - -# INPUT PARAMETERS -# res_ptr (sp + 4) -# s1_ptr (sp + 8) -# size (sp + 12) -# s2_limb (sp + 16) - -.text - .align 1 -.globl ___mpn_submul_1 -___mpn_submul_1: - .word 0xfc0 - movl 12(ap),r4 - movl 8(ap),r8 - movl 4(ap),r9 - movl 16(ap),r6 - jlss s2_big - - clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L1 - clrl r11 - -# Loop for S2_LIMB < 0x80000000 -Loop1: movl (r8)+,r1 - jlss L1n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc $0,r3 - subl2 r2,(r9)+ - adwc $0,r3 -L1: movl (r8)+,r1 - jlss L1n1 -L1p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc $0,r11 - subl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop1 - movl r11,r0 - ret - -L1n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - subl2 r2,(r9)+ - adwc $0,r3 - movl (r8)+,r1 - jgeq L1p1 -L1n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - subl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop1 - movl r11,r0 - ret - - -s2_big: clrl r3 - incl r4 - ashl $-1,r4,r7 - jlbc r4,L2 - clrl r11 - -# Loop for S2_LIMB >= 0x80000000 -Loop2: movl (r8)+,r1 - jlss L2n0 - emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r1,r3 - subl2 r2,(r9)+ - adwc $0,r3 -L2: movl (r8)+,r1 - jlss L2n1 -L2p1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r1,r11 - subl2 r10,(r9)+ - adwc $0,r11 - - jsobgtr r7,Loop2 - movl r11,r0 - ret - -L2n0: emul r1,r6,$0,r2 - addl2 r11,r2 - adwc r6,r3 - subl2 r2,(r9)+ - adwc r1,r3 - movl (r8)+,r1 - jgeq L2p1 -L2n1: emul r1,r6,$0,r10 - addl2 r3,r10 - adwc r6,r11 - subl2 r10,(r9)+ - adwc r1,r11 - - jsobgtr r7,Loop2 - movl r11,r0 - ret diff --git a/sysdeps/z8000/add_n.s b/sysdeps/z8000/add_n.s deleted file mode 100644 index 4d29026..0000000 --- a/sysdeps/z8000/add_n.s +++ /dev/null @@ -1,53 +0,0 @@ -! Z8000 __mpn_add_n -- Add two limb vectors of equal, non-zero length. - -! Copyright (C) 1993, 1994 Free Software Foundation, Inc. - -! This file is part of the GNU MP Library. - -! The GNU MP Library is free software; you can redistribute it and/or modify -! it under the terms of the GNU Lesser General Public License as published by -! the Free Software Foundation; either version 2.1 of the License, or (at your -! option) any later version. - -! The GNU MP 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 Lesser General Public -! License for more details. - -! You should have received a copy of the GNU Lesser General Public License -! along with the GNU MP 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. - - -! INPUT PARAMETERS -! res_ptr r7 -! s1_ptr r6 -! s2_ptr r5 -! size r4 - -! If we are really crazy, we can use push to write a few result words -! backwards, using push just because it is faster than reg+disp. We'd -! then add 2x the number of words written to r7... - - unseg - .text - even - global ___mpn_add_n -___mpn_add_n: - pop r0,@r6 - pop r1,@r5 - add r0,r1 - ld @r7,r0 - dec r4 - jr eq,Lend -Loop: pop r0,@r6 - pop r1,@r5 - adc r0,r1 - inc r7,#2 - ld @r7,r0 - dec r4 - jr ne,Loop -Lend: ld r2,r4 ! use 0 already in r4 - adc r2,r2 - ret t diff --git a/sysdeps/z8000/gmp-mparam.h b/sysdeps/z8000/gmp-mparam.h deleted file mode 100644 index 4216df6..0000000 --- a/sysdeps/z8000/gmp-mparam.h +++ /dev/null @@ -1,27 +0,0 @@ -/* gmp-mparam.h -- Compiler/machine parameter header file. - -Copyright (C) 1991, 1993, 1994 Free Software Foundation, Inc. - -This file is part of the GNU MP Library. - -The GNU MP Library is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or (at your -option) any later version. - -The GNU MP 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 Lesser General Public -License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with the GNU MP 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. */ - -#define BITS_PER_MP_LIMB 16 -#define BYTES_PER_MP_LIMB 2 -#define BITS_PER_LONGINT 32 -#define BITS_PER_INT 16 -#define BITS_PER_SHORTINT 16 -#define BITS_PER_CHAR 8 diff --git a/sysdeps/z8000/mul_1.s b/sysdeps/z8000/mul_1.s deleted file mode 100644 index e449dfa..0000000 --- a/sysdeps/z8000/mul_1.s +++ /dev/null @@ -1,68 +0,0 @@ -! Z8000 __mpn_mul_1 -- Multiply a limb vector with a limb and store -! the result in a second limb vector. - -! Copyright (C) 1993, 1994, 1995 Free Software Foundation, Inc. - -! This file is part of the GNU MP Library. - -! The GNU MP Library is free software; you can redistribute it and/or modify -! it under the terms of the GNU Lesser General Public License as published by -! the Free Software Foundation; either version 2.1 of the License, or (at your -! option) any later version. - -! The GNU MP 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 Lesser General Public -! License for more details. - -! You should have received a copy of the GNU Lesser General Public License -! along with the GNU MP 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. - - -! INPUT PARAMETERS -! res_ptr r7 -! s1_ptr r6 -! size r5 -! s2_limb r4 - - unseg - .text - even - global ___mpn_mul_1 -___mpn_mul_1: - sub r2,r2 ! zero carry limb - and r4,r4 - jr mi,Lneg - -Lpos: pop r1,@r6 - ld r9,r1 - mult rr8,r4 - and r1,r1 ! shift msb of loaded limb into cy - jr mi,Lp ! branch if loaded limb's msb is set - add r8,r4 ! hi_limb += sign_comp2 -Lp: add r9,r2 ! lo_limb += cy_limb - xor r2,r2 - adc r2,r8 - ld @r7,r9 - inc r7,#2 - dec r5 - jr ne,Lpos - ret t - -Lneg: pop r1,@r6 - ld r9,r1 - mult rr8,r4 - add r8,r1 ! hi_limb += sign_comp1 - and r1,r1 - jr mi,Ln - add r8,r4 ! hi_limb += sign_comp2 -Ln: add r9,r2 ! lo_limb += cy_limb - xor r2,r2 - adc r2,r8 - ld @r7,r9 - inc r7,#2 - dec r5 - jr ne,Lneg - ret t diff --git a/sysdeps/z8000/sub_n.s b/sysdeps/z8000/sub_n.s deleted file mode 100644 index c078775..0000000 --- a/sysdeps/z8000/sub_n.s +++ /dev/null @@ -1,54 +0,0 @@ -! Z8000 __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and -! store difference in a third limb vector. - -! Copyright (C) 1993, 1994 Free Software Foundation, Inc. - -! This file is part of the GNU MP Library. - -! The GNU MP Library is free software; you can redistribute it and/or modify -! it under the terms of the GNU Lesser General Public License as published by -! the Free Software Foundation; either version 2.1 of the License, or (at your -! option) any later version. - -! The GNU MP 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 Lesser General Public -! License for more details. - -! You should have received a copy of the GNU Lesser General Public License -! along with the GNU MP 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. - - -! INPUT PARAMETERS -! res_ptr r7 -! s1_ptr r6 -! s2_ptr r5 -! size r4 - -! If we are really crazy, we can use push to write a few result words -! backwards, using push just because it is faster than reg+disp. We'd -! then add 2x the number of words written to r7... - - unseg - .text - even - global ___mpn_sub_n -___mpn_sub_n: - pop r0,@r6 - pop r1,@r5 - sub r0,r1 - ld @r7,r0 - dec r4 - jr eq,Lend -Loop: pop r0,@r6 - pop r1,@r5 - sbc r0,r1 - inc r7,#2 - ld @r7,r0 - dec r4 - jr ne,Loop -Lend: ld r2,r4 ! use 0 already in r4 - adc r2,r2 - ret t