Browse Source

good by nios

Get rid of NIOS support. We try to support NIOSII.
Waldemar Brodkorb 10 năm trước cách đây
mục cha
commit
9e360dcc05
36 tập tin đã thay đổi với 0 bổ sung2208 xóa
  1. 0 6
      Makerules
  2. 0 6
      Rules.mak
  3. 0 8
      extra/Configs/Config.in
  4. 0 17
      extra/Configs/Config.nios
  5. 0 1
      extra/Configs/defconfigs/nios/defconfig
  6. 0 13
      libc/sysdeps/linux/nios/Makefile
  7. 0 12
      libc/sysdeps/linux/nios/Makefile.arch
  8. 0 473
      libc/sysdeps/linux/nios/NM_Macros.S
  9. 0 63
      libc/sysdeps/linux/nios/NR_Math1.S
  10. 0 98
      libc/sysdeps/linux/nios/__longjmp.S
  11. 0 8
      libc/sysdeps/linux/nios/bits/endian.h
  12. 0 237
      libc/sysdeps/linux/nios/bits/fcntl.h
  13. 0 43
      libc/sysdeps/linux/nios/bits/kernel_types.h
  14. 0 43
      libc/sysdeps/linux/nios/bits/mathdef.h
  15. 0 44
      libc/sysdeps/linux/nios/bits/setjmp.h
  16. 0 26
      libc/sysdeps/linux/nios/bits/sigcontextinfo.h
  17. 0 27
      libc/sysdeps/linux/nios/bits/stackinfo.h
  18. 0 167
      libc/sysdeps/linux/nios/bits/stat.h
  19. 0 13
      libc/sysdeps/linux/nios/bits/syscalls.h
  20. 0 42
      libc/sysdeps/linux/nios/bits/uClibc_arch_features.h
  21. 0 18
      libc/sysdeps/linux/nios/bits/wordsize.h
  22. 0 43
      libc/sysdeps/linux/nios/brk.c
  23. 0 1
      libc/sysdeps/linux/nios/bsd-_setjmp.S
  24. 0 1
      libc/sysdeps/linux/nios/bsd-setjmp.S
  25. 0 87
      libc/sysdeps/linux/nios/clone.S
  26. 0 55
      libc/sysdeps/linux/nios/crt1.S
  27. 0 37
      libc/sysdeps/linux/nios/crtbegin.c
  28. 0 44
      libc/sysdeps/linux/nios/crtend.c
  29. 0 98
      libc/sysdeps/linux/nios/fpu_control.h
  30. 0 25
      libc/sysdeps/linux/nios/jmpbuf-offsets.h
  31. 0 11
      libc/sysdeps/linux/nios/jmpbuf-unwind.h
  32. 0 98
      libc/sysdeps/linux/nios/setjmp.S
  33. 0 122
      libc/sysdeps/linux/nios/sys/procfs.h
  34. 0 103
      libc/sysdeps/linux/nios/sys/ucontext.h
  35. 0 51
      libc/sysdeps/linux/nios/vfork.S
  36. 0 67
      libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h

+ 0 - 6
Makerules

@@ -467,13 +467,7 @@ $(CTOR_TARGETS): $(top_builddir)lib/%.o : $(top_srcdir)libc/sysdeps/linux/$(TARG
 	$(compile.S) $(PICFLAG) $(SSP_DISABLE_FLAGS)
 endif
 
-#ifeq ($(TARGET_ARCH),nios)
-#CRTS_COMPAT := $(top_builddir)lib/crt0.o
-#$(CRTS_COMPAT):
-#	ln -fs crt1.o $(top_builddir)lib/crt0.o
-#else
 CRTS_COMPAT :=
-#endif
 
 startfiles = $(CRTS) $(CTOR_TARGETS) $(CRTS_COMPAT) $(CRTRELOC)
 startfiles: $(startfiles)

+ 0 - 6
Rules.mak

@@ -406,12 +406,6 @@ ifeq ($(TARGET_ARCH),mips)
 	CPU_LDFLAGS-y += $(CPU_CFLAGS)
 endif
 
-ifeq ($(TARGET_ARCH),nios)
-	OPTIMIZATION+=-funaligned-struct-hack
-	CPU_LDFLAGS-y+=-Wl,-m32
-	CPU_CFLAGS-y+=-Wl,-m32
-endif
-
 ifeq ($(TARGET_ARCH),sh)
 $(eval $(call check-gcc-var,-mprefergot))
 	OPTIMIZATION += $(CFLAG_-mprefergot)

+ 0 - 8
extra/Configs/Config.in

@@ -32,7 +32,6 @@ choice
 	default TARGET_metag if DESIRED_TARGET_ARCH = "metag"
 	default TARGET_microblaze if DESIRED_TARGET_ARCH = "microblaze"
 	default TARGET_mips if DESIRED_TARGET_ARCH = "mips"
-	default TARGET_nios if DESIRED_TARGET_ARCH = "nios"
 	default TARGET_nios2 if DESIRED_TARGET_ARCH = "nios2"
 	default TARGET_or1k if DESIRED_TARGET_ARCH = "or1k"
 	default TARGET_powerpc if DESIRED_TARGET_ARCH = "powerpc"
@@ -100,9 +99,6 @@ config TARGET_microblaze
 config TARGET_mips
 	bool "mips"
 
-#config TARGET_nios
-#	bool "nios"
-
 config TARGET_nios2
 	bool "nios2"
 
@@ -188,10 +184,6 @@ if TARGET_metag
 source "extra/Configs/Config.metag"
 endif
 
-if TARGET_nios
-source "extra/Configs/Config.nios"
-endif
-
 if TARGET_nios2
 source "extra/Configs/Config.nios2"
 endif

+ 0 - 17
extra/Configs/Config.nios

@@ -1,17 +0,0 @@
-#
-# For a description of the syntax of this configuration file,
-# see extra/config/Kconfig-language.txt
-#
-
-config TARGET_ARCH
-	string
-	default "nios"
-
-config FORCE_OPTIONS_FOR_ARCH
-	bool
-	default y
-	select ARCH_LITTLE_ENDIAN
-	select ARCH_HAS_NO_MMU
-	select ARCH_HAS_NO_LDSO
-	select ARCH_HAS_DEPRECATED_SYSCALLS
-	select HAVE_NO_PIC

+ 0 - 1
extra/Configs/defconfigs/nios/defconfig

@@ -1 +0,0 @@
-TARGET_nios=y

+ 0 - 13
libc/sysdeps/linux/nios/Makefile

@@ -1,13 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-#
-
-top_srcdir=../../../../
-top_builddir=../../../../
-all: objs
-include $(top_builddir)Rules.mak
-include Makefile.arch
-include $(top_srcdir)Makerules

+ 0 - 12
libc/sysdeps/linux/nios/Makefile.arch

@@ -1,12 +0,0 @@
-# Makefile for uClibc
-#
-# Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
-#
-# Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
-#
-
-CSRC-y := brk.c crtbegin.c crtend.c
-
-SSRC-y := \
-	__longjmp.S bsd-_setjmp.S bsd-setjmp.S setjmp.S \
-	clone.S vfork.S

+ 0 - 473
libc/sysdeps/linux/nios/NM_Macros.S

@@ -1,473 +0,0 @@
-
-;------------------------------
-; Macros I: Faux Instructions
-;
-; The following "faux instructions" are
-; implemented here as macros:
-;
-; MOVIP register,constant		MOVI with optional PFX & MOVHI, or BGEN
-; ADDIP register,constant		PFX and ADDI with optional PFX
-; SUBIP register,constant		PFX and SUBI with optional PFX
-; CMPIP register,constant		PFX and CMPI with optional PFX
-;
-; MOVI16 register,constant		PFX and MOVI
-; MOVI32 register,constant		PFX, MOVI, PFX, and MOVHI
-; MOVIA  register,constant		PFX and MOVHI on Nios32, and PFX and MOVI
-;
-; ANDIP register,constant		PFX and ANDI
-; ANDNIP register,constant		PFX and ANDN
-; ORIP register,constant		PFX and ORI
-; XORIP register,constant		PFX and XORI
-;
-; _BSR address						MOVIP address to %g7, and CALL
-; _BR address						MOVIP address to %g7, and JMP
-;
-; BEQ address						SKPS cc_nz and BR, has delay slot
-; BNE address						SKPS cc_z and BR, has delay slot
-; BLE address						SKPS cc_gt and BR, has delay slot
-; BLT address						SKPS cc_ge and BR, has delay slot
-; RESTRET							RESTORE and JMP %i7 
-;
-;-------------------------------
-; Macros II: Printing
-;
-; These macros are guaranteed *not*
-; to have branch delay slot after them.
-;
-; NM_PrintChar char
-; NM_Print "string"
-; NM_PrintLn "string"			Follows it with a carriage return
-; NM_PrintRegister reg			For debugging, prints register name & value
-;
-;-------------------------------
-; Macros III: Inline Debugging
-;
-; These macros print various information
-; using large sections of expanded inline code.
-; They each use either few or no registers.
-; Thus, they may be safely used in interrupt handlers.
-;
-; NM_D_TxChar char			print char to UART, affects no registers
-; NM_D_TxRegister char,char,register	prints the two characters, and the hex register value
-
-; --------------------------------------
-
-
-		.macro	_pfx_op	OP,reg,val,pForce=0
-		.if		(\pForce) || ((\val) > (31)) || ((\val) < (0))
-		PFX		%hi(\val)
-		.endif
-		\OP		\reg,%lo(\val)
-		.endm
-
-		.macro	_bgen reg,val,bit
-		.if ((\val)==(1<<\bit))
-		BGEN	\reg,\bit
-		.equ	_bgenBit,1
-		.endif
-		.endm
-
-	;------------------------
-	; MOVIP %reg,32-bit-value
-		.macro	MOVIP reg,val
-		; Methodically test every BGEN possibility...
-		.equ	_bgenBit,0
-.if 1
-		_bgen \reg,\val,0
-		_bgen \reg,\val,1
-		_bgen \reg,\val,2
-		_bgen \reg,\val,3
-		_bgen \reg,\val,4
-		_bgen \reg,\val,5
-		_bgen \reg,\val,6
-		_bgen \reg,\val,7
-		_bgen \reg,\val,8
-		_bgen \reg,\val,9
-		_bgen \reg,\val,10
-		_bgen \reg,\val,11
-		_bgen \reg,\val,12
-		_bgen \reg,\val,13
-		_bgen \reg,\val,14
-		_bgen \reg,\val,15
-		_bgen \reg,\val,16
-		_bgen \reg,\val,17
-		_bgen \reg,\val,18
-		_bgen \reg,\val,19
-		_bgen \reg,\val,20
-		_bgen \reg,\val,21
-		_bgen \reg,\val,22
-		_bgen \reg,\val,23
-		_bgen \reg,\val,24
-		_bgen \reg,\val,25
-		_bgen \reg,\val,26
-		_bgen \reg,\val,27
-		_bgen \reg,\val,28
-		_bgen \reg,\val,29
-		_bgen \reg,\val,30
-		_bgen \reg,\val,31
-
-		; If no bgen fit...
-.endif
-		.if !_bgenBit
-			.if ((\val) & 0xFFE0)
-				PFX %hi(\val)
-			.endif
-			MOVI \reg,%lo(\val)
-			.if __nios32__
-				.if ((\val) & 0xffff0000)
-					.if ((\val) & 0xFFE00000)
-						PFX %xhi(\val)
-					.endif
-					MOVHI \reg,%xlo(\val)
-				.endif
-			.endif
-		.endif
-
-		.endm
-
-	; ADDIP %reg,16-bit-value
-		.macro	ADDIP reg,val
-		_pfx_op	ADDI,\reg,\val
-		.endm
-
-	; SUBIP %reg,16-bit-value
-		.macro	SUBIP reg,val
-		_pfx_op	SUBI,\reg,\val
-		.endm
-
-	; CMPIP %reg,16-bit-value
-		.macro	CMPIP reg,val
-		_pfx_op	CMPI,\reg,\val
-		.endm
-
-	; ANDIP %reg,16-bit-value
-		.macro	ANDIP reg,val
-		PFX		%hi(\val)
-		AND		\reg,%lo(\val)
-		.endm
-
-	; ANDNIP %reg,16-bit-value
-		.macro	ANDNIP reg,val
-		PFX		%hi(\val)
-		ANDN		\reg,%lo(\val)
-		.endm
-
-	; ORIP %reg,16-bit-value
-		.macro	ORIP reg,val
-		PFX		%hi(\val)
-		OR			\reg,%lo(\val)
-		.endm
-
-	; XORIP %reg,16-bit-value
-		.macro	XORIP reg,val
-		PFX		%hi(\val)
-		XOR		\reg,%lo(\val)
-		.endm
-
-	; BEQ addr
-		.macro	BEQ addr
-		IFS		cc_eq
-		BR			\addr
-		.endm
-
-	; BNE addr
-		.macro	BNE addr
-		IFS		cc_ne
-		BR			\addr
-		.endm
-
-	; BLE addr
-		.macro	BLE addr
-		SKPS		cc_gt
-		BR			\addr
-		.endm
-
-	; BLT addr
-		.macro	BLT addr
-		SKPS		cc_ge
-		BR			\addr
-		.endm
-
-		.macro	digitToChar reg
-		ANDIP	\reg,0x000f
-		CMPI	\reg,10
-		SKPS	cc_lt
-		ADDI	\reg,'A'-'0'-10
-		PFX		%hi('0')
-		ADDI	\reg,%lo('0')
-		.endm
-
-; PUSHRET == dec sp, and stash return addr
-	.macro	PUSHRET
-	SUBI		%sp,2
-	ST			[%sp],%o7
-	.endm
-; POPRET == pop and jump
-	.macro	POPRET
-	LD			%o7,[%sp]
-	JMP		%o7
-	ADDI		%sp,2		; branch delay slot
-	.endm
-
-; RESTRET = restore & return
-	.macro	RESTRET
-	JMP		%i7
-	RESTORE
-	.endm
-
-	;--------------------
-	; MOVI16 %reg,Address
-	;
-	.macro	MOVI16	reg,val
-	PFX	%hi(\val)
-	MOVI	\reg,%lo(\val)
-	.endm
-
-	;--------------------
-	; MOVI32 %reg,Address
-	;
-	.macro	MOVI32	reg,val
-	PFX	%hi(\val)
-	MOVI	\reg,%lo(\val)
-	PFX	%xhi(\val)
-	MOVHI	\reg,%xlo(\val)
-	.endm
-
-	;--------------------
-	; MOVIA %reg,Address
-	;
-	.macro	MOVIA		reg,val
-	.if __nios32__
-		MOVI32 \reg,\val
-	.else
-		MOVI16 \reg,\val
-	.endif
-	.endm
-
-	;--------------------
-	; _BR
-
-	.macro _BR target,viaRegister=%g7
-	MOVIA	\viaRegister,\target@h
-	JMP	\viaRegister
-	.endm
-
-	;--------------------
-	; _BSR
-
-	.macro _BSR target,viaRegister=%g7
-	MOVIA	\viaRegister,\target@h
-	CALL	\viaRegister
-	.endm
-
-	;---------------------
-	; NM_Print "Your String Here"
-	;
-	.macro	NM_Print	string
-
-	BR		pastStringData\@
-	NOP
-
-stringData\@:
-	.asciz	"\string"
-	.align 1		; aligns by 2^n
-pastStringData\@:
-	MOVIA		%o0,stringData\@
-	_BSR		NR_TxString
-	NOP
-	.endm
-
-	.macro	NM_PrintLn string
-	NM_Print	"\string"
-	_BSR		NR_TxCR
-	NOP
-	.endm
-
-	.macro	NM_PrintRegister reg	; affects %g0 & %g1 & %g7, but thrashes the CWP a bit
-	SAVE		%sp,-16
-	NM_Print	"\reg = "
-	RESTORE
-	MOV		%g0,\reg
-	SAVE		%sp,-16
-	MOV		%o0,%g0
-	_BSR		NR_TxHex
-	NOP
-	_BSR		NR_TxCR
-	NOP
-	RESTORE
-	.endm
-
-	.macro	NM_PrintChar char
-	MOVIP		%o0,\char
-	_BSR		NR_TxChar
-	NOP
-	.endm
-
-	.macro	NM_Print2Chars char1,char2
-	MOVIP		%o0,(\char2<<8)+\char1
-	_BSR		NR_TxChar
-	NOP
-	_BSR		NR_TxChar
-	LSRI		%o0,8
-	.endm
-
-
-
-; ---------------------------
-; Completely inline UART sends
-; Send the char, or %g7 if not there.
-; Trashes %g5 and %g6 and %g7...
-
-	.macro	NM_TxChar char=0
-;NM_D_Delay 1000
-	MOVIA	%g6,NA_UARTBase
-txCharLoop\@:
-	PFX	2
-.if \char
-	LD	%g7,[%g6]
-	SKP1	%g7,6
-.else
-	LD	%g5,[%g6]
-	SKP1	%g5,6
-.endif
-	BR	txCharLoop\@
-	NOP
-.if \char
-	MOVIP	%g7,\char
-.endif
-	PFX	1
-	ST	[%g6],%g7
-;NM_D_Delay 4
-	.endm
-
-		.macro NM_TxCR
-		NM_TxChar 13
-		NM_TxChar 10
-		.endm
-
-		.macro NM_TxHexDigit,reg,shift
-		MOV		%g7,\reg
-		LSRI		%g7,\shift
-		ANDIP		%g7,0x000f
-		CMPI		%g7,10
-		SKPS		cc_lt
-		ADDIP		%g7,'A'-'0'-10
-		ADDIP		%g7,'0'
-		NM_TxChar
-		.endm
-
-		.macro NM_TxHex
-
-	.if __nios32__
-		NM_TxHexDigit %g0,28
-		NM_TxHexDigit %g0,24
-		NM_TxHexDigit %g0,20
-		NM_TxHexDigit %g0,16
-	.endif
-
-		NM_TxHexDigit %g0,12
-		NM_TxHexDigit %g0,8
-		NM_TxHexDigit %g0,4
-		NM_TxHexDigit %g0,0
-		.endm
-
-
-
-
-
-
-
-
-
-
-; ----------------------
-; The following macros are
-; rather mighty. They expand
-; to large inline code for
-; printing various things to
-; the serial port. They are
-; useful for debugging
-; trap handlers, where you
-; can't just go and call
-; NR_TxChar and such, because,
-; well, the CWP might be
-; off limits!
-;
-; They do, however, presume
-; that the stack is in good
-; working order.
-
-
-.macro NM_D_PushGRegisters
- 	SUBIP %sp,16+69				; oddball number so if we accidentally see it, it looks funny.
-	STS	[%sp,16+0],%g0
-	STS	[%sp,16+1],%g1
-	STS	[%sp,16+2],%g2
-	STS	[%sp,16+3],%g3
-	STS	[%sp,16+4],%g4
-	STS	[%sp,16+5],%g5
-	STS	[%sp,16+6],%g6
-	STS	[%sp,16+7],%g7
-	.endm
-
-.macro NM_D_PopGRegisters
-	LDS	%g0,[%sp,16+0]
-	LDS	%g1,[%sp,16+1]
-	LDS	%g2,[%sp,16+2]
-	LDS	%g3,[%sp,16+3]
-	LDS	%g4,[%sp,16+4]
-	LDS	%g5,[%sp,16+5]
-	LDS	%g6,[%sp,16+6]
-	LDS	%g7,[%sp,16+7]
-	ADDIP	%sp,16+69				; must match the push
-	.endm
-
-
-.macro NM_D_TxChar	c
-	SUBI	%sp,16+8		; 32 or 16 bit, that's enough space
-	STS	[%sp,16+0],%g6
-	STS	[%sp,16+0],%g7
-	NM_TxChar \c
-	LDS	%g6,[%sp,16+0]
-	LDS	%g7,[%sp,16+1]
-	ADDI	%sp,16+8
-	.endm
-
-.macro NM_D_TxChar3 c1,c2,c3
- NM_D_TxChar '<'
- NM_D_TxChar \c1
- NM_D_TxChar \c2
- NM_D_TxChar \c3
- NM_D_TxChar '>'
-.endm
-
-.macro NM_D_TxRegister r,n,reg
- NM_D_PushGRegisters
- NM_TxChar '('
- NM_TxChar \r
- NM_TxChar \n
- NM_TxChar ':'
- MOV		%g0,\reg
- NM_TxHex
- NM_TxChar ')'
- NM_D_PopGRegisters
-.endm
-
-.macro NM_D_TxReg r,n,reg
-	NM_D_TxRegister \r,\n,\reg
-.endm
-
-; Do a delay loop, affects no registers.
-
-.macro NM_D_Delay d
-	SUBI	%sp,16+4
-	STS	[%sp,16+0],%g0
-	MOVIP	%g0,\d
-NM_D_DelayLoop\@:
-	IFRnz	%g0
-	 BR	NM_D_DelayLoop\@
-	SUBI	%g0,1
-	LDS	%g0,[%sp,16+0]
-	ADDI	%sp,16+4
-.endm
-

+ 0 - 63
libc/sysdeps/linux/nios/NR_Math1.S

@@ -1,63 +0,0 @@
-
-
-	.include "NM_Macros.S"
-
-	.file	"okmul.c"
-gcc2_compiled.:
-	.text
-	.p2align 1
-	.globl __mulsi3
-	.type	 __mulsi3,@function
-__mulsi3:
-
-	;SKP0	%o0,31
-	;NEG	%o1
-	;ABS	%o0
-
-		.MACRO ZSTEP bit
-		SKP0	%o0,\bit
-		ADD	%g0,%o1
-		LSLI	%o1,1
-		.ENDM
-
-	MOVI	%g0,0
-	ZSTEP	0
-	ZSTEP	1
-	ZSTEP	2
-	ZSTEP	3
-	ZSTEP	4
-	ZSTEP	5
-	ZSTEP	6
-	ZSTEP	7
-	ZSTEP	8
-	ZSTEP	9
-	ZSTEP	10
-	ZSTEP	11
-	ZSTEP	12
-	ZSTEP	13
-	ZSTEP	14
-	ZSTEP	15
-	ZSTEP	16
-	ZSTEP	17
-	ZSTEP	18
-	ZSTEP	19
-	ZSTEP	20
-	ZSTEP	21
-	ZSTEP	22
-	ZSTEP	23
-	ZSTEP	24
-	ZSTEP	25
-	ZSTEP	26
-	ZSTEP	27
-	ZSTEP	28
-	ZSTEP	29
-	ZSTEP	30
-	ZSTEP	31
-	; No bit 31: we already set %o0 to positive
-
-	JMP	%o7
-	MOV	%o0,%g0
-
-.Lfe1:
-	.size	 __mulsi3,.Lfe1-__mulsi3
-

+ 0 - 98
libc/sysdeps/linux/nios/__longjmp.S

@@ -1,98 +0,0 @@
-/* Copyright (C) 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 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,
-   see <http://www.gnu.org/licenses/>.  */
-
-#include <jmpbuf-offsets.h>
-
-;----------------------------------------
-;         Name: __longjmp
-;  Description: Restore the current context
-;               as saved by a previous nr_setjmp
-;        Input: %o0: jmp_buf (ptr to) array to restore context from
-;               %o1: integer to return
-;       Output: %o0 = 0 the first time we're called, or
-;               whatever longjmp returns later
-; Side Effects: uses %g0, %g1 & %g2
-;    CWP Depth: 0
-;
-
-	.align 2
-	.global	__longjmp
-__longjmp:
-	;
-	; The way we'll do this is by executing
-	; RESTORE instructions until the old
-	; return address matches. Then we'll
-	; jump to where setjmp was called from.
-	;
-	; Since we're moving the window pointer
-	; all over the place, we'll naturally
-	; only use the %g registers.
-	;
-
-	mov	%g0,%o0		; %g0 -> jmp_buf
-	mov	%g1,%o1		; %g1 = return value
-	pfx	jmpbuf_callersret
-	ld	%g2,[%g0]	; %g2 = old return address
-__longjmp_loop:
-	cmp	%g2,%i7		; Are we there yet?
-	skps	cc_ne
-	 br	__longjmp_done
-	 nop			; (delay slot)
-
-	br	__longjmp_loop
-	restore			; (delay slot)
-	;
-	; One might put in a watchdog counter here, to
-	; prevent a runaway stack crawl... but what would that
-	; accomplish? What error can we throw? To whom?
-	;
-
-__longjmp_done:
-	pfx	jmpbuf_l0	; Restore local register l0
-	ld	%l0,[%g0]
-	pfx	jmpbuf_l1	; Restore local register l1
-	ld	%l1,[%g0]
-	pfx	jmpbuf_l2	; Restore local register l2
-	ld	%l2,[%g0]
-	pfx	jmpbuf_l3	; Restore local register l3
-	ld	%l3,[%g0]
-	pfx	jmpbuf_l4	; Restore local register l4
-	ld	%l4,[%g0]
-	pfx	jmpbuf_l5	; Restore local register l5
-	ld	%l5,[%g0]
-	pfx	jmpbuf_l6	; Restore local register l6
-	ld	%l6,[%g0]
-	pfx	jmpbuf_l7	; Restore local register l7
-	ld	%l7,[%g0]
-	pfx	jmpbuf_i0	; Restore input register i0
-	ld	%i0,[%g0]
-	pfx	jmpbuf_i1	; Restore input register i1
-	ld	%i1,[%g0]
-	pfx	jmpbuf_i2	; Restore input register i2
-	ld	%i2,[%g0]
-	pfx	jmpbuf_i3	; Restore input register i3
-	ld	%i3,[%g0]
-	pfx	jmpbuf_i4	; Restore input register i4
-	ld	%i4,[%g0]
-	pfx	jmpbuf_i5	; Restore input register i5
-	ld	%i5,[%g0]
-	pfx	jmpbuf_jmpret
-	ld	%o7,[%g0]	; set fake return address
-	jmp	%o7		; and kinda return there.
-	mov	%o0,%g1		; (delay slot) return value
-
-libc_hidden_def(__longjmp)

+ 0 - 8
libc/sysdeps/linux/nios/bits/endian.h

@@ -1,8 +0,0 @@
-/* nios is little-endian.  */
-
-#ifndef _ENDIAN_H
-# error "Never use <bits/endian.h> directly; include <endian.h> instead."
-#endif
-
-/*mle */
-#define __BYTE_ORDER __LITTLE_ENDIAN

+ 0 - 237
libc/sysdeps/linux/nios/bits/fcntl.h

@@ -1,237 +0,0 @@
-/* O_*, F_*, FD_* bit values for Linux.
-   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 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,
-   see <http://www.gnu.org/licenses/>.  */
-
-#ifndef	_FCNTL_H
-# error "Never use <bits/fcntl.h> directly; include <fcntl.h> instead."
-#endif
-
-
-#include <sys/types.h>
-#ifdef __USE_GNU
-# include <bits/uio.h>
-#endif
-
-/* open/fcntl - O_SYNC is only implemented on blocks devices and on files
-   located on an ext2 file system */
-#define O_ACCMODE	  0003
-#define O_RDONLY	    00
-#define O_WRONLY	    01
-#define O_RDWR		    02
-#define O_CREAT		  0100	/* not fcntl */
-#define O_EXCL		  0200	/* not fcntl */
-#define O_NOCTTY	  0400	/* not fcntl */
-#define O_TRUNC		 01000	/* not fcntl */
-#define O_APPEND	 02000
-#define O_NONBLOCK	 04000
-#define O_NDELAY	O_NONBLOCK
-#define O_SYNC		010000
-#define O_FSYNC		O_SYNC
-#define O_ASYNC		020000
-
-#ifdef __USE_GNU
-# define O_DIRECTORY	 040000	/* Must be a directory.	 */
-# define O_NOFOLLOW	0100000	/* Do not follow links.	 */
-# define O_DIRECT	0200000	/* Direct disk access.	*/
-#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	O_SYNC	/* Synchronize data.  */
-# define O_RSYNC	O_SYNC	/* Synchronize read operations.	 */
-#endif
-
-#ifdef __USE_LARGEFILE64
-# define O_LARGEFILE	0400000
-#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	F_GETLK64  /* Get record locking info.	*/
-# define F_SETLK	F_SETLK64  /* Set record locking info (non-blocking).*/
-# define F_SETLKW	F_SETLKW64 /* Set record locking info (blocking).  */
-#endif
-#define F_GETLK64	12	/* Get record locking info.  */
-#define F_SETLK64	13	/* Set record locking info (non-blocking).  */
-#define F_SETLKW64	14	/* Set record locking info (blocking).	*/
-
-#if defined __USE_BSD || defined __USE_XOPEN2K
-# define F_SETOWN	8	/* Get owner of socket (receiver of SIGIO).  */
-# define F_GETOWN	9	/* Set owner of socket (receiver of SIGIO).  */
-#endif
-
-#ifdef __USE_GNU
-# define F_SETSIG	10	/* Set number of signal to be sent.  */
-# define F_GETSIG	11	/* Get number of signal to be sent.  */
-#endif
-
-#ifdef __USE_GNU
-# define F_SETLEASE	1024	/* Set a lease.	 */
-# define F_GETLEASE	1025	/* Enquire what lease is active.  */
-# define F_NOTIFY	1026	/* Request notfications on a directory.	 */
-# define F_DUPFD_CLOEXEC 1030	/* Duplicate file descriptor with
-				   close-on-exit set on new fd.  */
-# define F_SETPIPE_SZ	1031    /* Set pipe page size array.  */
-# define F_GETPIPE_SZ	1032    /* Get pipe page size array.  */
-#endif
-
-/* For F_[GET|SET]FL.  */
-#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		0	/* Read lock.  */
-#define F_WRLCK		1	/* Write lock.	*/
-#define F_UNLCK		2	/* Remove lock.	 */
-
-/* for old implementation of bsd flock () */
-#define F_EXLCK		4	/* or 3 */
-#define F_SHLCK		8	/* or 4 */
-
-#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
-
-#ifdef __USE_GNU
-# define LOCK_MAND	32	/* This is a mandatory flock:	*/
-# define LOCK_READ	64	/* ... which allows concurrent read operations.	 */
-# define LOCK_WRITE	128	/* ... which allows concurrent write operations.  */
-# define LOCK_RW	192	/* ... Which allows concurrent read & write operations.	 */
-#endif
-
-#ifdef __USE_GNU
-/* Types of directory notifications that may be requested with F_NOTIFY.  */
-# define DN_ACCESS	0x00000001	/* File accessed.  */
-# define DN_MODIFY	0x00000002	/* File modified.  */
-# define DN_CREATE	0x00000004	/* File created.  */
-# define DN_DELETE	0x00000008	/* File removed.  */
-# define DN_RENAME	0x00000010	/* File renamed.  */
-# define DN_ATTRIB	0x00000020	/* File changed attibutes.  */
-# define DN_MULTISHOT	0x80000000	/* Don't remove notifier.  */
-#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.  */
-#else
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-#endif
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-
-#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').  */
-    __off64_t l_start;	/* Offset where the lock begins.  */
-    __off64_t l_len;	/* Size of the locked area; zero means until EOF.  */
-    __pid_t l_pid;	/* Process holding the lock.  */
-  };
-#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.  */
-
-/* Advise to `posix_fadvise'.  */
-#ifdef __USE_XOPEN2K
-# define POSIX_FADV_NORMAL	0 /* No further special treatment.  */
-# define POSIX_FADV_RANDOM	1 /* Expect random page references.  */
-# define POSIX_FADV_SEQUENTIAL	2 /* Expect sequential page references.	 */
-# define POSIX_FADV_WILLNEED	3 /* Will need these pages.  */
-# define POSIX_FADV_DONTNEED	4 /* Don't need these pages.  */
-# define POSIX_FADV_NOREUSE	5 /* Data will be accessed once.  */
-#endif
-
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-/* Flags for SYNC_FILE_RANGE.  */
-# define SYNC_FILE_RANGE_WAIT_BEFORE	1 /* Wait upon writeout of all pages
-					     in the range before performing the
-					     write.  */
-# define SYNC_FILE_RANGE_WRITE		2 /* Initiate writeout of all those
-					     dirty pages in the range which are
-					     not presently under writeback.  */
-# define SYNC_FILE_RANGE_WAIT_AFTER	4 /* Wait upon writeout of all pages in
-					     the range after performing the
-					     write.  */
-
-/* Flags for SPLICE and VMSPLICE.  */
-# define SPLICE_F_MOVE		1	/* Move pages instead of copying.  */
-# define SPLICE_F_NONBLOCK	2	/* Don't block on the pipe splicing
-					   (but we may still block on the fd
-					   we splice from/to).  */
-# define SPLICE_F_MORE		4	/* Expect more data.  */
-# define SPLICE_F_GIFT		8	/* Pages passed in are a gift.  */
-#endif
-
-__BEGIN_DECLS
-
-#if defined __USE_GNU && defined __UCLIBC_LINUX_SPECIFIC__
-
-/* Provide kernel hint to read ahead.  */
-extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
-    __THROW;
-
-
-/* Selective file content synch'ing.  */
-extern int sync_file_range (int __fd, __off64_t __from, __off64_t __to,
-			    unsigned int __flags);
-
-/* Splice address range into a pipe.  */
-extern ssize_t vmsplice (int __fdout, const struct iovec *__iov,
-			 size_t __count, unsigned int __flags);
-
-/* Splice two files together.  */
-extern ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
-		       __off64_t *__offout, size_t __len,
-		       unsigned int __flags);
-
-/* In-kernel implementation of tee for pipe buffers.  */
-extern ssize_t tee (int __fdin, int __fdout, size_t __len,
-		    unsigned int __flags);
-
-#endif
-__END_DECLS
-

+ 0 - 43
libc/sysdeps/linux/nios/bits/kernel_types.h

@@ -1,43 +0,0 @@
-/* Note that we use the exact same include guard #define names
- * as asm/posix_types.h.  This will avoid gratuitous conflicts
- * with the posix_types.h kernel header, and will ensure that
- * our private content, and not the kernel header, will win.
- *  -Erik
- */
-#ifndef __ARCH_NIOS_POSIX_TYPES_H
-#define __ARCH_NIOS_POSIX_TYPES_H
-
-typedef unsigned short	__kernel_dev_t;
-typedef unsigned long	__kernel_ino_t;
-typedef unsigned short	__kernel_mode_t;
-typedef unsigned short	__kernel_nlink_t;
-typedef long		__kernel_off_t;
-typedef int		__kernel_pid_t;
-typedef unsigned short	__kernel_ipc_pid_t;
-typedef unsigned short	__kernel_uid_t;
-typedef unsigned short	__kernel_gid_t;
-typedef unsigned int	__kernel_size_t;
-typedef int		__kernel_ssize_t;
-typedef int		__kernel_ptrdiff_t;
-typedef long		__kernel_time_t;
-typedef long		__kernel_suseconds_t;
-typedef long		__kernel_clock_t;
-typedef int		__kernel_daddr_t;
-typedef char *		__kernel_caddr_t;
-typedef unsigned short	__kernel_uid16_t;
-typedef unsigned short	__kernel_gid16_t;
-typedef unsigned int	__kernel_uid32_t;
-typedef unsigned int	__kernel_gid32_t;
-typedef unsigned short	__kernel_old_uid_t;
-typedef unsigned short	__kernel_old_gid_t;
-typedef long long	__kernel_loff_t;
-
-typedef struct {
-#ifdef __USE_ALL
-	int val[2];
-#else
-	int __val[2];
-#endif
-} __kernel_fsid_t;
-
-#endif /* __ARCH_NIOS2_POSIX_TYPES_H */

+ 0 - 43
libc/sysdeps/linux/nios/bits/mathdef.h

@@ -1,43 +0,0 @@
-/* Copyright (C) 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#if !defined _MATH_H && !defined _COMPLEX_H
-# error "Never use <bits/mathdef.h> directly; include <math.h> instead"
-#endif
-
-#if defined  __USE_ISOC99 && defined _MATH_H && !defined _MATH_H_MATHDEF
-# define _MATH_H_MATHDEF	1
-
-/* GCC does not promote `float' values to `double'.  */
-typedef float float_t;		/* `float' expressions are evaluated as
-				   `float'.  */
-typedef double double_t;	/* `double' expressions are evaluated as
-				   `double'.  */
-
-/* The values returned by `ilogb' for 0 and NaN respectively.  */
-# define FP_ILOGB0	(-2147483647)
-# define FP_ILOGBNAN	(2147483647)
-
-#endif	/* ISO C99 */
-
-#ifndef __NO_LONG_DOUBLE_MATH
-/* Signal that we do not really have a `long double'.  This disables the
-   declaration of all the `long double' function variants.  */
-/* XXX The FPA does support this but the patterns in GCC are currently
-   turned off.  */
-# define __NO_LONG_DOUBLE_MATH	1
-#endif

+ 0 - 44
libc/sysdeps/linux/nios/bits/setjmp.h

@@ -1,44 +0,0 @@
-/* Copyright (C) 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* Define the machine-dependent type `jmp_buf'.  Nios version.  */
-#ifndef _BITS_SETJMP_H
-#define _BITS_SETJMP_H	1
-
-#if !defined _SETJMP_H && !defined _PTHREAD_H
-# error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
-#endif
-
-#include <signal.h>
-
-typedef struct
-  {
-    /* There are eight 4-byte local registers saved.  */
-    long int __lregs[8];
-
-    /* There are six 4-byte input registers saved.  */
-    long int __iregs[6];
-
-    /* The SP, return address to caller (also for longjmp)
-       and return address of caller are saved.  */
-    int *__sp;
-    int *__jmpret;
-    int *__callersret;
-
-  } __jmp_buf[1];
-
-#endif	/* bits/setjmp.h */

+ 0 - 26
libc/sysdeps/linux/nios/bits/sigcontextinfo.h

@@ -1,26 +0,0 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Jakub Jelinek <jakub@redhat.com>, 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#define SIGCONTEXT struct sigcontext *
-#define SIGCONTEXT_EXTRA_ARGS
-#define GET_PC(ctx)	((void *) ((ctx)->regs.pc))
-
-/* now way for nios to do GET_FRAME(ctx), it is not saved in ctx */
-#define GET_STACK(ctx)	((void *) (ctx)->regs.u_regs[14])
-#define CALL_SIGHANDLER(handler, signo, ctx) \
-  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))

+ 0 - 27
libc/sysdeps/linux/nios/bits/stackinfo.h

@@ -1,27 +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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* This file contains a bit of information about the stack allocation
-   of the processor.  */
-
-#ifndef _STACKINFO_H
-#define _STACKINFO_H	1
-
-/* On nios II the stack grows down.  */
-#define _STACK_GROWS_DOWN	1
-
-#endif	/* stackinfo.h */

+ 0 - 167
libc/sysdeps/linux/nios/bits/stat.h

@@ -1,167 +0,0 @@
-/* Copyright (C) 1992,95,96,97,98,99,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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_STAT_H
-# error "Never include <bits/stat.h> directly; use <sys/stat.h> instead."
-#endif
-
-/* Versions of the `struct stat' data structure.  */
-#define _STAT_VER_LINUX_OLD	1
-#define _STAT_VER_KERNEL	1
-#define _STAT_VER_SVR4		2
-#define _STAT_VER_LINUX		3
-#define _STAT_VER		_STAT_VER_LINUX	/* The one defined below.  */
-
-/* Versions of the `xmknod' interface.  */
-#define _MKNOD_VER_LINUX	1
-#define _MKNOD_VER_SVR4		2
-#define _MKNOD_VER		_MKNOD_VER_LINUX /* 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
-    __ino_t __st_ino;			/* 32bit 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
-    __blksize_t 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
-#ifdef __USE_MISC
-    /* Nanosecond resolution timestamps are stored in a format
-       equivalent to 'struct timespec'.  This is the type used
-       whenever possible but the Unix namespace rules do not allow the
-       identifier 'timespec' to appear in the <sys/stat.h> header.
-       Therefore we have to handle the use of this header in strictly
-       standard-compliant sources special.  */
-    struct timespec st_atim;		/* Time of last access.  */
-    struct timespec st_mtim;		/* Time of last modification.  */
-    struct timespec st_ctim;		/* Time of last status change.  */
-# define st_atime st_atim.tv_sec	/* Backward compatibility.  */
-# define st_mtime st_mtim.tv_sec
-# define st_ctime st_ctim.tv_sec
-#else
-    __time_t st_atime;			/* Time of last access.  */
-    unsigned long int st_atimensec;	/* Nscecs of last access.  */
-    __time_t st_mtime;			/* Time of last modification.  */
-    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
-    __time_t st_ctime;			/* Time of last status change.  */
-    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
-#endif
-#ifndef __USE_FILE_OFFSET64
-    unsigned long int __unused4;
-    unsigned long int __unused5;
-#else
-    __ino64_t st_ino;			/* File serial number.	*/
-#endif
-  };
-
-#ifdef __USE_LARGEFILE64
-struct stat64
-  {
-    __dev_t st_dev;			/* Device.  */
-    unsigned short int __pad1;
-
-    __ino_t __st_ino;			/* 32bit 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.  */
-    __blksize_t st_blksize;		/* Optimal block size for I/O.  */
-
-    __blkcnt64_t st_blocks;		/* Number 512-byte blocks allocated. */
-#ifdef __USE_MISC
-    /* Nanosecond resolution timestamps are stored in a format
-       equivalent to 'struct timespec'.  This is the type used
-       whenever possible but the Unix namespace rules do not allow the
-       identifier 'timespec' to appear in the <sys/stat.h> header.
-       Therefore we have to handle the use of this header in strictly
-       standard-compliant sources special.  */
-    struct timespec st_atim;		/* Time of last access.  */
-    struct timespec st_mtim;		/* Time of last modification.  */
-    struct timespec st_ctim;		/* Time of last status change.  */
-#else
-    __time_t st_atime;			/* Time of last access.  */
-    unsigned long int st_atimensec;	/* Nscecs of last access.  */
-    __time_t st_mtime;			/* Time of last modification.  */
-    unsigned long int st_mtimensec;	/* Nsecs of last modification.  */
-    __time_t st_ctime;			/* Time of last status change.  */
-    unsigned long int st_ctimensec;	/* Nsecs of last status change.  */
-#endif
-    __ino64_t st_ino;			/* File serial number.		*/
-  };
-#endif
-
-/* Tell code we have these members.  */
-#define	_STATBUF_ST_BLKSIZE
-#define _STATBUF_ST_RDEV
-/* Nanosecond resolution time values are supported.  */
-#define _STATBUF_ST_NSEC
-
-/* 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.  Note that these macros always evaluate to zero.  But
-   they do it by enforcing the correct use of the macros.  */
-#define __S_TYPEISMQ(buf)  ((buf)->st_mode - (buf)->st_mode)
-#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
-#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
-
-/* 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.  */
-
-#ifdef __USE_ATFILE
-# define UTIME_NOW	((1l << 30) - 1l)
-# define UTIME_OMIT	((1l << 30) - 2l)
-#endif

+ 0 - 13
libc/sysdeps/linux/nios/bits/syscalls.h

@@ -1,13 +0,0 @@
-#ifndef _BITS_SYSCALLS_H
-#define _BITS_SYSCALLS_H
-#ifndef _SYSCALL_H
-# error "Never use <bits/syscalls.h> directly; include <sys/syscall.h> instead."
-#endif
-
-#include <features.h>
-/* Do something very evil for now.  Until we include our out syscall
- * macros, short circuit bits/syscall.h  and use asm/unistd.h instead */
-#include <asm/unistd.h>
-
-#endif /* _BITS_SYSCALLS_H */
-

+ 0 - 42
libc/sysdeps/linux/nios/bits/uClibc_arch_features.h

@@ -1,42 +0,0 @@
-/*
- * Track misc arch-specific features that aren't config options
- */
-
-#ifndef _BITS_UCLIBC_ARCH_FEATURES_H
-#define _BITS_UCLIBC_ARCH_FEATURES_H
-
-/* instruction used when calling abort() to kill yourself */
-/*#define __UCLIBC_ABORT_INSTRUCTION__ "asm instruction"*/
-#undef __UCLIBC_ABORT_INSTRUCTION__
-
-/* can your target use syscall6() for mmap ? */
-#undef __UCLIBC_MMAP_HAS_6_ARGS__
-
-/* does your target align 64bit values in register pairs ? (32bit arches only) */
-#undef __UCLIBC_SYSCALL_ALIGN_64BIT__
-
-/* does your target have a broken create_module() ? */
-#undef __UCLIBC_BROKEN_CREATE_MODULE__
-
-/* does your target have to worry about older [gs]etrlimit() ? */
-#undef __UCLIBC_HANDLE_OLDER_RLIMIT__
-
-/* does your target have an asm .set ? */
-#define __UCLIBC_HAVE_ASM_SET_DIRECTIVE__
-
-/* define if target supports .weak */
-#define __UCLIBC_HAVE_ASM_WEAK_DIRECTIVE__
-
-/* define if target supports .weakext */
-#undef __UCLIBC_HAVE_ASM_WEAKEXT_DIRECTIVE__
-
-/* define if target supports CFI pseudo ops */
-#undef __UCLIBC_HAVE_ASM_CFI_DIRECTIVES__
-
-/* define if target supports IEEE signed zero floats */
-#define __UCLIBC_HAVE_SIGNED_ZERO__
-
-/* only weird assemblers generally need this */
-#undef __UCLIBC_ASM_LINE_SEP__
-
-#endif /* _BITS_UCLIBC_ARCH_FEATURES_H */

+ 0 - 18
libc/sysdeps/linux/nios/bits/wordsize.h

@@ -1,18 +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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#define __WORDSIZE	32

+ 0 - 43
libc/sysdeps/linux/nios/brk.c

@@ -1,43 +0,0 @@
-/* brk system call for Linux/Nios2.
-   Copyright (C) 1995, 1996, 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#include <unistd.h>
-#include <sys/syscall.h>
-#include <errno.h>
-
-/* This must be initialized data because commons can't have aliases.  */
-void *__curbrk attribute_hidden = 0;
-
-int brk (void *addr)
-{
-    void *newbrk;
-    register int g1 __asm__("%g1") = __NR_brk;
-    register void *o0 __asm__("%o0") = addr;
-
-    __asm__ __volatile__ ("trap 63\n\t" : "=r"(newbrk) : "0"(o0), "r"(g1));
-
-    __curbrk = newbrk;
-
-    if (newbrk < addr) {
-      __set_errno (ENOMEM);
-      return -1;
-    }
-
-    return 0;
-}
-libc_hidden_def(brk)

+ 0 - 1
libc/sysdeps/linux/nios/bsd-_setjmp.S

@@ -1 +0,0 @@
-/* _setjmp in setjmp.S */

+ 0 - 1
libc/sysdeps/linux/nios/bsd-setjmp.S

@@ -1 +0,0 @@
-/* setjmp in setjmp.S */

+ 0 - 87
libc/sysdeps/linux/nios/clone.S

@@ -1,87 +0,0 @@
-/* Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Richard Henderson (rth@tamu.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, see
-   <http://www.gnu.org/licenses/>.  */
-
-/* clone() is even more special than fork() as it mucks with stacks
-   and invokes a function in the right context after its all over.  */
-
-#include <asm/errno.h>
-#include <sys/syscall.h>
-#include "NM_Macros.S"
-
-/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
-
-	.text
-	.align	2
-	.globl	clone
-	.type	clone,@function
-
-clone:
-	save	%sp,-16
-
-	MOVIP	%l0, -EINVAL
-	/* sanity check arguments */
-	skprnz	%i0				/* no NULL function pointers */
-	 br	CLONE_ERROR_LABEL
-	mov	%o0, %i2
-
-	skprnz  %i1				/* no NULL stack pointers */
-	 br	CLONE_ERROR_LABEL
-	mov	%o1, %i1
-
-	/* Do the system call */
-	MOVIP	%g1, __NR_clone
-	trap	63
-
-	/* if ret >=0? */
-	cmpi %o0, 0
-	skps cc_pl
-	 br CLONE_ERROR_LABEL
-	 mov %l0, %o0
-
-	/* Start thread */
-	skprz  %o1
-	 br __thread_start
-	 nop
-	mov %i0, %o0
-	ret
-	 restore
-
-CLONE_ERROR_LABEL:
-	neg %l0
-	MOVIA	%g1, __errno_location@h
-	call	%g1
-	 nop
-	st	[%o0], %l0		/* store errno */
-
-	xor %i0, %i0
-	dec %i0				/* retval=-1 */
-	ret
-	 restore
-
-	.size	clone, .-clone
-
-	.type	__thread_start,@function
-
-__thread_start:
-	call	%i0
-	 mov	%o0, %i3
-	MOVIA	%g1, _exit@h
-	call	%g1
-	 nop
-
-	.size	__thread_start, .-__thread_start

+ 0 - 55
libc/sysdeps/linux/nios/crt1.S

@@ -1,55 +0,0 @@
-/* Copyright (C) 1991, 1992 Free Software Foundation, Inc.
-
-This file is part of the 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, see <http://www.gnu.org/licenses/>.  */
-
-#include <features.h>
-#include <asm/unistd.h>
-#include "NM_Macros.S"
-#define __ASSEMBLY__
-#include <asm/ptrace.h>		/* for REGWIN_SZ */
-
-    .global _start
-    .type   __start,@function
-    .weak   _init
-    .weak   _fini
-    .type   main,@function
-    .type   __uClibc_main,@function
-
-	.text
-
-_start:
-	nop
-	nop
-
-	MOVIA	%o0, main@h
-	lds	%o1,[%sp, (REGWIN_SZ / 4) + 0]	/* main's argc */
-	lds	%o2,[%sp, (REGWIN_SZ / 4) + 1]	/* main's argv */
-
-	MOVIA	%o3, _init@h
-	MOVIA	%o4, _fini@h
-	mov	%o5, %i0	/* rtld_fini */
-	mov	%o6, %sp	/* stack_end */
-	MOVIA	%o7, __uClibc_main@h
-
-	call	%o7
-	nop
-
-
-	/* If that didn't kill us, ... */
-__exit:
-	MOVIP	%g1, __NR_exit
-	trap	63

+ 0 - 37
libc/sysdeps/linux/nios/crtbegin.c

@@ -1,37 +0,0 @@
-#include <errno.h>
-#include <stdlib.h>
-/*
-static void (*__CTOR_LIST__[1]) __P((void))
-    __attribute__((__unused__))
-    __attribute__((section(".ctors"))) = { (void *)0 };
-
-static void (*__DTOR_LIST__[1]) __P((void))
-    __attribute__((section(".dtors"))) = { (void *)-1 };
-*/
-extern void (*__DTOR_LIST__[]) __P((void));
-static void	__do_global_dtors_aux __P((void));
-
-static void
-__do_global_dtors_aux()
-{
-	void (**p)(void) = __DTOR_LIST__ + 1;
-
-	while (*p)
-		(**p++)();
-}
-
-static void dummy_fini(void) __attribute__((section(".trash")));
-
-void
-dummy_fini(void)
-{
-	static void (* volatile call__dtors)(void) = __do_global_dtors_aux;
-	/*
-	 * Call global destructors.
-	 */
-	/* prevent function pointer constant propagation */
-	__asm__ __volatile__ (".section .fini");
-	(*call__dtors)();
-	__asm__ __volatile__ (".section .trash");
-
-}

+ 0 - 44
libc/sysdeps/linux/nios/crtend.c

@@ -1,44 +0,0 @@
-#include <errno.h>
-#include <stdlib.h>
-#include <unistd.h>
-/*
-static void (*__CTOR_END__[1]) __P((void))
-    __attribute__((section(".ctors"))) = { (void *)-1 };
-
-static void (*__DTOR_END__[1]) __P((void))
-    __attribute__((__unused__))
-    __attribute__((section(".dtors"))) = { (void *)0 };
-*/
-extern void (*__CTOR_END__[]) __P((void));
-static void	__do_global_ctors_aux __P((void));
-
-static void
-__do_global_ctors_aux()
-{
-	void (**p)(void) = __CTOR_END__ - 1;
-
-	while (*p)
-		(**p--)();
-}
-
-static void dummy_init(void) __attribute__((section(".trash")));
-
-void
-dummy_init(void)
-{
-	static smallint initialized;
-	static void (*volatile call__ctors)(void) = __do_global_ctors_aux;
-	/*
-	 * Call global constructors.
-	 * Arrange to call global destructors at exit.
-	 */
-	/* prevent function pointer constant propagation */
-	__asm__ __volatile__ (".section .init");
-
-	if (!initialized) {
-		initialized = 1;
-		(*call__ctors)();
-	}
-	__asm__ __volatile__ (".section .trash");
-
-}

+ 0 - 98
libc/sysdeps/linux/nios/fpu_control.h

@@ -1,98 +0,0 @@
-/* FPU control word bits.  Nios2 version.
-   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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _FPU_CONTROL_H
-#define _FPU_CONTROL_H
-
-/* MIPS FPU floating point control register bits.
- *
- * 31-25  -> floating point conditions code bits 7-1.  These bits are only
- *           available in MIPS IV.
- * 24     -> flush denormalized results to zero instead of
- *           causing unimplemented operation exception.  This bit is only
- *           available for MIPS III and newer.
- * 23     -> Condition bit
- * 22-18  -> reserved (read as 0, write with 0)
- * 17     -> cause bit for unimplemented operation
- * 16     -> cause bit for invalid exception
- * 15     -> cause bit for division by zero exception
- * 14     -> cause bit for overflow exception
- * 13     -> cause bit for underflow exception
- * 12     -> cause bit for inexact exception
- * 11     -> enable exception for invalid exception
- * 10     -> enable exception for division by zero exception
- *  9     -> enable exception for overflow exception
- *  8     -> enable exception for underflow exception
- *  7     -> enable exception for inexact exception
- *  6     -> flag invalid exception
- *  5     -> flag division by zero exception
- *  4     -> flag overflow exception
- *  3     -> flag underflow exception
- *  2     -> flag inexact exception
- *  1-0   -> rounding control
- *
- *
- * Rounding Control:
- * 00 - rounding to nearest (RN)
- * 01 - rounding toward zero (RZ)
- * 10 - rounding (up) toward plus infinity (RP)
- * 11 - rounding (down)toward minus infinity (RM)
- */
-
-#include <features.h>
-
-/* masking of interrupts */
-#define _FPU_MASK_V     0x0800  /* Invalid operation */
-#define _FPU_MASK_Z     0x0400  /* Division by zero  */
-#define _FPU_MASK_O     0x0200  /* Overflow          */
-#define _FPU_MASK_U     0x0100  /* Underflow         */
-#define _FPU_MASK_I     0x0080  /* Inexact operation */
-
-/* flush denormalized numbers to zero */
-#define _FPU_FLUSH_TZ   0x1000000
-
-/* rounding control */
-#define _FPU_RC_NEAREST 0x0     /* RECOMMENDED */
-#define _FPU_RC_ZERO    0x1
-#define _FPU_RC_UP      0x2
-#define _FPU_RC_DOWN    0x3
-
-#define _FPU_RESERVED 0xfe3c0000  /* Reserved bits in cw */
-
-
-/* The fdlibm code requires strict IEEE double precision arithmetic,
-   and no interrupts for exceptions, rounding to nearest.  */
-
-#define _FPU_DEFAULT  0x00000000
-
-/* IEEE:  same as above, but exceptions */
-#define _FPU_IEEE     0x00000F80
-
-/* Type of the control word.  */
-typedef unsigned int fpu_control_t __attribute__ ((__mode__ (__SI__)));
-
-/* Macros for accessing the hardware control word.  */
-#define _FPU_GETCW(cw) __asm__ ("cfc1 %0,$31" : "=r" (cw))
-#define _FPU_SETCW(cw) __asm__ ("ctc1 %0,$31" : : "r" (cw))
-
-#if 0
-/* Default control word set at startup.  */
-extern fpu_control_t __fpu_control;
-#endif
-
-#endif	/* fpu_control.h */

+ 0 - 25
libc/sysdeps/linux/nios/jmpbuf-offsets.h

@@ -1,25 +0,0 @@
-/*
- * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-
-#define jmpbuf_l0 0x00
-#define jmpbuf_l1 0x01
-#define jmpbuf_l2 0x02
-#define jmpbuf_l3 0x03
-#define jmpbuf_l4 0x04
-#define jmpbuf_l5 0x05
-#define jmpbuf_l6 0x06
-#define jmpbuf_l7 0x07
-
-#define jmpbuf_i0 0x08
-#define jmpbuf_i1 0x09
-#define jmpbuf_i2 0x0a
-#define jmpbuf_i3 0x0b
-#define jmpbuf_i4 0x0c
-#define jmpbuf_i5 0x0d
-
-#define jmpbuf_sp 0x0e
-#define jmpbuf_jmpret 0x0f
-#define jmpbuf_callersret 0x10

+ 0 - 11
libc/sysdeps/linux/nios/jmpbuf-unwind.h

@@ -1,11 +0,0 @@
-/*
- * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org>
- *
- * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball.
- */
-#include <setjmp.h>
-
-/* Test if longjmp to JMPBUF would unwind the frame
-   containing a local variable at ADDRESS.  */
-#define _JMPBUF_UNWINDS(jmpbuf, address) \
-  ((void *) (address) < (void *) (jmpbuf)->__sp)

+ 0 - 98
libc/sysdeps/linux/nios/setjmp.S

@@ -1,98 +0,0 @@
-/* Copyright (C) 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 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,
-   see <http://www.gnu.org/licenses/>.  */
-
-#include <jmpbuf-offsets.h>
-#include "NM_Macros.S"
-
-;----------------------------------------
-;         Name: __sigsetjmp
-;  Description: Save the current context so
-;               a nr_longjmp works later.
-;        Input: %o0: jmp_buf: (ptr to) array to store context in
-;       Output: %o0 = 0 the first time we're called, or
-;               whatever longjmp returns later
-; Side Effects: Uses %g0
-;    CWP Depth: 0
-;
-
-	.align	2
-	.global	_setjmp
-	
-_setjmp:
-	br	__sigsetjmp
-	 movi	%o1,0		; (Delay slot) Set signal mask to zero
-
-	.align	2
-	.global	setjmp
-	
-setjmp:
-	MOVIP	%o1,1		; Set signal mask to 1 to save mask
-
-	.align	2
-	.global	__sigsetjmp
-
-__sigsetjmp:
-	pfx	jmpbuf_callersret ; present return address
-	st	[%o0],%i7	
-	pfx	jmpbuf_jmpret	; where the longjmp will later execute from
-	st	[%o0],%o7	
-	pfx	jmpbuf_sp	; Save stack pointer
-	st	[%o0],%o6
-	pfx	jmpbuf_l0	; Save local register l0
-	st	[%o0],%l0
-	pfx	jmpbuf_l1	; Save local register l1
-	st	[%o0],%l1
-	pfx	jmpbuf_l2	; Save local register l2
-	st	[%o0],%l2
-	pfx	jmpbuf_l3	; Save local register l3
-	st	[%o0],%l3
-	pfx	jmpbuf_l4	; Save local register l4
-	st	[%o0],%l4
-	pfx	jmpbuf_l5	; Save local register l5
-	st	[%o0],%l5
-	pfx	jmpbuf_l6	; Save local register l6
-	st	[%o0],%l6
-	pfx	jmpbuf_l7	; Save local register l7
-	st	[%o0],%l7
-	pfx	jmpbuf_i0	; Save input register i0
-	st	[%o0],%i0
-	pfx	jmpbuf_i1	; Save input register i1
-	st	[%o0],%i1
-	pfx	jmpbuf_i2	; Save input register i2
-	st	[%o0],%i2
-	pfx	jmpbuf_i3	; Save input register i3
-	st	[%o0],%i3
-	pfx	jmpbuf_i4	; Save input register i4
-	st	[%o0],%i4
-	pfx	jmpbuf_i5	; Save input register i5
-	st	[%o0],%i5
-	pfx	%hi(__sigjmp_save@h)	  ; Load up %g0 with address
-	movi	%g0,%lo(__sigjmp_save@h)
-	pfx	%xhi(__sigjmp_save@h)
-	movhi	%g0,%xlo(__sigjmp_save@h)
-	jmp	%g0
-	 nop			; (delay slot)
-
-
-
-
-
-
-
-
-
-

+ 0 - 122
libc/sysdeps/linux/nios/sys/procfs.h

@@ -1,122 +0,0 @@
-/* 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_PROCFS_H
-#define _SYS_PROCFS_H	1
-
-/* This is somehow modelled after the file of the same name on SysVr4
-   systems.  It provides a definition of the core file format for ELF
-   used on Linux.  */
-
-#include <features.h>
-#include <signal.h>
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/ucontext.h>
-#include <sys/user.h>
-#include <bits/wordsize.h>
-
-__BEGIN_DECLS
-
-#define ELF_NGREG		38
-
-typedef struct
-  {
-    union
-      {
-	unsigned long	pr_regs[32];
-	double		pr_dregs[16];
-      }			pr_fr;
-    unsigned long	__unused;
-    unsigned long	pr_fsr;
-    unsigned char	pr_qcnt;
-    unsigned char	pr_q_entrysize;
-    unsigned char	pr_en;
-    unsigned int	pr_q[64];
-  } elf_fpregset_t;
-
-typedef unsigned long elf_greg_t;
-typedef elf_greg_t elf_gregset_t[ELF_NGREG];
-
-struct elf_siginfo
-  {
-    int si_signo;			/* Signal number.  */
-    int si_code;			/* Extra code.  */
-    int si_errno;			/* Errno.  */
-  };
-
-/* Definitions to generate Intel SVR4-like core files.  These mostly
-   have the same names as the SVR4 types with "elf_" tacked on the
-   front to prevent clashes with linux definitions, and the typedef
-   forms have been avoided.  This is mostly like the SVR4 structure,
-   but more Linuxy, with things that Linux does not support and which
-   gdb doesn't really use excluded.  Fields present but not used are
-   marked with "XXX".  */
-struct elf_prstatus
-  {
-    struct elf_siginfo pr_info;		/* Info associated with signal.  */
-    short int pr_cursig;		/* Current signal.  */
-    unsigned long int pr_sigpend;	/* Set of pending signals.  */
-    unsigned long int pr_sighold;	/* Set of held signals.  */
-    __pid_t pr_pid;
-    __pid_t pr_ppid;
-    __pid_t pr_pgrp;
-    __pid_t pr_sid;
-    struct timeval pr_utime;		/* User time.  */
-    struct timeval pr_stime;		/* System time.  */
-    struct timeval pr_cutime;		/* Cumulative user time.  */
-    struct timeval pr_cstime;		/* Cumulative system time.  */
-    elf_gregset_t pr_reg;		/* GP registers.  */
-    int pr_fpvalid;			/* True if math copro being used.  */
-  };
-
-
-#define ELF_PRARGSZ     (80)    /* Number of chars for args */
-
-struct elf_prpsinfo
-  {
-    char pr_state;			/* Numeric process state.  */
-    char pr_sname;			/* Char for pr_state.  */
-    char pr_zomb;			/* Zombie.  */
-    char pr_nice;			/* Nice val.  */
-    unsigned long int pr_flag;		/* Flags.  */
-    unsigned short int pr_uid;
-    unsigned short int pr_gid;
-    int pr_pid, pr_ppid, pr_pgrp, pr_sid;
-    /* Lots missing */
-    char pr_fname[16];			/* Filename of executable.  */
-    char pr_psargs[ELF_PRARGSZ];	/* Initial part of arg list.  */
-  };
-
-/* Addresses.  */
-typedef void *psaddr_t;
-
-/* Register sets.  Linux has different names.  */
-typedef elf_gregset_t prgregset_t;
-typedef elf_fpregset_t prfpregset_t;
-
-/* We don't have any differences between processes and threads,
-   therefore have only one PID type.  */
-typedef __pid_t lwpid_t;
-
-
-typedef struct elf_prstatus prstatus_t;
-typedef struct elf_prpsinfo prpsinfo_t;
-
-__END_DECLS
-
-#endif	/* sys/procfs.h */

+ 0 - 103
libc/sysdeps/linux/nios/sys/ucontext.h

@@ -1,103 +0,0 @@
-/* Copyright (C) 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, see
-   <http://www.gnu.org/licenses/>.  */
-
-#ifndef _SYS_UCONTEXT_H
-#define _SYS_UCONTEXT_H	1
-
-#include <features.h>
-#include <signal.h>
-/*
- * Location of the users' stored registers relative to R0.
- * Usage is as an index into a gregset_t array or as u.u_ar0[XX].
- */
-#define REG_PSR (0)
-#define REG_PC  (1)
-#define REG_SPARE   (2)
-#define REG_WVALID  (3)
-#define REG_G1  (4)
-#define REG_G2  (5)
-#define REG_G3  (6)
-#define REG_G4  (7)
-#define REG_G5  (8)
-#define REG_G6  (9)
-#define REG_G7  (10)
-#define REG_O0  (11)
-#define REG_O1  (12)
-#define REG_O2  (13)
-#define REG_O3  (14)
-#define REG_O4  (15)
-#define REG_O5  (16)
-#define REG_O6  (17)
-#define REG_O7  (18)
-#define REG_GLOBALS (19)
-
-/*
- * A gregset_t is defined as an array type for compatibility with the reference
- * source. This is important due to differences in the way the C language
- * treats arrays and structures as parameters.
- *
- * Note that NGREG is really (sizeof (struct regs) / sizeof (greg_t)),
- * but that the ABI defines it absolutely to be 21 (resp. 19).
- */
-
-#define NGREG   20
-typedef int greg_t;
-
-typedef greg_t  gregset_t[NGREG];
-
-/*
- * The following structures define how a register window can appear on the
- * stack. This structure is available (when required) through the `gwins'
- * field of an mcontext (nested within ucontext). NIOS_MAXWINDOW is the
- * maximum number of outstanding register windows defined in the NIOS
- * architecture (*not* implementation).
- */
-#define NIOS_MAXREGWINDOW	31	/* max windows in NIOS arch. */
-struct  rwindow
-  {
-    greg_t rw_local[8];			/* locals */
-    greg_t rw_in[8];			/* ins */
-  };
-
-#define rw_fp   rw_in[6]		/* frame pointer */
-#define rw_rtn  rw_in[7]		/* return address */
-
-typedef struct gwindows
-  {
-    int            wbcnt;
-    int           *spbuf[NIOS_MAXREGWINDOW];
-    struct rwindow wbuf[NIOS_MAXREGWINDOW];
-  } gwindows_t;
-
-typedef struct
-  {
-    gregset_t   gregs;		/* general register set */
-    gwindows_t  *gwins;		/* POSSIBLE pointer to register windows */
-  } mcontext_t;
-
-
-/* Userlevel context.  */
-typedef struct ucontext
-  {
-    unsigned long   uc_flags;
-    struct ucontext *uc_link;
-    __sigset_t	    uc_sigmask;
-    stack_t         uc_stack;
-    mcontext_t      uc_mcontext;
-  } ucontext_t;
-
-#endif /* sys/ucontext.h */

+ 0 - 51
libc/sysdeps/linux/nios/vfork.S

@@ -1,51 +0,0 @@
-/*
- * libc/sysdeps/linux/nios/vfork.S -- `vfork' syscall for linux/nios
- *
- *  Copyright (C) 2004  Microtronix Datacom Ltd
- *
- * This file is subject to the terms and conditions of the GNU Lesser
- * General Public License.  See the file COPYING.LIB in the main
- * directory of this archive for more details.
- * 
- * Written by Wentao Xu <wentao@microtronix.com>
- */
-
-#include <sys/syscall.h>
-#include "NM_Macros.S"
-
-#ifndef __NR_vfork
-#define __NR_vfork __NR_fork /* uClinux-2.0 only has fork which is vfork */
-#endif
-
-   .text
-   .align 2
-   .globl __vfork
-  .hidden __vfork
-  .type   __vfork,@function
-__vfork:
-	MOVIP	%g1, __NR_vfork
-	trap	63
-	
-	bgen	%g1, 12
-	not		%g1			/* (unsigned long) -4096 */
-	cmp		%o0, %g1
-	skps	cc_hi
-	jmp		%o7
-	nop
-	
-fix_errno:
-	neg		%o0
-	save	%sp, -16
-	MOVIA	%g1, __errno_location@h
-	call	%g1
-	nop
-	st	[%o0], %i0		/* store errno */
-	
-	xor %i0, %i0
-	subi %i0, 1		/* retval=-1 */
-	ret
-	restore
-
-.size __vfork,.-__vfork
-weak_alias(__vfork,vfork)
-libc_hidden_def(vfork)

+ 0 - 67
libpthread/linuxthreads.old/sysdeps/nios/pt-machine.h

@@ -1,67 +0,0 @@
-/* Machine-dependent pthreads configuration and inline functions.
-   ARM version.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
-   This file is part of the GNU C Library.
-   Contributed by Philip Blundell <philb@gnu.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 distributed in the hope that 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,
-   see <http://www.gnu.org/licenses/>.  */
-
-#ifndef _PT_MACHINE_H
-#define _PT_MACHINE_H   1
-
-#include <features.h>
-
-#ifndef PT_EI
-# define PT_EI __extern_always_inline
-#endif
-
-/* Spinlock implementation; required.  */
-/* it is weird and dangerous to disable interrupt in userspace, but for nios
-   what else we can do before we have a swap like instruction?  This is better
-   than nothing
- */
-PT_EI long int
-testandset (int *spinlock)
-{
-  unsigned int ret;
-
-  __asm__ __volatile__("pfx 8\n\t"
-  			"wrctl %1	; disable interrupt\n\t"
-			"nop\n\t"
-			"nop\n\t"
-  			"ld %0, [%2]\n\t"
-  			"st [%2], %1\n\t"
-  			"pfx 9\n\t"
-  			"wrctl %1	; enable interrupt\n\t"
-			"nop\n\t"
-			"nop\n\t"
- 		       : "=&r"(ret)
-		       : "r"(1), "r"(spinlock)
-		       : "memory");
-
-  return ret;
-}
-
-
-/* Get some notion of the current stack.  Need not be exactly the top
-   of the stack, just something somewhere in the current frame.  */
-#define CURRENT_STACK_FRAME  stack_pointer
-register char * stack_pointer __asm__ ("%sp");
-
-/* nios needs more because of reg windows */
-#define THREAD_MANAGER_STACK_SIZE (32*1024)
-#define STACK_SIZE	(32*1024)
-
-#endif /* pt-machine.h */