stq $2, 0($sp)
/* Load _dl_default_scope[2] into s1 to pass to _dl_init_next. */
0: ldq $10, _dl_default_scope+16
- /* Call _dl_init_next to return the address of an initalizer
+ /* Call _dl_init_next to return the address of an initializer
function to run. */
1: mov $10, $16
jsr $26, _dl_init_next
jsr $26,__do_global_dtors_aux
/* Must match the alignment we got from crti.o else we get
- zero-filled holes in our _fini function and thense SIGILL. */
+ zero-filled holes in our _fini function and then SIGILL. */
.align 3
/*
not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
-/* Return the address of the last occurrance of a given character
+/* Return the address of the last occurrence of a given character
within a null-terminated string, or null if it is not found.
This is generally scheduled for the EV5 (got to look out for my own
rts
/* We loop from least significant end of the arrays, which is only
- permissable if the source and destination don't overlap, since the
+ permissible if the source and destination don't overlap, since the
function is documented to work for overlapping source and destination. */
L(Lspecial:)
movel MEM_POSTINC(s_ptr),R(d2)
movel R(d2),R(d0)
lsll R(d5),R(d0) /* compute carry limb */
-
+
lsrl R(cnt),R(d2)
movel R(d2),R(d1)
subql #1,R(s_size)
rts
/* We loop from most significant end of the arrays, which is only
- permissable if the source and destination don't overlap, since the
+ permissible if the source and destination don't overlap, since the
function is documented to work for overlapping source and destination. */
L(Lspecial:)
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If
- not, write to the Free Software Foundation, Inc.,
- 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
#define ELF_MACHINE_NAME "MIPS"
#include <sys/mman.h>
#include <unistd.h>
-/* DT_MIPS macro ranslate a processor specific dynamic tag to the index
+/* Translate a processor specific dynamic tag to the index
in l_info array. */
#define DT_MIPS(x) (DT_MIPS_##x - DT_LOPROC + DT_NUM)
#if 1
-/* XXX If FLAGS has the MAP_ALIGN bit, we need 64k alignement. */
+/* XXX If FLAGS has the MAP_ALIGN bit, we need 64k alignment. */
#ifndef MAP_ALIGN
#define MAP_ALIGN 0x1000
#endif
-/* Copyright (C) 1994 Free Software Foundation, Inc.
+/* 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.
-
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB. If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
+ On-Line Applications Research Corporation.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
/* i960ca.h
*
- * This file contains macros which are used to access i80960CA
+ * This file contains macros which are used to access i80960CA
* registers which are not addressable by C. The functions
- * in this file sould be useful to the developer of target
+ * in this file should be useful to the developer of target
* specific code.
*/
/*
* Intel i80960CA Processor Control Block
*/
-
+
struct i80960ca_prcb {
- unsigned32 *fault_tbl; /* fault table base address */
+ 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 */
+ 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 */
+ 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 */
};
/*
: "0" (_addr), "1" (_mask) ); \
(prev) = _mask; \
}
-
+
#define delay( microseconds ) \
{ register unsigned32 _delay=(microseconds); \
register unsigned32 _tmp; \
: "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 pend_intrs()
+{ register unsigned32 _intr=0;
+ asm volatile( "mov sf0,%0" : "=d" (_intr) : "0" (_intr) );
+ return ( _intr );
}
-static inline unsigned32 mask_intrs()
+static inline unsigned32 mask_intrs()
{ register unsigned32 _intr=0;
- asm volatile( "mov sf1,%0" : "=d" (_intr) : "0" (_intr) );
+ 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 );
+static inline unsigned32 get_fp()
+{ register unsigned32 _fp=0;
+ asm volatile( "mov fp,%0" : "=d" (_fp) : "0" (_fp) );
+ return ( _fp );
}
#endif
-/* Copyright (C) 1994 Free Software Foundation, Inc.
+/* 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.
-
-This file is part of the GNU C Library.
-
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
-
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
-
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB. If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
-
-#include <ansidecl.h>
+ On-Line Applications Research Corporation.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
#include <standalone.h>
#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 macroes based on the macro. */
+and maybe the macros based on the macro. */
/* M68681 DUART chip register structures and constants */
#define XOFF 0x13 /* control-S */
int
-DEFUN( _Console_Putc, (ch), char ch )
+_Console_Putc (ch)
+ char ch;
{
while ( ! (RD_M68681->srb & TXRDYB) ) ;
while ( RD_M68681->srb & RXRDYB ) /* must be an XOFF */
- if ( RD_M68681->rbb == XOFF )
+ if ( RD_M68681->rbb == XOFF )
do {
while ( ! (RD_M68681->srb & RXRDYB) ) ;
- } while ( RD_M68681->rbb != XON );
+ } while ( RD_M68681->rbb != XON );
WR_M68681->tbb = ch;
return( 0 );
This routine reads a character from the UART and returns it. */
int
-DEFUN( _Console_Getc, (poll), int poll )
+_Console_Getc (poll)
+ int poll;
{
if ( poll ) {
- if ( !(RD_M68681->srb & RXRDYB) )
+ if ( !(RD_M68681->srb & RXRDYB) )
return -1;
else
return RD_M68681->rbb;
-/* Structure and constand definitions for sigaction et al. OSF/1 version.
+/* Structure and constant definitions for sigaction et al. OSF/1 version.
Copyright (C) 1993, 1996 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 Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-Library General Public License for more details.
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB. If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA. */
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
/* Structure describing the action to be taken when a signal arrives. */
struct sigaction
--- /dev/null
+/* Copyright (C) 1996 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public License as
+ published by the Free Software Foundation; either version 2 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If not,
+ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA. */
+
+#include <sysdep.h>
+
+/* The mremap system call is special because it needs to return
+ its value in register %a0. */
+
+ .text
+PSEUDO (__mremap, mremap, 4)
+ move.l %d0, %a0
+ rts
+PSEUDO_END (__mremap)
+weak_alias (__mremap, mremap)
#endif /* LIBC_SCCS and not lint */
/*
- * Find the first occurence of c in the memory at cp (length n).
+ * 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).
#endif /* LIBC_SCCS and not lint */
/*
- * Find the first occurence of c in the string cp.
+ * Find the first occurrence of c in the string cp.
* Return pointer to match or null pointer.
*
* char *
*/
movab tbl,r3 /* r3 = base of table */
bbss $0,(r3),Lreent /* ensure not reentering */
- movab (r3)[r2],r5
+ movab (r3)[r2],r5
incb (r5) /* mark both '\0' and c */
0:
scanc r4,(r1),(r3),$1 /* look for c or '\0' */
movl 4(ap),r1 # r1 = s1
movq 8(ap),r3 # r3 = s2; r4 = n
1:
- clrl r5 # calculate min bytes to next page boundry
+ 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 boundry
+ incl r5 # r5 = min bytes to next page boundary
cmpl r4,r5 # r5 = min(n, r5);
bgeq 3f
movl r4,r5
#endif /* LIBC_SCCS and not lint */
/*
- * Find the last occurence of c in the string cp.
+ * Find the last occurrence of c in the string cp.
* Return pointer to match or null pointer.
*
* char *